@drawnagency/primitives 0.1.108 → 0.1.110

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 (216) hide show
  1. package/dist/auth/cookies.d.ts +8 -0
  2. package/dist/auth/cookies.d.ts.map +1 -1
  3. package/dist/auth/index.d.ts +1 -1
  4. package/dist/auth/index.d.ts.map +1 -1
  5. package/dist/auth/index.js +3 -1
  6. package/dist/auth/types.d.ts +11 -4
  7. package/dist/auth/types.d.ts.map +1 -1
  8. package/dist/{chunk-5IZ2KTMU.js → chunk-3GAG6ZXB.js} +55 -46
  9. package/dist/{chunk-PZJL2S3Z.js → chunk-3ZRQ4G5F.js} +1 -1
  10. package/dist/{chunk-FM4M4Q2W.js → chunk-4TZJZU2T.js} +23 -3
  11. package/dist/{chunk-LUAI5DWR.js → chunk-7MI3HCOF.js} +60 -23
  12. package/dist/{chunk-ZHHJVKU7.js → chunk-7WQJ57XG.js} +63 -204
  13. package/dist/{chunk-JIQBLG6Y.js → chunk-ALMEC3XN.js} +12 -13
  14. package/dist/{chunk-TZQPOR5A.js → chunk-DMCGN5AS.js} +10 -3
  15. package/dist/{chunk-D6TLUVOP.js → chunk-ELQ4C677.js} +48 -2
  16. package/dist/chunk-F2LYQPXV.js +77 -0
  17. package/dist/{chunk-5BM2Y3NJ.js → chunk-FRVO75DK.js} +14 -2
  18. package/dist/{chunk-VKAGMEKE.js → chunk-FTPETWXE.js} +1 -0
  19. package/dist/{chunk-3TO4RRHY.js → chunk-GPPVYLEI.js} +7 -0
  20. package/dist/{chunk-NLQ5F3RQ.js → chunk-HBULBDGP.js} +1 -1
  21. package/dist/{chunk-IPKZ5FU6.js → chunk-NXGIHSL5.js} +72 -55
  22. package/dist/{chunk-CPTFFLK2.js → chunk-OTDA6KWL.js} +10 -3
  23. package/dist/chunk-OUYB2GCW.js +194 -0
  24. package/dist/{chunk-72CG6AA2.js → chunk-RA5IOFPY.js} +10 -2
  25. package/dist/{chunk-GEENI3OC.js → chunk-SW6PCQQD.js} +4 -0
  26. package/dist/{chunk-BOZUEKWL.js → chunk-UVIYI4J6.js} +1 -1
  27. package/dist/{chunk-AB3XVXI3.js → chunk-VCCNKTFD.js} +37 -29
  28. package/dist/{chunk-XBYJQ5RS.js → chunk-XQMDWXD6.js} +21 -6
  29. package/dist/collab/rebase.d.ts +6 -0
  30. package/dist/collab/rebase.d.ts.map +1 -1
  31. package/dist/collab/rebase.js +12 -3
  32. package/dist/collab/recovery.d.ts +0 -20
  33. package/dist/collab/recovery.d.ts.map +1 -1
  34. package/dist/components/brandguide/ColorSwatchSettings.d.ts.map +1 -1
  35. package/dist/components/brandguide/ColorsView.d.ts.map +1 -1
  36. package/dist/components/brandguide/colors-shared.d.ts +10 -1
  37. package/dist/components/brandguide/colors-shared.d.ts.map +1 -1
  38. package/dist/components/chat/ChatPanel.d.ts.map +1 -1
  39. package/dist/components/docfile/DocFilePane.d.ts.map +1 -1
  40. package/dist/components/docfile/PdfCanvasViewer.d.ts.map +1 -1
  41. package/dist/components/docfile/doc-file-state.d.ts.map +1 -1
  42. package/dist/components/editor/IndicatorPill.d.ts.map +1 -1
  43. package/dist/components/editor/NavGroupRow.d.ts +7 -2
  44. package/dist/components/editor/NavGroupRow.d.ts.map +1 -1
  45. package/dist/components/editor/PagesModal.d.ts.map +1 -1
  46. package/dist/components/editor/index.js +14 -13
  47. package/dist/components/primitives/EditableRichText.d.ts.map +1 -1
  48. package/dist/components/primitives/LinkPopover.d.ts.map +1 -1
  49. package/dist/components/primitives/index.d.ts +2 -0
  50. package/dist/components/primitives/index.d.ts.map +1 -1
  51. package/dist/components/primitives/index.js +22 -13
  52. package/dist/components/primitives/useEditableCollection.d.ts.map +1 -1
  53. package/dist/components/primitives/useEditablePlainText.d.ts.map +1 -1
  54. package/dist/components/sections/IconList/index.d.ts.map +1 -1
  55. package/dist/components/sections/Prose/Prose.d.ts.map +1 -1
  56. package/dist/components/sections/brand-guide.js +10 -10
  57. package/dist/components/sections/register-schemas.js +16 -16
  58. package/dist/components/sections/register.js +16 -16
  59. package/dist/components/shared/FontPicker.d.ts.map +1 -1
  60. package/dist/components/shared/HistoryChangesModal.d.ts.map +1 -1
  61. package/dist/components/shared/HistoryPopover.d.ts.map +1 -1
  62. package/dist/components/shared/Navigation.d.ts.map +1 -1
  63. package/dist/components/shared/Popover.d.ts.map +1 -1
  64. package/dist/components/shell/AudienceAddForm.d.ts +1 -5
  65. package/dist/components/shell/AudienceAddForm.d.ts.map +1 -1
  66. package/dist/components/shell/AudienceRow.d.ts +2 -3
  67. package/dist/components/shell/AudienceRow.d.ts.map +1 -1
  68. package/dist/components/shell/BugReportFAB.d.ts.map +1 -1
  69. package/dist/components/shell/EditorShell.d.ts.map +1 -1
  70. package/dist/components/shell/MediaLibraryModal.d.ts.map +1 -1
  71. package/dist/components/shell/SiteSettingsUsers.d.ts.map +1 -1
  72. package/dist/components/shell/SiteSettingsViewerAccess.d.ts.map +1 -1
  73. package/dist/components/shell/view-branch.d.ts.map +1 -1
  74. package/dist/document/components/DocRail.d.ts.map +1 -1
  75. package/dist/document/components/DocViewer.d.ts.map +1 -1
  76. package/dist/document/components/measure.d.ts.map +1 -1
  77. package/dist/document/components/useDocPages.d.ts.map +1 -1
  78. package/dist/document/engine/blocks.d.ts.map +1 -1
  79. package/dist/document/engine/masonry.d.ts.map +1 -1
  80. package/dist/document/engine/paginate.d.ts.map +1 -1
  81. package/dist/document/engine/settings.d.ts +3 -0
  82. package/dist/document/engine/settings.d.ts.map +1 -1
  83. package/dist/document/index.js +79 -28
  84. package/dist/hooks/useBuildStatus.d.ts.map +1 -1
  85. package/dist/hooks/useDocumentUploads.d.ts +1 -0
  86. package/dist/hooks/useDocumentUploads.d.ts.map +1 -1
  87. package/dist/hooks/useEditorPersistence.d.ts.map +1 -1
  88. package/dist/hooks/useEditorPublish.d.ts.map +1 -1
  89. package/dist/hooks/useFocusTrap.d.ts +6 -0
  90. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  91. package/dist/hooks/useMediaPipeline.d.ts +3 -2
  92. package/dist/hooks/useMediaPipeline.d.ts.map +1 -1
  93. package/dist/hooks/useSanitizedHtml.d.ts +12 -0
  94. package/dist/hooks/useSanitizedHtml.d.ts.map +1 -0
  95. package/dist/index.js +20 -14
  96. package/dist/lib/block-move.d.ts.map +1 -1
  97. package/dist/lib/contrast.d.ts.map +1 -1
  98. package/dist/lib/dexie.d.ts +2 -8
  99. package/dist/lib/dexie.d.ts.map +1 -1
  100. package/dist/lib/dexie.js +21 -49
  101. package/dist/lib/index-ops.d.ts.map +1 -1
  102. package/dist/lib/index-ops.js +43 -23
  103. package/dist/lib/index.js +8 -8
  104. package/dist/lib/loader.d.ts.map +1 -1
  105. package/dist/lib/media-folders.d.ts +12 -4
  106. package/dist/lib/media-folders.d.ts.map +1 -1
  107. package/dist/lib/media-folders.js +12 -2
  108. package/dist/lib/migrate-sections-transform.js +1 -1
  109. package/dist/lib/nav-tree.d.ts.map +1 -1
  110. package/dist/lib/nav.d.ts.map +1 -1
  111. package/dist/lib/pages.d.ts.map +1 -1
  112. package/dist/lib/registry.d.ts.map +1 -1
  113. package/dist/lib/registry.js +1 -1
  114. package/dist/lib/sanitize.d.ts +6 -0
  115. package/dist/lib/sanitize.d.ts.map +1 -1
  116. package/dist/lib/timestamp.d.ts.map +1 -1
  117. package/dist/media/index.js +4 -4
  118. package/dist/media/queue.d.ts.map +1 -1
  119. package/dist/media/resolve.d.ts.map +1 -1
  120. package/dist/media/utils.d.ts.map +1 -1
  121. package/dist/media/videoPoster.d.ts.map +1 -1
  122. package/dist/schemas/audience.d.ts +5 -1
  123. package/dist/schemas/audience.d.ts.map +1 -1
  124. package/dist/schemas/audience.js +1 -1
  125. package/dist/schemas/index.js +9 -7
  126. package/dist/schemas/link.d.ts.map +1 -1
  127. package/dist/schemas/link.js +1 -1
  128. package/dist/schemas/sections.d.ts +12 -0
  129. package/dist/schemas/sections.d.ts.map +1 -1
  130. package/dist/storage/index.d.ts +1 -1
  131. package/dist/storage/index.d.ts.map +1 -1
  132. package/dist/storage/index.js +3 -1
  133. package/dist/storage/types.d.ts +9 -0
  134. package/dist/storage/types.d.ts.map +1 -1
  135. package/dist/types/database.d.ts +0 -3
  136. package/dist/types/database.d.ts.map +1 -1
  137. package/package.json +1 -1
  138. package/src/auth/cookies.ts +11 -0
  139. package/src/auth/index.ts +1 -1
  140. package/src/auth/types.ts +18 -4
  141. package/src/collab/rebase.ts +26 -1
  142. package/src/collab/recovery.ts +29 -3
  143. package/src/components/brandguide/ColorSwatchSettings.tsx +40 -13
  144. package/src/components/brandguide/ColorsEditable.tsx +7 -9
  145. package/src/components/brandguide/ColorsView.tsx +12 -11
  146. package/src/components/brandguide/colors-shared.ts +17 -1
  147. package/src/components/chat/ChatPanel.tsx +19 -0
  148. package/src/components/docfile/DocFilePane.tsx +11 -0
  149. package/src/components/docfile/PdfCanvasViewer.tsx +46 -5
  150. package/src/components/docfile/doc-file-state.ts +7 -0
  151. package/src/components/editor/IndicatorPill.tsx +5 -1
  152. package/src/components/editor/NavGroupRow.tsx +8 -3
  153. package/src/components/editor/PagesModal.tsx +10 -2
  154. package/src/components/primitives/EditableList.tsx +10 -2
  155. package/src/components/primitives/EditableRichText.tsx +4 -3
  156. package/src/components/primitives/LinkPopover.tsx +23 -1
  157. package/src/components/primitives/index.ts +5 -0
  158. package/src/components/primitives/useEditableCollection.ts +61 -41
  159. package/src/components/primitives/useEditablePlainText.ts +24 -3
  160. package/src/components/sections/IconList/index.tsx +8 -1
  161. package/src/components/sections/Prose/Prose.tsx +4 -2
  162. package/src/components/shared/FontPicker.tsx +16 -4
  163. package/src/components/shared/HistoryChangesModal.tsx +12 -1
  164. package/src/components/shared/HistoryPopover.tsx +18 -4
  165. package/src/components/shared/LinkField.tsx +1 -1
  166. package/src/components/shared/Navigation.tsx +20 -2
  167. package/src/components/shared/Popover.tsx +9 -5
  168. package/src/components/shell/AudienceAddForm.tsx +6 -26
  169. package/src/components/shell/AudienceRow.tsx +29 -39
  170. package/src/components/shell/BugReportFAB.tsx +20 -2
  171. package/src/components/shell/EditorShell.tsx +200 -50
  172. package/src/components/shell/MediaLibraryModal.tsx +52 -10
  173. package/src/components/shell/SiteSettingsUsers.tsx +3 -0
  174. package/src/components/shell/SiteSettingsViewerAccess.tsx +21 -16
  175. package/src/components/shell/view-branch.ts +4 -1
  176. package/src/document/components/DocRail.tsx +27 -2
  177. package/src/document/components/DocViewer.tsx +5 -1
  178. package/src/document/components/measure.tsx +22 -6
  179. package/src/document/components/useDocPages.ts +13 -3
  180. package/src/document/engine/blocks.ts +33 -4
  181. package/src/document/engine/masonry.ts +8 -2
  182. package/src/document/engine/paginate.ts +4 -1
  183. package/src/document/engine/settings.ts +40 -3
  184. package/src/hooks/useBuildStatus.ts +6 -0
  185. package/src/hooks/useDocumentUploads.ts +46 -3
  186. package/src/hooks/useEditorPersistence.ts +33 -19
  187. package/src/hooks/useEditorPublish.ts +83 -34
  188. package/src/hooks/useFocusTrap.ts +18 -0
  189. package/src/hooks/useMediaPipeline.ts +111 -38
  190. package/src/hooks/useSanitizedHtml.ts +29 -0
  191. package/src/lib/audience-secret.ts +1 -0
  192. package/src/lib/block-move.ts +13 -2
  193. package/src/lib/contrast.ts +14 -14
  194. package/src/lib/dexie.ts +46 -49
  195. package/src/lib/index-ops.ts +63 -20
  196. package/src/lib/loader.ts +41 -12
  197. package/src/lib/media-folders.ts +31 -5
  198. package/src/lib/migrate-sections-transform.ts +22 -2
  199. package/src/lib/nav-tree.ts +16 -2
  200. package/src/lib/nav.ts +10 -1
  201. package/src/lib/pages.ts +24 -6
  202. package/src/lib/registry.ts +3 -0
  203. package/src/lib/sanitize.ts +9 -0
  204. package/src/lib/timestamp.ts +5 -0
  205. package/src/media/queue.ts +4 -0
  206. package/src/media/resolve.ts +14 -1
  207. package/src/media/utils.ts +3 -1
  208. package/src/media/videoPoster.ts +14 -3
  209. package/src/schemas/audience.ts +10 -2
  210. package/src/schemas/link.ts +4 -1
  211. package/src/schemas/sections.ts +23 -1
  212. package/src/storage/index.ts +1 -1
  213. package/src/storage/types.ts +13 -0
  214. package/src/types/database.ts +0 -3
  215. package/dist/chunk-5THS4K5D.js +0 -123
  216. package/dist/chunk-ZSPCE6MZ.js +0 -70
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getSection
3
- } from "./chunk-VKAGMEKE.js";
3
+ } from "./chunk-FTPETWXE.js";
4
4
 
5
5
  // src/lib/nav.ts
6
6
  function toSectionId(text) {
@@ -28,6 +28,7 @@ function generateNavLinks(sections, registry) {
28
28
  if (role === "h1") {
29
29
  if (content.excludeFromNav) {
30
30
  currentParent = null;
31
+ currentChild = null;
31
32
  continue;
32
33
  }
33
34
  currentParent = {
@@ -39,7 +40,10 @@ function generateNavLinks(sections, registry) {
39
40
  currentChild = null;
40
41
  nav.push(currentParent);
41
42
  } else if (role === "h2") {
42
- if (content.excludeFromNav) continue;
43
+ if (content.excludeFromNav) {
44
+ currentChild = null;
45
+ continue;
46
+ }
43
47
  if (!currentParent) continue;
44
48
  currentChild = {
45
49
  href: `#${toSectionId(content.heading)}`,
@@ -87,6 +91,9 @@ function sanitizeHtml(html) {
87
91
  sanitizeCache.set(html, clean);
88
92
  return clean;
89
93
  }
94
+ function isSanitizerReady() {
95
+ return typeof window === "undefined" || purifier !== null;
96
+ }
90
97
  async function ensureSanitizer() {
91
98
  if (typeof window === "undefined") return;
92
99
  if (!purifier && purifierPromise) await purifierPromise;
@@ -96,5 +103,6 @@ export {
96
103
  toSectionId,
97
104
  generateNavLinks,
98
105
  sanitizeHtml,
106
+ isSanitizerReady,
99
107
  ensureSanitizer
100
108
  };
@@ -74,6 +74,9 @@ function setSessionCookie(cookies, token, isProduction) {
74
74
  maxAge: SESSION_MAX_AGE_SECONDS
75
75
  });
76
76
  }
77
+ function clearSessionCookie(cookies) {
78
+ cookies.delete(SESSION_COOKIE, { path: "/" });
79
+ }
77
80
 
78
81
  // src/auth/errors.ts
79
82
  var LastOwnerError = class extends Error {
@@ -101,6 +104,7 @@ export {
101
104
  verifyAudienceClaims,
102
105
  verifyAudienceToken,
103
106
  setSessionCookie,
107
+ clearSessionCookie,
104
108
  LastOwnerError,
105
109
  SessionExpiredError
106
110
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  documentOptionsSchema
3
- } from "./chunk-FM4M4Q2W.js";
3
+ } from "./chunk-4TZJZU2T.js";
4
4
  import {
5
5
  FontNameSchema,
6
6
  HexColorSchema
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  upgradeLegacySection
3
- } from "./chunk-5BM2Y3NJ.js";
3
+ } from "./chunk-FRVO75DK.js";
4
4
  import {
5
5
  safeNextPath
6
6
  } from "./chunk-S2L3BPLS.js";
@@ -8,14 +8,14 @@ import {
8
8
  NavEntrySchema
9
9
  } from "./chunk-REDDTTGJ.js";
10
10
  import {
11
- getSectionSchema
12
- } from "./chunk-TZQPOR5A.js";
11
+ getSectionSchemaForType
12
+ } from "./chunk-DMCGN5AS.js";
13
13
  import {
14
14
  getAllSchemas
15
- } from "./chunk-VKAGMEKE.js";
15
+ } from "./chunk-FTPETWXE.js";
16
16
  import {
17
17
  IndexSchema
18
- } from "./chunk-BOZUEKWL.js";
18
+ } from "./chunk-UVIYI4J6.js";
19
19
  import {
20
20
  MAX_BLOCK_DEPTH,
21
21
  blockDepth
@@ -35,6 +35,15 @@ function resolveThinkingPhrases(phrases) {
35
35
  }
36
36
 
37
37
  // src/lib/contrast.ts
38
+ function toRgb(hex) {
39
+ const h = hex.replace("#", "");
40
+ const x = h.length === 3 ? h[0] + h[0] + h[1] + h[1] + h[2] + h[2] : h;
41
+ return [
42
+ parseInt(x.slice(0, 2), 16),
43
+ parseInt(x.slice(2, 4), 16),
44
+ parseInt(x.slice(4, 6), 16)
45
+ ];
46
+ }
38
47
  function deriveContrast(hex) {
39
48
  const h = hex.replace("#", "");
40
49
  const expanded = h.length === 3 ? h[0] + h[0] + h[1] + h[1] + h[2] + h[2] : h;
@@ -45,21 +54,9 @@ function deriveContrast(hex) {
45
54
  return luminance >= 0.5 ? "#1a1a1a" : "#f0f0f0";
46
55
  }
47
56
  function contrastColor(hex) {
48
- const h = hex.replace("#", "");
49
- const r = parseInt(h.slice(0, 2), 16);
50
- const g = parseInt(h.slice(2, 4), 16);
51
- const b = parseInt(h.slice(4, 6), 16);
57
+ const [r, g, b] = toRgb(hex);
52
58
  return (r * 299 + g * 587 + b * 114) / 1e3 > 150 ? "#1a1a1a" : "#ffffff";
53
59
  }
54
- function toRgb(hex) {
55
- const h = hex.replace("#", "");
56
- const x = h.length === 3 ? h[0] + h[0] + h[1] + h[1] + h[2] + h[2] : h;
57
- return [
58
- parseInt(x.slice(0, 2), 16),
59
- parseInt(x.slice(2, 4), 16),
60
- parseInt(x.slice(4, 6), 16)
61
- ];
62
- }
63
60
  function relativeLuminance(hex) {
64
61
  const [r, g, b] = toRgb(hex).map((c) => {
65
62
  const s = c / 255;
@@ -174,7 +171,6 @@ function parseNavFile(navFile) {
174
171
  function mergeSiteContent(index, sectionFiles, navFile) {
175
172
  const sections = [];
176
173
  const canValidate = getAllSchemas().length >= 2;
177
- const schema = canValidate ? getSectionSchema() : null;
178
174
  const orderedIds = index.pages.flatMap((p) => p.order);
179
175
  for (const id of orderedIds) {
180
176
  const rawFile = sectionFiles[id];
@@ -186,11 +182,12 @@ function mergeSiteContent(index, sectionFiles, navFile) {
186
182
  const baseMeta = index.sections[id];
187
183
  const upgradedType = raw && typeof raw === "object" ? raw.type : void 0;
188
184
  const meta = raw !== rawFile && typeof upgradedType === "string" ? { ...baseMeta, type: upgradedType } : baseMeta;
189
- if (canValidate && schema) {
190
- const result = schema.safeParse(raw);
191
- if (!result.success) {
192
- const type = raw.type ?? "unknown";
193
- console.warn(`Skipping section "${id}" (type: ${type}): invalid schema`);
185
+ if (canValidate) {
186
+ const type = raw?.type;
187
+ const schema = typeof type === "string" ? getSectionSchemaForType(type) : null;
188
+ const result = schema ? schema.safeParse(raw) : null;
189
+ if (!result?.success) {
190
+ console.warn(`Skipping section "${id}" (type: ${type ?? "unknown"}): invalid schema`);
194
191
  continue;
195
192
  }
196
193
  if (blockDepth(result.data) > MAX_BLOCK_DEPTH) {
@@ -225,13 +222,24 @@ async function loadSiteContent(contentDir) {
225
222
  const sectionPath = path.join(contentDir, "sections", `${id}.json`);
226
223
  sectionFiles[id] = JSON.parse(await fs.readFile(sectionPath, "utf-8"));
227
224
  }
228
- let navFile;
225
+ let navRaw;
226
+ let readFailed = false;
229
227
  try {
230
- navFile = JSON.parse(await fs.readFile(path.join(contentDir, "nav.json"), "utf-8"));
231
- } catch {
232
- navFile = void 0;
228
+ navRaw = await fs.readFile(path.join(contentDir, "nav.json"), "utf-8");
229
+ } catch (err) {
230
+ readFailed = err?.code !== "ENOENT";
233
231
  }
234
- return mergeSiteContent(index, sectionFiles, navFile);
232
+ let navFile;
233
+ let parseFailed = false;
234
+ if (navRaw !== void 0) {
235
+ try {
236
+ navFile = JSON.parse(navRaw);
237
+ } catch {
238
+ parseFailed = true;
239
+ }
240
+ }
241
+ const content = mergeSiteContent(index, sectionFiles, navFile);
242
+ return readFailed || parseFailed ? { ...content, navDegraded: true } : content;
235
243
  }
236
244
 
237
245
  export {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  slugifyPageSlug
3
- } from "./chunk-CPTFFLK2.js";
3
+ } from "./chunk-OTDA6KWL.js";
4
4
 
5
5
  // src/media/utils.ts
6
6
  async function hashFileBuffer(buffer) {
@@ -52,7 +52,7 @@ function displayFilename(originalName, mimeType) {
52
52
  const ext = MIME_TO_EXT[mimeType];
53
53
  if (!ext) return originalName;
54
54
  const suffix = `.${ext}`;
55
- if (originalName.endsWith(suffix)) return originalName;
55
+ if (originalName.toLowerCase().endsWith(suffix)) return originalName;
56
56
  return `${originalName}${suffix}`;
57
57
  }
58
58
  function formatFileSize(bytes) {
@@ -134,6 +134,7 @@ var ProcessingQueue = class {
134
134
  height: msg.height
135
135
  };
136
136
  this.options.onEvent({ type: "complete", item: { ...item } });
137
+ delete item.result;
137
138
  this.cleanupWorker(id, worker);
138
139
  this.processNext();
139
140
  } else if (msg.type === "error") {
@@ -195,6 +196,14 @@ function resolveManifestReferences(content, manifest, sizes, provider) {
195
196
  if (typeof obj.imageId === "string") {
196
197
  const manifestItem = manifest.images[obj.imageId];
197
198
  const resolved = resolveMedia({ imageId: obj.imageId }, manifest, sizes, provider);
199
+ const base = {};
200
+ for (const [key, value] of Object.entries(obj)) {
201
+ base[key] = resolveManifestReferences(value, manifest, sizes, provider);
202
+ }
203
+ if (!resolved) {
204
+ for (const key of BAKED_MEDIA_KEYS) delete base[key];
205
+ return { ...base, alt: manifestItem?.alt ?? "" };
206
+ }
198
207
  const patch = {
199
208
  alt: manifestItem?.alt ?? ""
200
209
  };
@@ -213,7 +222,7 @@ function resolveManifestReferences(content, manifest, sizes, provider) {
213
222
  patch.width = resolved.width;
214
223
  patch.height = resolved.height;
215
224
  }
216
- return { ...obj, ...patch };
225
+ return { ...base, ...patch };
217
226
  }
218
227
  const result = {};
219
228
  for (const [key, value] of Object.entries(obj)) {
@@ -271,7 +280,7 @@ function generateVideoPoster(blob, quality) {
271
280
  video.preload = "auto";
272
281
  video.src = url;
273
282
  video.addEventListener("loadeddata", () => {
274
- video.addEventListener("seeked", () => {
283
+ const capture = () => {
275
284
  if (settled) return;
276
285
  try {
277
286
  const w = video.videoWidth;
@@ -302,8 +311,14 @@ function generateVideoPoster(blob, quality) {
302
311
  } catch (err) {
303
312
  safeReject(err instanceof Error ? err : new Error(String(err)));
304
313
  }
305
- }, { once: true });
306
- video.currentTime = isFinite(video.duration) ? Math.min(0.1, video.duration / 2) : 0;
314
+ };
315
+ const target = isFinite(video.duration) ? Math.min(0.1, video.duration / 2) : 0;
316
+ if (video.currentTime === target) {
317
+ capture();
318
+ return;
319
+ }
320
+ video.addEventListener("seeked", capture, { once: true });
321
+ video.currentTime = target;
307
322
  }, { once: true });
308
323
  });
309
324
  }
@@ -13,6 +13,12 @@ export interface RebaseArgs {
13
13
  * remotely while dirty (both dirty, present locally, absent remotely). */
14
14
  locallyAddedIds: Set<string>;
15
15
  locallyDeletedIds: Set<string>;
16
+ /** The last clean baseline index (same Dexie contentCache row locallyAddedIds
17
+ * comes from). PAGES need the same disambiguation sections get: a page
18
+ * present locally and absent remotely is either one a peer deleted or one we
19
+ * created and have not saved, and only the baseline tells them apart.
20
+ * Omitting it keeps the previous behaviour — every local page survives. */
21
+ baselineIndex?: SiteIndex;
16
22
  remoteSections: LoadedSection[];
17
23
  remoteIndex: SiteIndex;
18
24
  remoteChangedIds: Set<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"rebase.d.ts","sourceRoot":"","sources":["../../src/collab/rebase.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAIxD,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,UAAU,EAAE,SAAS,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;;+EAK2E;IAC3E,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,WAAW,EAAE,SAAS,CAAC;IAKvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IAIjB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;qEAUqE;AACrE;;;;;;;;;;;;;;;;;;;;;oEAqBoE;AACpE,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,GAAG,SAAS,CAS7F;AAED;;;;;;;;;;;;;;;;;;wCAkBwC;AACxC,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAYvG;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CA0G5D"}
1
+ {"version":3,"file":"rebase.d.ts","sourceRoot":"","sources":["../../src/collab/rebase.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAIxD,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,UAAU,EAAE,SAAS,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;;+EAK2E;IAC3E,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B;;;;gFAI4E;IAC5E,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,WAAW,EAAE,SAAS,CAAC;IAKvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IAIjB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;qEAUqE;AACrE;;;;;;;;;;;;;;;;;;;;;oEAqBoE;AACpE,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,GAAG,SAAS,CAS7F;AAED;;;;;;;;;;;;;;;;;;wCAkBwC;AACxC,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAYvG;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CA6H5D"}
@@ -3,8 +3,8 @@ import {
3
3
  } from "../chunk-REDDTTGJ.js";
4
4
  import {
5
5
  IndexSchema
6
- } from "../chunk-BOZUEKWL.js";
7
- import "../chunk-FM4M4Q2W.js";
6
+ } from "../chunk-UVIYI4J6.js";
7
+ import "../chunk-4TZJZU2T.js";
8
8
  import "../chunk-GGXZZ77Z.js";
9
9
  import "../chunk-JSBRDJBE.js";
10
10
 
@@ -56,7 +56,16 @@ function rebaseContent(args) {
56
56
  };
57
57
  } else {
58
58
  const localOrderIds = new Set(args.localIndex.pages.flatMap((p) => p.order));
59
- const pages = args.localIndex.pages.map((p) => ({
59
+ const survivingPages = (() => {
60
+ if (!args.baselineIndex) return args.localIndex.pages;
61
+ const baselinePageIds = new Set(args.baselineIndex.pages.map((p) => p.id));
62
+ const remotePageIds = new Set(args.remoteIndex.pages.map((p) => p.id));
63
+ const kept = args.localIndex.pages.filter(
64
+ (p) => !(baselinePageIds.has(p.id) && !remotePageIds.has(p.id))
65
+ );
66
+ return kept.length > 0 ? kept : args.localIndex.pages;
67
+ })();
68
+ const pages = survivingPages.map((p) => ({
60
69
  ...p,
61
70
  order: p.order.filter((id) => id in args.remoteIndex.sections || args.dirtySectionIds.has(id))
62
71
  }));
@@ -9,26 +9,6 @@ export interface RecoveryBaseline {
9
9
  sections: LoadedSection[];
10
10
  index: SiteIndex;
11
11
  }
12
- /** Derive rebaseContent's remoteChangedIds + locallyAddedIds from a clean
13
- * baseline and the freshly fetched remote snapshot.
14
- *
15
- * - remoteChangedIds: sections whose content differs between the clean baseline
16
- * and the fresh remote. The baseline MUST be clean — diffing against the dirty
17
- * in-memory view would flag every locally-edited section as remote-changed,
18
- * turning every dirty section into a false conflict.
19
- * - locallyAddedIds: dirty ids absent from the clean baseline INDEX — sections
20
- * created locally and never saved. This is what lets rebase distinguish a
21
- * local add from a section deleted remotely while dirty.
22
- *
23
- * Degraded mode (baseline === null — should be unreachable, since every load,
24
- * save, and recovery re-primes the cache): fail SAFE, not silent. Every dirty
25
- * section that still exists remotely is flagged remote-changed (forcing the
26
- * keep-mine/take-theirs dialog instead of a silent local-wins merge), and every
27
- * dirty section absent remotely is treated as locally added (kept — a true
28
- * remote-deletion-while-dirty resurrects instead of conflicting, which loses
29
- * nothing). This is deliberately NOT derived from the published mainIndex: a
30
- * main-based baseline would silently local-win every dirty section that already
31
- * exists on main — the exact lost-update this path exists to prevent. */
32
12
  export declare function deriveRecoveryInputs({ baseline, remote, dirtyRows, deletedIds }: {
33
13
  baseline: RecoveryBaseline | null;
34
14
  remote: {
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/collab/recovery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;mFAGmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;0EAmB0E;AAC1E,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;IAChF,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE;QAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IACxD,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB,GAAG;IAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CA0BlE;AAED;;;;;;;;4CAQ4C;AAC5C,wBAAgB,oBAAoB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;IACxE,MAAM,EAAE;QAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IACxD,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;CAC5C,GAAG;IACF,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CACtD,CA4BA;AAED;;;;;;;;wEAQwE;AACxE,wBAAgB,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;IACnG,gBAAgB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IACzC,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,CAAA;KAAE,EAAE,CAAC;IAC5D,SAAS,EAAE,SAAS,CAAC;CACtB,GAAG,aAAa,EAAE,CAiBlB"}
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/collab/recovery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;mFAGmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;CAClB;AAwCD,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;IAChF,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE;QAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IACxD,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB,GAAG;IAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CA0BlE;AAED;;;;;;;;4CAQ4C;AAC5C,wBAAgB,oBAAoB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;IACxE,MAAM,EAAE;QAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IACxD,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;CAC5C,GAAG;IACF,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CACtD,CA4BA;AAED;;;;;;;;wEAQwE;AACxE,wBAAgB,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;IACnG,gBAAgB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IACzC,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,CAAA;KAAE,EAAE,CAAC;IAC5D,SAAS,EAAE,SAAS,CAAC;CACtB,GAAG,aAAa,EAAE,CAyBlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorSwatchSettings.d.ts","sourceRoot":"","sources":["../../../src/components/brandguide/ColorSwatchSettings.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,2BAA2B,CAAC;AAEvE,UAAU,KAAK;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACtC;AAMD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,2CAkCrE"}
1
+ {"version":3,"file":"ColorSwatchSettings.d.ts","sourceRoot":"","sources":["../../../src/components/brandguide/ColorSwatchSettings.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,2BAA2B,CAAC;AAGvE,UAAU,KAAK;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACtC;AAQD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,2CA0DrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorsView.d.ts","sourceRoot":"","sources":["../../../src/components/brandguide/ColorsView.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,MAAM,EACN,OAAO,EACP,KAAK,EACL,UAAU,EACV,SAAS,GACV,EAAE;IACD,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,2CAgFA"}
1
+ {"version":3,"file":"ColorsView.d.ts","sourceRoot":"","sources":["../../../src/components/brandguide/ColorsView.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,MAAM,EACN,OAAO,EACP,KAAK,EACL,UAAU,EACV,SAAS,GACV,EAAE;IACD,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,2CAiFA"}
@@ -1,4 +1,13 @@
1
- import type { ColorItem } from "../sections/Colors/schema";
1
+ import type { ColorItem, ColorSpace } from "../sections/Colors/schema";
2
+ /**
3
+ * Canonical display order for a colour space's values. Rendering
4
+ * `Object.entries(space)` instead put them in whatever order the JSON happened
5
+ * to carry, so two swatches on the same page could list their values
6
+ * differently — and the settings form, which is always hex/rgb/cmyk/pantone,
7
+ * disagreed with the swatch it edits.
8
+ */
9
+ export declare const COLOR_SPACE_KEYS: readonly ["hex", "rgb", "cmyk", "pantone"];
10
+ export declare function orderedSpaceEntries(space: ColorSpace): [string, string][];
2
11
  export declare function getContrastClass(hex: string | undefined): string;
3
12
  export declare const createColorItem: () => ColorItem;
4
13
  //# sourceMappingURL=colors-shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors-shared.d.ts","sourceRoot":"","sources":["../../../src/components/brandguide/colors-shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAShE;AAED,eAAO,MAAM,eAAe,QAAO,SAGjC,CAAC"}
1
+ {"version":3,"file":"colors-shared.d.ts","sourceRoot":"","sources":["../../../src/components/brandguide/colors-shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,4CAA6C,CAAC;AAE3E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAKzE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAShE;AAED,eAAO,MAAM,eAAe,QAAO,SAGjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatPanel.tsx"],"names":[],"mappings":"AAYA,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAE5E;;;0DAG0D;AAC1D,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AA+C5D;;kEAEkE;AAClE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEhD;AAcD,8EAA8E;AAC9E,wBAAsB,UAAU,CAC9B,IAAI,EAAE;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,EACxH,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6CjG;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAkB,EAAE,IAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE;IAC/N,IAAI,EAAE,OAAO,CAAC;IACd;uDACmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;4CAEwC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;6EAEyE;IACzE,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;kFAC8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;+DAC2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,kDAufA"}
1
+ {"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatPanel.tsx"],"names":[],"mappings":"AAYA,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAE5E;;;0DAG0D;AAC1D,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AA+C5D;;kEAEkE;AAClE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEhD;AAcD,8EAA8E;AAC9E,wBAAsB,UAAU,CAC9B,IAAI,EAAE;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,EACxH,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6CjG;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAkB,EAAE,IAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE;IAC/N,IAAI,EAAE,OAAO,CAAC;IACd;uDACmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;4CAEwC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;6EAEyE;IACzE,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;kFAC8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;+DAC2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,kDA0gBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"DocFilePane.d.ts","sourceRoot":"","sources":["../../../src/components/docfile/DocFilePane.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAexD;;;;;;;;;;;;;;GAcG;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,2CAwL9D"}
1
+ {"version":3,"file":"DocFilePane.d.ts","sourceRoot":"","sources":["../../../src/components/docfile/DocFilePane.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAexD;;;;;;;;;;;;;;GAcG;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,2CAkM9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"PdfCanvasViewer.d.ts","sourceRoot":"","sources":["../../../src/components/docfile/PdfCanvasViewer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAyC7D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,IAAI,IAAI,CAAC;IACjB,QAAQ,IAAI,IAAI,CAAC;IACjB,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;IAChB,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,UAAU,oBAAoB;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,SAAS,CAAC,EAAE,gBAAgB,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAC3D,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,8EAA8E;IAC9E,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAiBD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,GAAG,EACH,SAAS,EACT,OAAO,EACP,OAAO,EACP,YAAY,GACb,EAAE,oBAAoB,2CAiXtB"}
1
+ {"version":3,"file":"PdfCanvasViewer.d.ts","sourceRoot":"","sources":["../../../src/components/docfile/PdfCanvasViewer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAyC7D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,IAAI,IAAI,CAAC;IACjB,QAAQ,IAAI,IAAI,CAAC;IACjB,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;IAChB,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,UAAU,oBAAoB;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,SAAS,CAAC,EAAE,gBAAgB,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAC3D,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,8EAA8E;IAC9E,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAoBD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,GAAG,EACH,SAAS,EACT,OAAO,EACP,OAAO,EACP,YAAY,GACb,EAAE,oBAAoB,2CAuZtB"}
@@ -1 +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;;;+DAG+D;AAC/D,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAKlD;;;;;;;mBAOmB;AACnB,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAEvD;;4CAE4C;AAC5C,eAAO,MAAM,gBAAgB;eAA4B,MAAM,GAAG,IAAI;EAAuB,CAAC;AA4B9F,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAkDD,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,CAQxC"}
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;;;+DAG+D;AAC/D,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAKlD;;;;;;;mBAOmB;AACnB,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAEvD;;4CAE4C;AAC5C,eAAO,MAAM,gBAAgB;eAA4B,MAAM,GAAG,IAAI;EAAuB,CAAC;AA4B9F,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAkDD,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,CAyCnF;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,CAQxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IndicatorPill.d.ts","sourceRoot":"","sources":["../../../src/components/editor/IndicatorPill.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAItE,UAAU,MAAM;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,0FAA0F;IAC1F,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;8DAC0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,eAAe,EACf,SAAS,EACT,QAAQ,GACT,EAAE,kBAAkB,2CA+FpB"}
1
+ {"version":3,"file":"IndicatorPill.d.ts","sourceRoot":"","sources":["../../../src/components/editor/IndicatorPill.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjF,UAAU,MAAM;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,0FAA0F;IAC1F,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;8DAC0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,eAAe,EACf,SAAS,EACT,QAAQ,GACT,EAAE,kBAAkB,2CAmGpB"}
@@ -13,8 +13,13 @@ interface Props {
13
13
  onMove: (from: NavLocation, to: NavLocation) => void;
14
14
  /** Fires when THIS group starts/stops being dragged, so the modal can collapse
15
15
  * it for the duration. Without that, its members stay rendered in place and
16
- * the drag reads as moving only the header. */
17
- onDragStateChange?: (dragging: boolean) => void;
16
+ * the drag reads as moving only the header.
17
+ *
18
+ * Takes the group id (rather than closing over it in the parent) so the
19
+ * handler can be a single stable callback: an identity that changed every
20
+ * parent render re-fired this effect in EVERY mounted row, and the
21
+ * non-dragging ones then cleared the dragging row's state. */
22
+ onDragStateChange?: (groupId: string, dragging: boolean) => void;
18
23
  }
19
24
  export declare function NavGroupRow({ group, entryIndex, memberCount, autoOpenSettings, onRename, onSetStartCollapsed, onDelete, onMove, onDragStateChange, }: Props): import("react/jsx-runtime").JSX.Element;
20
25
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"NavGroupRow.d.ts","sourceRoot":"","sources":["../../../src/components/editor/NavGroupRow.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAWtD,UAAU,KAAK;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB;8DAC0D;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mBAAmB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IACrD;;oDAEgD;IAChD,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CACjD;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAwB,EACxD,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,GACnE,EAAE,KAAK,2CA2FP"}
1
+ {"version":3,"file":"NavGroupRow.d.ts","sourceRoot":"","sources":["../../../src/components/editor/NavGroupRow.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAWtD,UAAU,KAAK;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB;8DAC0D;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mBAAmB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IACrD;;;;;;;mEAO+D;IAC/D,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAClE;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAwB,EACxD,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,GACnE,EAAE,KAAK,2CA2FP"}
@@ -1 +1 @@
1
- {"version":3,"file":"PagesModal.d.ts","sourceRoot":"","sources":["../../../src/components/editor/PagesModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAQtE,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOlE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,+EAA+E;IAC/E,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,wBAAwB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7D,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,KAAK,IAAI,CAAC;IAClG,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IACzE,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAgJhD"}
1
+ {"version":3,"file":"PagesModal.d.ts","sourceRoot":"","sources":["../../../src/components/editor/PagesModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAQtE,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOlE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,+EAA+E;IAC/E,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,wBAAwB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7D,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,KAAK,IAAI,CAAC;IAClG,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IACzE,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAwJhD"}
@@ -11,21 +11,21 @@ import {
11
11
  buildBlockDropData,
12
12
  canDropBlock,
13
13
  isBlockDragData
14
- } from "../../chunk-ZHHJVKU7.js";
15
- import "../../chunk-5THS4K5D.js";
16
- import "../../chunk-ZSPCE6MZ.js";
14
+ } from "../../chunk-7WQJ57XG.js";
15
+ import "../../chunk-F2LYQPXV.js";
16
+ import "../../chunk-OUYB2GCW.js";
17
17
  import {
18
18
  AddIcon,
19
19
  IconButton
20
- } from "../../chunk-D6TLUVOP.js";
21
- import "../../chunk-XBYJQ5RS.js";
20
+ } from "../../chunk-ELQ4C677.js";
21
+ import "../../chunk-XQMDWXD6.js";
22
22
  import "../../chunk-4RNF2DRG.js";
23
23
  import {
24
24
  cn
25
25
  } from "../../chunk-7EOSDFS3.js";
26
- import "../../chunk-CPTFFLK2.js";
27
- import "../../chunk-BOZUEKWL.js";
28
- import "../../chunk-FM4M4Q2W.js";
26
+ import "../../chunk-OTDA6KWL.js";
27
+ import "../../chunk-UVIYI4J6.js";
28
+ import "../../chunk-4TZJZU2T.js";
29
29
  import "../../chunk-GGXZZ77Z.js";
30
30
  import "../../chunk-JSBRDJBE.js";
31
31
 
@@ -51,7 +51,7 @@ function InsertButton({ index, onInsert }) {
51
51
  }
52
52
 
53
53
  // src/components/editor/IndicatorPill.tsx
54
- import { useRef, useState, useCallback } from "react";
54
+ import { useEffect, useRef, useState, useCallback } from "react";
55
55
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
56
56
  function IndicatorPill({
57
57
  dots,
@@ -73,6 +73,7 @@ function IndicatorPill({
73
73
  hoverTimeout.current = null;
74
74
  }
75
75
  }, []);
76
+ useEffect(() => clearHoverTimeout, [clearHoverTimeout]);
76
77
  function handleMouseEnter() {
77
78
  clearHoverTimeout();
78
79
  if (!disabled && !clickOpen && hoverContent) {
@@ -327,7 +328,7 @@ function AudienceIndicator({ access, audiences, onChange, disabled }) {
327
328
  }
328
329
 
329
330
  // src/components/editor/SectionWrapper.tsx
330
- import { useState as useState4, useRef as useRef2, useEffect } from "react";
331
+ import { useState as useState4, useRef as useRef2, useEffect as useEffect2 } from "react";
331
332
  import { ArrowRightLeft, Plus } from "lucide-react";
332
333
 
333
334
  // src/components/editor/LockBadge.tsx
@@ -415,7 +416,7 @@ function SectionWrapper({
415
416
  const { openModal } = useEditorModal();
416
417
  const [isActive, setIsActive] = useState4(false);
417
418
  const [chromeReady, setChromeReady] = useState4(isEditMode);
418
- useEffect(() => {
419
+ useEffect2(() => {
419
420
  if (isEditMode) {
420
421
  const id = requestAnimationFrame(() => setChromeReady(true));
421
422
  return () => cancelAnimationFrame(id);
@@ -427,7 +428,7 @@ function SectionWrapper({
427
428
  const [isDragging, setIsDragging] = useState4(false);
428
429
  const [closestEdge, setClosestEdge] = useState4(null);
429
430
  const hasSettings = !!((definition.settings || definition.settingsForm) && onSectionChange);
430
- useEffect(() => {
431
+ useEffect2(() => {
431
432
  const block = blockRef.current;
432
433
  if (!block) return;
433
434
  const onFocusIn = () => {
@@ -444,7 +445,7 @@ function SectionWrapper({
444
445
  block.removeEventListener("focusout", onFocusOut);
445
446
  };
446
447
  }, [isLocked, onEditIntent]);
447
- useEffect(() => {
448
+ useEffect2(() => {
448
449
  const block = blockRef.current;
449
450
  const handle = handleRef.current;
450
451
  if (!block || !handle || !isEditMode) return;
@@ -1 +1 @@
1
- {"version":3,"file":"EditableRichText.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/EditableRichText.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAQD,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,UAAU,EACV,MAAe,EACf,SAAS,EACT,WAAiC,GAClC,EAAE,qBAAqB,2CAwHvB"}
1
+ {"version":3,"file":"EditableRichText.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/EditableRichText.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAQD,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,UAAU,EACV,MAAe,EACf,SAAS,EACT,WAAiC,GAClC,EAAE,qBAAqB,2CAyHvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"LinkPopover.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/LinkPopover.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAM3C,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAKD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,gBAAgB,2CAqKhE"}
1
+ {"version":3,"file":"LinkPopover.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/LinkPopover.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAM3C,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAKD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,gBAAgB,2CA2LhE"}
@@ -7,4 +7,6 @@ export { ResolvedMedia } from "./ResolvedMedia";
7
7
  export { LinkPopover } from "./LinkPopover";
8
8
  export { defineHeadingSection } from "./defineHeadingSection";
9
9
  export { MediaBlock } from "../sections/Media/MediaBlock";
10
+ export { LinkField } from "../shared/LinkField";
11
+ export { usePages, PagesContext, type PagesContextValue } from "../shared/PagesContext";
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI1D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}