@drawnagency/primitives 0.1.90 → 0.1.92

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 (43) hide show
  1. package/dist/{chunk-ZLG7S54V.js → chunk-7QEJDYTG.js} +6 -6
  2. package/dist/{chunk-XUIJHYKI.js → chunk-A2V7BZPD.js} +3 -3
  3. package/dist/{chunk-NV4R6VHN.js → chunk-CI624HRS.js} +1 -1
  4. package/dist/{chunk-SIYQ37QY.js → chunk-IZLXF3CR.js} +1 -1
  5. package/dist/{chunk-XKRQMTE4.js → chunk-LQQY2RW6.js} +2 -2
  6. package/dist/{chunk-KMQZYORS.js → chunk-RUKO2N3F.js} +5 -1
  7. package/dist/{chunk-CZ3YXGK5.js → chunk-SOILPZ7U.js} +27 -3
  8. package/dist/{chunk-AGWE2LJG.js → chunk-WOYGQK2D.js} +1 -1
  9. package/dist/{chunk-KBQNJZUX.js → chunk-YI2HUFE3.js} +1 -1
  10. package/dist/{chunk-MK7YB2A4.js → chunk-Z66TBL4Q.js} +1 -1
  11. package/dist/components/chat/ChatPanel.d.ts +14 -6
  12. package/dist/components/chat/ChatPanel.d.ts.map +1 -1
  13. package/dist/components/chat/ChatWidget.d.ts.map +1 -1
  14. package/dist/components/editor/index.js +4 -4
  15. package/dist/components/primitives/index.js +5 -5
  16. package/dist/components/sections/brand-guide.js +5 -5
  17. package/dist/components/sections/register-schemas.js +8 -8
  18. package/dist/components/sections/register.js +8 -8
  19. package/dist/components/shared/Fab.d.ts +37 -0
  20. package/dist/components/shared/Fab.d.ts.map +1 -0
  21. package/dist/components/shell/BugReportFAB.d.ts.map +1 -1
  22. package/dist/components/shell/EditorShell.d.ts.map +1 -1
  23. package/dist/components/shell/ViewerLoginForm.d.ts +1 -0
  24. package/dist/components/shell/ViewerLoginForm.d.ts.map +1 -1
  25. package/dist/index.js +4 -4
  26. package/dist/lib/index.js +2 -2
  27. package/dist/media/compose-preview.d.ts +9 -0
  28. package/dist/media/compose-preview.d.ts.map +1 -1
  29. package/dist/media/index.js +2 -2
  30. package/dist/media/preview-inputs.d.ts.map +1 -1
  31. package/dist/schemas/index.js +2 -2
  32. package/dist/schemas/site-config.d.ts +1 -0
  33. package/dist/schemas/site-config.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/src/components/chat/ChatPanel.tsx +51 -19
  36. package/src/components/chat/ChatWidget.tsx +113 -51
  37. package/src/components/shared/Fab.tsx +57 -0
  38. package/src/components/shell/BugReportFAB.tsx +3 -7
  39. package/src/components/shell/EditorShell.tsx +38 -19
  40. package/src/components/shell/ViewerLoginForm.tsx +19 -8
  41. package/src/media/compose-preview.ts +56 -4
  42. package/src/media/preview-inputs.ts +3 -1
  43. package/src/schemas/site-config.ts +4 -0
@@ -3,7 +3,7 @@ import {
3
3
  pluralize,
4
4
  stripHtmlToPlainText,
5
5
  truncate
6
- } from "./chunk-XUIJHYKI.js";
6
+ } from "./chunk-A2V7BZPD.js";
7
7
  import {
8
8
  DeleteButton,
9
9
  DragHandle,
@@ -17,11 +17,11 @@ import {
17
17
  buildBlockDropData,
18
18
  canDropBlock,
19
19
  isBlockDragData
20
- } from "./chunk-SIYQ37QY.js";
20
+ } from "./chunk-IZLXF3CR.js";
21
21
  import {
22
22
  EditableRichText,
23
23
  defineHeadingSection
24
- } from "./chunk-KBQNJZUX.js";
24
+ } from "./chunk-YI2HUFE3.js";
25
25
  import {
26
26
  EditablePlainText,
27
27
  ImageDropZone,
@@ -31,11 +31,11 @@ import {
31
31
  containerGridClass,
32
32
  masonryColumnsClass,
33
33
  spacerHiddenClass
34
- } from "./chunk-XKRQMTE4.js";
34
+ } from "./chunk-LQQY2RW6.js";
35
35
  import {
36
36
  useMediaLibrary,
37
37
  useResolvedMedia
38
- } from "./chunk-NV4R6VHN.js";
38
+ } from "./chunk-CI624HRS.js";
39
39
  import {
40
40
  embedUrl
41
41
  } from "./chunk-Y4JQGO6G.js";
@@ -54,7 +54,7 @@ import {
54
54
  } from "./chunk-TZQPOR5A.js";
55
55
  import {
56
56
  SingleMediaReferenceSchema
57
- } from "./chunk-KMQZYORS.js";
57
+ } from "./chunk-RUKO2N3F.js";
58
58
  import {
59
59
  defineSection,
60
60
  getSection
@@ -9,13 +9,13 @@ import {
9
9
  MediaBlock,
10
10
  containerGridClass,
11
11
  useEditableCollection
12
- } from "./chunk-XKRQMTE4.js";
12
+ } from "./chunk-LQQY2RW6.js";
13
13
  import {
14
14
  AddIcon,
15
15
  DeleteIcon,
16
16
  DragHandle,
17
17
  IconButton
18
- } from "./chunk-NV4R6VHN.js";
18
+ } from "./chunk-CI624HRS.js";
19
19
  import {
20
20
  DEFAULT_LINK,
21
21
  LinkValueSchema
@@ -30,7 +30,7 @@ import {
30
30
  import {
31
31
  HexColorSchema,
32
32
  SingleMediaReferenceSchema
33
- } from "./chunk-KMQZYORS.js";
33
+ } from "./chunk-RUKO2N3F.js";
34
34
  import {
35
35
  defineSection
36
36
  } from "./chunk-VKAGMEKE.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getMediaProvider
3
- } from "./chunk-CZ3YXGK5.js";
3
+ } from "./chunk-SOILPZ7U.js";
4
4
  import {
5
5
  cn
6
6
  } from "./chunk-7EOSDFS3.js";
@@ -14,7 +14,7 @@ import {
14
14
  SettingsIcon,
15
15
  useMediaLibrary,
16
16
  useResolvedMedia
17
- } from "./chunk-NV4R6VHN.js";
17
+ } from "./chunk-CI624HRS.js";
18
18
  import {
19
19
  cn
20
20
  } from "./chunk-7EOSDFS3.js";
@@ -6,10 +6,10 @@ import {
6
6
  SettingsIcon,
7
7
  useMediaLibrary,
8
8
  useResolvedMedia
9
- } from "./chunk-NV4R6VHN.js";
9
+ } from "./chunk-CI624HRS.js";
10
10
  import {
11
11
  rebindImageRef
12
- } from "./chunk-CZ3YXGK5.js";
12
+ } from "./chunk-SOILPZ7U.js";
13
13
  import {
14
14
  cn
15
15
  } from "./chunk-7EOSDFS3.js";
@@ -309,7 +309,11 @@ var SiteConfigSchema = z3.object({
309
309
  previewImage: z3.object({
310
310
  imageId: z3.string(),
311
311
  width: z3.number().int().positive(),
312
- height: z3.number().int().positive()
312
+ height: z3.number().int().positive(),
313
+ // Compose-logic version that produced this raster. Pre-existing rasters
314
+ // (and manifests written before this field) default to 0, which is below
315
+ // any current PREVIEW_COMPOSE_VERSION, so the editor regenerates them.
316
+ version: z3.number().int().nonnegative().default(0)
313
317
  }).nullable().default(null),
314
318
  // Optional site description → og:description + <meta name="description">.
315
319
  description: z3.string().max(300).nullable().default(null),
@@ -311,6 +311,31 @@ function generateVideoPoster(blob, quality) {
311
311
  // src/media/compose-preview.ts
312
312
  var WIDTH = 1200;
313
313
  var HEIGHT = 630;
314
+ var HEADING_WEIGHT = 700;
315
+ async function loadHeadingFont(family, googleFontsUrl) {
316
+ if (!family || family === "system-ui" || !googleFontsUrl || typeof FontFace === "undefined") return;
317
+ const spec = `${HEADING_WEIGHT} 84px "${family}"`;
318
+ try {
319
+ const loaded = await document.fonts.load(spec);
320
+ if (loaded.length > 0) return;
321
+ } catch {
322
+ }
323
+ try {
324
+ const css = await (await fetch(googleFontsUrl)).text();
325
+ const blocks = css.match(/@font-face\s*\{[^}]*\}/g) ?? [];
326
+ const wanted = blocks.filter((b) => new RegExp(`font-weight:\\s*${HEADING_WEIGHT}\\b`).test(b));
327
+ await Promise.all(
328
+ (wanted.length ? wanted : blocks).map(async (block) => {
329
+ const url = block.match(/url\(([^)]+)\)/)?.[1];
330
+ if (!url) return;
331
+ const face = new FontFace(family, `url(${url})`, { weight: String(HEADING_WEIGHT) });
332
+ await face.load();
333
+ document.fonts.add(face);
334
+ })
335
+ );
336
+ } catch {
337
+ }
338
+ }
314
339
  async function composePreviewImage(inputs) {
315
340
  const canvas = document.createElement("canvas");
316
341
  canvas.width = WIDTH;
@@ -340,12 +365,11 @@ async function composePreviewImage(inputs) {
340
365
  }
341
366
  if (!drewLogo) {
342
367
  if (document.fonts?.ready) await document.fonts.ready;
343
- await document.fonts.load(`600 84px ${inputs.headingFont}`).catch(() => {
344
- });
368
+ await loadHeadingFont(inputs.headingFont, inputs.googleFontsUrl);
345
369
  ctx.fillStyle = inputs.textColor;
346
370
  ctx.textAlign = "center";
347
371
  ctx.textBaseline = "middle";
348
- ctx.font = `600 84px ${inputs.headingFont}, system-ui, sans-serif`;
372
+ ctx.font = `${HEADING_WEIGHT} 84px "${inputs.headingFont}", system-ui, sans-serif`;
349
373
  ctx.fillText(inputs.siteName, WIDTH / 2, HEIGHT / 2, WIDTH * 0.86);
350
374
  }
351
375
  return await new Promise((resolve, reject) => {
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-TZQPOR5A.js";
10
10
  import {
11
11
  IndexSchema
12
- } from "./chunk-KMQZYORS.js";
12
+ } from "./chunk-RUKO2N3F.js";
13
13
  import {
14
14
  getAllSchemas
15
15
  } from "./chunk-VKAGMEKE.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  EditablePlainText
3
- } from "./chunk-XKRQMTE4.js";
3
+ } from "./chunk-LQQY2RW6.js";
4
4
  import {
5
5
  Button,
6
6
  usePages
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  HexColorSchema
3
- } from "./chunk-KMQZYORS.js";
3
+ } from "./chunk-RUKO2N3F.js";
4
4
 
5
5
  // src/schemas/audience.ts
6
6
  import { z } from "zod";
@@ -3,9 +3,9 @@ export interface ChatMessage {
3
3
  content: string;
4
4
  }
5
5
  /** How the conversation is framed on screen:
6
- * - "floating": the compact anchored panel (/edit FAB + settings test chat)
7
- * - "docked": full-height right sidebar (viewer, >=768px)
8
- * - "sheet": bottom sheet (viewer, phones) */
6
+ * - "floating": the compact anchored panel (settings test chat only)
7
+ * - "docked": full-height right sidebar (viewer + /edit, >=768px)
8
+ * - "sheet": bottom sheet (viewer + /edit, phones) */
9
9
  export type ChatPanelMode = "floating" | "docked" | "sheet";
10
10
  /** Assistant markdown → sanitized HTML. Callers MUST gate on the sanitizer
11
11
  * having loaded (`mdReady`) — before then sanitizeHtml passes raw HTML
@@ -26,8 +26,15 @@ export declare function streamChat(body: {
26
26
  error: string;
27
27
  retryAfterMs?: number;
28
28
  }>;
29
- export default function ChatPanel({ open, onClose, siteName, botName, thinkingPhrases, tasks, isEditor, draftChatbot, simulateAudience, variant, mode, focusComposer, audience }: {
29
+ export default function ChatPanel({ open, closing, animateEnter, onClose, siteName, botName, thinkingPhrases, tasks, isEditor, draftChatbot, simulateAudience, variant, mode, focusComposer, audience }: {
30
30
  open: boolean;
31
+ /** Viewer modes: keeps the panel mounted through its exit slide (ChatWidget
32
+ * flips this off once the transition has run). */
33
+ closing?: boolean;
34
+ /** Animate the entrance (explicit user open). False for the docked restore
35
+ * on page load, where the column is already reserved pre-paint and a slide
36
+ * would replay on every navigation. */
37
+ animateEnter?: boolean;
31
38
  onClose: () => void;
32
39
  siteName: string;
33
40
  /** Resolved assistant display name (per-audience, server-side). */
@@ -43,8 +50,9 @@ export default function ChatPanel({ open, onClose, siteName, botName, thinkingPh
43
50
  draftChatbot?: unknown;
44
51
  /** Configurator test panel only: preview this audience's prompt overlay. */
45
52
  simulateAudience?: string;
46
- /** Floating mode only — anchors the panel above its launcher: viewer corner
47
- * FAB vs /edit FAB column. */
53
+ /** Surface the chat serves: "editor" (/edit docked chat) keeps internal
54
+ * cross-page links in a new tab (unsaved editor state) and sizes the
55
+ * docked panel against the editor toolbar instead of the viewer nav. */
48
56
  variant?: "viewer" | "editor";
49
57
  mode?: ChatPanelMode;
50
58
  /** Focus the composer when opened (explicit user open on desktop). Never
@@ -1 +1 @@
1
- {"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatPanel.tsx"],"names":[],"mappings":"AAWA,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAE5E;;;kDAGkD;AAClD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AA8C5D;;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,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAkB,EAAE,IAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE;IACxM,IAAI,EAAE,OAAO,CAAC;IACd,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;mCAC+B;IAC/B,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,kDA8dA"}
1
+ {"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatPanel.tsx"],"names":[],"mappings":"AAWA,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,kDAqfA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatWidget.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatWidget.tsx"],"names":[],"mappings":"AAoBA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kFAAkF;IAClF,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAkB,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAyFtJ"}
1
+ {"version":3,"file":"ChatWidget.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatWidget.tsx"],"names":[],"mappings":"AAyBA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kFAAkF;IAClF,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAWD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAkB,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAyItJ"}
@@ -11,20 +11,20 @@ import {
11
11
  buildBlockDropData,
12
12
  canDropBlock,
13
13
  isBlockDragData
14
- } from "../../chunk-SIYQ37QY.js";
14
+ } from "../../chunk-IZLXF3CR.js";
15
15
  import "../../chunk-5THS4K5D.js";
16
16
  import "../../chunk-ZSPCE6MZ.js";
17
17
  import {
18
18
  AddIcon,
19
19
  IconButton
20
- } from "../../chunk-NV4R6VHN.js";
21
- import "../../chunk-CZ3YXGK5.js";
20
+ } from "../../chunk-CI624HRS.js";
21
+ import "../../chunk-SOILPZ7U.js";
22
22
  import "../../chunk-677NTHAZ.js";
23
23
  import {
24
24
  cn
25
25
  } from "../../chunk-7EOSDFS3.js";
26
26
  import "../../chunk-YBVK254P.js";
27
- import "../../chunk-KMQZYORS.js";
27
+ import "../../chunk-RUKO2N3F.js";
28
28
  import "../../chunk-FM4M4Q2W.js";
29
29
  import "../../chunk-JSBRDJBE.js";
30
30
 
@@ -2,7 +2,7 @@ import {
2
2
  EditableRichText,
3
3
  LinkPopover,
4
4
  defineHeadingSection
5
- } from "../../chunk-KBQNJZUX.js";
5
+ } from "../../chunk-YI2HUFE3.js";
6
6
  import {
7
7
  EditableGrid,
8
8
  EditablePlainText,
@@ -10,20 +10,20 @@ import {
10
10
  MediaBlock,
11
11
  ResolvedMedia,
12
12
  useEditableCollection
13
- } from "../../chunk-XKRQMTE4.js";
13
+ } from "../../chunk-LQQY2RW6.js";
14
14
  import "../../chunk-ZSPCE6MZ.js";
15
15
  import {
16
16
  DeleteIcon,
17
17
  DragHandle,
18
18
  IconButton
19
- } from "../../chunk-NV4R6VHN.js";
20
- import "../../chunk-CZ3YXGK5.js";
19
+ } from "../../chunk-CI624HRS.js";
20
+ import "../../chunk-SOILPZ7U.js";
21
21
  import "../../chunk-53DKVAB6.js";
22
22
  import {
23
23
  cn
24
24
  } from "../../chunk-7EOSDFS3.js";
25
25
  import "../../chunk-YBVK254P.js";
26
- import "../../chunk-KMQZYORS.js";
26
+ import "../../chunk-RUKO2N3F.js";
27
27
  import "../../chunk-VKAGMEKE.js";
28
28
  import "../../chunk-FM4M4Q2W.js";
29
29
  import "../../chunk-JSBRDJBE.js";
@@ -2,16 +2,16 @@ import {
2
2
  ColorItemSchema,
3
3
  ColorSpaceSchema,
4
4
  brandGuideSectionDefs
5
- } from "../../chunk-XUIJHYKI.js";
5
+ } from "../../chunk-A2V7BZPD.js";
6
6
  import "../../chunk-5THS4K5D.js";
7
- import "../../chunk-XKRQMTE4.js";
8
- import "../../chunk-NV4R6VHN.js";
9
- import "../../chunk-CZ3YXGK5.js";
7
+ import "../../chunk-LQQY2RW6.js";
8
+ import "../../chunk-CI624HRS.js";
9
+ import "../../chunk-SOILPZ7U.js";
10
10
  import "../../chunk-PZJL2S3Z.js";
11
11
  import "../../chunk-WDSVHKAH.js";
12
12
  import "../../chunk-7EOSDFS3.js";
13
13
  import "../../chunk-YBVK254P.js";
14
- import "../../chunk-KMQZYORS.js";
14
+ import "../../chunk-RUKO2N3F.js";
15
15
  import "../../chunk-VKAGMEKE.js";
16
16
  import "../../chunk-FM4M4Q2W.js";
17
17
  import "../../chunk-JSBRDJBE.js";
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  allSectionDefs
3
- } from "../../chunk-ZLG7S54V.js";
4
- import "../../chunk-XUIJHYKI.js";
5
- import "../../chunk-SIYQ37QY.js";
3
+ } from "../../chunk-7QEJDYTG.js";
4
+ import "../../chunk-A2V7BZPD.js";
5
+ import "../../chunk-IZLXF3CR.js";
6
6
  import "../../chunk-5THS4K5D.js";
7
- import "../../chunk-KBQNJZUX.js";
8
- import "../../chunk-XKRQMTE4.js";
7
+ import "../../chunk-YI2HUFE3.js";
8
+ import "../../chunk-LQQY2RW6.js";
9
9
  import "../../chunk-ZSPCE6MZ.js";
10
- import "../../chunk-NV4R6VHN.js";
10
+ import "../../chunk-CI624HRS.js";
11
11
  import "../../chunk-Y4JQGO6G.js";
12
- import "../../chunk-CZ3YXGK5.js";
12
+ import "../../chunk-SOILPZ7U.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
17
  import "../../chunk-YBVK254P.js";
18
18
  import "../../chunk-TZQPOR5A.js";
19
- import "../../chunk-KMQZYORS.js";
19
+ import "../../chunk-RUKO2N3F.js";
20
20
  import {
21
21
  registerRichText,
22
22
  registerSchema
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  allSectionDefs
3
- } from "../../chunk-ZLG7S54V.js";
4
- import "../../chunk-XUIJHYKI.js";
5
- import "../../chunk-SIYQ37QY.js";
3
+ } from "../../chunk-7QEJDYTG.js";
4
+ import "../../chunk-A2V7BZPD.js";
5
+ import "../../chunk-IZLXF3CR.js";
6
6
  import "../../chunk-5THS4K5D.js";
7
- import "../../chunk-KBQNJZUX.js";
8
- import "../../chunk-XKRQMTE4.js";
7
+ import "../../chunk-YI2HUFE3.js";
8
+ import "../../chunk-LQQY2RW6.js";
9
9
  import "../../chunk-ZSPCE6MZ.js";
10
- import "../../chunk-NV4R6VHN.js";
10
+ import "../../chunk-CI624HRS.js";
11
11
  import "../../chunk-Y4JQGO6G.js";
12
- import "../../chunk-CZ3YXGK5.js";
12
+ import "../../chunk-SOILPZ7U.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
17
  import "../../chunk-YBVK254P.js";
18
18
  import "../../chunk-TZQPOR5A.js";
19
- import "../../chunk-KMQZYORS.js";
19
+ import "../../chunk-RUKO2N3F.js";
20
20
  import {
21
21
  registerSection
22
22
  } from "../../chunk-VKAGMEKE.js";
@@ -0,0 +1,37 @@
1
+ import type { ComponentPropsWithoutRef, ReactNode, Ref } from "react";
2
+ /** Floating action button — the round primary buttons floating over the page.
3
+ *
4
+ * The `column` is both the placement and the behavior hook: base.css hides
5
+ * every member of both columns (shrink + fade) while the chat is open, keyed
6
+ * on the column class, so a new FAB participates in the chat open/close
7
+ * choreography just by rendering through this component. Positions are
8
+ * static on purpose — FABs are only visible while the chat is closed
9
+ * (--chat-space: 0), so they never need to track the docked sidebar.
10
+ *
11
+ * - "viewer": viewport corner stack (z-40, h-12). Rendered on SSR viewer
12
+ * pages too — keep this component hook-free so it stays server-renderable
13
+ * without hydration.
14
+ * - "editor": the /edit FAB column (z-50, h-10), content-edge aligned at lg+
15
+ * via fab-container-right.
16
+ *
17
+ * Renders an <a> when `href` is set, else a <button type="button">. The
18
+ * caller supplies the vertical slot (bottom-*) via className and the icon as
19
+ * children.
20
+ */
21
+ interface FabCommon {
22
+ /** Accessible name — FABs are icon-only. */
23
+ label: string;
24
+ column: "viewer" | "editor";
25
+ /** Vertical slot (bottom-*) plus any per-FAB extras. */
26
+ className?: string;
27
+ children: ReactNode;
28
+ }
29
+ export type FabProps = ({
30
+ href: string;
31
+ } & FabCommon & Omit<ComponentPropsWithoutRef<"a">, "children" | "className" | "aria-label">) | ({
32
+ href?: undefined;
33
+ ref?: Ref<HTMLButtonElement>;
34
+ } & FabCommon & Omit<ComponentPropsWithoutRef<"button">, "children" | "className" | "aria-label" | "type">);
35
+ export default function Fab({ label, column, className, children, ...rest }: FabProps): import("react/jsx-runtime").JSX.Element;
36
+ export {};
37
+ //# sourceMappingURL=Fab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fab.d.ts","sourceRoot":"","sources":["../../../src/components/shared/Fab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,UAAU,SAAS;IACjB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,MAAM,QAAQ,GAChB,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC,CAAC,GAC7G,CAAC;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAAE,GAAG,SAAS,GAC7D,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC;AAElG,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,QAAQ,2CAoBpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"BugReportFAB.d.ts","sourceRoot":"","sources":["../../../src/components/shell/BugReportFAB.tsx"],"names":[],"mappings":"AA6BA,wBAAgB,YAAY,mDA0T3B"}
1
+ {"version":3,"file":"BugReportFAB.d.ts","sourceRoot":"","sources":["../../../src/components/shell/BugReportFAB.tsx"],"names":[],"mappings":"AA8BA,wBAAgB,YAAY,mDAqT3B"}
@@ -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;AAcjD,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAuDtF,OAAO,KAAK,EAAE,eAAe,EAA2D,MAAM,oBAAoB,CAAC;AAuCnH,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,2CA0mDP;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
+ {"version":3,"file":"EditorShell.d.ts","sourceRoot":"","sources":["../../../src/components/shell/EditorShell.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAcjD,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAuDtF,OAAO,KAAK,EAAE,eAAe,EAA2D,MAAM,oBAAoB,CAAC;AAwCnH,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,2CAunDP;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"}
@@ -2,6 +2,7 @@ interface Props {
2
2
  audiences: Array<{
3
3
  name: string;
4
4
  displayName: string;
5
+ hasPassword?: boolean;
5
6
  }>;
6
7
  next?: string | null;
7
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ViewerLoginForm.d.ts","sourceRoot":"","sources":["../../../src/components/shell/ViewerLoginForm.tsx"],"names":[],"mappings":"AAKA,UAAU,KAAK;IACb,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,2CAoFzD"}
1
+ {"version":3,"file":"ViewerLoginForm.d.ts","sourceRoot":"","sources":["../../../src/components/shell/ViewerLoginForm.tsx"],"names":[],"mappings":"AAKA,UAAU,KAAK;IACb,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC/E,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,2CA+FzD"}
package/dist/index.js CHANGED
@@ -32,7 +32,7 @@ import {
32
32
  resolveMedia,
33
33
  sanitizeMediaName,
34
34
  setMediaProvider
35
- } from "./chunk-CZ3YXGK5.js";
35
+ } from "./chunk-SOILPZ7U.js";
36
36
  import {
37
37
  CollabPeerSchema,
38
38
  HEARTBEAT_INTERVAL_MS,
@@ -51,7 +51,7 @@ import {
51
51
  AudienceNameSchema,
52
52
  MediaGridOptionsSchema,
53
53
  slugifyAudienceName
54
- } from "./chunk-MK7YB2A4.js";
54
+ } from "./chunk-Z66TBL4Q.js";
55
55
  import {
56
56
  AudienceSchema,
57
57
  RoleSchema,
@@ -77,7 +77,7 @@ import {
77
77
  resolveChatbotName,
78
78
  resolveThinkingPhrases,
79
79
  safeRedirect
80
- } from "./chunk-AGWE2LJG.js";
80
+ } from "./chunk-WOYGQK2D.js";
81
81
  import {
82
82
  curatedIcons,
83
83
  getIcon
@@ -131,7 +131,7 @@ import {
131
131
  TextLineSchema,
132
132
  VariantSchema,
133
133
  normalizeSiteIndex
134
- } from "./chunk-KMQZYORS.js";
134
+ } from "./chunk-RUKO2N3F.js";
135
135
  import {
136
136
  clearRegistry,
137
137
  createRegistry,
package/dist/lib/index.js CHANGED
@@ -11,7 +11,7 @@ import {
11
11
  resolveChatbotName,
12
12
  resolveThinkingPhrases,
13
13
  safeRedirect
14
- } from "../chunk-AGWE2LJG.js";
14
+ } from "../chunk-WOYGQK2D.js";
15
15
  import {
16
16
  curatedIcons,
17
17
  getIcon
@@ -37,7 +37,7 @@ import {
37
37
  } from "../chunk-YBVK254P.js";
38
38
  import "../chunk-5BM2Y3NJ.js";
39
39
  import "../chunk-TZQPOR5A.js";
40
- import "../chunk-KMQZYORS.js";
40
+ import "../chunk-RUKO2N3F.js";
41
41
  import {
42
42
  clearRegistry,
43
43
  createRegistry,
@@ -10,9 +10,18 @@ export interface PreviewImageInputs {
10
10
  invertLogo: boolean;
11
11
  siteName: string;
12
12
  headingFont: string;
13
+ /** The site's Google Fonts CSS URL (or null for system-ui), used to load the
14
+ * heading font before drawing so text mode never falls back to system-ui. */
15
+ googleFontsUrl: string | null;
13
16
  /** Computed contrasting text color (text mode). */
14
17
  textColor: string;
15
18
  }
19
+ /**
20
+ * Bump when the composition logic changes so already-composed rasters (stamped
21
+ * with the old version, or 0 for pre-versioning ones) regenerate on next editor
22
+ * open. v2 = load the Google heading font before drawing + draw at weight 700.
23
+ */
24
+ export declare const PREVIEW_COMPOSE_VERSION = 2;
16
25
  /**
17
26
  * Composes the 1200×630 social-preview raster in the browser (Canvas API only,
18
27
  * no dependency). Returns a WebP blob. Must run client-side (uses document/Image
@@ -1 +1 @@
1
- {"version":3,"file":"compose-preview.d.ts","sourceRoot":"","sources":["../../src/media/compose-preview.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC;mFAC+E;IAC/E,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,oFAAoF;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,uFAAuF;IACvF,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDnF"}
1
+ {"version":3,"file":"compose-preview.d.ts","sourceRoot":"","sources":["../../src/media/compose-preview.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC;mFAC+E;IAC/E,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,oFAAoF;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,uFAAuF;IACvF,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB;kFAC8E;IAC9E,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AA0CzC;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDnF"}
@@ -18,7 +18,7 @@ import {
18
18
  resolveMedia,
19
19
  sanitizeMediaName,
20
20
  setMediaProvider
21
- } from "../chunk-CZ3YXGK5.js";
21
+ } from "../chunk-SOILPZ7U.js";
22
22
  import "../chunk-YBVK254P.js";
23
23
  import {
24
24
  ImageManifestSchema,
@@ -26,7 +26,7 @@ import {
26
26
  MediaFolderSchema,
27
27
  MediaItemSchema,
28
28
  VariantSchema
29
- } from "../chunk-KMQZYORS.js";
29
+ } from "../chunk-RUKO2N3F.js";
30
30
  import "../chunk-FM4M4Q2W.js";
31
31
  import "../chunk-JSBRDJBE.js";
32
32
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"preview-inputs.d.ts","sourceRoot":"","sources":["../../src/media/preview-inputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GACjD;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAuCnD;AAKD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAKpF"}
1
+ {"version":3,"file":"preview-inputs.d.ts","sourceRoot":"","sources":["../../src/media/preview-inputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GACjD;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAyCnD;AAKD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAKpF"}
@@ -3,7 +3,7 @@ import {
3
3
  AudienceNameSchema,
4
4
  MediaGridOptionsSchema,
5
5
  slugifyAudienceName
6
- } from "../chunk-MK7YB2A4.js";
6
+ } from "../chunk-Z66TBL4Q.js";
7
7
  import {
8
8
  AudienceSchema,
9
9
  RoleSchema,
@@ -41,7 +41,7 @@ import {
41
41
  TextLineSchema,
42
42
  VariantSchema,
43
43
  normalizeSiteIndex
44
- } from "../chunk-KMQZYORS.js";
44
+ } from "../chunk-RUKO2N3F.js";
45
45
  import "../chunk-VKAGMEKE.js";
46
46
  import "../chunk-FM4M4Q2W.js";
47
47
  import "../chunk-NSCT3AMV.js";
@@ -485,6 +485,7 @@ export declare const SiteConfigSchema: z.ZodObject<{
485
485
  imageId: z.ZodString;
486
486
  width: z.ZodNumber;
487
487
  height: z.ZodNumber;
488
+ version: z.ZodDefault<z.ZodNumber>;
488
489
  }, z.core.$strip>>>;
489
490
  description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
490
491
  chatbot: z.ZodDefault<z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"site-config.d.ts","sourceRoot":"","sources":["../../src/schemas/site-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,YAAY;;;;;+FAExB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;iBAI5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAQ5D,eAAO,MAAM,cAAc,8EAA+E,CAAC;AAW3G,eAAO,MAAM,gBAAgB;;;EAA+B,CAAC;AAE7D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUrB,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AA0C9C,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6CtB,CAAC;AAEL,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAyE,CAAC;AAElG,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE7D,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAE1D;AAMD,eAAO,MAAM,iBAAiB;;;;;iBAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;iBAiC5B,CAAC;AACL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyD3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"site-config.d.ts","sourceRoot":"","sources":["../../src/schemas/site-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,YAAY;;;;;+FAExB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;iBAI5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAQ5D,eAAO,MAAM,cAAc,8EAA+E,CAAC;AAW3G,eAAO,MAAM,gBAAgB;;;EAA+B,CAAC;AAE7D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUrB,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AA0C9C,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6CtB,CAAC;AAEL,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAyE,CAAC;AAElG,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE7D,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAE1D;AAMD,eAAO,MAAM,iBAAiB;;;;;iBAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;iBAiC5B,CAAC;AACL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6D3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drawnagency/primitives",
3
- "version": "0.1.90",
3
+ "version": "0.1.92",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./package.json": "./package.json",