@drawnagency/primitives 0.1.77 → 0.1.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-B2DLHZKC.js → chunk-2DDWWTRX.js} +1 -1
- package/dist/{chunk-S55OZ7F2.js → chunk-3LNKOLZP.js} +4 -0
- package/dist/{chunk-63BQQNZO.js → chunk-4XXLH5CL.js} +5 -5
- package/dist/{chunk-YP7IHMC3.js → chunk-DR22HM44.js} +1 -1
- package/dist/{chunk-IFHRHV7S.js → chunk-EMGLZQCM.js} +1 -1
- package/dist/{chunk-RO4E5UJI.js → chunk-FRTJNS5F.js} +7 -7
- package/dist/{chunk-SFKYUKVN.js → chunk-QB5Q23G2.js} +1 -1
- package/dist/{chunk-SWIHUIFT.js → chunk-RSITF24B.js} +20 -2
- package/dist/{chunk-UUCOJL7O.js → chunk-RWMSDDQM.js} +4 -4
- package/dist/{chunk-XFDEUK37.js → chunk-UNUJPLZV.js} +1 -1
- package/dist/components/editor/index.js +4 -4
- package/dist/components/primitives/index.js +5 -5
- package/dist/components/sections/brand-guide.js +5 -5
- package/dist/components/sections/register-schemas.js +8 -8
- package/dist/components/sections/register.js +8 -8
- package/dist/components/shell/EditorShell.d.ts.map +1 -1
- package/dist/components/shell/MediaBreadcrumb.d.ts +10 -0
- package/dist/components/shell/MediaBreadcrumb.d.ts.map +1 -0
- package/dist/components/shell/MediaFolderTile.d.ts +15 -0
- package/dist/components/shell/MediaFolderTile.d.ts.map +1 -0
- package/dist/components/shell/MediaFolderTree.d.ts +20 -0
- package/dist/components/shell/MediaFolderTree.d.ts.map +1 -0
- package/dist/components/shell/MediaLibraryModal.d.ts +15 -3
- package/dist/components/shell/MediaLibraryModal.d.ts.map +1 -1
- package/dist/components/shell/MoveToFolderDialog.d.ts +16 -0
- package/dist/components/shell/MoveToFolderDialog.d.ts.map +1 -0
- package/dist/components/shell/SiteSettingsDisplay.d.ts.map +1 -1
- package/dist/hooks/useEditorPublish.d.ts.map +1 -1
- package/dist/hooks/useMediaFolderDnd.d.ts +27 -0
- package/dist/hooks/useMediaFolderDnd.d.ts.map +1 -0
- package/dist/hooks/useMediaPipeline.d.ts +14 -2
- package/dist/hooks/useMediaPipeline.d.ts.map +1 -1
- package/dist/index.js +8 -4
- package/dist/lib/corner-radius.d.ts +6 -0
- package/dist/lib/corner-radius.d.ts.map +1 -0
- package/dist/lib/index.js +2 -2
- package/dist/lib/media-dnd.d.ts +26 -0
- package/dist/lib/media-dnd.d.ts.map +1 -0
- package/dist/lib/media-folders.d.ts +59 -0
- package/dist/lib/media-folders.d.ts.map +1 -0
- package/dist/media/folder-drop.d.ts +22 -0
- package/dist/media/folder-drop.d.ts.map +1 -0
- package/dist/media/index.js +6 -2
- package/dist/media/types.d.ts +1 -1
- package/dist/media/types.d.ts.map +1 -1
- package/dist/media/utils.d.ts +7 -0
- package/dist/media/utils.d.ts.map +1 -1
- package/dist/schemas/index.js +4 -2
- package/dist/schemas/media.d.ts +11 -0
- package/dist/schemas/media.d.ts.map +1 -1
- package/dist/schemas/site-config.d.ts +6 -0
- package/dist/schemas/site-config.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/brandguide/Colors.tsx +2 -2
- package/src/components/chat/ChatPanel.tsx +8 -8
- package/src/components/primitives/ResolvedMedia.tsx +1 -1
- package/src/components/sections/Button/CTAButton.tsx +1 -1
- package/src/components/sections/Media/MediaBlock.tsx +1 -1
- package/src/components/shared/Navigation.tsx +5 -5
- package/src/components/shell/EditorModal.tsx +7 -7
- package/src/components/shell/EditorShell.tsx +23 -4
- package/src/components/shell/MediaBreadcrumb.tsx +77 -0
- package/src/components/shell/MediaFolderTile.tsx +141 -0
- package/src/components/shell/MediaFolderTree.tsx +127 -0
- package/src/components/shell/MediaLibraryModal.tsx +611 -229
- package/src/components/shell/MoveToFolderDialog.tsx +78 -0
- package/src/components/shell/SiteSettingsDisplay.tsx +19 -0
- package/src/hooks/useEditorPublish.ts +14 -11
- package/src/hooks/useMediaFolderDnd.ts +129 -0
- package/src/hooks/useMediaPipeline.ts +162 -6
- package/src/lib/corner-radius.ts +22 -0
- package/src/lib/media-dnd.ts +62 -0
- package/src/lib/media-folders.ts +232 -0
- package/src/media/folder-drop.ts +62 -0
- package/src/media/types.ts +2 -0
- package/src/media/utils.ts +10 -0
- package/src/schemas/media.ts +13 -0
- package/src/schemas/site-config.ts +4 -0
|
@@ -60,6 +60,9 @@ function formatFileSize(bytes) {
|
|
|
60
60
|
if (bytes >= 1024) return `${Math.round(bytes / 1024)}KB`;
|
|
61
61
|
return `${bytes}B`;
|
|
62
62
|
}
|
|
63
|
+
function displayName(item) {
|
|
64
|
+
return item.originalName;
|
|
65
|
+
}
|
|
63
66
|
|
|
64
67
|
// src/media/queue.ts
|
|
65
68
|
var ProcessingQueue = class {
|
|
@@ -315,6 +318,7 @@ export {
|
|
|
315
318
|
displayFilenameExt,
|
|
316
319
|
displayFilename,
|
|
317
320
|
formatFileSize,
|
|
321
|
+
displayName,
|
|
318
322
|
ProcessingQueue,
|
|
319
323
|
resolveMedia,
|
|
320
324
|
resolveManifestReferences,
|
|
@@ -9,13 +9,13 @@ import {
|
|
|
9
9
|
MediaBlock,
|
|
10
10
|
containerGridClass,
|
|
11
11
|
useEditableCollection
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-RWMSDDQM.js";
|
|
13
13
|
import {
|
|
14
14
|
AddIcon,
|
|
15
15
|
DeleteIcon,
|
|
16
16
|
DragHandle,
|
|
17
17
|
IconButton
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-EMGLZQCM.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-
|
|
33
|
+
} from "./chunk-RSITF24B.js";
|
|
34
34
|
import {
|
|
35
35
|
defineSection
|
|
36
36
|
} from "./chunk-VKAGMEKE.js";
|
|
@@ -184,7 +184,7 @@ function ColorsView({
|
|
|
184
184
|
/* @__PURE__ */ jsx2("div", { className: "@container", children: /* @__PURE__ */ jsx2("div", { className: cn("grid gap-4", containerGridClass[columns] || containerGridClass[3]), children: colors.map((color, i) => {
|
|
185
185
|
const hex = color.spaces[0]?.hex;
|
|
186
186
|
const contrast = getContrastClass(hex);
|
|
187
|
-
return /* @__PURE__ */ jsxs2("div", { className: "overflow-hidden rounded-
|
|
187
|
+
return /* @__PURE__ */ jsxs2("div", { className: "overflow-hidden rounded-outer border border-base-200", children: [
|
|
188
188
|
/* @__PURE__ */ jsxs2("div", { className: cn("relative flex min-h-[80px] items-end p-3", contrast), style: { backgroundColor: hex || "#ccc" }, children: [
|
|
189
189
|
color.name && /* @__PURE__ */ jsx2("span", { className: "text-sm font-bold", children: color.name }),
|
|
190
190
|
copiedIndex === i && /* @__PURE__ */ jsx2("span", { className: cn(
|
|
@@ -290,7 +290,7 @@ function ColorSwatchEditable({
|
|
|
290
290
|
const newColors = colors.map((c, i) => i === index ? updated : c);
|
|
291
291
|
onChange(buildContent(newColors, options));
|
|
292
292
|
};
|
|
293
|
-
return /* @__PURE__ */ jsxs2("div", { className: "overflow-hidden rounded-
|
|
293
|
+
return /* @__PURE__ */ jsxs2("div", { className: "overflow-hidden rounded-outer border border-base-200", children: [
|
|
294
294
|
/* @__PURE__ */ jsx2("div", { className: cn("flex min-h-[80px] items-end p-3", contrast), style: { backgroundColor: hex || "#ccc" }, children: /* @__PURE__ */ jsx2(
|
|
295
295
|
EditablePlainText,
|
|
296
296
|
{
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
pluralize,
|
|
4
4
|
stripHtmlToPlainText,
|
|
5
5
|
truncate
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-4XXLH5CL.js";
|
|
7
7
|
import {
|
|
8
8
|
DeleteButton,
|
|
9
9
|
DragHandle,
|
|
@@ -15,11 +15,11 @@ import {
|
|
|
15
15
|
buildBlockDropData,
|
|
16
16
|
canDropBlock,
|
|
17
17
|
isBlockDragData
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-2DDWWTRX.js";
|
|
19
19
|
import {
|
|
20
20
|
EditableRichText,
|
|
21
21
|
defineHeadingSection
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-DR22HM44.js";
|
|
23
23
|
import {
|
|
24
24
|
EditablePlainText,
|
|
25
25
|
ImageDropZone,
|
|
@@ -28,11 +28,11 @@ import {
|
|
|
28
28
|
colSpanClass,
|
|
29
29
|
containerGridClass,
|
|
30
30
|
spacerHiddenClass
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-RWMSDDQM.js";
|
|
32
32
|
import {
|
|
33
33
|
useMediaLibrary,
|
|
34
34
|
useResolvedMedia
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-EMGLZQCM.js";
|
|
36
36
|
import {
|
|
37
37
|
embedUrl
|
|
38
38
|
} from "./chunk-Y4JQGO6G.js";
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
} from "./chunk-TZQPOR5A.js";
|
|
52
52
|
import {
|
|
53
53
|
SingleMediaReferenceSchema
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-RSITF24B.js";
|
|
55
55
|
import {
|
|
56
56
|
defineSection,
|
|
57
57
|
getSection
|
|
@@ -397,7 +397,7 @@ import { RectangleHorizontal } from "lucide-react";
|
|
|
397
397
|
import { Download } from "lucide-react";
|
|
398
398
|
import { jsx as jsx9, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
399
399
|
function Button({ text, link, download, onChange }) {
|
|
400
|
-
const base = "inline-block rounded-
|
|
400
|
+
const base = "inline-block rounded-outer px-6 py-3 font-bold transition-colors";
|
|
401
401
|
const variant = "border-2 border-primary text-primary hover:bg-primary hover:text-primary-contrast";
|
|
402
402
|
if (onChange) {
|
|
403
403
|
return /* @__PURE__ */ jsxs2("span", { className: cn(base, variant, "inline-flex items-center gap-2"), children: [
|
|
@@ -68,6 +68,11 @@ var VariantSchema = z2.object({
|
|
|
68
68
|
height: z2.number().int().positive(),
|
|
69
69
|
size: z2.number().int().nonnegative()
|
|
70
70
|
});
|
|
71
|
+
var MediaFolderSchema = z2.object({
|
|
72
|
+
name: z2.string().min(1),
|
|
73
|
+
parentId: z2.string().nullable()
|
|
74
|
+
// null = root
|
|
75
|
+
});
|
|
71
76
|
var MediaItemSchema = z2.object({
|
|
72
77
|
id: z2.string(),
|
|
73
78
|
hash: z2.string(),
|
|
@@ -88,10 +93,14 @@ var MediaItemSchema = z2.object({
|
|
|
88
93
|
// resolution needs no env access in the browser or at SSR.
|
|
89
94
|
url: z2.string().optional(),
|
|
90
95
|
// Seconds; videos only. Informational (library UI).
|
|
91
|
-
duration: z2.number().positive().optional()
|
|
96
|
+
duration: z2.number().positive().optional(),
|
|
97
|
+
// Display folder (MediaFolderSchema key). Absent = root/unfiled. NOT the
|
|
98
|
+
// git storage dir — that's `folder` above, which never changes.
|
|
99
|
+
folderId: z2.string().optional()
|
|
92
100
|
});
|
|
93
101
|
var ImageManifestSchema = z2.object({
|
|
94
|
-
images: z2.record(z2.string(), MediaItemSchema)
|
|
102
|
+
images: z2.record(z2.string(), MediaItemSchema),
|
|
103
|
+
folders: z2.record(z2.string(), MediaFolderSchema).default({})
|
|
95
104
|
});
|
|
96
105
|
var MediaConfigSchema = z2.object({
|
|
97
106
|
sizes: z2.array(z2.number()).default([640, 1080, 1920]),
|
|
@@ -104,6 +113,11 @@ var MediaConfigSchema = z2.object({
|
|
|
104
113
|
|
|
105
114
|
// src/schemas/site-config.ts
|
|
106
115
|
import { z as z3 } from "zod";
|
|
116
|
+
|
|
117
|
+
// src/lib/corner-radius.ts
|
|
118
|
+
var CORNER_RADIUS_OPTIONS = ["none", "small", "medium", "large"];
|
|
119
|
+
|
|
120
|
+
// src/schemas/site-config.ts
|
|
107
121
|
var StatusSchema = z3.enum(["draft", "live", "archived", "published"]).transform(
|
|
108
122
|
(val) => val === "published" ? "live" : val
|
|
109
123
|
);
|
|
@@ -245,6 +259,9 @@ var SiteConfigSchema = z3.object({
|
|
|
245
259
|
primaryColor: HexColorSchema.default("#009ca6"),
|
|
246
260
|
primaryContrast: HexColorSchema.default("#f0f0f0"),
|
|
247
261
|
darkMode: z3.enum(["light", "dark", "optional"]).default("light"),
|
|
262
|
+
// Maps to the --radius-outer design token (see lib/corner-radius.ts);
|
|
263
|
+
// defaults so pre-existing site-config.json files keep parsing.
|
|
264
|
+
cornerRadius: z3.enum(CORNER_RADIUS_OPTIONS).default("medium"),
|
|
248
265
|
headingFont: FontNameSchema.default("system-ui"),
|
|
249
266
|
bodyFont: FontNameSchema.default("system-ui"),
|
|
250
267
|
uppercaseHeadings: z3.boolean().default(true),
|
|
@@ -268,6 +285,7 @@ export {
|
|
|
268
285
|
HexColorSchema,
|
|
269
286
|
FontNameSchema,
|
|
270
287
|
VariantSchema,
|
|
288
|
+
MediaFolderSchema,
|
|
271
289
|
MediaItemSchema,
|
|
272
290
|
ImageManifestSchema,
|
|
273
291
|
MediaConfigSchema,
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
SettingsIcon,
|
|
7
7
|
useMediaLibrary,
|
|
8
8
|
useResolvedMedia
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-EMGLZQCM.js";
|
|
10
10
|
import {
|
|
11
11
|
rebindImageRef
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-3LNKOLZP.js";
|
|
13
13
|
import {
|
|
14
14
|
cn
|
|
15
15
|
} from "./chunk-7EOSDFS3.js";
|
|
@@ -195,7 +195,7 @@ function ResolvedMedia({
|
|
|
195
195
|
onError: () => setLoaded(true)
|
|
196
196
|
}
|
|
197
197
|
)
|
|
198
|
-
] }) : /* @__PURE__ */ jsxs("div", { className: "flex aspect-video h-full w-full flex-col items-center justify-center gap-1 rounded bg-base-accent text-base-contrast-light/50", children: [
|
|
198
|
+
] }) : /* @__PURE__ */ jsxs("div", { className: "flex aspect-video h-full w-full flex-col items-center justify-center gap-1 rounded-outer bg-base-accent text-base-contrast-light/50", children: [
|
|
199
199
|
/* @__PURE__ */ jsx(ImageIcon, { size: 24 }),
|
|
200
200
|
/* @__PURE__ */ jsx("span", { className: "text-sm", children: "No Image" })
|
|
201
201
|
] }) });
|
|
@@ -293,7 +293,7 @@ function MediaBlock({ refValue, options, link, isEditMode, onRefChange }) {
|
|
|
293
293
|
{
|
|
294
294
|
"data-testid": "media-open-surface",
|
|
295
295
|
className: cn(
|
|
296
|
-
"overflow-hidden rounded-
|
|
296
|
+
"overflow-hidden rounded-outer",
|
|
297
297
|
showBorder && "border border-base-200",
|
|
298
298
|
options.square && "aspect-square",
|
|
299
299
|
onImageClick && "cursor-pointer"
|
|
@@ -11,20 +11,20 @@ import {
|
|
|
11
11
|
buildBlockDropData,
|
|
12
12
|
canDropBlock,
|
|
13
13
|
isBlockDragData
|
|
14
|
-
} from "../../chunk-
|
|
14
|
+
} from "../../chunk-2DDWWTRX.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-
|
|
21
|
-
import "../../chunk-
|
|
20
|
+
} from "../../chunk-EMGLZQCM.js";
|
|
21
|
+
import "../../chunk-3LNKOLZP.js";
|
|
22
22
|
import "../../chunk-677NTHAZ.js";
|
|
23
23
|
import {
|
|
24
24
|
cn
|
|
25
25
|
} from "../../chunk-7EOSDFS3.js";
|
|
26
26
|
import "../../chunk-4YEOTFVU.js";
|
|
27
|
-
import "../../chunk-
|
|
27
|
+
import "../../chunk-RSITF24B.js";
|
|
28
28
|
import "../../chunk-JSBRDJBE.js";
|
|
29
29
|
|
|
30
30
|
// src/components/editor/InsertButton.tsx
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
EditableRichText,
|
|
3
3
|
LinkPopover,
|
|
4
4
|
defineHeadingSection
|
|
5
|
-
} from "../../chunk-
|
|
5
|
+
} from "../../chunk-DR22HM44.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-
|
|
13
|
+
} from "../../chunk-RWMSDDQM.js";
|
|
14
14
|
import "../../chunk-ZSPCE6MZ.js";
|
|
15
15
|
import {
|
|
16
16
|
DeleteIcon,
|
|
17
17
|
DragHandle,
|
|
18
18
|
IconButton
|
|
19
|
-
} from "../../chunk-
|
|
20
|
-
import "../../chunk-
|
|
19
|
+
} from "../../chunk-EMGLZQCM.js";
|
|
20
|
+
import "../../chunk-3LNKOLZP.js";
|
|
21
21
|
import "../../chunk-53DKVAB6.js";
|
|
22
22
|
import {
|
|
23
23
|
cn
|
|
24
24
|
} from "../../chunk-7EOSDFS3.js";
|
|
25
25
|
import "../../chunk-4YEOTFVU.js";
|
|
26
|
-
import "../../chunk-
|
|
26
|
+
import "../../chunk-RSITF24B.js";
|
|
27
27
|
import "../../chunk-VKAGMEKE.js";
|
|
28
28
|
import "../../chunk-JSBRDJBE.js";
|
|
29
29
|
|
|
@@ -2,16 +2,16 @@ import {
|
|
|
2
2
|
ColorItemSchema,
|
|
3
3
|
ColorSpaceSchema,
|
|
4
4
|
brandGuideSectionDefs
|
|
5
|
-
} from "../../chunk-
|
|
5
|
+
} from "../../chunk-4XXLH5CL.js";
|
|
6
6
|
import "../../chunk-5THS4K5D.js";
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
9
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-RWMSDDQM.js";
|
|
8
|
+
import "../../chunk-EMGLZQCM.js";
|
|
9
|
+
import "../../chunk-3LNKOLZP.js";
|
|
10
10
|
import "../../chunk-PZJL2S3Z.js";
|
|
11
11
|
import "../../chunk-WDSVHKAH.js";
|
|
12
12
|
import "../../chunk-7EOSDFS3.js";
|
|
13
13
|
import "../../chunk-4YEOTFVU.js";
|
|
14
|
-
import "../../chunk-
|
|
14
|
+
import "../../chunk-RSITF24B.js";
|
|
15
15
|
import "../../chunk-VKAGMEKE.js";
|
|
16
16
|
import "../../chunk-JSBRDJBE.js";
|
|
17
17
|
export {
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
allSectionDefs
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-FRTJNS5F.js";
|
|
4
|
+
import "../../chunk-4XXLH5CL.js";
|
|
5
|
+
import "../../chunk-2DDWWTRX.js";
|
|
6
6
|
import "../../chunk-5THS4K5D.js";
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-DR22HM44.js";
|
|
8
|
+
import "../../chunk-RWMSDDQM.js";
|
|
9
9
|
import "../../chunk-ZSPCE6MZ.js";
|
|
10
|
-
import "../../chunk-
|
|
10
|
+
import "../../chunk-EMGLZQCM.js";
|
|
11
11
|
import "../../chunk-Y4JQGO6G.js";
|
|
12
|
-
import "../../chunk-
|
|
12
|
+
import "../../chunk-3LNKOLZP.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-4YEOTFVU.js";
|
|
18
18
|
import "../../chunk-TZQPOR5A.js";
|
|
19
|
-
import "../../chunk-
|
|
19
|
+
import "../../chunk-RSITF24B.js";
|
|
20
20
|
import {
|
|
21
21
|
registerRichText,
|
|
22
22
|
registerSchema
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
allSectionDefs
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-FRTJNS5F.js";
|
|
4
|
+
import "../../chunk-4XXLH5CL.js";
|
|
5
|
+
import "../../chunk-2DDWWTRX.js";
|
|
6
6
|
import "../../chunk-5THS4K5D.js";
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-DR22HM44.js";
|
|
8
|
+
import "../../chunk-RWMSDDQM.js";
|
|
9
9
|
import "../../chunk-ZSPCE6MZ.js";
|
|
10
|
-
import "../../chunk-
|
|
10
|
+
import "../../chunk-EMGLZQCM.js";
|
|
11
11
|
import "../../chunk-Y4JQGO6G.js";
|
|
12
|
-
import "../../chunk-
|
|
12
|
+
import "../../chunk-3LNKOLZP.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-4YEOTFVU.js";
|
|
18
18
|
import "../../chunk-TZQPOR5A.js";
|
|
19
|
-
import "../../chunk-
|
|
19
|
+
import "../../chunk-RSITF24B.js";
|
|
20
20
|
import {
|
|
21
21
|
registerSection
|
|
22
22
|
} from "../../chunk-VKAGMEKE.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorShell.d.ts","sourceRoot":"","sources":["../../../src/components/shell/EditorShell.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"EditorShell.d.ts","sourceRoot":"","sources":["../../../src/components/shell/EditorShell.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAkDjD,OAAO,KAAK,EAAE,eAAe,EAA2D,MAAM,oBAAoB,CAAC;AAmCnH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAoBxD,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAC;IAIhB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,EAAE;QACZ,KAAK,EAAE,OAAO,CAAC;QACf,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,EAAE,OAAO,CAAC;QACtB,cAAc,EAAE,OAAO,CAAC;QACxB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAC;IAIhE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAKjC,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,OAAO,EACP,YAAY,EACZ,MAAM,EACN,SAAS,EAAE,gBAAgB,EAC3B,YAAY,EACZ,WAAW,EACX,sBAA8B,EAC9B,eAAe,GAChB,EAAE,KAAK,2CA68CP"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { MediaFolder } from "../../media/types";
|
|
2
|
+
import type { MediaFolderDndBindings } from "./MediaFolderTree";
|
|
3
|
+
export interface MediaBreadcrumbProps {
|
|
4
|
+
folders: Record<string, MediaFolder>;
|
|
5
|
+
currentFolderId: string | null;
|
|
6
|
+
onNavigate: (id: string | null) => void;
|
|
7
|
+
dnd?: MediaFolderDndBindings;
|
|
8
|
+
}
|
|
9
|
+
export declare function MediaBreadcrumb({ folders, currentFolderId, onNavigate, dnd }: MediaBreadcrumbProps): import("react/jsx-runtime").JSX.Element | null;
|
|
10
|
+
//# sourceMappingURL=MediaBreadcrumb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaBreadcrumb.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaBreadcrumb.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACxC,GAAG,CAAC,EAAE,sBAAsB,CAAC;CAC9B;AA0CD,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,oBAAoB,kDAqBlG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { MediaFolderDndBindings } from "./MediaFolderTree";
|
|
2
|
+
export interface MediaFolderTileProps {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
count: number;
|
|
6
|
+
onOpen: (id: string) => void;
|
|
7
|
+
manage: boolean;
|
|
8
|
+
onRename?: (id: string, name: string) => void;
|
|
9
|
+
onDeleteRequest?: (id: string) => void;
|
|
10
|
+
dnd?: MediaFolderDndBindings;
|
|
11
|
+
/** Optional accessible label override for the root element (e.g. "Open folder Logos"). */
|
|
12
|
+
ariaLabel?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function MediaFolderTile({ id, name, count, onOpen, manage, onRename, onDeleteRequest, dnd, ariaLabel, }: MediaFolderTileProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=MediaFolderTile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaFolderTile.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaFolderTile.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,GAAG,CAAC,EAAE,sBAAsB,CAAC;IAC7B,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,wBAAgB,eAAe,CAAC,EAC9B,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,SAAS,GAC3E,EAAE,oBAAoB,2CAoHtB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { MediaFolder, MediaItem } from "../../media/types";
|
|
2
|
+
export interface MediaFolderDndBindings {
|
|
3
|
+
foldersRef: React.RefObject<Record<string, MediaFolder>>;
|
|
4
|
+
itemsByIdRef: React.RefObject<Record<string, MediaItem>>;
|
|
5
|
+
onMoveMedia: (ids: string[], target: string | null) => void;
|
|
6
|
+
onMoveFolder: (id: string, target: string | null) => void;
|
|
7
|
+
}
|
|
8
|
+
export interface MediaFolderTreeProps {
|
|
9
|
+
folders: Record<string, MediaFolder>;
|
|
10
|
+
counts: Record<string, number>;
|
|
11
|
+
totalCount: number;
|
|
12
|
+
currentFolderId: string | null;
|
|
13
|
+
onNavigate: (id: string | null) => void;
|
|
14
|
+
expandedIds: Set<string>;
|
|
15
|
+
onExpand: (id: string) => void;
|
|
16
|
+
onToggleExpand: (id: string) => void;
|
|
17
|
+
dnd?: MediaFolderDndBindings;
|
|
18
|
+
}
|
|
19
|
+
export declare function MediaFolderTree(props: MediaFolderTreeProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
//# sourceMappingURL=MediaFolderTree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaFolderTree.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaFolderTree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAIhE,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACzD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACzD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5D,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,GAAG,CAAC,EAAE,sBAAsB,CAAC;CAC9B;AA4ED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CA0B1D"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { MediaItem } from "../../media/types";
|
|
1
|
+
import type { MediaFolder, MediaItem } from "../../media/types";
|
|
2
2
|
export interface MediaLibraryModalProps {
|
|
3
3
|
mode: "select" | "manage";
|
|
4
4
|
items: MediaItem[];
|
|
5
5
|
onSelect: (id: string) => void;
|
|
6
|
-
onUpload: (files: File[]) => void;
|
|
6
|
+
onUpload: (files: File[], targetFolderId?: string | null) => void;
|
|
7
7
|
onDelete: (ids: string[]) => void;
|
|
8
8
|
onAltChange?: (id: string, alt: string) => void;
|
|
9
9
|
referenceCountMap: Record<string, number>;
|
|
@@ -12,6 +12,18 @@ export interface MediaLibraryModalProps {
|
|
|
12
12
|
uploadProgress?: Record<string, number>;
|
|
13
13
|
uploadError?: string | null;
|
|
14
14
|
onDismissUploadError?: () => void;
|
|
15
|
+
folders?: Record<string, MediaFolder>;
|
|
16
|
+
onCreateFolder?: (name: string, parentId: string | null) => string;
|
|
17
|
+
onRenameFolder?: (id: string, name: string) => void;
|
|
18
|
+
onMoveFolder?: (id: string, parentId: string | null) => void;
|
|
19
|
+
onDeleteFolder?: (id: string, contents: "move" | "delete") => void;
|
|
20
|
+
onMoveMedia?: (ids: string[], folderId: string | null) => void;
|
|
21
|
+
onFolderUpload?: (entries: {
|
|
22
|
+
file: File;
|
|
23
|
+
relativePath: string;
|
|
24
|
+
}[], currentFolderId: string | null) => void;
|
|
25
|
+
uploadNotice?: string | null;
|
|
26
|
+
onDismissUploadNotice?: () => void;
|
|
15
27
|
}
|
|
16
|
-
export declare function MediaLibraryModal({ mode, items, onSelect, onUpload, onDelete, onAltChange, referenceCountMap, localUrlMap, maxFileSize, uploadProgress, uploadError, onDismissUploadError, }: MediaLibraryModalProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export declare function MediaLibraryModal({ mode, items, onSelect, onUpload, onDelete, onAltChange, referenceCountMap, localUrlMap, maxFileSize, uploadProgress, uploadError, onDismissUploadError, folders, onCreateFolder, onRenameFolder, onMoveFolder, onDeleteFolder, onMoveMedia, onFolderUpload, uploadNotice, onDismissUploadNotice, }: MediaLibraryModalProps): import("react/jsx-runtime").JSX.Element;
|
|
17
29
|
//# sourceMappingURL=MediaLibraryModal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaLibraryModal.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaLibraryModal.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"MediaLibraryModal.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaLibraryModal.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAC;AAa3E,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAClE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIxC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;IACnE,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7D,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,KAAK,IAAI,CAAC;IACnE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/D,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3G,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AA2ID,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,WAAgB,EAChB,WAAW,EACX,cAAmB,EACnB,WAAkB,EAClB,oBAAoB,EACpB,OAAY,EACZ,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,cAAc,EACd,YAAmB,EACnB,qBAAqB,GACtB,EAAE,sBAAsB,2CAokBxB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { MediaFolder } from "../../media/types";
|
|
2
|
+
export interface MoveToFolderDialogProps {
|
|
3
|
+
folders: Record<string, MediaFolder>;
|
|
4
|
+
/** Targets to disable (moving a folder: its own descendant set). */
|
|
5
|
+
disabledIds?: Set<string>;
|
|
6
|
+
/**
|
|
7
|
+
* Target that is a no-op (the items' current folder), disabled too.
|
|
8
|
+
* Omit (undefined) when there is no single no-op target — e.g. a
|
|
9
|
+
* heterogeneous selection — and nothing is disabled on that account.
|
|
10
|
+
*/
|
|
11
|
+
currentTarget?: string | null;
|
|
12
|
+
onMove: (targetFolderId: string | null) => void;
|
|
13
|
+
onClose: () => void;
|
|
14
|
+
}
|
|
15
|
+
export declare function MoveToFolderDialog({ folders, disabledIds, currentTarget, onMove, onClose, }: MoveToFolderDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=MoveToFolderDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MoveToFolderDialog.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MoveToFolderDialog.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,oEAAoE;IACpE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAKD,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,GACrD,EAAE,uBAAuB,2CAmDzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiteSettingsDisplay.d.ts","sourceRoot":"","sources":["../../../src/components/shell/SiteSettingsDisplay.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,KAAK;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CACxC;
|
|
1
|
+
{"version":3,"file":"SiteSettingsDisplay.d.ts","sourceRoot":"","sources":["../../../src/components/shell/SiteSettingsDisplay.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,KAAK;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CACxC;AAkBD,wBAAgB,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,KAAK,2CA6KlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditorPublish.d.ts","sourceRoot":"","sources":["../../src/hooks/useEditorPublish.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"useEditorPublish.d.ts","sourceRoot":"","sources":["../../src/hooks/useEditorPublish.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAkD/D,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;;;mFAM+E;IAC/E,SAAS,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IACtG,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,iBAAiB,EAAE,SAAS,EAAE,CAAC;IAC/B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtF,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzE,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAI/B,cAAc,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpC;;;;qDAIiD;IACjD,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC;;;;;sDAKkD;IAClD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChI,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;+EAE2E;IAC3E,SAAS,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC5C;;;+EAG2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;CAClC;AAQD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE7D,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,iBAAiB,GAClB,EAAE,WAAW;;;;;;;EAieb"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { MediaFolder, MediaItem } from "../media/types";
|
|
2
|
+
import { type MediaDragData, type MediaFolderDragData } from "../lib/media-dnd";
|
|
3
|
+
interface UseFolderDropTargetArgs {
|
|
4
|
+
targetFolderId: string | null;
|
|
5
|
+
enabled: boolean;
|
|
6
|
+
/** Refs (not values) so drops read fresh state without re-registering targets. */
|
|
7
|
+
foldersRef: React.RefObject<Record<string, MediaFolder>>;
|
|
8
|
+
itemsByIdRef: React.RefObject<Record<string, MediaItem>>;
|
|
9
|
+
onMoveMedia: (ids: string[], target: string | null) => void;
|
|
10
|
+
onMoveFolder: (id: string, target: string | null) => void;
|
|
11
|
+
/** Fired after a sustained drag hover (tree hover-to-expand). */
|
|
12
|
+
onDragHover?: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare function useFolderDropTarget<E extends HTMLElement>({ targetFolderId, enabled, foldersRef, itemsByIdRef, onMoveMedia, onMoveFolder, onDragHover, }: UseFolderDropTargetArgs): {
|
|
15
|
+
ref: import("react").RefObject<E | null>;
|
|
16
|
+
isDropTarget: boolean;
|
|
17
|
+
};
|
|
18
|
+
interface UseMediaDraggableArgs {
|
|
19
|
+
enabled: boolean;
|
|
20
|
+
getDragData: () => MediaDragData | MediaFolderDragData;
|
|
21
|
+
}
|
|
22
|
+
export declare function useMediaDraggable<E extends HTMLElement>({ enabled, getDragData }: UseMediaDraggableArgs): {
|
|
23
|
+
ref: import("react").RefObject<E | null>;
|
|
24
|
+
isDragging: boolean;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=useMediaFolderDnd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaFolderDnd.d.ts","sourceRoot":"","sources":["../../src/hooks/useMediaFolderDnd.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAGL,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAC7C,MAAM,kBAAkB,CAAC;AAK1B,UAAU,uBAAuB;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,kFAAkF;IAClF,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACzD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACzD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5D,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1D,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,WAAW,EAAE,EACzD,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,GAC1F,EAAE,uBAAuB;;;EAiEzB;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,aAAa,GAAG,mBAAmB,CAAC;CACxD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,qBAAqB;;;EA+BvG"}
|
|
@@ -14,8 +14,9 @@ interface UseMediaPipelineInput {
|
|
|
14
14
|
setDirtySectionIds: React.Dispatch<React.SetStateAction<Set<string>>>;
|
|
15
15
|
markSectionDirty: (sectionId: string, content: SectionContent) => void;
|
|
16
16
|
onUploadError?: (message: string) => void;
|
|
17
|
+
onUploadNotice?: (message: string) => void;
|
|
17
18
|
}
|
|
18
|
-
export declare function useMediaPipeline({ siteConfig, mediaManifest, setMediaManifest, sections, setSections, setLocalChangesExist, setDirtySectionIds, markSectionDirty, onUploadError, }: UseMediaPipelineInput): {
|
|
19
|
+
export declare function useMediaPipeline({ siteConfig, mediaManifest, setMediaManifest, sections, setSections, setLocalChangesExist, setDirtySectionIds, markSectionDirty, onUploadError, onUploadNotice, }: UseMediaPipelineInput): {
|
|
19
20
|
processingItems: QueueItem[];
|
|
20
21
|
pendingMediaItems: {
|
|
21
22
|
id: string;
|
|
@@ -36,6 +37,7 @@ export declare function useMediaPipeline({ siteConfig, mediaManifest, setMediaMa
|
|
|
36
37
|
storage: "github" | "assets";
|
|
37
38
|
url?: string | undefined;
|
|
38
39
|
duration?: number | undefined;
|
|
40
|
+
folderId?: string | undefined;
|
|
39
41
|
}[];
|
|
40
42
|
setPendingMediaItems: import("react").Dispatch<import("react").SetStateAction<{
|
|
41
43
|
id: string;
|
|
@@ -56,6 +58,7 @@ export declare function useMediaPipeline({ siteConfig, mediaManifest, setMediaMa
|
|
|
56
58
|
storage: "github" | "assets";
|
|
57
59
|
url?: string | undefined;
|
|
58
60
|
duration?: number | undefined;
|
|
61
|
+
folderId?: string | undefined;
|
|
59
62
|
}[]>>;
|
|
60
63
|
pendingLocalUrls: Record<string, string>;
|
|
61
64
|
setPendingLocalUrls: import("react").Dispatch<import("react").SetStateAction<Record<string, string>>>;
|
|
@@ -64,9 +67,18 @@ export declare function useMediaPipeline({ siteConfig, mediaManifest, setMediaMa
|
|
|
64
67
|
manifestDirty: boolean;
|
|
65
68
|
setManifestDirty: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
66
69
|
uploadProgress: Record<string, number>;
|
|
67
|
-
handleMediaUpload: (files: File[]) => Promise<void>;
|
|
70
|
+
handleMediaUpload: (files: File[], targetFolderId?: string | null) => Promise<void>;
|
|
68
71
|
handleMediaDelete: (ids: string[]) => Promise<void>;
|
|
69
72
|
handleMediaAltChange: (id: string, alt: string) => void;
|
|
73
|
+
handleFolderCreate: (name: string, parentId: string | null) => string;
|
|
74
|
+
handleFolderRename: (id: string, name: string) => void;
|
|
75
|
+
handleFolderMove: (id: string, parentId: string | null) => void;
|
|
76
|
+
handleFolderDelete: (id: string, contents: "move" | "delete") => Promise<void>;
|
|
77
|
+
handleMediaMove: (ids: string[], folderId: string | null) => void;
|
|
78
|
+
handleFolderUpload: (entries: {
|
|
79
|
+
file: File;
|
|
80
|
+
relativePath: string;
|
|
81
|
+
}[], currentFolderId: string | null) => Promise<void>;
|
|
70
82
|
referenceCountMap: Record<string, number>;
|
|
71
83
|
contextValue: MediaLibraryContextValue;
|
|
72
84
|
enqueueFile: (file: File, onComplete?: (imageId: string) => void) => void;
|