@drawnagency/primitives 0.1.71 → 0.1.73

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 (90) hide show
  1. package/dist/{chunk-RTYJZAKR.js → chunk-7T2WQSWF.js} +12 -12
  2. package/dist/chunk-IFHRHV7S.js +117 -0
  3. package/dist/{chunk-2BHPWO7M.js → chunk-N6AE6NBB.js} +158 -32
  4. package/dist/{chunk-WXVKX6PY.js → chunk-NKVZGPR6.js} +41 -95
  5. package/dist/{chunk-3DCG4DNU.js → chunk-PZJL2S3Z.js} +8 -4
  6. package/dist/chunk-RBTSUR5V.js +37 -0
  7. package/dist/{chunk-6UDYJQL6.js → chunk-S55OZ7F2.js} +9 -1
  8. package/dist/{chunk-NR7UB6DZ.js → chunk-SFKYUKVN.js} +1 -1
  9. package/dist/{chunk-YMVYTYGQ.js → chunk-SWIHUIFT.js} +28 -16
  10. package/dist/{chunk-KWBM27UR.js → chunk-T7MP7ANP.js} +13 -64
  11. package/dist/{chunk-MU3CDERQ.js → chunk-XTRTK26E.js} +276 -96
  12. package/dist/{chunk-GKV77AA6.js → chunk-ZRWGV5O6.js} +3 -3
  13. package/dist/chunk-ZSPCE6MZ.js +70 -0
  14. package/dist/components/editor/SettingsForm.d.ts.map +1 -1
  15. package/dist/components/editor/index.js +6 -3
  16. package/dist/components/primitives/ResolvedMedia.d.ts.map +1 -1
  17. package/dist/components/primitives/index.js +7 -7
  18. package/dist/components/sections/Media/MediaBlock.d.ts.map +1 -1
  19. package/dist/components/sections/Video/VideoBlock.d.ts +31 -0
  20. package/dist/components/sections/Video/VideoBlock.d.ts.map +1 -0
  21. package/dist/components/sections/Video/index.d.ts +28 -0
  22. package/dist/components/sections/Video/index.d.ts.map +1 -0
  23. package/dist/components/sections/all-sections.d.ts +25 -0
  24. package/dist/components/sections/all-sections.d.ts.map +1 -1
  25. package/dist/components/sections/brand-guide.js +7 -7
  26. package/dist/components/sections/core-sections.d.ts +25 -0
  27. package/dist/components/sections/core-sections.d.ts.map +1 -1
  28. package/dist/components/sections/register-schemas.js +13 -12
  29. package/dist/components/sections/register.js +13 -12
  30. package/dist/components/shared/Tabs.d.ts +1 -1
  31. package/dist/components/shared/VideoSourceField.d.ts +8 -0
  32. package/dist/components/shared/VideoSourceField.d.ts.map +1 -0
  33. package/dist/components/shell/EditorShell.d.ts.map +1 -1
  34. package/dist/components/shell/MediaLibraryModal.d.ts +4 -1
  35. package/dist/components/shell/MediaLibraryModal.d.ts.map +1 -1
  36. package/dist/hooks/useEditorPublish.d.ts +4 -1
  37. package/dist/hooks/useEditorPublish.d.ts.map +1 -1
  38. package/dist/hooks/useMediaPipeline.d.ts +9 -1
  39. package/dist/hooks/useMediaPipeline.d.ts.map +1 -1
  40. package/dist/index.js +28 -24
  41. package/dist/lib/index.js +10 -10
  42. package/dist/lib/registry.d.ts +6 -0
  43. package/dist/lib/registry.d.ts.map +1 -1
  44. package/dist/lib/save-chunks.d.ts +28 -0
  45. package/dist/lib/save-chunks.d.ts.map +1 -0
  46. package/dist/lib/video-url.d.ts +7 -0
  47. package/dist/lib/video-url.d.ts.map +1 -0
  48. package/dist/lib/video-url.js +9 -0
  49. package/dist/media/index.js +6 -2
  50. package/dist/media/resolve.d.ts +14 -0
  51. package/dist/media/resolve.d.ts.map +1 -1
  52. package/dist/media/videoPoster.d.ts +1 -0
  53. package/dist/media/videoPoster.d.ts.map +1 -1
  54. package/dist/schemas/index.js +4 -4
  55. package/dist/schemas/link.d.ts.map +1 -1
  56. package/dist/schemas/link.js +1 -1
  57. package/dist/schemas/media.d.ts +13 -0
  58. package/dist/schemas/media.d.ts.map +1 -1
  59. package/dist/schemas/shared.d.ts.map +1 -1
  60. package/dist/schemas/site-config.d.ts +1 -0
  61. package/dist/schemas/site-config.d.ts.map +1 -1
  62. package/dist/storage/index.d.ts +1 -1
  63. package/dist/storage/index.d.ts.map +1 -1
  64. package/dist/storage/types.d.ts +26 -0
  65. package/dist/storage/types.d.ts.map +1 -1
  66. package/package.json +5 -1
  67. package/src/components/editor/SettingsForm.tsx +11 -0
  68. package/src/components/primitives/ResolvedMedia.tsx +10 -5
  69. package/src/components/sections/Media/MediaBlock.tsx +2 -1
  70. package/src/components/sections/Video/VideoBlock.tsx +149 -0
  71. package/src/components/sections/Video/index.tsx +111 -0
  72. package/src/components/sections/core-sections.ts +2 -0
  73. package/src/components/shared/Tabs.tsx +2 -2
  74. package/src/components/shared/VideoSourceField.tsx +144 -0
  75. package/src/components/shell/EditorShell.tsx +16 -2
  76. package/src/components/shell/MediaLibraryModal.tsx +47 -1
  77. package/src/hooks/useEditorPublish.ts +137 -50
  78. package/src/hooks/useMediaPipeline.ts +188 -25
  79. package/src/lib/registry.ts +7 -0
  80. package/src/lib/save-chunks.ts +53 -0
  81. package/src/lib/video-url.ts +39 -0
  82. package/src/media/resolve.ts +18 -0
  83. package/src/media/videoPoster.ts +2 -2
  84. package/src/schemas/link.ts +15 -4
  85. package/src/schemas/media.ts +12 -0
  86. package/src/schemas/shared.ts +23 -14
  87. package/src/storage/index.ts +1 -1
  88. package/src/storage/types.ts +23 -0
  89. package/dist/chunk-4E66N6UV.js +0 -10
  90. package/dist/chunk-I5737FJY.js +0 -62
package/dist/index.js CHANGED
@@ -13,6 +13,7 @@ import {
13
13
  verifySessionToken
14
14
  } from "./chunk-EM5DFHDZ.js";
15
15
  import {
16
+ BAKED_MEDIA_KEYS,
16
17
  EXT_TO_MIME,
17
18
  MIME_TO_EXT,
18
19
  ProcessingQueue,
@@ -23,17 +24,18 @@ import {
23
24
  getMediaProvider,
24
25
  hashFileBuffer,
25
26
  mimeToExt,
27
+ rebindImageRef,
26
28
  resolveManifestReferences,
27
29
  resolveMedia,
28
30
  sanitizeMediaName,
29
31
  setMediaProvider
30
- } from "./chunk-6UDYJQL6.js";
32
+ } from "./chunk-S55OZ7F2.js";
31
33
  import {
32
34
  AudienceColorSchema,
33
35
  AudienceNameSchema,
34
36
  MediaGridOptionsSchema,
35
37
  slugifyAudienceName
36
- } from "./chunk-NR7UB6DZ.js";
38
+ } from "./chunk-SFKYUKVN.js";
37
39
  import {
38
40
  AudienceSchema,
39
41
  RoleSchema,
@@ -45,7 +47,7 @@ import {
45
47
  LinkTargetSchema,
46
48
  LinkValueSchema,
47
49
  isSafeHref
48
- } from "./chunk-3DCG4DNU.js";
50
+ } from "./chunk-PZJL2S3Z.js";
49
51
  import {
50
52
  buildGoogleFontsUrl,
51
53
  deriveContrast,
@@ -55,13 +57,19 @@ import {
55
57
  loadStaticSiteContent,
56
58
  mergeSiteContent,
57
59
  safeRedirect
58
- } from "./chunk-GKV77AA6.js";
60
+ } from "./chunk-ZRWGV5O6.js";
59
61
  import {
60
62
  isSameOriginRequest,
61
63
  requireSessionSecret,
62
64
  safeNextPath
63
65
  } from "./chunk-S2L3BPLS.js";
64
66
  import "./chunk-75P6HWPN.js";
67
+ import {
68
+ ensureSanitizer,
69
+ generateNavLinks,
70
+ sanitizeHtml,
71
+ toSectionId
72
+ } from "./chunk-53DKVAB6.js";
65
73
  import {
66
74
  curatedIcons,
67
75
  getIcon
@@ -73,21 +81,26 @@ import {
73
81
  navChangeEvent
74
82
  } from "./chunk-677NTHAZ.js";
75
83
  import {
76
- ensureSanitizer,
77
- generateNavLinks,
78
- sanitizeHtml,
79
- toSectionId
80
- } from "./chunk-53DKVAB6.js";
84
+ cn
85
+ } from "./chunk-7EOSDFS3.js";
81
86
  import {
82
87
  audiencePasses
83
88
  } from "./chunk-4YEOTFVU.js";
84
- import {
85
- cn
86
- } from "./chunk-7EOSDFS3.js";
87
89
  import {
88
90
  getSectionContentSchema,
89
91
  getSectionSchema
90
92
  } from "./chunk-TZQPOR5A.js";
93
+ import {
94
+ clearRegistry,
95
+ createRegistry,
96
+ defineSection,
97
+ getAllSchemas,
98
+ getAllSections,
99
+ getSchema,
100
+ getSection,
101
+ registerSchema,
102
+ registerSection
103
+ } from "./chunk-VKAGMEKE.js";
91
104
  import {
92
105
  ChatbotConfigSchema,
93
106
  ChatbotTaskSchema,
@@ -107,18 +120,7 @@ import {
107
120
  TextLineSchema,
108
121
  VariantSchema,
109
122
  normalizeSiteIndex
110
- } from "./chunk-YMVYTYGQ.js";
111
- import {
112
- clearRegistry,
113
- createRegistry,
114
- defineSection,
115
- getAllSchemas,
116
- getAllSections,
117
- getSchema,
118
- getSection,
119
- registerSchema,
120
- registerSection
121
- } from "./chunk-VKAGMEKE.js";
123
+ } from "./chunk-SWIHUIFT.js";
122
124
  import "./chunk-NSCT3AMV.js";
123
125
  import {
124
126
  env
@@ -140,6 +142,7 @@ export {
140
142
  AudienceColorSchema,
141
143
  AudienceNameSchema,
142
144
  AudienceSchema,
145
+ BAKED_MEDIA_KEYS,
143
146
  ChatbotConfigSchema,
144
147
  ChatbotTaskSchema,
145
148
  DEFAULT_LINK,
@@ -210,6 +213,7 @@ export {
210
213
  mimeToExt,
211
214
  navChangeEvent,
212
215
  normalizeSiteIndex,
216
+ rebindImageRef,
213
217
  registerSchema,
214
218
  registerSection,
215
219
  requireSessionSecret,
package/dist/lib/index.js CHANGED
@@ -7,9 +7,15 @@ import {
7
7
  loadStaticSiteContent,
8
8
  mergeSiteContent,
9
9
  safeRedirect
10
- } from "../chunk-GKV77AA6.js";
10
+ } from "../chunk-ZRWGV5O6.js";
11
11
  import "../chunk-S2L3BPLS.js";
12
12
  import "../chunk-75P6HWPN.js";
13
+ import {
14
+ ensureSanitizer,
15
+ generateNavLinks,
16
+ sanitizeHtml,
17
+ toSectionId
18
+ } from "../chunk-53DKVAB6.js";
13
19
  import {
14
20
  curatedIcons,
15
21
  getIcon
@@ -21,19 +27,12 @@ import {
21
27
  navChangeEvent
22
28
  } from "../chunk-677NTHAZ.js";
23
29
  import {
24
- ensureSanitizer,
25
- generateNavLinks,
26
- sanitizeHtml,
27
- toSectionId
28
- } from "../chunk-53DKVAB6.js";
30
+ cn
31
+ } from "../chunk-7EOSDFS3.js";
29
32
  import {
30
33
  audiencePasses
31
34
  } from "../chunk-4YEOTFVU.js";
32
- import {
33
- cn
34
- } from "../chunk-7EOSDFS3.js";
35
35
  import "../chunk-TZQPOR5A.js";
36
- import "../chunk-YMVYTYGQ.js";
37
36
  import {
38
37
  clearRegistry,
39
38
  createRegistry,
@@ -45,6 +44,7 @@ import {
45
44
  registerSchema,
46
45
  registerSection
47
46
  } from "../chunk-VKAGMEKE.js";
47
+ import "../chunk-SWIHUIFT.js";
48
48
  import "../chunk-NSCT3AMV.js";
49
49
  import {
50
50
  env
@@ -3,6 +3,7 @@ import type { ComponentType, ReactNode } from "react";
3
3
  import type { Audience } from "../schemas/auth";
4
4
  import type { LinkValue } from "../schemas/link";
5
5
  import type { SectionContent } from "../schemas/sections";
6
+ import type { VideoSource } from "../components/sections/Video/VideoBlock";
6
7
  export type SettingsFieldDef = {
7
8
  type: "text";
8
9
  label: string;
@@ -49,6 +50,11 @@ export type SettingsFieldDef = {
49
50
  label: string;
50
51
  default: LinkValue;
51
52
  target?: "content" | "options";
53
+ } | {
54
+ type: "video-source";
55
+ label: string;
56
+ default: VideoSource;
57
+ target?: "content" | "options";
52
58
  };
53
59
  export type SettingsSchema = Record<string, SettingsFieldDef>;
54
60
  export type Thumbnail = {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { MediaItem } from "../media/types";
2
+ export interface MediaUploadPayload {
3
+ item: MediaItem;
4
+ blobs: {
5
+ path: string;
6
+ base64: string;
7
+ }[];
8
+ }
9
+ /**
10
+ * Serialized-payload budget per /api/save request. Netlify rejects function
11
+ * request bodies over ~6MB at the platform level (before the app runs); 4MB
12
+ * leaves headroom for the JSON envelope plus sections/index/config riding the
13
+ * final chunk.
14
+ */
15
+ export declare const SAVE_CHUNK_BUDGET_BYTES: number;
16
+ /** Approximate serialized size of one upload: base64 dominates; the fixed
17
+ * allowances cover JSON keys, quoting, and the item's manifest metadata. */
18
+ export declare function uploadSizeBytes(upload: MediaUploadPayload): number;
19
+ export interface PackedUploads {
20
+ chunks: MediaUploadPayload[][];
21
+ oversized: MediaUploadPayload[];
22
+ }
23
+ /** Greedy in-order packing of uploads into budget-sized chunks. An item whose
24
+ * blobs alone exceed the budget can never be sent — it lands in `oversized`
25
+ * for the caller to reject with a per-file error. Items are never split
26
+ * across chunks (the manifest may only reference fully-committed items). */
27
+ export declare function packUploads(uploads: MediaUploadPayload[], budget?: number): PackedUploads;
28
+ //# sourceMappingURL=save-chunks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save-chunks.d.ts","sourceRoot":"","sources":["../../src/lib/save-chunks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC3C;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAkB,CAAC;AAEvD;6EAC6E;AAC7E,wBAAgB,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAElE;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAAC;IAC/B,SAAS,EAAE,kBAAkB,EAAE,CAAC;CACjC;AAED;;;6EAG6E;AAC7E,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,MAAM,SAA0B,GAAG,aAAa,CAsB1G"}
@@ -0,0 +1,7 @@
1
+ export type ParsedVideoUrl = {
2
+ provider: "youtube" | "vimeo";
3
+ id: string;
4
+ };
5
+ export declare function parseVideoUrl(raw: string): ParsedVideoUrl | null;
6
+ export declare function embedUrl(p: ParsedVideoUrl): string;
7
+ //# sourceMappingURL=video-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-url.d.ts","sourceRoot":"","sources":["../../src/lib/video-url.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAI3E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CA4BhE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAIlD"}
@@ -0,0 +1,9 @@
1
+ import {
2
+ embedUrl,
3
+ parseVideoUrl
4
+ } from "../chunk-RBTSUR5V.js";
5
+ import "../chunk-JSBRDJBE.js";
6
+ export {
7
+ embedUrl,
8
+ parseVideoUrl
9
+ };
@@ -1,4 +1,5 @@
1
1
  import {
2
+ BAKED_MEDIA_KEYS,
2
3
  EXT_TO_MIME,
3
4
  MIME_TO_EXT,
4
5
  ProcessingQueue,
@@ -9,20 +10,22 @@ import {
9
10
  getMediaProvider,
10
11
  hashFileBuffer,
11
12
  mimeToExt,
13
+ rebindImageRef,
12
14
  resolveManifestReferences,
13
15
  resolveMedia,
14
16
  sanitizeMediaName,
15
17
  setMediaProvider
16
- } from "../chunk-6UDYJQL6.js";
18
+ } from "../chunk-S55OZ7F2.js";
17
19
  import "../chunk-4YEOTFVU.js";
18
20
  import {
19
21
  ImageManifestSchema,
20
22
  MediaConfigSchema,
21
23
  MediaItemSchema,
22
24
  VariantSchema
23
- } from "../chunk-YMVYTYGQ.js";
25
+ } from "../chunk-SWIHUIFT.js";
24
26
  import "../chunk-JSBRDJBE.js";
25
27
  export {
28
+ BAKED_MEDIA_KEYS,
26
29
  EXT_TO_MIME,
27
30
  ImageManifestSchema,
28
31
  MIME_TO_EXT,
@@ -37,6 +40,7 @@ export {
37
40
  getMediaProvider,
38
41
  hashFileBuffer,
39
42
  mimeToExt,
43
+ rebindImageRef,
40
44
  resolveManifestReferences,
41
45
  resolveMedia,
42
46
  sanitizeMediaName,
@@ -12,4 +12,18 @@ export declare function resolveMedia(item: {
12
12
  * without needing to know about the manifest themselves.
13
13
  */
14
14
  export declare function resolveManifestReferences(content: unknown, manifest: MediaManifest, sizes: number[], provider: MediaProvider): unknown;
15
+ /**
16
+ * Keys stamped onto media refs by resolveManifestReferences above — derived
17
+ * from the referenced media item, never authored by the editor. Must stay in
18
+ * sync with the `patch` object built in resolveManifestReferences.
19
+ */
20
+ export declare const BAKED_MEDIA_KEYS: readonly ["src", "srcset", "alt", "width", "height", "poster"];
21
+ /**
22
+ * Re-point a media ref at a different library item. Drops every baked field so
23
+ * stale values resolved for the PREVIOUS image can't shadow the new one in the
24
+ * editor (ResolvedMedia prefers an explicit src prop over live resolution).
25
+ */
26
+ export declare function rebindImageRef<T extends {
27
+ imageId?: string;
28
+ }>(ref: T, imageId: string): T;
15
29
  //# sourceMappingURL=resolve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/media/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,YAAY,CAC1B,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EACxC,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,aAAa,GACtB,aAAa,GAAG,IAAI,CAKtB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,aAAa,GACtB,OAAO,CA0CT"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/media/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,YAAY,CAC1B,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EACxC,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,aAAa,GACtB,aAAa,GAAG,IAAI,CAKtB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,aAAa,GACtB,OAAO,CA0CT;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,gEAAiE,CAAC;AAE/F;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAIzF"}
@@ -2,5 +2,6 @@ export declare function generateVideoPoster(blob: Blob, quality: number): Promis
2
2
  posterBlob: Blob;
3
3
  width: number;
4
4
  height: number;
5
+ duration: number;
5
6
  }>;
6
7
  //# sourceMappingURL=videoPoster.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"videoPoster.d.ts","sourceRoot":"","sources":["../../src/media/videoPoster.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,UAAU,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAsE9D"}
1
+ {"version":3,"file":"videoPoster.d.ts","sourceRoot":"","sources":["../../src/media/videoPoster.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,UAAU,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAsEhF"}
@@ -3,7 +3,7 @@ import {
3
3
  AudienceNameSchema,
4
4
  MediaGridOptionsSchema,
5
5
  slugifyAudienceName
6
- } from "../chunk-NR7UB6DZ.js";
6
+ } from "../chunk-SFKYUKVN.js";
7
7
  import {
8
8
  AudienceSchema,
9
9
  RoleSchema,
@@ -15,11 +15,12 @@ import {
15
15
  LinkTargetSchema,
16
16
  LinkValueSchema,
17
17
  isSafeHref
18
- } from "../chunk-3DCG4DNU.js";
18
+ } from "../chunk-PZJL2S3Z.js";
19
19
  import {
20
20
  getSectionContentSchema,
21
21
  getSectionSchema
22
22
  } from "../chunk-TZQPOR5A.js";
23
+ import "../chunk-VKAGMEKE.js";
23
24
  import {
24
25
  ChatbotConfigSchema,
25
26
  ChatbotTaskSchema,
@@ -39,8 +40,7 @@ import {
39
40
  TextLineSchema,
40
41
  VariantSchema,
41
42
  normalizeSiteIndex
42
- } from "../chunk-YMVYTYGQ.js";
43
- import "../chunk-VKAGMEKE.js";
43
+ } from "../chunk-SWIHUIFT.js";
44
44
  import "../chunk-NSCT3AMV.js";
45
45
  import "../chunk-JSBRDJBE.js";
46
46
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/schemas/link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;EAA8B,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUhD;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;2BAQ1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,YAAY,EAAE,SAA2D,CAAC"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/schemas/link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;EAA8B,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUhD;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;2BAmB1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,YAAY,EAAE,SAA2D,CAAC"}
@@ -3,7 +3,7 @@ import {
3
3
  LinkTargetSchema,
4
4
  LinkValueSchema,
5
5
  isSafeHref
6
- } from "../chunk-3DCG4DNU.js";
6
+ } from "../chunk-PZJL2S3Z.js";
7
7
  import "../chunk-JSBRDJBE.js";
8
8
  export {
9
9
  DEFAULT_LINK,
@@ -25,6 +25,12 @@ export declare const MediaItemSchema: z.ZodObject<{
25
25
  size: z.ZodNumber;
26
26
  }, z.core.$strip>>;
27
27
  alt: z.ZodDefault<z.ZodString>;
28
+ storage: z.ZodDefault<z.ZodEnum<{
29
+ github: "github";
30
+ assets: "assets";
31
+ }>>;
32
+ url: z.ZodOptional<z.ZodString>;
33
+ duration: z.ZodOptional<z.ZodNumber>;
28
34
  }, z.core.$strip>;
29
35
  export type MediaItem = z.infer<typeof MediaItemSchema>;
30
36
  export declare const ImageManifestSchema: z.ZodObject<{
@@ -48,6 +54,12 @@ export declare const ImageManifestSchema: z.ZodObject<{
48
54
  size: z.ZodNumber;
49
55
  }, z.core.$strip>>;
50
56
  alt: z.ZodDefault<z.ZodString>;
57
+ storage: z.ZodDefault<z.ZodEnum<{
58
+ github: "github";
59
+ assets: "assets";
60
+ }>>;
61
+ url: z.ZodOptional<z.ZodString>;
62
+ duration: z.ZodOptional<z.ZodNumber>;
51
63
  }, z.core.$strip>>;
52
64
  }, z.core.$strip>;
53
65
  export type MediaManifest = z.infer<typeof ImageManifestSchema>;
@@ -55,6 +67,7 @@ export declare const MediaConfigSchema: z.ZodObject<{
55
67
  sizes: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
56
68
  maxFileSize: z.ZodDefault<z.ZodNumber>;
57
69
  quality: z.ZodDefault<z.ZodNumber>;
70
+ maxAssetSize: z.ZodDefault<z.ZodNumber>;
58
71
  }, z.core.$strip>;
59
72
  export type MediaConfig = z.infer<typeof MediaConfigSchema>;
60
73
  //# sourceMappingURL=media.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/schemas/media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa;;;;iBAIxB,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;iBAY1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;iBAE9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/schemas/media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa;;;;iBAIxB,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqB1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;;iBAO5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/schemas/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;2BAKzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAoCtD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAE/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;iEACiE;AACjE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;2BAAqD,CAAC;AAE7F,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAG9E,eAAO,MAAM,cAAc,aAEiC,CAAC;AAO7D,eAAO,MAAM,cAAc,aAG6C,CAAC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/schemas/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;2BAKzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AA6CtD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAE/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;iEACiE;AACjE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;2BAAqD,CAAC;AAE7F,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAG9E,eAAO,MAAM,cAAc,aAEiC,CAAC;AAO7D,eAAO,MAAM,cAAc,aAG6C,CAAC"}
@@ -190,6 +190,7 @@ export declare const SiteConfigSchema: z.ZodObject<{
190
190
  sizes: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
191
191
  maxFileSize: z.ZodDefault<z.ZodNumber>;
192
192
  quality: z.ZodDefault<z.ZodNumber>;
193
+ maxAssetSize: z.ZodDefault<z.ZodNumber>;
193
194
  }, z.core.$strip>>;
194
195
  chatbot: z.ZodDefault<z.ZodObject<{
195
196
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -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;AAQxB,eAAO,MAAM,iBAAiB;;;;;;;;;iBAI5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAO5D,eAAO,MAAM,cAAc,0DAA2D,CAAC;AAEvF,eAAO,MAAM,gBAAgB;;;EAA+B,CAAC;AAE7D,eAAO,MAAM,UAAU;;;;;;;;;;;;iBASrB,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;;;;;;;;;;;iBAwB5B,CAAC;AACL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyB3B,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;AAQxB,eAAO,MAAM,iBAAiB;;;;;;;;;iBAI5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAO5D,eAAO,MAAM,cAAc,0DAA2D,CAAC;AAEvF,eAAO,MAAM,gBAAgB;;;EAA+B,CAAC;AAE7D,eAAO,MAAM,UAAU;;;;;;;;;;;;iBASrB,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;;;;;;;;;;;iBAwB5B,CAAC;AACL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyB3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- export type { StorageProvider, FileWrite } from "./types";
1
+ export type { StorageProvider, FileWrite, AssetStore } from "./types";
2
2
  export { StorageConflictError } from "./types";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC"}
@@ -30,4 +30,30 @@ export type FileWrite = {
30
30
  content: string | Uint8Array | null;
31
31
  encoding?: "utf-8" | "base64";
32
32
  };
33
+ /**
34
+ * Optional large-asset store (Supabase Storage bucket). Holds video originals
35
+ * too big for the git path; deliberately generic so future large kinds (zips)
36
+ * can slot in. All paths are SITE-RELATIVE ("media/{hash}/original.mp4") —
37
+ * implementations prepend the tenant prefix ("sites/{siteId}/") themselves so
38
+ * a caller can never address another tenant's objects.
39
+ */
40
+ export interface AssetStore {
41
+ /** Mint a signed direct-upload URL for the browser (PUT). */
42
+ createUploadUrl(path: string, opts: {
43
+ contentType: string;
44
+ }): Promise<{
45
+ uploadUrl: string;
46
+ path: string;
47
+ publicUrl: string;
48
+ }>;
49
+ /** Deterministic public CDN URL for an object (no network call). */
50
+ getPublicUrl(path: string): string;
51
+ delete(paths: string[]): Promise<void>;
52
+ /** Recursive listing under a site-relative prefix. */
53
+ list(prefix: string): Promise<{
54
+ path: string;
55
+ size: number;
56
+ updatedAt: string;
57
+ }[]>;
58
+ }
33
59
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;aACjB,cAAc,EAAE,MAAM,GAAG,IAAI;gBAA7B,cAAc,EAAE,MAAM,GAAG,IAAI;CAI1D;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CACR,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,EAAE,MAAM,EAIf,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GACxC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEhC,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAE9B,YAAY,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE7C,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9B,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC/E;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC/B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;aACjB,cAAc,EAAE,MAAM,GAAG,IAAI;gBAA7B,cAAc,EAAE,MAAM,GAAG,IAAI;CAI1D;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CACR,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,EAAE,MAAM,EAIf,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GACxC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEhC,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAE9B,YAAY,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE7C,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9B,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC/E;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC/B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,6DAA6D;IAC7D,eAAe,CACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAC5B,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEnE,oEAAoE;IACpE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAEnC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,sDAAsD;IACtD,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;CACpF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drawnagency/primitives",
3
- "version": "0.1.71",
3
+ "version": "0.1.73",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./package.json": "./package.json",
@@ -36,6 +36,10 @@
36
36
  "types": "./dist/lib/env.d.ts",
37
37
  "default": "./dist/lib/env.js"
38
38
  },
39
+ "./lib/video-url": {
40
+ "types": "./dist/lib/video-url.d.ts",
41
+ "default": "./dist/lib/video-url.js"
42
+ },
39
43
  "./lib/platform-broker": {
40
44
  "types": "./dist/lib/platform-broker.d.ts",
41
45
  "default": "./dist/lib/platform-broker.js"
@@ -5,8 +5,10 @@ import { Select } from "../shared/Select";
5
5
  import { Checkbox } from "../shared/Checkbox";
6
6
  import { FormLabel } from "../shared/FormLabel";
7
7
  import { LinkField } from "../shared/LinkField";
8
+ import { VideoSourceField } from "../shared/VideoSourceField";
8
9
  import { Tabs } from "../shared/Tabs";
9
10
  import type { LinkValue } from "../../schemas/link";
11
+ import type { VideoSource } from "../sections/Video/VideoBlock";
10
12
  import { cn } from "../../lib/cn";
11
13
 
12
14
  export interface SettingsFormResult {
@@ -163,6 +165,15 @@ function renderField(
163
165
  />
164
166
  );
165
167
 
168
+ case "video-source":
169
+ return (
170
+ <VideoSourceField
171
+ key={key}
172
+ value={value as VideoSource | undefined}
173
+ onChange={(v) => handleFieldChange(key, v)}
174
+ />
175
+ );
176
+
166
177
  default:
167
178
  return null;
168
179
  }
@@ -27,13 +27,18 @@ export function ResolvedMedia({
27
27
  invertFrom,
28
28
  }: ResolvedMediaProps) {
29
29
  const resolved = useResolvedMedia(imageId);
30
- const src = propSrc || resolved.src;
31
- const srcset = propSrcset || resolved.srcset;
30
+ // A successful live resolution is always fresher than baked props (the ref
31
+ // may have been re-pointed since the server baked them) — prefer it, and use
32
+ // the baked values only where resolution is unavailable (zero-JS viewer,
33
+ // deleted/unknown id).
34
+ const hasResolved = !!resolved.src;
35
+ const src = hasResolved ? resolved.src : propSrc;
36
+ const srcset = hasResolved ? resolved.srcset : propSrcset;
32
37
  const poster = resolved.poster;
33
- const alt = propAlt ?? resolved.alt;
38
+ const alt = hasResolved ? resolved.alt : (propAlt ?? "");
34
39
  const kind = resolved.kind;
35
- const width = propWidth ?? resolved.width;
36
- const height = propHeight ?? resolved.height;
40
+ const width = hasResolved ? resolved.width : propWidth;
41
+ const height = hasResolved ? resolved.height : propHeight;
37
42
 
38
43
  // `loaded` fades the placeholder out via onLoad in the hydrated editor. In the
39
44
  // zero-JS viewer this stays false (no JS), so the placeholder remains painted
@@ -5,6 +5,7 @@ import { ResolvedMedia } from "../../primitives/ResolvedMedia";
5
5
  import { ImageDropZone } from "../../primitives/ImageDropZone";
6
6
  import { EditablePlainText } from "../../primitives/EditablePlainText";
7
7
  import { useMediaLibrary } from "../../shell/MediaLibraryContext";
8
+ import { rebindImageRef } from "../../../media/resolve";
8
9
 
9
10
  export interface MediaBlockProps {
10
11
  refValue: SingleMediaReference;
@@ -25,7 +26,7 @@ export function MediaBlock({ refValue, options, link, isEditMode, onRefChange }:
25
26
  ? Array.isArray(refValue.caption) ? refValue.caption.join("\n") : refValue.caption
26
27
  : "";
27
28
 
28
- const replace = onRefChange ? (imageId: string) => onRefChange({ ...refValue, imageId }) : undefined;
29
+ const replace = onRefChange ? (imageId: string) => onRefChange(rebindImageRef(refValue, imageId)) : undefined;
29
30
 
30
31
  // The zero-JS viewer has no MediaLibraryContext, so useResolvedMedia() can't
31
32
  // resolve the URL. The SSR pass (resolveManifestReferences) bakes src/srcset/alt