@drawnagency/primitives 0.1.79 → 0.1.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/dist/{chunk-RWMSDDQM.js → chunk-DKXISNJ2.js} +79 -26
  2. package/dist/{chunk-RSITF24B.js → chunk-EVNEMJZ6.js} +9 -3
  3. package/dist/{chunk-DR22HM44.js → chunk-FDBZZ4AT.js} +1 -1
  4. package/dist/{chunk-QB5Q23G2.js → chunk-FN4NKUZU.js} +1 -1
  5. package/dist/{chunk-EMGLZQCM.js → chunk-MBJUWOM2.js} +1 -1
  6. package/dist/{chunk-FRTJNS5F.js → chunk-P4ZNHZMP.js} +6 -6
  7. package/dist/{chunk-UNUJPLZV.js → chunk-PJOHAWNV.js} +1 -1
  8. package/dist/{chunk-2DDWWTRX.js → chunk-Q6LZOH5M.js} +1 -1
  9. package/dist/chunk-WP5UX4MI.js +63 -0
  10. package/dist/{chunk-3LNKOLZP.js → chunk-YKOLOZB2.js} +1 -1
  11. package/dist/{chunk-4XXLH5CL.js → chunk-ZEXR7JYQ.js} +19 -12
  12. package/dist/components/brandguide/Colors.d.ts +2 -1
  13. package/dist/components/brandguide/Colors.d.ts.map +1 -1
  14. package/dist/components/editor/PagesModal.d.ts +2 -0
  15. package/dist/components/editor/PagesModal.d.ts.map +1 -1
  16. package/dist/components/editor/index.js +6 -5
  17. package/dist/components/primitives/EditableGrid.d.ts +11 -1
  18. package/dist/components/primitives/EditableGrid.d.ts.map +1 -1
  19. package/dist/components/primitives/gridDrop.d.ts +18 -0
  20. package/dist/components/primitives/gridDrop.d.ts.map +1 -0
  21. package/dist/components/primitives/index.js +7 -6
  22. package/dist/components/primitives/useEditableCollection.d.ts +1 -0
  23. package/dist/components/primitives/useEditableCollection.d.ts.map +1 -1
  24. package/dist/components/sections/Colors/index.d.ts.map +1 -1
  25. package/dist/components/sections/brand-guide.js +7 -6
  26. package/dist/components/sections/register-schemas.js +10 -9
  27. package/dist/components/sections/register.js +10 -9
  28. package/dist/components/shell/DocInspector.d.ts +17 -0
  29. package/dist/components/shell/DocInspector.d.ts.map +1 -0
  30. package/dist/components/shell/DocumentEditorOverlay.d.ts +29 -0
  31. package/dist/components/shell/DocumentEditorOverlay.d.ts.map +1 -0
  32. package/dist/components/shell/DocumentPresentOverlay.d.ts +30 -0
  33. package/dist/components/shell/DocumentPresentOverlay.d.ts.map +1 -0
  34. package/dist/components/shell/EditorContext.d.ts +2 -0
  35. package/dist/components/shell/EditorContext.d.ts.map +1 -1
  36. package/dist/components/shell/EditorShell.d.ts +44 -0
  37. package/dist/components/shell/EditorShell.d.ts.map +1 -1
  38. package/dist/components/shell/HistoryToolbar.d.ts +8 -1
  39. package/dist/components/shell/HistoryToolbar.d.ts.map +1 -1
  40. package/dist/document/assets/fonts/albra-grotesk-bold.woff +0 -0
  41. package/dist/document/assets/fonts/albra-grotesk-regular.woff +0 -0
  42. package/dist/document/assets/fonts/kapra-neue-expanded-medium.woff +0 -0
  43. package/dist/document/assets/fonts/kapra-neue-expanded-regular.woff +0 -0
  44. package/dist/document/components/DocCoverPage.d.ts +11 -0
  45. package/dist/document/components/DocCoverPage.d.ts.map +1 -0
  46. package/dist/document/components/DocPage.d.ts +10 -0
  47. package/dist/document/components/DocPage.d.ts.map +1 -0
  48. package/dist/document/components/DocRail.d.ts +27 -0
  49. package/dist/document/components/DocRail.d.ts.map +1 -0
  50. package/dist/document/components/DocSectionPage.d.ts +12 -0
  51. package/dist/document/components/DocSectionPage.d.ts.map +1 -0
  52. package/dist/document/components/DocViewer.d.ts +18 -0
  53. package/dist/document/components/DocViewer.d.ts.map +1 -0
  54. package/dist/document/components/Wordmark.d.ts +4 -0
  55. package/dist/document/components/Wordmark.d.ts.map +1 -0
  56. package/dist/document/components/measure.d.ts +6 -0
  57. package/dist/document/components/measure.d.ts.map +1 -0
  58. package/dist/document/components/useDocPages.d.ts +12 -0
  59. package/dist/document/components/useDocPages.d.ts.map +1 -0
  60. package/dist/document/engine/blocks.d.ts +2 -0
  61. package/dist/document/engine/blocks.d.ts.map +1 -0
  62. package/dist/document/engine/harvest.d.ts +3 -0
  63. package/dist/document/engine/harvest.d.ts.map +1 -0
  64. package/dist/document/engine/masonry.d.ts +25 -0
  65. package/dist/document/engine/masonry.d.ts.map +1 -0
  66. package/dist/document/engine/paginate.d.ts +40 -0
  67. package/dist/document/engine/paginate.d.ts.map +1 -0
  68. package/dist/document/engine/settings.d.ts +70 -0
  69. package/dist/document/engine/settings.d.ts.map +1 -0
  70. package/dist/document/engine/types.d.ts +40 -0
  71. package/dist/document/engine/types.d.ts.map +1 -0
  72. package/dist/document/index.d.ts +13 -0
  73. package/dist/document/index.d.ts.map +1 -0
  74. package/dist/document/index.js +881 -0
  75. package/dist/document/styles/document.css +208 -0
  76. package/dist/index.js +29 -28
  77. package/dist/lib/document-input.d.ts +25 -0
  78. package/dist/lib/document-input.d.ts.map +1 -0
  79. package/dist/lib/index.js +10 -9
  80. package/dist/lib/pages.d.ts +2 -0
  81. package/dist/lib/pages.d.ts.map +1 -1
  82. package/dist/lib/registry.d.ts +3 -0
  83. package/dist/lib/registry.d.ts.map +1 -1
  84. package/dist/media/index.js +4 -3
  85. package/dist/schemas/index.js +3 -2
  86. package/dist/schemas/site-config.d.ts +223 -1
  87. package/dist/schemas/site-config.d.ts.map +1 -1
  88. package/package.json +5 -1
  89. package/src/components/brandguide/Colors.tsx +15 -5
  90. package/src/components/editor/PagesModal.tsx +16 -2
  91. package/src/components/primitives/EditableGrid.tsx +86 -24
  92. package/src/components/primitives/gridDrop.ts +26 -0
  93. package/src/components/primitives/useEditableCollection.ts +16 -1
  94. package/src/components/sections/Colors/index.tsx +2 -1
  95. package/src/components/shell/DocInspector.tsx +278 -0
  96. package/src/components/shell/DocumentEditorOverlay.tsx +169 -0
  97. package/src/components/shell/DocumentPresentOverlay.tsx +87 -0
  98. package/src/components/shell/EditorContext.tsx +6 -1
  99. package/src/components/shell/EditorShell.tsx +171 -10
  100. package/src/components/shell/HistoryToolbar.tsx +24 -2
  101. package/src/document/assets/fonts/albra-grotesk-bold.woff +0 -0
  102. package/src/document/assets/fonts/albra-grotesk-regular.woff +0 -0
  103. package/src/document/assets/fonts/kapra-neue-expanded-medium.woff +0 -0
  104. package/src/document/assets/fonts/kapra-neue-expanded-regular.woff +0 -0
  105. package/src/document/components/DocCoverPage.tsx +45 -0
  106. package/src/document/components/DocPage.tsx +40 -0
  107. package/src/document/components/DocRail.tsx +160 -0
  108. package/src/document/components/DocSectionPage.tsx +45 -0
  109. package/src/document/components/DocViewer.tsx +285 -0
  110. package/src/document/components/Wordmark.tsx +18 -0
  111. package/src/document/components/measure.tsx +105 -0
  112. package/src/document/components/useDocPages.ts +67 -0
  113. package/src/document/engine/blocks.ts +87 -0
  114. package/src/document/engine/harvest.ts +80 -0
  115. package/src/document/engine/masonry.ts +89 -0
  116. package/src/document/engine/paginate.ts +209 -0
  117. package/src/document/engine/settings.ts +77 -0
  118. package/src/document/engine/types.ts +54 -0
  119. package/src/document/index.ts +18 -0
  120. package/src/document/styles/document.css +208 -0
  121. package/src/lib/document-input.ts +57 -0
  122. package/src/lib/pages.ts +22 -0
  123. package/src/lib/registry.ts +3 -0
  124. package/src/schemas/site-config.ts +22 -7
  125. /package/dist/{chunk-4YEOTFVU.js → chunk-YBVK254P.js} +0 -0
@@ -2,7 +2,7 @@ import {
2
2
  EditableRichText,
3
3
  LinkPopover,
4
4
  defineHeadingSection
5
- } from "../../chunk-DR22HM44.js";
5
+ } from "../../chunk-FDBZZ4AT.js";
6
6
  import {
7
7
  EditableGrid,
8
8
  EditablePlainText,
@@ -10,21 +10,22 @@ import {
10
10
  MediaBlock,
11
11
  ResolvedMedia,
12
12
  useEditableCollection
13
- } from "../../chunk-RWMSDDQM.js";
13
+ } from "../../chunk-DKXISNJ2.js";
14
14
  import "../../chunk-ZSPCE6MZ.js";
15
15
  import {
16
16
  DeleteIcon,
17
17
  DragHandle,
18
18
  IconButton
19
- } from "../../chunk-EMGLZQCM.js";
20
- import "../../chunk-3LNKOLZP.js";
19
+ } from "../../chunk-MBJUWOM2.js";
20
+ import "../../chunk-YKOLOZB2.js";
21
21
  import "../../chunk-53DKVAB6.js";
22
22
  import {
23
23
  cn
24
24
  } from "../../chunk-7EOSDFS3.js";
25
- import "../../chunk-4YEOTFVU.js";
26
- import "../../chunk-RSITF24B.js";
25
+ import "../../chunk-YBVK254P.js";
26
+ import "../../chunk-EVNEMJZ6.js";
27
27
  import "../../chunk-VKAGMEKE.js";
28
+ import "../../chunk-WP5UX4MI.js";
28
29
  import "../../chunk-JSBRDJBE.js";
29
30
 
30
31
  // src/components/primitives/EditableList.tsx
@@ -12,6 +12,7 @@ interface UseEditableCollectionReturn<T> {
12
12
  onReorder: (fromIndex: number, toIndex: number) => void;
13
13
  onAdd: () => void;
14
14
  onInsert: (index: number) => void;
15
+ onInsertItem: (index: number, data: T) => void;
15
16
  onRemove: (id: string) => void;
16
17
  }
17
18
  export declare function useEditableCollection<T>({ items, onChange, createItem, }: UseEditableCollectionOptions<T>): UseEditableCollectionReturn<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"useEditableCollection.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/useEditableCollection.ts"],"names":[],"mappings":"AAEA,UAAU,WAAW,CAAC,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,CAAC,CAAC;CACT;AAED,UAAU,4BAA4B,CAAC,CAAC;IACtC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC,CAAC;CACrB;AAED,UAAU,2BAA2B,CAAC,CAAC;IACrC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAaD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,EACvC,KAAK,EACL,QAAQ,EACR,UAAU,GACX,EAAE,4BAA4B,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAmElE"}
1
+ {"version":3,"file":"useEditableCollection.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/useEditableCollection.ts"],"names":[],"mappings":"AAEA,UAAU,WAAW,CAAC,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,CAAC,CAAC;CACT;AAED,UAAU,4BAA4B,CAAC,CAAC;IACtC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC,CAAC;CACrB;AAED,UAAU,2BAA2B,CAAC,CAAC;IACrC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/C,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAaD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,EACvC,KAAK,EACL,QAAQ,EACR,UAAU,GACX,EAAE,4BAA4B,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAiFlE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/Colors/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAwBA,wBAqCG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/Colors/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAwBA,wBAsCG"}
@@ -2,17 +2,18 @@ import {
2
2
  ColorItemSchema,
3
3
  ColorSpaceSchema,
4
4
  brandGuideSectionDefs
5
- } from "../../chunk-4XXLH5CL.js";
5
+ } from "../../chunk-ZEXR7JYQ.js";
6
6
  import "../../chunk-5THS4K5D.js";
7
- import "../../chunk-RWMSDDQM.js";
8
- import "../../chunk-EMGLZQCM.js";
9
- import "../../chunk-3LNKOLZP.js";
7
+ import "../../chunk-DKXISNJ2.js";
8
+ import "../../chunk-MBJUWOM2.js";
9
+ import "../../chunk-YKOLOZB2.js";
10
10
  import "../../chunk-PZJL2S3Z.js";
11
11
  import "../../chunk-WDSVHKAH.js";
12
12
  import "../../chunk-7EOSDFS3.js";
13
- import "../../chunk-4YEOTFVU.js";
14
- import "../../chunk-RSITF24B.js";
13
+ import "../../chunk-YBVK254P.js";
14
+ import "../../chunk-EVNEMJZ6.js";
15
15
  import "../../chunk-VKAGMEKE.js";
16
+ import "../../chunk-WP5UX4MI.js";
16
17
  import "../../chunk-JSBRDJBE.js";
17
18
  export {
18
19
  ColorItemSchema,
@@ -1,26 +1,27 @@
1
1
  import {
2
2
  allSectionDefs
3
- } from "../../chunk-FRTJNS5F.js";
4
- import "../../chunk-4XXLH5CL.js";
5
- import "../../chunk-2DDWWTRX.js";
3
+ } from "../../chunk-P4ZNHZMP.js";
4
+ import "../../chunk-ZEXR7JYQ.js";
5
+ import "../../chunk-Q6LZOH5M.js";
6
6
  import "../../chunk-5THS4K5D.js";
7
- import "../../chunk-DR22HM44.js";
8
- import "../../chunk-RWMSDDQM.js";
7
+ import "../../chunk-FDBZZ4AT.js";
8
+ import "../../chunk-DKXISNJ2.js";
9
9
  import "../../chunk-ZSPCE6MZ.js";
10
- import "../../chunk-EMGLZQCM.js";
10
+ import "../../chunk-MBJUWOM2.js";
11
11
  import "../../chunk-Y4JQGO6G.js";
12
- import "../../chunk-3LNKOLZP.js";
12
+ import "../../chunk-YKOLOZB2.js";
13
13
  import "../../chunk-PZJL2S3Z.js";
14
14
  import "../../chunk-WDSVHKAH.js";
15
15
  import "../../chunk-53DKVAB6.js";
16
16
  import "../../chunk-7EOSDFS3.js";
17
- import "../../chunk-4YEOTFVU.js";
17
+ import "../../chunk-YBVK254P.js";
18
18
  import "../../chunk-TZQPOR5A.js";
19
- import "../../chunk-RSITF24B.js";
19
+ import "../../chunk-EVNEMJZ6.js";
20
20
  import {
21
21
  registerRichText,
22
22
  registerSchema
23
23
  } from "../../chunk-VKAGMEKE.js";
24
+ import "../../chunk-WP5UX4MI.js";
24
25
  import "../../chunk-NSCT3AMV.js";
25
26
  import "../../chunk-JSBRDJBE.js";
26
27
 
@@ -1,25 +1,26 @@
1
1
  import {
2
2
  allSectionDefs
3
- } from "../../chunk-FRTJNS5F.js";
4
- import "../../chunk-4XXLH5CL.js";
5
- import "../../chunk-2DDWWTRX.js";
3
+ } from "../../chunk-P4ZNHZMP.js";
4
+ import "../../chunk-ZEXR7JYQ.js";
5
+ import "../../chunk-Q6LZOH5M.js";
6
6
  import "../../chunk-5THS4K5D.js";
7
- import "../../chunk-DR22HM44.js";
8
- import "../../chunk-RWMSDDQM.js";
7
+ import "../../chunk-FDBZZ4AT.js";
8
+ import "../../chunk-DKXISNJ2.js";
9
9
  import "../../chunk-ZSPCE6MZ.js";
10
- import "../../chunk-EMGLZQCM.js";
10
+ import "../../chunk-MBJUWOM2.js";
11
11
  import "../../chunk-Y4JQGO6G.js";
12
- import "../../chunk-3LNKOLZP.js";
12
+ import "../../chunk-YKOLOZB2.js";
13
13
  import "../../chunk-PZJL2S3Z.js";
14
14
  import "../../chunk-WDSVHKAH.js";
15
15
  import "../../chunk-53DKVAB6.js";
16
16
  import "../../chunk-7EOSDFS3.js";
17
- import "../../chunk-4YEOTFVU.js";
17
+ import "../../chunk-YBVK254P.js";
18
18
  import "../../chunk-TZQPOR5A.js";
19
- import "../../chunk-RSITF24B.js";
19
+ import "../../chunk-EVNEMJZ6.js";
20
20
  import {
21
21
  registerSection
22
22
  } from "../../chunk-VKAGMEKE.js";
23
+ import "../../chunk-WP5UX4MI.js";
23
24
  import "../../chunk-NSCT3AMV.js";
24
25
  import "../../chunk-JSBRDJBE.js";
25
26
 
@@ -0,0 +1,17 @@
1
+ import { type DocumentOptions } from "../../document";
2
+ export interface DocInspectorProps {
3
+ document: DocumentOptions;
4
+ selection: {
5
+ kind: "cover";
6
+ } | {
7
+ kind: "chunk";
8
+ chunkId: string;
9
+ title: string;
10
+ };
11
+ warnings: string[];
12
+ onUpdateCover: (patch: Partial<DocumentOptions["cover"]>) => void;
13
+ onUpdateMeta: (patch: Partial<DocumentOptions["meta"]>) => void;
14
+ onUpdateSection: (chunkId: string, patch: Record<string, unknown>) => void;
15
+ }
16
+ export declare function DocInspector({ document: doc, selection, warnings, onUpdateCover, onUpdateMeta, onUpdateSection, }: DocInspectorProps): import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=DocInspector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocInspector.d.ts","sourceRoot":"","sources":["../../../src/components/shell/DocInspector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAqBnE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACjF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC;IAClE,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;IAEhE,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC5E;AAwCD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EAAE,GAAG,EACb,SAAS,EACT,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,eAAe,GAChB,EAAE,iBAAiB,2CAiBnB"}
@@ -0,0 +1,29 @@
1
+ import type { Page } from "../../schemas/site-config";
2
+ import type { MediaManifest } from "../../media/types";
3
+ import type { LoadedSection } from "../../lib/loader";
4
+ import { type DocumentOptions } from "../../document";
5
+ import "../../document/styles/document.css";
6
+ export interface DocumentEditorOverlayProps {
7
+ /** The active page — its `document` block must be enabled for the FAB to mount. */
8
+ page: Page;
9
+ /**
10
+ * The page's draft sections, in `page.order` order. The overlay drops
11
+ * archived ones itself — /present renders only live sections, so a chunk the
12
+ * published document will never show must not influence the proofed layout.
13
+ */
14
+ sections: LoadedSection[];
15
+ manifest: MediaManifest;
16
+ /** Wired by the shell to `setPageDocument` + the local-changes dirty flag. */
17
+ onUpdateDocument: (patch: Partial<DocumentOptions>) => void;
18
+ onClose: () => void;
19
+ }
20
+ /**
21
+ * Full-viewport editing surface: DocViewer (edit mode, ghosts + selection) on
22
+ * the left, DocInspector (settings for the current selection) on the right.
23
+ *
24
+ * The engine input is rebuilt from the live draft (page + in-memory sections +
25
+ * manifest) on every prop change, so unsaved edits repaginate immediately —
26
+ * the pagination hook's stale-heights guard absorbs the shape changes.
27
+ */
28
+ export declare function DocumentEditorOverlay({ page, sections, manifest, onUpdateDocument, onClose, }: DocumentEditorOverlayProps): import("react/jsx-runtime").JSX.Element;
29
+ //# sourceMappingURL=DocumentEditorOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentEditorOverlay.d.ts","sourceRoot":"","sources":["../../../src/components/shell/DocumentEditorOverlay.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAOL,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,oCAAoC,CAAC;AAE5C,MAAM,WAAW,0BAA0B;IACzC,mFAAmF;IACnF,IAAI,EAAE,IAAI,CAAC;IACX;;;;OAIG;IACH,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,8EAA8E;IAC9E,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAC5D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,OAAO,GACR,EAAE,0BAA0B,2CAsH5B"}
@@ -0,0 +1,30 @@
1
+ import type { Page } from "../../schemas/site-config";
2
+ import type { MediaManifest } from "../../media/types";
3
+ import type { LoadedSection } from "../../lib/loader";
4
+ import "../../document/styles/document.css";
5
+ export interface DocumentPresentOverlayProps {
6
+ /** The active page — its `document` block supplies cover/meta/section settings. */
7
+ page: Page;
8
+ /**
9
+ * The sections currently on the canvas (already page-ordered and filtered to
10
+ * the branch being previewed). The shell derives these from the same
11
+ * `computeDisplaySections` call the history/branch canvas renders.
12
+ */
13
+ sections: LoadedSection[];
14
+ manifest: MediaManifest;
15
+ onClose: () => void;
16
+ }
17
+ /**
18
+ * Read-only, full-viewport document PRESENTATION of the content currently being
19
+ * viewed — used when the shell is previewing a non-draft version (the published
20
+ * branch). It is `DocViewer` in `present` mode: no inspector, no update path.
21
+ *
22
+ * Product decision (Drew): history/branch views are the record — we present them
23
+ * but never open the editor over them. Document SETTINGS come from the current
24
+ * draft's `page.document`; the previewed branch's own document index is not
25
+ * carried in the shell's `viewSections`, so cover/meta/exclusions here reflect
26
+ * the draft, not the historical commit. This is an accepted approximation: we
27
+ * are rendering historical *content* with the draft's presentation settings.
28
+ */
29
+ export declare function DocumentPresentOverlay({ page, sections, manifest, onClose, }: DocumentPresentOverlayProps): import("react/jsx-runtime").JSX.Element;
30
+ //# sourceMappingURL=DocumentPresentOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentPresentOverlay.d.ts","sourceRoot":"","sources":["../../../src/components/shell/DocumentPresentOverlay.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,OAAO,oCAAoC,CAAC;AAE5C,MAAM,WAAW,2BAA2B;IAC1C,mFAAmF;IACnF,IAAI,EAAE,IAAI,CAAC;IACX;;;;OAIG;IACH,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,EAAE,2BAA2B,2CA6C7B"}
@@ -13,10 +13,12 @@ interface EditorContextValue {
13
13
  showAllChrome: boolean;
14
14
  viewBranch: "saved" | "live";
15
15
  historyState: HistoryState;
16
+ historyPageId: string | null;
16
17
  toggleEditMode: () => void;
17
18
  toggleShowAllChrome: () => void;
18
19
  setViewBranch: (branch: "saved" | "live") => void;
19
20
  setHistoryState: (state: HistoryState) => void;
21
+ setHistoryPageId: (pageId: string | null) => void;
20
22
  }
21
23
  interface EditorProviderProps {
22
24
  children: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"EditorContext.d.ts","sourceRoot":"","sources":["../../../src/components/shell/EditorContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;CACxB,GAAG,IAAI,CAAC;AAET,UAAU,kBAAkB;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IAClD,eAAe,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CAChD;AAID,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,mBAAmB,2CAyB/D;AAED,wBAAgB,gBAAgB,IAAI,kBAAkB,CAMrD"}
1
+ {"version":3,"file":"EditorContext.d.ts","sourceRoot":"","sources":["../../../src/components/shell/EditorContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;CACxB,GAAG,IAAI,CAAC;AAET,UAAU,kBAAkB;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IAClD,eAAe,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/C,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACnD;AAID,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,mBAAmB,2CA4B/D;AAED,wBAAgB,gBAAgB,IAAI,kBAAkB,CAMrD"}
@@ -1,4 +1,5 @@
1
1
  import type { Audience } from "../../auth/types";
2
+ import { type HistoryState } from "./EditorContext";
2
3
  import type { CollabBootstrap } from "../../collab/types";
3
4
  export { useMediaLibrary } from "./MediaLibraryContext";
4
5
  interface Props {
@@ -22,4 +23,47 @@ interface Props {
22
23
  collabBootstrap?: CollabBootstrap | null;
23
24
  }
24
25
  export default function EditorShell({ headSha, draftHeadSha, siteId, audiences: initialAudiences, capabilities, currentUser, chatbotPlatformEnabled, collabBootstrap, }: Props): import("react/jsx-runtime").JSX.Element;
26
+ /** Resolve which historical page to show: explicit selection → the page the
27
+ * editor is currently on (if it existed at that version) → home → first. */
28
+ export declare function resolveHistoryPage(historyState: NonNullable<HistoryState>, historyPageId: string | null, preferredPageId: string | null): {
29
+ id: string;
30
+ title: string;
31
+ slug: string;
32
+ isHome: boolean;
33
+ showInNav: boolean;
34
+ status: "live" | "archived";
35
+ access: string[];
36
+ order: string[];
37
+ document?: {
38
+ enabled: boolean;
39
+ meta: {
40
+ client: string;
41
+ project: string;
42
+ dateLabel: string;
43
+ };
44
+ cover: {
45
+ bgColor: string;
46
+ accentColor: string;
47
+ title: string;
48
+ label: string;
49
+ date: string;
50
+ imageId: string | null;
51
+ };
52
+ sections: Record<string, {
53
+ excluded: boolean;
54
+ textPlacement: "top" | "leftColumn";
55
+ imagePlacement: "fullWidth" | "right";
56
+ dropTextOverflow: boolean;
57
+ imageLayout: {
58
+ mode: "grid";
59
+ rows: 2 | 1 | 3;
60
+ columns: 2 | 4 | 3;
61
+ } | {
62
+ mode: "masonry";
63
+ flow: "rows" | "columns";
64
+ columns: 2 | 4 | 3 | 5 | 6;
65
+ };
66
+ }>;
67
+ } | undefined;
68
+ };
25
69
  //# sourceMappingURL=EditorShell.d.ts.map
@@ -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;AAkDjD,OAAO,KAAK,EAAE,eAAe,EAA2D,MAAM,oBAAoB,CAAC;AAmCnH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAoBxD,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,2CA68CP"}
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;AASjD,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAwDtF,OAAO,KAAK,EAAE,eAAe,EAA2D,MAAM,oBAAoB,CAAC;AAmCnH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAoBxD,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,2CAqiDP;AAuED;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,8 +1,15 @@
1
+ interface HistoryPageOption {
2
+ id: string;
3
+ title: string;
4
+ }
1
5
  interface HistoryToolbarProps {
2
6
  date: string;
7
+ pages: HistoryPageOption[];
8
+ activePageId: string;
9
+ onPageChange: (pageId: string) => void;
3
10
  onBackToCurrent: () => void;
4
11
  onRestore: () => void;
5
12
  }
6
- export declare function HistoryToolbar({ date, onBackToCurrent, onRestore }: HistoryToolbarProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function HistoryToolbar({ date, pages, activePageId, onPageChange, onBackToCurrent, onRestore }: HistoryToolbarProps): import("react/jsx-runtime").JSX.Element;
7
14
  export {};
8
15
  //# sourceMappingURL=HistoryToolbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HistoryToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/shell/HistoryToolbar.tsx"],"names":[],"mappings":"AAGA,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CAsBvF"}
1
+ {"version":3,"file":"HistoryToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/shell/HistoryToolbar.tsx"],"names":[],"mappings":"AAGA,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CAoC1H"}
@@ -0,0 +1,11 @@
1
+ import type { DocCover } from "../engine/settings";
2
+ import type { DocImage, DocMeta } from "../engine/types";
3
+ import type { DocHost } from "./DocSectionPage";
4
+ export declare function DocCoverPage({ cover, meta, image, host, }: {
5
+ cover: DocCover;
6
+ meta: DocMeta;
7
+ /** Resolved from source.images[cover.imageId] by the caller; null/undefined = solid cover. */
8
+ image?: DocImage | null;
9
+ host?: DocHost;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=DocCoverPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocCoverPage.d.ts","sourceRoot":"","sources":["../../../src/document/components/DocCoverPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAQhD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,KAAK,EACL,IAAI,GACL,EAAE;IACD,KAAK,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,8FAA8F;IAC9F,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,2CAsBA"}
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from "react";
2
+ import type { DocMeta } from "../engine/types";
3
+ export type { DocMeta };
4
+ export declare function DocPage({ meta, bleed, chrome, children, }: {
5
+ meta: DocMeta;
6
+ bleed?: boolean;
7
+ chrome?: boolean;
8
+ children: ReactNode;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=DocPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocPage.d.ts","sourceRoot":"","sources":["../../../src/document/components/DocPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAM/C,YAAY,EAAE,OAAO,EAAE,CAAC;AAExB,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,KAAa,EACb,MAAa,EACb,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;CACrB,2CAoBA"}
@@ -0,0 +1,27 @@
1
+ import type { DerivedPage } from "../engine/paginate";
2
+ import type { DocCover } from "../engine/settings";
3
+ import type { DocImage, DocMeta } from "../engine/types";
4
+ import { type DocHost } from "./DocSectionPage";
5
+ export type RailEntry = {
6
+ kind: "cover";
7
+ } | {
8
+ kind: "page";
9
+ page: DerivedPage;
10
+ } | {
11
+ kind: "ghost";
12
+ chunkId: string;
13
+ title: string;
14
+ reason: "excluded" | "empty";
15
+ };
16
+ export declare function entryId(entry: RailEntry): string;
17
+ export declare function DocRail({ entries, selectedId, meta, cover, coverImage, host, onSelect, onCollapse, }: {
18
+ entries: RailEntry[];
19
+ selectedId: string;
20
+ meta: DocMeta;
21
+ cover: DocCover;
22
+ coverImage?: DocImage | null;
23
+ host: DocHost;
24
+ onSelect: (id: string) => void;
25
+ onCollapse: () => void;
26
+ }): import("react/jsx-runtime").JSX.Element;
27
+ //# sourceMappingURL=DocRail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocRail.d.ts","sourceRoot":"","sources":["../../../src/document/components/DocRail.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAOhE,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAA;CAAE,CAAC;AAEpF,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAIhD;AA4CD,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,UAAU,EACV,IAAI,EACJ,KAAK,EACL,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,UAAU,GACX,EAAE;IACD,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;IAChB,UAAU,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,2CA4EA"}
@@ -0,0 +1,12 @@
1
+ import type { DocImage, DocMeta } from "../engine/types";
2
+ import type { DerivedPage } from "../engine/paginate";
3
+ export interface DocHost {
4
+ imageSrc: (image: DocImage, variant: "preview" | "print") => string;
5
+ variant: "preview" | "print";
6
+ }
7
+ export declare function DocSectionPage({ page, meta, host }: {
8
+ page: DerivedPage;
9
+ meta: DocMeta;
10
+ host: DocHost;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=DocSectionPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocSectionPage.d.ts","sourceRoot":"","sources":["../../../src/document/components/DocSectionPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,KAAK,MAAM,CAAC;IACpE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;CAC9B;AAID,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,2CAiCvG"}
@@ -0,0 +1,18 @@
1
+ import type { DocumentOptions } from "../engine/settings";
2
+ import type { Chunk, DocSourceContent } from "../engine/types";
3
+ import { type DocHost } from "./DocSectionPage";
4
+ export interface DocViewerProps {
5
+ source: DocSourceContent | null;
6
+ document: DocumentOptions;
7
+ host: DocHost;
8
+ mode: "present" | "edit";
9
+ selectedChunkId?: string | null;
10
+ onSelectChunk?: (chunkId: string | null) => void;
11
+ onClose?: () => void;
12
+ onDocState?: (state: {
13
+ chunks: Chunk[];
14
+ warningsByChunk: Record<string, string[]>;
15
+ }) => void;
16
+ }
17
+ export declare function DocViewer({ source, document: doc, host, mode, selectedChunkId, onSelectChunk, onClose, onDocState, }: DocViewerProps): import("react/jsx-runtime").JSX.Element;
18
+ //# sourceMappingURL=DocViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocViewer.d.ts","sourceRoot":"","sources":["../../../src/document/components/DocViewer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,KAAK,EAAY,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGzE,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAOhE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IAEzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAKrB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;CAC9F;AAUD,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,QAAQ,EAAE,GAAG,EACb,IAAI,EACJ,IAAI,EACJ,eAAe,EACf,aAAa,EACb,OAAO,EACP,UAAU,GACX,EAAE,cAAc,2CA8JhB"}
@@ -0,0 +1,4 @@
1
+ export declare function Wordmark({ className }: {
2
+ className?: string;
3
+ }): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=Wordmark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Wordmark.d.ts","sourceRoot":"","sources":["../../../src/document/components/Wordmark.tsx"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAe7D"}
@@ -0,0 +1,6 @@
1
+ import type { SectionSettings } from "../engine/settings";
2
+ import type { Chunk } from "../engine/types";
3
+ export declare function useTextMeasurements(chunks: Chunk[], settingsMap: Record<string, SectionSettings>): {
4
+ heights: Record<string, number[]> | null;
5
+ };
6
+ //# sourceMappingURL=measure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../../../src/document/components/measure.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAa,MAAM,iBAAiB,CAAC;AAmCxD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,KAAK,EAAE,EACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAC3C;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAA;CAAE,CA+D9C"}
@@ -0,0 +1,12 @@
1
+ import { type DerivedPage } from "../engine/paginate";
2
+ import type { Chunk, DocSourceContent } from "../engine/types";
3
+ export declare function useDocPages(input: {
4
+ source: DocSourceContent | null;
5
+ sections: Record<string, unknown>;
6
+ }): {
7
+ chunks: Chunk[];
8
+ pages: DerivedPage[];
9
+ measuring: boolean;
10
+ warningsByChunk: Record<string, string[]>;
11
+ };
12
+ //# sourceMappingURL=useDocPages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocPages.d.ts","sourceRoot":"","sources":["../../../src/document/components/useDocPages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAG/D,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,GAAG;IAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAAE,CAwD3G"}
@@ -0,0 +1,2 @@
1
+ export declare function splitProseBlocks(html: string): string[];
2
+ //# sourceMappingURL=blocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/document/engine/blocks.ts"],"names":[],"mappings":"AAgEA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBvD"}
@@ -0,0 +1,3 @@
1
+ import { type Chunk, type DocImage, type DocSectionInput } from "./types";
2
+ export declare function harvest(sections: DocSectionInput[], pageTitle: string, imagesById: Record<string, DocImage>): Chunk[];
3
+ //# sourceMappingURL=harvest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harvest.d.ts","sourceRoot":"","sources":["../../../src/document/engine/harvest.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,KAAK,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AA0DvF,wBAAgB,OAAO,CACrB,QAAQ,EAAE,eAAe,EAAE,EAC3B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GACnC,KAAK,EAAE,CAgBT"}
@@ -0,0 +1,25 @@
1
+ export type MasonryMode = "rows" | "columns";
2
+ export type Sized = {
3
+ width: number;
4
+ height: number;
5
+ };
6
+ export interface MasonryOpts {
7
+ mode: MasonryMode;
8
+ columns: 2 | 3 | 4 | 5 | 6;
9
+ bodyWIn: number;
10
+ bodyHIn: number;
11
+ gapIn: number;
12
+ targetRowHeightIn: number;
13
+ }
14
+ export interface MasonryBox<T extends Sized = Sized> {
15
+ asset: T;
16
+ xIn: number;
17
+ yIn: number;
18
+ wIn: number;
19
+ hIn: number;
20
+ }
21
+ export declare function layoutMasonryPage<T extends Sized>(images: T[], o: MasonryOpts, fits?: ("cover" | "contain")[]): {
22
+ boxes: MasonryBox<T>[];
23
+ used: number;
24
+ };
25
+ //# sourceMappingURL=masonry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"masonry.d.ts","sourceRoot":"","sources":["../../../src/document/engine/masonry.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7C,MAAM,MAAM,KAAK,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK;IACjD,KAAK,EAAE,CAAC,CAAC;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAwDD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,KAAK,EAC/C,MAAM,EAAE,CAAC,EAAE,EACX,CAAC,EAAE,WAAW,EACd,IAAI,GAAE,CAAC,OAAO,GAAG,SAAS,CAAC,EAAO,GACjC;IAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAO1C"}
@@ -0,0 +1,40 @@
1
+ import type { SectionSettings } from "./settings";
2
+ import type { Chunk, DocImage, TextBlock } from "./types";
3
+ export interface DocGeom {
4
+ bodyWIn: number;
5
+ bodyHIn: number;
6
+ titleBandIn: number;
7
+ gapIn: number;
8
+ leftColWIn: number;
9
+ colGutterIn: number;
10
+ minImageRegionIn: number;
11
+ masonryTargetRowIn: number;
12
+ topTextMaxFraction: number;
13
+ }
14
+ export declare const DOC_GEOM: DocGeom;
15
+ export interface Region {
16
+ xIn: number;
17
+ yIn: number;
18
+ wIn: number;
19
+ hIn: number;
20
+ }
21
+ export interface ImageBox {
22
+ image: DocImage;
23
+ xIn: number;
24
+ yIn: number;
25
+ wIn: number;
26
+ hIn: number;
27
+ fit: "cover" | "contain";
28
+ }
29
+ export interface DerivedPage {
30
+ id: string;
31
+ chunkId: string;
32
+ title: string;
33
+ cont: boolean;
34
+ textBlocks: TextBlock[];
35
+ textRegion: Region | null;
36
+ imageBoxes: ImageBox[];
37
+ warnings: string[];
38
+ }
39
+ export declare function paginateChunk(chunk: Chunk, settings: SectionSettings, textHeightsIn: number[], geom?: DocGeom): DerivedPage[];
40
+ //# sourceMappingURL=paginate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginate.d.ts","sourceRoot":"","sources":["../../../src/document/engine/paginate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE1D,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAGD,eAAO,MAAM,QAAQ,EAAE,OAYtB,CAAC;AAIF,MAAM,WAAW,MAAM;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;CAAE;AAC/E,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IACnD,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1B;AACD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAgDD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,MAAM,EAAE,EACvB,IAAI,GAAE,OAAkB,GACvB,WAAW,EAAE,CA2Gf"}