@inkbar/core 0.5.0 → 0.7.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.
@@ -30,6 +30,10 @@ declare function approxEqual(a: number, b: number, eps?: number): boolean;
30
30
  declare function rectFromPoints(a: Point$1, b: Point$1): Rect$1;
31
31
  declare function rectFromQuad(q: Quad): Rect$1;
32
32
  declare function quadFromRect(r: Rect$1): Quad;
33
+ /** One quad covering `r`, in the corner order of `quadFromRect`. */
34
+ declare function quadsFromRect(r: Rect$1): Quad[];
35
+ /** The bounding box of every corner of `quads`. */
36
+ declare function rectFromQuads(quads: readonly Quad[]): Rect$1;
33
37
  declare function unionRects(rects: readonly Rect$1[]): Rect$1;
34
38
  declare function rectsIntersect(a: Rect$1, b: Rect$1): boolean;
35
39
  declare function rectContainsPoint(r: Rect$1, p: Point$1): boolean;
@@ -1824,6 +1828,56 @@ declare function importEmbeddedPage(page: number, raw: PdfjsAnnotationData[], im
1824
1828
  };
1825
1829
  declare function summarise(perPage: Record<string, number>[]): EmbeddedSummary[];
1826
1830
  //#endregion
1831
+ //#region src/model/records.d.ts
1832
+ interface RecordBase {
1833
+ readonly id: string;
1834
+ }
1835
+ type RecordChange<T> = {
1836
+ kind: 'add';
1837
+ record: T;
1838
+ } | {
1839
+ kind: 'update';
1840
+ id: string;
1841
+ before: T;
1842
+ after: T;
1843
+ } | {
1844
+ kind: 'remove';
1845
+ record: T;
1846
+ } | {
1847
+ kind: 'replace';
1848
+ reason: 'history' | 'reset';
1849
+ /** Ids of the records the replace added, changed and dropped, in list order. */
1850
+ added: string[];
1851
+ updated: string[];
1852
+ removed: string[];
1853
+ };
1854
+ interface RecordStore<T extends RecordBase> {
1855
+ /** The slot name the store is registered under. */
1856
+ readonly key: string;
1857
+ readonly list: Readable<readonly T[]>;
1858
+ get(id: string): T | undefined;
1859
+ /** Returns the stored (frozen) record. Throws `InkError('DuplicateId')` when the id is taken. */
1860
+ add(record: T): T;
1861
+ /** `id` cannot be patched. Returns `undefined`, emitting nothing, for an unknown id. */
1862
+ update(id: string, patch: Partial<Omit<T, 'id'>>): T | undefined;
1863
+ /** Returns the removed record, or `undefined`, emitting nothing, for an unknown id. */
1864
+ remove(id: string): T | undefined;
1865
+ replaceAll(list: readonly T[], reason: 'history' | 'reset'): void;
1866
+ on(event: 'change', fn: (change: RecordChange<T>) => void): () => void;
1867
+ /** Drops the listeners. Writes after it change nothing and emit nothing. */
1868
+ destroy(): void;
1869
+ }
1870
+ interface RecordStoreOptions<T extends RecordBase> {
1871
+ initial?: readonly T[];
1872
+ /** Called after every change, `replace` included, with the list as it now stands. */
1873
+ onChange?: (list: readonly T[], change: RecordChange<T>) => void;
1874
+ }
1875
+ /**
1876
+ * A keyed list of plain records. Records are stored as frozen copies, so a change's `before` and `after` can be
1877
+ * kept as history entries without copying.
1878
+ */
1879
+ declare function createRecordStore<T extends RecordBase>(key: string, opts?: RecordStoreOptions<T>): RecordStore<T>;
1880
+ //#endregion
1827
1881
  //#region src/model/annotations/store.d.ts
1828
1882
  type AnnotationChange = {
1829
1883
  kind: 'add';
@@ -1849,6 +1903,10 @@ type AnnotationChange = {
1849
1903
  /** What was merged into each annotation, by id. */
1850
1904
  fields: ReadonlyMap<string, EmbeddedFieldPatch>;
1851
1905
  };
1906
+ /** The changes `edit` reports: one per `add`, `update` or `remove` call that changed something. */
1907
+ type AnnotationEdit = Extract<AnnotationChange, {
1908
+ kind: 'add' | 'update' | 'remove';
1909
+ }>;
1852
1910
  type StoreMode = {
1853
1911
  mode: 'uncontrolled';
1854
1912
  initial?: Annotation$1[];
@@ -1910,6 +1968,12 @@ interface AnnotationStore {
1910
1968
  _getProposed(id: string): Annotation$1 | undefined;
1911
1969
  completeInput(input: AnnotationInput): Annotation$1;
1912
1970
  on(event: 'change', fn: (change: AnnotationChange) => void): () => void;
1971
+ /**
1972
+ * Fires synchronously for every `add`, `update` and `remove` that changes something, in both
1973
+ * modes, before the list is set (uncontrolled) or `onChange` is called (controlled). Never
1974
+ * for `replace`.
1975
+ */
1976
+ on(event: 'edit', fn: (change: AnnotationEdit) => void): () => void;
1913
1977
  destroy(): void;
1914
1978
  }
1915
1979
  interface StoreOptions {
@@ -1922,7 +1986,23 @@ declare function deriveRect(input: AnnotationInput): Rect$1;
1922
1986
  declare function createAnnotationStore(opts: StoreOptions): AnnotationStore;
1923
1987
  //#endregion
1924
1988
  //#region src/model/annotations/history.d.ts
1925
- interface History {
1989
+ /** The part of a history plugins use: one undo step across annotations and record stores. */
1990
+ interface PluginHistory {
1991
+ batch(fn: () => void): void;
1992
+ /**
1993
+ * Makes the store's changes undo steps: on their own, or joining the open batch or edit. The
1994
+ * returned function stops tracking; existing entries keep their snapshot of the store but undo
1995
+ * and redo no longer replay it.
1996
+ */
1997
+ track(store: RecordStore<RecordBase>): () => void;
1998
+ /**
1999
+ * Runs `fn` synchronously for every user `add`, `update` and `remove` of an annotation, inside
2000
+ * that edit's undo entry, so whatever `fn` changes undoes with the edit. Never runs for
2001
+ * `replace`, so never for undo and redo. Returns a function that removes `fn`.
2002
+ */
2003
+ react(fn: (edit: AnnotationEdit) => void): () => void;
2004
+ }
2005
+ interface History extends PluginHistory {
1926
2006
  readonly canUndo: Readable<boolean>;
1927
2007
  readonly canRedo: Readable<boolean>;
1928
2008
  undo(): void;
@@ -1993,7 +2073,7 @@ declare function exportAnnotations(store: AnnotationStore, preserved?: readonly
1993
2073
  declare function importAnnotations(store: AnnotationStore, data: AnnotationDocument | string, opts: ImportOptions): ImportResult;
1994
2074
  //#endregion
1995
2075
  //#region src/model/errors.d.ts
1996
- type InkErrorCode = 'PasswordRequired' | 'InvalidPdf' | 'SourceFetchFailed' | 'AssetConfigMissing' | 'AssetLoadFailed' | 'EngineUnavailable' | 'ControlledMutationIgnored' | 'DocumentDestroyed' | 'PageOutOfRange';
2076
+ type InkErrorCode = 'PasswordRequired' | 'InvalidPdf' | 'SourceFetchFailed' | 'AssetConfigMissing' | 'AssetLoadFailed' | 'EngineUnavailable' | 'ControlledMutationIgnored' | 'DocumentDestroyed' | 'PageOutOfRange' | 'DuplicateId' | 'DuplicatePlugin' | 'InvalidPluginId' | 'InvalidCommandLabel' | 'UnknownCommand';
1997
2077
  declare class InkError extends Error {
1998
2078
  readonly name = "InkError";
1999
2079
  readonly code: InkErrorCode;
@@ -2002,15 +2082,6 @@ declare class InkError extends Error {
2002
2082
  }
2003
2083
  declare function isInkError(value: unknown): value is InkError;
2004
2084
  //#endregion
2005
- //#region src/model/source.d.ts
2006
- type DocumentSource = ArrayBuffer | Uint8Array | Blob | string | {
2007
- url: string;
2008
- key: string;
2009
- } | {
2010
- data: ArrayBuffer | Uint8Array;
2011
- key: string;
2012
- };
2013
- //#endregion
2014
2085
  //#region src/model/text.d.ts
2015
2086
  interface TextItem {
2016
2087
  str: string;
@@ -2022,12 +2093,69 @@ interface TextItem {
2022
2093
  quad: Quad;
2023
2094
  /** Axis-aligned bounds of `quad`. */
2024
2095
  rect: Rect$1;
2096
+ /**
2097
+ * How far along the run each character boundary lies, as a fraction of its width: `str.length + 1`
2098
+ * entries, from 0 to 1 or a little past it. Taken from where the page draws each glyph when the
2099
+ * glyphs can be matched to the run, else measured in the run's fallback font. Absent when neither
2100
+ * works, in which case every character takes an equal share.
2101
+ */
2102
+ advances?: readonly number[];
2103
+ /**
2104
+ * Where each character's glyph ends, as a fraction of the run's width: `str.length` entries, set
2105
+ * with `advances` when they come from the page's glyphs. Kerning can pull the next character
2106
+ * back over the end of a glyph, so a glyph may end past the next boundary.
2107
+ */
2108
+ glyphEnds?: readonly number[];
2025
2109
  }
2026
2110
  interface TextContent {
2027
2111
  page: number;
2028
2112
  items: TextItem[];
2029
2113
  }
2030
2114
  //#endregion
2115
+ //#region src/model/search.d.ts
2116
+ interface SearchOptions {
2117
+ /** Defaults to false. Ignored for a `RegExp`, whose own `i` flag rules. */
2118
+ matchCase?: boolean;
2119
+ /** Requires a hit to have no letter, digit or underscore next to it. */
2120
+ wholeWord?: boolean;
2121
+ /** Page indices to search, in the order given. Defaults to every page in order. */
2122
+ pages?: readonly number[];
2123
+ signal?: AbortSignal;
2124
+ }
2125
+ interface SearchHit {
2126
+ page: number;
2127
+ /** Offsets into `pageText(page)`. */
2128
+ start: number;
2129
+ end: number;
2130
+ /** The page text the hit covers. */
2131
+ text: string;
2132
+ /** One quad per run of text the hit touches. */
2133
+ quads: Quad[];
2134
+ rect: Rect$1;
2135
+ /**
2136
+ * True when every quad is cut where the page draws its glyphs. False when some text could not
2137
+ * be matched to the page's glyphs (right-to-left or vertical text, or an unusual file) and its
2138
+ * quad is cut at estimated widths, which can fall short of the glyphs; pad those before
2139
+ * covering text with them.
2140
+ */
2141
+ exact: boolean;
2142
+ /** Up to `CONTEXT_CHARS` of page text either side of the hit, whitespace collapsed. */
2143
+ before: string;
2144
+ after: string;
2145
+ }
2146
+ interface SearchResults extends AsyncIterable<SearchHit> {
2147
+ all(): Promise<SearchHit[]>;
2148
+ }
2149
+ //#endregion
2150
+ //#region src/model/source.d.ts
2151
+ type DocumentSource = ArrayBuffer | Uint8Array | Blob | string | {
2152
+ url: string;
2153
+ key: string;
2154
+ } | {
2155
+ data: ArrayBuffer | Uint8Array;
2156
+ key: string;
2157
+ };
2158
+ //#endregion
2031
2159
  //#region src/model/document.d.ts
2032
2160
  type DocumentStatus = {
2033
2161
  state: 'loading';
@@ -2077,6 +2205,13 @@ interface InkDocument {
2077
2205
  readonly pages: readonly PageInfo[];
2078
2206
  readonly info: DocumentInfo;
2079
2207
  text(page: number): Promise<TextContent>;
2208
+ /** The page's text as search sees it: items joined the way the page reads. */
2209
+ pageText(page: number): Promise<string>;
2210
+ /**
2211
+ * Finds `query` in the document's text, a page at a time. A string matches ignoring case,
2212
+ * accents and quote style; a `RegExp` runs on the same normalised text.
2213
+ */
2214
+ search(query: string | RegExp, opts?: SearchOptions): SearchResults;
2080
2215
  /**
2081
2216
  * Annotations embedded in the file arrive here as `source: 'pdf'`, `locked: true` before
2082
2217
  * `ready` resolves. They stay in `list` in both modes and cannot be removed; in controlled
@@ -2280,5 +2415,5 @@ interface SignatureLibrary {
2280
2415
  }
2281
2416
  declare function createSignatureLibrary(store: SignatureStore): SignatureLibrary;
2282
2417
  //#endregion
2283
- export { pdfColorToHex as $, StampAnnotation as $t, TextItem as A, LineAnnotation as At, createHistory as B, NoteSchema as Bt, DocumentInfo as C, rectFromPoints as Cn, GLOSS_FORMAT$1 as Ct, OpenOptions as D, translateRect as Dn, IMAGE_DATA_URL as Dt, InkStatus as E, translateQuad as En, GLOSS_VERSION$1 as Et, ImportOptions as F, LoupeSchema as Ft, createAnnotationStore as G, PolylineSchema as Gt, AnnotationStore as H, PolyAnnotation as Ht, ImportResult as I, MaskAnnotation as It, EmbeddedSummary as J, RedactAnnotation as Jt, deriveRect as K, QuadSchema as Kt, exportAnnotations as L, MaskSchema as Lt, InkError as M, LineEndingSchema as Mt, InkErrorCode as N, LineSchema as Nt, openDocument as O, unionRects as On, InkAnnotation as Ot, isInkError as P, LoupeAnnotation as Pt, importedId as Q, SquareSchema as Qt, importAnnotations as R, NoteAnnotation as Rt, createToolStyle as S, rectContainsPoint as Sn, FreeTextStyleSchema as St, InkDocument as T, rectsIntersect as Tn, GLOSS_SCHEMA_ID as Tt, StoreMode as U, PolySchema as Ut, AnnotationChange as V, PointSchema as Vt, StoreOptions as W, PolygonSchema as Wt, SUPPORTED_SUBTYPES as X, ShapeAnnotation as Xt, EmbeddedTarget as Y, RedactSchema as Yt, importEmbeddedPage as Z, ShapeSchema as Zt, StyleGroup as _, invertMatrix as _n, ExportedAnnotationSchema as _t, SignatureStore as a, derived as an, normalizeColor as at, ToolStyle as b, quadFromRect as bn, FreeTextSchema as bt, createInkTemplate as c, PageInfo as cn, AnnotationDocument as ct, createSignatureLibrary as d, Matrix as dn, AnnotationOfType as dt, StampSchema as en, summarise as et, normaliseInk as f, Point$1 as fn, AnnotationPatch as ft, ScopedToolStyle as g, approxEqual as gn, ExportedAnnotation as gt, STYLE_GROUPS as h, applyMatrix as hn, CircleSchema as ht, SignatureOptions as i, Writable as in, cssVariableDefaults as it, DocumentSource as j, LineEnding$1 as jt, TextContent as k, InkSchema as kt, createLocalSignatureStore as l, PageRotation as ln, AnnotationDocumentSchema as lt, CurrentStyle as m, Rect$1 as mn, AnnotationType as mt, SIGNATURE_INK_WIDTH as n, TextMarkupSchema as nn, FringeSchema as nt, SignatureTemplate as o, readonly as on, staticDefaults as ot, placeSignature as p, Quad as pn, AnnotationSchema as pt, EmbeddedFieldPatch as q, RectSchema as qt, SignatureLibrary as r, Readable as rn, AnnotationDefaults as rt, createImageTemplate as s, writable as sn, Annotation$1 as st, DEFAULT_SIGNATURE_WIDTH as t, TextMarkupAnnotation as tn, Fringe$1 as tt, createMemorySignatureStore as u, PdfAssets as un, AnnotationInput as ut, StyleKey as v, multiplyMatrix as vn, ForeignAnnotation as vt, DocumentStatus as w, rectFromQuad as wn, GLOSS_MEDIA_TYPE as wt, ToolStyleDeps as x, quadsFromFlat as xn, FreeTextStyle$1 as xt, StyleProps as y, pointsFromFlat as yn, FreeTextAnnotation as yt, History as z, NoteIconSchema as zt };
2284
- //# sourceMappingURL=signatures-BwaXi7C8.d.mts.map
2418
+ export { RecordChange as $, PolySchema as $t, SearchHit as A, quadFromRect as An, FreeTextSchema as At, exportAnnotations as B, unionRects as Bn, LineAnnotation as Bt, DocumentInfo as C, Quad as Cn, AnnotationSchema as Ct, OpenOptions as D, invertMatrix as Dn, ExportedAnnotationSchema as Dt, InkStatus as E, approxEqual as En, ExportedAnnotation as Et, InkError as F, rectFromQuad as Fn, GLOSS_SCHEMA_ID as Ft, AnnotationChange as G, LoupeSchema as Gt, History as H, LineEndingSchema as Ht, InkErrorCode as I, rectFromQuads as In, GLOSS_VERSION$1 as It, StoreMode as J, NoteAnnotation as Jt, AnnotationEdit as K, MaskAnnotation as Kt, isInkError as L, rectsIntersect as Ln, IMAGE_DATA_URL as Lt, SearchResults as M, quadsFromRect as Mn, FreeTextStyleSchema as Mt, TextContent as N, rectContainsPoint as Nn, GLOSS_FORMAT$1 as Nt, openDocument as O, multiplyMatrix as On, ForeignAnnotation as Ot, TextItem as P, rectFromPoints as Pn, GLOSS_MEDIA_TYPE as Pt, RecordBase as Q, PolyAnnotation as Qt, ImportOptions as R, translateQuad as Rn, InkAnnotation as Rt, createToolStyle as S, Point$1 as Sn, AnnotationPatch as St, InkDocument as T, applyMatrix as Tn, CircleSchema as Tt, PluginHistory as U, LineSchema as Ut, importAnnotations as V, LineEnding$1 as Vt, createHistory as W, LoupeAnnotation as Wt, createAnnotationStore as X, NoteSchema as Xt, StoreOptions as Y, NoteIconSchema as Yt, deriveRect as Z, PointSchema as Zt, StyleGroup as _, writable as _n, Annotation$1 as _t, SignatureStore as a, RedactSchema as an, EmbeddedTarget as at, ToolStyle as b, PdfAssets as bn, AnnotationInput as bt, createInkTemplate as c, SquareSchema as cn, importedId as ct, createSignatureLibrary as d, TextMarkupAnnotation as dn, Fringe$1 as dt, PolygonSchema as en, RecordStore as et, normaliseInk as f, TextMarkupSchema as fn, FringeSchema as ft, ScopedToolStyle as g, readonly as gn, staticDefaults as gt, STYLE_GROUPS as h, derived as hn, normalizeColor as ht, SignatureOptions as i, RedactAnnotation as in, EmbeddedSummary as it, SearchOptions as j, quadsFromFlat as jn, FreeTextStyle$1 as jt, DocumentSource as k, pointsFromFlat as kn, FreeTextAnnotation as kt, createLocalSignatureStore as l, StampAnnotation as ln, pdfColorToHex as lt, CurrentStyle as m, Writable as mn, cssVariableDefaults as mt, SIGNATURE_INK_WIDTH as n, QuadSchema as nn, createRecordStore as nt, SignatureTemplate as o, ShapeAnnotation as on, SUPPORTED_SUBTYPES as ot, placeSignature as p, Readable as pn, AnnotationDefaults as pt, AnnotationStore as q, MaskSchema as qt, SignatureLibrary as r, RectSchema as rn, EmbeddedFieldPatch as rt, createImageTemplate as s, ShapeSchema as sn, importEmbeddedPage as st, DEFAULT_SIGNATURE_WIDTH as t, PolylineSchema as tn, RecordStoreOptions as tt, createMemorySignatureStore as u, StampSchema as un, summarise as ut, StyleKey as v, PageInfo as vn, AnnotationDocument as vt, DocumentStatus as w, Rect$1 as wn, AnnotationType as wt, ToolStyleDeps as x, Matrix as xn, AnnotationOfType as xt, StyleProps as y, PageRotation as yn, AnnotationDocumentSchema as yt, ImportResult as z, translateRect as zn, InkSchema as zt };
2419
+ //# sourceMappingURL=signatures-CalOktkf.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signatures-CalOktkf.d.mts","names":["Point","Rect","Rect","Annotation","FreeTextStyle","LineEnding","GlossAnnotation","Fringe","Point","Fringe","Annotation","Annotation","Rect","Rect","Rect","LineEnding","Point"],"sources":["../src/model/geometry.ts","../src/pdfjs/types.ts","../src/model/pages.ts","../src/model/readable.ts","../src/model/annotations/types.ts","../src/model/annotations/defaults.ts","../src/model/annotations/callout.ts","../src/model/annotations/embedded.ts","../src/model/records.ts","../src/model/annotations/store.ts","../src/model/annotations/history.ts","../src/model/annotations/json.ts","../src/model/errors.ts","../src/model/text.ts","../src/model/search.ts","../src/model/source.ts","../src/model/document.ts","../src/model/annotations/tool-style.ts","../src/model/signatures.ts"],"mappings":"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"}