Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | /**
* `@usefy/signature-pad/headless` — the framework-free ink engine.
*
* Pure TypeScript, zero dependencies, zero React imports, SSR-safe to
* import (no `window`/`document`/canvas access at module scope). Usable
* from any framework or vanilla JS:
*
* @example
* ```ts
* import { createSignatureEngine } from "@usefy/signature-pad/headless";
*
* const engine = createSignatureEngine(document.querySelector("canvas")!);
* engine.onChange((e) => console.log("signed:", !e.isEmpty));
* // ...user signs...
* const draft = engine.toJSON();
* engine.destroy();
* ```
*/
// Engine
export { createSignatureEngine, MAX_DPR } from "./engine/createEngine";
export type {
IngestSample,
SignatureEngine,
SignatureEngineOptions,
} from "./engine/createEngine";
// Pure ink pipeline (exported for tests, replay tooling, and advanced use
// — SPEC §4.2; confetti "pure physics" precedent)
export {
filterPoints,
passesMinDistance,
pointDistance,
bezierFor,
flattenSegment,
widthForSegment,
startWidthFor,
createStrokeWalker,
flattenStrokeSegment,
strokeGeometry,
strokeSteps,
inkBounds,
strokesToSVG,
} from "./ink";
export type {
BezierSegment,
FlatStep,
Rect,
StrokeGeometry,
StrokeSegment,
StrokeWalker,
StrokeWalkerParams,
Vec2,
WidthInput,
} from "./ink";
// Option resolution + defaults
export {
resolveOptions,
DEFAULT_PEN_COLOR,
DEFAULT_MIN_WIDTH,
DEFAULT_MAX_WIDTH,
DEFAULT_VELOCITY_FILTER_WEIGHT,
DEFAULT_MIN_DISTANCE,
DEFAULT_ACCEPT_POINTER_TYPES,
DEFAULT_EXPORT_PADDING,
} from "./types";
// Types
export type {
PNGExportOptions,
ResolvedSignatureOptions,
SignatureData,
SignatureOptions,
SignaturePoint,
SignaturePointerType,
SignatureStroke,
SVGExportOptions,
} from "./types";
|