@drawnagency/primitives 0.1.99 → 0.1.100
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-KP4DWTPR.js → chunk-72FMQQIA.js} +246 -3
- package/dist/chunk-BS5AQHZG.js +45 -0
- package/dist/{chunk-HKHEAH5F.js → chunk-GOCFTXR3.js} +8 -60
- package/dist/{chunk-GYCBWGVW.js → chunk-LBHQWIVL.js} +79 -24
- 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 +33 -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/sections/Document/index.d.ts +18 -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 +18 -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 +11 -0
- package/dist/lib/dexie.d.ts.map +1 -1
- package/dist/lib/dexie.js +32 -0
- 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 +47 -0
- 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 +129 -0
- package/src/components/docfile/doc-file-state.ts +180 -0
- package/src/components/editor/SettingsForm.tsx +10 -0
- package/src/components/sections/Document/index.tsx +163 -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 +111 -7
- 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 +18 -1
- package/src/components/shell/MediaLibraryModal.tsx +223 -45
- package/src/hooks/useDocumentUploads.ts +330 -0
- package/src/hooks/useEditorPublish.ts +180 -8
- package/src/hooks/useMediaPipeline.ts +136 -5
- package/src/hooks/useResolvedDocument.ts +25 -0
- package/src/lib/dexie.ts +54 -0
- 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 +46 -0
- /package/dist/{chunk-FOY5TF7D.js → chunk-ZDQ3TT47.js} +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SiteDocument } from "../../lib/documents";
|
|
2
|
+
/**
|
|
3
|
+
* One mount per page, rendered into the Layout `chrome` slot (OUTSIDE <main>:
|
|
4
|
+
* the chat dock's band-shift transform would re-anchor a position:fixed
|
|
5
|
+
* descendant). `documents` is the requester-filtered SSR list — on /edit it is
|
|
6
|
+
* initial state only; EditorShell republishes the live draft list.
|
|
7
|
+
*/
|
|
8
|
+
export default function DocFileOverlay({ documents, editor, }: {
|
|
9
|
+
documents: SiteDocument[];
|
|
10
|
+
editor?: boolean;
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
12
|
+
//# sourceMappingURL=DocFileOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocFileOverlay.d.ts","sourceRoot":"","sources":["../../../src/components/docfile/DocFileOverlay.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAYxD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,SAAS,EACT,MAAc,GACf,EAAE;IAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,kDA+BjD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SiteDocument } from "../../lib/documents";
|
|
2
|
+
/**
|
|
3
|
+
* The solid stage: an opaque, flat, bordered pane between the nav edge and the
|
|
4
|
+
* chat edge. Geometry lives in base.css (.doc-file-pane) because it is calc()
|
|
5
|
+
* against doc mode's own 120rem stage band — the band the nav and chat are
|
|
6
|
+
* pinned to under html.bp-doc-open (NOT the page's 80rem --layout-max-width
|
|
7
|
+
* band, which doc mode never touches). z-30 — above unpositioned page content,
|
|
8
|
+
* BELOW the nav and docked chat (z-40) and the mobile nav header / chat sheet
|
|
9
|
+
* (z-50), so all chrome stays reachable. `editor` adds top clearance for the
|
|
10
|
+
* edit route's always-fixed h-16 toolbar.
|
|
11
|
+
*/
|
|
12
|
+
export default function DocFilePane({ doc, onClose, editor, }: {
|
|
13
|
+
doc: SiteDocument;
|
|
14
|
+
onClose: () => void;
|
|
15
|
+
editor?: boolean;
|
|
16
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
//# sourceMappingURL=DocFilePane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocFilePane.d.ts","sourceRoot":"","sources":["../../../src/components/docfile/DocFilePane.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOxD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,GAAG,EACH,OAAO,EACP,MAAc,GACf,EAAE;IAAE,GAAG,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,2CAyG9D"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { SiteDocument } from "../../lib/documents";
|
|
2
|
+
/** Toggled on <html> while a document is open (the chat's class mechanism). */
|
|
3
|
+
export declare const DOC_OPEN_CLASS = "bp-doc-open";
|
|
4
|
+
/** The one breakpoint the doc feature keys off: at or above it the overlay
|
|
5
|
+
* gets the desktop stage; below it a PDF goes to the OS viewer instead (iOS
|
|
6
|
+
* Safari cannot scroll an iframed PDF, Android Chrome forces a download).
|
|
7
|
+
* 1024px — the SAME breakpoint as U5's desktop CSS block and the width where
|
|
8
|
+
* the nav sidebar exists at all. Deliberately NOT the chat's 768px dock query:
|
|
9
|
+
* keying JS at 768 while the pane's desktop rules start at 1024 would give
|
|
10
|
+
* 768–1023px viewers framed PDFs inside the mobile pane geometry, under a
|
|
11
|
+
* docked chat. */
|
|
12
|
+
export declare const DOC_DESKTOP_QUERY = "(min-width: 1024px)";
|
|
13
|
+
/** Cross-island open request. Islands that would rather not import this module
|
|
14
|
+
* can dispatch it instead; applying an already-current value is a no-op, so
|
|
15
|
+
* the dispatch-listen pair cannot loop. */
|
|
16
|
+
export declare const docFileOpenEvent: import("../..").TypedEvent<{
|
|
17
|
+
sectionId: string | null;
|
|
18
|
+
}>;
|
|
19
|
+
export declare function isDocDesktop(): boolean;
|
|
20
|
+
export declare function openDocFile(sectionId: string): void;
|
|
21
|
+
export declare function closeDocFile(): void;
|
|
22
|
+
export declare function getOpenDocFile(): string | null;
|
|
23
|
+
export declare function subscribeDocFile(cb: (sectionId: string | null) => void): () => void;
|
|
24
|
+
/** Authoritative publish — the editor's live draft list. */
|
|
25
|
+
export declare function setSiteDocuments(docs: SiteDocument[]): void;
|
|
26
|
+
/** First-writer-wins publish for the SSR-derived list, so an island that mounts
|
|
27
|
+
* after the editor has already published cannot clobber the live list. */
|
|
28
|
+
export declare function seedSiteDocuments(docs: SiteDocument[]): void;
|
|
29
|
+
export declare function getSiteDocuments(): SiteDocument[] | null;
|
|
30
|
+
export declare function subscribeSiteDocuments(cb: (docs: SiteDocument[] | null) => void): () => void;
|
|
31
|
+
/** Test-only: drop the store and any window wiring (mirrors clearRegistry). */
|
|
32
|
+
export declare function resetDocFileState(): void;
|
|
33
|
+
//# sourceMappingURL=doc-file-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-file-state.d.ts","sourceRoot":"","sources":["../../../src/components/docfile/doc-file-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,+EAA+E;AAC/E,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAE5C;;;;;;;mBAOmB;AACnB,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAEvD;;4CAE4C;AAC5C,eAAO,MAAM,gBAAgB;eAA4B,MAAM,GAAG,IAAI;EAAuB,CAAC;AA2B9F,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAmCD,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAWnD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAUnC;AAED,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,CAkCnF;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAI3D;AAED;2EAC2E;AAC3E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAG5D;AAED,wBAAgB,gBAAgB,IAAI,YAAY,EAAE,GAAG,IAAI,CAExD;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,CAI5F;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsForm.d.ts","sourceRoot":"","sources":["../../../src/components/editor/SettingsForm.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsForm.d.ts","sourceRoot":"","sources":["../../../src/components/editor/SettingsForm.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,oBAAoB,CAAC;AAa3E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;CAC9C;AAuKD,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,iBAAiB,2CA8BjF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare function DocumentRow({ sectionId, title, isEditMode, }: {
|
|
2
|
+
sectionId: string;
|
|
3
|
+
title: string;
|
|
4
|
+
isEditMode: boolean;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
+
declare const _default: import("../../..").SectionDefinition<{
|
|
7
|
+
type: "document";
|
|
8
|
+
content: {
|
|
9
|
+
title: string;
|
|
10
|
+
doc: {
|
|
11
|
+
documentId: string;
|
|
12
|
+
};
|
|
13
|
+
showInDocumentsNav: boolean;
|
|
14
|
+
};
|
|
15
|
+
options: Record<string, never>;
|
|
16
|
+
}>;
|
|
17
|
+
export default _default;
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/Document/index.tsx"],"names":[],"mappings":"AAqDA,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,UAAU,GACX,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACrB,kDAsDA;;;;;;;;;;;;AAED,wBA6CG"}
|
|
@@ -203,5 +203,15 @@ export declare const allSectionDefs: (import("../..").SectionDefinition<{
|
|
|
203
203
|
border?: boolean | undefined;
|
|
204
204
|
objectFit?: "cover" | "contain" | undefined;
|
|
205
205
|
};
|
|
206
|
+
}> | import("../..").SectionDefinition<{
|
|
207
|
+
type: "document";
|
|
208
|
+
content: {
|
|
209
|
+
title: string;
|
|
210
|
+
doc: {
|
|
211
|
+
documentId: string;
|
|
212
|
+
};
|
|
213
|
+
showInDocumentsNav: boolean;
|
|
214
|
+
};
|
|
215
|
+
options: Record<string, never>;
|
|
206
216
|
}>)[];
|
|
207
217
|
//# sourceMappingURL=all-sections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-sections.d.ts","sourceRoot":"","sources":["../../../src/components/sections/all-sections.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"all-sections.d.ts","sourceRoot":"","sources":["../../../src/components/sections/all-sections.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAiD,CAAC"}
|
|
@@ -79,6 +79,16 @@ export declare const brandGuideSectionDefs: (import("../..").SectionDefinition<{
|
|
|
79
79
|
border?: boolean | undefined;
|
|
80
80
|
objectFit?: "cover" | "contain" | undefined;
|
|
81
81
|
};
|
|
82
|
+
}> | import("../..").SectionDefinition<{
|
|
83
|
+
type: "document";
|
|
84
|
+
content: {
|
|
85
|
+
title: string;
|
|
86
|
+
doc: {
|
|
87
|
+
documentId: string;
|
|
88
|
+
};
|
|
89
|
+
showInDocumentsNav: boolean;
|
|
90
|
+
};
|
|
91
|
+
options: Record<string, never>;
|
|
82
92
|
}>)[];
|
|
83
93
|
export { ColorSpaceSchema, ColorItemSchema } from "./Colors/schema";
|
|
84
94
|
export type { ColorSpace, ColorItem } from "./Colors/schema";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand-guide.d.ts","sourceRoot":"","sources":["../../../src/components/sections/brand-guide.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"brand-guide.d.ts","sourceRoot":"","sources":["../../../src/components/sections/brand-guide.ts"],"names":[],"mappings":"AAKA;;;iEAGiE;AAEjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAmD,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACpE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -2,13 +2,15 @@ import {
|
|
|
2
2
|
ColorItemSchema,
|
|
3
3
|
ColorSpaceSchema,
|
|
4
4
|
brandGuideSectionDefs
|
|
5
|
-
} from "../../chunk-
|
|
5
|
+
} from "../../chunk-72FMQQIA.js";
|
|
6
6
|
import "../../chunk-5THS4K5D.js";
|
|
7
7
|
import "../../chunk-MUTHF2GT.js";
|
|
8
8
|
import "../../chunk-26ALJO4K.js";
|
|
9
9
|
import "../../chunk-3COSXTOY.js";
|
|
10
10
|
import "../../chunk-PZJL2S3Z.js";
|
|
11
|
+
import "../../chunk-BS5AQHZG.js";
|
|
11
12
|
import "../../chunk-WDSVHKAH.js";
|
|
13
|
+
import "../../chunk-PTOLUMGV.js";
|
|
12
14
|
import "../../chunk-7EOSDFS3.js";
|
|
13
15
|
import "../../chunk-TGNS7D4F.js";
|
|
14
16
|
import "../../chunk-VKAGMEKE.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
allSectionDefs
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-GOCFTXR3.js";
|
|
4
|
+
import "../../chunk-72FMQQIA.js";
|
|
5
|
+
import "../../chunk-LBHQWIVL.js";
|
|
6
6
|
import "../../chunk-5THS4K5D.js";
|
|
7
7
|
import "../../chunk-EWNDBKYK.js";
|
|
8
8
|
import "../../chunk-MUTHF2GT.js";
|
|
@@ -11,7 +11,9 @@ import "../../chunk-26ALJO4K.js";
|
|
|
11
11
|
import "../../chunk-Y4JQGO6G.js";
|
|
12
12
|
import "../../chunk-3COSXTOY.js";
|
|
13
13
|
import "../../chunk-PZJL2S3Z.js";
|
|
14
|
+
import "../../chunk-BS5AQHZG.js";
|
|
14
15
|
import "../../chunk-WDSVHKAH.js";
|
|
16
|
+
import "../../chunk-PTOLUMGV.js";
|
|
15
17
|
import "../../chunk-72CG6AA2.js";
|
|
16
18
|
import "../../chunk-7EOSDFS3.js";
|
|
17
19
|
import "../../chunk-TGNS7D4F.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
allSectionDefs
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-GOCFTXR3.js";
|
|
4
|
+
import "../../chunk-72FMQQIA.js";
|
|
5
|
+
import "../../chunk-LBHQWIVL.js";
|
|
6
6
|
import "../../chunk-5THS4K5D.js";
|
|
7
7
|
import "../../chunk-EWNDBKYK.js";
|
|
8
8
|
import "../../chunk-MUTHF2GT.js";
|
|
@@ -11,7 +11,9 @@ import "../../chunk-26ALJO4K.js";
|
|
|
11
11
|
import "../../chunk-Y4JQGO6G.js";
|
|
12
12
|
import "../../chunk-3COSXTOY.js";
|
|
13
13
|
import "../../chunk-PZJL2S3Z.js";
|
|
14
|
+
import "../../chunk-BS5AQHZG.js";
|
|
14
15
|
import "../../chunk-WDSVHKAH.js";
|
|
16
|
+
import "../../chunk-PTOLUMGV.js";
|
|
15
17
|
import "../../chunk-72CG6AA2.js";
|
|
16
18
|
import "../../chunk-7EOSDFS3.js";
|
|
17
19
|
import "../../chunk-TGNS7D4F.js";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface DocumentRef {
|
|
2
|
+
documentId: string;
|
|
3
|
+
}
|
|
4
|
+
interface Props {
|
|
5
|
+
value: DocumentRef | undefined;
|
|
6
|
+
onChange: (value: DocumentRef) => void;
|
|
7
|
+
}
|
|
8
|
+
/** Picker for the `document` section type. Writes only { documentId } — the
|
|
9
|
+
* filename/size shown here are read back out of the sidecar manifest, never
|
|
10
|
+
* copied into section content. */
|
|
11
|
+
export declare function DocumentSourceField({ value, onChange }: Props): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=DocumentSourceField.d.ts.map
|
|
@@ -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,2CA01DP;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,10 @@ 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[];
|
|
17
34
|
}
|
|
18
35
|
export declare const MediaLibraryContext: import("react").Context<MediaLibraryContextValue | null>;
|
|
19
36
|
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;CACtC;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":"AAEA,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;4BA4IhE,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;;;;;;;EAgHjH"}
|
|
@@ -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"}
|