@drawnagency/primitives 0.1.99 → 0.1.101
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/dist/{chunk-FAZFADJK.js → chunk-3TO4RRHY.js} +3 -1
- package/dist/{chunk-HKHEAH5F.js → chunk-6SLGKRLW.js} +8 -60
- package/dist/chunk-BS5AQHZG.js +45 -0
- package/dist/{chunk-GYCBWGVW.js → chunk-LBHQWIVL.js} +79 -24
- package/dist/{chunk-KP4DWTPR.js → chunk-P3NNI3QI.js} +328 -4
- package/dist/components/chat/ChatPanel.d.ts.map +1 -1
- package/dist/components/docfile/DocFileOverlay.d.ts +12 -0
- package/dist/components/docfile/DocFileOverlay.d.ts.map +1 -0
- package/dist/components/docfile/DocFilePane.d.ts +17 -0
- package/dist/components/docfile/DocFilePane.d.ts.map +1 -0
- package/dist/components/docfile/doc-file-state.d.ts +38 -0
- package/dist/components/docfile/doc-file-state.d.ts.map +1 -0
- package/dist/components/editor/SettingsForm.d.ts.map +1 -1
- package/dist/components/editor/index.js +1 -1
- package/dist/components/primitives/DocumentDropZone.d.ts +18 -0
- package/dist/components/primitives/DocumentDropZone.d.ts.map +1 -0
- package/dist/components/sections/Document/index.d.ts +24 -0
- package/dist/components/sections/Document/index.d.ts.map +1 -0
- package/dist/components/sections/all-sections.d.ts +10 -0
- package/dist/components/sections/all-sections.d.ts.map +1 -1
- package/dist/components/sections/brand-guide.d.ts +10 -0
- package/dist/components/sections/brand-guide.d.ts.map +1 -1
- package/dist/components/sections/brand-guide.js +3 -1
- package/dist/components/sections/register-schemas.js +5 -3
- package/dist/components/sections/register.js +5 -3
- package/dist/components/shared/DocumentSourceField.d.ts +13 -0
- package/dist/components/shared/DocumentSourceField.d.ts.map +1 -0
- package/dist/components/shared/Navigation.d.ts.map +1 -1
- package/dist/components/shell/EditorModal.d.ts.map +1 -1
- package/dist/components/shell/EditorShell.d.ts.map +1 -1
- package/dist/components/shell/MediaBreadcrumb.d.ts.map +1 -1
- package/dist/components/shell/MediaFolderTile.d.ts +3 -1
- package/dist/components/shell/MediaFolderTile.d.ts.map +1 -1
- package/dist/components/shell/MediaFolderTree.d.ts +3 -0
- package/dist/components/shell/MediaFolderTree.d.ts.map +1 -1
- package/dist/components/shell/MediaLibraryContext.d.ts +24 -1
- package/dist/components/shell/MediaLibraryContext.d.ts.map +1 -1
- package/dist/components/shell/MediaLibraryModal.d.ts +21 -1
- package/dist/components/shell/MediaLibraryModal.d.ts.map +1 -1
- package/dist/hooks/useDocumentUploads.d.ts +32 -0
- package/dist/hooks/useDocumentUploads.d.ts.map +1 -0
- package/dist/hooks/useEditorPublish.d.ts +18 -1
- package/dist/hooks/useEditorPublish.d.ts.map +1 -1
- package/dist/hooks/useMediaPipeline.d.ts +14 -1
- package/dist/hooks/useMediaPipeline.d.ts.map +1 -1
- package/dist/hooks/useResolvedDocument.d.ts +12 -0
- package/dist/hooks/useResolvedDocument.d.ts.map +1 -0
- package/dist/index.js +56 -32
- package/dist/lib/dexie.d.ts +13 -0
- package/dist/lib/dexie.d.ts.map +1 -1
- package/dist/lib/dexie.js +39 -2
- package/dist/lib/document-refs.d.ts +22 -0
- package/dist/lib/document-refs.d.ts.map +1 -0
- package/dist/lib/document-uploads.d.ts +38 -0
- package/dist/lib/document-uploads.d.ts.map +1 -0
- package/dist/lib/documents.d.ts +65 -0
- package/dist/lib/documents.d.ts.map +1 -0
- package/dist/lib/index.js +4 -4
- package/dist/lib/media-folders.d.ts +8 -0
- package/dist/lib/media-folders.d.ts.map +1 -1
- package/dist/lib/media-folders.js +2 -0
- package/dist/lib/nav.d.ts +29 -1
- package/dist/lib/nav.d.ts.map +1 -1
- package/dist/lib/platform-broker.d.ts +12 -0
- package/dist/lib/platform-broker.d.ts.map +1 -1
- package/dist/lib/platform-broker.js +12 -3
- package/dist/lib/registry.d.ts +10 -0
- package/dist/lib/registry.d.ts.map +1 -1
- package/dist/lib/save-chunks.d.ts +15 -0
- package/dist/lib/save-chunks.d.ts.map +1 -1
- package/dist/lib/scroll-lock.d.ts +2 -0
- package/dist/lib/scroll-lock.d.ts.map +1 -0
- package/dist/schemas/documents.d.ts +80 -0
- package/dist/schemas/documents.d.ts.map +1 -0
- package/dist/schemas/documents.js +25 -0
- package/dist/schemas/index.d.ts +1 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +23 -1
- package/dist/storage/index.d.ts +2 -2
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +3 -1
- package/dist/storage/types.d.ts +59 -3
- package/dist/storage/types.d.ts.map +1 -1
- package/package.json +5 -1
- package/src/components/chat/ChatPanel.tsx +5 -4
- package/src/components/docfile/DocFileOverlay.tsx +54 -0
- package/src/components/docfile/DocFilePane.tsx +133 -0
- package/src/components/docfile/doc-file-state.ts +208 -0
- package/src/components/editor/SettingsForm.tsx +10 -0
- package/src/components/primitives/DocumentDropZone.tsx +79 -0
- package/src/components/sections/Document/index.tsx +194 -0
- package/src/components/sections/brand-guide.ts +2 -1
- package/src/components/shared/DocumentSourceField.tsx +51 -0
- package/src/components/shared/Navigation.tsx +53 -10
- package/src/components/shell/EditorModal.tsx +2 -5
- package/src/components/shell/EditorShell.tsx +132 -8
- package/src/components/shell/MediaBreadcrumb.tsx +14 -1
- package/src/components/shell/MediaFolderTile.tsx +4 -2
- package/src/components/shell/MediaFolderTree.tsx +20 -3
- package/src/components/shell/MediaLibraryContext.tsx +24 -1
- package/src/components/shell/MediaLibraryModal.tsx +223 -45
- package/src/hooks/useDocumentUploads.ts +336 -0
- package/src/hooks/useEditorPublish.ts +180 -8
- package/src/hooks/useMediaPipeline.ts +141 -5
- package/src/hooks/useResolvedDocument.ts +25 -0
- package/src/lib/dexie.ts +66 -1
- package/src/lib/document-refs.ts +83 -0
- package/src/lib/document-uploads.ts +66 -0
- package/src/lib/documents.ts +138 -0
- package/src/lib/media-folders.ts +9 -0
- package/src/lib/nav.ts +46 -2
- package/src/lib/platform-broker.ts +18 -3
- package/src/lib/registry.ts +9 -0
- package/src/lib/save-chunks.ts +42 -0
- package/src/lib/scroll-lock.ts +27 -0
- package/src/schemas/documents.ts +82 -0
- package/src/schemas/index.ts +1 -0
- package/src/storage/index.ts +2 -2
- package/src/storage/types.ts +58 -4
- /package/dist/{chunk-FOY5TF7D.js → chunk-ZDQ3TT47.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentSourceField.d.ts","sourceRoot":"","sources":["../../../src/components/shared/DocumentSourceField.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,KAAK;IACb,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACxC;AAED;;mCAEmC;AACnC,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,2CAgC7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.d.ts","sourceRoot":"","sources":["../../../src/components/shared/Navigation.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"Navigation.d.ts","sourceRoot":"","sources":["../../../src/components/shared/Navigation.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAmE,MAAM,eAAe,CAAC;AAS9G,UAAU,KAAK;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IACxC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAGlF,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;kFAG8E;IAC9E,iBAAiB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACjC;AAQD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,iBAAwB,EAAE,EAAE,KAAK,2CA+V/I"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorModal.d.ts","sourceRoot":"","sources":["../../../src/components/shell/EditorModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"EditorModal.d.ts","sourceRoot":"","sources":["../../../src/components/shell/EditorModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQjE,UAAU,gBAAgB;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAgB,EAAE,IAAiB,EAAE,SAAiB,EAAE,MAAc,EAAE,QAAQ,EAAE,EAAE,gBAAgB,sCAwFzJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorShell.d.ts","sourceRoot":"","sources":["../../../src/components/shell/EditorShell.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"EditorShell.d.ts","sourceRoot":"","sources":["../../../src/components/shell/EditorShell.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAejD,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAyDtF,OAAO,KAAK,EAAE,eAAe,EAA2D,MAAM,oBAAoB,CAAC;AA2CnH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA2BxD,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAC;IAIhB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,EAAE;QACZ,KAAK,EAAE,OAAO,CAAC;QACf,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,EAAE,OAAO,CAAC;QACtB,cAAc,EAAE,OAAO,CAAC;QACxB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAC;IAIhE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAKjC,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,OAAO,EACP,YAAY,EACZ,MAAM,EACN,SAAS,EAAE,gBAAgB,EAC3B,YAAY,EACZ,WAAW,EACX,sBAA8B,EAC9B,eAAe,GAChB,EAAE,KAAK,2CA82DP;AAwED;6EAC6E;AAC7E,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,EACvC,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,eAAe,EAAE,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaBreadcrumb.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaBreadcrumb.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACxC,GAAG,CAAC,EAAE,sBAAsB,CAAC;CAC9B;AA0CD,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"MediaBreadcrumb.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaBreadcrumb.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACxC,GAAG,CAAC,EAAE,sBAAsB,CAAC;CAC9B;AA0CD,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,oBAAoB,kDAkClG"}
|
|
@@ -10,6 +10,8 @@ export interface MediaFolderTileProps {
|
|
|
10
10
|
dnd?: MediaFolderDndBindings;
|
|
11
11
|
/** Optional accessible label override for the root element (e.g. "Open folder Logos"). */
|
|
12
12
|
ariaLabel?: string;
|
|
13
|
+
/** Glyph override — the Documents pseudo-folder uses a file icon. */
|
|
14
|
+
icon?: React.ReactNode;
|
|
13
15
|
}
|
|
14
|
-
export declare function MediaFolderTile({ id, name, count, onOpen, manage, onRename, onDeleteRequest, dnd, ariaLabel, }: MediaFolderTileProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function MediaFolderTile({ id, name, count, onOpen, manage, onRename, onDeleteRequest, dnd, ariaLabel, icon, }: MediaFolderTileProps): import("react/jsx-runtime").JSX.Element;
|
|
15
17
|
//# sourceMappingURL=MediaFolderTile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaFolderTile.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaFolderTile.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,GAAG,CAAC,EAAE,sBAAsB,CAAC;IAC7B,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"MediaFolderTile.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaFolderTile.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,GAAG,CAAC,EAAE,sBAAsB,CAAC;IAC7B,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAGD,wBAAgB,eAAe,CAAC,EAC9B,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,GACjF,EAAE,oBAAoB,2CAoHtB"}
|
|
@@ -15,6 +15,9 @@ export interface MediaFolderTreeProps {
|
|
|
15
15
|
onExpand: (id: string) => void;
|
|
16
16
|
onToggleExpand: (id: string) => void;
|
|
17
17
|
dnd?: MediaFolderDndBindings;
|
|
18
|
+
/** Documents pseudo-folder row. Omitted (or 0) renders no row; it is never a
|
|
19
|
+
* drop target — nothing can be moved into it. */
|
|
20
|
+
documentCount?: number;
|
|
18
21
|
}
|
|
19
22
|
export declare function MediaFolderTree(props: MediaFolderTreeProps): import("react/jsx-runtime").JSX.Element;
|
|
20
23
|
//# sourceMappingURL=MediaFolderTree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaFolderTree.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaFolderTree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAIhE,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACzD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACzD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5D,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,GAAG,CAAC,EAAE,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"MediaFolderTree.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaFolderTree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAIhE,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACzD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACzD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5D,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,GAAG,CAAC,EAAE,sBAAsB,CAAC;IAC7B;sDACkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA4ED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAwC1D"}
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import type { MediaManifest, MediaItem } from "../../media/types";
|
|
2
2
|
import type { SiteConfig } from "../../schemas/site-config";
|
|
3
|
+
import type { DocumentManifest, DocumentManifestEntry } from "../../schemas/documents";
|
|
4
|
+
/** Kinds the media library can be filtered to when opened as a picker. */
|
|
5
|
+
export type LibraryKind = "image" | "animated" | "video" | "document";
|
|
6
|
+
/** A document staged locally this session — bytes (git tier) or bucket object
|
|
7
|
+
* already PUT — that is not yet in the committed document manifest. */
|
|
8
|
+
export interface PendingDocument {
|
|
9
|
+
id: string;
|
|
10
|
+
entry: DocumentManifestEntry;
|
|
11
|
+
}
|
|
3
12
|
export interface MediaLibraryContextValue {
|
|
4
|
-
|
|
13
|
+
/** `opts.kinds` restricts the picker; omitted keeps the historical
|
|
14
|
+
* image/animated/video behavior for every pre-existing call site. */
|
|
15
|
+
openSelectModal: (onSelect: (imageId: string) => void, opts?: {
|
|
16
|
+
kinds?: ReadonlyArray<LibraryKind>;
|
|
17
|
+
}) => void;
|
|
5
18
|
uploadFile: (file: File) => void;
|
|
6
19
|
uploadFileWithCallback: (file: File, onComplete: (imageId: string) => void, opts?: {
|
|
7
20
|
hidden?: boolean;
|
|
@@ -14,6 +27,16 @@ export interface MediaLibraryContextValue {
|
|
|
14
27
|
pendingItems: MediaItem[];
|
|
15
28
|
pendingLocalUrls: Record<string, string>;
|
|
16
29
|
siteConfig: SiteConfig | null;
|
|
30
|
+
/** Sidecar document manifest. Optional: viewer-side and test contexts
|
|
31
|
+
* predate documents and must keep compiling. */
|
|
32
|
+
documentManifest?: DocumentManifest;
|
|
33
|
+
pendingDocuments?: PendingDocument[];
|
|
34
|
+
/** Upload a PDF/HTML file through the document pipeline, calling back with the
|
|
35
|
+
* document id once it is staged. Optional for the same reason as the two
|
|
36
|
+
* fields above. Owns every rejection itself (unsupported type, too large, no
|
|
37
|
+
* documents store) — they surface on the pipeline's `onUploadError` channel,
|
|
38
|
+
* so a caller never needs to pre-validate or report. */
|
|
39
|
+
uploadDocument?: (file: File, onComplete?: (documentId: string) => void) => void | Promise<void>;
|
|
17
40
|
}
|
|
18
41
|
export declare const MediaLibraryContext: import("react").Context<MediaLibraryContextValue | null>;
|
|
19
42
|
export declare function useMediaLibrary(): MediaLibraryContextValue | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaLibraryContext.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaLibraryContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"MediaLibraryContext.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaLibraryContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,0EAA0E;AAC1E,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;AAEtE;wEACwE;AACxE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC;0EACsE;IACtE,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9G,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACjC,sBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,CAAC;IACnH,qBAAqB,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,KAAK,IAAI,CAAC;IACpF,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B;qDACiD;IACjD,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC;;;;6DAIyD;IACzD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClG;AAED,eAAO,MAAM,mBAAmB,0DAAuD,CAAC;AAExF,wBAAgB,eAAe,IAAI,wBAAwB,GAAG,IAAI,CAEjE"}
|
|
@@ -1,12 +1,32 @@
|
|
|
1
1
|
import type { MediaFolder, MediaItem } from "../../media/types";
|
|
2
|
+
import type { LibraryKind } from "./MediaLibraryContext";
|
|
3
|
+
/** Flattened document-manifest row for display. The document manifest is a
|
|
4
|
+
* sidecar keyed by documentId; this is the id + the fields the tile shows. */
|
|
5
|
+
export interface DocumentLibraryItem {
|
|
6
|
+
id: string;
|
|
7
|
+
filename: string;
|
|
8
|
+
size: number;
|
|
9
|
+
kind: "pdf" | "html";
|
|
10
|
+
}
|
|
2
11
|
export interface MediaLibraryModalProps {
|
|
3
12
|
mode: "select" | "manage";
|
|
4
13
|
items: MediaItem[];
|
|
14
|
+
/** Sidecar-manifest documents, merged into the grid for display only. */
|
|
15
|
+
documents?: DocumentLibraryItem[];
|
|
16
|
+
/** Restricts which kinds are shown and which filter options are offered. */
|
|
17
|
+
kinds?: ReadonlyArray<LibraryKind>;
|
|
5
18
|
onSelect: (id: string) => void;
|
|
6
19
|
onUpload: (files: File[], targetFolderId?: string | null) => void;
|
|
7
20
|
onDelete: (ids: string[]) => void;
|
|
21
|
+
/** Manage-mode delete for the document half of a selection. Required: a
|
|
22
|
+
* no-op default would let an editor confirm a deletion that silently
|
|
23
|
+
* vanishes. */
|
|
24
|
+
onDeleteDocuments: (ids: string[]) => void;
|
|
8
25
|
onAltChange?: (id: string, alt: string) => void;
|
|
9
26
|
referenceCountMap: Record<string, number>;
|
|
27
|
+
/** Usage counts keyed by documentId (the `tallyDocumentIds` twin of
|
|
28
|
+
* `referenceCountMap`). */
|
|
29
|
+
documentReferenceCountMap?: Record<string, number>;
|
|
10
30
|
localUrlMap?: Record<string, string>;
|
|
11
31
|
maxFileSize?: number;
|
|
12
32
|
uploadProgress?: Record<string, number>;
|
|
@@ -25,5 +45,5 @@ export interface MediaLibraryModalProps {
|
|
|
25
45
|
uploadNotice?: string | null;
|
|
26
46
|
onDismissUploadNotice?: () => void;
|
|
27
47
|
}
|
|
28
|
-
export declare function MediaLibraryModal({ mode, items, onSelect, onUpload, onDelete, onAltChange, referenceCountMap, localUrlMap, maxFileSize, uploadProgress, uploadError, onDismissUploadError, folders, onCreateFolder, onRenameFolder, onMoveFolder, onDeleteFolder, onMoveMedia, onFolderUpload, uploadNotice, onDismissUploadNotice, }: MediaLibraryModalProps): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
export declare function MediaLibraryModal({ mode, items, documents, kinds, onSelect, onUpload, onDelete, onDeleteDocuments, onAltChange, referenceCountMap, documentReferenceCountMap, localUrlMap, maxFileSize, uploadProgress, uploadError, onDismissUploadError, folders, onCreateFolder, onRenameFolder, onMoveFolder, onDeleteFolder, onMoveMedia, onFolderUpload, uploadNotice, onDismissUploadNotice, }: MediaLibraryModalProps): import("react/jsx-runtime").JSX.Element;
|
|
29
49
|
//# sourceMappingURL=MediaLibraryModal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaLibraryModal.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaLibraryModal.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"MediaLibraryModal.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaLibraryModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { DocumentManifest } from "../schemas/documents";
|
|
2
|
+
import type { PendingDocument } from "../components/shell/MediaLibraryContext";
|
|
3
|
+
interface UseDocumentUploadsInput {
|
|
4
|
+
documentManifest: DocumentManifest;
|
|
5
|
+
setDocumentManifest: React.Dispatch<React.SetStateAction<DocumentManifest>>;
|
|
6
|
+
setLocalChangesExist: React.Dispatch<React.SetStateAction<boolean>>;
|
|
7
|
+
/** Drops a committed-but-locally-deleted id from the pipeline's
|
|
8
|
+
* `pendingDocumentDeletions`. That list lives in useMediaPipeline and is
|
|
9
|
+
* invisible here, so without this the dedup below cannot tell a live
|
|
10
|
+
* document from a doomed one. No-op for an id that isn't doomed. */
|
|
11
|
+
undeleteDocument?: (id: string) => void;
|
|
12
|
+
/** Same channel the media pipeline uses — surfaces in UploadRejectionAlert. */
|
|
13
|
+
onUploadError?: (message: string) => void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Document uploads. Deliberately a separate hook from useMediaPipeline: bytes
|
|
17
|
+
* pass through untouched (no rasterizer worker, no variants, no poster), the
|
|
18
|
+
* manifest is a sidecar, and every rejection is typed. Both tiers must (1) never
|
|
19
|
+
* throw to the caller, (2) call onUploadError exactly once on failure, and (3)
|
|
20
|
+
* leave no leaked progress entry.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useDocumentUploads({ documentManifest, setDocumentManifest, setLocalChangesExist, undeleteDocument, onUploadError, }: UseDocumentUploadsInput): {
|
|
23
|
+
pendingDocuments: PendingDocument[];
|
|
24
|
+
pendingDocumentUrls: Record<string, string>;
|
|
25
|
+
documentUploadProgress: Record<string, number>;
|
|
26
|
+
uploadDocument: (file: File, onComplete?: (documentId: string) => void) => Promise<void>;
|
|
27
|
+
publishDocuments: (ids: string[]) => Promise<void>;
|
|
28
|
+
unstageDocuments: (ids: string[]) => Promise<void>;
|
|
29
|
+
hydratePendingDocuments: () => Promise<void>;
|
|
30
|
+
};
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=useDocumentUploads.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDocumentUploads.d.ts","sourceRoot":"","sources":["../../src/hooks/useDocumentUploads.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,sBAAsB,CAAC;AAapF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAS/E,UAAU,uBAAuB;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC5E,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE;;;yEAGqE;IACrE,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,+EAA+E;IAC/E,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,GACd,EAAE,uBAAuB;;;;2BAiET,IAAI,eAAe,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,KAAG,OAAO,CAAC,IAAI,CAAC;4BAiJhE,MAAM,EAAE;4BAqC2B,MAAM,EAAE;;EAqC1D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SiteIndex, SiteConfig } from "../schemas/site-config";
|
|
2
2
|
import type { LoadedSection } from "../lib/loader";
|
|
3
3
|
import type { MediaManifest, MediaItem } from "../media/types";
|
|
4
|
+
import type { DocumentManifest, DocumentManifestEntry } from "../schemas/documents";
|
|
4
5
|
interface PublishDeps {
|
|
5
6
|
flushNow: () => Promise<void>;
|
|
6
7
|
cancelPendingFlush: () => void;
|
|
@@ -68,9 +69,25 @@ interface PublishDeps {
|
|
|
68
69
|
* collab wiring): the token degrades to MAX_SAFE_INTEGER, i.e. "nothing was
|
|
69
70
|
* edited after capture" — the pre-generation wholesale-clear behavior. */
|
|
70
71
|
getEditGeneration?: () => number;
|
|
72
|
+
/** Committed document manifest, merged with the staged entries this save
|
|
73
|
+
* commits. Optional so pre-documents callers keep compiling. */
|
|
74
|
+
documentManifest?: DocumentManifest;
|
|
75
|
+
pendingDocuments?: {
|
|
76
|
+
id: string;
|
|
77
|
+
entry: DocumentManifestEntry;
|
|
78
|
+
}[];
|
|
79
|
+
/** Ids of COMMITTED documents the editor has deleted but not yet saved. They
|
|
80
|
+
* ride the final request as `deletedDocumentIds`; a staged-but-uncommitted
|
|
81
|
+
* document deleted locally never appears here. */
|
|
82
|
+
pendingDocumentDeletions?: string[];
|
|
83
|
+
/** Receives the document ids this save actually committed. */
|
|
84
|
+
onDocumentsPublished?: (ids: string[]) => void;
|
|
85
|
+
/** Receives the deleted document ids the successful commit actually carried,
|
|
86
|
+
* so the caller can clear exactly those from its pending list. */
|
|
87
|
+
onDocumentsDeleted?: (ids: string[]) => void;
|
|
71
88
|
}
|
|
72
89
|
export type PublishAction = "idle" | "saving" | "publishing";
|
|
73
|
-
export declare function useEditorPublish({ flushNow, cancelPendingFlush, isConfigDirty, clearConfigDirty, siteIndexRef, siteConfig, sections, deletedSectionIds, onSuccess, mediaManifest, mediaManifestRef, manifestDirty, clearManifestDirty, pendingMediaItems, pendingMediaDeletions, onMediaPublished, onShasUpdated, onPublishComplete, getBaseVersion, recoverConflict, onBaselineCommitted, onSaveWarnings, saveChunkBudget, savingRef, getEditGeneration, }: PublishDeps): {
|
|
90
|
+
export declare function useEditorPublish({ flushNow, cancelPendingFlush, isConfigDirty, clearConfigDirty, siteIndexRef, siteConfig, sections, deletedSectionIds, onSuccess, mediaManifest, mediaManifestRef, manifestDirty, clearManifestDirty, pendingMediaItems, pendingMediaDeletions, onMediaPublished, onShasUpdated, onPublishComplete, getBaseVersion, recoverConflict, onBaselineCommitted, onSaveWarnings, saveChunkBudget, savingRef, getEditGeneration, documentManifest, pendingDocuments, pendingDocumentDeletions, onDocumentsPublished, onDocumentsDeleted, }: PublishDeps): {
|
|
74
91
|
publishAction: PublishAction;
|
|
75
92
|
publishFeedback: string | null;
|
|
76
93
|
saveProgress: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditorPublish.d.ts","sourceRoot":"","sources":["../../src/hooks/useEditorPublish.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"useEditorPublish.d.ts","sourceRoot":"","sources":["../../src/hooks/useEditorPublish.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,13 @@ import type { SiteConfig } from "../schemas/site-config";
|
|
|
4
4
|
import type { SectionContent } from "../schemas/sections";
|
|
5
5
|
import type { LoadedSection } from "../lib/loader";
|
|
6
6
|
import type { MediaLibraryContextValue } from "../components/shell/MediaLibraryContext";
|
|
7
|
+
import { type DocumentManifest } from "../schemas/documents";
|
|
7
8
|
interface UseMediaPipelineInput {
|
|
8
9
|
siteConfig: SiteConfig | null;
|
|
9
10
|
mediaManifest: MediaManifest;
|
|
10
11
|
setMediaManifest: React.Dispatch<React.SetStateAction<MediaManifest>>;
|
|
12
|
+
documentManifest: DocumentManifest;
|
|
13
|
+
setDocumentManifest: React.Dispatch<React.SetStateAction<DocumentManifest>>;
|
|
11
14
|
sections: LoadedSection[];
|
|
12
15
|
setSections: React.Dispatch<React.SetStateAction<LoadedSection[]>>;
|
|
13
16
|
setLocalChangesExist: React.Dispatch<React.SetStateAction<boolean>>;
|
|
@@ -17,7 +20,7 @@ interface UseMediaPipelineInput {
|
|
|
17
20
|
onUploadNotice?: (message: string) => void;
|
|
18
21
|
onSiteConfigChange?: (updater: (prev: SiteConfig) => SiteConfig) => void;
|
|
19
22
|
}
|
|
20
|
-
export declare function useMediaPipeline({ siteConfig, mediaManifest, setMediaManifest, sections, setSections, setLocalChangesExist, setDirtySectionIds, markSectionDirty, onUploadError, onUploadNotice, onSiteConfigChange, }: UseMediaPipelineInput): {
|
|
23
|
+
export declare function useMediaPipeline({ siteConfig, mediaManifest, setMediaManifest, documentManifest, setDocumentManifest, sections, setSections, setLocalChangesExist, setDirtySectionIds, markSectionDirty, onUploadError, onUploadNotice, onSiteConfigChange, }: UseMediaPipelineInput): {
|
|
21
24
|
processingItems: QueueItem[];
|
|
22
25
|
pendingMediaItems: {
|
|
23
26
|
id: string;
|
|
@@ -72,6 +75,9 @@ export declare function useMediaPipeline({ siteConfig, mediaManifest, setMediaMa
|
|
|
72
75
|
uploadProgress: Record<string, number>;
|
|
73
76
|
handleMediaUpload: (files: File[], targetFolderId?: string | null) => Promise<void>;
|
|
74
77
|
handleMediaDelete: (ids: string[]) => Promise<void>;
|
|
78
|
+
handleDocumentDelete: (ids: string[]) => Promise<void>;
|
|
79
|
+
pendingDocumentDeletions: string[];
|
|
80
|
+
setPendingDocumentDeletions: import("react").Dispatch<import("react").SetStateAction<string[]>>;
|
|
75
81
|
handleMediaAltChange: (id: string, alt: string) => void;
|
|
76
82
|
handleFolderCreate: (name: string, parentId: string | null) => string;
|
|
77
83
|
handleFolderRename: (id: string, name: string) => void;
|
|
@@ -83,10 +89,17 @@ export declare function useMediaPipeline({ siteConfig, mediaManifest, setMediaMa
|
|
|
83
89
|
relativePath: string;
|
|
84
90
|
}[], currentFolderId: string | null) => Promise<void>;
|
|
85
91
|
referenceCountMap: Record<string, number>;
|
|
92
|
+
documentReferenceCountMap: Record<string, number>;
|
|
86
93
|
contextValue: MediaLibraryContextValue;
|
|
87
94
|
enqueueFile: (file: File, onComplete?: (imageId: string) => void, opts?: {
|
|
88
95
|
hidden?: boolean;
|
|
89
96
|
}) => void;
|
|
97
|
+
pendingDocuments: import("../components/shell/MediaLibraryContext").PendingDocument[];
|
|
98
|
+
pendingDocumentUrls: Record<string, string>;
|
|
99
|
+
documentUploadProgress: Record<string, number>;
|
|
100
|
+
uploadDocument: (file: File, onComplete?: (documentId: string) => void) => Promise<void>;
|
|
101
|
+
publishDocuments: (ids: string[]) => Promise<void>;
|
|
102
|
+
hydratePendingDocuments: () => Promise<void>;
|
|
90
103
|
};
|
|
91
104
|
export {};
|
|
92
105
|
//# sourceMappingURL=useMediaPipeline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMediaPipeline.d.ts","sourceRoot":"","sources":["../../src/hooks/useMediaPipeline.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAiC,MAAM,gBAAgB,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"useMediaPipeline.d.ts","sourceRoot":"","sources":["../../src/hooks/useMediaPipeline.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAiC,MAAM,gBAAgB,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAiBxF,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEnF,UAAU,qBAAqB;IAC7B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC5E,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACnE,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAIvE,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAG1C,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAI3C,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,KAAK,IAAI,CAAC;CAC1E;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAoV8B,IAAI,EAAE,mBAAkB,MAAM,GAAG,IAAI;6BAiEvC,MAAM,EAAE;gCA0DL,MAAM,EAAE;;;+BA+Bf,MAAM,OAAO,MAAM;+BAiBnB,MAAM,YAAY,MAAM,GAAG,IAAI,KAAG,MAAM;6BAW1C,MAAM,QAAQ,MAAM;2BAWtB,MAAM,YAAY,MAAM,GAAG,IAAI;6BA4BvB,MAAM,YAAY,MAAM,GAAG,QAAQ;2BAd3C,MAAM,EAAE,YAAY,MAAM,GAAG,IAAI;kCA4DhE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,mBAC9B,MAAM,GAAG,IAAI;;;;wBA4CO,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,SAAS;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;;;EAqHjH"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DocumentManifestEntry } from "../schemas/documents";
|
|
2
|
+
export interface ResolvedDocument {
|
|
3
|
+
entry: DocumentManifestEntry | null;
|
|
4
|
+
/** True only when an id WAS requested and nothing backs it — the editor-side
|
|
5
|
+
* "file missing" state. No id (unconfigured section) is not missing. */
|
|
6
|
+
missing: boolean;
|
|
7
|
+
}
|
|
8
|
+
/** Document lookup. Deliberately separate from useResolvedMedia: documents are
|
|
9
|
+
* zero-variant and dimensionless, never ride resolveManifestReferences, and
|
|
10
|
+
* live in the sidecar manifest. */
|
|
11
|
+
export declare function useResolvedDocument(documentId: string | undefined): ResolvedDocument;
|
|
12
|
+
//# sourceMappingURL=useResolvedDocument.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResolvedDocument.d.ts","sourceRoot":"","sources":["../../src/hooks/useResolvedDocument.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACpC;6EACyE;IACzE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;oCAEoC;AACpC,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAUpF"}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AUDIENCE_COOKIE,
|
|
3
|
+
AUDIENCE_MAX_AGE_SECONDS,
|
|
4
|
+
LastOwnerError,
|
|
5
|
+
SESSION_COOKIE,
|
|
6
|
+
SESSION_MAX_AGE_SECONDS,
|
|
7
|
+
SessionExpiredError,
|
|
8
|
+
deriveUiCapabilities,
|
|
9
|
+
setSessionCookie,
|
|
10
|
+
signAudienceToken,
|
|
11
|
+
signSessionToken,
|
|
12
|
+
verifyAudienceToken,
|
|
13
|
+
verifySessionToken
|
|
14
|
+
} from "./chunk-EM5DFHDZ.js";
|
|
1
15
|
import {
|
|
2
16
|
ASSET_CACHE_CONTROL,
|
|
17
|
+
DOCUMENT_CACHE_CONTROL,
|
|
3
18
|
IDEMPOTENCY_KEY_RE,
|
|
4
19
|
IDEMPOTENCY_TRAILER,
|
|
5
20
|
IdempotencyLookupUnavailableError,
|
|
6
21
|
StorageConflictError,
|
|
7
22
|
withIdempotencyTrailer
|
|
8
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-3TO4RRHY.js";
|
|
24
|
+
import {
|
|
25
|
+
CollabPeerSchema,
|
|
26
|
+
HEARTBEAT_INTERVAL_MS,
|
|
27
|
+
IndexUpdateMessageSchema,
|
|
28
|
+
LOCK_STALE_MS,
|
|
29
|
+
SavedMessageSchema,
|
|
30
|
+
SectionUpdateMessageSchema,
|
|
31
|
+
TakeoverMessageSchema
|
|
32
|
+
} from "./chunk-REM2NH7K.js";
|
|
9
33
|
import {
|
|
10
34
|
getCollabProvider,
|
|
11
35
|
setCollabProvider
|
|
@@ -31,35 +55,12 @@ import {
|
|
|
31
55
|
sanitizeMediaName,
|
|
32
56
|
setMediaProvider
|
|
33
57
|
} from "./chunk-3COSXTOY.js";
|
|
34
|
-
import {
|
|
35
|
-
AUDIENCE_COOKIE,
|
|
36
|
-
AUDIENCE_MAX_AGE_SECONDS,
|
|
37
|
-
LastOwnerError,
|
|
38
|
-
SESSION_COOKIE,
|
|
39
|
-
SESSION_MAX_AGE_SECONDS,
|
|
40
|
-
SessionExpiredError,
|
|
41
|
-
deriveUiCapabilities,
|
|
42
|
-
setSessionCookie,
|
|
43
|
-
signAudienceToken,
|
|
44
|
-
signSessionToken,
|
|
45
|
-
verifyAudienceToken,
|
|
46
|
-
verifySessionToken
|
|
47
|
-
} from "./chunk-EM5DFHDZ.js";
|
|
48
|
-
import {
|
|
49
|
-
CollabPeerSchema,
|
|
50
|
-
HEARTBEAT_INTERVAL_MS,
|
|
51
|
-
IndexUpdateMessageSchema,
|
|
52
|
-
LOCK_STALE_MS,
|
|
53
|
-
SavedMessageSchema,
|
|
54
|
-
SectionUpdateMessageSchema,
|
|
55
|
-
TakeoverMessageSchema
|
|
56
|
-
} from "./chunk-REM2NH7K.js";
|
|
57
58
|
import {
|
|
58
59
|
AudienceColorSchema,
|
|
59
60
|
AudienceNameSchema,
|
|
60
61
|
MediaGridOptionsSchema,
|
|
61
62
|
slugifyAudienceName
|
|
62
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-ZDQ3TT47.js";
|
|
63
64
|
import {
|
|
64
65
|
AudienceSchema,
|
|
65
66
|
RoleSchema,
|
|
@@ -72,6 +73,18 @@ import {
|
|
|
72
73
|
LinkValueSchema,
|
|
73
74
|
isSafeHref
|
|
74
75
|
} from "./chunk-PZJL2S3Z.js";
|
|
76
|
+
import {
|
|
77
|
+
DOCUMENT_BUCKET_MAX_BYTES,
|
|
78
|
+
DOCUMENT_GIT_MAX_BYTES,
|
|
79
|
+
DOCUMENT_KIND_TO_MIME,
|
|
80
|
+
DOCUMENT_MANIFEST_PATH,
|
|
81
|
+
DOCUMENT_MIME_TO_EXT,
|
|
82
|
+
DocumentManifestEntrySchema,
|
|
83
|
+
DocumentManifestSchema,
|
|
84
|
+
documentBucketPath,
|
|
85
|
+
documentFileUrl,
|
|
86
|
+
documentGitPath
|
|
87
|
+
} from "./chunk-BS5AQHZG.js";
|
|
75
88
|
import {
|
|
76
89
|
DEFAULT_CHATBOT_NAME,
|
|
77
90
|
accentVarValue,
|
|
@@ -93,6 +106,11 @@ import {
|
|
|
93
106
|
suggestAccessibleOn,
|
|
94
107
|
wcagLevel
|
|
95
108
|
} from "./chunk-CZLYECHC.js";
|
|
109
|
+
import {
|
|
110
|
+
isSameOriginRequest,
|
|
111
|
+
requireSessionSecret,
|
|
112
|
+
safeNextPath
|
|
113
|
+
} from "./chunk-S2L3BPLS.js";
|
|
96
114
|
import {
|
|
97
115
|
curatedIcons,
|
|
98
116
|
getIcon
|
|
@@ -113,10 +131,8 @@ import {
|
|
|
113
131
|
cn
|
|
114
132
|
} from "./chunk-7EOSDFS3.js";
|
|
115
133
|
import {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
safeNextPath
|
|
119
|
-
} from "./chunk-S2L3BPLS.js";
|
|
134
|
+
env
|
|
135
|
+
} from "./chunk-WKZ7OENC.js";
|
|
120
136
|
import {
|
|
121
137
|
audiencePasses,
|
|
122
138
|
groupDisplayLabel,
|
|
@@ -170,9 +186,6 @@ import {
|
|
|
170
186
|
} from "./chunk-BGHWUJFV.js";
|
|
171
187
|
import "./chunk-FM4M4Q2W.js";
|
|
172
188
|
import "./chunk-NSCT3AMV.js";
|
|
173
|
-
import {
|
|
174
|
-
env
|
|
175
|
-
} from "./chunk-WKZ7OENC.js";
|
|
176
189
|
import "./chunk-JSBRDJBE.js";
|
|
177
190
|
export {
|
|
178
191
|
ASSET_CACHE_CONTROL,
|
|
@@ -187,6 +200,14 @@ export {
|
|
|
187
200
|
CollabPeerSchema,
|
|
188
201
|
DEFAULT_CHATBOT_NAME,
|
|
189
202
|
DEFAULT_LINK,
|
|
203
|
+
DOCUMENT_BUCKET_MAX_BYTES,
|
|
204
|
+
DOCUMENT_CACHE_CONTROL,
|
|
205
|
+
DOCUMENT_GIT_MAX_BYTES,
|
|
206
|
+
DOCUMENT_KIND_TO_MIME,
|
|
207
|
+
DOCUMENT_MANIFEST_PATH,
|
|
208
|
+
DOCUMENT_MIME_TO_EXT,
|
|
209
|
+
DocumentManifestEntrySchema,
|
|
210
|
+
DocumentManifestSchema,
|
|
190
211
|
EXT_TO_MIME,
|
|
191
212
|
FontNameSchema,
|
|
192
213
|
HEARTBEAT_INTERVAL_MS,
|
|
@@ -248,6 +269,9 @@ export {
|
|
|
248
269
|
displayFilename,
|
|
249
270
|
displayFilenameExt,
|
|
250
271
|
displayName,
|
|
272
|
+
documentBucketPath,
|
|
273
|
+
documentFileUrl,
|
|
274
|
+
documentGitPath,
|
|
251
275
|
editModeEvent,
|
|
252
276
|
ensureSanitizer,
|
|
253
277
|
env,
|
package/dist/lib/dexie.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { SectionContent } from "../schemas/sections";
|
|
|
2
2
|
import type { SiteIndex, SiteConfig } from "../schemas/site-config";
|
|
3
3
|
import type { LoadedSection } from "./loader";
|
|
4
4
|
import type { MediaManifest, MediaItem } from "../media/types";
|
|
5
|
+
import type { DocumentManifest, DocumentManifestEntry } from "../schemas/documents";
|
|
5
6
|
export interface PreservedEditRow {
|
|
6
7
|
id: string;
|
|
7
8
|
sectionId: string;
|
|
@@ -68,6 +69,7 @@ export declare function cacheContent(sha: string, sections: LoadedSection[], ind
|
|
|
68
69
|
savedBranchSha: string | null;
|
|
69
70
|
changedSectionIds: string[];
|
|
70
71
|
mainIndex: SiteIndex | null;
|
|
72
|
+
documentManifest?: DocumentManifest;
|
|
71
73
|
}): Promise<void>;
|
|
72
74
|
export declare function getCachedContent(): Promise<{
|
|
73
75
|
sha: string;
|
|
@@ -77,6 +79,7 @@ export declare function getCachedContent(): Promise<{
|
|
|
77
79
|
savedBranchSha: string | null;
|
|
78
80
|
changedSectionIds: string[];
|
|
79
81
|
mainIndex: SiteIndex | null;
|
|
82
|
+
documentManifest: DocumentManifest;
|
|
80
83
|
} | null>;
|
|
81
84
|
/** Invalidate only the cached content snapshot (e.g. after a publish removes the
|
|
82
85
|
* draft), forcing the next editor load to refetch rather than serve stale diff
|
|
@@ -99,4 +102,14 @@ export declare function clearPendingMediaByIds(itemIds: string[], deletionIds: s
|
|
|
99
102
|
export declare function preserveEdit(sectionId: string, content: SectionContent, reason: "takeover" | "conflict"): Promise<string>;
|
|
100
103
|
export declare function listPreservedEdits(): Promise<PreservedEditRow[]>;
|
|
101
104
|
export declare function removePreservedEdit(id: string): Promise<void>;
|
|
105
|
+
export interface PendingDocumentRecord {
|
|
106
|
+
id: string;
|
|
107
|
+
entry: DocumentManifestEntry;
|
|
108
|
+
blob: Blob | null;
|
|
109
|
+
localUrl: string;
|
|
110
|
+
}
|
|
111
|
+
export declare function addPendingDocument(record: PendingDocumentRecord): Promise<void>;
|
|
112
|
+
export declare function getPendingDocuments(): Promise<PendingDocumentRecord[]>;
|
|
113
|
+
export declare function getPendingDocumentBlob(id: string): Promise<Blob | null>;
|
|
114
|
+
export declare function clearPendingDocumentsByIds(ids: string[]): Promise<void>;
|
|
102
115
|
//# sourceMappingURL=dexie.d.ts.map
|
package/dist/lib/dexie.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dexie.d.ts","sourceRoot":"","sources":["../../src/lib/dexie.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAe,UAAU,EAAQ,MAAM,wBAAwB,CAAC;AAEvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"dexie.d.ts","sourceRoot":"","sources":["../../src/lib/dexie.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAe,UAAU,EAAQ,MAAM,wBAAwB,CAAC;AAEvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAmFpF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AA4ID,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAcxF;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IACnD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC,CAsBD;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAUzD;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,eAAe,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBtG;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAQzE;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAQxD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAC/C;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,EAAE,CACjD,CAGA;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAClD;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,CACpE,CAGA;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpE;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,GACxD,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,EAAE,EAC1D,SAAS,CAAC,EAAE,SAAS,EACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAC5B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAsDf;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUrG;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC,CAIzG;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAG5D;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,aAAa,EAAE,EACzB,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,IAAI,CAAC,EAAE;IAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CAAE,GACtI,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,GAAG,IAAI,CAAC,CAkBR;AAED;;oFAEoF;AACpF,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEvD;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjF;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAGtE;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,SAAS,EACf,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACtC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAM,GAC/B,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAGjE;AAED,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAGjG;AAED,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAG3F;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE;AAED,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvE;AAED,wBAAsB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1E;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGlE;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMvD;AAMD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;uEACuE;AACvE,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,UAAU,GAAG,UAAU,GAC9B,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAEtE;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,qBAAqB,CAAC;IAC7B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAErF;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAG5E;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAG7E;AAED,wBAAsB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7E"}
|