@simple-builder/react 1.3.9 → 1.4.1
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/{build-container-client-THZHNQ5S.mjs → build-container-client-6S55GQVT.mjs} +81 -41
- package/dist/{build-container-client-NXIMV3RF.js → build-container-client-EQBL556Y.js} +148 -115
- package/dist/{build-container-client-ZXO66OL5.js → build-container-client-JAITVVDD.js} +176 -136
- package/dist/{build-container-client-5QC5KVS3.mjs → build-container-client-LMZUWEUI.mjs} +53 -20
- package/dist/{builder-content-3HENFCB5.js → builder-content-7ZRYWXPN.js} +7 -7
- package/dist/{builder-content-2J424EME.mjs → builder-content-H75SR7I7.mjs} +2 -2
- package/dist/{builder-content-4ZNXUE7D.mjs → builder-content-OR2VTIUY.mjs} +2 -2
- package/dist/{builder-content-2MA6BKJ5.js → builder-content-XNIM2YVG.js} +7 -7
- package/dist/{chunk-BCPLNZMY.js → chunk-4SFXTFFU.js} +5 -5
- package/dist/{chunk-2CPAROZB.js → chunk-63LNKQZD.js} +1 -1
- package/dist/{chunk-3QWMKMTN.js → chunk-7FWFM2TR.js} +5 -5
- package/dist/{chunk-4TVSMCQU.js → chunk-7I4RGF45.js} +3 -3
- package/dist/{chunk-7X5S5JRE.js → chunk-JFWIO2AR.js} +3 -3
- package/dist/{chunk-5OV6KPTF.mjs → chunk-MXIMMIPT.mjs} +1 -1
- package/dist/{chunk-B5R6QY7N.mjs → chunk-QSAIF4GO.mjs} +1 -1
- package/dist/{chunk-5Q4KJW4A.mjs → chunk-UA2CNH3R.mjs} +2 -2
- package/dist/{chunk-6GCMYFBT.mjs → chunk-X5MZZBYC.mjs} +2 -2
- package/dist/{chunk-DZLUIOVD.js → chunk-YFRFNRKR.js} +1 -1
- package/dist/{chunk-CJGHP5Q7.mjs → chunk-ZJYB6LEV.mjs} +1 -1
- package/dist/{chunk-2GOYHVMW.mjs → chunk-ZQBKKI2S.mjs} +1 -1
- package/dist/index.css +0 -3
- package/dist/index.d.mts +6 -12
- package/dist/index.d.ts +6 -12
- package/dist/index.js +6 -6
- package/dist/index.mjs +2 -2
- package/package.json +2 -2
- package/dist/build-container-client-7Z6WZVBX.js +0 -2295
- package/dist/build-container-client-DWKVE65B.mjs +0 -2262
- package/dist/build-container-client-FN3PZMM7.mjs +0 -2257
- package/dist/build-container-client-FVDRMOZ7.mjs +0 -2255
- package/dist/build-container-client-GV52F5RP.js +0 -2298
- package/dist/build-container-client-J56NWFBF.mjs +0 -2261
- package/dist/build-container-client-L3WD4CG7.mjs +0 -2259
- package/dist/build-container-client-RSJ4H3SB.js +0 -2290
- package/dist/build-container-client-WGVIYK47.css +0 -1968
- package/dist/build-container-client-WHIUDBOZ.mjs +0 -2263
- package/dist/build-container-client-WIGFVNOW.css +0 -1971
- package/dist/build-container-client-WN35X6JD.js +0 -2291
- package/dist/build-container-client-WYIHRPSW.js +0 -2299
- package/dist/build-container-client-XAQDWWKB.mjs +0 -2254
- package/dist/build-container-client-XOHYMPBB.js +0 -2293
- package/dist/build-container-client-YDRPPWCU.js +0 -2297
- package/dist/build-container-client-YWNDWXO2.css +0 -1967
- package/dist/build-container-client-ZP3O6EGC.mjs +0 -2253
- package/dist/build-container-client-ZXAAYUTL.js +0 -2289
- package/dist/builder-content-2ZXIEMS3.js +0 -42
- package/dist/builder-content-3H7GF3KF.mjs +0 -20
- package/dist/builder-content-6PIBXDPE.mjs +0 -20
- package/dist/builder-content-73ZKCEIT.mjs +0 -20
- package/dist/builder-content-BIVYFWCC.js +0 -42
- package/dist/builder-content-BKE4JZ75.js +0 -42
- package/dist/builder-content-BU4BXER7.mjs +0 -20
- package/dist/builder-content-CP5VLMVD.mjs +0 -20
- package/dist/builder-content-CY43LFAA.js +0 -42
- package/dist/builder-content-FMTTH7R2.js +0 -42
- package/dist/builder-content-GBSIY2Z7.js +0 -42
- package/dist/builder-content-GJ4HYIOA.mjs +0 -20
- package/dist/builder-content-HQXSXBFZ.mjs +0 -20
- package/dist/builder-content-L7NHKCKD.js +0 -42
- package/dist/builder-content-MI55X5HA.css +0 -1971
- package/dist/builder-content-PWV6LNFT.mjs +0 -20
- package/dist/builder-content-RROSPBT4.css +0 -1968
- package/dist/builder-content-RV3DPWFH.js +0 -42
- package/dist/builder-content-V2MDRHJI.css +0 -1967
- package/dist/chunk-2OHBCAZQ.mjs +0 -244
- package/dist/chunk-2OYBZSJQ.mjs +0 -123
- package/dist/chunk-454D7NIH.js +0 -153
- package/dist/chunk-6GCUWI4L.mjs +0 -135
- package/dist/chunk-6KNCX5O5.mjs +0 -123
- package/dist/chunk-6VINC5E2.mjs +0 -244
- package/dist/chunk-C5GHD62W.mjs +0 -20
- package/dist/chunk-CARNMQP6.mjs +0 -20
- package/dist/chunk-CJNSRJNF.js +0 -42
- package/dist/chunk-EVMN5SX2.js +0 -269
- package/dist/chunk-EZFQOJHG.mjs +0 -244
- package/dist/chunk-F5JWY4CM.mjs +0 -20
- package/dist/chunk-H357GPTV.mjs +0 -244
- package/dist/chunk-H6OM2V2U.mjs +0 -20
- package/dist/chunk-HCM5NR6G.js +0 -269
- package/dist/chunk-IJJTQQQN.mjs +0 -135
- package/dist/chunk-IQX5LONG.js +0 -153
- package/dist/chunk-LEIASP7E.js +0 -153
- package/dist/chunk-MBISMJDL.js +0 -269
- package/dist/chunk-NDE4WSBA.js +0 -269
- package/dist/chunk-NUDE6YTK.js +0 -165
- package/dist/chunk-NZ4ZQMIS.js +0 -42
- package/dist/chunk-OWZPAOR6.mjs +0 -244
- package/dist/chunk-PADTJYXB.mjs +0 -20
- package/dist/chunk-QZQRUNAY.js +0 -153
- package/dist/chunk-RGBUK5SR.js +0 -269
- package/dist/chunk-RNGHWAPZ.js +0 -269
- package/dist/chunk-RYW5OXNX.mjs +0 -244
- package/dist/chunk-RZFAIM2Q.mjs +0 -123
- package/dist/chunk-SFYJAJOD.js +0 -42
- package/dist/chunk-SLWJHIVH.mjs +0 -123
- package/dist/chunk-TMDKQB2L.js +0 -153
- package/dist/chunk-TQQ4WVQU.mjs +0 -123
- package/dist/chunk-VCXFPTGD.js +0 -42
- package/dist/chunk-VNNNLYSW.js +0 -42
- package/dist/chunk-VO7KUMAO.js +0 -165
- package/dist/chunk-W4OP4EHX.mjs +0 -20
- package/dist/chunk-WA7TKN6M.js +0 -42
- package/dist/chunk-WI3YU7TV.js +0 -42
- package/dist/chunk-WPBR7BJZ.js +0 -269
- package/dist/chunk-X5A4S44V.mjs +0 -244
- package/dist/chunk-X5GVLHI2.mjs +0 -20
- package/dist/chunk-XLE7GSYM.mjs +0 -244
- package/dist/chunk-XSG7W73Z.mjs +0 -20
- package/dist/chunk-XZNO7DXS.js +0 -153
- package/dist/chunk-YKPZPQ5D.js +0 -269
- package/dist/chunk-ZGHPPTOO.js +0 -42
- package/dist/chunk-ZZT7HGAM.mjs +0 -123
|
@@ -1,20 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
'use client';
|
|
3
|
-
'use client';
|
|
4
|
-
'use client';
|
|
5
|
-
'use client';
|
|
6
|
-
'use client';
|
|
7
|
-
'use client';
|
|
8
|
-
'use client';
|
|
9
|
-
'use client';
|
|
10
|
-
'use client';
|
|
11
|
-
'use client';
|
|
12
|
-
'use client';
|
|
13
2
|
'use strict';
|
|
14
3
|
|
|
15
|
-
require('./chunk-
|
|
16
|
-
var
|
|
17
|
-
var
|
|
4
|
+
require('./chunk-JFWIO2AR.js');
|
|
5
|
+
var chunk7FWFM2TR_js = require('./chunk-7FWFM2TR.js');
|
|
6
|
+
var chunk63LNKQZD_js = require('./chunk-63LNKQZD.js');
|
|
18
7
|
var React25 = require('react');
|
|
19
8
|
var lucideReact = require('lucide-react');
|
|
20
9
|
var AlertDialogPrimitive = require('@radix-ui/react-alert-dialog');
|
|
@@ -86,7 +75,7 @@ var AlertDialogPortal = AlertDialogPrimitive__namespace.Portal;
|
|
|
86
75
|
var AlertDialogOverlay = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React25__namespace.createElement(
|
|
87
76
|
AlertDialogPrimitive__namespace.Overlay,
|
|
88
77
|
{
|
|
89
|
-
className:
|
|
78
|
+
className: chunk63LNKQZD_js.cn(
|
|
90
79
|
"sb:fixed sb:inset-0 sb:z-50 sb:bg-background/80 sb:backdrop-blur-sm data-[state=open]:sb-animate-in data-[state=closed]:sb-animate-out data-[state=closed]:sb-fade-out-0 data-[state=open]:sb-fade-in-0",
|
|
91
80
|
className
|
|
92
81
|
),
|
|
@@ -99,7 +88,7 @@ var AlertDialogContent = React25__namespace.forwardRef(({ className, ...props },
|
|
|
99
88
|
AlertDialogPrimitive__namespace.Content,
|
|
100
89
|
{
|
|
101
90
|
ref,
|
|
102
|
-
className:
|
|
91
|
+
className: chunk63LNKQZD_js.cn(
|
|
103
92
|
"sb:fixed sb:font-roboto sb:left-[50%] sb:top-[50%] sb:z-50 sb:grid sb:w-full sb:max-w-lg sb:translate-x-[-50%] sb:translate-y-[-50%] sb:gap-4 sb:border sb:bg-background sb:p-6 sb:shadow-lg sb:duration-200 data-[state=open]:sb-animate-in data-[state=closed]:sb-animate-out data-[state=closed]:sb-fade-out-0 data-[state=open]:sb-fade-in-0 data-[state=closed]:sb-zoom-out-95 data-[state=open]:sb-zoom-in-95 data-[state=closed]:sb-slide-out-to-left-1/2 data-[state=closed]:sb-slide-out-to-top-[48%] data-[state=open]:sb-slide-in-from-left-1/2 data-[state=open]:sb-slide-in-from-top-[48%] sb:sm:rounded-lg",
|
|
104
93
|
className
|
|
105
94
|
),
|
|
@@ -113,7 +102,7 @@ var AlertDialogFooter = ({
|
|
|
113
102
|
}) => /* @__PURE__ */ React25__namespace.createElement(
|
|
114
103
|
"div",
|
|
115
104
|
{
|
|
116
|
-
className:
|
|
105
|
+
className: chunk63LNKQZD_js.cn(
|
|
117
106
|
"sb:flex sb:flex-col-reverse sb:sm:flex-row sb:sm:justify-end sb:sm:gap-2",
|
|
118
107
|
className
|
|
119
108
|
),
|
|
@@ -125,7 +114,7 @@ var AlertDialogTitle = React25__namespace.forwardRef(({ className, ...props }, r
|
|
|
125
114
|
AlertDialogPrimitive__namespace.Title,
|
|
126
115
|
{
|
|
127
116
|
ref,
|
|
128
|
-
className:
|
|
117
|
+
className: chunk63LNKQZD_js.cn("sb:text-lg sb:font-semibold", className),
|
|
129
118
|
...props
|
|
130
119
|
}
|
|
131
120
|
));
|
|
@@ -134,7 +123,7 @@ var AlertDialogDescription = React25__namespace.forwardRef(({ className, ...prop
|
|
|
134
123
|
AlertDialogPrimitive__namespace.Description,
|
|
135
124
|
{
|
|
136
125
|
ref,
|
|
137
|
-
className:
|
|
126
|
+
className: chunk63LNKQZD_js.cn("sb:text-sm sb:text-muted-foreground", className),
|
|
138
127
|
...props
|
|
139
128
|
}
|
|
140
129
|
));
|
|
@@ -143,7 +132,7 @@ var AlertDialogAction = React25__namespace.forwardRef(({ className, ...props },
|
|
|
143
132
|
AlertDialogPrimitive__namespace.Action,
|
|
144
133
|
{
|
|
145
134
|
ref,
|
|
146
|
-
className:
|
|
135
|
+
className: chunk63LNKQZD_js.cn(chunk7FWFM2TR_js.buttonVariants(), className),
|
|
147
136
|
...props
|
|
148
137
|
}
|
|
149
138
|
));
|
|
@@ -152,8 +141,8 @@ var AlertDialogCancel = React25__namespace.forwardRef(({ className, ...props },
|
|
|
152
141
|
AlertDialogPrimitive__namespace.Cancel,
|
|
153
142
|
{
|
|
154
143
|
ref,
|
|
155
|
-
className:
|
|
156
|
-
|
|
144
|
+
className: chunk63LNKQZD_js.cn(
|
|
145
|
+
chunk7FWFM2TR_js.buttonVariants({ variant: "outline" }),
|
|
157
146
|
"sb:mt-2 sb:sm:mt-0",
|
|
158
147
|
className
|
|
159
148
|
),
|
|
@@ -170,7 +159,7 @@ var PopoverContent = React25__namespace.forwardRef(({ className, align = "center
|
|
|
170
159
|
ref,
|
|
171
160
|
align,
|
|
172
161
|
sideOffset,
|
|
173
|
-
className:
|
|
162
|
+
className: chunk63LNKQZD_js.cn(
|
|
174
163
|
"sb:z-50 sb:w-72 sb:rounded-md sb:border sb:bg-popover sb:text-popover-foreground sb:shadow-md sb:outline-hidden data-[state=open]:sb-animate-in data-[state=closed]:sb-animate-out data-[state=closed]:sb-fade-out-0 data-[state=open]:sb-fade-in-0 data-[state=closed]:sb-zoom-out-95 data-[state=open]:sb-zoom-in-95 data-[side=bottom]:sb-slide-in-from-top-2 data-[side=left]:sb-slide-in-from-right-2 data-[side=right]:sb-slide-in-from-left-2 data-[side=top]:sb-slide-in-from-bottom-2 sb:origin-(--radix-popover-content-transform-origin)",
|
|
175
164
|
className
|
|
176
165
|
),
|
|
@@ -220,13 +209,16 @@ var Link = TiptapLink__default.default.extend({
|
|
|
220
209
|
}
|
|
221
210
|
});
|
|
222
211
|
|
|
212
|
+
// src/features/rich-text-editor/utils/normalize-rich-text-colors.ts
|
|
213
|
+
var normalizeRichTextColors = (html) => html.replaceAll(/hsl\(var\((--[A-Za-z0-9-]+)\)\)/g, "var($1)");
|
|
214
|
+
|
|
223
215
|
// src/features/rich-text-editor/utils/get-output.ts
|
|
224
216
|
var getOutput = (editor, format2) => {
|
|
225
217
|
switch (format2) {
|
|
226
218
|
case "json":
|
|
227
219
|
return editor.getJSON();
|
|
228
220
|
case "html":
|
|
229
|
-
return editor.isEmpty ? "" : editor.getHTML();
|
|
221
|
+
return editor.isEmpty ? "" : normalizeRichTextColors(editor.getHTML());
|
|
230
222
|
default:
|
|
231
223
|
return editor.getText();
|
|
232
224
|
}
|
|
@@ -245,7 +237,9 @@ var useRichTextEditor = ({
|
|
|
245
237
|
(editor2) => {
|
|
246
238
|
console.count("useRichTextEditor:handleCreate");
|
|
247
239
|
if (value && editor2.isEmpty) {
|
|
248
|
-
editor2.commands.setContent(
|
|
240
|
+
editor2.commands.setContent(
|
|
241
|
+
typeof value === "string" ? normalizeRichTextColors(value) : value
|
|
242
|
+
);
|
|
249
243
|
}
|
|
250
244
|
},
|
|
251
245
|
[value]
|
|
@@ -271,7 +265,7 @@ var useRichTextEditor = ({
|
|
|
271
265
|
autocomplete: "off",
|
|
272
266
|
autocorrect: "off",
|
|
273
267
|
autocapitalize: "off",
|
|
274
|
-
class:
|
|
268
|
+
class: chunk63LNKQZD_js.cn("sb-focus:outline-none", editorClassName)
|
|
275
269
|
}
|
|
276
270
|
},
|
|
277
271
|
onCreate: ({ editor: editor2 }) => handleCreate(editor2),
|
|
@@ -288,7 +282,7 @@ var DropdownMenuSubTrigger = React25__namespace.forwardRef(({ className, inset,
|
|
|
288
282
|
DropdownMenuPrimitive__namespace.SubTrigger,
|
|
289
283
|
{
|
|
290
284
|
ref,
|
|
291
|
-
className:
|
|
285
|
+
className: chunk63LNKQZD_js.cn(
|
|
292
286
|
"sb:flex sb:cursor-default sb:select-none sb:items-center sb:gap-2 sb:rounded-sm sb:px-2 sb:py-1.5 sb:text-sm sb:outline-hidden sb:focus:bg-accent sb:data-[state=open]:bg-accent sb:[&_svg]:pointer-events-none sb:[&_svg]:size-4 sb:[&_svg]:shrink-0",
|
|
293
287
|
inset && "sb:pl-8",
|
|
294
288
|
className
|
|
@@ -303,7 +297,7 @@ var DropdownMenuSubContent = React25__namespace.forwardRef(({ className, ...prop
|
|
|
303
297
|
DropdownMenuPrimitive__namespace.SubContent,
|
|
304
298
|
{
|
|
305
299
|
ref,
|
|
306
|
-
className:
|
|
300
|
+
className: chunk63LNKQZD_js.cn(
|
|
307
301
|
"sb:z-50 sb:min-w-32 sb:overflow-hidden sb:rounded-md sb:border sb:bg-popover sb:p-1 sb:text-popover-foreground sb:shadow-lg data-[state=open]:sb-animate-in data-[state=closed]:sb-animate-out data-[state=closed]:sb-fade-out-0 data-[state=open]:sb-fade-in-0 data-[state=closed]:sb-zoom-out-95 data-[state=open]:sb-zoom-in-95 data-[side=bottom]:sb-slide-in-from-top-2 data-[side=left]:sb-slide-in-from-right-2 data-[side=right]:sb-slide-in-from-left-2 data-[side=top]:sb-slide-in-from-bottom-2 sb:origin-(--radix-dropdown-menu-content-transform-origin)",
|
|
308
302
|
className
|
|
309
303
|
),
|
|
@@ -316,7 +310,7 @@ var DropdownMenuContent = React25__namespace.forwardRef(({ className, sideOffset
|
|
|
316
310
|
{
|
|
317
311
|
ref,
|
|
318
312
|
sideOffset,
|
|
319
|
-
className:
|
|
313
|
+
className: chunk63LNKQZD_js.cn(
|
|
320
314
|
"sb:z-50 sb:max-h-(--radix-dropdown-menu-content-available-height) sb:min-w-32 sb:overflow-y-auto sb:overflow-x-hidden sb:rounded-md sb:border sb:bg-popover sb:p-1 sb:text-popover-foreground sb:shadow-md",
|
|
321
315
|
"data-[state=open]:sb-animate-in data-[state=closed]:sb-animate-out data-[state=closed]:sb-fade-out-0 data-[state=open]:sb-fade-in-0 data-[state=closed]:sb-zoom-out-95 data-[state=open]:sb-zoom-in-95 data-[side=bottom]:sb-slide-in-from-top-2 data-[side=left]:sb-slide-in-from-right-2 data-[side=right]:sb-slide-in-from-left-2 data-[side=top]:sb-slide-in-from-bottom-2 sb:origin-(--radix-dropdown-menu-content-transform-origin)",
|
|
322
316
|
className
|
|
@@ -329,7 +323,7 @@ var DropdownMenuItem = React25__namespace.forwardRef(({ className, inset, ...pro
|
|
|
329
323
|
DropdownMenuPrimitive__namespace.Item,
|
|
330
324
|
{
|
|
331
325
|
ref,
|
|
332
|
-
className:
|
|
326
|
+
className: chunk63LNKQZD_js.cn(
|
|
333
327
|
"sb:relative sb:flex sb:cursor-default sb:select-none sb:items-center sb:gap-2 sb:rounded-sm sb:px-2 sb:py-1.5 sb:text-sm sb:outline-hidden sb:transition-colors sb:focus:bg-accent sb:focus:text-accent-foreground sb:data-disabled:pointer-events-none sb:data-disabled:opacity-50 sb:[&>svg]:size-4 sb:[&>svg]:shrink-0",
|
|
334
328
|
inset && "sb:pl-8",
|
|
335
329
|
className
|
|
@@ -342,7 +336,7 @@ var DropdownMenuCheckboxItem = React25__namespace.forwardRef(({ className, child
|
|
|
342
336
|
DropdownMenuPrimitive__namespace.CheckboxItem,
|
|
343
337
|
{
|
|
344
338
|
ref,
|
|
345
|
-
className:
|
|
339
|
+
className: chunk63LNKQZD_js.cn(
|
|
346
340
|
"sb:relative sb:flex sb:cursor-default sb:select-none sb:items-center sb:rounded-sm sb:py-1.5 sb:pl-8 sb:pr-2 sb:text-sm sb:outline-hidden sb:transition-colors sb:focus:bg-accent sb:focus:text-accent-foreground sb:data-disabled:pointer-events-none sb:data-disabled:opacity-50",
|
|
347
341
|
className
|
|
348
342
|
),
|
|
@@ -357,7 +351,7 @@ var DropdownMenuRadioItem = React25__namespace.forwardRef(({ className, children
|
|
|
357
351
|
DropdownMenuPrimitive__namespace.RadioItem,
|
|
358
352
|
{
|
|
359
353
|
ref,
|
|
360
|
-
className:
|
|
354
|
+
className: chunk63LNKQZD_js.cn(
|
|
361
355
|
"sb:relative sb:flex sb:cursor-default sb:select-none sb:items-center sb:rounded-sm sb:py-1.5 sb:pl-8 sb:pr-2 sb:text-sm sb:outline-hidden sb:transition-colors sb:focus:bg-accent sb:focus:text-accent-foreground sb:data-disabled:pointer-events-none sb:data-disabled:opacity-50",
|
|
362
356
|
className
|
|
363
357
|
),
|
|
@@ -371,7 +365,7 @@ var DropdownMenuLabel = React25__namespace.forwardRef(({ className, inset, ...pr
|
|
|
371
365
|
DropdownMenuPrimitive__namespace.Label,
|
|
372
366
|
{
|
|
373
367
|
ref,
|
|
374
|
-
className:
|
|
368
|
+
className: chunk63LNKQZD_js.cn(
|
|
375
369
|
"sb:px-2 sb:py-1.5 sb:text-sm sb:font-semibold",
|
|
376
370
|
inset && "sb:pl-8",
|
|
377
371
|
className
|
|
@@ -384,7 +378,7 @@ var DropdownMenuSeparator = React25__namespace.forwardRef(({ className, ...props
|
|
|
384
378
|
DropdownMenuPrimitive__namespace.Separator,
|
|
385
379
|
{
|
|
386
380
|
ref,
|
|
387
|
-
className:
|
|
381
|
+
className: chunk63LNKQZD_js.cn("sb:-mx-1 sb:my-1 sb:h-px sb:bg-muted", className),
|
|
388
382
|
...props
|
|
389
383
|
}
|
|
390
384
|
));
|
|
@@ -396,7 +390,7 @@ var Separator2 = React25__namespace.forwardRef(
|
|
|
396
390
|
ref,
|
|
397
391
|
decorative,
|
|
398
392
|
orientation,
|
|
399
|
-
className:
|
|
393
|
+
className: chunk63LNKQZD_js.cn(
|
|
400
394
|
"sb:shrink-0 sb:bg-border",
|
|
401
395
|
orientation === "horizontal" ? "sb:h-px sb:w-full" : "sb:h-full sb:w-px",
|
|
402
396
|
className
|
|
@@ -430,7 +424,7 @@ var Toggle = React25__namespace.forwardRef(({ className, variant, size, ...props
|
|
|
430
424
|
TogglePrimitive__namespace.Root,
|
|
431
425
|
{
|
|
432
426
|
ref,
|
|
433
|
-
className:
|
|
427
|
+
className: chunk63LNKQZD_js.cn(toggleVariants({ variant, size, className })),
|
|
434
428
|
...props
|
|
435
429
|
}
|
|
436
430
|
));
|
|
@@ -443,7 +437,7 @@ var ToggleGroup = React25__namespace.forwardRef(({ className, variant, size, chi
|
|
|
443
437
|
ToggleGroupPrimitive__namespace.Root,
|
|
444
438
|
{
|
|
445
439
|
ref,
|
|
446
|
-
className:
|
|
440
|
+
className: chunk63LNKQZD_js.cn("sb:flex sb:items-center sb:justify-center sb:gap-1", className),
|
|
447
441
|
...props
|
|
448
442
|
},
|
|
449
443
|
/* @__PURE__ */ React25__namespace.createElement(ToggleGroupContext.Provider, { value: { variant, size } }, children)
|
|
@@ -455,7 +449,7 @@ var ToggleGroupItem = React25__namespace.forwardRef(({ className, children, vari
|
|
|
455
449
|
ToggleGroupPrimitive__namespace.Item,
|
|
456
450
|
{
|
|
457
451
|
ref,
|
|
458
|
-
className:
|
|
452
|
+
className: chunk63LNKQZD_js.cn(
|
|
459
453
|
toggleVariants({
|
|
460
454
|
variant: context.variant || variant,
|
|
461
455
|
size: context.size || size
|
|
@@ -470,32 +464,34 @@ var ToggleGroupItem = React25__namespace.forwardRef(({ className, children, vari
|
|
|
470
464
|
ToggleGroupItem.displayName = ToggleGroupPrimitive__namespace.Item.displayName;
|
|
471
465
|
var PALETTES = [
|
|
472
466
|
{
|
|
473
|
-
inverse: "
|
|
467
|
+
inverse: "var(--background)",
|
|
474
468
|
colors: [
|
|
475
|
-
{ cssVar: "
|
|
476
|
-
{ cssVar: "
|
|
477
|
-
{ cssVar: "
|
|
478
|
-
{ cssVar: "
|
|
479
|
-
{ cssVar: "
|
|
480
|
-
{ cssVar: "
|
|
481
|
-
{ cssVar: "
|
|
469
|
+
{ cssVar: "var(--foreground)" },
|
|
470
|
+
{ cssVar: "var(--primary-foreground)" },
|
|
471
|
+
{ cssVar: "var(--secondary-foreground)" },
|
|
472
|
+
{ cssVar: "var(--tertiary-foreground)" },
|
|
473
|
+
{ cssVar: "var(--muted-foreground)" },
|
|
474
|
+
{ cssVar: "var(--accent-foreground)" },
|
|
475
|
+
{ cssVar: "var(--destructive-foreground)" }
|
|
482
476
|
]
|
|
483
477
|
},
|
|
484
478
|
{
|
|
485
|
-
inverse: "
|
|
479
|
+
inverse: "var(--foreground)",
|
|
486
480
|
colors: [
|
|
487
|
-
{ cssVar: "
|
|
488
|
-
{ cssVar: "
|
|
489
|
-
{ cssVar: "
|
|
490
|
-
{ cssVar: "
|
|
491
|
-
{ cssVar: "
|
|
492
|
-
{ cssVar: "
|
|
493
|
-
{ cssVar: "
|
|
481
|
+
{ cssVar: "var(--background)" },
|
|
482
|
+
{ cssVar: "var(--primary)" },
|
|
483
|
+
{ cssVar: "var(--secondary)" },
|
|
484
|
+
{ cssVar: "var(--tertiary)" },
|
|
485
|
+
{ cssVar: "var(--muted)" },
|
|
486
|
+
{ cssVar: "var(--accent)" },
|
|
487
|
+
{ cssVar: "var(--destructive)" }
|
|
494
488
|
]
|
|
495
489
|
}
|
|
496
490
|
];
|
|
497
491
|
var ColorTool = ({ editor }) => {
|
|
498
|
-
const color =
|
|
492
|
+
const color = normalizeRichTextColors(
|
|
493
|
+
editor.getAttributes("textStyle")?.color || "var(--foreground)"
|
|
494
|
+
);
|
|
499
495
|
const [selectedColor, setSelectedColor] = React25__namespace.useState(color);
|
|
500
496
|
React25__namespace.useEffect(() => {
|
|
501
497
|
setSelectedColor(color);
|
|
@@ -542,7 +538,7 @@ var ColorTool = ({ editor }) => {
|
|
|
542
538
|
value: color2.cssVar,
|
|
543
539
|
style: { backgroundColor: color2.cssVar }
|
|
544
540
|
},
|
|
545
|
-
selectedColor === color2.cssVar && /* @__PURE__ */ React25__namespace.createElement(
|
|
541
|
+
normalizeRichTextColors(selectedColor) === color2.cssVar && /* @__PURE__ */ React25__namespace.createElement(
|
|
546
542
|
lu.LuCheck,
|
|
547
543
|
{
|
|
548
544
|
className: "sb:absolute sb:inset-0 sb:m-auto sb:size-6",
|
|
@@ -607,7 +603,7 @@ var ElementTool = ({ editor }) => {
|
|
|
607
603
|
DropdownMenuItem,
|
|
608
604
|
{
|
|
609
605
|
key: action.label,
|
|
610
|
-
className:
|
|
606
|
+
className: chunk63LNKQZD_js.cn({
|
|
611
607
|
"sb:bg-accent": action.level ? editor.isActive("heading", { level: action.level }) : editor.isActive("paragraph")
|
|
612
608
|
}),
|
|
613
609
|
onClick: () => handleFormatChange(action.level)
|
|
@@ -704,7 +700,7 @@ var DialogOverlay = React25__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
704
700
|
DialogPrimitive__namespace.Overlay,
|
|
705
701
|
{
|
|
706
702
|
ref,
|
|
707
|
-
className:
|
|
703
|
+
className: chunk63LNKQZD_js.cn(
|
|
708
704
|
"sb:fixed sb:inset-0 sb:z-50 sb:bg-black/80 sb- data-[state=open]:sb-animate-in data-[state=closed]:sb-animate-out data-[state=closed]:sb-fade-out-0 data-[state=open]:sb-fade-in-0",
|
|
709
705
|
className
|
|
710
706
|
),
|
|
@@ -716,7 +712,7 @@ var DialogContent = React25__namespace.forwardRef(({ className, children, ...pro
|
|
|
716
712
|
DialogPrimitive__namespace.Content,
|
|
717
713
|
{
|
|
718
714
|
ref,
|
|
719
|
-
className:
|
|
715
|
+
className: chunk63LNKQZD_js.cn(
|
|
720
716
|
"sb:fixed sb:left-[50%] sb:top-[50%] sb:z-50 sb:grid sb:w-full sb:max-w-lg sb:translate-x-[-50%] sb:translate-y-[-50%] sb:gap-4 sb:border sb:bg-background sb:p-6 sb:shadow-lg sb:duration-200 data-[state=open]:sb-animate-in data-[state=closed]:sb-animate-out data-[state=closed]:sb-fade-out-0 data-[state=open]:sb-fade-in-0 data-[state=closed]:sb-zoom-out-95 data-[state=open]:sb-zoom-in-95 data-[state=closed]:sb-slide-out-to-left-1/2 data-[state=closed]:sb-slide-out-to-top-[48%] data-[state=open]:sb-slide-in-from-left-1/2 data-[state=open]:sb-slide-in-from-top-[48%] sb:sm:rounded-lg",
|
|
721
717
|
className
|
|
722
718
|
),
|
|
@@ -732,7 +728,7 @@ var DialogHeader = ({
|
|
|
732
728
|
}) => /* @__PURE__ */ React25__namespace.createElement(
|
|
733
729
|
"div",
|
|
734
730
|
{
|
|
735
|
-
className:
|
|
731
|
+
className: chunk63LNKQZD_js.cn(
|
|
736
732
|
"sb:flex sb:flex-col sb:gap-1.5 sb:text-center sb:sm:text-left",
|
|
737
733
|
className
|
|
738
734
|
),
|
|
@@ -744,7 +740,7 @@ var DialogTitle = React25__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
744
740
|
DialogPrimitive__namespace.Title,
|
|
745
741
|
{
|
|
746
742
|
ref,
|
|
747
|
-
className:
|
|
743
|
+
className: chunk63LNKQZD_js.cn(
|
|
748
744
|
"sb:text-lg sb:font-semibold sb:leading-none sb:tracking-tight",
|
|
749
745
|
className
|
|
750
746
|
),
|
|
@@ -756,7 +752,7 @@ var DialogDescription = React25__namespace.forwardRef(({ className, ...props },
|
|
|
756
752
|
DialogPrimitive__namespace.Description,
|
|
757
753
|
{
|
|
758
754
|
ref,
|
|
759
|
-
className:
|
|
755
|
+
className: chunk63LNKQZD_js.cn("sb:text-sm sb:text-muted-foreground", className),
|
|
760
756
|
...props
|
|
761
757
|
}
|
|
762
758
|
));
|
|
@@ -768,7 +764,7 @@ var Label2 = React25__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
768
764
|
LabelPrimitive__namespace.Root,
|
|
769
765
|
{
|
|
770
766
|
ref,
|
|
771
|
-
className:
|
|
767
|
+
className: chunk63LNKQZD_js.cn(labelVariants(), className),
|
|
772
768
|
...props
|
|
773
769
|
}
|
|
774
770
|
));
|
|
@@ -807,7 +803,7 @@ var FormItemContext = React25__namespace.createContext(
|
|
|
807
803
|
);
|
|
808
804
|
var FormItem = React25__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
809
805
|
const id = React25__namespace.useId();
|
|
810
|
-
return /* @__PURE__ */ React25__namespace.createElement(FormItemContext.Provider, { value: { id } }, /* @__PURE__ */ React25__namespace.createElement("div", { ref, className:
|
|
806
|
+
return /* @__PURE__ */ React25__namespace.createElement(FormItemContext.Provider, { value: { id } }, /* @__PURE__ */ React25__namespace.createElement("div", { ref, className: chunk63LNKQZD_js.cn("sb:flex sb:flex-col sb:gap-2", className), ...props }));
|
|
811
807
|
});
|
|
812
808
|
FormItem.displayName = "FormItem";
|
|
813
809
|
var FormLabel = React25__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
@@ -816,7 +812,7 @@ var FormLabel = React25__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
816
812
|
Label2,
|
|
817
813
|
{
|
|
818
814
|
ref,
|
|
819
|
-
className:
|
|
815
|
+
className: chunk63LNKQZD_js.cn(error && "sb:text-destructive", className),
|
|
820
816
|
htmlFor: formItemId,
|
|
821
817
|
...props
|
|
822
818
|
}
|
|
@@ -844,7 +840,7 @@ var FormDescription = React25__namespace.forwardRef(({ className, ...props }, re
|
|
|
844
840
|
{
|
|
845
841
|
ref,
|
|
846
842
|
id: formDescriptionId,
|
|
847
|
-
className:
|
|
843
|
+
className: chunk63LNKQZD_js.cn("sb:text-[0.8rem] sb:text-muted-foreground", className),
|
|
848
844
|
...props
|
|
849
845
|
}
|
|
850
846
|
);
|
|
@@ -861,7 +857,7 @@ var FormMessage = React25__namespace.forwardRef(({ className, children, ...props
|
|
|
861
857
|
{
|
|
862
858
|
ref,
|
|
863
859
|
id: formMessageId,
|
|
864
|
-
className:
|
|
860
|
+
className: chunk63LNKQZD_js.cn("sb:text-[0.8rem] sb:font-medium sb:text-destructive", className),
|
|
865
861
|
...props
|
|
866
862
|
},
|
|
867
863
|
body
|
|
@@ -874,7 +870,7 @@ var Input = React25__namespace.forwardRef(
|
|
|
874
870
|
"input",
|
|
875
871
|
{
|
|
876
872
|
type,
|
|
877
|
-
className:
|
|
873
|
+
className: chunk63LNKQZD_js.cn(
|
|
878
874
|
"sb:flex sb:h-9 sb:w-full sb:rounded-md sb:border sb:border-input sb:bg-transparent sb:px-3 sb:py-1 sb:text-base sb:shadow-sm sb:transition-colors sb:file:border-0 sb:file:bg-transparent sb:file:text-sm sb:file:font-medium sb:file:text-foreground sb:placeholder:text-muted-foreground sb:focus-visible:outline-hidden sb:focus-visible:ring-1 sb:focus-visible:ring-ring sb:disabled:cursor-not-allowed sb:disabled:opacity-50 sb:md:text-sm",
|
|
879
875
|
className
|
|
880
876
|
),
|
|
@@ -894,7 +890,7 @@ AdvancedInput.displayName = "AdvancedInput";
|
|
|
894
890
|
var Switch = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React25__namespace.createElement(
|
|
895
891
|
SwitchPrimitives__namespace.Root,
|
|
896
892
|
{
|
|
897
|
-
className:
|
|
893
|
+
className: chunk63LNKQZD_js.cn(
|
|
898
894
|
"sb:peer sb:inline-flex sb:h-5 sb:w-9 sb:shrink-0 sb:cursor-pointer sb:items-center sb:rounded-full sb:border-2 sb:border-transparent sb:shadow-sm sb:transition-colors sb:focus-visible:outline-hidden sb:focus-visible:ring-2 sb:focus-visible:ring-ring sb:focus-visible:ring-offset-2 sb:focus-visible:ring-offset-background sb:disabled:cursor-not-allowed sb:disabled:opacity-50 sb:data-[state=checked]:bg-primary sb:data-[state=unchecked]:bg-input",
|
|
899
895
|
className
|
|
900
896
|
),
|
|
@@ -904,7 +900,7 @@ var Switch = React25__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
904
900
|
/* @__PURE__ */ React25__namespace.createElement(
|
|
905
901
|
SwitchPrimitives__namespace.Thumb,
|
|
906
902
|
{
|
|
907
|
-
className:
|
|
903
|
+
className: chunk63LNKQZD_js.cn(
|
|
908
904
|
"sb:pointer-events-none sb:block sb:h-4 sb:w-4 sb:rounded-full sb:bg-background sb:shadow-lg sb:ring-0 sb:transition-transform sb:data-[state=checked]:translate-x-4 sb:data-[state=unchecked]:translate-x-0"
|
|
909
905
|
)
|
|
910
906
|
}
|
|
@@ -993,7 +989,7 @@ var LinkForm = ({
|
|
|
993
989
|
}
|
|
994
990
|
)), /* @__PURE__ */ React25__namespace.createElement(FormLabel, null, "Open in new tab")), /* @__PURE__ */ React25__namespace.createElement(FormMessage, null))
|
|
995
991
|
}
|
|
996
|
-
), /* @__PURE__ */ React25__namespace.createElement(
|
|
992
|
+
), /* @__PURE__ */ React25__namespace.createElement(chunk7FWFM2TR_js.Button, { type: "button", onClick: form.handleSubmit(handleSubmit) }, "Save")));
|
|
997
993
|
};
|
|
998
994
|
var actions3 = [
|
|
999
995
|
{
|
|
@@ -1048,7 +1044,7 @@ var ToolbarSection = ({
|
|
|
1048
1044
|
DropdownMenuItem,
|
|
1049
1045
|
{
|
|
1050
1046
|
key: action.label,
|
|
1051
|
-
className:
|
|
1047
|
+
className: chunk63LNKQZD_js.cn("sb:flex sb:flex-row sb:items-center sb:gap-2", {
|
|
1052
1048
|
"sb:bg-accent": action.isActive(editor)
|
|
1053
1049
|
}),
|
|
1054
1050
|
onClick: () => action.action(editor),
|
|
@@ -1063,7 +1059,7 @@ var ToolbarButton = React25__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
1063
1059
|
Toggle,
|
|
1064
1060
|
{
|
|
1065
1061
|
size: "sm",
|
|
1066
|
-
className:
|
|
1062
|
+
className: chunk63LNKQZD_js.cn(
|
|
1067
1063
|
"sb:size-8 sb:p-0 sb:data-[state=on]:bg-accent",
|
|
1068
1064
|
{ "sb:bg-accent": props.pressed },
|
|
1069
1065
|
className
|
|
@@ -1088,7 +1084,7 @@ var RichTextEditor = ({
|
|
|
1088
1084
|
const editor = useRichTextEditor({
|
|
1089
1085
|
value,
|
|
1090
1086
|
onUpdate: onChange,
|
|
1091
|
-
editorClassName:
|
|
1087
|
+
editorClassName: chunk63LNKQZD_js.cn("sb:flex-1 sb:px-3 sb:py-1", editorClassName),
|
|
1092
1088
|
...props
|
|
1093
1089
|
});
|
|
1094
1090
|
if (!editor) {
|
|
@@ -1097,7 +1093,7 @@ var RichTextEditor = ({
|
|
|
1097
1093
|
return /* @__PURE__ */ React25__namespace.createElement(
|
|
1098
1094
|
"div",
|
|
1099
1095
|
{
|
|
1100
|
-
className:
|
|
1096
|
+
className: chunk63LNKQZD_js.cn(
|
|
1101
1097
|
"sb:flex sb:h-auto sb:min-h-72 sb:w-full sb:flex-col sb:rounded-md sb:border sb:border-input sb:shadow-sm sb:focus-within:border-primary",
|
|
1102
1098
|
className
|
|
1103
1099
|
)
|
|
@@ -1107,7 +1103,7 @@ var RichTextEditor = ({
|
|
|
1107
1103
|
react.EditorContent,
|
|
1108
1104
|
{
|
|
1109
1105
|
editor,
|
|
1110
|
-
className:
|
|
1106
|
+
className: chunk63LNKQZD_js.cn(
|
|
1111
1107
|
"sb-editflow prose sb:flex sb:flex-1",
|
|
1112
1108
|
editorContentClassName
|
|
1113
1109
|
)
|
|
@@ -1125,15 +1121,15 @@ function Calendar({
|
|
|
1125
1121
|
reactDayPicker.DayPicker,
|
|
1126
1122
|
{
|
|
1127
1123
|
showOutsideDays,
|
|
1128
|
-
className:
|
|
1124
|
+
className: chunk63LNKQZD_js.cn("sb:p-3 sb:font-roboto", className),
|
|
1129
1125
|
classNames: {
|
|
1130
1126
|
months: "sb:flex sb:flex-col sb:sm:flex-row sb:gap-y-4 sb:sm:gap-x-4 sb:sm:gap-y-0",
|
|
1131
1127
|
month: "sb:gap-y-4",
|
|
1132
1128
|
caption: "sb:flex sb:justify-center sb:pt-1 sb:relative sb:items-center",
|
|
1133
1129
|
caption_label: "sb:text-sm sb:font-medium",
|
|
1134
1130
|
nav: "sb:gap-x-1 sb:flex sb:items-center",
|
|
1135
|
-
nav_button:
|
|
1136
|
-
|
|
1131
|
+
nav_button: chunk63LNKQZD_js.cn(
|
|
1132
|
+
chunk7FWFM2TR_js.buttonVariants({ variant: "outline" }),
|
|
1137
1133
|
"sb:h-7 sb:w-7 sb:bg-transparent sb:p-0 sb:opacity-50 sb:hover:opacity-100"
|
|
1138
1134
|
),
|
|
1139
1135
|
nav_button_previous: "sb:absolute sb:left-1",
|
|
@@ -1142,12 +1138,12 @@ function Calendar({
|
|
|
1142
1138
|
head_row: "sb:flex",
|
|
1143
1139
|
head_cell: "sb:text-muted-foreground sb:rounded-md sb:w-8 sb:font-normal sb:text-[0.8rem]",
|
|
1144
1140
|
row: "sb:flex sb:w-full sb:mt-2",
|
|
1145
|
-
cell:
|
|
1141
|
+
cell: chunk63LNKQZD_js.cn(
|
|
1146
1142
|
"sb:relative sb:p-0 sb:text-center sb:text-sm sb:focus-within:relative sb:focus-within:z-20 sb:[&:has([aria-selected])]:bg-accent sb:[&:has([aria-selected].day-outside)]:bg-accent/50 sb:[&:has([aria-selected].day-range-end)]:rounded-r-md",
|
|
1147
1143
|
props.mode === "range" ? "sb:[&:has(>.day-range-end)]:rounded-r-md sb:[&:has(>.day-range-start)]:rounded-l-md sb:first:[&:has([aria-selected])]:rounded-l-md sb:last:[&:has([aria-selected])]:rounded-r-md" : "sb:[&:has([aria-selected])]:rounded-md"
|
|
1148
1144
|
),
|
|
1149
|
-
day:
|
|
1150
|
-
|
|
1145
|
+
day: chunk63LNKQZD_js.cn(
|
|
1146
|
+
chunk7FWFM2TR_js.buttonVariants({ variant: "ghost" }),
|
|
1151
1147
|
"sb:h-8 sb:w-8 sb:p-0 sb:font-normal sb:aria-selected:opacity-100"
|
|
1152
1148
|
),
|
|
1153
1149
|
day_range_start: "day-range-start",
|
|
@@ -1183,11 +1179,11 @@ var ColorPicker = (props) => {
|
|
|
1183
1179
|
"#FF0000"
|
|
1184
1180
|
];
|
|
1185
1181
|
return /* @__PURE__ */ React25__namespace.createElement(Popover, null, /* @__PURE__ */ React25__namespace.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React25__namespace.createElement(
|
|
1186
|
-
|
|
1182
|
+
chunk7FWFM2TR_js.Button,
|
|
1187
1183
|
{
|
|
1188
1184
|
variant: "outline",
|
|
1189
1185
|
size: "sm",
|
|
1190
|
-
className:
|
|
1186
|
+
className: chunk63LNKQZD_js.cn(
|
|
1191
1187
|
"sb:justify-start sb:text-left sb:font-normal sb:normal-case sb:w-full",
|
|
1192
1188
|
!color && "sb:text-muted-foreground",
|
|
1193
1189
|
className
|
|
@@ -1210,11 +1206,26 @@ var ColorPicker = (props) => {
|
|
|
1210
1206
|
}
|
|
1211
1207
|
))));
|
|
1212
1208
|
};
|
|
1209
|
+
var IMAGE_FILE_ACCEPT = ".png,.jpg,.jpeg,.webp,.gif,.svg";
|
|
1210
|
+
var MEDIA_FILE_ACCEPT = `${IMAGE_FILE_ACCEPT},.mp4,.webm,.mov,.ogg,.ogv,.m4v,video/*`;
|
|
1211
|
+
var VIDEO_EXTENSIONS = [".mp4", ".webm", ".mov", ".ogg", ".ogv", ".m4v"];
|
|
1212
|
+
var isVideoUrl = (src) => {
|
|
1213
|
+
const path = src.split("?")[0].split("#")[0].toLowerCase();
|
|
1214
|
+
return VIDEO_EXTENSIONS.some((ext) => path.endsWith(ext));
|
|
1215
|
+
};
|
|
1216
|
+
var isVideoFile = (file) => file.type.startsWith("video/") || isVideoUrl(file.name);
|
|
1213
1217
|
var MediaInput = (props) => {
|
|
1214
|
-
const {
|
|
1218
|
+
const {
|
|
1219
|
+
onFilesChange,
|
|
1220
|
+
limit = 32,
|
|
1221
|
+
multiple = false,
|
|
1222
|
+
onError,
|
|
1223
|
+
accept = MEDIA_FILE_ACCEPT
|
|
1224
|
+
} = props;
|
|
1215
1225
|
const id = React25__namespace.useId();
|
|
1216
1226
|
const [queue, setQueue] = React25__namespace.useState([]);
|
|
1217
1227
|
const [sources, setSources] = React25__namespace.useState(props.files ?? []);
|
|
1228
|
+
const [videoUrls, setVideoUrls] = React25__namespace.useState({});
|
|
1218
1229
|
const maxConcurrentUploads = 3;
|
|
1219
1230
|
const uploadingCountRef = React25__namespace.useRef(0);
|
|
1220
1231
|
const handleFilesAdd = async (e) => {
|
|
@@ -1264,6 +1275,9 @@ var MediaInput = (props) => {
|
|
|
1264
1275
|
);
|
|
1265
1276
|
continue;
|
|
1266
1277
|
}
|
|
1278
|
+
if (isVideoFile(file)) {
|
|
1279
|
+
setVideoUrls((prev) => ({ ...prev, [url]: true }));
|
|
1280
|
+
}
|
|
1267
1281
|
setSources((prev) => [...prev, url]);
|
|
1268
1282
|
onFilesChange?.([...sources, url]);
|
|
1269
1283
|
} catch (e2) {
|
|
@@ -1287,13 +1301,11 @@ var MediaInput = (props) => {
|
|
|
1287
1301
|
body: JSON.stringify({ src })
|
|
1288
1302
|
});
|
|
1289
1303
|
};
|
|
1290
|
-
return /* @__PURE__ */ React25__namespace.createElement("div", { className:
|
|
1291
|
-
|
|
1304
|
+
return /* @__PURE__ */ React25__namespace.createElement("div", { className: chunk63LNKQZD_js.cn("flex flex-wrap gap-4", props.className) }, sources.map((src) => /* @__PURE__ */ React25__namespace.createElement(MediaInputItem, { key: src, className: chunk63LNKQZD_js.cn("group", props.itemClassName) }, /* @__PURE__ */ React25__namespace.createElement(
|
|
1305
|
+
MediaPreview,
|
|
1292
1306
|
{
|
|
1293
1307
|
src,
|
|
1294
|
-
|
|
1295
|
-
fill: true,
|
|
1296
|
-
className: "sb:absolute sb:inset-0 sb:object-cover sb:pointer-events-none"
|
|
1308
|
+
isVideo: !!videoUrls[src] || isVideoUrl(src)
|
|
1297
1309
|
}
|
|
1298
1310
|
), /* @__PURE__ */ React25__namespace.createElement("div", { className: "sb:absolute sb:right-1 sb:top-1 sb:z-30 sb:flex sb:items-center sb:justify-end sb:gap-3 sb:opacity-0 sb:transition-opacity sb:group-hover:opacity-100" }, /* @__PURE__ */ React25__namespace.createElement(
|
|
1299
1311
|
"button",
|
|
@@ -1306,7 +1318,7 @@ var MediaInput = (props) => {
|
|
|
1306
1318
|
MediaInputItem,
|
|
1307
1319
|
{
|
|
1308
1320
|
key: i,
|
|
1309
|
-
className:
|
|
1321
|
+
className: chunk63LNKQZD_js.cn(
|
|
1310
1322
|
"sb:flex sb:h-28 sb:w-28 sb:items-center sb:justify-center",
|
|
1311
1323
|
props.itemClassName
|
|
1312
1324
|
)
|
|
@@ -1316,7 +1328,7 @@ var MediaInput = (props) => {
|
|
|
1316
1328
|
"label",
|
|
1317
1329
|
{
|
|
1318
1330
|
htmlFor: id,
|
|
1319
|
-
className:
|
|
1331
|
+
className: chunk63LNKQZD_js.cn(
|
|
1320
1332
|
"sb:flex sb:h-28 sb:w-28 sb:cursor-pointer sb:items-center sb:justify-center sb:rounded-lg sb:border",
|
|
1321
1333
|
props.itemClassName
|
|
1322
1334
|
)
|
|
@@ -1329,7 +1341,7 @@ var MediaInput = (props) => {
|
|
|
1329
1341
|
type: "file",
|
|
1330
1342
|
onChange: handleFilesAdd,
|
|
1331
1343
|
multiple,
|
|
1332
|
-
accept
|
|
1344
|
+
accept,
|
|
1333
1345
|
className: "sb:hidden"
|
|
1334
1346
|
}
|
|
1335
1347
|
)
|
|
@@ -1339,7 +1351,7 @@ var MediaInputItem = (props) => {
|
|
|
1339
1351
|
return /* @__PURE__ */ React25__namespace.createElement(
|
|
1340
1352
|
"div",
|
|
1341
1353
|
{
|
|
1342
|
-
className:
|
|
1354
|
+
className: chunk63LNKQZD_js.cn(
|
|
1343
1355
|
"sb:relative sb:h-28 sb:w-28 sb:overflow-hidden sb:rounded-lg sb:border",
|
|
1344
1356
|
props.className
|
|
1345
1357
|
)
|
|
@@ -1347,6 +1359,33 @@ var MediaInputItem = (props) => {
|
|
|
1347
1359
|
props.children
|
|
1348
1360
|
);
|
|
1349
1361
|
};
|
|
1362
|
+
var MediaPreview = (props) => {
|
|
1363
|
+
const [kind, setKind] = React25__namespace.useState(
|
|
1364
|
+
props.isVideo ? "video" : "image"
|
|
1365
|
+
);
|
|
1366
|
+
if (kind === "video") {
|
|
1367
|
+
return /* @__PURE__ */ React25__namespace.createElement(
|
|
1368
|
+
"video",
|
|
1369
|
+
{
|
|
1370
|
+
src: props.src,
|
|
1371
|
+
muted: true,
|
|
1372
|
+
playsInline: true,
|
|
1373
|
+
preload: "metadata",
|
|
1374
|
+
className: "sb:absolute sb:inset-0 sb:h-full sb:w-full sb:object-cover sb:pointer-events-none"
|
|
1375
|
+
}
|
|
1376
|
+
);
|
|
1377
|
+
}
|
|
1378
|
+
return /* @__PURE__ */ React25__namespace.createElement(
|
|
1379
|
+
chunk63LNKQZD_js.Image,
|
|
1380
|
+
{
|
|
1381
|
+
src: props.src,
|
|
1382
|
+
alt: "",
|
|
1383
|
+
fill: true,
|
|
1384
|
+
className: "sb:absolute sb:inset-0 sb:object-cover sb:pointer-events-none",
|
|
1385
|
+
onError: () => setKind("video")
|
|
1386
|
+
}
|
|
1387
|
+
);
|
|
1388
|
+
};
|
|
1350
1389
|
var MediaInputError = class extends Error {
|
|
1351
1390
|
title;
|
|
1352
1391
|
description;
|
|
@@ -1362,7 +1401,7 @@ var SelectTrigger = React25__namespace.forwardRef(({ className, children, ...pro
|
|
|
1362
1401
|
SelectPrimitive__namespace.Trigger,
|
|
1363
1402
|
{
|
|
1364
1403
|
ref,
|
|
1365
|
-
className:
|
|
1404
|
+
className: chunk63LNKQZD_js.cn(
|
|
1366
1405
|
"sb:flex sb:h-10 sb:w-full sb:items-center sb:justify-between sb:rounded-md sb:border sb:border-input sb:bg-background sb:px-3 sb:py-2 sb:text-sm sb:ring-offset-background sb:placeholder:text-muted-foreground sb:focus:outline-hidden sb:focus:ring-2 sb:focus:ring-ring sb:focus:ring-offset-2 sb:disabled:cursor-not-allowed sb:disabled:opacity-50 sb:[&>span]:line-clamp-1",
|
|
1367
1406
|
className
|
|
1368
1407
|
),
|
|
@@ -1376,7 +1415,7 @@ var SelectScrollUpButton = React25__namespace.forwardRef(({ className, ...props
|
|
|
1376
1415
|
SelectPrimitive__namespace.ScrollUpButton,
|
|
1377
1416
|
{
|
|
1378
1417
|
ref,
|
|
1379
|
-
className:
|
|
1418
|
+
className: chunk63LNKQZD_js.cn(
|
|
1380
1419
|
"sb:flex sb:cursor-default sb:items-center sb:justify-center sb:py-1",
|
|
1381
1420
|
className
|
|
1382
1421
|
),
|
|
@@ -1389,7 +1428,7 @@ var SelectScrollDownButton = React25__namespace.forwardRef(({ className, ...prop
|
|
|
1389
1428
|
SelectPrimitive__namespace.ScrollDownButton,
|
|
1390
1429
|
{
|
|
1391
1430
|
ref,
|
|
1392
|
-
className:
|
|
1431
|
+
className: chunk63LNKQZD_js.cn(
|
|
1393
1432
|
"sb:flex sb:cursor-default sb:items-center sb:justify-center sb:py-1",
|
|
1394
1433
|
className
|
|
1395
1434
|
),
|
|
@@ -1402,7 +1441,7 @@ var SelectContent = React25__namespace.forwardRef(({ className, children, positi
|
|
|
1402
1441
|
SelectPrimitive__namespace.Content,
|
|
1403
1442
|
{
|
|
1404
1443
|
ref,
|
|
1405
|
-
className:
|
|
1444
|
+
className: chunk63LNKQZD_js.cn(
|
|
1406
1445
|
"sb:relative sb:z-50 sb:max-h-96 sb:min-w-32 sb:overflow-hidden sb:rounded-md sb:border sb:bg-popover sb:text-popover-foreground sb:shadow-md data-[state=open]:sb-animate-in data-[state=closed]:sb-animate-out data-[state=closed]:sb-fade-out-0 data-[state=open]:sb-fade-in-0 data-[state=closed]:sb-zoom-out-95 data-[state=open]:sb-zoom-in-95 data-[side=bottom]:sb-slide-in-from-top-2 data-[side=left]:sb-slide-in-from-right-2 data-[side=right]:sb-slide-in-from-left-2 data-[side=top]:sb-slide-in-from-bottom-2",
|
|
1407
1446
|
position === "popper" && "sb:data-[side=bottom]:translate-y-1 sb:data-[side=left]:-translate-x-1 sb:data-[side=right]:translate-x-1 sb:data-[side=top]:-translate-y-1",
|
|
1408
1447
|
className
|
|
@@ -1414,7 +1453,7 @@ var SelectContent = React25__namespace.forwardRef(({ className, children, positi
|
|
|
1414
1453
|
/* @__PURE__ */ React25__namespace.createElement(
|
|
1415
1454
|
SelectPrimitive__namespace.Viewport,
|
|
1416
1455
|
{
|
|
1417
|
-
className:
|
|
1456
|
+
className: chunk63LNKQZD_js.cn(
|
|
1418
1457
|
"sb:p-1",
|
|
1419
1458
|
position === "popper" && "sb:h-(--radix-select-trigger-height) sb:w-full sb:min-w-(--radix-select-trigger-width)"
|
|
1420
1459
|
)
|
|
@@ -1428,7 +1467,7 @@ var SelectLabel = React25__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
1428
1467
|
SelectPrimitive__namespace.Label,
|
|
1429
1468
|
{
|
|
1430
1469
|
ref,
|
|
1431
|
-
className:
|
|
1470
|
+
className: chunk63LNKQZD_js.cn(
|
|
1432
1471
|
"sb:py-1.5 sb:pl-8 sb:pr-2 sb:text-sm sb:font-semibold",
|
|
1433
1472
|
className
|
|
1434
1473
|
),
|
|
@@ -1440,7 +1479,7 @@ var SelectItem = React25__namespace.forwardRef(({ className, children, ...props
|
|
|
1440
1479
|
SelectPrimitive__namespace.Item,
|
|
1441
1480
|
{
|
|
1442
1481
|
ref,
|
|
1443
|
-
className:
|
|
1482
|
+
className: chunk63LNKQZD_js.cn(
|
|
1444
1483
|
"sb:relative sb:flex sb:w-full sb:cursor-default sb:select-none sb:items-center sb:rounded-sm sb:py-1.5 sb:pl-8 sb:pr-2 sb:text-sm sb:outline-hidden sb:focus:bg-accent sb:focus:text-accent-foreground sb:data-disabled:pointer-events-none sb:data-disabled:opacity-50",
|
|
1445
1484
|
className
|
|
1446
1485
|
),
|
|
@@ -1454,7 +1493,7 @@ var SelectSeparator = React25__namespace.forwardRef(({ className, ...props }, re
|
|
|
1454
1493
|
SelectPrimitive__namespace.Separator,
|
|
1455
1494
|
{
|
|
1456
1495
|
ref,
|
|
1457
|
-
className:
|
|
1496
|
+
className: chunk63LNKQZD_js.cn("sb:-mx-1 sb:my-1 sb:h-px sb:bg-muted", className),
|
|
1458
1497
|
...props
|
|
1459
1498
|
}
|
|
1460
1499
|
));
|
|
@@ -1464,7 +1503,7 @@ var Textarea = React25__namespace.forwardRef(
|
|
|
1464
1503
|
return /* @__PURE__ */ React25__namespace.createElement(
|
|
1465
1504
|
"textarea",
|
|
1466
1505
|
{
|
|
1467
|
-
className:
|
|
1506
|
+
className: chunk63LNKQZD_js.cn(
|
|
1468
1507
|
"sb:flex sb:min-h-[60px] sb:font-roboto sb:w-full sb:rounded-md sb:border sb:border-input sb:bg-transparent sb:px-3 sb:py-2 sb:text-sm sb:shadow-sm sb:placeholder:text-muted-foreground sb:focus-visible:outline-hidden sb:focus-visible:ring-1 sb:focus-visible:ring-ring sb:disabled:cursor-not-allowed sb:disabled:opacity-50",
|
|
1469
1508
|
className
|
|
1470
1509
|
),
|
|
@@ -1479,8 +1518,8 @@ Textarea.displayName = "Textarea";
|
|
|
1479
1518
|
// src/components/container-item-form.tsx
|
|
1480
1519
|
var ContainerItemForm = (props) => {
|
|
1481
1520
|
const { item } = props;
|
|
1482
|
-
const { patchItem } =
|
|
1483
|
-
const component =
|
|
1521
|
+
const { patchItem } = chunk7FWFM2TR_js.useBuilder();
|
|
1522
|
+
const component = chunk63LNKQZD_js.builder.getComponent(item.component);
|
|
1484
1523
|
if (!component) {
|
|
1485
1524
|
throw new Error(
|
|
1486
1525
|
`[simple-builder]: Component with id ${item.component} not found in container item form component`
|
|
@@ -1511,7 +1550,7 @@ var ContainerItemForm = (props) => {
|
|
|
1511
1550
|
input,
|
|
1512
1551
|
form
|
|
1513
1552
|
}
|
|
1514
|
-
)), /* @__PURE__ */ React25__namespace.createElement(
|
|
1553
|
+
)), /* @__PURE__ */ React25__namespace.createElement(chunk7FWFM2TR_js.Button, { type: "submit", className: "w-full" }, "Opslaan"))));
|
|
1515
1554
|
};
|
|
1516
1555
|
var RenderFormField = (props) => {
|
|
1517
1556
|
const { type, input, form } = props;
|
|
@@ -1552,12 +1591,12 @@ var RenderFormField = (props) => {
|
|
|
1552
1591
|
/* @__PURE__ */ React25__namespace.createElement(lucideReact.XIcon, { className: "sb:h-4 sb:w-4" })
|
|
1553
1592
|
))
|
|
1554
1593
|
), /* @__PURE__ */ React25__namespace.createElement(
|
|
1555
|
-
|
|
1594
|
+
chunk7FWFM2TR_js.Button,
|
|
1556
1595
|
{
|
|
1557
1596
|
type: "button",
|
|
1558
1597
|
variant: "outline",
|
|
1559
1598
|
size: "sm",
|
|
1560
|
-
className:
|
|
1599
|
+
className: chunk63LNKQZD_js.cn(
|
|
1561
1600
|
"sb:w-[89%] sb:border-2 sb:border-dashed sb:text-muted-foreground",
|
|
1562
1601
|
type === "grouped" && "sb:w-full"
|
|
1563
1602
|
),
|
|
@@ -1583,7 +1622,7 @@ var RenderFormField = (props) => {
|
|
|
1583
1622
|
}
|
|
1584
1623
|
);
|
|
1585
1624
|
case "richText":
|
|
1586
|
-
return /* @__PURE__ */ React25__namespace.createElement(Dialog, null, /* @__PURE__ */ React25__namespace.createElement("div", { className: "sb:flex sb:flex-col sb:gap-2" }, /* @__PURE__ */ React25__namespace.createElement(FormLabel, null, input.friendlyName || input.name), /* @__PURE__ */ React25__namespace.createElement(DialogTrigger, { asChild: true }, /* @__PURE__ */ React25__namespace.createElement(
|
|
1625
|
+
return /* @__PURE__ */ React25__namespace.createElement(Dialog, null, /* @__PURE__ */ React25__namespace.createElement("div", { className: "sb:flex sb:flex-col sb:gap-2" }, /* @__PURE__ */ React25__namespace.createElement(FormLabel, null, input.friendlyName || input.name), /* @__PURE__ */ React25__namespace.createElement(DialogTrigger, { asChild: true }, /* @__PURE__ */ React25__namespace.createElement(chunk7FWFM2TR_js.Button, { variant: "outline", className: "sb:w-full", type: "button" }, input.friendlyName || input.name, " bewerken"))), /* @__PURE__ */ React25__namespace.createElement(DialogContent, { className: "sb:max-w-3xl sb:p-0" }, /* @__PURE__ */ React25__namespace.createElement("div", { className: "sb:flex sb:h-full sb:max-h-svh sb:w-full sb:flex-col sb:sm:max-h-[90svh]" }, /* @__PURE__ */ React25__namespace.createElement(DialogHeader, { className: "sb:flex-none sb:border-b sb:p-6" }, /* @__PURE__ */ React25__namespace.createElement(DialogTitle, null, input.friendlyName || input.name, " editor")), /* @__PURE__ */ React25__namespace.createElement("div", { className: "sb:flex-1 sb:overflow-y-auto" }, /* @__PURE__ */ React25__namespace.createElement(
|
|
1587
1626
|
FormField,
|
|
1588
1627
|
{
|
|
1589
1628
|
key: input.name,
|
|
@@ -1638,11 +1677,11 @@ var RenderInput = (props) => {
|
|
|
1638
1677
|
return /* @__PURE__ */ React25__namespace.createElement(ColorPicker, { color: field.value, onColorChange: field.onChange });
|
|
1639
1678
|
case "date":
|
|
1640
1679
|
return /* @__PURE__ */ React25__namespace.createElement(Popover, null, /* @__PURE__ */ React25__namespace.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React25__namespace.createElement(
|
|
1641
|
-
|
|
1680
|
+
chunk7FWFM2TR_js.Button,
|
|
1642
1681
|
{
|
|
1643
1682
|
variant: "outline",
|
|
1644
1683
|
size: "sm",
|
|
1645
|
-
className:
|
|
1684
|
+
className: chunk63LNKQZD_js.cn(
|
|
1646
1685
|
"sb:w-full sb:flex sb:justify-start sb:text-left sb:font-normal",
|
|
1647
1686
|
!field.value && "sb:text-muted-foreground"
|
|
1648
1687
|
)
|
|
@@ -1682,7 +1721,7 @@ var RenderInput = (props) => {
|
|
|
1682
1721
|
}
|
|
1683
1722
|
};
|
|
1684
1723
|
var Tabs = TabsPrimitive__namespace.Root;
|
|
1685
|
-
var tabsListVariants =
|
|
1724
|
+
var tabsListVariants = chunk63LNKQZD_js.tv({
|
|
1686
1725
|
variants: {
|
|
1687
1726
|
variant: {
|
|
1688
1727
|
contained: "sb:inline-flex sb:h-10 sb:items-center sb:justify-center sb:rounded-md sb:bg-muted sb:p-1 sb:text-muted-foreground",
|
|
@@ -1702,7 +1741,7 @@ var TabsList = React25__namespace.forwardRef(({ variant, className, ...props },
|
|
|
1702
1741
|
}
|
|
1703
1742
|
));
|
|
1704
1743
|
TabsList.displayName = TabsPrimitive__namespace.List.displayName;
|
|
1705
|
-
var tabsTriggerVariants =
|
|
1744
|
+
var tabsTriggerVariants = chunk63LNKQZD_js.tv({
|
|
1706
1745
|
variants: {
|
|
1707
1746
|
variant: {
|
|
1708
1747
|
contained: "sb:inline-flex sb:items-center sb:justify-center sb:whitespace-nowrap sb:rounded-sm sb:px-3 sb:py-1.5 sb:text-sm sb:font-medium sb:ring-offset-background sb:transition-all sb:focus-visible:outline-hidden sb:focus-visible:ring-2 sb:focus-visible:ring-ring sb:focus-visible:ring-offset-2 sb:disabled:pointer-events-none sb:disabled:opacity-50 sb:data-[state=active]:bg-background sb:data-[state=active]:text-foreground sb:data-[state=active]:shadow-sm",
|
|
@@ -1726,7 +1765,7 @@ var TabsContent = React25__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
1726
1765
|
TabsPrimitive__namespace.Content,
|
|
1727
1766
|
{
|
|
1728
1767
|
ref,
|
|
1729
|
-
className:
|
|
1768
|
+
className: chunk63LNKQZD_js.cn(
|
|
1730
1769
|
"sb:ring-offset-background sb:font-roboto sb:focus-visible:outline-hidden sb:focus-visible:ring-2 sb:focus-visible:ring-ring sb:focus-visible:ring-offset-2",
|
|
1731
1770
|
className
|
|
1732
1771
|
),
|
|
@@ -1765,11 +1804,11 @@ var BackgroundPicker = (props) => {
|
|
|
1765
1804
|
return "solid";
|
|
1766
1805
|
}, [background]);
|
|
1767
1806
|
return /* @__PURE__ */ React25__namespace.createElement(Popover, null, /* @__PURE__ */ React25__namespace.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React25__namespace.createElement(
|
|
1768
|
-
|
|
1807
|
+
chunk7FWFM2TR_js.Button,
|
|
1769
1808
|
{
|
|
1770
1809
|
variant: "outline",
|
|
1771
1810
|
size: "sm",
|
|
1772
|
-
className:
|
|
1811
|
+
className: chunk63LNKQZD_js.cn(
|
|
1773
1812
|
"sb:justify-start sb:text-left sb:font-normal sb:normal-case sb:w-full",
|
|
1774
1813
|
!background && "sb:text-muted-foreground",
|
|
1775
1814
|
className
|
|
@@ -1818,6 +1857,7 @@ var BackgroundPicker = (props) => {
|
|
|
1818
1857
|
className: "sb:grid sb:grid-cols-2 sb:gap-1",
|
|
1819
1858
|
itemClassName: "sb:aspect-video sb:h-auto sb:w-full",
|
|
1820
1859
|
multiple: false,
|
|
1860
|
+
accept: IMAGE_FILE_ACCEPT,
|
|
1821
1861
|
onFilesChange: (files) => {
|
|
1822
1862
|
if (!files.length)
|
|
1823
1863
|
return;
|
|
@@ -1965,7 +2005,7 @@ var designSchema = zod.z.object({
|
|
|
1965
2005
|
});
|
|
1966
2006
|
var ItemDesignForm = (props) => {
|
|
1967
2007
|
const { item } = props;
|
|
1968
|
-
const component =
|
|
2008
|
+
const component = chunk63LNKQZD_js.builder.getComponent(item.component);
|
|
1969
2009
|
if (!component) {
|
|
1970
2010
|
throw new Error(
|
|
1971
2011
|
`[simple-builder]: Component "${item.component}" not found`
|
|
@@ -2007,7 +2047,7 @@ var ItemDesignForm = (props) => {
|
|
|
2007
2047
|
mobile: getDefaultDeviceValues("mobile")
|
|
2008
2048
|
}
|
|
2009
2049
|
});
|
|
2010
|
-
const { patchItem } =
|
|
2050
|
+
const { patchItem } = chunk7FWFM2TR_js.useBuilder();
|
|
2011
2051
|
const onSubmit = React25__namespace.useCallback(
|
|
2012
2052
|
(values) => {
|
|
2013
2053
|
const { container, hidden, desktop, mobile } = values;
|
|
@@ -2133,13 +2173,13 @@ var ItemDesignForm = (props) => {
|
|
|
2133
2173
|
}
|
|
2134
2174
|
)), /* @__PURE__ */ React25__namespace.createElement(FormMessage, null))
|
|
2135
2175
|
}
|
|
2136
|
-
)), /* @__PURE__ */ React25__namespace.createElement(
|
|
2176
|
+
)), /* @__PURE__ */ React25__namespace.createElement(chunk7FWFM2TR_js.Button, { type: "submit", className: "w-full" }, "Opslaan"))));
|
|
2137
2177
|
};
|
|
2138
2178
|
var ScrollArea = React25__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React25__namespace.createElement(
|
|
2139
2179
|
ScrollAreaPrimitive__namespace.Root,
|
|
2140
2180
|
{
|
|
2141
2181
|
ref,
|
|
2142
|
-
className:
|
|
2182
|
+
className: chunk63LNKQZD_js.cn("sb:relative sb:overflow-hidden", className),
|
|
2143
2183
|
...props
|
|
2144
2184
|
},
|
|
2145
2185
|
/* @__PURE__ */ React25__namespace.createElement(ScrollAreaPrimitive__namespace.Viewport, { className: "sb:h-full sb:max-h-[80vh] sb:w-full sb:rounded-[inherit]" }, children),
|
|
@@ -2152,7 +2192,7 @@ var ScrollBar = React25__namespace.forwardRef(({ className, orientation = "verti
|
|
|
2152
2192
|
{
|
|
2153
2193
|
ref,
|
|
2154
2194
|
orientation,
|
|
2155
|
-
className:
|
|
2195
|
+
className: chunk63LNKQZD_js.cn(
|
|
2156
2196
|
"sb:flex sb:touch-none sb:select-none sb:transition-colors",
|
|
2157
2197
|
orientation === "vertical" && "sb:h-full sb:w-2.5 sb:border-l sb:border-l-transparent sb:p-px",
|
|
2158
2198
|
orientation === "horizontal" && "sb:h-2.5 sb:flex-col sb:border-t sb:border-t-transparent sb:p-px",
|
|
@@ -2167,9 +2207,9 @@ ScrollBar.displayName = ScrollAreaPrimitive__namespace.ScrollAreaScrollbar.displ
|
|
|
2167
2207
|
// src/components/container-item-toolbar.tsx
|
|
2168
2208
|
var ContainerItemToolbar = (props) => {
|
|
2169
2209
|
const { contentId, canBringUp = false, canBringDown = false } = props;
|
|
2170
|
-
const { bringUp, bringDown } =
|
|
2210
|
+
const { bringUp, bringDown } = chunk7FWFM2TR_js.useBuilder();
|
|
2171
2211
|
return /* @__PURE__ */ React25__namespace.createElement("div", { className: "sb:absolute sb:z-20 sb:top-1 sb:right-1 sb:rounded-md sb:shadow sb:flex sb:flex-col sb:gap-1 sb:p-1 sb:bg-card sb:text-card-foreground sb-item-toolbar sb:opacity-0 sb:transition-opacity" }, /* @__PURE__ */ React25__namespace.createElement("div", { className: "sb:h-10 sb:p-1 sb:border sb:border-input sb:bg-background sb:rounded-md sb:text-sm sb:font-medium sb:flex sb:gap-1 sb:items-center sb:justify-start" }, /* @__PURE__ */ React25__namespace.createElement(EditButton, { id: contentId }), /* @__PURE__ */ React25__namespace.createElement(
|
|
2172
|
-
|
|
2212
|
+
chunk7FWFM2TR_js.Button,
|
|
2173
2213
|
{
|
|
2174
2214
|
variant: "ghost",
|
|
2175
2215
|
className: "sb:w-8 sb:h-8 sb:p-0",
|
|
@@ -2178,7 +2218,7 @@ var ContainerItemToolbar = (props) => {
|
|
|
2178
2218
|
},
|
|
2179
2219
|
/* @__PURE__ */ React25__namespace.createElement(lucideReact.ArrowUp, { className: "sb:h-5 sb:w-5" })
|
|
2180
2220
|
), /* @__PURE__ */ React25__namespace.createElement(
|
|
2181
|
-
|
|
2221
|
+
chunk7FWFM2TR_js.Button,
|
|
2182
2222
|
{
|
|
2183
2223
|
variant: "ghost",
|
|
2184
2224
|
className: "sb:w-8 sb:h-8 sb:p-0",
|
|
@@ -2189,7 +2229,7 @@ var ContainerItemToolbar = (props) => {
|
|
|
2189
2229
|
), /* @__PURE__ */ React25__namespace.createElement(DeleteButton, { contentId })));
|
|
2190
2230
|
};
|
|
2191
2231
|
var EditButton = ({ id }) => {
|
|
2192
|
-
return /* @__PURE__ */ React25__namespace.createElement(Popover, { modal: true }, /* @__PURE__ */ React25__namespace.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React25__namespace.createElement(
|
|
2232
|
+
return /* @__PURE__ */ React25__namespace.createElement(Popover, { modal: true }, /* @__PURE__ */ React25__namespace.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React25__namespace.createElement(chunk7FWFM2TR_js.Button, { variant: "ghost", className: "sb:w-8 sb:h-8 sb:p-0" }, /* @__PURE__ */ React25__namespace.createElement(lucideReact.Edit2Icon, { className: "sb:h-5 sb:w-5" }))), /* @__PURE__ */ React25__namespace.createElement(
|
|
2193
2233
|
PopoverContent,
|
|
2194
2234
|
{
|
|
2195
2235
|
side: "left",
|
|
@@ -2204,7 +2244,7 @@ var EditButton = ({ id }) => {
|
|
|
2204
2244
|
};
|
|
2205
2245
|
var EditPopoverInner = (props) => {
|
|
2206
2246
|
const { id } = props;
|
|
2207
|
-
const { getItem } =
|
|
2247
|
+
const { getItem } = chunk7FWFM2TR_js.useBuilder();
|
|
2208
2248
|
const item = getItem(id);
|
|
2209
2249
|
if (!item) {
|
|
2210
2250
|
throw new Error(
|
|
@@ -2214,9 +2254,9 @@ var EditPopoverInner = (props) => {
|
|
|
2214
2254
|
return /* @__PURE__ */ React25__namespace.createElement(Tabs, null, /* @__PURE__ */ React25__namespace.createElement(TabsList, { variant: "text", defaultValue: "content" }, /* @__PURE__ */ React25__namespace.createElement(TabsTrigger, { variant: "text", value: "content" }, "Inhoud"), /* @__PURE__ */ React25__namespace.createElement(TabsTrigger, { variant: "text", value: "design" }, "Design")), /* @__PURE__ */ React25__namespace.createElement(TabsContent, { value: "content" }, /* @__PURE__ */ React25__namespace.createElement(ScrollArea, null, /* @__PURE__ */ React25__namespace.createElement(ContainerItemForm, { item }))), /* @__PURE__ */ React25__namespace.createElement(TabsContent, { value: "design" }, /* @__PURE__ */ React25__namespace.createElement(ItemDesignForm, { item })));
|
|
2215
2255
|
};
|
|
2216
2256
|
var DeleteButton = ({ contentId }) => {
|
|
2217
|
-
const { deleteContent } =
|
|
2257
|
+
const { deleteContent } = chunk7FWFM2TR_js.useBuilder();
|
|
2218
2258
|
return /* @__PURE__ */ React25__namespace.createElement(AlertDialog, null, /* @__PURE__ */ React25__namespace.createElement(AlertDialogTrigger, { asChild: true }, /* @__PURE__ */ React25__namespace.createElement(
|
|
2219
|
-
|
|
2259
|
+
chunk7FWFM2TR_js.Button,
|
|
2220
2260
|
{
|
|
2221
2261
|
variant: "ghost",
|
|
2222
2262
|
className: "sb:w-8 sb:h-8 sb:p-0 sb:text-destructive"
|
|
@@ -2225,7 +2265,7 @@ var DeleteButton = ({ contentId }) => {
|
|
|
2225
2265
|
)), /* @__PURE__ */ React25__namespace.createElement(AlertDialogContent, null, /* @__PURE__ */ React25__namespace.createElement(AlertDialogDescription, null, "Weet je zeker dat je dit blok wilt verwijderen?"), /* @__PURE__ */ React25__namespace.createElement(AlertDialogFooter, null, /* @__PURE__ */ React25__namespace.createElement(AlertDialogCancel, null, "Annuleren"), /* @__PURE__ */ React25__namespace.createElement(
|
|
2226
2266
|
AlertDialogAction,
|
|
2227
2267
|
{
|
|
2228
|
-
className:
|
|
2268
|
+
className: chunk7FWFM2TR_js.buttonVariants({ variant: "destructive" }),
|
|
2229
2269
|
onClick: () => deleteContent(contentId)
|
|
2230
2270
|
},
|
|
2231
2271
|
"Verwijderen"
|
|
@@ -2241,7 +2281,7 @@ var BuildContainerInner = (props) => {
|
|
|
2241
2281
|
"[simple-builder]: Multiple content blocks detected when using property multiple false."
|
|
2242
2282
|
);
|
|
2243
2283
|
}
|
|
2244
|
-
return /* @__PURE__ */ React25__namespace.createElement("div", null, items.length <= 0 ? /* @__PURE__ */ React25__namespace.createElement(AddContentPlaceholder, { parent: id, container: name, index: 0 }) : multiple && /* @__PURE__ */ React25__namespace.createElement(AddContentDividerButton, { parent: id, container: name, index: 0 }), items.map((item, i) => /* @__PURE__ */ React25__namespace.createElement(React25__namespace.Fragment, { key: item.id }, /* @__PURE__ */ React25__namespace.createElement("div", { className: "sb:relative sb-container-item" }, /* @__PURE__ */ React25__namespace.createElement(
|
|
2284
|
+
return /* @__PURE__ */ React25__namespace.createElement("div", null, items.length <= 0 ? /* @__PURE__ */ React25__namespace.createElement(AddContentPlaceholder, { parent: id, container: name, index: 0 }) : multiple && /* @__PURE__ */ React25__namespace.createElement(AddContentDividerButton, { parent: id, container: name, index: 0 }), items.map((item, i) => /* @__PURE__ */ React25__namespace.createElement(React25__namespace.Fragment, { key: item.id }, /* @__PURE__ */ React25__namespace.createElement("div", { className: "sb:relative sb-container-item" }, /* @__PURE__ */ React25__namespace.createElement(chunk63LNKQZD_js.DesignWrapper, { building: true, styles: item.styles }, chunk63LNKQZD_js.builder.bindComponent(item, true)), /* @__PURE__ */ React25__namespace.createElement(
|
|
2245
2285
|
ContainerItemToolbar,
|
|
2246
2286
|
{
|
|
2247
2287
|
contentId: item.id,
|
|
@@ -2259,12 +2299,12 @@ var BuildContainerInner = (props) => {
|
|
|
2259
2299
|
};
|
|
2260
2300
|
var build_container_client_default = BuildContainerInner;
|
|
2261
2301
|
var AddContentButton = (props) => {
|
|
2262
|
-
const components =
|
|
2263
|
-
const { addContent } =
|
|
2264
|
-
return /* @__PURE__ */ React25__namespace.createElement(Popover, null, /* @__PURE__ */ React25__namespace.createElement(PopoverTrigger, { asChild: true }, props.children), /* @__PURE__ */ React25__namespace.createElement(PopoverContent, { className: "sb:p-1
|
|
2302
|
+
const components = chunk63LNKQZD_js.builder.getComponents();
|
|
2303
|
+
const { addContent } = chunk7FWFM2TR_js.useBuilder();
|
|
2304
|
+
return /* @__PURE__ */ React25__namespace.createElement(Popover, null, /* @__PURE__ */ React25__namespace.createElement(PopoverTrigger, { asChild: true }, props.children), /* @__PURE__ */ React25__namespace.createElement(PopoverContent, { className: "sb:p-1" }, /* @__PURE__ */ React25__namespace.createElement("div", { className: "sb:grid sb:grid-cols-2 sb:gap-2" }, components.map((component) => {
|
|
2265
2305
|
const Icon2 = component.icon ?? lucideReact.ImageIcon;
|
|
2266
2306
|
return /* @__PURE__ */ React25__namespace.createElement(PopoverClose, { key: component.name, asChild: true }, /* @__PURE__ */ React25__namespace.createElement(
|
|
2267
|
-
|
|
2307
|
+
chunk7FWFM2TR_js.Button,
|
|
2268
2308
|
{
|
|
2269
2309
|
variant: "ghost",
|
|
2270
2310
|
className: "sb:justify-start",
|
|
@@ -2283,11 +2323,11 @@ var AddContentButton = (props) => {
|
|
|
2283
2323
|
}))));
|
|
2284
2324
|
};
|
|
2285
2325
|
var AddContentPlaceholder = (props) => {
|
|
2286
|
-
return /* @__PURE__ */ React25__namespace.createElement(AddContentButton, { ...props }, /* @__PURE__ */ React25__namespace.createElement("div", { className: "sb:flex sb:justify-center sb:bg-primary/50 p-4" }, /* @__PURE__ */ React25__namespace.createElement(
|
|
2326
|
+
return /* @__PURE__ */ React25__namespace.createElement(AddContentButton, { ...props }, /* @__PURE__ */ React25__namespace.createElement("div", { className: "sb:flex sb:justify-center sb:bg-primary/50 p-4" }, /* @__PURE__ */ React25__namespace.createElement(chunk7FWFM2TR_js.Button, { size: "sm" }, /* @__PURE__ */ React25__namespace.createElement(lucideReact.PlusIcon, { className: "sb:mr-2 sb:h-4 sb:w-4" }), "Blok Toevoegen")));
|
|
2287
2327
|
};
|
|
2288
2328
|
var AddContentDividerButton = (props) => {
|
|
2289
2329
|
return /* @__PURE__ */ React25__namespace.createElement(AddContentButton, { ...props }, /* @__PURE__ */ React25__namespace.createElement("div", { className: "sb:w-full sb:h-1 sb:-my-[2px] sb:bg-primary sb:relative sb:z-20 sb:opacity-0 add-content-divider-button sb:transition-opacity" }, /* @__PURE__ */ React25__namespace.createElement(
|
|
2290
|
-
|
|
2330
|
+
chunk7FWFM2TR_js.Button,
|
|
2291
2331
|
{
|
|
2292
2332
|
size: "sm",
|
|
2293
2333
|
className: "sb:absolute sb:left-1/2 sb:top-1/2 sb:-translate-y-1/2 sb:-translate-x-1/2 sb:shadow"
|