@delmaredigital/payload-puck 0.1.0 → 0.1.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.
Files changed (48) hide show
  1. package/README.md +32 -4
  2. package/dist/AccordionClient.d.mts +1 -1
  3. package/dist/AccordionClient.d.ts +1 -1
  4. package/dist/AccordionClient.js +2 -2
  5. package/dist/AccordionClient.js.map +1 -1
  6. package/dist/AccordionClient.mjs +2 -2
  7. package/dist/AccordionClient.mjs.map +1 -1
  8. package/dist/AnimatedWrapper.d.mts +1 -1
  9. package/dist/AnimatedWrapper.d.ts +1 -1
  10. package/dist/AnimatedWrapper.js.map +1 -1
  11. package/dist/AnimatedWrapper.mjs.map +1 -1
  12. package/dist/components/index.d.mts +1 -1
  13. package/dist/components/index.d.ts +1 -1
  14. package/dist/components/index.js +196 -217
  15. package/dist/components/index.js.map +1 -1
  16. package/dist/components/index.mjs +200 -221
  17. package/dist/components/index.mjs.map +1 -1
  18. package/dist/config/config.editor.d.mts +1 -1
  19. package/dist/config/config.editor.d.ts +1 -1
  20. package/dist/config/config.editor.js +199 -220
  21. package/dist/config/config.editor.js.map +1 -1
  22. package/dist/config/config.editor.mjs +203 -224
  23. package/dist/config/config.editor.mjs.map +1 -1
  24. package/dist/config/index.js +33 -16
  25. package/dist/config/index.js.map +1 -1
  26. package/dist/config/index.mjs +33 -16
  27. package/dist/config/index.mjs.map +1 -1
  28. package/dist/editor/index.js +56 -39
  29. package/dist/editor/index.js.map +1 -1
  30. package/dist/editor/index.mjs +56 -39
  31. package/dist/editor/index.mjs.map +1 -1
  32. package/dist/fields/index.d.mts +4 -4
  33. package/dist/fields/index.d.ts +4 -4
  34. package/dist/fields/index.js +201 -222
  35. package/dist/fields/index.js.map +1 -1
  36. package/dist/fields/index.mjs +205 -226
  37. package/dist/fields/index.mjs.map +1 -1
  38. package/dist/layouts/index.js.map +1 -1
  39. package/dist/layouts/index.mjs.map +1 -1
  40. package/dist/render/index.js +33 -16
  41. package/dist/render/index.js.map +1 -1
  42. package/dist/render/index.mjs +33 -16
  43. package/dist/render/index.mjs.map +1 -1
  44. package/dist/{shared-DMAF1AcH.d.mts → shared-DeNKN95N.d.mts} +7 -6
  45. package/dist/{shared-DMAF1AcH.d.ts → shared-DeNKN95N.d.ts} +7 -6
  46. package/examples/README.md +9 -2
  47. package/examples/app/(manage)/layout.tsx +31 -0
  48. package/package.json +12 -10
@@ -2,7 +2,7 @@
2
2
  'use strict';
3
3
 
4
4
  var React12 = require('react');
5
- var iconsReact = require('@tabler/icons-react');
5
+ var lucideReact = require('lucide-react');
6
6
  var reactSlot = require('@radix-ui/react-slot');
7
7
  var classVarianceAuthority = require('class-variance-authority');
8
8
  var clsx = require('clsx');
@@ -783,7 +783,7 @@ function transformValueToCSS(transform) {
783
783
  return Object.keys(style).length > 0 ? style : void 0;
784
784
  }
785
785
  var BREAKPOINTS = [
786
- { key: "base", label: "Base", minWidth: null },
786
+ { key: "xs", label: "XS", minWidth: null },
787
787
  { key: "sm", label: "SM", minWidth: 640 },
788
788
  { key: "md", label: "MD", minWidth: 768 },
789
789
  { key: "lg", label: "LG", minWidth: 1024 },
@@ -791,7 +791,7 @@ var BREAKPOINTS = [
791
791
  ];
792
792
  function isResponsiveValue(value) {
793
793
  if (!value || typeof value !== "object") return false;
794
- return "base" in value;
794
+ return "xs" in value;
795
795
  }
796
796
  function camelToKebab(str) {
797
797
  return str.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
@@ -817,7 +817,7 @@ function responsiveValueToCSS(value, converter, uniqueId) {
817
817
  if (bpValue === void 0) return;
818
818
  const cssProps = converter(bpValue);
819
819
  if (!cssProps) return;
820
- if (bp.key === "base") {
820
+ if (bp.key === "xs") {
821
821
  baseStyles = cssProps;
822
822
  } else {
823
823
  const styleString = cssPropertiesToString(cssProps);
@@ -831,29 +831,50 @@ function responsiveValueToCSS(value, converter, uniqueId) {
831
831
  return { baseStyles, mediaQueryCSS: mediaQueries.join("\n") };
832
832
  }
833
833
  var DEFAULT_VISIBILITY = {
834
- base: true
834
+ xs: true,
835
+ sm: true,
836
+ md: true,
837
+ lg: true,
838
+ xl: true
835
839
  };
836
840
  function visibilityValueToCSS(visibility, uniqueId) {
837
841
  if (!visibility) return "";
838
842
  const mediaQueries = [];
839
- if (visibility.base === false) {
840
- mediaQueries.push(`.${uniqueId} { display: none; }`);
843
+ const breakpointWidths = {
844
+ xs: null,
845
+ // 0px
846
+ sm: 640,
847
+ md: 768,
848
+ lg: 1024,
849
+ xl: 1280
850
+ };
851
+ const getNextBreakpointWidth = (bp) => {
852
+ const order = ["xs", "sm", "md", "lg", "xl"];
853
+ const index = order.indexOf(bp);
854
+ if (index === -1 || index === order.length - 1) return null;
855
+ return breakpointWidths[order[index + 1]];
856
+ };
857
+ if (visibility.xs === false) {
858
+ const nextWidth = getNextBreakpointWidth("xs");
859
+ if (nextWidth) {
860
+ mediaQueries.push(`@media (max-width: ${nextWidth - 1}px) { .${uniqueId} { display: none; } }`);
861
+ } else {
862
+ mediaQueries.push(`.${uniqueId} { display: none; }`);
863
+ }
841
864
  }
842
- let lastVisibility = visibility.base;
843
865
  BREAKPOINTS.slice(1).forEach((bp) => {
844
- const bpValue = visibility[bp.key];
845
- if (bpValue === void 0) return;
846
- if (bpValue !== lastVisibility) {
847
- if (bpValue === false) {
866
+ if (visibility[bp.key] === false) {
867
+ const minWidth = breakpointWidths[bp.key];
868
+ const maxWidth = getNextBreakpointWidth(bp.key);
869
+ if (minWidth && maxWidth) {
848
870
  mediaQueries.push(
849
- `@media (min-width: ${bp.minWidth}px) { .${uniqueId} { display: none; } }`
871
+ `@media (min-width: ${minWidth}px) and (max-width: ${maxWidth - 1}px) { .${uniqueId} { display: none; } }`
850
872
  );
851
- } else {
873
+ } else if (minWidth) {
852
874
  mediaQueries.push(
853
- `@media (min-width: ${bp.minWidth}px) { .${uniqueId} { display: block; } }`
875
+ `@media (min-width: ${minWidth}px) { .${uniqueId} { display: none; } }`
854
876
  );
855
877
  }
856
- lastVisibility = bpValue;
857
878
  }
858
879
  });
859
880
  return mediaQueries.join("\n");
@@ -1308,7 +1329,7 @@ var DialogContent = React12__namespace.forwardRef(({ className, children, ...pro
1308
1329
  children: [
1309
1330
  children,
1310
1331
  /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
1311
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "h-4 w-4" }),
1332
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" }),
1312
1333
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
1313
1334
  ] })
1314
1335
  ]
@@ -1331,7 +1352,7 @@ var DialogContentFullscreen = React12__namespace.forwardRef(({ className, childr
1331
1352
  /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Title, { className: "sr-only", children: accessibleTitle }),
1332
1353
  children,
1333
1354
  !hideCloseButton && /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
1334
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "h-4 w-4" }),
1355
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" }),
1335
1356
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
1336
1357
  ] })
1337
1358
  ]
@@ -1605,10 +1626,10 @@ function MediaFieldInner({
1605
1626
  onClick: handleRemove,
1606
1627
  className: "absolute -top-2 -right-2 p-1 bg-destructive text-destructive-foreground rounded-full opacity-0 group-hover:opacity-100 transition-opacity",
1607
1628
  "aria-label": "Remove image",
1608
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "h-3 w-3" })
1629
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-3 w-3" })
1609
1630
  }
1610
1631
  )
1611
- ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-24 h-24 bg-muted rounded-md border border-dashed border-input flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconPhoto, { className: "h-8 w-8 text-muted-foreground" }) }),
1632
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-24 h-24 bg-muted rounded-md border border-dashed border-input flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Image, { className: "h-8 w-8 text-muted-foreground" }) }),
1612
1633
  !readOnly && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
1613
1634
  /* @__PURE__ */ jsxRuntime.jsx(
1614
1635
  Button,
@@ -1632,7 +1653,7 @@ function MediaFieldInner({
1632
1653
  ] })
1633
1654
  ] }),
1634
1655
  value?.url && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1635
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLink, { className: "h-3 w-3 flex-shrink-0" }),
1656
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link, { className: "h-3 w-3 flex-shrink-0" }),
1636
1657
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate max-w-[280px]", title: value.url, children: value.url })
1637
1658
  ] })
1638
1659
  ] }),
@@ -1677,7 +1698,7 @@ function MediaFieldInner({
1677
1698
  )
1678
1699
  ] }),
1679
1700
  activeTab === "browse" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex-shrink-0", children: [
1680
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconSearch, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }),
1701
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }),
1681
1702
  /* @__PURE__ */ jsxRuntime.jsx(
1682
1703
  Input,
1683
1704
  {
@@ -1723,7 +1744,7 @@ function MediaFieldInner({
1723
1744
  onClick: handleLoadMore,
1724
1745
  disabled: loading,
1725
1746
  children: loading ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1726
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLoader2, { className: "h-4 w-4 mr-2 animate-spin" }),
1747
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "h-4 w-4 mr-2 animate-spin" }),
1727
1748
  "Loading..."
1728
1749
  ] }) : "Load More"
1729
1750
  }
@@ -1753,15 +1774,15 @@ function MediaFieldInner({
1753
1774
  ] })
1754
1775
  ] }),
1755
1776
  uploadState.error && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-3 bg-destructive/10 border border-destructive/30 rounded-md text-destructive text-sm flex items-start gap-2", children: [
1756
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconAlertCircle, { className: "h-4 w-4 flex-shrink-0 mt-0.5" }),
1777
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "h-4 w-4 flex-shrink-0 mt-0.5" }),
1757
1778
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: uploadState.error })
1758
1779
  ] }),
1759
1780
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
1760
1781
  /* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: handleUpload, disabled: uploadState.uploading, children: uploadState.uploading ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1761
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLoader2, { className: "h-4 w-4 mr-2 animate-spin" }),
1782
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "h-4 w-4 mr-2 animate-spin" }),
1762
1783
  "Uploading..."
1763
1784
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1764
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconUpload, { className: "h-4 w-4 mr-2" }),
1785
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { className: "h-4 w-4 mr-2" }),
1765
1786
  "Upload & Select"
1766
1787
  ] }) }),
1767
1788
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1775,7 +1796,7 @@ function MediaFieldInner({
1775
1796
  )
1776
1797
  ] })
1777
1798
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
1778
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconPhoto, { className: "h-16 w-16 text-muted mx-auto mb-4" }),
1799
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Image, { className: "h-16 w-16 text-muted mx-auto mb-4" }),
1779
1800
  /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "cursor-pointer", children: [
1780
1801
  /* @__PURE__ */ jsxRuntime.jsx(Button, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Select Image" }) }),
1781
1802
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1795,7 +1816,7 @@ function MediaFieldInner({
1795
1816
  /* URL Tab */
1796
1817
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-center justify-center h-full min-h-[300px]", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full max-w-md space-y-4", children: [
1797
1818
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center mb-6", children: [
1798
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLink, { className: "h-12 w-12 text-muted-foreground mx-auto mb-2" }),
1819
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link, { className: "h-12 w-12 text-muted-foreground mx-auto mb-2" }),
1799
1820
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "Enter an image URL from an external source" })
1800
1821
  ] }),
1801
1822
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
@@ -1833,10 +1854,10 @@ function MediaFieldInner({
1833
1854
  onError: handleUrlPreviewError
1834
1855
  }
1835
1856
  ),
1836
- !urlState.previewLoaded && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-muted", children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLoader2, { className: "h-8 w-8 animate-spin text-muted-foreground" }) })
1857
+ !urlState.previewLoaded && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-muted", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "h-8 w-8 animate-spin text-muted-foreground" }) })
1837
1858
  ] }),
1838
1859
  urlState.error && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-3 bg-destructive/10 border border-destructive/30 rounded-md text-destructive text-sm flex items-start gap-2", children: [
1839
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconAlertCircle, { className: "h-4 w-4 flex-shrink-0 mt-0.5" }),
1860
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "h-4 w-4 flex-shrink-0 mt-0.5" }),
1840
1861
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: urlState.error })
1841
1862
  ] }),
1842
1863
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
@@ -1846,7 +1867,7 @@ function MediaFieldInner({
1846
1867
  onClick: handleUrlSubmit,
1847
1868
  disabled: !urlState.url || urlState.loading,
1848
1869
  children: [
1849
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLink, { className: "h-4 w-4 mr-2" }),
1870
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link, { className: "h-4 w-4 mr-2" }),
1850
1871
  "Use This URL"
1851
1872
  ]
1852
1873
  }
@@ -2056,7 +2077,7 @@ function ColorPickerFieldInner({
2056
2077
  onClick: handleClear,
2057
2078
  title: "Clear color",
2058
2079
  className: "flex items-center justify-center w-8 h-8 rounded border-none bg-transparent cursor-pointer text-muted-foreground flex-shrink-0 hover:bg-accent hover:text-destructive",
2059
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "w-4 h-4" })
2080
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "w-4 h-4" })
2060
2081
  }
2061
2082
  )
2062
2083
  ] }),
@@ -2596,7 +2617,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2596
2617
  onClick: () => editor.chain().focus().toggleBold().run(),
2597
2618
  isActive: formattingState?.isBold,
2598
2619
  title: "Bold",
2599
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconBold, { className: ICON_SIZE })
2620
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bold, { className: ICON_SIZE })
2600
2621
  }
2601
2622
  ),
2602
2623
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2605,7 +2626,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2605
2626
  onClick: () => editor.chain().focus().toggleItalic().run(),
2606
2627
  isActive: formattingState?.isItalic,
2607
2628
  title: "Italic",
2608
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconItalic, { className: ICON_SIZE })
2629
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Italic, { className: ICON_SIZE })
2609
2630
  }
2610
2631
  ),
2611
2632
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2614,7 +2635,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2614
2635
  onClick: () => editor.chain().focus().toggleUnderline().run(),
2615
2636
  isActive: formattingState?.isUnderline,
2616
2637
  title: "Underline",
2617
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconUnderline, { className: ICON_SIZE })
2638
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Underline, { className: ICON_SIZE })
2618
2639
  }
2619
2640
  ),
2620
2641
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2623,7 +2644,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2623
2644
  onClick: () => editor.chain().focus().toggleStrike().run(),
2624
2645
  isActive: formattingState?.isStrike,
2625
2646
  title: "Strikethrough",
2626
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconStrikethrough, { className: ICON_SIZE })
2647
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Strikethrough, { className: ICON_SIZE })
2627
2648
  }
2628
2649
  ),
2629
2650
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2632,7 +2653,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2632
2653
  onClick: () => editor.chain().focus().toggleSuperscript().run(),
2633
2654
  isActive: formattingState?.isSuperscript,
2634
2655
  title: "Superscript",
2635
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconSuperscript, { className: ICON_SIZE })
2656
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Superscript, { className: ICON_SIZE })
2636
2657
  }
2637
2658
  ),
2638
2659
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2641,7 +2662,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2641
2662
  onClick: () => editor.chain().focus().toggleSubscript().run(),
2642
2663
  isActive: formattingState?.isSubscript,
2643
2664
  title: "Subscript",
2644
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconSubscript, { className: ICON_SIZE })
2665
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Subscript, { className: ICON_SIZE })
2645
2666
  }
2646
2667
  ),
2647
2668
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: TOOLBAR_DIVIDER }),
@@ -2649,8 +2670,8 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2649
2670
  ToolbarDropdown,
2650
2671
  {
2651
2672
  trigger: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-0.5", children: [
2652
- formattingState?.isH1 ? /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconH1, { className: ICON_SIZE }) : formattingState?.isH2 ? /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconH2, { className: ICON_SIZE }) : formattingState?.isH3 ? /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconH3, { className: ICON_SIZE }) : formattingState?.isH4 ? /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconH4, { className: ICON_SIZE }) : formattingState?.isH5 ? /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconH5, { className: ICON_SIZE }) : formattingState?.isH6 ? /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconH6, { className: ICON_SIZE }) : /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLetterP, { className: ICON_SIZE }),
2653
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconChevronDown, { className: "w-3 h-3" })
2673
+ formattingState?.isH1 ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Heading1, { className: ICON_SIZE }) : formattingState?.isH2 ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Heading2, { className: ICON_SIZE }) : formattingState?.isH3 ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Heading3, { className: ICON_SIZE }) : formattingState?.isH4 ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Heading4, { className: ICON_SIZE }) : formattingState?.isH5 ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Heading5, { className: ICON_SIZE }) : formattingState?.isH6 ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Heading6, { className: ICON_SIZE }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pilcrow, { className: ICON_SIZE }),
2674
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "w-3 h-3" })
2654
2675
  ] }),
2655
2676
  title: "Text Type",
2656
2677
  isActive: formattingState?.isH1 || formattingState?.isH2 || formattingState?.isH3 || formattingState?.isH4 || formattingState?.isH5 || formattingState?.isH6,
@@ -2659,7 +2680,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2659
2680
  editor.chain().focus().setParagraph().run();
2660
2681
  close();
2661
2682
  }, children: [
2662
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLetterP, { className: cn2(ICON_SIZE, "mr-2") }),
2683
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pilcrow, { className: cn2(ICON_SIZE, "mr-2") }),
2663
2684
  "Paragraph"
2664
2685
  ] }),
2665
2686
  /* @__PURE__ */ jsxRuntime.jsx(DropdownSeparator, {}),
@@ -2667,42 +2688,42 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2667
2688
  editor.chain().focus().toggleHeading({ level: 1 }).run();
2668
2689
  close();
2669
2690
  }, children: [
2670
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconH1, { className: cn2(ICON_SIZE, "mr-2") }),
2691
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Heading1, { className: cn2(ICON_SIZE, "mr-2") }),
2671
2692
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-bold text-lg", children: "Heading 1" })
2672
2693
  ] }),
2673
2694
  /* @__PURE__ */ jsxRuntime.jsxs(DropdownItem, { onClick: () => {
2674
2695
  editor.chain().focus().toggleHeading({ level: 2 }).run();
2675
2696
  close();
2676
2697
  }, children: [
2677
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconH2, { className: cn2(ICON_SIZE, "mr-2") }),
2698
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Heading2, { className: cn2(ICON_SIZE, "mr-2") }),
2678
2699
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-bold text-base", children: "Heading 2" })
2679
2700
  ] }),
2680
2701
  /* @__PURE__ */ jsxRuntime.jsxs(DropdownItem, { onClick: () => {
2681
2702
  editor.chain().focus().toggleHeading({ level: 3 }).run();
2682
2703
  close();
2683
2704
  }, children: [
2684
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconH3, { className: cn2(ICON_SIZE, "mr-2") }),
2705
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Heading3, { className: cn2(ICON_SIZE, "mr-2") }),
2685
2706
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: "Heading 3" })
2686
2707
  ] }),
2687
2708
  /* @__PURE__ */ jsxRuntime.jsxs(DropdownItem, { onClick: () => {
2688
2709
  editor.chain().focus().toggleHeading({ level: 4 }).run();
2689
2710
  close();
2690
2711
  }, children: [
2691
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconH4, { className: cn2(ICON_SIZE, "mr-2") }),
2712
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Heading4, { className: cn2(ICON_SIZE, "mr-2") }),
2692
2713
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold text-sm", children: "Heading 4" })
2693
2714
  ] }),
2694
2715
  /* @__PURE__ */ jsxRuntime.jsxs(DropdownItem, { onClick: () => {
2695
2716
  editor.chain().focus().toggleHeading({ level: 5 }).run();
2696
2717
  close();
2697
2718
  }, children: [
2698
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconH5, { className: cn2(ICON_SIZE, "mr-2") }),
2719
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Heading5, { className: cn2(ICON_SIZE, "mr-2") }),
2699
2720
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold text-xs", children: "Heading 5" })
2700
2721
  ] }),
2701
2722
  /* @__PURE__ */ jsxRuntime.jsxs(DropdownItem, { onClick: () => {
2702
2723
  editor.chain().focus().toggleHeading({ level: 6 }).run();
2703
2724
  close();
2704
2725
  }, children: [
2705
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconH6, { className: cn2(ICON_SIZE, "mr-2") }),
2726
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Heading6, { className: cn2(ICON_SIZE, "mr-2") }),
2706
2727
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold text-xs text-gray-600", children: "Heading 6" })
2707
2728
  ] })
2708
2729
  ] })
@@ -2712,7 +2733,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2712
2733
  /* @__PURE__ */ jsxRuntime.jsx(
2713
2734
  ToolbarDropdown,
2714
2735
  {
2715
- trigger: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconTextSize, { className: ICON_SIZE }),
2736
+ trigger: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ALargeSmall, { className: ICON_SIZE }),
2716
2737
  title: "Font Size",
2717
2738
  children: (close) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2718
2739
  /* @__PURE__ */ jsxRuntime.jsx(DropdownLabel, { children: "Presets" }),
@@ -2798,7 +2819,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2798
2819
  onClick: () => editor.chain().focus().toggleBulletList().run(),
2799
2820
  isActive: formattingState?.isBulletList,
2800
2821
  title: "Bullet List",
2801
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconList, { className: ICON_SIZE })
2822
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.List, { className: ICON_SIZE })
2802
2823
  }
2803
2824
  ),
2804
2825
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2807,7 +2828,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2807
2828
  onClick: () => editor.chain().focus().toggleOrderedList().run(),
2808
2829
  isActive: formattingState?.isOrderedList,
2809
2830
  title: "Numbered List",
2810
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconListNumbers, { className: ICON_SIZE })
2831
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ListOrdered, { className: ICON_SIZE })
2811
2832
  }
2812
2833
  ),
2813
2834
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2816,7 +2837,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2816
2837
  onClick: () => editor.chain().focus().toggleBlockquote().run(),
2817
2838
  isActive: formattingState?.isBlockquote,
2818
2839
  title: "Blockquote",
2819
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconBlockquote, { className: ICON_SIZE })
2840
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Quote, { className: ICON_SIZE })
2820
2841
  }
2821
2842
  ),
2822
2843
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: TOOLBAR_DIVIDER }),
@@ -2826,7 +2847,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2826
2847
  onClick: () => editor.chain().focus().setTextAlign("left").run(),
2827
2848
  isActive: formattingState?.isAlignLeft,
2828
2849
  title: "Align Left",
2829
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconAlignLeft, { className: ICON_SIZE })
2850
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlignLeft, { className: ICON_SIZE })
2830
2851
  }
2831
2852
  ),
2832
2853
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2835,7 +2856,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2835
2856
  onClick: () => editor.chain().focus().setTextAlign("center").run(),
2836
2857
  isActive: formattingState?.isAlignCenter,
2837
2858
  title: "Align Center",
2838
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconAlignCenter, { className: ICON_SIZE })
2859
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlignCenter, { className: ICON_SIZE })
2839
2860
  }
2840
2861
  ),
2841
2862
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2844,7 +2865,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2844
2865
  onClick: () => editor.chain().focus().setTextAlign("right").run(),
2845
2866
  isActive: formattingState?.isAlignRight,
2846
2867
  title: "Align Right",
2847
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconAlignRight, { className: ICON_SIZE })
2868
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlignRight, { className: ICON_SIZE })
2848
2869
  }
2849
2870
  ),
2850
2871
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2853,7 +2874,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2853
2874
  onClick: () => editor.chain().focus().setTextAlign("justify").run(),
2854
2875
  isActive: formattingState?.isAlignJustify,
2855
2876
  title: "Justify",
2856
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconAlignJustified, { className: ICON_SIZE })
2877
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlignJustify, { className: ICON_SIZE })
2857
2878
  }
2858
2879
  ),
2859
2880
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: TOOLBAR_DIVIDER }),
@@ -2864,7 +2885,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2864
2885
  onClick: () => setIsLinkPopoverOpen(!isLinkPopoverOpen),
2865
2886
  isActive: formattingState?.isLink,
2866
2887
  title: "Add Link",
2867
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLink, { className: ICON_SIZE })
2888
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link, { className: ICON_SIZE })
2868
2889
  }
2869
2890
  ),
2870
2891
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2880,7 +2901,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2880
2901
  /* @__PURE__ */ jsxRuntime.jsx(
2881
2902
  ToolbarDropdown,
2882
2903
  {
2883
- trigger: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconPalette, { className: ICON_SIZE }),
2904
+ trigger: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Palette, { className: ICON_SIZE }),
2884
2905
  title: "Text Color",
2885
2906
  children: (close) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2886
2907
  /* @__PURE__ */ jsxRuntime.jsxs(DropdownItem, { onClick: () => {
@@ -2937,7 +2958,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2937
2958
  /* @__PURE__ */ jsxRuntime.jsx(
2938
2959
  ToolbarDropdown,
2939
2960
  {
2940
- trigger: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconHighlight, { className: ICON_SIZE }),
2961
+ trigger: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Highlighter, { className: ICON_SIZE }),
2941
2962
  title: "Highlight",
2942
2963
  isActive: formattingState?.isHighlight,
2943
2964
  children: (close) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -2968,7 +2989,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2968
2989
  {
2969
2990
  onClick: () => editor.chain().focus().setHorizontalRule().run(),
2970
2991
  title: "Horizontal Rule",
2971
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconSeparatorHorizontal, { className: ICON_SIZE })
2992
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minus, { className: ICON_SIZE })
2972
2993
  }
2973
2994
  ),
2974
2995
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2976,7 +2997,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2976
2997
  {
2977
2998
  onClick: () => editor.chain().focus().setHardBreak().run(),
2978
2999
  title: "Hard Break (Shift+Enter)",
2979
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconCornerDownLeft, { className: ICON_SIZE })
3000
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CornerDownLeft, { className: ICON_SIZE })
2980
3001
  }
2981
3002
  ),
2982
3003
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: TOOLBAR_DIVIDER }),
@@ -2985,7 +3006,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
2985
3006
  {
2986
3007
  onClick: () => editor.chain().focus().unsetAllMarks().clearNodes().run(),
2987
3008
  title: "Clear Formatting",
2988
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconClearFormatting, { className: ICON_SIZE })
3009
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RemoveFormatting, { className: ICON_SIZE })
2989
3010
  }
2990
3011
  ),
2991
3012
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3008,7 +3029,7 @@ function TiptapFieldInner({ value, onChange, label, readOnly }) {
3008
3029
  !showSource && "bg-transparent"
3009
3030
  ),
3010
3031
  children: [
3011
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconCode, { className: ICON_SIZE }),
3032
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Code, { className: ICON_SIZE }),
3012
3033
  "Source"
3013
3034
  ]
3014
3035
  }
@@ -3138,7 +3159,7 @@ function TiptapModal({ isOpen, onClose, value, onChange, title }) {
3138
3159
  justifyContent: "center"
3139
3160
  },
3140
3161
  title: "Close (Esc)",
3141
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { size: 20 })
3162
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 20 })
3142
3163
  }
3143
3164
  )
3144
3165
  ]
@@ -3265,7 +3286,7 @@ function TiptapModalFieldInner({ value, onChange, label }) {
3265
3286
  },
3266
3287
  title: "Open full-screen editor",
3267
3288
  children: [
3268
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconArrowsMaximize, { size: 14 }),
3289
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Maximize2, { size: 14 }),
3269
3290
  "Expand"
3270
3291
  ]
3271
3292
  }
@@ -3381,7 +3402,7 @@ function PaddingFieldInner({
3381
3402
  isLinked ? "" : "text-muted-foreground"
3382
3403
  ),
3383
3404
  title: isLinked ? "Click to unlink (set sides individually)" : "Click to link (all sides same value)",
3384
- children: isLinked ? /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLink, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLinkOff, { className: "h-4 w-4" })
3405
+ children: isLinked ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Unlink, { className: "h-4 w-4" })
3385
3406
  }
3386
3407
  )
3387
3408
  ] }),
@@ -3521,7 +3542,7 @@ function MarginFieldInner({
3521
3542
  isLinked ? "" : "text-muted-foreground"
3522
3543
  ),
3523
3544
  title: isLinked ? "Click to unlink (set sides individually)" : "Click to link (all sides same value)",
3524
- children: isLinked ? /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLink, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLinkOff, { className: "h-4 w-4" })
3545
+ children: isLinked ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Unlink, { className: "h-4 w-4" })
3525
3546
  }
3526
3547
  )
3527
3548
  ] }),
@@ -3588,7 +3609,7 @@ var SelectTrigger = React12__namespace.forwardRef(({ className, children, ...pro
3588
3609
  ...props,
3589
3610
  children: [
3590
3611
  children,
3591
- /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconChevronDown, { className: "h-4 w-4 opacity-50" }) })
3612
+ /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 opacity-50" }) })
3592
3613
  ]
3593
3614
  }
3594
3615
  ));
@@ -3602,7 +3623,7 @@ var SelectScrollUpButton = React12__namespace.forwardRef(({ className, ...props
3602
3623
  className
3603
3624
  ),
3604
3625
  ...props,
3605
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconChevronUp, { className: "h-4 w-4" })
3626
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { className: "h-4 w-4" })
3606
3627
  }
3607
3628
  ));
3608
3629
  SelectScrollUpButton.displayName = SelectPrimitive__namespace.ScrollUpButton.displayName;
@@ -3615,7 +3636,7 @@ var SelectScrollDownButton = React12__namespace.forwardRef(({ className, ...prop
3615
3636
  className
3616
3637
  ),
3617
3638
  ...props,
3618
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconChevronDown, { className: "h-4 w-4" })
3639
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4" })
3619
3640
  }
3620
3641
  ));
3621
3642
  SelectScrollDownButton.displayName = SelectPrimitive__namespace.ScrollDownButton.displayName;
@@ -3666,7 +3687,7 @@ var SelectItem = React12__namespace.forwardRef(({ className, children, ...props
3666
3687
  ),
3667
3688
  ...props,
3668
3689
  children: [
3669
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconCheck, { className: "h-4 w-4" }) }) }),
3690
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
3670
3691
  /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemText, { children })
3671
3692
  ]
3672
3693
  }
@@ -3758,7 +3779,7 @@ function BorderFieldInner({
3758
3779
  onClick: handleClear,
3759
3780
  className: "text-muted-foreground hover:text-destructive",
3760
3781
  title: "Clear border",
3761
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "h-4 w-4" })
3782
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
3762
3783
  }
3763
3784
  )
3764
3785
  ] }),
@@ -3861,7 +3882,7 @@ function BorderFieldInner({
3861
3882
  currentValue.sides.top && "bg-primary hover:bg-primary/90"
3862
3883
  ),
3863
3884
  title: "Top border",
3864
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconBorderTop, { className: "h-4 w-4" })
3885
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUp, { className: "h-4 w-4" })
3865
3886
  }
3866
3887
  ),
3867
3888
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -3876,7 +3897,7 @@ function BorderFieldInner({
3876
3897
  currentValue.sides.right && "bg-primary hover:bg-primary/90"
3877
3898
  ),
3878
3899
  title: "Right border",
3879
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconBorderRight, { className: "h-4 w-4" })
3900
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { className: "h-4 w-4" })
3880
3901
  }
3881
3902
  ),
3882
3903
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -3891,7 +3912,7 @@ function BorderFieldInner({
3891
3912
  currentValue.sides.bottom && "bg-primary hover:bg-primary/90"
3892
3913
  ),
3893
3914
  title: "Bottom border",
3894
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconBorderBottom, { className: "h-4 w-4" })
3915
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowDown, { className: "h-4 w-4" })
3895
3916
  }
3896
3917
  ),
3897
3918
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -3906,7 +3927,7 @@ function BorderFieldInner({
3906
3927
  currentValue.sides.left && "bg-primary hover:bg-primary/90"
3907
3928
  ),
3908
3929
  title: "Left border",
3909
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconBorderLeft, { className: "h-4 w-4" })
3930
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, { className: "h-4 w-4" })
3910
3931
  }
3911
3932
  )
3912
3933
  ] }),
@@ -4010,14 +4031,14 @@ function WidthFieldInner({
4010
4031
  onClick: handleClear,
4011
4032
  className: "text-muted-foreground hover:text-destructive",
4012
4033
  title: "Reset to default",
4013
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "h-4 w-4" })
4034
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
4014
4035
  }
4015
4036
  )
4016
4037
  ] }),
4017
4038
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1", children: [
4018
- { mode: "full", icon: iconsReact.IconArrowsHorizontal, title: "Full width (100%)" },
4019
- { mode: "contained", icon: iconsReact.IconContainer, title: "Contained (centered with max-width)" },
4020
- { mode: "custom", icon: iconsReact.IconAdjustments, title: "Custom width settings" }
4039
+ { mode: "full", icon: lucideReact.MoveHorizontal, title: "Full width (100%)" },
4040
+ { mode: "contained", icon: lucideReact.Container, title: "Contained (centered with max-width)" },
4041
+ { mode: "custom", icon: lucideReact.SlidersHorizontal, title: "Custom width settings" }
4021
4042
  ].map(({ mode, icon: Icon2, title }) => {
4022
4043
  const isActive = currentValue.mode === mode;
4023
4044
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -4104,9 +4125,9 @@ function WidthFieldInner({
4104
4125
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
4105
4126
  /* @__PURE__ */ jsxRuntime.jsx(Label, { className: "text-xs text-muted-foreground flex-shrink-0", children: "Align:" }),
4106
4127
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-1", children: [
4107
- { alignment: "left", icon: iconsReact.IconLayoutAlignLeft, title: "Align left" },
4108
- { alignment: "center", icon: iconsReact.IconLayoutAlignCenter, title: "Align center" },
4109
- { alignment: "right", icon: iconsReact.IconLayoutAlignRight, title: "Align right" }
4128
+ { alignment: "left", icon: lucideReact.AlignLeft, title: "Align left" },
4129
+ { alignment: "center", icon: lucideReact.AlignCenter, title: "Align center" },
4130
+ { alignment: "right", icon: lucideReact.AlignRight, title: "Align right" }
4110
4131
  ].map(({ alignment, icon: Icon2, title }) => {
4111
4132
  const isActive = currentValue.alignment === alignment;
4112
4133
  const isDisabled = readOnly || currentValue.mode === "full";
@@ -4413,14 +4434,14 @@ function DimensionsFieldInner({
4413
4434
  });
4414
4435
  }, [advancedMode, currentValue, onChange]);
4415
4436
  const modeConfig = [
4416
- { mode: "full", icon: iconsReact.IconArrowsHorizontal, label: "Full", title: "Full width (100%)" },
4417
- { mode: "contained", icon: iconsReact.IconContainer, label: "Contain", title: "Contained (centered with max-width)" },
4418
- { mode: "custom", icon: iconsReact.IconAdjustments, label: "Custom", title: "Custom width settings" }
4437
+ { mode: "full", icon: lucideReact.MoveHorizontal, label: "Full", title: "Full width (100%)" },
4438
+ { mode: "contained", icon: lucideReact.Square, label: "Contain", title: "Contained (centered with max-width)" },
4439
+ { mode: "custom", icon: lucideReact.SlidersHorizontal, label: "Custom", title: "Custom width settings" }
4419
4440
  ];
4420
4441
  const alignmentConfig = [
4421
- { alignment: "left", icon: iconsReact.IconLayoutAlignLeft, title: "Align left" },
4422
- { alignment: "center", icon: iconsReact.IconLayoutAlignCenter, title: "Align center" },
4423
- { alignment: "right", icon: iconsReact.IconLayoutAlignRight, title: "Align right" }
4442
+ { alignment: "left", icon: lucideReact.AlignStartHorizontal, title: "Align left" },
4443
+ { alignment: "center", icon: lucideReact.AlignCenterHorizontal, title: "Align center" },
4444
+ { alignment: "right", icon: lucideReact.AlignEndHorizontal, title: "Align right" }
4424
4445
  ];
4425
4446
  const showWidthControls = currentValue.mode !== "full";
4426
4447
  showHeightControls && (advancedMode || currentValue.minHeight?.enabled || currentValue.maxHeight?.enabled);
@@ -4436,7 +4457,7 @@ function DimensionsFieldInner({
4436
4457
  onClick: handleClear,
4437
4458
  className: "text-muted-foreground hover:text-destructive",
4438
4459
  title: "Reset to default",
4439
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "h-4 w-4" })
4460
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
4440
4461
  }
4441
4462
  )
4442
4463
  ] }),
@@ -4639,10 +4660,10 @@ function DimensionsFieldInner({
4639
4660
  disabled: readOnly,
4640
4661
  className: "w-full text-xs text-muted-foreground hover:text-foreground",
4641
4662
  children: advancedMode ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4642
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconChevronUp, { className: "h-3.5 w-3.5 mr-1" }),
4663
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { className: "h-3.5 w-3.5 mr-1" }),
4643
4664
  "Hide Advanced"
4644
4665
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4645
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconChevronDown, { className: "h-3.5 w-3.5 mr-1" }),
4666
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-3.5 w-3.5 mr-1" }),
4646
4667
  "Show Advanced"
4647
4668
  ] })
4648
4669
  }
@@ -4697,7 +4718,7 @@ function LockedTextField({
4697
4718
  transition: "all 0.15s ease"
4698
4719
  },
4699
4720
  title: isLocked ? "Click to unlock" : "Click to lock",
4700
- children: isLocked ? /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLock, { size: 14 }) : /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLockOpen, { size: 14 })
4721
+ children: isLocked ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Lock, { size: 14 }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Unlock, { size: 14 })
4701
4722
  }
4702
4723
  )
4703
4724
  ] }),
@@ -4726,7 +4747,7 @@ function LockedTextField({
4726
4747
  }
4727
4748
  ),
4728
4749
  isLocked && /* @__PURE__ */ jsxRuntime.jsx(
4729
- iconsReact.IconLock,
4750
+ lucideReact.Lock,
4730
4751
  {
4731
4752
  size: 14,
4732
4753
  style: {
@@ -4781,7 +4802,7 @@ function LockedRadioField({
4781
4802
  transition: "all 0.15s ease"
4782
4803
  },
4783
4804
  title: isLocked ? "Click to unlock" : "Click to lock",
4784
- children: isLocked ? /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLock, { size: 14 }) : /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLockOpen, { size: 14 })
4805
+ children: isLocked ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Lock, { size: 14 }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Unlock, { size: 14 })
4785
4806
  }
4786
4807
  )
4787
4808
  ] }),
@@ -4893,9 +4914,9 @@ function AlignmentFieldInner({
4893
4914
  onChange(null);
4894
4915
  }, [onChange]);
4895
4916
  const alignments = [
4896
- { value: "left", icon: iconsReact.IconLayoutAlignLeft, title: "Align left" },
4897
- { value: "center", icon: iconsReact.IconLayoutAlignCenter, title: "Align center" },
4898
- { value: "right", icon: iconsReact.IconLayoutAlignRight, title: "Align right" }
4917
+ { value: "left", icon: lucideReact.AlignLeft, title: "Align left" },
4918
+ { value: "center", icon: lucideReact.AlignCenter, title: "Align center" },
4919
+ { value: "right", icon: lucideReact.AlignRight, title: "Align right" }
4899
4920
  ];
4900
4921
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "puck-field space-y-2", children: [
4901
4922
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
@@ -4909,7 +4930,7 @@ function AlignmentFieldInner({
4909
4930
  onClick: handleClear,
4910
4931
  className: "text-muted-foreground hover:text-destructive",
4911
4932
  title: "Reset to default",
4912
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "h-4 w-4" })
4933
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
4913
4934
  }
4914
4935
  )
4915
4936
  ] }),
@@ -4967,11 +4988,11 @@ function JustifyContentFieldInner({
4967
4988
  onChange(null);
4968
4989
  }, [onChange]);
4969
4990
  const options = [
4970
- { value: "flex-start", icon: iconsReact.IconLayoutAlignLeft, title: "Start" },
4971
- { value: "center", icon: iconsReact.IconLayoutAlignCenter, title: "Center" },
4972
- { value: "flex-end", icon: iconsReact.IconLayoutAlignRight, title: "End" },
4973
- { value: "space-between", icon: iconsReact.IconLayoutDistributeHorizontal, title: "Space Between" },
4974
- { value: "space-around", icon: iconsReact.IconSpacingHorizontal, title: "Space Around" }
4991
+ { value: "flex-start", icon: lucideReact.AlignLeft, title: "Start" },
4992
+ { value: "center", icon: lucideReact.AlignCenter, title: "Center" },
4993
+ { value: "flex-end", icon: lucideReact.AlignRight, title: "End" },
4994
+ { value: "space-between", icon: lucideReact.AlignHorizontalDistributeCenter, title: "Space Between" },
4995
+ { value: "space-around", icon: lucideReact.GripHorizontal, title: "Space Around" }
4975
4996
  ];
4976
4997
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "puck-field space-y-2", children: [
4977
4998
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
@@ -4985,7 +5006,7 @@ function JustifyContentFieldInner({
4985
5006
  onClick: handleClear,
4986
5007
  className: "text-muted-foreground hover:text-destructive",
4987
5008
  title: "Reset to default",
4988
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "h-4 w-4" })
5009
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
4989
5010
  }
4990
5011
  )
4991
5012
  ] }),
@@ -5027,10 +5048,10 @@ function AlignItemsFieldInner({
5027
5048
  onChange(null);
5028
5049
  }, [onChange]);
5029
5050
  const options = [
5030
- { value: "flex-start", icon: iconsReact.IconLayoutAlignTop, title: "Start" },
5031
- { value: "center", icon: iconsReact.IconLayoutAlignMiddle, title: "Center" },
5032
- { value: "flex-end", icon: iconsReact.IconLayoutAlignBottom, title: "End" },
5033
- { value: "stretch", icon: iconsReact.IconArrowsVertical, title: "Stretch" }
5051
+ { value: "flex-start", icon: lucideReact.AlignStartVertical, title: "Start" },
5052
+ { value: "center", icon: lucideReact.AlignCenterVertical, title: "Center" },
5053
+ { value: "flex-end", icon: lucideReact.AlignEndVertical, title: "End" },
5054
+ { value: "stretch", icon: lucideReact.MoveVertical, title: "Stretch" }
5034
5055
  ];
5035
5056
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "puck-field space-y-2", children: [
5036
5057
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
@@ -5044,7 +5065,7 @@ function AlignItemsFieldInner({
5044
5065
  onClick: handleClear,
5045
5066
  className: "text-muted-foreground hover:text-destructive",
5046
5067
  title: "Reset to default",
5047
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "h-4 w-4" })
5068
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
5048
5069
  }
5049
5070
  )
5050
5071
  ] }),
@@ -5118,9 +5139,9 @@ function VerticalAlignmentFieldInner({
5118
5139
  onChange(null);
5119
5140
  }, [onChange]);
5120
5141
  const options = [
5121
- { value: "flex-start", icon: iconsReact.IconLayoutAlignTop, title: "Top" },
5122
- { value: "center", icon: iconsReact.IconLayoutAlignMiddle, title: "Center" },
5123
- { value: "flex-end", icon: iconsReact.IconLayoutAlignBottom, title: "Bottom" }
5142
+ { value: "flex-start", icon: lucideReact.AlignStartVertical, title: "Top" },
5143
+ { value: "center", icon: lucideReact.AlignCenterVertical, title: "Center" },
5144
+ { value: "flex-end", icon: lucideReact.AlignEndVertical, title: "Bottom" }
5124
5145
  ];
5125
5146
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "puck-field space-y-2", children: [
5126
5147
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
@@ -5134,7 +5155,7 @@ function VerticalAlignmentFieldInner({
5134
5155
  onClick: handleClear,
5135
5156
  className: "text-muted-foreground hover:text-destructive",
5136
5157
  title: "Reset to default",
5137
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "h-4 w-4" })
5158
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
5138
5159
  }
5139
5160
  )
5140
5161
  ] }),
@@ -5239,7 +5260,7 @@ function SizeFieldInner({
5239
5260
  onClick: handleClear,
5240
5261
  className: "text-muted-foreground hover:text-destructive",
5241
5262
  title: "Reset to default",
5242
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "h-4 w-4" })
5263
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
5243
5264
  }
5244
5265
  )
5245
5266
  ] }),
@@ -5516,7 +5537,7 @@ function GradientStopEditorInner({
5516
5537
  onClick: () => onDelete(index),
5517
5538
  className: "p-1 text-muted-foreground hover:text-destructive hover:bg-destructive/10 rounded flex-shrink-0",
5518
5539
  title: "Remove stop",
5519
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconTrash, { className: "w-4 h-4" })
5540
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "w-4 h-4" })
5520
5541
  }
5521
5542
  )
5522
5543
  ] }),
@@ -5730,7 +5751,7 @@ function GradientEditorInner({ value, onChange, readOnly }) {
5730
5751
  onClick: handleAddStop,
5731
5752
  className: "h-6 text-xs px-2",
5732
5753
  children: [
5733
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconPlus, { className: "w-3 h-3 mr-1" }),
5754
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "w-3 h-3 mr-1" }),
5734
5755
  "Add Stop"
5735
5756
  ]
5736
5757
  }
@@ -6219,7 +6240,7 @@ function BackgroundFieldInner({
6219
6240
  onClick: handleClear,
6220
6241
  title: "Clear background",
6221
6242
  className: "flex items-center justify-center w-6 h-6 rounded border-none bg-transparent cursor-pointer text-muted-foreground hover:bg-accent hover:text-destructive",
6222
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "w-4 h-4" })
6243
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "w-4 h-4" })
6223
6244
  }
6224
6245
  )
6225
6246
  ] }),
@@ -6367,11 +6388,11 @@ function createBackgroundField(config = {}) {
6367
6388
  };
6368
6389
  }
6369
6390
  var BREAKPOINT_ICONS = {
6370
- base: iconsReact.IconDevices,
6371
- sm: iconsReact.IconDeviceMobile,
6372
- md: iconsReact.IconDeviceTablet,
6373
- lg: iconsReact.IconDeviceLaptop,
6374
- xl: iconsReact.IconDeviceDesktop
6391
+ xs: lucideReact.Smartphone,
6392
+ sm: lucideReact.Smartphone,
6393
+ md: lucideReact.Tablet,
6394
+ lg: lucideReact.Laptop,
6395
+ xl: lucideReact.Monitor
6375
6396
  };
6376
6397
  function BreakpointTab({
6377
6398
  breakpoint,
@@ -6411,17 +6432,17 @@ function ResponsiveFieldInner({
6411
6432
  renderInnerField,
6412
6433
  defaultValue
6413
6434
  }) {
6414
- const [activeBreakpoint, setActiveBreakpoint] = React12.useState("base");
6435
+ const [activeBreakpoint, setActiveBreakpoint] = React12.useState("xs");
6415
6436
  const getCurrentValue = React12.useCallback(() => {
6416
6437
  if (!value) return defaultValue ?? null;
6417
- if (activeBreakpoint === "base") {
6418
- return value.base ?? defaultValue ?? null;
6438
+ if (activeBreakpoint === "xs") {
6439
+ return value.xs ?? defaultValue ?? null;
6419
6440
  }
6420
6441
  const override = value[activeBreakpoint];
6421
6442
  if (override !== void 0) {
6422
6443
  return override;
6423
6444
  }
6424
- const breakpointOrder = ["xl", "lg", "md", "sm", "base"];
6445
+ const breakpointOrder = ["xl", "lg", "md", "sm", "xs"];
6425
6446
  const activeIndex = breakpointOrder.indexOf(activeBreakpoint);
6426
6447
  for (let i = activeIndex + 1; i < breakpointOrder.length; i++) {
6427
6448
  const bp = breakpointOrder[i];
@@ -6435,18 +6456,18 @@ function ResponsiveFieldInner({
6435
6456
  const hasOverride = React12.useCallback(
6436
6457
  (breakpoint) => {
6437
6458
  if (!value) return false;
6438
- if (breakpoint === "base") return value.base !== void 0;
6459
+ if (breakpoint === "xs") return value.xs !== void 0;
6439
6460
  return value[breakpoint] !== void 0;
6440
6461
  },
6441
6462
  [value]
6442
6463
  );
6443
6464
  const handleInnerChange = React12.useCallback(
6444
6465
  (newValue) => {
6445
- if (activeBreakpoint === "base") {
6466
+ if (activeBreakpoint === "xs") {
6446
6467
  if (newValue === null && defaultValue !== void 0) {
6447
- onChange({ ...value, base: defaultValue });
6468
+ onChange({ ...value, xs: defaultValue });
6448
6469
  } else if (newValue !== null) {
6449
- onChange({ ...value, base: newValue });
6470
+ onChange({ ...value, xs: newValue });
6450
6471
  }
6451
6472
  } else {
6452
6473
  if (newValue === null) {
@@ -6454,11 +6475,11 @@ function ResponsiveFieldInner({
6454
6475
  delete newResponsive[activeBreakpoint];
6455
6476
  onChange(newResponsive);
6456
6477
  } else {
6457
- const base = value?.base ?? defaultValue;
6458
- if (base === void 0) return;
6478
+ const xs = value?.xs ?? defaultValue;
6479
+ if (xs === void 0) return;
6459
6480
  onChange({
6460
6481
  ...value,
6461
- base,
6482
+ xs,
6462
6483
  [activeBreakpoint]: newValue
6463
6484
  });
6464
6485
  }
@@ -6467,7 +6488,7 @@ function ResponsiveFieldInner({
6467
6488
  [value, onChange, activeBreakpoint, defaultValue]
6468
6489
  );
6469
6490
  const handleClearOverride = React12.useCallback(() => {
6470
- if (activeBreakpoint === "base" || !value) return;
6491
+ if (activeBreakpoint === "xs" || !value) return;
6471
6492
  const newResponsive = { ...value };
6472
6493
  delete newResponsive[activeBreakpoint];
6473
6494
  onChange(newResponsive);
@@ -6476,7 +6497,7 @@ function ResponsiveFieldInner({
6476
6497
  onChange(null);
6477
6498
  }, [onChange]);
6478
6499
  const currentValue = getCurrentValue();
6479
- const isOverrideBreakpoint = activeBreakpoint !== "base";
6500
+ const isOverrideBreakpoint = activeBreakpoint !== "xs";
6480
6501
  const currentHasOverride = hasOverride(activeBreakpoint);
6481
6502
  const overrideCount = value ? ["sm", "md", "lg", "xl"].filter((bp) => value[bp] !== void 0).length : 0;
6482
6503
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "puck-field space-y-3", children: [
@@ -6498,7 +6519,7 @@ function ResponsiveFieldInner({
6498
6519
  onClick: handleClearAll,
6499
6520
  className: "text-muted-foreground hover:text-destructive",
6500
6521
  title: "Clear all values",
6501
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "h-4 w-4" })
6522
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
6502
6523
  }
6503
6524
  )
6504
6525
  ] }),
@@ -6516,10 +6537,10 @@ function ResponsiveFieldInner({
6516
6537
  bp.key
6517
6538
  )) }),
6518
6539
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-xs text-muted-foreground", children: [
6519
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: activeBreakpoint === "base" ? "Default for all screen sizes" : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6540
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: activeBreakpoint === "xs" ? "Extra small screens (0-639px)" : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6520
6541
  BREAKPOINTS.find((bp) => bp.key === activeBreakpoint)?.minWidth,
6521
6542
  "px and up",
6522
- !currentHasOverride && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground/60", children: " (inheriting from base)" })
6543
+ !currentHasOverride && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground/60", children: " (inheriting from xs)" })
6523
6544
  ] }) }),
6524
6545
  isOverrideBreakpoint && currentHasOverride && !readOnly && /* @__PURE__ */ jsxRuntime.jsx(
6525
6546
  Button,
@@ -6572,18 +6593,17 @@ function createResponsiveField(config) {
6572
6593
  };
6573
6594
  }
6574
6595
  var BREAKPOINT_ICONS2 = {
6575
- base: iconsReact.IconDevices,
6576
- sm: iconsReact.IconDeviceMobile,
6577
- md: iconsReact.IconDeviceTablet,
6578
- lg: iconsReact.IconDeviceLaptop,
6579
- xl: iconsReact.IconDeviceDesktop
6596
+ xs: lucideReact.Smartphone,
6597
+ sm: lucideReact.Smartphone,
6598
+ md: lucideReact.Tablet,
6599
+ lg: lucideReact.Laptop,
6600
+ xl: lucideReact.Monitor
6580
6601
  };
6581
6602
  function VisibilityToggle({
6582
6603
  breakpoint,
6583
6604
  label,
6584
6605
  minWidth,
6585
6606
  isVisible,
6586
- isInherited,
6587
6607
  onClick,
6588
6608
  disabled
6589
6609
  }) {
@@ -6594,18 +6614,16 @@ function VisibilityToggle({
6594
6614
  type: "button",
6595
6615
  onClick,
6596
6616
  disabled,
6597
- title: `${label}${minWidth ? ` (${minWidth}px+)` : ""}: ${isVisible ? "Visible" : "Hidden"}${isInherited ? " (inherited)" : ""}`,
6617
+ title: `${label}${minWidth ? ` (${minWidth}px+)` : ""}: ${isVisible ? "Visible" : "Hidden"}`,
6598
6618
  className: cn2(
6599
6619
  "relative flex flex-col items-center justify-center gap-0.5 p-2 rounded-md transition-all flex-1 min-w-[52px]",
6600
- isVisible ? "bg-emerald-500/10 text-emerald-600 hover:bg-emerald-500/20 border border-emerald-500/30" : "bg-red-500/10 text-red-500 hover:bg-red-500/20 border border-red-500/30",
6601
- isInherited && "opacity-60",
6620
+ isVisible ? "bg-emerald-500/15 text-emerald-600 hover:bg-emerald-500/25 border border-emerald-500/40" : "bg-red-500/15 text-red-500 hover:bg-red-500/25 border border-red-500/40",
6602
6621
  disabled && "opacity-50 cursor-not-allowed"
6603
6622
  ),
6604
6623
  children: [
6605
6624
  /* @__PURE__ */ jsxRuntime.jsx(DeviceIcon, { className: "h-4 w-4" }),
6606
6625
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-medium", children: label }),
6607
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-1 right-1", children: isVisible ? /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconEye, { className: "h-3 w-3" }) : /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconEyeOff, { className: "h-3 w-3" }) }),
6608
- isInherited && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -bottom-0.5 left-1/2 -translate-x-1/2 text-[8px] text-muted-foreground", children: "\u2022" })
6626
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-1 right-1", children: isVisible ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Eye, { className: "h-3 w-3" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.EyeOff, { className: "h-3 w-3" }) })
6609
6627
  ]
6610
6628
  }
6611
6629
  );
@@ -6616,85 +6634,46 @@ function ResponsiveVisibilityFieldInner({
6616
6634
  label,
6617
6635
  readOnly
6618
6636
  }) {
6619
- const getEffectiveVisibility = React12.useCallback(
6637
+ const getVisibility = React12.useCallback(
6620
6638
  (breakpoint) => {
6621
6639
  const val = value ?? DEFAULT_VISIBILITY;
6622
- if (breakpoint === "base") {
6623
- return { visible: val.base, inherited: false };
6624
- }
6625
- const explicitValue = val[breakpoint];
6626
- if (explicitValue !== void 0) {
6627
- return { visible: explicitValue, inherited: false };
6628
- }
6629
- const breakpointOrder = ["xl", "lg", "md", "sm", "base"];
6630
- const currentIndex = breakpointOrder.indexOf(breakpoint);
6631
- for (let i = currentIndex + 1; i < breakpointOrder.length; i++) {
6632
- const bp = breakpointOrder[i];
6633
- const bpValue = val[bp];
6634
- if (bpValue !== void 0) {
6635
- return { visible: bpValue, inherited: true };
6636
- }
6637
- }
6638
- return { visible: val.base, inherited: true };
6640
+ return val[breakpoint] ?? true;
6639
6641
  },
6640
6642
  [value]
6641
6643
  );
6642
6644
  const toggleVisibility = React12.useCallback(
6643
6645
  (breakpoint) => {
6644
- const current = getEffectiveVisibility(breakpoint);
6645
- const newVisible = !current.visible;
6646
- if (breakpoint === "base") {
6647
- onChange({
6648
- ...value ?? DEFAULT_VISIBILITY,
6649
- base: newVisible
6650
- });
6651
- } else {
6652
- const newValue = {
6653
- ...value ?? DEFAULT_VISIBILITY,
6654
- [breakpoint]: newVisible
6655
- };
6656
- onChange(newValue);
6657
- }
6646
+ const currentVisible = getVisibility(breakpoint);
6647
+ const newValue = {
6648
+ ...value ?? DEFAULT_VISIBILITY,
6649
+ [breakpoint]: !currentVisible
6650
+ };
6651
+ onChange(newValue);
6658
6652
  },
6659
- [value, onChange, getEffectiveVisibility]
6653
+ [value, onChange, getVisibility]
6660
6654
  );
6661
- const overrideCount = value ? ["sm", "md", "lg", "xl"].filter((bp) => value[bp] !== void 0).length : 0;
6662
- const hasHiddenBreakpoints = BREAKPOINTS.some((bp) => {
6663
- const { visible } = getEffectiveVisibility(bp.key);
6664
- return !visible;
6665
- });
6655
+ const hasHiddenBreakpoints = BREAKPOINTS.some((bp) => !getVisibility(bp.key));
6666
6656
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "puck-field space-y-2", children: [
6667
6657
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
6668
- label && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
6669
- /* @__PURE__ */ jsxRuntime.jsx(Label, { className: "text-sm font-medium text-foreground", children: label }),
6670
- overrideCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-muted-foreground bg-muted px-1.5 py-0.5 rounded", children: [
6671
- overrideCount,
6672
- " override",
6673
- overrideCount !== 1 ? "s" : ""
6674
- ] })
6675
- ] }),
6658
+ label && /* @__PURE__ */ jsxRuntime.jsx(Label, { className: "text-sm font-medium text-foreground", children: label }),
6676
6659
  hasHiddenBreakpoints && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-amber-600 flex items-center gap-1", children: [
6677
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconEyeOff, { className: "h-3 w-3" }),
6678
- "Hidden"
6660
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.EyeOff, { className: "h-3 w-3" }),
6661
+ "Partially hidden"
6679
6662
  ] })
6680
6663
  ] }),
6681
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-1", children: BREAKPOINTS.map((bp) => {
6682
- const { visible, inherited } = getEffectiveVisibility(bp.key);
6683
- return /* @__PURE__ */ jsxRuntime.jsx(
6684
- VisibilityToggle,
6685
- {
6686
- breakpoint: bp.key,
6687
- label: bp.label,
6688
- minWidth: bp.minWidth,
6689
- isVisible: visible,
6690
- isInherited: inherited,
6691
- onClick: () => toggleVisibility(bp.key),
6692
- disabled: readOnly
6693
- },
6694
- bp.key
6695
- );
6696
- }) }),
6697
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: "Click to toggle visibility. Changes cascade to larger breakpoints." })
6664
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-1", children: BREAKPOINTS.map((bp) => /* @__PURE__ */ jsxRuntime.jsx(
6665
+ VisibilityToggle,
6666
+ {
6667
+ breakpoint: bp.key,
6668
+ label: bp.label,
6669
+ minWidth: bp.minWidth,
6670
+ isVisible: getVisibility(bp.key),
6671
+ onClick: () => toggleVisibility(bp.key),
6672
+ disabled: readOnly
6673
+ },
6674
+ bp.key
6675
+ )) }),
6676
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: "Toggle visibility per screen size. Each breakpoint is independent." })
6698
6677
  ] });
6699
6678
  }
6700
6679
  var ResponsiveVisibilityField = React12.memo(ResponsiveVisibilityFieldInner);
@@ -6744,7 +6723,7 @@ function CollapsibleSection({ title, defaultOpen = false, children }) {
6744
6723
  className: "w-full flex items-center justify-between px-3 py-2 bg-muted/30 hover:bg-muted/50 transition-colors",
6745
6724
  children: [
6746
6725
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-muted-foreground", children: title }),
6747
- isOpen ? /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconChevronDown, { className: "h-3.5 w-3.5 text-muted-foreground" }) : /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconChevronRight, { className: "h-3.5 w-3.5 text-muted-foreground" })
6726
+ isOpen ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-3.5 w-3.5 text-muted-foreground" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-3.5 w-3.5 text-muted-foreground" })
6748
6727
  ]
6749
6728
  }
6750
6729
  ),
@@ -6878,7 +6857,7 @@ function AnimationFieldInner({
6878
6857
  onClick: handleClear,
6879
6858
  className: "text-muted-foreground hover:text-destructive",
6880
6859
  title: "Reset to default",
6881
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "h-4 w-4" })
6860
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
6882
6861
  }
6883
6862
  )
6884
6863
  ] }),
@@ -7304,7 +7283,7 @@ function TransformFieldInner({
7304
7283
  onClick: handleClear,
7305
7284
  className: "text-muted-foreground hover:text-destructive",
7306
7285
  title: "Reset transform",
7307
- children: /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconX, { className: "h-4 w-4" })
7286
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
7308
7287
  }
7309
7288
  )
7310
7289
  ] }),
@@ -7318,7 +7297,7 @@ function TransformFieldInner({
7318
7297
  ) }),
7319
7298
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2 p-3 bg-muted/30 rounded-md", children: [
7320
7299
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 mb-2", children: [
7321
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconRotate, { className: "h-4 w-4 text-muted-foreground" }),
7300
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RotateCw, { className: "h-4 w-4 text-muted-foreground" }),
7322
7301
  /* @__PURE__ */ jsxRuntime.jsx(Label, { className: "text-xs font-medium", children: "Rotate" })
7323
7302
  ] }),
7324
7303
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -7336,7 +7315,7 @@ function TransformFieldInner({
7336
7315
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3 p-3 bg-muted/30 rounded-md", children: [
7337
7316
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
7338
7317
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
7339
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconResize, { className: "h-4 w-4 text-muted-foreground" }),
7318
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Maximize2, { className: "h-4 w-4 text-muted-foreground" }),
7340
7319
  /* @__PURE__ */ jsxRuntime.jsx(Label, { className: "text-xs font-medium", children: "Scale" })
7341
7320
  ] }),
7342
7321
  !readOnly && /* @__PURE__ */ jsxRuntime.jsx(
@@ -7348,7 +7327,7 @@ function TransformFieldInner({
7348
7327
  onClick: handleScaleLockToggle,
7349
7328
  className: "h-6 w-6",
7350
7329
  title: currentValue.scaleLocked ? "Click to unlink X and Y scale" : "Click to link X and Y scale",
7351
- children: currentValue.scaleLocked ? /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLink, { className: "h-3 w-3" }) : /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconLinkOff, { className: "h-3 w-3" })
7330
+ children: currentValue.scaleLocked ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link, { className: "h-3 w-3" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Unlink, { className: "h-3 w-3" })
7352
7331
  }
7353
7332
  )
7354
7333
  ] }),
@@ -7480,10 +7459,10 @@ function TransformFieldInner({
7480
7459
  className: "w-full flex items-center justify-between p-3 bg-muted/30 hover:bg-muted/50 transition-colors",
7481
7460
  children: [
7482
7461
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
7483
- /* @__PURE__ */ jsxRuntime.jsx(iconsReact.Icon3dCubeSphere, { className: "h-4 w-4 text-muted-foreground" }),
7462
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Box, { className: "h-4 w-4 text-muted-foreground" }),
7484
7463
  /* @__PURE__ */ jsxRuntime.jsx(Label, { className: "text-xs font-medium cursor-pointer", children: "3D Transforms" })
7485
7464
  ] }),
7486
- show3D ? /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconChevronDown, { className: "h-4 w-4 text-muted-foreground" }) : /* @__PURE__ */ jsxRuntime.jsx(iconsReact.IconChevronRight, { className: "h-4 w-4 text-muted-foreground" })
7465
+ show3D ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 text-muted-foreground" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-4 w-4 text-muted-foreground" })
7487
7466
  ]
7488
7467
  }
7489
7468
  ),