@simple-builder/react 1.4.0 → 1.4.2

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.
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- import './chunk-UA2CNH3R.mjs';
3
- import { buttonVariants, Button, useBuilder } from './chunk-MXIMMIPT.mjs';
4
- import { cn, tv, DesignWrapper, builder, Image } from './chunk-ZQBKKI2S.mjs';
2
+ import './chunk-X5MZZBYC.mjs';
3
+ import { buttonVariants, Button, useBuilder } from './chunk-ZJYB6LEV.mjs';
4
+ import { cn, tv, DesignWrapper, builder, Image } from './chunk-QSAIF4GO.mjs';
5
5
  import * as React25 from 'react';
6
6
  import { useCallback } from 'react';
7
7
  import { ChevronRight, Check, Circle, X, ChevronDown, ChevronUp, PlusIcon, ArrowUp, ArrowDown, Edit2Icon, Trash2Icon, ImageIcon, XIcon, PlusCircleIcon, CalendarIcon, MonitorIcon, SmartphoneIcon, ChevronLeftIcon, ChevronRightIcon, PaintbrushIcon, Loader2Icon, AlignHorizontalSpaceAroundIcon, AlignHorizontalJustifyStartIcon, ScanIcon } from 'lucide-react';
@@ -173,13 +173,16 @@ var Link = TiptapLink.extend({
173
173
  }
174
174
  });
175
175
 
176
+ // src/features/rich-text-editor/utils/normalize-rich-text-colors.ts
177
+ var normalizeRichTextColors = (html) => html.replaceAll(/hsl\(var\((--[A-Za-z0-9-]+)\)\)/g, "var($1)");
178
+
176
179
  // src/features/rich-text-editor/utils/get-output.ts
177
180
  var getOutput = (editor, format2) => {
178
181
  switch (format2) {
179
182
  case "json":
180
183
  return editor.getJSON();
181
184
  case "html":
182
- return editor.isEmpty ? "" : editor.getHTML();
185
+ return editor.isEmpty ? "" : normalizeRichTextColors(editor.getHTML());
183
186
  default:
184
187
  return editor.getText();
185
188
  }
@@ -198,7 +201,9 @@ var useRichTextEditor = ({
198
201
  (editor2) => {
199
202
  console.count("useRichTextEditor:handleCreate");
200
203
  if (value && editor2.isEmpty) {
201
- editor2.commands.setContent(value);
204
+ editor2.commands.setContent(
205
+ typeof value === "string" ? normalizeRichTextColors(value) : value
206
+ );
202
207
  }
203
208
  },
204
209
  [value]
@@ -423,32 +428,34 @@ var ToggleGroupItem = React25.forwardRef(({ className, children, variant, size,
423
428
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
424
429
  var PALETTES = [
425
430
  {
426
- inverse: "hsl(var(--background))",
431
+ inverse: "var(--background)",
427
432
  colors: [
428
- { cssVar: "hsl(var(--foreground))" },
429
- { cssVar: "hsl(var(--primary-foreground))" },
430
- { cssVar: "hsl(var(--secondary-foreground))" },
431
- { cssVar: "hsl(var(--tertiary-foreground))" },
432
- { cssVar: "hsl(var(--muted-foreground))" },
433
- { cssVar: "hsl(var(--accent-foreground))" },
434
- { cssVar: "hsl(var(--destructive-foreground))" }
433
+ { cssVar: "var(--foreground)" },
434
+ { cssVar: "var(--primary-foreground)" },
435
+ { cssVar: "var(--secondary-foreground)" },
436
+ { cssVar: "var(--tertiary-foreground)" },
437
+ { cssVar: "var(--muted-foreground)" },
438
+ { cssVar: "var(--accent-foreground)" },
439
+ { cssVar: "var(--destructive-foreground)" }
435
440
  ]
436
441
  },
437
442
  {
438
- inverse: "hsl(var(--foreground))",
443
+ inverse: "var(--foreground)",
439
444
  colors: [
440
- { cssVar: "hsl(var(--background))" },
441
- { cssVar: "hsl(var(--primary))" },
442
- { cssVar: "hsl(var(--secondary))" },
443
- { cssVar: "hsl(var(--tertiary))" },
444
- { cssVar: "hsl(var(--muted))" },
445
- { cssVar: "hsl(var(--accent))" },
446
- { cssVar: "hsl(var(--destructive))" }
445
+ { cssVar: "var(--background)" },
446
+ { cssVar: "var(--primary)" },
447
+ { cssVar: "var(--secondary)" },
448
+ { cssVar: "var(--tertiary)" },
449
+ { cssVar: "var(--muted)" },
450
+ { cssVar: "var(--accent)" },
451
+ { cssVar: "var(--destructive)" }
447
452
  ]
448
453
  }
449
454
  ];
450
455
  var ColorTool = ({ editor }) => {
451
- const color = editor.getAttributes("textStyle")?.color || "hsl(var(--foreground))";
456
+ const color = normalizeRichTextColors(
457
+ editor.getAttributes("textStyle")?.color || "var(--foreground)"
458
+ );
452
459
  const [selectedColor, setSelectedColor] = React25.useState(color);
453
460
  React25.useEffect(() => {
454
461
  setSelectedColor(color);
@@ -495,7 +502,7 @@ var ColorTool = ({ editor }) => {
495
502
  value: color2.cssVar,
496
503
  style: { backgroundColor: color2.cssVar }
497
504
  },
498
- selectedColor === color2.cssVar && /* @__PURE__ */ React25.createElement(
505
+ normalizeRichTextColors(selectedColor) === color2.cssVar && /* @__PURE__ */ React25.createElement(
499
506
  LuCheck,
500
507
  {
501
508
  className: "sb:absolute sb:inset-0 sb:m-auto sb:size-6",
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- require('./chunk-7I4RGF45.js');
5
- var chunk4SFXTFFU_js = require('./chunk-4SFXTFFU.js');
6
- var chunkYFRFNRKR_js = require('./chunk-YFRFNRKR.js');
4
+ require('./chunk-JFWIO2AR.js');
5
+ var chunk7FWFM2TR_js = require('./chunk-7FWFM2TR.js');
6
+ var chunk63LNKQZD_js = require('./chunk-63LNKQZD.js');
7
7
  var React25 = require('react');
8
8
  var lucideReact = require('lucide-react');
9
9
  var AlertDialogPrimitive = require('@radix-ui/react-alert-dialog');
@@ -75,7 +75,7 @@ var AlertDialogPortal = AlertDialogPrimitive__namespace.Portal;
75
75
  var AlertDialogOverlay = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React25__namespace.createElement(
76
76
  AlertDialogPrimitive__namespace.Overlay,
77
77
  {
78
- className: chunkYFRFNRKR_js.cn(
78
+ className: chunk63LNKQZD_js.cn(
79
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",
80
80
  className
81
81
  ),
@@ -88,7 +88,7 @@ var AlertDialogContent = React25__namespace.forwardRef(({ className, ...props },
88
88
  AlertDialogPrimitive__namespace.Content,
89
89
  {
90
90
  ref,
91
- className: chunkYFRFNRKR_js.cn(
91
+ className: chunk63LNKQZD_js.cn(
92
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",
93
93
  className
94
94
  ),
@@ -102,7 +102,7 @@ var AlertDialogFooter = ({
102
102
  }) => /* @__PURE__ */ React25__namespace.createElement(
103
103
  "div",
104
104
  {
105
- className: chunkYFRFNRKR_js.cn(
105
+ className: chunk63LNKQZD_js.cn(
106
106
  "sb:flex sb:flex-col-reverse sb:sm:flex-row sb:sm:justify-end sb:sm:gap-2",
107
107
  className
108
108
  ),
@@ -114,7 +114,7 @@ var AlertDialogTitle = React25__namespace.forwardRef(({ className, ...props }, r
114
114
  AlertDialogPrimitive__namespace.Title,
115
115
  {
116
116
  ref,
117
- className: chunkYFRFNRKR_js.cn("sb:text-lg sb:font-semibold", className),
117
+ className: chunk63LNKQZD_js.cn("sb:text-lg sb:font-semibold", className),
118
118
  ...props
119
119
  }
120
120
  ));
@@ -123,7 +123,7 @@ var AlertDialogDescription = React25__namespace.forwardRef(({ className, ...prop
123
123
  AlertDialogPrimitive__namespace.Description,
124
124
  {
125
125
  ref,
126
- className: chunkYFRFNRKR_js.cn("sb:text-sm sb:text-muted-foreground", className),
126
+ className: chunk63LNKQZD_js.cn("sb:text-sm sb:text-muted-foreground", className),
127
127
  ...props
128
128
  }
129
129
  ));
@@ -132,7 +132,7 @@ var AlertDialogAction = React25__namespace.forwardRef(({ className, ...props },
132
132
  AlertDialogPrimitive__namespace.Action,
133
133
  {
134
134
  ref,
135
- className: chunkYFRFNRKR_js.cn(chunk4SFXTFFU_js.buttonVariants(), className),
135
+ className: chunk63LNKQZD_js.cn(chunk7FWFM2TR_js.buttonVariants(), className),
136
136
  ...props
137
137
  }
138
138
  ));
@@ -141,8 +141,8 @@ var AlertDialogCancel = React25__namespace.forwardRef(({ className, ...props },
141
141
  AlertDialogPrimitive__namespace.Cancel,
142
142
  {
143
143
  ref,
144
- className: chunkYFRFNRKR_js.cn(
145
- chunk4SFXTFFU_js.buttonVariants({ variant: "outline" }),
144
+ className: chunk63LNKQZD_js.cn(
145
+ chunk7FWFM2TR_js.buttonVariants({ variant: "outline" }),
146
146
  "sb:mt-2 sb:sm:mt-0",
147
147
  className
148
148
  ),
@@ -159,7 +159,7 @@ var PopoverContent = React25__namespace.forwardRef(({ className, align = "center
159
159
  ref,
160
160
  align,
161
161
  sideOffset,
162
- className: chunkYFRFNRKR_js.cn(
162
+ className: chunk63LNKQZD_js.cn(
163
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)",
164
164
  className
165
165
  ),
@@ -209,13 +209,16 @@ var Link = TiptapLink__default.default.extend({
209
209
  }
210
210
  });
211
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
+
212
215
  // src/features/rich-text-editor/utils/get-output.ts
213
216
  var getOutput = (editor, format2) => {
214
217
  switch (format2) {
215
218
  case "json":
216
219
  return editor.getJSON();
217
220
  case "html":
218
- return editor.isEmpty ? "" : editor.getHTML();
221
+ return editor.isEmpty ? "" : normalizeRichTextColors(editor.getHTML());
219
222
  default:
220
223
  return editor.getText();
221
224
  }
@@ -234,7 +237,9 @@ var useRichTextEditor = ({
234
237
  (editor2) => {
235
238
  console.count("useRichTextEditor:handleCreate");
236
239
  if (value && editor2.isEmpty) {
237
- editor2.commands.setContent(value);
240
+ editor2.commands.setContent(
241
+ typeof value === "string" ? normalizeRichTextColors(value) : value
242
+ );
238
243
  }
239
244
  },
240
245
  [value]
@@ -260,7 +265,7 @@ var useRichTextEditor = ({
260
265
  autocomplete: "off",
261
266
  autocorrect: "off",
262
267
  autocapitalize: "off",
263
- class: chunkYFRFNRKR_js.cn("sb-focus:outline-none", editorClassName)
268
+ class: chunk63LNKQZD_js.cn("sb-focus:outline-none", editorClassName)
264
269
  }
265
270
  },
266
271
  onCreate: ({ editor: editor2 }) => handleCreate(editor2),
@@ -277,7 +282,7 @@ var DropdownMenuSubTrigger = React25__namespace.forwardRef(({ className, inset,
277
282
  DropdownMenuPrimitive__namespace.SubTrigger,
278
283
  {
279
284
  ref,
280
- className: chunkYFRFNRKR_js.cn(
285
+ className: chunk63LNKQZD_js.cn(
281
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",
282
287
  inset && "sb:pl-8",
283
288
  className
@@ -292,7 +297,7 @@ var DropdownMenuSubContent = React25__namespace.forwardRef(({ className, ...prop
292
297
  DropdownMenuPrimitive__namespace.SubContent,
293
298
  {
294
299
  ref,
295
- className: chunkYFRFNRKR_js.cn(
300
+ className: chunk63LNKQZD_js.cn(
296
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)",
297
302
  className
298
303
  ),
@@ -305,7 +310,7 @@ var DropdownMenuContent = React25__namespace.forwardRef(({ className, sideOffset
305
310
  {
306
311
  ref,
307
312
  sideOffset,
308
- className: chunkYFRFNRKR_js.cn(
313
+ className: chunk63LNKQZD_js.cn(
309
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",
310
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)",
311
316
  className
@@ -318,7 +323,7 @@ var DropdownMenuItem = React25__namespace.forwardRef(({ className, inset, ...pro
318
323
  DropdownMenuPrimitive__namespace.Item,
319
324
  {
320
325
  ref,
321
- className: chunkYFRFNRKR_js.cn(
326
+ className: chunk63LNKQZD_js.cn(
322
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",
323
328
  inset && "sb:pl-8",
324
329
  className
@@ -331,7 +336,7 @@ var DropdownMenuCheckboxItem = React25__namespace.forwardRef(({ className, child
331
336
  DropdownMenuPrimitive__namespace.CheckboxItem,
332
337
  {
333
338
  ref,
334
- className: chunkYFRFNRKR_js.cn(
339
+ className: chunk63LNKQZD_js.cn(
335
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",
336
341
  className
337
342
  ),
@@ -346,7 +351,7 @@ var DropdownMenuRadioItem = React25__namespace.forwardRef(({ className, children
346
351
  DropdownMenuPrimitive__namespace.RadioItem,
347
352
  {
348
353
  ref,
349
- className: chunkYFRFNRKR_js.cn(
354
+ className: chunk63LNKQZD_js.cn(
350
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",
351
356
  className
352
357
  ),
@@ -360,7 +365,7 @@ var DropdownMenuLabel = React25__namespace.forwardRef(({ className, inset, ...pr
360
365
  DropdownMenuPrimitive__namespace.Label,
361
366
  {
362
367
  ref,
363
- className: chunkYFRFNRKR_js.cn(
368
+ className: chunk63LNKQZD_js.cn(
364
369
  "sb:px-2 sb:py-1.5 sb:text-sm sb:font-semibold",
365
370
  inset && "sb:pl-8",
366
371
  className
@@ -373,7 +378,7 @@ var DropdownMenuSeparator = React25__namespace.forwardRef(({ className, ...props
373
378
  DropdownMenuPrimitive__namespace.Separator,
374
379
  {
375
380
  ref,
376
- className: chunkYFRFNRKR_js.cn("sb:-mx-1 sb:my-1 sb:h-px sb:bg-muted", className),
381
+ className: chunk63LNKQZD_js.cn("sb:-mx-1 sb:my-1 sb:h-px sb:bg-muted", className),
377
382
  ...props
378
383
  }
379
384
  ));
@@ -385,7 +390,7 @@ var Separator2 = React25__namespace.forwardRef(
385
390
  ref,
386
391
  decorative,
387
392
  orientation,
388
- className: chunkYFRFNRKR_js.cn(
393
+ className: chunk63LNKQZD_js.cn(
389
394
  "sb:shrink-0 sb:bg-border",
390
395
  orientation === "horizontal" ? "sb:h-px sb:w-full" : "sb:h-full sb:w-px",
391
396
  className
@@ -419,7 +424,7 @@ var Toggle = React25__namespace.forwardRef(({ className, variant, size, ...props
419
424
  TogglePrimitive__namespace.Root,
420
425
  {
421
426
  ref,
422
- className: chunkYFRFNRKR_js.cn(toggleVariants({ variant, size, className })),
427
+ className: chunk63LNKQZD_js.cn(toggleVariants({ variant, size, className })),
423
428
  ...props
424
429
  }
425
430
  ));
@@ -432,7 +437,7 @@ var ToggleGroup = React25__namespace.forwardRef(({ className, variant, size, chi
432
437
  ToggleGroupPrimitive__namespace.Root,
433
438
  {
434
439
  ref,
435
- className: chunkYFRFNRKR_js.cn("sb:flex sb:items-center sb:justify-center sb:gap-1", className),
440
+ className: chunk63LNKQZD_js.cn("sb:flex sb:items-center sb:justify-center sb:gap-1", className),
436
441
  ...props
437
442
  },
438
443
  /* @__PURE__ */ React25__namespace.createElement(ToggleGroupContext.Provider, { value: { variant, size } }, children)
@@ -444,7 +449,7 @@ var ToggleGroupItem = React25__namespace.forwardRef(({ className, children, vari
444
449
  ToggleGroupPrimitive__namespace.Item,
445
450
  {
446
451
  ref,
447
- className: chunkYFRFNRKR_js.cn(
452
+ className: chunk63LNKQZD_js.cn(
448
453
  toggleVariants({
449
454
  variant: context.variant || variant,
450
455
  size: context.size || size
@@ -459,32 +464,34 @@ var ToggleGroupItem = React25__namespace.forwardRef(({ className, children, vari
459
464
  ToggleGroupItem.displayName = ToggleGroupPrimitive__namespace.Item.displayName;
460
465
  var PALETTES = [
461
466
  {
462
- inverse: "hsl(var(--background))",
467
+ inverse: "var(--background)",
463
468
  colors: [
464
- { cssVar: "hsl(var(--foreground))" },
465
- { cssVar: "hsl(var(--primary-foreground))" },
466
- { cssVar: "hsl(var(--secondary-foreground))" },
467
- { cssVar: "hsl(var(--tertiary-foreground))" },
468
- { cssVar: "hsl(var(--muted-foreground))" },
469
- { cssVar: "hsl(var(--accent-foreground))" },
470
- { cssVar: "hsl(var(--destructive-foreground))" }
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)" }
471
476
  ]
472
477
  },
473
478
  {
474
- inverse: "hsl(var(--foreground))",
479
+ inverse: "var(--foreground)",
475
480
  colors: [
476
- { cssVar: "hsl(var(--background))" },
477
- { cssVar: "hsl(var(--primary))" },
478
- { cssVar: "hsl(var(--secondary))" },
479
- { cssVar: "hsl(var(--tertiary))" },
480
- { cssVar: "hsl(var(--muted))" },
481
- { cssVar: "hsl(var(--accent))" },
482
- { cssVar: "hsl(var(--destructive))" }
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)" }
483
488
  ]
484
489
  }
485
490
  ];
486
491
  var ColorTool = ({ editor }) => {
487
- const color = editor.getAttributes("textStyle")?.color || "hsl(var(--foreground))";
492
+ const color = normalizeRichTextColors(
493
+ editor.getAttributes("textStyle")?.color || "var(--foreground)"
494
+ );
488
495
  const [selectedColor, setSelectedColor] = React25__namespace.useState(color);
489
496
  React25__namespace.useEffect(() => {
490
497
  setSelectedColor(color);
@@ -531,7 +538,7 @@ var ColorTool = ({ editor }) => {
531
538
  value: color2.cssVar,
532
539
  style: { backgroundColor: color2.cssVar }
533
540
  },
534
- selectedColor === color2.cssVar && /* @__PURE__ */ React25__namespace.createElement(
541
+ normalizeRichTextColors(selectedColor) === color2.cssVar && /* @__PURE__ */ React25__namespace.createElement(
535
542
  lu.LuCheck,
536
543
  {
537
544
  className: "sb:absolute sb:inset-0 sb:m-auto sb:size-6",
@@ -596,7 +603,7 @@ var ElementTool = ({ editor }) => {
596
603
  DropdownMenuItem,
597
604
  {
598
605
  key: action.label,
599
- className: chunkYFRFNRKR_js.cn({
606
+ className: chunk63LNKQZD_js.cn({
600
607
  "sb:bg-accent": action.level ? editor.isActive("heading", { level: action.level }) : editor.isActive("paragraph")
601
608
  }),
602
609
  onClick: () => handleFormatChange(action.level)
@@ -693,7 +700,7 @@ var DialogOverlay = React25__namespace.forwardRef(({ className, ...props }, ref)
693
700
  DialogPrimitive__namespace.Overlay,
694
701
  {
695
702
  ref,
696
- className: chunkYFRFNRKR_js.cn(
703
+ className: chunk63LNKQZD_js.cn(
697
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",
698
705
  className
699
706
  ),
@@ -705,7 +712,7 @@ var DialogContent = React25__namespace.forwardRef(({ className, children, ...pro
705
712
  DialogPrimitive__namespace.Content,
706
713
  {
707
714
  ref,
708
- className: chunkYFRFNRKR_js.cn(
715
+ className: chunk63LNKQZD_js.cn(
709
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",
710
717
  className
711
718
  ),
@@ -721,7 +728,7 @@ var DialogHeader = ({
721
728
  }) => /* @__PURE__ */ React25__namespace.createElement(
722
729
  "div",
723
730
  {
724
- className: chunkYFRFNRKR_js.cn(
731
+ className: chunk63LNKQZD_js.cn(
725
732
  "sb:flex sb:flex-col sb:gap-1.5 sb:text-center sb:sm:text-left",
726
733
  className
727
734
  ),
@@ -733,7 +740,7 @@ var DialogTitle = React25__namespace.forwardRef(({ className, ...props }, ref) =
733
740
  DialogPrimitive__namespace.Title,
734
741
  {
735
742
  ref,
736
- className: chunkYFRFNRKR_js.cn(
743
+ className: chunk63LNKQZD_js.cn(
737
744
  "sb:text-lg sb:font-semibold sb:leading-none sb:tracking-tight",
738
745
  className
739
746
  ),
@@ -745,7 +752,7 @@ var DialogDescription = React25__namespace.forwardRef(({ className, ...props },
745
752
  DialogPrimitive__namespace.Description,
746
753
  {
747
754
  ref,
748
- className: chunkYFRFNRKR_js.cn("sb:text-sm sb:text-muted-foreground", className),
755
+ className: chunk63LNKQZD_js.cn("sb:text-sm sb:text-muted-foreground", className),
749
756
  ...props
750
757
  }
751
758
  ));
@@ -757,7 +764,7 @@ var Label2 = React25__namespace.forwardRef(({ className, ...props }, ref) => /*
757
764
  LabelPrimitive__namespace.Root,
758
765
  {
759
766
  ref,
760
- className: chunkYFRFNRKR_js.cn(labelVariants(), className),
767
+ className: chunk63LNKQZD_js.cn(labelVariants(), className),
761
768
  ...props
762
769
  }
763
770
  ));
@@ -796,7 +803,7 @@ var FormItemContext = React25__namespace.createContext(
796
803
  );
797
804
  var FormItem = React25__namespace.forwardRef(({ className, ...props }, ref) => {
798
805
  const id = React25__namespace.useId();
799
- return /* @__PURE__ */ React25__namespace.createElement(FormItemContext.Provider, { value: { id } }, /* @__PURE__ */ React25__namespace.createElement("div", { ref, className: chunkYFRFNRKR_js.cn("sb:flex sb:flex-col sb:gap-2", className), ...props }));
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 }));
800
807
  });
801
808
  FormItem.displayName = "FormItem";
802
809
  var FormLabel = React25__namespace.forwardRef(({ className, ...props }, ref) => {
@@ -805,7 +812,7 @@ var FormLabel = React25__namespace.forwardRef(({ className, ...props }, ref) =>
805
812
  Label2,
806
813
  {
807
814
  ref,
808
- className: chunkYFRFNRKR_js.cn(error && "sb:text-destructive", className),
815
+ className: chunk63LNKQZD_js.cn(error && "sb:text-destructive", className),
809
816
  htmlFor: formItemId,
810
817
  ...props
811
818
  }
@@ -833,7 +840,7 @@ var FormDescription = React25__namespace.forwardRef(({ className, ...props }, re
833
840
  {
834
841
  ref,
835
842
  id: formDescriptionId,
836
- className: chunkYFRFNRKR_js.cn("sb:text-[0.8rem] sb:text-muted-foreground", className),
843
+ className: chunk63LNKQZD_js.cn("sb:text-[0.8rem] sb:text-muted-foreground", className),
837
844
  ...props
838
845
  }
839
846
  );
@@ -850,7 +857,7 @@ var FormMessage = React25__namespace.forwardRef(({ className, children, ...props
850
857
  {
851
858
  ref,
852
859
  id: formMessageId,
853
- className: chunkYFRFNRKR_js.cn("sb:text-[0.8rem] sb:font-medium sb:text-destructive", className),
860
+ className: chunk63LNKQZD_js.cn("sb:text-[0.8rem] sb:font-medium sb:text-destructive", className),
854
861
  ...props
855
862
  },
856
863
  body
@@ -863,7 +870,7 @@ var Input = React25__namespace.forwardRef(
863
870
  "input",
864
871
  {
865
872
  type,
866
- className: chunkYFRFNRKR_js.cn(
873
+ className: chunk63LNKQZD_js.cn(
867
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",
868
875
  className
869
876
  ),
@@ -883,7 +890,7 @@ AdvancedInput.displayName = "AdvancedInput";
883
890
  var Switch = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React25__namespace.createElement(
884
891
  SwitchPrimitives__namespace.Root,
885
892
  {
886
- className: chunkYFRFNRKR_js.cn(
893
+ className: chunk63LNKQZD_js.cn(
887
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",
888
895
  className
889
896
  ),
@@ -893,7 +900,7 @@ var Switch = React25__namespace.forwardRef(({ className, ...props }, ref) => /*
893
900
  /* @__PURE__ */ React25__namespace.createElement(
894
901
  SwitchPrimitives__namespace.Thumb,
895
902
  {
896
- className: chunkYFRFNRKR_js.cn(
903
+ className: chunk63LNKQZD_js.cn(
897
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"
898
905
  )
899
906
  }
@@ -982,7 +989,7 @@ var LinkForm = ({
982
989
  }
983
990
  )), /* @__PURE__ */ React25__namespace.createElement(FormLabel, null, "Open in new tab")), /* @__PURE__ */ React25__namespace.createElement(FormMessage, null))
984
991
  }
985
- ), /* @__PURE__ */ React25__namespace.createElement(chunk4SFXTFFU_js.Button, { type: "button", onClick: form.handleSubmit(handleSubmit) }, "Save")));
992
+ ), /* @__PURE__ */ React25__namespace.createElement(chunk7FWFM2TR_js.Button, { type: "button", onClick: form.handleSubmit(handleSubmit) }, "Save")));
986
993
  };
987
994
  var actions3 = [
988
995
  {
@@ -1037,7 +1044,7 @@ var ToolbarSection = ({
1037
1044
  DropdownMenuItem,
1038
1045
  {
1039
1046
  key: action.label,
1040
- className: chunkYFRFNRKR_js.cn("sb:flex sb:flex-row sb:items-center sb:gap-2", {
1047
+ className: chunk63LNKQZD_js.cn("sb:flex sb:flex-row sb:items-center sb:gap-2", {
1041
1048
  "sb:bg-accent": action.isActive(editor)
1042
1049
  }),
1043
1050
  onClick: () => action.action(editor),
@@ -1052,7 +1059,7 @@ var ToolbarButton = React25__namespace.forwardRef(({ className, ...props }, ref)
1052
1059
  Toggle,
1053
1060
  {
1054
1061
  size: "sm",
1055
- className: chunkYFRFNRKR_js.cn(
1062
+ className: chunk63LNKQZD_js.cn(
1056
1063
  "sb:size-8 sb:p-0 sb:data-[state=on]:bg-accent",
1057
1064
  { "sb:bg-accent": props.pressed },
1058
1065
  className
@@ -1077,7 +1084,7 @@ var RichTextEditor = ({
1077
1084
  const editor = useRichTextEditor({
1078
1085
  value,
1079
1086
  onUpdate: onChange,
1080
- editorClassName: chunkYFRFNRKR_js.cn("sb:flex-1 sb:px-3 sb:py-1", editorClassName),
1087
+ editorClassName: chunk63LNKQZD_js.cn("sb:flex-1 sb:px-3 sb:py-1", editorClassName),
1081
1088
  ...props
1082
1089
  });
1083
1090
  if (!editor) {
@@ -1086,7 +1093,7 @@ var RichTextEditor = ({
1086
1093
  return /* @__PURE__ */ React25__namespace.createElement(
1087
1094
  "div",
1088
1095
  {
1089
- className: chunkYFRFNRKR_js.cn(
1096
+ className: chunk63LNKQZD_js.cn(
1090
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",
1091
1098
  className
1092
1099
  )
@@ -1096,7 +1103,7 @@ var RichTextEditor = ({
1096
1103
  react.EditorContent,
1097
1104
  {
1098
1105
  editor,
1099
- className: chunkYFRFNRKR_js.cn(
1106
+ className: chunk63LNKQZD_js.cn(
1100
1107
  "sb-editflow prose sb:flex sb:flex-1",
1101
1108
  editorContentClassName
1102
1109
  )
@@ -1114,15 +1121,15 @@ function Calendar({
1114
1121
  reactDayPicker.DayPicker,
1115
1122
  {
1116
1123
  showOutsideDays,
1117
- className: chunkYFRFNRKR_js.cn("sb:p-3 sb:font-roboto", className),
1124
+ className: chunk63LNKQZD_js.cn("sb:p-3 sb:font-roboto", className),
1118
1125
  classNames: {
1119
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",
1120
1127
  month: "sb:gap-y-4",
1121
1128
  caption: "sb:flex sb:justify-center sb:pt-1 sb:relative sb:items-center",
1122
1129
  caption_label: "sb:text-sm sb:font-medium",
1123
1130
  nav: "sb:gap-x-1 sb:flex sb:items-center",
1124
- nav_button: chunkYFRFNRKR_js.cn(
1125
- chunk4SFXTFFU_js.buttonVariants({ variant: "outline" }),
1131
+ nav_button: chunk63LNKQZD_js.cn(
1132
+ chunk7FWFM2TR_js.buttonVariants({ variant: "outline" }),
1126
1133
  "sb:h-7 sb:w-7 sb:bg-transparent sb:p-0 sb:opacity-50 sb:hover:opacity-100"
1127
1134
  ),
1128
1135
  nav_button_previous: "sb:absolute sb:left-1",
@@ -1131,12 +1138,12 @@ function Calendar({
1131
1138
  head_row: "sb:flex",
1132
1139
  head_cell: "sb:text-muted-foreground sb:rounded-md sb:w-8 sb:font-normal sb:text-[0.8rem]",
1133
1140
  row: "sb:flex sb:w-full sb:mt-2",
1134
- cell: chunkYFRFNRKR_js.cn(
1141
+ cell: chunk63LNKQZD_js.cn(
1135
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",
1136
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"
1137
1144
  ),
1138
- day: chunkYFRFNRKR_js.cn(
1139
- chunk4SFXTFFU_js.buttonVariants({ variant: "ghost" }),
1145
+ day: chunk63LNKQZD_js.cn(
1146
+ chunk7FWFM2TR_js.buttonVariants({ variant: "ghost" }),
1140
1147
  "sb:h-8 sb:w-8 sb:p-0 sb:font-normal sb:aria-selected:opacity-100"
1141
1148
  ),
1142
1149
  day_range_start: "day-range-start",
@@ -1172,11 +1179,11 @@ var ColorPicker = (props) => {
1172
1179
  "#FF0000"
1173
1180
  ];
1174
1181
  return /* @__PURE__ */ React25__namespace.createElement(Popover, null, /* @__PURE__ */ React25__namespace.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React25__namespace.createElement(
1175
- chunk4SFXTFFU_js.Button,
1182
+ chunk7FWFM2TR_js.Button,
1176
1183
  {
1177
1184
  variant: "outline",
1178
1185
  size: "sm",
1179
- className: chunkYFRFNRKR_js.cn(
1186
+ className: chunk63LNKQZD_js.cn(
1180
1187
  "sb:justify-start sb:text-left sb:font-normal sb:normal-case sb:w-full",
1181
1188
  !color && "sb:text-muted-foreground",
1182
1189
  className
@@ -1294,7 +1301,7 @@ var MediaInput = (props) => {
1294
1301
  body: JSON.stringify({ src })
1295
1302
  });
1296
1303
  };
1297
- return /* @__PURE__ */ React25__namespace.createElement("div", { className: chunkYFRFNRKR_js.cn("flex flex-wrap gap-4", props.className) }, sources.map((src) => /* @__PURE__ */ React25__namespace.createElement(MediaInputItem, { key: src, className: chunkYFRFNRKR_js.cn("group", props.itemClassName) }, /* @__PURE__ */ React25__namespace.createElement(
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(
1298
1305
  MediaPreview,
1299
1306
  {
1300
1307
  src,
@@ -1311,7 +1318,7 @@ var MediaInput = (props) => {
1311
1318
  MediaInputItem,
1312
1319
  {
1313
1320
  key: i,
1314
- className: chunkYFRFNRKR_js.cn(
1321
+ className: chunk63LNKQZD_js.cn(
1315
1322
  "sb:flex sb:h-28 sb:w-28 sb:items-center sb:justify-center",
1316
1323
  props.itemClassName
1317
1324
  )
@@ -1321,7 +1328,7 @@ var MediaInput = (props) => {
1321
1328
  "label",
1322
1329
  {
1323
1330
  htmlFor: id,
1324
- className: chunkYFRFNRKR_js.cn(
1331
+ className: chunk63LNKQZD_js.cn(
1325
1332
  "sb:flex sb:h-28 sb:w-28 sb:cursor-pointer sb:items-center sb:justify-center sb:rounded-lg sb:border",
1326
1333
  props.itemClassName
1327
1334
  )
@@ -1344,7 +1351,7 @@ var MediaInputItem = (props) => {
1344
1351
  return /* @__PURE__ */ React25__namespace.createElement(
1345
1352
  "div",
1346
1353
  {
1347
- className: chunkYFRFNRKR_js.cn(
1354
+ className: chunk63LNKQZD_js.cn(
1348
1355
  "sb:relative sb:h-28 sb:w-28 sb:overflow-hidden sb:rounded-lg sb:border",
1349
1356
  props.className
1350
1357
  )
@@ -1369,7 +1376,7 @@ var MediaPreview = (props) => {
1369
1376
  );
1370
1377
  }
1371
1378
  return /* @__PURE__ */ React25__namespace.createElement(
1372
- chunkYFRFNRKR_js.Image,
1379
+ chunk63LNKQZD_js.Image,
1373
1380
  {
1374
1381
  src: props.src,
1375
1382
  alt: "",
@@ -1394,7 +1401,7 @@ var SelectTrigger = React25__namespace.forwardRef(({ className, children, ...pro
1394
1401
  SelectPrimitive__namespace.Trigger,
1395
1402
  {
1396
1403
  ref,
1397
- className: chunkYFRFNRKR_js.cn(
1404
+ className: chunk63LNKQZD_js.cn(
1398
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",
1399
1406
  className
1400
1407
  ),
@@ -1408,7 +1415,7 @@ var SelectScrollUpButton = React25__namespace.forwardRef(({ className, ...props
1408
1415
  SelectPrimitive__namespace.ScrollUpButton,
1409
1416
  {
1410
1417
  ref,
1411
- className: chunkYFRFNRKR_js.cn(
1418
+ className: chunk63LNKQZD_js.cn(
1412
1419
  "sb:flex sb:cursor-default sb:items-center sb:justify-center sb:py-1",
1413
1420
  className
1414
1421
  ),
@@ -1421,7 +1428,7 @@ var SelectScrollDownButton = React25__namespace.forwardRef(({ className, ...prop
1421
1428
  SelectPrimitive__namespace.ScrollDownButton,
1422
1429
  {
1423
1430
  ref,
1424
- className: chunkYFRFNRKR_js.cn(
1431
+ className: chunk63LNKQZD_js.cn(
1425
1432
  "sb:flex sb:cursor-default sb:items-center sb:justify-center sb:py-1",
1426
1433
  className
1427
1434
  ),
@@ -1434,7 +1441,7 @@ var SelectContent = React25__namespace.forwardRef(({ className, children, positi
1434
1441
  SelectPrimitive__namespace.Content,
1435
1442
  {
1436
1443
  ref,
1437
- className: chunkYFRFNRKR_js.cn(
1444
+ className: chunk63LNKQZD_js.cn(
1438
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",
1439
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",
1440
1447
  className
@@ -1446,7 +1453,7 @@ var SelectContent = React25__namespace.forwardRef(({ className, children, positi
1446
1453
  /* @__PURE__ */ React25__namespace.createElement(
1447
1454
  SelectPrimitive__namespace.Viewport,
1448
1455
  {
1449
- className: chunkYFRFNRKR_js.cn(
1456
+ className: chunk63LNKQZD_js.cn(
1450
1457
  "sb:p-1",
1451
1458
  position === "popper" && "sb:h-(--radix-select-trigger-height) sb:w-full sb:min-w-(--radix-select-trigger-width)"
1452
1459
  )
@@ -1460,7 +1467,7 @@ var SelectLabel = React25__namespace.forwardRef(({ className, ...props }, ref) =
1460
1467
  SelectPrimitive__namespace.Label,
1461
1468
  {
1462
1469
  ref,
1463
- className: chunkYFRFNRKR_js.cn(
1470
+ className: chunk63LNKQZD_js.cn(
1464
1471
  "sb:py-1.5 sb:pl-8 sb:pr-2 sb:text-sm sb:font-semibold",
1465
1472
  className
1466
1473
  ),
@@ -1472,7 +1479,7 @@ var SelectItem = React25__namespace.forwardRef(({ className, children, ...props
1472
1479
  SelectPrimitive__namespace.Item,
1473
1480
  {
1474
1481
  ref,
1475
- className: chunkYFRFNRKR_js.cn(
1482
+ className: chunk63LNKQZD_js.cn(
1476
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",
1477
1484
  className
1478
1485
  ),
@@ -1486,7 +1493,7 @@ var SelectSeparator = React25__namespace.forwardRef(({ className, ...props }, re
1486
1493
  SelectPrimitive__namespace.Separator,
1487
1494
  {
1488
1495
  ref,
1489
- className: chunkYFRFNRKR_js.cn("sb:-mx-1 sb:my-1 sb:h-px sb:bg-muted", className),
1496
+ className: chunk63LNKQZD_js.cn("sb:-mx-1 sb:my-1 sb:h-px sb:bg-muted", className),
1490
1497
  ...props
1491
1498
  }
1492
1499
  ));
@@ -1496,7 +1503,7 @@ var Textarea = React25__namespace.forwardRef(
1496
1503
  return /* @__PURE__ */ React25__namespace.createElement(
1497
1504
  "textarea",
1498
1505
  {
1499
- className: chunkYFRFNRKR_js.cn(
1506
+ className: chunk63LNKQZD_js.cn(
1500
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",
1501
1508
  className
1502
1509
  ),
@@ -1511,8 +1518,8 @@ Textarea.displayName = "Textarea";
1511
1518
  // src/components/container-item-form.tsx
1512
1519
  var ContainerItemForm = (props) => {
1513
1520
  const { item } = props;
1514
- const { patchItem } = chunk4SFXTFFU_js.useBuilder();
1515
- const component = chunkYFRFNRKR_js.builder.getComponent(item.component);
1521
+ const { patchItem } = chunk7FWFM2TR_js.useBuilder();
1522
+ const component = chunk63LNKQZD_js.builder.getComponent(item.component);
1516
1523
  if (!component) {
1517
1524
  throw new Error(
1518
1525
  `[simple-builder]: Component with id ${item.component} not found in container item form component`
@@ -1543,7 +1550,7 @@ var ContainerItemForm = (props) => {
1543
1550
  input,
1544
1551
  form
1545
1552
  }
1546
- )), /* @__PURE__ */ React25__namespace.createElement(chunk4SFXTFFU_js.Button, { type: "submit", className: "w-full" }, "Opslaan"))));
1553
+ )), /* @__PURE__ */ React25__namespace.createElement(chunk7FWFM2TR_js.Button, { type: "submit", className: "w-full" }, "Opslaan"))));
1547
1554
  };
1548
1555
  var RenderFormField = (props) => {
1549
1556
  const { type, input, form } = props;
@@ -1584,12 +1591,12 @@ var RenderFormField = (props) => {
1584
1591
  /* @__PURE__ */ React25__namespace.createElement(lucideReact.XIcon, { className: "sb:h-4 sb:w-4" })
1585
1592
  ))
1586
1593
  ), /* @__PURE__ */ React25__namespace.createElement(
1587
- chunk4SFXTFFU_js.Button,
1594
+ chunk7FWFM2TR_js.Button,
1588
1595
  {
1589
1596
  type: "button",
1590
1597
  variant: "outline",
1591
1598
  size: "sm",
1592
- className: chunkYFRFNRKR_js.cn(
1599
+ className: chunk63LNKQZD_js.cn(
1593
1600
  "sb:w-[89%] sb:border-2 sb:border-dashed sb:text-muted-foreground",
1594
1601
  type === "grouped" && "sb:w-full"
1595
1602
  ),
@@ -1615,7 +1622,7 @@ var RenderFormField = (props) => {
1615
1622
  }
1616
1623
  );
1617
1624
  case "richText":
1618
- 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(chunk4SFXTFFU_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(
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(
1619
1626
  FormField,
1620
1627
  {
1621
1628
  key: input.name,
@@ -1670,11 +1677,11 @@ var RenderInput = (props) => {
1670
1677
  return /* @__PURE__ */ React25__namespace.createElement(ColorPicker, { color: field.value, onColorChange: field.onChange });
1671
1678
  case "date":
1672
1679
  return /* @__PURE__ */ React25__namespace.createElement(Popover, null, /* @__PURE__ */ React25__namespace.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React25__namespace.createElement(
1673
- chunk4SFXTFFU_js.Button,
1680
+ chunk7FWFM2TR_js.Button,
1674
1681
  {
1675
1682
  variant: "outline",
1676
1683
  size: "sm",
1677
- className: chunkYFRFNRKR_js.cn(
1684
+ className: chunk63LNKQZD_js.cn(
1678
1685
  "sb:w-full sb:flex sb:justify-start sb:text-left sb:font-normal",
1679
1686
  !field.value && "sb:text-muted-foreground"
1680
1687
  )
@@ -1714,7 +1721,7 @@ var RenderInput = (props) => {
1714
1721
  }
1715
1722
  };
1716
1723
  var Tabs = TabsPrimitive__namespace.Root;
1717
- var tabsListVariants = chunkYFRFNRKR_js.tv({
1724
+ var tabsListVariants = chunk63LNKQZD_js.tv({
1718
1725
  variants: {
1719
1726
  variant: {
1720
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",
@@ -1734,7 +1741,7 @@ var TabsList = React25__namespace.forwardRef(({ variant, className, ...props },
1734
1741
  }
1735
1742
  ));
1736
1743
  TabsList.displayName = TabsPrimitive__namespace.List.displayName;
1737
- var tabsTriggerVariants = chunkYFRFNRKR_js.tv({
1744
+ var tabsTriggerVariants = chunk63LNKQZD_js.tv({
1738
1745
  variants: {
1739
1746
  variant: {
1740
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",
@@ -1758,7 +1765,7 @@ var TabsContent = React25__namespace.forwardRef(({ className, ...props }, ref) =
1758
1765
  TabsPrimitive__namespace.Content,
1759
1766
  {
1760
1767
  ref,
1761
- className: chunkYFRFNRKR_js.cn(
1768
+ className: chunk63LNKQZD_js.cn(
1762
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",
1763
1770
  className
1764
1771
  ),
@@ -1797,11 +1804,11 @@ var BackgroundPicker = (props) => {
1797
1804
  return "solid";
1798
1805
  }, [background]);
1799
1806
  return /* @__PURE__ */ React25__namespace.createElement(Popover, null, /* @__PURE__ */ React25__namespace.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React25__namespace.createElement(
1800
- chunk4SFXTFFU_js.Button,
1807
+ chunk7FWFM2TR_js.Button,
1801
1808
  {
1802
1809
  variant: "outline",
1803
1810
  size: "sm",
1804
- className: chunkYFRFNRKR_js.cn(
1811
+ className: chunk63LNKQZD_js.cn(
1805
1812
  "sb:justify-start sb:text-left sb:font-normal sb:normal-case sb:w-full",
1806
1813
  !background && "sb:text-muted-foreground",
1807
1814
  className
@@ -1998,7 +2005,7 @@ var designSchema = zod.z.object({
1998
2005
  });
1999
2006
  var ItemDesignForm = (props) => {
2000
2007
  const { item } = props;
2001
- const component = chunkYFRFNRKR_js.builder.getComponent(item.component);
2008
+ const component = chunk63LNKQZD_js.builder.getComponent(item.component);
2002
2009
  if (!component) {
2003
2010
  throw new Error(
2004
2011
  `[simple-builder]: Component "${item.component}" not found`
@@ -2040,7 +2047,7 @@ var ItemDesignForm = (props) => {
2040
2047
  mobile: getDefaultDeviceValues("mobile")
2041
2048
  }
2042
2049
  });
2043
- const { patchItem } = chunk4SFXTFFU_js.useBuilder();
2050
+ const { patchItem } = chunk7FWFM2TR_js.useBuilder();
2044
2051
  const onSubmit = React25__namespace.useCallback(
2045
2052
  (values) => {
2046
2053
  const { container, hidden, desktop, mobile } = values;
@@ -2166,13 +2173,13 @@ var ItemDesignForm = (props) => {
2166
2173
  }
2167
2174
  )), /* @__PURE__ */ React25__namespace.createElement(FormMessage, null))
2168
2175
  }
2169
- )), /* @__PURE__ */ React25__namespace.createElement(chunk4SFXTFFU_js.Button, { type: "submit", className: "w-full" }, "Opslaan"))));
2176
+ )), /* @__PURE__ */ React25__namespace.createElement(chunk7FWFM2TR_js.Button, { type: "submit", className: "w-full" }, "Opslaan"))));
2170
2177
  };
2171
2178
  var ScrollArea = React25__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React25__namespace.createElement(
2172
2179
  ScrollAreaPrimitive__namespace.Root,
2173
2180
  {
2174
2181
  ref,
2175
- className: chunkYFRFNRKR_js.cn("sb:relative sb:overflow-hidden", className),
2182
+ className: chunk63LNKQZD_js.cn("sb:relative sb:overflow-hidden", className),
2176
2183
  ...props
2177
2184
  },
2178
2185
  /* @__PURE__ */ React25__namespace.createElement(ScrollAreaPrimitive__namespace.Viewport, { className: "sb:h-full sb:max-h-[80vh] sb:w-full sb:rounded-[inherit]" }, children),
@@ -2185,7 +2192,7 @@ var ScrollBar = React25__namespace.forwardRef(({ className, orientation = "verti
2185
2192
  {
2186
2193
  ref,
2187
2194
  orientation,
2188
- className: chunkYFRFNRKR_js.cn(
2195
+ className: chunk63LNKQZD_js.cn(
2189
2196
  "sb:flex sb:touch-none sb:select-none sb:transition-colors",
2190
2197
  orientation === "vertical" && "sb:h-full sb:w-2.5 sb:border-l sb:border-l-transparent sb:p-px",
2191
2198
  orientation === "horizontal" && "sb:h-2.5 sb:flex-col sb:border-t sb:border-t-transparent sb:p-px",
@@ -2200,9 +2207,9 @@ ScrollBar.displayName = ScrollAreaPrimitive__namespace.ScrollAreaScrollbar.displ
2200
2207
  // src/components/container-item-toolbar.tsx
2201
2208
  var ContainerItemToolbar = (props) => {
2202
2209
  const { contentId, canBringUp = false, canBringDown = false } = props;
2203
- const { bringUp, bringDown } = chunk4SFXTFFU_js.useBuilder();
2210
+ const { bringUp, bringDown } = chunk7FWFM2TR_js.useBuilder();
2204
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(
2205
- chunk4SFXTFFU_js.Button,
2212
+ chunk7FWFM2TR_js.Button,
2206
2213
  {
2207
2214
  variant: "ghost",
2208
2215
  className: "sb:w-8 sb:h-8 sb:p-0",
@@ -2211,7 +2218,7 @@ var ContainerItemToolbar = (props) => {
2211
2218
  },
2212
2219
  /* @__PURE__ */ React25__namespace.createElement(lucideReact.ArrowUp, { className: "sb:h-5 sb:w-5" })
2213
2220
  ), /* @__PURE__ */ React25__namespace.createElement(
2214
- chunk4SFXTFFU_js.Button,
2221
+ chunk7FWFM2TR_js.Button,
2215
2222
  {
2216
2223
  variant: "ghost",
2217
2224
  className: "sb:w-8 sb:h-8 sb:p-0",
@@ -2222,7 +2229,7 @@ var ContainerItemToolbar = (props) => {
2222
2229
  ), /* @__PURE__ */ React25__namespace.createElement(DeleteButton, { contentId })));
2223
2230
  };
2224
2231
  var EditButton = ({ id }) => {
2225
- return /* @__PURE__ */ React25__namespace.createElement(Popover, { modal: true }, /* @__PURE__ */ React25__namespace.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React25__namespace.createElement(chunk4SFXTFFU_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(
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(
2226
2233
  PopoverContent,
2227
2234
  {
2228
2235
  side: "left",
@@ -2237,7 +2244,7 @@ var EditButton = ({ id }) => {
2237
2244
  };
2238
2245
  var EditPopoverInner = (props) => {
2239
2246
  const { id } = props;
2240
- const { getItem } = chunk4SFXTFFU_js.useBuilder();
2247
+ const { getItem } = chunk7FWFM2TR_js.useBuilder();
2241
2248
  const item = getItem(id);
2242
2249
  if (!item) {
2243
2250
  throw new Error(
@@ -2247,9 +2254,9 @@ var EditPopoverInner = (props) => {
2247
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 })));
2248
2255
  };
2249
2256
  var DeleteButton = ({ contentId }) => {
2250
- const { deleteContent } = chunk4SFXTFFU_js.useBuilder();
2257
+ const { deleteContent } = chunk7FWFM2TR_js.useBuilder();
2251
2258
  return /* @__PURE__ */ React25__namespace.createElement(AlertDialog, null, /* @__PURE__ */ React25__namespace.createElement(AlertDialogTrigger, { asChild: true }, /* @__PURE__ */ React25__namespace.createElement(
2252
- chunk4SFXTFFU_js.Button,
2259
+ chunk7FWFM2TR_js.Button,
2253
2260
  {
2254
2261
  variant: "ghost",
2255
2262
  className: "sb:w-8 sb:h-8 sb:p-0 sb:text-destructive"
@@ -2258,7 +2265,7 @@ var DeleteButton = ({ contentId }) => {
2258
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(
2259
2266
  AlertDialogAction,
2260
2267
  {
2261
- className: chunk4SFXTFFU_js.buttonVariants({ variant: "destructive" }),
2268
+ className: chunk7FWFM2TR_js.buttonVariants({ variant: "destructive" }),
2262
2269
  onClick: () => deleteContent(contentId)
2263
2270
  },
2264
2271
  "Verwijderen"
@@ -2274,7 +2281,7 @@ var BuildContainerInner = (props) => {
2274
2281
  "[simple-builder]: Multiple content blocks detected when using property multiple false."
2275
2282
  );
2276
2283
  }
2277
- 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(chunkYFRFNRKR_js.DesignWrapper, { building: true, styles: item.styles }, chunkYFRFNRKR_js.builder.bindComponent(item, true)), /* @__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(
2278
2285
  ContainerItemToolbar,
2279
2286
  {
2280
2287
  contentId: item.id,
@@ -2292,12 +2299,12 @@ var BuildContainerInner = (props) => {
2292
2299
  };
2293
2300
  var build_container_client_default = BuildContainerInner;
2294
2301
  var AddContentButton = (props) => {
2295
- const components = chunkYFRFNRKR_js.builder.getComponents();
2296
- const { addContent } = chunk4SFXTFFU_js.useBuilder();
2302
+ const components = chunk63LNKQZD_js.builder.getComponents();
2303
+ const { addContent } = chunk7FWFM2TR_js.useBuilder();
2297
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) => {
2298
2305
  const Icon2 = component.icon ?? lucideReact.ImageIcon;
2299
2306
  return /* @__PURE__ */ React25__namespace.createElement(PopoverClose, { key: component.name, asChild: true }, /* @__PURE__ */ React25__namespace.createElement(
2300
- chunk4SFXTFFU_js.Button,
2307
+ chunk7FWFM2TR_js.Button,
2301
2308
  {
2302
2309
  variant: "ghost",
2303
2310
  className: "sb:justify-start",
@@ -2316,11 +2323,11 @@ var AddContentButton = (props) => {
2316
2323
  }))));
2317
2324
  };
2318
2325
  var AddContentPlaceholder = (props) => {
2319
- 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(chunk4SFXTFFU_js.Button, { size: "sm" }, /* @__PURE__ */ React25__namespace.createElement(lucideReact.PlusIcon, { className: "sb:mr-2 sb:h-4 sb:w-4" }), "Blok Toevoegen")));
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")));
2320
2327
  };
2321
2328
  var AddContentDividerButton = (props) => {
2322
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(
2323
- chunk4SFXTFFU_js.Button,
2330
+ chunk7FWFM2TR_js.Button,
2324
2331
  {
2325
2332
  size: "sm",
2326
2333
  className: "sb:absolute sb:left-1/2 sb:top-1/2 sb:-translate-y-1/2 sb:-translate-x-1/2 sb:shadow"
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunk4SFXTFFU_js = require('./chunk-4SFXTFFU.js');
4
- var chunkYFRFNRKR_js = require('./chunk-YFRFNRKR.js');
3
+ var chunk7FWFM2TR_js = require('./chunk-7FWFM2TR.js');
4
+ var chunk63LNKQZD_js = require('./chunk-63LNKQZD.js');
5
5
  var React2 = require('react');
6
6
 
7
7
  function _interopNamespace(e) {
@@ -25,17 +25,17 @@ function _interopNamespace(e) {
25
25
  var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
26
26
 
27
27
  var BuilderHeader = () => {
28
- const { save } = chunk4SFXTFFU_js.useBuilder();
29
- return /* @__PURE__ */ React2__namespace.createElement("div", { className: "sb:grid sb:grid-cols-3 sb:gap-4 sb:items-center sb:p-2 sb:shadow-lg sb:sticky sb:inset-x-0 sb:top-0 sb:bg-background sb:z-30" }, /* @__PURE__ */ React2__namespace.createElement("div", { className: "sb:flex sb:gap-4 sb:items-center" }, /* @__PURE__ */ React2__namespace.createElement(chunk4SFXTFFU_js.Button, { variant: "ghost", size: "sm", onClick: save }, "Opslaan")));
28
+ const { save } = chunk7FWFM2TR_js.useBuilder();
29
+ return /* @__PURE__ */ React2__namespace.createElement("div", { className: "sb:grid sb:grid-cols-3 sb:gap-4 sb:items-center sb:p-2 sb:shadow-lg sb:sticky sb:inset-x-0 sb:top-0 sb:bg-background sb:z-30" }, /* @__PURE__ */ React2__namespace.createElement("div", { className: "sb:flex sb:gap-4 sb:items-center" }, /* @__PURE__ */ React2__namespace.createElement(chunk7FWFM2TR_js.Button, { variant: "ghost", size: "sm", onClick: save }, "Opslaan")));
30
30
  };
31
31
 
32
32
  // src/components/builder-content.tsx
33
33
  var BuilderContent = (props) => {
34
- return /* @__PURE__ */ React2__namespace.createElement(chunk4SFXTFFU_js.BuilderProvider, { content: props.content }, /* @__PURE__ */ React2__namespace.createElement(BuilderContentInner, null));
34
+ return /* @__PURE__ */ React2__namespace.createElement(chunk7FWFM2TR_js.BuilderProvider, { content: props.content }, /* @__PURE__ */ React2__namespace.createElement(BuilderContentInner, null));
35
35
  };
36
36
  var BuilderContentInner = () => {
37
- const { content } = chunk4SFXTFFU_js.useBuilder();
38
- return /* @__PURE__ */ React2__namespace.createElement(React2__namespace.Fragment, null, /* @__PURE__ */ React2__namespace.createElement(BuilderHeader, null), /* @__PURE__ */ React2__namespace.createElement(chunkYFRFNRKR_js.BuildContainer, { name: "root", edit: true, multiple: true, content }));
37
+ const { content } = chunk7FWFM2TR_js.useBuilder();
38
+ return /* @__PURE__ */ React2__namespace.createElement(React2__namespace.Fragment, null, /* @__PURE__ */ React2__namespace.createElement(BuilderHeader, null), /* @__PURE__ */ React2__namespace.createElement(chunk63LNKQZD_js.BuildContainer, { name: "root", edit: true, multiple: true, content }));
39
39
  };
40
40
  var builder_content_default = BuilderContent;
41
41
 
@@ -1,5 +1,5 @@
1
- import { BuilderProvider, useBuilder, Button } from './chunk-MXIMMIPT.mjs';
2
- import { BuildContainer } from './chunk-ZQBKKI2S.mjs';
1
+ import { BuilderProvider, useBuilder, Button } from './chunk-ZJYB6LEV.mjs';
2
+ import { BuildContainer } from './chunk-QSAIF4GO.mjs';
3
3
  import * as React2 from 'react';
4
4
 
5
5
  var BuilderHeader = () => {
@@ -133,7 +133,7 @@ var DesignWrapper = (props) => {
133
133
  `.replace(/\s\s+/g, " ")));
134
134
  };
135
135
  var BuildContainerInner = React3__namespace.lazy(
136
- () => import('./build-container-client-EQBL556Y.js')
136
+ () => import('./build-container-client-JAITVVDD.js')
137
137
  );
138
138
  var BuildContainer = (props) => {
139
139
  const { content, edit, name } = props;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkYFRFNRKR_js = require('./chunk-YFRFNRKR.js');
3
+ var chunk63LNKQZD_js = require('./chunk-63LNKQZD.js');
4
4
  var React = require('react');
5
5
  var reactSlot = require('@radix-ui/react-slot');
6
6
  var classVarianceAuthority = require('class-variance-authority');
@@ -57,7 +57,7 @@ var BuilderProvider = (props) => {
57
57
  );
58
58
  const addContent = React__namespace.useCallback(
59
59
  (name, container, parent, index = 0) => {
60
- const component = chunkYFRFNRKR_js.builder.getComponent(name);
60
+ const component = chunk63LNKQZD_js.builder.getComponent(name);
61
61
  if (!component) {
62
62
  throw new Error(`[simple-builder]: Component "${name}" not found`);
63
63
  }
@@ -79,7 +79,7 @@ var BuilderProvider = (props) => {
79
79
  }
80
80
  };
81
81
  if (!parent) {
82
- setContent((content2) => chunkYFRFNRKR_js.insertAt(content2, index, entry));
82
+ setContent((content2) => chunk63LNKQZD_js.insertAt(content2, index, entry));
83
83
  return;
84
84
  }
85
85
  setContent(
@@ -89,7 +89,7 @@ var BuilderProvider = (props) => {
89
89
  ...item,
90
90
  content: {
91
91
  ...item.content,
92
- [container]: chunkYFRFNRKR_js.insertAt(item.content?.[container], index, entry)
92
+ [container]: chunk63LNKQZD_js.insertAt(item.content?.[container], index, entry)
93
93
  }
94
94
  };
95
95
  }
@@ -254,7 +254,7 @@ var Button = React__namespace.forwardRef(
254
254
  return /* @__PURE__ */ React__namespace.createElement(
255
255
  Comp,
256
256
  {
257
- className: chunkYFRFNRKR_js.cn(buttonVariants({ variant, size, className })),
257
+ className: chunk63LNKQZD_js.cn(buttonVariants({ variant, size, className })),
258
258
  ref,
259
259
  ...props
260
260
  }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkYFRFNRKR_js = require('./chunk-YFRFNRKR.js');
3
+ var chunk63LNKQZD_js = require('./chunk-63LNKQZD.js');
4
4
  var React = require('react');
5
5
 
6
6
  function _interopNamespace(e) {
@@ -25,7 +25,7 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
25
25
 
26
26
  var StaticContent = (props) => {
27
27
  return /* @__PURE__ */ React__namespace.createElement(
28
- chunkYFRFNRKR_js.BuildContainer,
28
+ chunk63LNKQZD_js.BuildContainer,
29
29
  {
30
30
  name: "root",
31
31
  edit: false,
@@ -36,7 +36,7 @@ var StaticContent = (props) => {
36
36
  };
37
37
 
38
38
  // src/index.ts
39
- var BuilderContent = React.lazy(() => import('./builder-content-XNIM2YVG.js'));
39
+ var BuilderContent = React.lazy(() => import('./builder-content-7ZRYWXPN.js'));
40
40
 
41
41
  exports.BuilderContent = BuilderContent;
42
42
  exports.StaticContent = StaticContent;
@@ -109,7 +109,7 @@ var DesignWrapper = (props) => {
109
109
  `.replace(/\s\s+/g, " ")));
110
110
  };
111
111
  var BuildContainerInner = React3.lazy(
112
- () => import('./build-container-client-LMZUWEUI.mjs')
112
+ () => import('./build-container-client-6S55GQVT.mjs')
113
113
  );
114
114
  var BuildContainer = (props) => {
115
115
  const { content, edit, name } = props;
@@ -1,4 +1,4 @@
1
- import { BuildContainer } from './chunk-ZQBKKI2S.mjs';
1
+ import { BuildContainer } from './chunk-QSAIF4GO.mjs';
2
2
  import * as React from 'react';
3
3
  import { lazy } from 'react';
4
4
 
@@ -15,6 +15,6 @@ var StaticContent = (props) => {
15
15
  };
16
16
 
17
17
  // src/index.ts
18
- var BuilderContent = lazy(() => import('./builder-content-OR2VTIUY.mjs'));
18
+ var BuilderContent = lazy(() => import('./builder-content-H75SR7I7.mjs'));
19
19
 
20
20
  export { BuilderContent, StaticContent };
@@ -1,4 +1,4 @@
1
- import { cn, builder, insertAt } from './chunk-ZQBKKI2S.mjs';
1
+ import { cn, builder, insertAt } from './chunk-QSAIF4GO.mjs';
2
2
  import * as React from 'react';
3
3
  import { Slot } from '@radix-ui/react-slot';
4
4
  import { cva } from 'class-variance-authority';
package/dist/index.js CHANGED
@@ -1,23 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var chunk7I4RGF45_js = require('./chunk-7I4RGF45.js');
4
- var chunkYFRFNRKR_js = require('./chunk-YFRFNRKR.js');
3
+ var chunkJFWIO2AR_js = require('./chunk-JFWIO2AR.js');
4
+ var chunk63LNKQZD_js = require('./chunk-63LNKQZD.js');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "BuilderContent", {
9
9
  enumerable: true,
10
- get: function () { return chunk7I4RGF45_js.BuilderContent; }
10
+ get: function () { return chunkJFWIO2AR_js.BuilderContent; }
11
11
  });
12
12
  Object.defineProperty(exports, "StaticContent", {
13
13
  enumerable: true,
14
- get: function () { return chunk7I4RGF45_js.StaticContent; }
14
+ get: function () { return chunkJFWIO2AR_js.StaticContent; }
15
15
  });
16
16
  Object.defineProperty(exports, "BuildContainer", {
17
17
  enumerable: true,
18
- get: function () { return chunkYFRFNRKR_js.BuildContainer; }
18
+ get: function () { return chunk63LNKQZD_js.BuildContainer; }
19
19
  });
20
20
  Object.defineProperty(exports, "builder", {
21
21
  enumerable: true,
22
- get: function () { return chunkYFRFNRKR_js.builder; }
22
+ get: function () { return chunk63LNKQZD_js.builder; }
23
23
  });
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export { BuilderContent, StaticContent } from './chunk-UA2CNH3R.mjs';
2
- export { BuildContainer, builder } from './chunk-ZQBKKI2S.mjs';
1
+ export { BuilderContent, StaticContent } from './chunk-X5MZZBYC.mjs';
2
+ export { BuildContainer, builder } from './chunk-QSAIF4GO.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simple-builder/react",
3
- "version": "1.4.0",
3
+ "version": "1.4.2",
4
4
  "private": false,
5
5
  "description": "React package for the simple builder package.",
6
6
  "repository": "https://github.com/pieter-berkel/simple-builder.git",
@@ -59,7 +59,7 @@
59
59
  "tailwind-merge": "^2.2.0",
60
60
  "tailwind-variants": "^0.1.20",
61
61
  "zod": "^3.22.4",
62
- "@simple-builder/server": "1.4.0"
62
+ "@simple-builder/server": "1.4.2"
63
63
  },
64
64
  "peerDependencies": {
65
65
  "react": ">=16.8.0",