@arbidocs/blocks 0.4.154 → 0.4.156

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.
Files changed (141) hide show
  1. package/dist/{ConnectedNativeDocxComparison-OLWRQSRS.js → ConnectedNativeDocxComparison-2PLOOXSH.js} +7 -7
  2. package/dist/{ConnectedNativeDocxComparison-OLWRQSRS.js.map → ConnectedNativeDocxComparison-2PLOOXSH.js.map} +1 -1
  3. package/dist/{ConnectedNativeDocxComparison-YORMOPPN.cjs → ConnectedNativeDocxComparison-S25BPUH5.cjs} +8 -8
  4. package/dist/{ConnectedNativeDocxComparison-YORMOPPN.cjs.map → ConnectedNativeDocxComparison-S25BPUH5.cjs.map} +1 -1
  5. package/dist/{ConnectedNativeDocxEditor-34EBIIFS.js → ConnectedNativeDocxEditor-JJAGMHZC.js} +5 -5
  6. package/dist/{ConnectedNativeDocxEditor-34EBIIFS.js.map → ConnectedNativeDocxEditor-JJAGMHZC.js.map} +1 -1
  7. package/dist/{ConnectedNativeDocxEditor-EHTWGGX3.cjs → ConnectedNativeDocxEditor-YA4HWLY4.cjs} +7 -7
  8. package/dist/{ConnectedNativeDocxEditor-EHTWGGX3.cjs.map → ConnectedNativeDocxEditor-YA4HWLY4.cjs.map} +1 -1
  9. package/dist/{ConnectedStreamedWordArtifact-5DK6QGYN.cjs → ConnectedStreamedWordArtifact-EXYZAU4Y.cjs} +8 -8
  10. package/dist/ConnectedStreamedWordArtifact-EXYZAU4Y.cjs.map +1 -0
  11. package/dist/{ConnectedStreamedWordArtifact-GLIDLSAS.js → ConnectedStreamedWordArtifact-YAAXY5KY.js} +7 -7
  12. package/dist/{ConnectedStreamedWordArtifact-GLIDLSAS.js.map → ConnectedStreamedWordArtifact-YAAXY5KY.js.map} +1 -1
  13. package/dist/{NativeDocxEditor-XT5ZLFGU.js → NativeDocxEditor-JBQMH3MP.js} +3 -3
  14. package/dist/{NativeDocxEditor-XT5ZLFGU.js.map → NativeDocxEditor-JBQMH3MP.js.map} +1 -1
  15. package/dist/{NativeDocxEditor-5VBNM5I7.cjs → NativeDocxEditor-M3I776GD.cjs} +7 -7
  16. package/dist/{NativeDocxEditor-5VBNM5I7.cjs.map → NativeDocxEditor-M3I776GD.cjs.map} +1 -1
  17. package/dist/agents/index.cjs +238 -238
  18. package/dist/agents/index.js +4 -4
  19. package/dist/chat/index.cjs +1 -1
  20. package/dist/chat/index.js +1 -1
  21. package/dist/{chunk-MF5KQ4PS.js → chunk-2CWM2CFZ.js} +4 -4
  22. package/dist/{chunk-MF5KQ4PS.js.map → chunk-2CWM2CFZ.js.map} +1 -1
  23. package/dist/{chunk-QKR5LWDO.js → chunk-6HG56GCT.js} +4 -4
  24. package/dist/{chunk-QKR5LWDO.js.map → chunk-6HG56GCT.js.map} +1 -1
  25. package/dist/chunk-6HMCF4AJ.js +1720 -0
  26. package/dist/chunk-6HMCF4AJ.js.map +1 -0
  27. package/dist/{chunk-KHXEIEXN.js → chunk-7IRSCMNK.js} +3 -3
  28. package/dist/{chunk-KHXEIEXN.js.map → chunk-7IRSCMNK.js.map} +1 -1
  29. package/dist/{chunk-TZOQKV64.js → chunk-EWCJXUBP.js} +3 -3
  30. package/dist/{chunk-TZOQKV64.js.map → chunk-EWCJXUBP.js.map} +1 -1
  31. package/dist/{chunk-CU6LDQ57.js → chunk-F3EZDBDJ.js} +4 -4
  32. package/dist/{chunk-CU6LDQ57.js.map → chunk-F3EZDBDJ.js.map} +1 -1
  33. package/dist/{chunk-YF3QUHKN.cjs → chunk-FEGXFABZ.cjs} +3 -3
  34. package/dist/{chunk-YF3QUHKN.cjs.map → chunk-FEGXFABZ.cjs.map} +1 -1
  35. package/dist/{chunk-GC2FSPSQ.cjs → chunk-HDJRSCRE.cjs} +6 -6
  36. package/dist/{chunk-GC2FSPSQ.cjs.map → chunk-HDJRSCRE.cjs.map} +1 -1
  37. package/dist/{chunk-CQCNU5KT.cjs → chunk-IJEISII2.cjs} +6 -6
  38. package/dist/{chunk-CQCNU5KT.cjs.map → chunk-IJEISII2.cjs.map} +1 -1
  39. package/dist/{chunk-NPR5BGFF.cjs → chunk-JSQEAPTC.cjs} +26 -14
  40. package/dist/chunk-JSQEAPTC.cjs.map +1 -0
  41. package/dist/{chunk-BDA3RHYD.cjs → chunk-MUDEL7UL.cjs} +25 -884
  42. package/dist/chunk-MUDEL7UL.cjs.map +1 -0
  43. package/dist/{chunk-6QAAIDQQ.cjs → chunk-O3FB62T5.cjs} +47 -47
  44. package/dist/{chunk-6QAAIDQQ.cjs.map → chunk-O3FB62T5.cjs.map} +1 -1
  45. package/dist/{chunk-265GOG4W.js → chunk-ONTUMV74.js} +26 -14
  46. package/dist/chunk-ONTUMV74.js.map +1 -0
  47. package/dist/chunk-OTU5KGQ6.cjs +18 -0
  48. package/dist/{chunk-HUATKA3M.cjs.map → chunk-OTU5KGQ6.cjs.map} +1 -1
  49. package/dist/{chunk-GO3BN76C.js → chunk-PGOSIJ2I.js} +3 -3
  50. package/dist/{chunk-GO3BN76C.js.map → chunk-PGOSIJ2I.js.map} +1 -1
  51. package/dist/chunk-S74QMZVZ.cjs +18 -0
  52. package/dist/{chunk-C3SMTA3C.cjs.map → chunk-S74QMZVZ.cjs.map} +1 -1
  53. package/dist/{chunk-KUT2Y7JF.cjs → chunk-TQIY2SVY.cjs} +5 -5
  54. package/dist/{chunk-KUT2Y7JF.cjs.map → chunk-TQIY2SVY.cjs.map} +1 -1
  55. package/dist/{chunk-MNG7N6M2.js → chunk-UKCCV63X.js} +4 -4
  56. package/dist/{chunk-MNG7N6M2.js.map → chunk-UKCCV63X.js.map} +1 -1
  57. package/dist/{chunk-B3FMUFAW.cjs → chunk-UKT3WH5Z.cjs} +3 -3
  58. package/dist/{chunk-B3FMUFAW.cjs.map → chunk-UKT3WH5Z.cjs.map} +1 -1
  59. package/dist/{chunk-P6RIBIVN.js → chunk-UPMADXDU.js} +3 -3
  60. package/dist/{chunk-P6RIBIVN.js.map → chunk-UPMADXDU.js.map} +1 -1
  61. package/dist/{chunk-757OYF6G.cjs → chunk-VY4UFXTM.cjs} +4 -4
  62. package/dist/{chunk-757OYF6G.cjs.map → chunk-VY4UFXTM.cjs.map} +1 -1
  63. package/dist/{chunk-RE7NULEY.js → chunk-W7CWGURO.js} +28 -873
  64. package/dist/chunk-W7CWGURO.js.map +1 -0
  65. package/dist/chunk-WV4TD2HZ.cjs +1785 -0
  66. package/dist/chunk-WV4TD2HZ.cjs.map +1 -0
  67. package/dist/{chunk-WU34CHU5.js → chunk-YMQDDUKW.js} +3 -3
  68. package/dist/{chunk-WU34CHU5.js.map → chunk-YMQDDUKW.js.map} +1 -1
  69. package/dist/connect/docx.cjs +11 -11
  70. package/dist/connect/docx.js +7 -7
  71. package/dist/connect/index.cjs +1313 -151
  72. package/dist/connect/index.cjs.map +1 -1
  73. package/dist/connect/index.d.ts +1 -0
  74. package/dist/connect/index.js +1175 -27
  75. package/dist/connect/index.js.map +1 -1
  76. package/dist/connect/viewer.cjs +48 -52
  77. package/dist/connect/viewer.cjs.map +1 -1
  78. package/dist/connect/viewer.js +10 -14
  79. package/dist/connect/viewer.js.map +1 -1
  80. package/dist/connection/files/DocumentSyncGlyph.d.ts +28 -0
  81. package/dist/connection/files/explorer/ConnectedFilesExplorer.d.ts +56 -0
  82. package/dist/connection/files/explorer/FileTiles.d.ts +87 -0
  83. package/dist/connection/files/index.d.ts +5 -0
  84. package/dist/connection/files/store.d.ts +27 -0
  85. package/dist/connection/files/support.d.ts +38 -0
  86. package/dist/document-tools/index.cjs +1 -1
  87. package/dist/document-tools/index.js +1 -1
  88. package/dist/docx/index.cjs +47 -47
  89. package/dist/docx/index.js +3 -3
  90. package/dist/facts/index.cjs +54 -54
  91. package/dist/facts/index.js +4 -4
  92. package/dist/files/DocStatusIcon.d.ts +5 -4
  93. package/dist/files/FailedStageIcon.d.ts +26 -0
  94. package/dist/files/folders/FolderProviderIcon.d.ts +29 -0
  95. package/dist/files/folders/folderPaths.d.ts +86 -0
  96. package/dist/files/folders/index.d.ts +2 -0
  97. package/dist/files/index.cjs +326 -238
  98. package/dist/files/index.d.ts +5 -0
  99. package/dist/files/index.js +2 -2
  100. package/dist/files/permissions.d.ts +28 -0
  101. package/dist/files/recently-deleted.d.ts +7 -0
  102. package/dist/files/visibility.d.ts +31 -0
  103. package/dist/index.cjs +371 -371
  104. package/dist/index.js +10 -10
  105. package/dist/studio/index.cjs +1 -1
  106. package/dist/studio/index.js +1 -1
  107. package/dist/workflow-canvas/index.cjs +16 -16
  108. package/dist/workflow-canvas/index.js +4 -4
  109. package/node_modules/@arbidocs/coedit/dist/hocuspocus.cjs +96 -29
  110. package/node_modules/@arbidocs/coedit/dist/hocuspocus.cjs.map +1 -1
  111. package/node_modules/@arbidocs/coedit/dist/hocuspocus.d.cts +1 -1
  112. package/node_modules/@arbidocs/coedit/dist/hocuspocus.d.ts +1 -1
  113. package/node_modules/@arbidocs/coedit/dist/hocuspocus.js +98 -31
  114. package/node_modules/@arbidocs/coedit/dist/hocuspocus.js.map +1 -1
  115. package/node_modules/@arbidocs/coedit/dist/index.cjs +96 -29
  116. package/node_modules/@arbidocs/coedit/dist/index.cjs.map +1 -1
  117. package/node_modules/@arbidocs/coedit/dist/index.d.cts +1 -1
  118. package/node_modules/@arbidocs/coedit/dist/index.d.ts +1 -1
  119. package/node_modules/@arbidocs/coedit/dist/index.js +98 -31
  120. package/node_modules/@arbidocs/coedit/dist/index.js.map +1 -1
  121. package/node_modules/@arbidocs/coedit/dist/server.cjs +98 -33
  122. package/node_modules/@arbidocs/coedit/dist/server.cjs.map +1 -1
  123. package/node_modules/@arbidocs/coedit/dist/server.d.cts +1 -1
  124. package/node_modules/@arbidocs/coedit/dist/server.d.ts +1 -1
  125. package/node_modules/@arbidocs/coedit/dist/server.js +99 -34
  126. package/node_modules/@arbidocs/coedit/dist/server.js.map +1 -1
  127. package/node_modules/@arbidocs/coedit/dist/{session-Cf9iu1Vt.d.cts → session-WGvWs6yO.d.cts} +22 -4
  128. package/node_modules/@arbidocs/coedit/dist/{session-Cf9iu1Vt.d.ts → session-WGvWs6yO.d.ts} +22 -4
  129. package/node_modules/@arbidocs/coedit/package.json +1 -1
  130. package/package.json +6 -5
  131. package/dist/ConnectedStreamedWordArtifact-5DK6QGYN.cjs.map +0 -1
  132. package/dist/chunk-265GOG4W.js.map +0 -1
  133. package/dist/chunk-BDA3RHYD.cjs.map +0 -1
  134. package/dist/chunk-C3SMTA3C.cjs +0 -18
  135. package/dist/chunk-HUATKA3M.cjs +0 -18
  136. package/dist/chunk-JGOST4IL.js +0 -648
  137. package/dist/chunk-JGOST4IL.js.map +0 -1
  138. package/dist/chunk-NPR5BGFF.cjs.map +0 -1
  139. package/dist/chunk-RE7NULEY.js.map +0 -1
  140. package/dist/chunk-YAEXSCUW.cjs +0 -677
  141. package/dist/chunk-YAEXSCUW.cjs.map +0 -1
@@ -0,0 +1,28 @@
1
+ /**
2
+ * DocumentSyncGlyph
3
+ *
4
+ * Marks a document that's saved on THIS device for offline use — the
5
+ * OneDrive/Drive "available offline" convention: a small badge on the file icon.
6
+ * A down-arrow-to-line (the universal "downloaded / saved locally" glyph) so it
7
+ * reads instantly as "kept on my device" — clearer than a hard-drive icon and
8
+ * never confused with the "ready" checkmark. A neutral grey badge: ambient
9
+ * metadata, not a status to draw the eye (the document "ready" status owns the
10
+ * coloured cyan/navy treatment).
11
+ *
12
+ * Pending offline edits are shown separately, as a "changes pending" document
13
+ * status in the Status column — not here — so the file icon stays quiet and only
14
+ * the genuinely-useful "you can open this offline" signal lives on it.
15
+ *
16
+ * Self-subscribing to the offline set so it updates even inside a memoized grid
17
+ * cell. Renders nothing for cloud-only docs (the common case).
18
+ */
19
+ interface DocumentSyncGlyphProps {
20
+ docExtId: string;
21
+ size?: number;
22
+ className?: string;
23
+ /** Badge fill — neutral grey by default; pass e.g. `bg-green-600` for a
24
+ * prominent "downloaded" badge. */
25
+ bgClassName?: string;
26
+ }
27
+ export declare function DocumentSyncGlyph({ docExtId, size, className, bgClassName, }: DocumentSyncGlyphProps): import("react").JSX.Element | null;
28
+ export {};
@@ -0,0 +1,56 @@
1
+ /**
2
+ * The workspace's files as a file explorer (OneDrive / Drive style), bound to the session: folders
3
+ * come from each document's `folder` path; renames, moves and deletes are written through
4
+ * `@arbidocs/react`.
5
+ *
6
+ * - Breadcrumb navigation is the host's (`folderPath` / `onFolderPathChange`): it may keep the
7
+ * folder in a filter, the URL or state.
8
+ * - A virtualised tile grid that scales to thousands of documents, sized by `tileSize`.
9
+ * - OS-style selection: click, ⌘/Ctrl-click, shift-range, the hover checkbox and a marquee.
10
+ * - Drag files onto a folder tile to move them; drop OS files on the view to upload.
11
+ *
12
+ * Selection is the host's (`selectedIds` / `onSelectionChange`), so its bulk actions act on it.
13
+ */
14
+ import { type ReactNode } from 'react';
15
+ import { type ExplorerFolder, type ExplorerSort } from '../../../files/folders';
16
+ import { type FileTileDocument } from './FileTiles';
17
+ /** The zoom slider's bounds: the target tile width in px (smaller: more tiles per row). */
18
+ export declare const TILE_MIN = 88;
19
+ export declare const TILE_MAX = 232;
20
+ export declare const TILE_DEFAULT = 200;
21
+ export interface ConnectedFilesExplorerHandle {
22
+ /** Add a placeholder folder here and start naming it. */
23
+ triggerNewFolder: () => void;
24
+ /** Scroll the tile of `docId` into view, when it is displayed. */
25
+ scrollToDocument: (docId: string) => void;
26
+ }
27
+ export interface ConnectedFilesExplorerProps {
28
+ documents: FileTileDocument[];
29
+ isLoading: boolean;
30
+ /** The viewer may add, rename and move files here. */
31
+ canUpload: boolean;
32
+ selectedIds: string[];
33
+ onSelectionChange: (ids: string[]) => void;
34
+ onOpenDocument: (docId: string) => void;
35
+ onUploadFiles: (files: File[], folder?: string | null) => void;
36
+ /** The open folder (empty: the workspace root). */
37
+ folderPath: readonly string[];
38
+ onFolderPathChange: (path: string[]) => void;
39
+ /** A search across every folder (absent or empty: the open folder is listed). */
40
+ search?: string;
41
+ sort: ExplorerSort;
42
+ sortReversed: boolean;
43
+ /** The target tile width in px (`TILE_MIN`..`TILE_MAX`). */
44
+ tileSize: number;
45
+ /** The ids of the files displayed, in display order (a navigator steps the same list). */
46
+ onOrderedFilesChange?: (docIds: string[]) => void;
47
+ /** Move the selected files: the host opens its folder picker. Absent: not offered. */
48
+ onMoveSelected?: () => void;
49
+ /** Move a folder with its structure: the host opens its folder picker. */
50
+ onFolderMove?: (folder: ExplorerFolder) => void;
51
+ /** Open a document in the host's review view. Absent: not offered. */
52
+ onOpenInReview?: (docId: string) => void;
53
+ /** Shown instead of the explorer while the workspace has no documents and the viewer may add. */
54
+ emptyWorkspace?: ReactNode;
55
+ }
56
+ export declare const ConnectedFilesExplorer: import("react").ForwardRefExoticComponent<ConnectedFilesExplorerProps & import("react").RefAttributes<ConnectedFilesExplorerHandle>>;
@@ -0,0 +1,87 @@
1
+ /**
2
+ * The explorer's one tile binding. The presentation (`ExplorerFileTile`, `ExplorerFolderTile`,
3
+ * `ExplorerFileTooltip`) is in `files/`; this binds it to the session: @dnd-kit draggable and
4
+ * droppable, the document's live processing status, the copies kept offline, the open viewer, the
5
+ * document pill, the mail handoff and the member / label lookups. `FileTile` is a draggable
6
+ * document, `FolderTile` a droppable folder (separate components so the dnd hooks always run).
7
+ */
8
+ import { type WorkspaceDocument } from '@arbidocs/react';
9
+ import { type ExplorerDensity, type ExplorerMenuItem } from '../../../files/ExplorerTile';
10
+ import { type ExplorerFolder } from '../../../files/folders';
11
+ import { type FilesStartItem } from '../support';
12
+ export type { ExplorerDensity };
13
+ /** A workspace member as a tile shows them (avatar and name). */
14
+ export interface FileTileUser {
15
+ external_id: string;
16
+ given_name: string;
17
+ family_name?: string | null;
18
+ email: string;
19
+ picture?: string | null;
20
+ }
21
+ /** A document row as the tiles read it (the session's rows carry these). */
22
+ export type FileTileDocument = WorkspaceDocument & {
23
+ failed_stage?: string | null;
24
+ };
25
+ /** Whether a status is still being worked on. */
26
+ export declare function isActiveDocumentStatus(status: string): boolean;
27
+ /** The hover card of a document: the same in the explorer tiles and the table's name cell. */
28
+ export declare function FileTooltipContent({ doc, modifiedBy, tagNameById, }: {
29
+ doc: FileTileDocument;
30
+ modifiedBy?: FileTileUser;
31
+ tagNameById: ReadonlyMap<string, string>;
32
+ }): import("react").JSX.Element;
33
+ /** The "Start…" submenu: one entry per thing the host can start on the file or folder. */
34
+ export declare function startMenuItem(items: readonly FilesStartItem[]): ExplorerMenuItem[];
35
+ interface FileTileProps {
36
+ doc: FileTileDocument;
37
+ density: ExplorerDensity;
38
+ selected: boolean;
39
+ /** Part of an in-flight drag (dimmed). */
40
+ dragging: boolean;
41
+ /** Any tile is being dragged: no hover card, so it cannot swallow the moves dnd-kit tracks. */
42
+ dndActive: boolean;
43
+ /** Being renamed inline. */
44
+ renaming: boolean;
45
+ /** The viewer may delete this document. */
46
+ canDelete: boolean;
47
+ /** The first-page thumbnail (absent: the file-type icon). */
48
+ thumbnailUrl?: string;
49
+ /** Who last changed the document (the hover card's avatar line). */
50
+ modifiedBy?: FileTileUser;
51
+ /** Label id → name, for the document's labels on the hover card. */
52
+ tagNameById: ReadonlyMap<string, string>;
53
+ onSelect: (doc: FileTileDocument, e: React.MouseEvent) => void;
54
+ onToggle: (doc: FileTileDocument, e: React.MouseEvent) => void;
55
+ onOpen: (doc: FileTileDocument) => void;
56
+ /** Open the document in the review view. Absent: not offered. */
57
+ onReview?: (doc: FileTileDocument) => void;
58
+ onStartRename: (doc: FileTileDocument) => void;
59
+ onCommitRename: (doc: FileTileDocument, name: string) => void;
60
+ onCancelRename: () => void;
61
+ onDownload: (doc: FileTileDocument) => void;
62
+ onMove?: (doc: FileTileDocument) => void;
63
+ onDelete: (doc: FileTileDocument) => void;
64
+ }
65
+ export declare const FileTile: import("react").NamedExoticComponent<FileTileProps>;
66
+ interface FolderTileProps {
67
+ folder: ExplorerFolder;
68
+ density: ExplorerDensity;
69
+ /** Being renamed inline. */
70
+ editing?: boolean;
71
+ /** Every document beneath the folder is selected. */
72
+ selected?: boolean;
73
+ /** Some (not all) documents beneath the folder are selected. */
74
+ partiallySelected?: boolean;
75
+ /** Every document beneath the folder (its count of files still processing). */
76
+ documents: readonly FileTileDocument[];
77
+ onOpen: (folder: ExplorerFolder) => void;
78
+ /** Toggle the whole folder (all its documents). */
79
+ onToggleSelect?: (folder: ExplorerFolder, e: React.MouseEvent) => void;
80
+ onCommitName?: (folder: ExplorerFolder, name: string) => void;
81
+ onCancelName?: () => void;
82
+ onStartRename?: (folder: ExplorerFolder) => void;
83
+ onDownload?: (folder: ExplorerFolder) => void;
84
+ onMove?: (folder: ExplorerFolder) => void;
85
+ onDelete?: (folder: ExplorerFolder) => void;
86
+ }
87
+ export declare const FolderTile: import("react").NamedExoticComponent<FolderTileProps>;
@@ -0,0 +1,5 @@
1
+ export { ConnectedFilesExplorer, TILE_DEFAULT, TILE_MAX, TILE_MIN, type ConnectedFilesExplorerHandle, type ConnectedFilesExplorerProps, } from './explorer/ConnectedFilesExplorer';
2
+ export { FileTooltipContent, isActiveDocumentStatus, startMenuItem, type FileTileDocument, type FileTileUser, } from './explorer/FileTiles';
3
+ export { DocumentSyncGlyph } from './DocumentSyncGlyph';
4
+ export { FilesSupportProvider, useFilesSupport, useOfflineDocumentIds, useViewingDocumentId, type FilesStartItem, type FilesSupport, } from './support';
5
+ export { useFilesStore, usePendingFolders } from './store';
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The Files kits' own state: empty folders the user created (a folder exists only through its
3
+ * documents, so a new one is a placeholder until something is moved into it), per workspace, for
4
+ * the session (kept in `sessionStorage`, so a reload keeps them).
5
+ */
6
+ interface FilesState {
7
+ /** Placeholder folder paths per workspace. */
8
+ pendingFolders: Readonly<Record<string, readonly string[]>>;
9
+ addPendingFolder: (workspaceId: string, path: string) => void;
10
+ removePendingFolder: (workspaceId: string, path: string) => void;
11
+ }
12
+ export declare const useFilesStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<FilesState>, "setState" | "persist"> & {
13
+ setState(partial: FilesState | Partial<FilesState> | ((state: FilesState) => FilesState | Partial<FilesState>), replace?: false | undefined): unknown;
14
+ setState(state: FilesState | ((state: FilesState) => FilesState), replace: true): unknown;
15
+ persist: {
16
+ setOptions: (options: Partial<import("zustand/middleware").PersistOptions<FilesState, unknown, unknown>>) => void;
17
+ clearStorage: () => void;
18
+ rehydrate: () => Promise<void> | void;
19
+ hasHydrated: () => boolean;
20
+ onHydrate: (fn: (state: FilesState) => void) => () => void;
21
+ onFinishHydration: (fn: (state: FilesState) => void) => () => void;
22
+ getOptions: () => Partial<import("zustand/middleware").PersistOptions<FilesState, unknown, unknown>>;
23
+ };
24
+ }>;
25
+ /** A workspace's placeholder folders. */
26
+ export declare function usePendingFolders(workspaceId: string | null | undefined): readonly string[];
27
+ export {};
@@ -0,0 +1,38 @@
1
+ /**
2
+ * What a host adds to the connected Files kits (explorer, table, page). The kits read and write the
3
+ * documents on the signed-in session by themselves (`@arbidocs/react`); these are the host's own
4
+ * things they cannot know: its workflows ("Start…"), its chat, its mail, the copies it keeps
5
+ * offline, its viewer. Every field is optional: without one a kit offers less, never something
6
+ * that does nothing.
7
+ */
8
+ import { type ReactNode } from 'react';
9
+ import type { WorkspaceDocument } from '@arbidocs/react';
10
+ /** Something the host can start on documents or a folder (a workflow, a skill). */
11
+ export interface FilesStartItem {
12
+ id: string;
13
+ title: string;
14
+ run: () => void;
15
+ }
16
+ export interface FilesSupport {
17
+ /** What can be started on one file. */
18
+ startItemsForFile?: (document: WorkspaceDocument) => FilesStartItem[];
19
+ /** What can be started on everything in a folder (workflows that take a set of files). */
20
+ startItemsForFolder?: (folderPath: string) => FilesStartItem[];
21
+ /** Start a chat about one document. Absent: not offered. */
22
+ openDocumentChat?: (docId: string) => void;
23
+ /** Hand a document to the host's mail composer as an attachment (offered while mail is on). */
24
+ emailDocument?: (document: WorkspaceDocument) => Promise<void>;
25
+ /** The documents kept on this device for offline use, as a hook. */
26
+ useOfflineDocumentIds?: () => ReadonlySet<string>;
27
+ /** The document open in the host's viewer, as a hook (its tile is marked); null when closed. */
28
+ useViewingDocumentId?: () => string | null;
29
+ }
30
+ export declare function FilesSupportProvider({ value, children, }: {
31
+ value: FilesSupport;
32
+ children: ReactNode;
33
+ }): import("react").JSX.Element;
34
+ export declare function useFilesSupport(): FilesSupport;
35
+ /** The documents kept offline (none without host support). */
36
+ export declare function useOfflineDocumentIds(): ReadonlySet<string>;
37
+ /** The document open in the host's viewer (none without host support). */
38
+ export declare function useViewingDocumentId(): string | null;
@@ -3,8 +3,8 @@
3
3
 
4
4
  var chunkD3WFIFRY_cjs = require('../chunk-D3WFIFRY.cjs');
5
5
  var chunk6MG62I5B_cjs = require('../chunk-6MG62I5B.cjs');
6
- require('../chunk-UWIILWDI.cjs');
7
6
  var chunkJH6JTI76_cjs = require('../chunk-JH6JTI76.cjs');
7
+ require('../chunk-UWIILWDI.cjs');
8
8
  require('../chunk-ULWRNGGE.cjs');
9
9
  require('../chunk-DES3K4SD.cjs');
10
10
 
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  export { AnnotateButton, DEFAULT_VERSION_SNAPSHOT_BAR_LABELS, DownloadMarkupButton, MarkupNotices, MarkupViewNote, RequestSignaturesButton, ShowOriginalButton, SignButton, SignatureCertificate, SignatureRequestBanner, SignatureStatus, SignedEditNote, VersionSnapshotBar, formatSignedAt } from '../chunk-KQYPP72K.js';
3
3
  export { AdoptSignatureDialog, TYPED_SIGNATURE_STYLE } from '../chunk-EQB3WELX.js';
4
- import '../chunk-6HKLTYNN.js';
5
4
  export { SignDocumentDialog } from '../chunk-2YOVK524.js';
5
+ import '../chunk-6HKLTYNN.js';
6
6
  import '../chunk-TX2ZICS7.js';
7
7
  import '../chunk-VUNV25KB.js';
8
8
  //# sourceMappingURL=index.js.map
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunk757OYF6G_cjs = require('../chunk-757OYF6G.cjs');
5
- var chunkKUT2Y7JF_cjs = require('../chunk-KUT2Y7JF.cjs');
4
+ var chunkVY4UFXTM_cjs = require('../chunk-VY4UFXTM.cjs');
5
+ var chunkTQIY2SVY_cjs = require('../chunk-TQIY2SVY.cjs');
6
6
  var chunk464YPRAE_cjs = require('../chunk-464YPRAE.cjs');
7
- var chunkNPR5BGFF_cjs = require('../chunk-NPR5BGFF.cjs');
7
+ var chunkJSQEAPTC_cjs = require('../chunk-JSQEAPTC.cjs');
8
8
  require('../chunk-5FYU7ZIU.cjs');
9
9
  require('../chunk-QT3A4PFC.cjs');
10
10
  require('../chunk-RC25WMVB.cjs');
@@ -18,11 +18,11 @@ var hocuspocus = require('@arbidocs/coedit/hocuspocus');
18
18
 
19
19
  Object.defineProperty(exports, "NativeDocxComparison", {
20
20
  enumerable: true,
21
- get: function () { return chunk757OYF6G_cjs.NativeDocxComparison; }
21
+ get: function () { return chunkVY4UFXTM_cjs.NativeDocxComparison; }
22
22
  });
23
23
  Object.defineProperty(exports, "StreamedWordArtifact", {
24
24
  enumerable: true,
25
- get: function () { return chunkKUT2Y7JF_cjs.StreamedWordArtifact; }
25
+ get: function () { return chunkTQIY2SVY_cjs.StreamedWordArtifact; }
26
26
  });
27
27
  Object.defineProperty(exports, "groupCandidates", {
28
28
  enumerable: true,
@@ -38,171 +38,171 @@ Object.defineProperty(exports, "loadDocxFonts", {
38
38
  });
39
39
  Object.defineProperty(exports, "BUILTIN_TEMPLATE_NAME", {
40
40
  enumerable: true,
41
- get: function () { return chunkNPR5BGFF_cjs.BUILTIN_TEMPLATE_NAME; }
41
+ get: function () { return chunkJSQEAPTC_cjs.BUILTIN_TEMPLATE_NAME; }
42
42
  });
43
43
  Object.defineProperty(exports, "CrossReferenceDialog", {
44
44
  enumerable: true,
45
- get: function () { return chunkNPR5BGFF_cjs.CrossReferenceDialog; }
45
+ get: function () { return chunkJSQEAPTC_cjs.CrossReferenceDialog; }
46
46
  });
47
47
  Object.defineProperty(exports, "CrossReferencesProvider", {
48
48
  enumerable: true,
49
- get: function () { return chunkNPR5BGFF_cjs.CrossReferencesProvider; }
49
+ get: function () { return chunkJSQEAPTC_cjs.CrossReferencesProvider; }
50
50
  });
51
51
  Object.defineProperty(exports, "DEFAULT_CROSS_REFERENCES_LABELS", {
52
52
  enumerable: true,
53
- get: function () { return chunkNPR5BGFF_cjs.DEFAULT_CROSS_REFERENCES_LABELS; }
53
+ get: function () { return chunkJSQEAPTC_cjs.DEFAULT_CROSS_REFERENCES_LABELS; }
54
54
  });
55
55
  Object.defineProperty(exports, "DEFAULT_DEFINED_TERMS_LABELS", {
56
56
  enumerable: true,
57
- get: function () { return chunkNPR5BGFF_cjs.DEFAULT_DEFINED_TERMS_LABELS; }
57
+ get: function () { return chunkJSQEAPTC_cjs.DEFAULT_DEFINED_TERMS_LABELS; }
58
58
  });
59
59
  Object.defineProperty(exports, "DEFINED_TERM_TRIGGER", {
60
60
  enumerable: true,
61
- get: function () { return chunkNPR5BGFF_cjs.DEFINED_TERM_TRIGGER; }
61
+ get: function () { return chunkJSQEAPTC_cjs.DEFINED_TERM_TRIGGER; }
62
62
  });
63
63
  Object.defineProperty(exports, "DefinedTermsProvider", {
64
64
  enumerable: true,
65
- get: function () { return chunkNPR5BGFF_cjs.DefinedTermsProvider; }
65
+ get: function () { return chunkJSQEAPTC_cjs.DefinedTermsProvider; }
66
66
  });
67
67
  Object.defineProperty(exports, "DocxAuthorContext", {
68
68
  enumerable: true,
69
- get: function () { return chunkNPR5BGFF_cjs.DocxAuthorContext; }
69
+ get: function () { return chunkJSQEAPTC_cjs.DocxAuthorContext; }
70
70
  });
71
71
  Object.defineProperty(exports, "DocxCommentActivity", {
72
72
  enumerable: true,
73
- get: function () { return chunkNPR5BGFF_cjs.DocxCommentActivity; }
73
+ get: function () { return chunkJSQEAPTC_cjs.DocxCommentActivity; }
74
74
  });
75
75
  Object.defineProperty(exports, "DocxEditorReview", {
76
76
  enumerable: true,
77
- get: function () { return chunkNPR5BGFF_cjs.DocxEditorReview; }
77
+ get: function () { return chunkJSQEAPTC_cjs.DocxEditorReview; }
78
78
  });
79
79
  Object.defineProperty(exports, "DocxMentions", {
80
80
  enumerable: true,
81
- get: function () { return chunkNPR5BGFF_cjs.DocxMentions; }
81
+ get: function () { return chunkJSQEAPTC_cjs.DocxMentions; }
82
82
  });
83
83
  Object.defineProperty(exports, "DocxParticipants", {
84
84
  enumerable: true,
85
- get: function () { return chunkNPR5BGFF_cjs.DocxParticipants; }
85
+ get: function () { return chunkJSQEAPTC_cjs.DocxParticipants; }
86
86
  });
87
87
  Object.defineProperty(exports, "DocxRibbon", {
88
88
  enumerable: true,
89
- get: function () { return chunkNPR5BGFF_cjs.DocxRibbon; }
89
+ get: function () { return chunkJSQEAPTC_cjs.DocxRibbon; }
90
90
  });
91
91
  Object.defineProperty(exports, "GenerateImageButton", {
92
92
  enumerable: true,
93
- get: function () { return chunkNPR5BGFF_cjs.GenerateImageButton; }
93
+ get: function () { return chunkJSQEAPTC_cjs.GenerateImageButton; }
94
94
  });
95
95
  Object.defineProperty(exports, "HouseTemplateProvider", {
96
96
  enumerable: true,
97
- get: function () { return chunkNPR5BGFF_cjs.HouseTemplateProvider; }
97
+ get: function () { return chunkJSQEAPTC_cjs.HouseTemplateProvider; }
98
98
  });
99
99
  Object.defineProperty(exports, "LinkHoverCard", {
100
100
  enumerable: true,
101
- get: function () { return chunkNPR5BGFF_cjs.LinkHoverCard; }
101
+ get: function () { return chunkJSQEAPTC_cjs.LinkHoverCard; }
102
102
  });
103
103
  Object.defineProperty(exports, "NativeDocxEditor", {
104
104
  enumerable: true,
105
- get: function () { return chunkNPR5BGFF_cjs.NativeDocxEditor; }
105
+ get: function () { return chunkJSQEAPTC_cjs.NativeDocxEditor; }
106
106
  });
107
107
  Object.defineProperty(exports, "builtinHouseTemplate", {
108
108
  enumerable: true,
109
- get: function () { return chunkNPR5BGFF_cjs.builtinHouseTemplate; }
109
+ get: function () { return chunkJSQEAPTC_cjs.builtinHouseTemplate; }
110
110
  });
111
111
  Object.defineProperty(exports, "contentPath", {
112
112
  enumerable: true,
113
- get: function () { return chunkNPR5BGFF_cjs.contentPath; }
113
+ get: function () { return chunkJSQEAPTC_cjs.contentPath; }
114
114
  });
115
115
  Object.defineProperty(exports, "editorPort", {
116
116
  enumerable: true,
117
- get: function () { return chunkNPR5BGFF_cjs.editorPort; }
117
+ get: function () { return chunkJSQEAPTC_cjs.editorPort; }
118
118
  });
119
119
  Object.defineProperty(exports, "findDefinitionsSection", {
120
120
  enumerable: true,
121
- get: function () { return chunkNPR5BGFF_cjs.findDefinitionsSection; }
121
+ get: function () { return chunkJSQEAPTC_cjs.findDefinitionsSection; }
122
122
  });
123
123
  Object.defineProperty(exports, "insertCrossReference", {
124
124
  enumerable: true,
125
- get: function () { return chunkNPR5BGFF_cjs.insertCrossReference; }
125
+ get: function () { return chunkJSQEAPTC_cjs.insertCrossReference; }
126
126
  });
127
127
  Object.defineProperty(exports, "insertDefinedTerm", {
128
128
  enumerable: true,
129
- get: function () { return chunkNPR5BGFF_cjs.insertDefinedTerm; }
129
+ get: function () { return chunkJSQEAPTC_cjs.insertDefinedTerm; }
130
130
  });
131
131
  Object.defineProperty(exports, "insertDocumentReference", {
132
132
  enumerable: true,
133
- get: function () { return chunkNPR5BGFF_cjs.insertDocumentReference; }
133
+ get: function () { return chunkJSQEAPTC_cjs.insertDocumentReference; }
134
134
  });
135
135
  Object.defineProperty(exports, "listTargets", {
136
136
  enumerable: true,
137
- get: function () { return chunkNPR5BGFF_cjs.listTargets; }
137
+ get: function () { return chunkJSQEAPTC_cjs.listTargets; }
138
138
  });
139
139
  Object.defineProperty(exports, "normalizeDocxExport", {
140
140
  enumerable: true,
141
- get: function () { return chunkNPR5BGFF_cjs.normalizeDocxExport; }
141
+ get: function () { return chunkJSQEAPTC_cjs.normalizeDocxExport; }
142
142
  });
143
143
  Object.defineProperty(exports, "paragraphNumber", {
144
144
  enumerable: true,
145
- get: function () { return chunkNPR5BGFF_cjs.paragraphNumber; }
145
+ get: function () { return chunkJSQEAPTC_cjs.paragraphNumber; }
146
146
  });
147
147
  Object.defineProperty(exports, "referenceText", {
148
148
  enumerable: true,
149
- get: function () { return chunkNPR5BGFF_cjs.referenceText; }
149
+ get: function () { return chunkJSQEAPTC_cjs.referenceText; }
150
150
  });
151
151
  Object.defineProperty(exports, "referencesPort", {
152
152
  enumerable: true,
153
- get: function () { return chunkNPR5BGFF_cjs.referencesPort; }
153
+ get: function () { return chunkJSQEAPTC_cjs.referencesPort; }
154
154
  });
155
155
  Object.defineProperty(exports, "resolveHouseTemplate", {
156
156
  enumerable: true,
157
- get: function () { return chunkNPR5BGFF_cjs.resolveHouseTemplate; }
157
+ get: function () { return chunkJSQEAPTC_cjs.resolveHouseTemplate; }
158
158
  });
159
159
  Object.defineProperty(exports, "reviewModule", {
160
160
  enumerable: true,
161
- get: function () { return chunkNPR5BGFF_cjs.reviewModule; }
161
+ get: function () { return chunkJSQEAPTC_cjs.reviewModule; }
162
162
  });
163
163
  Object.defineProperty(exports, "shortTitle", {
164
164
  enumerable: true,
165
- get: function () { return chunkNPR5BGFF_cjs.shortTitle; }
165
+ get: function () { return chunkJSQEAPTC_cjs.shortTitle; }
166
166
  });
167
167
  Object.defineProperty(exports, "structuralPort", {
168
168
  enumerable: true,
169
- get: function () { return chunkNPR5BGFF_cjs.structuralPort; }
169
+ get: function () { return chunkJSQEAPTC_cjs.structuralPort; }
170
170
  });
171
171
  Object.defineProperty(exports, "templateFileName", {
172
172
  enumerable: true,
173
- get: function () { return chunkNPR5BGFF_cjs.templateFileName; }
173
+ get: function () { return chunkJSQEAPTC_cjs.templateFileName; }
174
174
  });
175
175
  Object.defineProperty(exports, "trackedOrNoted", {
176
176
  enumerable: true,
177
- get: function () { return chunkNPR5BGFF_cjs.trackedOrNoted; }
177
+ get: function () { return chunkJSQEAPTC_cjs.trackedOrNoted; }
178
178
  });
179
179
  Object.defineProperty(exports, "useCrossReferences", {
180
180
  enumerable: true,
181
- get: function () { return chunkNPR5BGFF_cjs.useCrossReferences; }
181
+ get: function () { return chunkJSQEAPTC_cjs.useCrossReferences; }
182
182
  });
183
183
  Object.defineProperty(exports, "useDefinedTerms", {
184
184
  enumerable: true,
185
- get: function () { return chunkNPR5BGFF_cjs.useDefinedTerms; }
185
+ get: function () { return chunkJSQEAPTC_cjs.useDefinedTerms; }
186
186
  });
187
187
  Object.defineProperty(exports, "useHouseTemplate", {
188
188
  enumerable: true,
189
- get: function () { return chunkNPR5BGFF_cjs.useHouseTemplate; }
189
+ get: function () { return chunkJSQEAPTC_cjs.useHouseTemplate; }
190
190
  });
191
191
  Object.defineProperty(exports, "useReview", {
192
192
  enumerable: true,
193
- get: function () { return chunkNPR5BGFF_cjs.useReview; }
193
+ get: function () { return chunkJSQEAPTC_cjs.useReview; }
194
194
  });
195
195
  Object.defineProperty(exports, "useReviewItem", {
196
196
  enumerable: true,
197
- get: function () { return chunkNPR5BGFF_cjs.useReviewItem; }
197
+ get: function () { return chunkJSQEAPTC_cjs.useReviewItem; }
198
198
  });
199
199
  Object.defineProperty(exports, "useTrackedOrNoted", {
200
200
  enumerable: true,
201
- get: function () { return chunkNPR5BGFF_cjs.useTrackedOrNoted; }
201
+ get: function () { return chunkJSQEAPTC_cjs.useTrackedOrNoted; }
202
202
  });
203
203
  Object.defineProperty(exports, "withDirectEditing", {
204
204
  enumerable: true,
205
- get: function () { return chunkNPR5BGFF_cjs.withDirectEditing; }
205
+ get: function () { return chunkJSQEAPTC_cjs.withDirectEditing; }
206
206
  });
207
207
  Object.defineProperty(exports, "DocxEditor", {
208
208
  enumerable: true,
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- export { NativeDocxComparison } from '../chunk-TZOQKV64.js';
3
- export { StreamedWordArtifact } from '../chunk-KHXEIEXN.js';
2
+ export { NativeDocxComparison } from '../chunk-EWCJXUBP.js';
3
+ export { StreamedWordArtifact } from '../chunk-7IRSCMNK.js';
4
4
  export { groupCandidates, isCandidate, loadDocxFonts } from '../chunk-MTSKK3BN.js';
5
- export { BUILTIN_TEMPLATE_NAME, CrossReferenceDialog, CrossReferencesProvider, DEFAULT_CROSS_REFERENCES_LABELS, DEFAULT_DEFINED_TERMS_LABELS, DEFINED_TERM_TRIGGER, DefinedTermsProvider, DocxAuthorContext, DocxCommentActivity, DocxEditorReview, DocxMentions, DocxParticipants, DocxRibbon, GenerateImageButton, HouseTemplateProvider, LinkHoverCard, NativeDocxEditor, builtinHouseTemplate, contentPath, editorPort, findDefinitionsSection, insertCrossReference, insertDefinedTerm, insertDocumentReference, listTargets, normalizeDocxExport, paragraphNumber, referenceText, referencesPort, resolveHouseTemplate, reviewModule, shortTitle, structuralPort, templateFileName, trackedOrNoted, useCrossReferences, useDefinedTerms, useHouseTemplate, useReview, useReviewItem, useTrackedOrNoted, withDirectEditing } from '../chunk-265GOG4W.js';
5
+ export { BUILTIN_TEMPLATE_NAME, CrossReferenceDialog, CrossReferencesProvider, DEFAULT_CROSS_REFERENCES_LABELS, DEFAULT_DEFINED_TERMS_LABELS, DEFINED_TERM_TRIGGER, DefinedTermsProvider, DocxAuthorContext, DocxCommentActivity, DocxEditorReview, DocxMentions, DocxParticipants, DocxRibbon, GenerateImageButton, HouseTemplateProvider, LinkHoverCard, NativeDocxEditor, builtinHouseTemplate, contentPath, editorPort, findDefinitionsSection, insertCrossReference, insertDefinedTerm, insertDocumentReference, listTargets, normalizeDocxExport, paragraphNumber, referenceText, referencesPort, resolveHouseTemplate, reviewModule, shortTitle, structuralPort, templateFileName, trackedOrNoted, useCrossReferences, useDefinedTerms, useHouseTemplate, useReview, useReviewItem, useTrackedOrNoted, withDirectEditing } from '../chunk-ONTUMV74.js';
6
6
  import '../chunk-HFZ45FD3.js';
7
7
  import '../chunk-DIB4JYUY.js';
8
8
  import '../chunk-AF6RDAJF.js';