@inkbar/react 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -139,6 +139,12 @@ Inside `InkRoot`, `useHistory()` returns the same object. Its `batch(fn)` runs `
139
139
 
140
140
  `key` identifies the document. Reuse the same key when only the signed URL changes and the document is not reloaded.
141
141
 
142
+ ## Forms
143
+
144
+ `InkViewport` fills the PDF's form fields and runs the form's scripts. `useForm()` returns the fields, their values, and `set` and `reset`. Pass `fields` with `onFieldsChange` to hold the values in your own state. The form never submits, opens a link, sends mail or prints: `onFormAction` hands each request to you. `formHighlight={false}` turns off the field tint, and a change applies to the open document in place.
145
+
146
+ The [forms guide](https://inkbar.dev/docs/guides/forms/) covers controlled fields, form actions, scripts, signature fields and saving values as Gloss.
147
+
142
148
  ## Thread popover
143
149
 
144
150
  `InkThreadPopover` opens the comment thread of the activated note or text markup (a highlight, underline, strikeout or squiggly). A new note or highlight has no text yet, so the form first writes its own `contents` (labelled "Comment"); after that it adds replies. A highlight with a comment shows a small marker at its end. Replies show in the thread only; the page draws just the note or highlight they answer.
@@ -169,6 +175,12 @@ A plugin from `definePlugin` (in `@inkbar/core/dom`) adds commands, tools, decor
169
175
 
170
176
  Plugin stores undo with annotations. In controlled mode with `history`, each undo step also snapshots the plugin stores, so accepting something and undoing it restores both.
171
177
 
178
+ ## Search
179
+
180
+ `InkFindBar` is the find bar and `InkSearchButton` opens it. Place the bar anywhere inside `InkRoot`, once `InkViewport` is there; Ctrl/Cmd+F opens it while it is mounted. `useSearch()` returns the search `state` and its actions (`open`, `setQuery`, `setMatchCase`, `next`, `previous`, `close`) for your own control. See the [`@inkbar/core` README](https://github.com/inkbar/inkbar/tree/main/packages/core#search) for the API.
181
+
182
+ The bar handles Escape itself and stops it there, so an `onKeyDown` you pass to `InkFindBar` never sees Escape.
183
+
172
184
  ## Custom rendering
173
185
 
174
186
  Slots are render props. `InkViewport` takes `loading`, `empty`, `error`, `renderAnnotation` and `renderPageError`; `InkThreadPopover` takes a function as `children`; `InkToolButton` takes a node or a function of `{ active, label }`; `InkCommand` a node or a function of `{ label, busy }`. The props each receives are typed as `AnnotationSlotProps` and `ThreadPopoverSlotProps`, the same types the Vue package exports.
@@ -182,6 +194,7 @@ The scroll area takes focus. From there:
182
194
  - With the `highlight` or `redact-area` tool active, `Enter` turns the text selection into a mark.
183
195
  - With the `note` tool active, `Enter` places a note at the centre of the current page and opens it.
184
196
  - With the `signature` tool active, `Enter` places the chosen signature at the centre of the current page.
197
+ - `Ctrl` or `Cmd` + `Z` undoes. `Ctrl` or `Cmd` + `Shift` + `Z`, or `Ctrl` + `Y`, redoes. `Ctrl` and `Cmd` both work on every platform. The keys do what `InkUndo` and `InkRedo` do, from anywhere in `InkRoot`, toolbars included, and act only while that button is enabled. In a text field or editable content the keys stay with the element, so a field keeps its own text undo. In a `<select>` they are left to the browser, which does nothing with them.
185
198
 
186
199
  On a focused annotation:
187
200
 
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ComponentPropsWithoutRef, ReactNode, Ref } from "react";
2
- import { Annotation, AnnotationChange, AnnotationDefaults, AnnotationDocument, AnnotationInput, AnnotationPatch, CurrentStyle, DocumentSource, ImportOptions, InkDocument, InkError, InkStatus, PageInfo, PdfAssets, PluginHistory, Readable, SignatureLibrary, SignatureStore, SignatureTemplate, StyleGroup, StyleKey, StyleProps, Writable } from "@inkbar/core";
3
- import { AnnotationDecoration, AnnotationSlotProps, AnnotationSlotProps as AnnotationSlotProps$1, AnnotationState, ColorProperty, DecorateAnnotation, DecorateAnnotation as DecorateAnnotation$1, InkPlugin, InkPlugin as InkPlugin$1, LayoutMode, PageMount, PluginHost, ThreadPopoverSlotProps, ThreadPopoverSlotProps as ThreadPopoverSlotProps$1, Tool, ToolController, ToolId, ToolOptions, ToolStyle, ViewRotation, Viewport, ZoomValue } from "@inkbar/core/dom";
4
- import { Select } from "radix-ui";
2
+ import { Annotation, AnnotationChange, AnnotationDefaults, AnnotationDocument, AnnotationInput, AnnotationPatch, CurrentStyle, DocumentSource, FieldValues, FieldsChange, FormAction, FormField, FormSetResult, ImportOptions, InkDocument, InkError, InkStatus, PageInfo, PdfAssets, PluginHistory, Readable, SignatureLibrary, SignatureStore, SignatureTemplate, StyleGroup, StyleKey, StyleProps, Writable } from "@inkbar/core";
3
+ import { AnnotationDecoration, AnnotationSlotProps, AnnotationSlotProps as AnnotationSlotProps$1, AnnotationState, ColorProperty, DecorateAnnotation, DecorateAnnotation as DecorateAnnotation$1, InkPlugin, InkPlugin as InkPlugin$1, LayoutMode, PageMount, PluginHost, SearchController, SearchState, ThreadPopoverSlotProps, ThreadPopoverSlotProps as ThreadPopoverSlotProps$1, Tool, ToolController, ToolId, ToolOptions, ToolStyle, ViewRotation, ViewerSearch, Viewport, ZoomValue } from "@inkbar/core/dom";
4
+ import { Select, Toolbar } from "radix-ui";
5
5
  import { IconNode } from "@inkbar/icons";
6
6
  //#region src/context.d.ts
7
7
  /**
@@ -35,6 +35,12 @@ interface InkContext {
35
35
  * InkCommand places its commands.
36
36
  */
37
37
  pluginHost: PluginHost | null;
38
+ /**
39
+ * The search controller from the same set-up as `pluginHost`: shared by the find bar, the
40
+ * search button, the engine's highlights and the plugins. `null` before the root has
41
+ * mounted, and on the server.
42
+ */
43
+ search: SearchController | null;
38
44
  /** InkViewport's scroll element while it is mounted: the plugins' `root`. */
39
45
  viewportEl: Writable<HTMLElement | null>;
40
46
  /** Set by InkViewport once it has built its viewport and tool controller. */
@@ -81,6 +87,12 @@ interface InkContext {
81
87
  history: InkHistory;
82
88
  rootEl: HTMLElement | null;
83
89
  setViewport: (viewport: Viewport | null, tools: ToolController | null) => void;
90
+ /** InkRoot's `formHighlight`; InkViewport reads it when it builds the viewer. */
91
+ formHighlight: boolean | undefined;
92
+ /** Calls InkRoot's `onFormAction`, one microtask later. */
93
+ reportFormAction: (action: FormAction) => void;
94
+ /** Calls InkRoot's `onError`, for failures after the document opened (a refused signing). */
95
+ reportError: (error: InkError) => void;
84
96
  }
85
97
  /**
86
98
  * The context for hooks: throws a readable error when called outside a component rendered
@@ -2605,6 +2617,17 @@ export declare function useZoom(): {
2605
2617
  zoomOut: () => void | undefined;
2606
2618
  };
2607
2619
  //#endregion
2620
+ //#region src/hooks/useSearch.d.ts
2621
+ /**
2622
+ * The document search for hosts building their own control: the state, and the actions the
2623
+ * find bar uses. Search is set up once InkRoot has mounted, so until then (and on the server)
2624
+ * the state is closed and the actions do nothing. `open()` runs the search and draws the
2625
+ * highlights even when no find bar is mounted.
2626
+ */
2627
+ export declare function useSearch(): {
2628
+ state: SearchState;
2629
+ } & Omit<ViewerSearch, 'state'>;
2630
+ //#endregion
2608
2631
  //#region src/hooks/usePage.d.ts
2609
2632
  export declare function usePage(): {
2610
2633
  /** 0-based. */
@@ -2653,6 +2676,23 @@ interface CommandHandle {
2653
2676
  */
2654
2677
  export declare function useCommand(id: string): CommandHandle;
2655
2678
  //#endregion
2679
+ //#region src/hooks/useForm.d.ts
2680
+ interface FormHandle {
2681
+ /** The open document's form fields; empty while none is open or it has none. */
2682
+ fields: readonly FormField[];
2683
+ /** What the fields hold now, keyed by full name. */
2684
+ values: FieldValues;
2685
+ /**
2686
+ * Commits values as a person would: scripts run, and the call is one undo step. Returns the
2687
+ * names applied and rejected, or `undefined` while no document is open.
2688
+ */
2689
+ set: (values: FieldValues) => FormSetResult | undefined;
2690
+ /** Restores the PDF's default values of `names`, or of every field. */
2691
+ reset: (names?: string[]) => void;
2692
+ }
2693
+ /** The open document's form: its fields, their values, and `set` and `reset`. */
2694
+ export declare function useForm(): FormHandle;
2695
+ //#endregion
2656
2696
  //#region src/components/InkRoot.d.ts
2657
2697
  interface InkRootHandle {
2658
2698
  readonly document: InkDocument | null;
@@ -2675,6 +2715,21 @@ interface InkRootProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'
2675
2715
  annotations?: Annotation[] | undefined;
2676
2716
  onAnnotationsChange?: ((next: Annotation[]) => void) | undefined;
2677
2717
  onChange?: ((change: AnnotationChange) => void) | undefined;
2718
+ /**
2719
+ * Pass (with `onFieldsChange`) to put the form's field values under the host's control. A
2720
+ * commit shows at once and is reported after; the host's push wins. The mode is fixed when
2721
+ * a document opens, as for `annotations`.
2722
+ */
2723
+ fields?: FieldValues | undefined;
2724
+ /**
2725
+ * Committed field values, in full, with what changed them, one microtask after the commit.
2726
+ * Called only while the fields are controlled.
2727
+ */
2728
+ onFieldsChange?: ((next: FieldValues, change: FieldsChange) => void) | undefined;
2729
+ /** The form asked to submit, open a link, send mail, print or prompt. Inkbar does none. */
2730
+ onFormAction?: ((action: FormAction) => void) | undefined;
2731
+ /** Tints fillable form fields. Default true. A change applies to the open document in place. */
2732
+ formHighlight?: boolean | undefined;
2678
2733
  tool?: ToolId | undefined;
2679
2734
  onToolChange?: ((tool: ToolId) => void) | undefined;
2680
2735
  /**
@@ -2716,6 +2771,12 @@ interface InkRootProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'
2716
2771
  history?: boolean | undefined;
2717
2772
  asChild?: boolean | undefined;
2718
2773
  onReady?: ((doc: InkDocument) => void) | undefined;
2774
+ /**
2775
+ * Opening failed, or later: a form script failed (`FormScriptError`; the form stays
2776
+ * fillable), or a signature field refused its signing (`FieldSigned`, `FieldReadOnly`).
2777
+ * A later error arrives one microtask after it happened, as `onFieldsChange` does; one from
2778
+ * while the document opened arrives after `onReady`.
2779
+ */
2719
2780
  onError?: ((error: InkError) => void) | undefined;
2720
2781
  onActivate?: ((id: string) => void) | undefined;
2721
2782
  children?: ReactNode | ((props: {
@@ -2724,7 +2785,7 @@ interface InkRootProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'
2724
2785
  }) => ReactNode);
2725
2786
  ref?: Ref<InkRootHandle>;
2726
2787
  }
2727
- export declare function InkRoot({ src, assets, password, defaults, annotations, onAnnotationsChange, onChange, tool, onToolChange, tools: hostTools, plugins: pluginsProp, decorateAnnotation, fonts: fontsProp, signatures: signatureStore, signatureFonts: signatureFontsProp, page, onPageChange, zoom, onZoomChange, history, asChild, onReady, onError, onActivate, children, ref, ...rest }: InkRootProps): import("react").JSX.Element;
2788
+ export declare function InkRoot({ src, assets, password, defaults, annotations, onAnnotationsChange, onChange, fields, onFieldsChange, onFormAction, formHighlight, tool, onToolChange, tools: hostTools, plugins: pluginsProp, decorateAnnotation, fonts: fontsProp, signatures: signatureStore, signatureFonts: signatureFontsProp, page, onPageChange, zoom, onZoomChange, history, asChild, onReady, onError, onActivate, children, ref, ...rest }: InkRootProps): import("react").JSX.Element;
2728
2789
  //#endregion
2729
2790
  //#region src/components/InkViewport.d.ts
2730
2791
  interface InkViewportProps extends ComponentPropsWithoutRef<'div'> {
@@ -2835,6 +2896,31 @@ export declare function InkUndo({ asChild, className, children, disabled, onClic
2835
2896
  //#region src/components/InkRedo.d.ts
2836
2897
  export declare function InkRedo({ asChild, className, children, disabled, onClick, ...rest }: InkHistoryButtonProps): import("react").JSX.Element;
2837
2898
  //#endregion
2899
+ //#region src/components/InkSearchButton.d.ts
2900
+ type InkSearchButtonProps = ComponentPropsWithoutRef<typeof Toolbar.Button>;
2901
+ /**
2902
+ * Opens the find bar; pressed while it is open. Pressing it again focuses the field. Place it
2903
+ * in a toolbar next to `InkFindBar`, which it needs for the field to focus. Disabled until a
2904
+ * document is open.
2905
+ */
2906
+ export declare function InkSearchButton({ asChild, className, children, disabled, onClick, ...rest }: InkSearchButtonProps): import("react").JSX.Element;
2907
+ //#endregion
2908
+ //#region src/components/InkFindBar.d.ts
2909
+ type InkFindBarProps = Omit<ComponentPropsWithoutRef<'div'>, 'children'>;
2910
+ /**
2911
+ * The find bar: a field, the match count, previous and next, a match-case toggle and close,
2912
+ * a view of the root's search state. Place it anywhere inside `InkRoot`: it portals itself
2913
+ * into `[data-ink-viewport-root]`, the positioned ancestor the theme floats it from over the
2914
+ * top-right of the pages (as `InkThreadPopover` anchors to the root's overlay rather than
2915
+ * where it is written). It renders nothing until `InkViewport` has mounted, and is hidden
2916
+ * while the search is closed. While it is mounted it registers with the search controller,
2917
+ * which is what lets Ctrl/Cmd+F open it.
2918
+ *
2919
+ * Enter in the field steps to the next match, Shift+Enter to the previous, Escape closes.
2920
+ * Closing returns focus to where it was before the bar opened, else to the document.
2921
+ */
2922
+ export declare function InkFindBar({ className, ...rest }: InkFindBarProps): import("react").ReactPortal | null;
2923
+ //#endregion
2838
2924
  //#region src/components/zoom-button.d.ts
2839
2925
  /** Props of `InkZoomIn` and `InkZoomOut`: a toolbar button that may render as its child. */
2840
2926
  interface InkZoomButtonProps extends ComponentPropsWithoutRef<'button'> {
@@ -2916,13 +3002,18 @@ interface InkSignatureDialogProps {
2916
3002
  onOpenChange: (open: boolean) => void;
2917
3003
  /** The fonts the Type tab offers. Default: InkRoot's `signatureFonts`. */
2918
3004
  fonts?: readonly string[] | undefined;
2919
- /** Called with the new template once it is saved and selected. */
3005
+ /**
3006
+ * Whether saving selects the new signature for the `signature` tool. Default true. False
3007
+ * leaves the tool alone, for a dialog that signs a field with it through `onSave`.
3008
+ */
3009
+ select?: boolean | undefined;
3010
+ /** Called with the new template once it is saved (and selected, with `select`). */
2920
3011
  onSave?: ((template: SignatureTemplate) => void) | undefined;
2921
3012
  /** Where focus goes on close; by default, back to what had it before. */
2922
3013
  onCloseAutoFocus?: ((event: Event) => void) | undefined;
2923
3014
  className?: string | undefined;
2924
3015
  }
2925
- export declare function InkSignatureDialog({ open, onOpenChange, fonts, onSave, onCloseAutoFocus, className }: InkSignatureDialogProps): import("react").JSX.Element;
3016
+ export declare function InkSignatureDialog({ open, onOpenChange, fonts, select, onSave, onCloseAutoFocus, className }: InkSignatureDialogProps): import("react").JSX.Element;
2926
3017
  //#endregion
2927
3018
  //#region src/components/InkHighlightMenu.d.ts
2928
3019
  interface InkHighlightMenuProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {
@@ -2949,5 +3040,5 @@ interface InkThreadPopoverProps {
2949
3040
  }
2950
3041
  export declare function InkThreadPopover({ children }: InkThreadPopoverProps): import("react").JSX.Element;
2951
3042
  //#endregion
2952
- export type { AnnotationDecoration, AnnotationSlotProps, AnnotationState, CommandHandle, DecorateAnnotation, InkAnnotationProps, InkColorMenuProps, InkCommandProps, InkContext, InkHighlightMenuProps, InkHistory, InkHistoryButtonProps, InkIconProps, InkLineStyleMenuProps, InkPageButtonProps, InkPageInputProps, InkPageProps, InkPlugin, InkRootHandle, InkRootProps, InkShapeMenuProps, InkSignatureDialogProps, InkSignatureMenuProps, InkStatus, InkTextStyleMenuProps, InkThreadPopoverProps, InkToolButtonProps, InkToolbarProps, InkToolbarSeparatorProps, InkViewportProps, InkZoomButtonProps, InkZoomSelectProps, ScopedToolStyleHandle, ThreadPopoverSlotProps, ToolStyleHandle };
3043
+ export type { AnnotationDecoration, AnnotationSlotProps, AnnotationState, CommandHandle, DecorateAnnotation, FormHandle, InkAnnotationProps, InkColorMenuProps, InkCommandProps, InkContext, InkFindBarProps, InkHighlightMenuProps, InkHistory, InkHistoryButtonProps, InkIconProps, InkLineStyleMenuProps, InkPageButtonProps, InkPageInputProps, InkPageProps, InkPlugin, InkRootHandle, InkRootProps, InkSearchButtonProps, InkShapeMenuProps, InkSignatureDialogProps, InkSignatureMenuProps, InkStatus, InkTextStyleMenuProps, InkThreadPopoverProps, InkToolButtonProps, InkToolbarProps, InkToolbarSeparatorProps, InkViewportProps, InkZoomButtonProps, InkZoomSelectProps, ScopedToolStyleHandle, ThreadPopoverSlotProps, ToolStyleHandle };
2953
3044
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":["DecorateAnnotation","InkPlugin","DecorateAnnotation","AnnotationSlotProps","AnnotationSlotProps","AnnotationSlotProps","ThreadPopoverSlotProps"],"sources":["../src/context.ts","../src/use-readable.ts","../src/hooks/useDocument.ts","../src/hooks/useAnnotations.ts","../src/hooks/useTool.ts","../src/hooks/useToolStyle.ts","../src/hooks/useToolOptions.ts","../src/hooks/useSelection.ts","../src/hooks/useZoom.ts","../src/hooks/usePage.ts","../src/hooks/useHistory.ts","../src/hooks/useEmbedded.ts","../src/hooks/useCommand.ts","../src/components/InkRoot.tsx","../src/components/InkViewport.tsx","../src/components/InkPage.tsx","../src/components/InkAnnotation.tsx","../src/components/InkToolbar.tsx","../src/components/InkIcon.tsx","../src/components/InkToolButton.tsx","../src/components/InkCommand.tsx","../src/components/InkToolbarSeparator.tsx","../src/components/history-button.ts","../src/components/InkUndo.tsx","../src/components/InkRedo.tsx","../src/components/zoom-button.ts","../src/components/InkZoomIn.tsx","../src/components/InkZoomOut.tsx","../src/components/InkZoomSelect.tsx","../src/components/InkPageInput.tsx","../src/components/InkPageCount.tsx","../src/components/page-button.ts","../src/components/InkPrevPage.tsx","../src/components/InkNextPage.tsx","../src/components/InkColorMenu.tsx","../src/components/InkShapeMenu.tsx","../src/components/InkSignatureMenu.tsx","../src/components/InkSignatureDialog.tsx","../src/components/InkHighlightMenu.tsx","../src/components/InkTextStyleMenu.tsx","../src/components/InkLineStyleMenu.tsx","../src/components/InkThreadPopover.tsx"],"mappings":";;;;;;;;;;UA6BiB,mBAAmB;EAClC;EACA;EACA;EACA;EACA;;;;;;;EAOA,QAAQ;;UAGO;EACf,QAAQ;EACR,UAAU;;EAEV,QAAQ;EACR,sBAAsB;EACtB;;;;;;EAMA,YAAY;;EAEZ,YAAY,SAAS;;EAErB,UAAU;EACV,OAAO;;EAEP,MAAM;EACN,UAAU,IAAI;;EAEd,WAAW;;;;;EAKX,oBAAoBA;;;;;EAKpB,6BAA6B;;EAE7B;;EAEA,aAAa;;EAEb,YAAY;;EAEZ;;EAEA,WAAW;;EAEX,WAAW;EACX;EACA,aAAa,GAAG;EAChB,aAAa;;EAEb;;;;;;EAMA,eAAe;EACf,SAAS;EACT,QAAQ;EACR,cAAc,UAAU,iBAAiB,OAAO;;;;;;wBASlC,cAAc,mBAAmB;;;;;;;;wBCpGjC,YAAY,GAAG,UAAU,SAAS,uBAAuB,UAAU,IAAI;;;wBCHvE;;;;;;;;EAYgB,oBAAA,MAAA,6BAA2B,OAAS,yCAAa;;;;wBCbjE;EAcG,MAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACA,SAAA,YAAM,OAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACf,SAAA;EACC,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASC,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"index.d.mts","names":["DecorateAnnotation","InkPlugin","DecorateAnnotation","AnnotationSlotProps","AnnotationSlotProps","AnnotationSlotProps","ThreadPopoverSlotProps"],"sources":["../src/context.ts","../src/use-readable.ts","../src/hooks/useDocument.ts","../src/hooks/useAnnotations.ts","../src/hooks/useTool.ts","../src/hooks/useToolStyle.ts","../src/hooks/useToolOptions.ts","../src/hooks/useSelection.ts","../src/hooks/useZoom.ts","../src/hooks/useSearch.ts","../src/hooks/usePage.ts","../src/hooks/useHistory.ts","../src/hooks/useEmbedded.ts","../src/hooks/useCommand.ts","../src/hooks/useForm.ts","../src/components/InkRoot.tsx","../src/components/InkViewport.tsx","../src/components/InkPage.tsx","../src/components/InkAnnotation.tsx","../src/components/InkToolbar.tsx","../src/components/InkIcon.tsx","../src/components/InkToolButton.tsx","../src/components/InkCommand.tsx","../src/components/InkToolbarSeparator.tsx","../src/components/history-button.ts","../src/components/InkUndo.tsx","../src/components/InkRedo.tsx","../src/components/InkSearchButton.tsx","../src/components/InkFindBar.tsx","../src/components/zoom-button.ts","../src/components/InkZoomIn.tsx","../src/components/InkZoomOut.tsx","../src/components/InkZoomSelect.tsx","../src/components/InkPageInput.tsx","../src/components/InkPageCount.tsx","../src/components/page-button.ts","../src/components/InkPrevPage.tsx","../src/components/InkNextPage.tsx","../src/components/InkColorMenu.tsx","../src/components/InkShapeMenu.tsx","../src/components/InkSignatureMenu.tsx","../src/components/InkSignatureDialog.tsx","../src/components/InkHighlightMenu.tsx","../src/components/InkTextStyleMenu.tsx","../src/components/InkLineStyleMenu.tsx","../src/components/InkThreadPopover.tsx"],"mappings":";;;;;;;;;;UAgCiB,mBAAmB;EAClC;EACA;EACA;EACA;EACA;;;;;;;EAOA,QAAQ;;UAGO;EACf,QAAQ;EACR,UAAU;;EAEV,QAAQ;EACR,sBAAsB;EACtB;;;;;;EAMA,YAAY;;;;;;EAMZ,QAAQ;;EAER,YAAY,SAAS;;EAErB,UAAU;EACV,OAAO;;EAEP,MAAM;EACN,UAAU,IAAI;;EAEd,WAAW;;;;;EAKX,oBAAoBA;;;;;EAKpB,6BAA6B;;EAE7B;;EAEA,aAAa;;EAEb,YAAY;;EAEZ;;EAEA,WAAW;;EAEX,WAAW;EACX;EACA,aAAa,GAAG;EAChB,aAAa;;EAEb;;;;;;EAMA,eAAe;EACf,SAAS;EACT,QAAQ;EACR,cAAc,UAAU,iBAAiB,OAAO;;EAEhD;;EAEA,mBAAmB,QAAQ;;EAE3B,cAAc,OAAO;;;;;;wBASP,cAAc,mBAAmB;;;;;;;;wBCnHjC,YAAY,GAAG,UAAU,SAAS,uBAAuB,UAAU,IAAI;;;wBCHvE;;;;;;;;EAYgB,oBAAA,MAAA,6BAA2B,OAAS,yCAAa;;;;wBCbjE;EAcG,MAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACA,SAAA,YAAM,OAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACf,SAAA;EACC,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASC,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}