@mission-studio/puck 1.0.5 → 1.0.15

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.
@@ -292,8 +292,15 @@ function Paragraph({
292
292
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("p", { id, style, children: resolvedText });
293
293
  }
294
294
 
295
- // components/page/Button.tsx
296
- var import_google = require("@next/third-parties/google");
295
+ // hooks/useGtmEvent.ts
296
+ function useGtmEvent() {
297
+ return (eventName, data) => {
298
+ if (typeof window === "undefined") return;
299
+ if (typeof window.gtag === "function") {
300
+ window.gtag("event", eventName, data || {});
301
+ }
302
+ };
303
+ }
297
304
 
298
305
  // hooks/useUtmParams.ts
299
306
  var import_react3 = require("react");
@@ -385,6 +392,7 @@ function Button({
385
392
  const { resolveColor: resolveColor2 } = useTheme();
386
393
  const { getEntryValue } = useEntries();
387
394
  const utm = useUtmParams();
395
+ const sendEvent = useGtmEvent();
388
396
  const resolvedText = (() => {
389
397
  if (!text) return "Button";
390
398
  if (typeof text === "string") return text;
@@ -398,15 +406,12 @@ function Button({
398
406
  })();
399
407
  const handleClick = () => {
400
408
  const sessionId = typeof window !== "undefined" ? sessionStorage.getItem("session_id") : null;
401
- (0, import_google.sendGTMEvent)({
402
- event: "button_click",
403
- value: {
404
- text: resolvedText,
405
- href: href || void 0,
406
- variant,
407
- session_id: sessionId,
408
- ...utm
409
- }
409
+ sendEvent("button_click", {
410
+ text: resolvedText,
411
+ href: href || void 0,
412
+ variant,
413
+ session_id: sessionId,
414
+ ...utm
410
415
  });
411
416
  };
412
417
  const resolvedColor = (() => {
@@ -621,7 +626,6 @@ function Image({
621
626
 
622
627
  // components/page/ImageCarousel.tsx
623
628
  var import_react4 = require("react");
624
- var import_google2 = require("@next/third-parties/google");
625
629
  var import_jsx_runtime7 = require("react/jsx-runtime");
626
630
  var aspectRatioMap2 = {
627
631
  "16:9": "16 / 9",
@@ -651,6 +655,7 @@ function ImageCarousel({
651
655
  const [currentIndex, setCurrentIndex] = (0, import_react4.useState)(0);
652
656
  const { resolveColor: resolveColor2 } = useTheme();
653
657
  const utm = useUtmParams();
658
+ const sendEvent = useGtmEvent();
654
659
  const resolvedArrowColor = (() => {
655
660
  if (!arrowColor) return { color: "#FFFFFF", opacity: 100 };
656
661
  if (typeof arrowColor === "string")
@@ -673,39 +678,30 @@ function ImageCarousel({
673
678
  const goToPrevious = () => {
674
679
  const newIndex = currentIndex === 0 ? images.length - 1 : currentIndex - 1;
675
680
  setCurrentIndex(newIndex);
676
- (0, import_google2.sendGTMEvent)({
677
- event: "carousel_navigate",
678
- value: {
679
- direction: "previous",
680
- slideIndex: newIndex,
681
- totalSlides: images.length,
682
- ...utm
683
- }
681
+ sendEvent("carousel_navigate", {
682
+ direction: "previous",
683
+ slideIndex: newIndex,
684
+ totalSlides: images.length,
685
+ ...utm
684
686
  });
685
687
  };
686
688
  const goToNext = () => {
687
689
  const newIndex = currentIndex === images.length - 1 ? 0 : currentIndex + 1;
688
690
  setCurrentIndex(newIndex);
689
- (0, import_google2.sendGTMEvent)({
690
- event: "carousel_navigate",
691
- value: {
692
- direction: "next",
693
- slideIndex: newIndex,
694
- totalSlides: images.length,
695
- ...utm
696
- }
691
+ sendEvent("carousel_navigate", {
692
+ direction: "next",
693
+ slideIndex: newIndex,
694
+ totalSlides: images.length,
695
+ ...utm
697
696
  });
698
697
  };
699
698
  const goToSlide = (index2) => {
700
699
  setCurrentIndex(index2);
701
- (0, import_google2.sendGTMEvent)({
702
- event: "carousel_navigate",
703
- value: {
704
- direction: "direct",
705
- slideIndex: index2,
706
- totalSlides: images.length,
707
- ...utm
708
- }
700
+ sendEvent("carousel_navigate", {
701
+ direction: "direct",
702
+ slideIndex: index2,
703
+ totalSlides: images.length,
704
+ ...utm
709
705
  });
710
706
  };
711
707
  if (images.length === 0) {
@@ -1835,7 +1831,6 @@ function FeatureGrid({
1835
1831
 
1836
1832
  // components/page/Footer.tsx
1837
1833
  var import_lucide_react3 = require("lucide-react");
1838
- var import_google3 = require("@next/third-parties/google");
1839
1834
  var import_jsx_runtime20 = require("react/jsx-runtime");
1840
1835
  function Footer({
1841
1836
  logo,
@@ -1849,6 +1844,7 @@ function Footer({
1849
1844
  }) {
1850
1845
  const DropZone = puck?.renderDropZone;
1851
1846
  const utm = useUtmParams();
1847
+ const sendEvent = useGtmEvent();
1852
1848
  const getSocialPlatform = (url) => {
1853
1849
  if (url.includes("facebook")) return "facebook";
1854
1850
  if (url.includes("instagram")) return "instagram";
@@ -1857,13 +1853,10 @@ function Footer({
1857
1853
  };
1858
1854
  const handleSocialClick = (url) => {
1859
1855
  const platform2 = getSocialPlatform(url);
1860
- (0, import_google3.sendGTMEvent)({
1861
- event: "social_click",
1862
- value: {
1863
- platform: platform2,
1864
- url,
1865
- ...utm
1866
- }
1856
+ sendEvent("social_click", {
1857
+ platform: platform2,
1858
+ url,
1859
+ ...utm
1867
1860
  });
1868
1861
  };
1869
1862
  const socialLinks = [
@@ -1901,9 +1894,7 @@ function Footer({
1901
1894
 
1902
1895
  // components/page/Topbar.tsx
1903
1896
  var import_react5 = require("react");
1904
- var import_link = __toESM(require("next/link"));
1905
1897
  var import_lucide_react4 = require("lucide-react");
1906
- var import_google4 = require("@next/third-parties/google");
1907
1898
  var import_jsx_runtime21 = require("react/jsx-runtime");
1908
1899
  function Topbar({
1909
1900
  logo,
@@ -1917,26 +1908,21 @@ function Topbar({
1917
1908
  const DropZone = puck?.renderDropZone;
1918
1909
  const [mobileMenuOpen, setMobileMenuOpen] = (0, import_react5.useState)(false);
1919
1910
  const utm = useUtmParams();
1911
+ const sendEvent = useGtmEvent();
1920
1912
  const handleNavClick = (item) => {
1921
- (0, import_google4.sendGTMEvent)({
1922
- event: "nav_click",
1923
- value: {
1924
- name: item.name,
1925
- url: item.url,
1926
- linkType: item.linkType || "internal",
1927
- ...utm
1928
- }
1913
+ sendEvent("nav_click", {
1914
+ name: item.name,
1915
+ url: item.url,
1916
+ linkType: item.linkType || "internal",
1917
+ ...utm
1929
1918
  });
1930
1919
  };
1931
1920
  const handleMobileMenuToggle = () => {
1932
1921
  const newState = !mobileMenuOpen;
1933
1922
  setMobileMenuOpen(newState);
1934
- (0, import_google4.sendGTMEvent)({
1935
- event: "mobile_menu_toggle",
1936
- value: {
1937
- open: newState,
1938
- ...utm
1939
- }
1923
+ sendEvent("mobile_menu_toggle", {
1924
+ open: newState,
1925
+ ...utm
1940
1926
  });
1941
1927
  };
1942
1928
  const renderLink = (item, index2) => {
@@ -1968,7 +1954,7 @@ function Topbar({
1968
1954
  );
1969
1955
  }
1970
1956
  return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1971
- import_link.default,
1957
+ "a",
1972
1958
  {
1973
1959
  href: item.url,
1974
1960
  className,
@@ -1991,18 +1977,15 @@ function Topbar({
1991
1977
  style: { maxWidth },
1992
1978
  children: [
1993
1979
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1994
- import_link.default,
1980
+ "a",
1995
1981
  {
1996
1982
  href: logoUrl,
1997
1983
  className: "flex-shrink-0",
1998
- onClick: () => (0, import_google4.sendGTMEvent)({
1999
- event: "nav_click",
2000
- value: {
2001
- name: "logo",
2002
- url: logoUrl,
2003
- linkType: "internal",
2004
- ...utm
2005
- }
1984
+ onClick: () => sendEvent("nav_click", {
1985
+ name: "logo",
1986
+ url: logoUrl,
1987
+ linkType: "internal",
1988
+ ...utm
2006
1989
  }),
2007
1990
  children: logo ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("img", { src: logo, alt: "Logo", className: "h-8" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-xl font-bold", children: "Logo" })
2008
1991
  }
@@ -2034,7 +2017,6 @@ function Topbar({
2034
2017
  // components/page/Popup.tsx
2035
2018
  var import_react6 = require("react");
2036
2019
  var import_lucide_react5 = require("lucide-react");
2037
- var import_google5 = require("@next/third-parties/google");
2038
2020
  var import_jsx_runtime22 = require("react/jsx-runtime");
2039
2021
  function Icon2({ name, ...props }) {
2040
2022
  const formatted = name.charAt(0).toUpperCase() + name.slice(1);
@@ -2065,23 +2047,18 @@ function Popup({
2065
2047
  }) {
2066
2048
  const [isOpen, setIsOpen] = (0, import_react6.useState)(false);
2067
2049
  const utm = useUtmParams();
2050
+ const sendEvent = useGtmEvent();
2068
2051
  const handleOpen = () => {
2069
2052
  setIsOpen(true);
2070
- (0, import_google5.sendGTMEvent)({
2071
- event: "popup_open",
2072
- value: {
2073
- ctaText,
2074
- type: textLink ? "link" : "button",
2075
- ...utm
2076
- }
2053
+ sendEvent("popup_open", {
2054
+ ctaText,
2055
+ type: textLink ? "link" : "button",
2056
+ ...utm
2077
2057
  });
2078
2058
  };
2079
2059
  const handleClose = () => {
2080
2060
  setIsOpen(false);
2081
- (0, import_google5.sendGTMEvent)({
2082
- event: "popup_close",
2083
- value: { ctaText, ...utm }
2084
- });
2061
+ sendEvent("popup_close", { ctaText, ...utm });
2085
2062
  };
2086
2063
  const trigger = textLink ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2087
2064
  "button",
@@ -2549,8 +2526,8 @@ function ColorPickerField({
2549
2526
  }
2550
2527
 
2551
2528
  // node_modules/@radix-ui/react-select/dist/index.mjs
2552
- var React32 = __toESM(require("react"), 1);
2553
- var ReactDOM5 = __toESM(require("react-dom"), 1);
2529
+ var React31 = __toESM(require("react"), 1);
2530
+ var ReactDOM4 = __toESM(require("react-dom"), 1);
2554
2531
 
2555
2532
  // node_modules/@radix-ui/number/dist/index.mjs
2556
2533
  function clamp(value, [min2, max2]) {
@@ -5516,51 +5493,13 @@ var Portal = React18.forwardRef((props, forwardedRef) => {
5516
5493
  });
5517
5494
  Portal.displayName = PORTAL_NAME;
5518
5495
 
5519
- // node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-primitive/dist/index.mjs
5520
- var React19 = __toESM(require("react"), 1);
5521
- var ReactDOM4 = __toESM(require("react-dom"), 1);
5522
- var import_react_slot5 = require("@radix-ui/react-slot");
5523
- var import_jsx_runtime40 = require("react/jsx-runtime");
5524
- var NODES2 = [
5525
- "a",
5526
- "button",
5527
- "div",
5528
- "form",
5529
- "h2",
5530
- "h3",
5531
- "img",
5532
- "input",
5533
- "label",
5534
- "li",
5535
- "nav",
5536
- "ol",
5537
- "p",
5538
- "select",
5539
- "span",
5540
- "svg",
5541
- "ul"
5542
- ];
5543
- var Primitive2 = NODES2.reduce((primitive, node) => {
5544
- const Slot3 = (0, import_react_slot5.createSlot)(`Primitive.${node}`);
5545
- const Node2 = React19.forwardRef((props, forwardedRef) => {
5546
- const { asChild, ...primitiveProps } = props;
5547
- const Comp = asChild ? Slot3 : node;
5548
- if (typeof window !== "undefined") {
5549
- window[/* @__PURE__ */ Symbol.for("radix-ui")] = true;
5550
- }
5551
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Comp, { ...primitiveProps, ref: forwardedRef });
5552
- });
5553
- Node2.displayName = `Primitive.${node}`;
5554
- return { ...primitive, [node]: Node2 };
5555
- }, {});
5556
-
5557
5496
  // node_modules/@radix-ui/react-select/dist/index.mjs
5558
- var import_react_slot6 = require("@radix-ui/react-slot");
5497
+ var import_react_slot5 = require("@radix-ui/react-slot");
5559
5498
 
5560
5499
  // node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs
5561
- var React20 = __toESM(require("react"), 1);
5500
+ var React19 = __toESM(require("react"), 1);
5562
5501
  var React23 = __toESM(require("react"), 1);
5563
- var useInsertionEffect = React20[" useInsertionEffect ".trim().toString()] || useLayoutEffect2;
5502
+ var useInsertionEffect = React19[" useInsertionEffect ".trim().toString()] || useLayoutEffect2;
5564
5503
  function useControllableState({
5565
5504
  prop,
5566
5505
  defaultProp,
@@ -5575,8 +5514,8 @@ function useControllableState({
5575
5514
  const isControlled = prop !== void 0;
5576
5515
  const value = isControlled ? prop : uncontrolledProp;
5577
5516
  if (true) {
5578
- const isControlledRef = React20.useRef(prop !== void 0);
5579
- React20.useEffect(() => {
5517
+ const isControlledRef = React19.useRef(prop !== void 0);
5518
+ React19.useEffect(() => {
5580
5519
  const wasControlled = isControlledRef.current;
5581
5520
  if (wasControlled !== isControlled) {
5582
5521
  const from = wasControlled ? "controlled" : "uncontrolled";
@@ -5588,7 +5527,7 @@ function useControllableState({
5588
5527
  isControlledRef.current = isControlled;
5589
5528
  }, [isControlled, caller]);
5590
5529
  }
5591
- const setValue = React20.useCallback(
5530
+ const setValue = React19.useCallback(
5592
5531
  (nextValue) => {
5593
5532
  if (isControlled) {
5594
5533
  const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;
@@ -5607,13 +5546,13 @@ function useUncontrolledState({
5607
5546
  defaultProp,
5608
5547
  onChange
5609
5548
  }) {
5610
- const [value, setValue] = React20.useState(defaultProp);
5611
- const prevValueRef = React20.useRef(value);
5612
- const onChangeRef = React20.useRef(onChange);
5549
+ const [value, setValue] = React19.useState(defaultProp);
5550
+ const prevValueRef = React19.useRef(value);
5551
+ const onChangeRef = React19.useRef(onChange);
5613
5552
  useInsertionEffect(() => {
5614
5553
  onChangeRef.current = onChange;
5615
5554
  }, [onChange]);
5616
- React20.useEffect(() => {
5555
+ React19.useEffect(() => {
5617
5556
  if (prevValueRef.current !== value) {
5618
5557
  onChangeRef.current?.(value);
5619
5558
  prevValueRef.current = value;
@@ -5626,10 +5565,10 @@ function isFunction(value) {
5626
5565
  }
5627
5566
 
5628
5567
  // node_modules/@radix-ui/react-use-previous/dist/index.mjs
5629
- var React21 = __toESM(require("react"), 1);
5568
+ var React20 = __toESM(require("react"), 1);
5630
5569
  function usePrevious(value) {
5631
- const ref = React21.useRef({ value, previous: value });
5632
- return React21.useMemo(() => {
5570
+ const ref = React20.useRef({ value, previous: value });
5571
+ return React20.useMemo(() => {
5633
5572
  if (ref.current.value !== value) {
5634
5573
  ref.current.previous = ref.current.value;
5635
5574
  ref.current.value = value;
@@ -5639,8 +5578,8 @@ function usePrevious(value) {
5639
5578
  }
5640
5579
 
5641
5580
  // node_modules/@radix-ui/react-visually-hidden/dist/index.mjs
5642
- var React24 = __toESM(require("react"), 1);
5643
- var import_jsx_runtime41 = require("react/jsx-runtime");
5581
+ var React21 = __toESM(require("react"), 1);
5582
+ var import_jsx_runtime40 = require("react/jsx-runtime");
5644
5583
  var VISUALLY_HIDDEN_STYLES = Object.freeze({
5645
5584
  // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
5646
5585
  position: "absolute",
@@ -5655,9 +5594,9 @@ var VISUALLY_HIDDEN_STYLES = Object.freeze({
5655
5594
  wordWrap: "normal"
5656
5595
  });
5657
5596
  var NAME2 = "VisuallyHidden";
5658
- var VisuallyHidden = React24.forwardRef(
5597
+ var VisuallyHidden = React21.forwardRef(
5659
5598
  (props, forwardedRef) => {
5660
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
5599
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
5661
5600
  Primitive.span,
5662
5601
  {
5663
5602
  ...props,
@@ -5823,10 +5762,10 @@ function __spreadArray(to, from, pack) {
5823
5762
  }
5824
5763
 
5825
5764
  // node_modules/react-remove-scroll/dist/es2015/Combination.js
5826
- var React31 = __toESM(require("react"));
5765
+ var React30 = __toESM(require("react"));
5827
5766
 
5828
5767
  // node_modules/react-remove-scroll/dist/es2015/UI.js
5829
- var React27 = __toESM(require("react"));
5768
+ var React26 = __toESM(require("react"));
5830
5769
 
5831
5770
  // node_modules/react-remove-scroll-bar/dist/es2015/constants.js
5832
5771
  var zeroRightClassName = "right-scroll-bar-position";
@@ -5873,8 +5812,8 @@ function useCallbackRef2(initialValue, callback) {
5873
5812
  }
5874
5813
 
5875
5814
  // node_modules/use-callback-ref/dist/es2015/useMergeRef.js
5876
- var React25 = __toESM(require("react"));
5877
- var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React25.useLayoutEffect : React25.useEffect;
5815
+ var React24 = __toESM(require("react"));
5816
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React24.useLayoutEffect : React24.useEffect;
5878
5817
  var currentValues = /* @__PURE__ */ new WeakMap();
5879
5818
  function useMergeRefs(refs, defaultValue) {
5880
5819
  var callbackRef = useCallbackRef2(defaultValue || null, function(newValue) {
@@ -5991,7 +5930,7 @@ function createSidecarMedium(options) {
5991
5930
  }
5992
5931
 
5993
5932
  // node_modules/use-sidecar/dist/es2015/exports.js
5994
- var React26 = __toESM(require("react"));
5933
+ var React25 = __toESM(require("react"));
5995
5934
  var SideCar = function(_a) {
5996
5935
  var sideCar = _a.sideCar, rest = __rest(_a, ["sideCar"]);
5997
5936
  if (!sideCar) {
@@ -6001,7 +5940,7 @@ var SideCar = function(_a) {
6001
5940
  if (!Target) {
6002
5941
  throw new Error("Sidecar medium not found");
6003
5942
  }
6004
- return React26.createElement(Target, __assign({}, rest));
5943
+ return React25.createElement(Target, __assign({}, rest));
6005
5944
  };
6006
5945
  SideCar.isSideCarExport = true;
6007
5946
  function exportSidecar(medium, exported) {
@@ -6016,9 +5955,9 @@ var effectCar = createSidecarMedium();
6016
5955
  var nothing = function() {
6017
5956
  return;
6018
5957
  };
6019
- var RemoveScroll = React27.forwardRef(function(props, parentRef) {
6020
- var ref = React27.useRef(null);
6021
- var _a = React27.useState({
5958
+ var RemoveScroll = React26.forwardRef(function(props, parentRef) {
5959
+ var ref = React26.useRef(null);
5960
+ var _a = React26.useState({
6022
5961
  onScrollCapture: nothing,
6023
5962
  onWheelCapture: nothing,
6024
5963
  onTouchMoveCapture: nothing
@@ -6027,11 +5966,11 @@ var RemoveScroll = React27.forwardRef(function(props, parentRef) {
6027
5966
  var SideCar2 = sideCar;
6028
5967
  var containerRef = useMergeRefs([ref, parentRef]);
6029
5968
  var containerProps = __assign(__assign({}, rest), callbacks);
6030
- return React27.createElement(
6031
- React27.Fragment,
5969
+ return React26.createElement(
5970
+ React26.Fragment,
6032
5971
  null,
6033
- enabled && React27.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noRelative, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }),
6034
- forwardProps ? React27.cloneElement(React27.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React27.createElement(Container2, __assign({}, containerProps, { className, ref: containerRef }), children)
5972
+ enabled && React26.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noRelative, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }),
5973
+ forwardProps ? React26.cloneElement(React26.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React26.createElement(Container2, __assign({}, containerProps, { className, ref: containerRef }), children)
6035
5974
  );
6036
5975
  });
6037
5976
  RemoveScroll.defaultProps = {
@@ -6045,13 +5984,13 @@ RemoveScroll.classNames = {
6045
5984
  };
6046
5985
 
6047
5986
  // node_modules/react-remove-scroll/dist/es2015/SideEffect.js
6048
- var React30 = __toESM(require("react"));
5987
+ var React29 = __toESM(require("react"));
6049
5988
 
6050
5989
  // node_modules/react-remove-scroll-bar/dist/es2015/component.js
6051
- var React29 = __toESM(require("react"));
5990
+ var React28 = __toESM(require("react"));
6052
5991
 
6053
5992
  // node_modules/react-style-singleton/dist/es2015/hook.js
6054
- var React28 = __toESM(require("react"));
5993
+ var React27 = __toESM(require("react"));
6055
5994
 
6056
5995
  // node_modules/get-nonce/dist/es2015/index.js
6057
5996
  var currentNonce;
@@ -6115,7 +6054,7 @@ var stylesheetSingleton = function() {
6115
6054
  var styleHookSingleton = function() {
6116
6055
  var sheet = stylesheetSingleton();
6117
6056
  return function(styles, isDynamic) {
6118
- React28.useEffect(function() {
6057
+ React27.useEffect(function() {
6119
6058
  sheet.add(styles);
6120
6059
  return function() {
6121
6060
  sheet.remove();
@@ -6189,7 +6128,7 @@ var getCurrentUseCounter = function() {
6189
6128
  return isFinite(counter) ? counter : 0;
6190
6129
  };
6191
6130
  var useLockAttribute = function() {
6192
- React29.useEffect(function() {
6131
+ React28.useEffect(function() {
6193
6132
  document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());
6194
6133
  return function() {
6195
6134
  var newCounter = getCurrentUseCounter() - 1;
@@ -6204,10 +6143,10 @@ var useLockAttribute = function() {
6204
6143
  var RemoveScrollBar = function(_a) {
6205
6144
  var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? "margin" : _b;
6206
6145
  useLockAttribute();
6207
- var gap = React29.useMemo(function() {
6146
+ var gap = React28.useMemo(function() {
6208
6147
  return getGapWidth(gapMode);
6209
6148
  }, [gapMode]);
6210
- return React29.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? "!important" : "") });
6149
+ return React28.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? "!important" : "") });
6211
6150
  };
6212
6151
 
6213
6152
  // node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js
@@ -6348,16 +6287,16 @@ var generateStyle = function(id) {
6348
6287
  var idCounter = 0;
6349
6288
  var lockStack = [];
6350
6289
  function RemoveScrollSideCar(props) {
6351
- var shouldPreventQueue = React30.useRef([]);
6352
- var touchStartRef = React30.useRef([0, 0]);
6353
- var activeAxis = React30.useRef();
6354
- var id = React30.useState(idCounter++)[0];
6355
- var Style2 = React30.useState(styleSingleton)[0];
6356
- var lastProps = React30.useRef(props);
6357
- React30.useEffect(function() {
6290
+ var shouldPreventQueue = React29.useRef([]);
6291
+ var touchStartRef = React29.useRef([0, 0]);
6292
+ var activeAxis = React29.useRef();
6293
+ var id = React29.useState(idCounter++)[0];
6294
+ var Style2 = React29.useState(styleSingleton)[0];
6295
+ var lastProps = React29.useRef(props);
6296
+ React29.useEffect(function() {
6358
6297
  lastProps.current = props;
6359
6298
  }, [props]);
6360
- React30.useEffect(function() {
6299
+ React29.useEffect(function() {
6361
6300
  if (props.inert) {
6362
6301
  document.body.classList.add("block-interactivity-".concat(id));
6363
6302
  var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);
@@ -6373,7 +6312,7 @@ function RemoveScrollSideCar(props) {
6373
6312
  }
6374
6313
  return;
6375
6314
  }, [props.inert, props.lockRef.current, props.shards]);
6376
- var shouldCancelEvent = React30.useCallback(function(event, parent) {
6315
+ var shouldCancelEvent = React29.useCallback(function(event, parent) {
6377
6316
  if ("touches" in event && event.touches.length === 2 || event.type === "wheel" && event.ctrlKey) {
6378
6317
  return !lastProps.current.allowPinchZoom;
6379
6318
  }
@@ -6415,7 +6354,7 @@ function RemoveScrollSideCar(props) {
6415
6354
  var cancelingAxis = activeAxis.current || currentAxis;
6416
6355
  return handleScroll(cancelingAxis, parent, event, cancelingAxis === "h" ? deltaX : deltaY, true);
6417
6356
  }, []);
6418
- var shouldPrevent = React30.useCallback(function(_event) {
6357
+ var shouldPrevent = React29.useCallback(function(_event) {
6419
6358
  var event = _event;
6420
6359
  if (!lockStack.length || lockStack[lockStack.length - 1] !== Style2) {
6421
6360
  return;
@@ -6442,7 +6381,7 @@ function RemoveScrollSideCar(props) {
6442
6381
  }
6443
6382
  }
6444
6383
  }, []);
6445
- var shouldCancel = React30.useCallback(function(name, delta, target, should) {
6384
+ var shouldCancel = React29.useCallback(function(name, delta, target, should) {
6446
6385
  var event = { name, delta, target, should, shadowParent: getOutermostShadowParent(target) };
6447
6386
  shouldPreventQueue.current.push(event);
6448
6387
  setTimeout(function() {
@@ -6451,17 +6390,17 @@ function RemoveScrollSideCar(props) {
6451
6390
  });
6452
6391
  }, 1);
6453
6392
  }, []);
6454
- var scrollTouchStart = React30.useCallback(function(event) {
6393
+ var scrollTouchStart = React29.useCallback(function(event) {
6455
6394
  touchStartRef.current = getTouchXY(event);
6456
6395
  activeAxis.current = void 0;
6457
6396
  }, []);
6458
- var scrollWheel = React30.useCallback(function(event) {
6397
+ var scrollWheel = React29.useCallback(function(event) {
6459
6398
  shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));
6460
6399
  }, []);
6461
- var scrollTouchMove = React30.useCallback(function(event) {
6400
+ var scrollTouchMove = React29.useCallback(function(event) {
6462
6401
  shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));
6463
6402
  }, []);
6464
- React30.useEffect(function() {
6403
+ React29.useEffect(function() {
6465
6404
  lockStack.push(Style2);
6466
6405
  props.setCallbacks({
6467
6406
  onScrollCapture: scrollWheel,
@@ -6481,11 +6420,11 @@ function RemoveScrollSideCar(props) {
6481
6420
  };
6482
6421
  }, []);
6483
6422
  var removeScrollBar = props.removeScrollBar, inert = props.inert;
6484
- return React30.createElement(
6485
- React30.Fragment,
6423
+ return React29.createElement(
6424
+ React29.Fragment,
6486
6425
  null,
6487
- inert ? React30.createElement(Style2, { styles: generateStyle(id) }) : null,
6488
- removeScrollBar ? React30.createElement(RemoveScrollBar, { noRelative: props.noRelative, gapMode: props.gapMode }) : null
6426
+ inert ? React29.createElement(Style2, { styles: generateStyle(id) }) : null,
6427
+ removeScrollBar ? React29.createElement(RemoveScrollBar, { noRelative: props.noRelative, gapMode: props.gapMode }) : null
6489
6428
  );
6490
6429
  }
6491
6430
  function getOutermostShadowParent(node) {
@@ -6504,14 +6443,14 @@ function getOutermostShadowParent(node) {
6504
6443
  var sidecar_default = exportSidecar(effectCar, RemoveScrollSideCar);
6505
6444
 
6506
6445
  // node_modules/react-remove-scroll/dist/es2015/Combination.js
6507
- var ReactRemoveScroll = React31.forwardRef(function(props, ref) {
6508
- return React31.createElement(RemoveScroll, __assign({}, props, { ref, sideCar: sidecar_default }));
6446
+ var ReactRemoveScroll = React30.forwardRef(function(props, ref) {
6447
+ return React30.createElement(RemoveScroll, __assign({}, props, { ref, sideCar: sidecar_default }));
6509
6448
  });
6510
6449
  ReactRemoveScroll.classNames = RemoveScroll.classNames;
6511
6450
  var Combination_default = ReactRemoveScroll;
6512
6451
 
6513
6452
  // node_modules/@radix-ui/react-select/dist/index.mjs
6514
- var import_jsx_runtime42 = require("react/jsx-runtime");
6453
+ var import_jsx_runtime41 = require("react/jsx-runtime");
6515
6454
  var OPEN_KEYS = [" ", "Enter", "ArrowUp", "ArrowDown"];
6516
6455
  var SELECTION_KEYS = [" ", "Enter"];
6517
6456
  var SELECT_NAME = "Select";
@@ -6541,9 +6480,9 @@ var Select = (props) => {
6541
6480
  form
6542
6481
  } = props;
6543
6482
  const popperScope = usePopperScope(__scopeSelect);
6544
- const [trigger, setTrigger] = React32.useState(null);
6545
- const [valueNode, setValueNode] = React32.useState(null);
6546
- const [valueNodeHasChildren, setValueNodeHasChildren] = React32.useState(false);
6483
+ const [trigger, setTrigger] = React31.useState(null);
6484
+ const [valueNode, setValueNode] = React31.useState(null);
6485
+ const [valueNodeHasChildren, setValueNodeHasChildren] = React31.useState(false);
6547
6486
  const direction = useDirection(dir);
6548
6487
  const [open, setOpen] = useControllableState({
6549
6488
  prop: openProp,
@@ -6557,11 +6496,11 @@ var Select = (props) => {
6557
6496
  onChange: onValueChange,
6558
6497
  caller: SELECT_NAME
6559
6498
  });
6560
- const triggerPointerDownPosRef = React32.useRef(null);
6499
+ const triggerPointerDownPosRef = React31.useRef(null);
6561
6500
  const isFormControl = trigger ? form || !!trigger.closest("form") : true;
6562
- const [nativeOptionsSet, setNativeOptionsSet] = React32.useState(/* @__PURE__ */ new Set());
6501
+ const [nativeOptionsSet, setNativeOptionsSet] = React31.useState(/* @__PURE__ */ new Set());
6563
6502
  const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(";");
6564
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Root22, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
6503
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Root22, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
6565
6504
  SelectProvider,
6566
6505
  {
6567
6506
  required,
@@ -6581,14 +6520,14 @@ var Select = (props) => {
6581
6520
  triggerPointerDownPosRef,
6582
6521
  disabled,
6583
6522
  children: [
6584
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6523
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6585
6524
  SelectNativeOptionsProvider,
6586
6525
  {
6587
6526
  scope: props.__scopeSelect,
6588
- onNativeOptionAdd: React32.useCallback((option) => {
6527
+ onNativeOptionAdd: React31.useCallback((option) => {
6589
6528
  setNativeOptionsSet((prev) => new Set(prev).add(option));
6590
6529
  }, []),
6591
- onNativeOptionRemove: React32.useCallback((option) => {
6530
+ onNativeOptionRemove: React31.useCallback((option) => {
6592
6531
  setNativeOptionsSet((prev) => {
6593
6532
  const optionsSet = new Set(prev);
6594
6533
  optionsSet.delete(option);
@@ -6598,7 +6537,7 @@ var Select = (props) => {
6598
6537
  children
6599
6538
  }
6600
6539
  ) }),
6601
- isFormControl ? /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
6540
+ isFormControl ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
6602
6541
  SelectBubbleInput,
6603
6542
  {
6604
6543
  "aria-hidden": true,
@@ -6611,7 +6550,7 @@ var Select = (props) => {
6611
6550
  disabled,
6612
6551
  form,
6613
6552
  children: [
6614
- value === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("option", { value: "" }) : null,
6553
+ value === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("option", { value: "" }) : null,
6615
6554
  Array.from(nativeOptionsSet)
6616
6555
  ]
6617
6556
  },
@@ -6623,7 +6562,7 @@ var Select = (props) => {
6623
6562
  };
6624
6563
  Select.displayName = SELECT_NAME;
6625
6564
  var TRIGGER_NAME = "SelectTrigger";
6626
- var SelectTrigger = React32.forwardRef(
6565
+ var SelectTrigger = React31.forwardRef(
6627
6566
  (props, forwardedRef) => {
6628
6567
  const { __scopeSelect, disabled = false, ...triggerProps } = props;
6629
6568
  const popperScope = usePopperScope(__scopeSelect);
@@ -6631,7 +6570,7 @@ var SelectTrigger = React32.forwardRef(
6631
6570
  const isDisabled = context.disabled || disabled;
6632
6571
  const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);
6633
6572
  const getItems = useCollection(__scopeSelect);
6634
- const pointerTypeRef = React32.useRef("touch");
6573
+ const pointerTypeRef = React31.useRef("touch");
6635
6574
  const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {
6636
6575
  const enabledItems = getItems().filter((item) => !item.disabled);
6637
6576
  const currentItem = enabledItems.find((item) => item.value === context.value);
@@ -6652,8 +6591,8 @@ var SelectTrigger = React32.forwardRef(
6652
6591
  };
6653
6592
  }
6654
6593
  };
6655
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6656
- Primitive2.button,
6594
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6595
+ Primitive.button,
6657
6596
  {
6658
6597
  type: "button",
6659
6598
  role: "combobox",
@@ -6701,7 +6640,7 @@ var SelectTrigger = React32.forwardRef(
6701
6640
  );
6702
6641
  SelectTrigger.displayName = TRIGGER_NAME;
6703
6642
  var VALUE_NAME = "SelectValue";
6704
- var SelectValue = React32.forwardRef(
6643
+ var SelectValue = React31.forwardRef(
6705
6644
  (props, forwardedRef) => {
6706
6645
  const { __scopeSelect, className, style, children, placeholder = "", ...valueProps } = props;
6707
6646
  const context = useSelectContext(VALUE_NAME, __scopeSelect);
@@ -6711,55 +6650,55 @@ var SelectValue = React32.forwardRef(
6711
6650
  useLayoutEffect2(() => {
6712
6651
  onValueNodeHasChildrenChange(hasChildren);
6713
6652
  }, [onValueNodeHasChildrenChange, hasChildren]);
6714
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6715
- Primitive2.span,
6653
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6654
+ Primitive.span,
6716
6655
  {
6717
6656
  ...valueProps,
6718
6657
  ref: composedRefs,
6719
6658
  style: { pointerEvents: "none" },
6720
- children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_jsx_runtime42.Fragment, { children: placeholder }) : children
6659
+ children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: placeholder }) : children
6721
6660
  }
6722
6661
  );
6723
6662
  }
6724
6663
  );
6725
6664
  SelectValue.displayName = VALUE_NAME;
6726
6665
  var ICON_NAME = "SelectIcon";
6727
- var SelectIcon = React32.forwardRef(
6666
+ var SelectIcon = React31.forwardRef(
6728
6667
  (props, forwardedRef) => {
6729
6668
  const { __scopeSelect, children, ...iconProps } = props;
6730
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Primitive2.span, { "aria-hidden": true, ...iconProps, ref: forwardedRef, children: children || "\u25BC" });
6669
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Primitive.span, { "aria-hidden": true, ...iconProps, ref: forwardedRef, children: children || "\u25BC" });
6731
6670
  }
6732
6671
  );
6733
6672
  SelectIcon.displayName = ICON_NAME;
6734
6673
  var PORTAL_NAME2 = "SelectPortal";
6735
6674
  var SelectPortal = (props) => {
6736
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Portal, { asChild: true, ...props });
6675
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Portal, { asChild: true, ...props });
6737
6676
  };
6738
6677
  SelectPortal.displayName = PORTAL_NAME2;
6739
6678
  var CONTENT_NAME2 = "SelectContent";
6740
- var SelectContent = React32.forwardRef(
6679
+ var SelectContent = React31.forwardRef(
6741
6680
  (props, forwardedRef) => {
6742
6681
  const context = useSelectContext(CONTENT_NAME2, props.__scopeSelect);
6743
- const [fragment, setFragment] = React32.useState();
6682
+ const [fragment, setFragment] = React31.useState();
6744
6683
  useLayoutEffect2(() => {
6745
6684
  setFragment(new DocumentFragment());
6746
6685
  }, []);
6747
6686
  if (!context.open) {
6748
6687
  const frag = fragment;
6749
- return frag ? ReactDOM5.createPortal(
6750
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { children: props.children }) }) }),
6688
+ return frag ? ReactDOM4.createPortal(
6689
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { children: props.children }) }) }),
6751
6690
  frag
6752
6691
  ) : null;
6753
6692
  }
6754
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectContentImpl, { ...props, ref: forwardedRef });
6693
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectContentImpl, { ...props, ref: forwardedRef });
6755
6694
  }
6756
6695
  );
6757
6696
  SelectContent.displayName = CONTENT_NAME2;
6758
6697
  var CONTENT_MARGIN = 10;
6759
6698
  var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME2);
6760
6699
  var CONTENT_IMPL_NAME = "SelectContentImpl";
6761
- var Slot2 = (0, import_react_slot6.createSlot)("SelectContent.RemoveScroll");
6762
- var SelectContentImpl = React32.forwardRef(
6700
+ var Slot2 = (0, import_react_slot5.createSlot)("SelectContent.RemoveScroll");
6701
+ var SelectContentImpl = React31.forwardRef(
6763
6702
  (props, forwardedRef) => {
6764
6703
  const {
6765
6704
  __scopeSelect,
@@ -6783,21 +6722,21 @@ var SelectContentImpl = React32.forwardRef(
6783
6722
  ...contentProps
6784
6723
  } = props;
6785
6724
  const context = useSelectContext(CONTENT_NAME2, __scopeSelect);
6786
- const [content, setContent] = React32.useState(null);
6787
- const [viewport, setViewport] = React32.useState(null);
6725
+ const [content, setContent] = React31.useState(null);
6726
+ const [viewport, setViewport] = React31.useState(null);
6788
6727
  const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));
6789
- const [selectedItem, setSelectedItem] = React32.useState(null);
6790
- const [selectedItemText, setSelectedItemText] = React32.useState(
6728
+ const [selectedItem, setSelectedItem] = React31.useState(null);
6729
+ const [selectedItemText, setSelectedItemText] = React31.useState(
6791
6730
  null
6792
6731
  );
6793
6732
  const getItems = useCollection(__scopeSelect);
6794
- const [isPositioned, setIsPositioned] = React32.useState(false);
6795
- const firstValidItemFoundRef = React32.useRef(false);
6796
- React32.useEffect(() => {
6733
+ const [isPositioned, setIsPositioned] = React31.useState(false);
6734
+ const firstValidItemFoundRef = React31.useRef(false);
6735
+ React31.useEffect(() => {
6797
6736
  if (content) return hideOthers(content);
6798
6737
  }, [content]);
6799
6738
  useFocusGuards();
6800
- const focusFirst2 = React32.useCallback(
6739
+ const focusFirst2 = React31.useCallback(
6801
6740
  (candidates) => {
6802
6741
  const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);
6803
6742
  const [lastItem] = restItems.slice(-1);
@@ -6813,17 +6752,17 @@ var SelectContentImpl = React32.forwardRef(
6813
6752
  },
6814
6753
  [getItems, viewport]
6815
6754
  );
6816
- const focusSelectedItem = React32.useCallback(
6755
+ const focusSelectedItem = React31.useCallback(
6817
6756
  () => focusFirst2([selectedItem, content]),
6818
6757
  [focusFirst2, selectedItem, content]
6819
6758
  );
6820
- React32.useEffect(() => {
6759
+ React31.useEffect(() => {
6821
6760
  if (isPositioned) {
6822
6761
  focusSelectedItem();
6823
6762
  }
6824
6763
  }, [isPositioned, focusSelectedItem]);
6825
6764
  const { onOpenChange, triggerPointerDownPosRef } = context;
6826
- React32.useEffect(() => {
6765
+ React31.useEffect(() => {
6827
6766
  if (content) {
6828
6767
  let pointerMoveDelta = { x: 0, y: 0 };
6829
6768
  const handlePointerMove = (event) => {
@@ -6853,7 +6792,7 @@ var SelectContentImpl = React32.forwardRef(
6853
6792
  };
6854
6793
  }
6855
6794
  }, [content, onOpenChange, triggerPointerDownPosRef]);
6856
- React32.useEffect(() => {
6795
+ React31.useEffect(() => {
6857
6796
  const close = () => onOpenChange(false);
6858
6797
  window.addEventListener("blur", close);
6859
6798
  window.addEventListener("resize", close);
@@ -6870,7 +6809,7 @@ var SelectContentImpl = React32.forwardRef(
6870
6809
  setTimeout(() => nextItem.ref.current.focus());
6871
6810
  }
6872
6811
  });
6873
- const itemRefCallback = React32.useCallback(
6812
+ const itemRefCallback = React31.useCallback(
6874
6813
  (node, value, disabled) => {
6875
6814
  const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;
6876
6815
  const isSelectedItem = context.value !== void 0 && context.value === value;
@@ -6881,8 +6820,8 @@ var SelectContentImpl = React32.forwardRef(
6881
6820
  },
6882
6821
  [context.value]
6883
6822
  );
6884
- const handleItemLeave = React32.useCallback(() => content?.focus(), [content]);
6885
- const itemTextRefCallback = React32.useCallback(
6823
+ const handleItemLeave = React31.useCallback(() => content?.focus(), [content]);
6824
+ const itemTextRefCallback = React31.useCallback(
6886
6825
  (node, value, disabled) => {
6887
6826
  const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;
6888
6827
  const isSelectedItem = context.value !== void 0 && context.value === value;
@@ -6905,7 +6844,7 @@ var SelectContentImpl = React32.forwardRef(
6905
6844
  hideWhenDetached,
6906
6845
  avoidCollisions
6907
6846
  } : {};
6908
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6847
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6909
6848
  SelectContentProvider,
6910
6849
  {
6911
6850
  scope: __scopeSelect,
@@ -6921,7 +6860,7 @@ var SelectContentImpl = React32.forwardRef(
6921
6860
  position,
6922
6861
  isPositioned,
6923
6862
  searchRef,
6924
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Combination_default, { as: Slot2, allowPinchZoom: true, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6863
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Combination_default, { as: Slot2, allowPinchZoom: true, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6925
6864
  FocusScope,
6926
6865
  {
6927
6866
  asChild: true,
@@ -6933,7 +6872,7 @@ var SelectContentImpl = React32.forwardRef(
6933
6872
  context.trigger?.focus({ preventScroll: true });
6934
6873
  event.preventDefault();
6935
6874
  }),
6936
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6875
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6937
6876
  DismissableLayer,
6938
6877
  {
6939
6878
  asChild: true,
@@ -6942,7 +6881,7 @@ var SelectContentImpl = React32.forwardRef(
6942
6881
  onPointerDownOutside,
6943
6882
  onFocusOutside: (event) => event.preventDefault(),
6944
6883
  onDismiss: () => context.onOpenChange(false),
6945
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6884
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6946
6885
  SelectPosition,
6947
6886
  {
6948
6887
  role: "listbox",
@@ -6993,18 +6932,18 @@ var SelectContentImpl = React32.forwardRef(
6993
6932
  );
6994
6933
  SelectContentImpl.displayName = CONTENT_IMPL_NAME;
6995
6934
  var ITEM_ALIGNED_POSITION_NAME = "SelectItemAlignedPosition";
6996
- var SelectItemAlignedPosition = React32.forwardRef((props, forwardedRef) => {
6935
+ var SelectItemAlignedPosition = React31.forwardRef((props, forwardedRef) => {
6997
6936
  const { __scopeSelect, onPlaced, ...popperProps } = props;
6998
6937
  const context = useSelectContext(CONTENT_NAME2, __scopeSelect);
6999
6938
  const contentContext = useSelectContentContext(CONTENT_NAME2, __scopeSelect);
7000
- const [contentWrapper, setContentWrapper] = React32.useState(null);
7001
- const [content, setContent] = React32.useState(null);
6939
+ const [contentWrapper, setContentWrapper] = React31.useState(null);
6940
+ const [content, setContent] = React31.useState(null);
7002
6941
  const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));
7003
6942
  const getItems = useCollection(__scopeSelect);
7004
- const shouldExpandOnScrollRef = React32.useRef(false);
7005
- const shouldRepositionRef = React32.useRef(true);
6943
+ const shouldExpandOnScrollRef = React31.useRef(false);
6944
+ const shouldRepositionRef = React31.useRef(true);
7006
6945
  const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;
7007
- const position = React32.useCallback(() => {
6946
+ const position = React31.useCallback(() => {
7008
6947
  if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {
7009
6948
  const triggerRect = context.trigger.getBoundingClientRect();
7010
6949
  const contentRect = content.getBoundingClientRect();
@@ -7104,11 +7043,11 @@ var SelectItemAlignedPosition = React32.forwardRef((props, forwardedRef) => {
7104
7043
  onPlaced
7105
7044
  ]);
7106
7045
  useLayoutEffect2(() => position(), [position]);
7107
- const [contentZIndex, setContentZIndex] = React32.useState();
7046
+ const [contentZIndex, setContentZIndex] = React31.useState();
7108
7047
  useLayoutEffect2(() => {
7109
7048
  if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
7110
7049
  }, [content]);
7111
- const handleScrollButtonChange = React32.useCallback(
7050
+ const handleScrollButtonChange = React31.useCallback(
7112
7051
  (node) => {
7113
7052
  if (node && shouldRepositionRef.current === true) {
7114
7053
  position();
@@ -7118,14 +7057,14 @@ var SelectItemAlignedPosition = React32.forwardRef((props, forwardedRef) => {
7118
7057
  },
7119
7058
  [position, focusSelectedItem]
7120
7059
  );
7121
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7060
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7122
7061
  SelectViewportProvider,
7123
7062
  {
7124
7063
  scope: __scopeSelect,
7125
7064
  contentWrapper,
7126
7065
  shouldExpandOnScrollRef,
7127
7066
  onScrollButtonChange: handleScrollButtonChange,
7128
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7067
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7129
7068
  "div",
7130
7069
  {
7131
7070
  ref: setContentWrapper,
@@ -7135,8 +7074,8 @@ var SelectItemAlignedPosition = React32.forwardRef((props, forwardedRef) => {
7135
7074
  position: "fixed",
7136
7075
  zIndex: contentZIndex
7137
7076
  },
7138
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7139
- Primitive2.div,
7077
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7078
+ Primitive.div,
7140
7079
  {
7141
7080
  ...popperProps,
7142
7081
  ref: composedRefs,
@@ -7157,7 +7096,7 @@ var SelectItemAlignedPosition = React32.forwardRef((props, forwardedRef) => {
7157
7096
  });
7158
7097
  SelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;
7159
7098
  var POPPER_POSITION_NAME = "SelectPopperPosition";
7160
- var SelectPopperPosition = React32.forwardRef((props, forwardedRef) => {
7099
+ var SelectPopperPosition = React31.forwardRef((props, forwardedRef) => {
7161
7100
  const {
7162
7101
  __scopeSelect,
7163
7102
  align = "start",
@@ -7165,7 +7104,7 @@ var SelectPopperPosition = React32.forwardRef((props, forwardedRef) => {
7165
7104
  ...popperProps
7166
7105
  } = props;
7167
7106
  const popperScope = usePopperScope(__scopeSelect);
7168
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7107
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7169
7108
  Content,
7170
7109
  {
7171
7110
  ...popperScope,
@@ -7192,15 +7131,15 @@ var SelectPopperPosition = React32.forwardRef((props, forwardedRef) => {
7192
7131
  SelectPopperPosition.displayName = POPPER_POSITION_NAME;
7193
7132
  var [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME2, {});
7194
7133
  var VIEWPORT_NAME = "SelectViewport";
7195
- var SelectViewport = React32.forwardRef(
7134
+ var SelectViewport = React31.forwardRef(
7196
7135
  (props, forwardedRef) => {
7197
7136
  const { __scopeSelect, nonce, ...viewportProps } = props;
7198
7137
  const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);
7199
7138
  const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);
7200
7139
  const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);
7201
- const prevScrollTopRef = React32.useRef(0);
7202
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
7203
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7140
+ const prevScrollTopRef = React31.useRef(0);
7141
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
7142
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7204
7143
  "style",
7205
7144
  {
7206
7145
  dangerouslySetInnerHTML: {
@@ -7209,8 +7148,8 @@ var SelectViewport = React32.forwardRef(
7209
7148
  nonce
7210
7149
  }
7211
7150
  ),
7212
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7213
- Primitive2.div,
7151
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7152
+ Primitive.div,
7214
7153
  {
7215
7154
  "data-radix-select-viewport": "",
7216
7155
  role: "presentation",
@@ -7261,26 +7200,26 @@ var SelectViewport = React32.forwardRef(
7261
7200
  SelectViewport.displayName = VIEWPORT_NAME;
7262
7201
  var GROUP_NAME = "SelectGroup";
7263
7202
  var [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);
7264
- var SelectGroup = React32.forwardRef(
7203
+ var SelectGroup = React31.forwardRef(
7265
7204
  (props, forwardedRef) => {
7266
7205
  const { __scopeSelect, ...groupProps } = props;
7267
7206
  const groupId = useId();
7268
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Primitive2.div, { role: "group", "aria-labelledby": groupId, ...groupProps, ref: forwardedRef }) });
7207
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Primitive.div, { role: "group", "aria-labelledby": groupId, ...groupProps, ref: forwardedRef }) });
7269
7208
  }
7270
7209
  );
7271
7210
  SelectGroup.displayName = GROUP_NAME;
7272
7211
  var LABEL_NAME = "SelectLabel";
7273
- var SelectLabel = React32.forwardRef(
7212
+ var SelectLabel = React31.forwardRef(
7274
7213
  (props, forwardedRef) => {
7275
7214
  const { __scopeSelect, ...labelProps } = props;
7276
7215
  const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);
7277
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Primitive2.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });
7216
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });
7278
7217
  }
7279
7218
  );
7280
7219
  SelectLabel.displayName = LABEL_NAME;
7281
7220
  var ITEM_NAME = "SelectItem";
7282
7221
  var [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);
7283
- var SelectItem = React32.forwardRef(
7222
+ var SelectItem = React31.forwardRef(
7284
7223
  (props, forwardedRef) => {
7285
7224
  const {
7286
7225
  __scopeSelect,
@@ -7292,14 +7231,14 @@ var SelectItem = React32.forwardRef(
7292
7231
  const context = useSelectContext(ITEM_NAME, __scopeSelect);
7293
7232
  const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);
7294
7233
  const isSelected = context.value === value;
7295
- const [textValue, setTextValue] = React32.useState(textValueProp ?? "");
7296
- const [isFocused, setIsFocused] = React32.useState(false);
7234
+ const [textValue, setTextValue] = React31.useState(textValueProp ?? "");
7235
+ const [isFocused, setIsFocused] = React31.useState(false);
7297
7236
  const composedRefs = useComposedRefs(
7298
7237
  forwardedRef,
7299
7238
  (node) => contentContext.itemRefCallback?.(node, value, disabled)
7300
7239
  );
7301
7240
  const textId = useId();
7302
- const pointerTypeRef = React32.useRef("touch");
7241
+ const pointerTypeRef = React31.useRef("touch");
7303
7242
  const handleSelect = () => {
7304
7243
  if (!disabled) {
7305
7244
  context.onValueChange(value);
@@ -7311,7 +7250,7 @@ var SelectItem = React32.forwardRef(
7311
7250
  "A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder."
7312
7251
  );
7313
7252
  }
7314
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7253
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7315
7254
  SelectItemContextProvider,
7316
7255
  {
7317
7256
  scope: __scopeSelect,
@@ -7319,18 +7258,18 @@ var SelectItem = React32.forwardRef(
7319
7258
  disabled,
7320
7259
  textId,
7321
7260
  isSelected,
7322
- onItemTextChange: React32.useCallback((node) => {
7261
+ onItemTextChange: React31.useCallback((node) => {
7323
7262
  setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? "").trim());
7324
7263
  }, []),
7325
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7264
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7326
7265
  Collection.ItemSlot,
7327
7266
  {
7328
7267
  scope: __scopeSelect,
7329
7268
  value,
7330
7269
  disabled,
7331
7270
  textValue,
7332
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7333
- Primitive2.div,
7271
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7272
+ Primitive.div,
7334
7273
  {
7335
7274
  role: "option",
7336
7275
  "aria-labelledby": textId,
@@ -7382,14 +7321,14 @@ var SelectItem = React32.forwardRef(
7382
7321
  );
7383
7322
  SelectItem.displayName = ITEM_NAME;
7384
7323
  var ITEM_TEXT_NAME = "SelectItemText";
7385
- var SelectItemText = React32.forwardRef(
7324
+ var SelectItemText = React31.forwardRef(
7386
7325
  (props, forwardedRef) => {
7387
7326
  const { __scopeSelect, className, style, ...itemTextProps } = props;
7388
7327
  const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);
7389
7328
  const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);
7390
7329
  const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);
7391
7330
  const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);
7392
- const [itemTextNode, setItemTextNode] = React32.useState(null);
7331
+ const [itemTextNode, setItemTextNode] = React31.useState(null);
7393
7332
  const composedRefs = useComposedRefs(
7394
7333
  forwardedRef,
7395
7334
  (node) => setItemTextNode(node),
@@ -7397,8 +7336,8 @@ var SelectItemText = React32.forwardRef(
7397
7336
  (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)
7398
7337
  );
7399
7338
  const textContent = itemTextNode?.textContent;
7400
- const nativeOption = React32.useMemo(
7401
- () => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("option", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),
7339
+ const nativeOption = React31.useMemo(
7340
+ () => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("option", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),
7402
7341
  [itemContext.disabled, itemContext.value, textContent]
7403
7342
  );
7404
7343
  const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;
@@ -7406,27 +7345,27 @@ var SelectItemText = React32.forwardRef(
7406
7345
  onNativeOptionAdd(nativeOption);
7407
7346
  return () => onNativeOptionRemove(nativeOption);
7408
7347
  }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);
7409
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
7410
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Primitive2.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),
7411
- itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM5.createPortal(itemTextProps.children, context.valueNode) : null
7348
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
7349
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),
7350
+ itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM4.createPortal(itemTextProps.children, context.valueNode) : null
7412
7351
  ] });
7413
7352
  }
7414
7353
  );
7415
7354
  SelectItemText.displayName = ITEM_TEXT_NAME;
7416
7355
  var ITEM_INDICATOR_NAME = "SelectItemIndicator";
7417
- var SelectItemIndicator = React32.forwardRef(
7356
+ var SelectItemIndicator = React31.forwardRef(
7418
7357
  (props, forwardedRef) => {
7419
7358
  const { __scopeSelect, ...itemIndicatorProps } = props;
7420
7359
  const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);
7421
- return itemContext.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Primitive2.span, { "aria-hidden": true, ...itemIndicatorProps, ref: forwardedRef }) : null;
7360
+ return itemContext.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Primitive.span, { "aria-hidden": true, ...itemIndicatorProps, ref: forwardedRef }) : null;
7422
7361
  }
7423
7362
  );
7424
7363
  SelectItemIndicator.displayName = ITEM_INDICATOR_NAME;
7425
7364
  var SCROLL_UP_BUTTON_NAME = "SelectScrollUpButton";
7426
- var SelectScrollUpButton = React32.forwardRef((props, forwardedRef) => {
7365
+ var SelectScrollUpButton = React31.forwardRef((props, forwardedRef) => {
7427
7366
  const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);
7428
7367
  const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);
7429
- const [canScrollUp, setCanScrollUp] = React32.useState(false);
7368
+ const [canScrollUp, setCanScrollUp] = React31.useState(false);
7430
7369
  const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);
7431
7370
  useLayoutEffect2(() => {
7432
7371
  if (contentContext.viewport && contentContext.isPositioned) {
@@ -7441,7 +7380,7 @@ var SelectScrollUpButton = React32.forwardRef((props, forwardedRef) => {
7441
7380
  return () => viewport.removeEventListener("scroll", handleScroll22);
7442
7381
  }
7443
7382
  }, [contentContext.viewport, contentContext.isPositioned]);
7444
- return canScrollUp ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7383
+ return canScrollUp ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7445
7384
  SelectScrollButtonImpl,
7446
7385
  {
7447
7386
  ...props,
@@ -7457,10 +7396,10 @@ var SelectScrollUpButton = React32.forwardRef((props, forwardedRef) => {
7457
7396
  });
7458
7397
  SelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;
7459
7398
  var SCROLL_DOWN_BUTTON_NAME = "SelectScrollDownButton";
7460
- var SelectScrollDownButton = React32.forwardRef((props, forwardedRef) => {
7399
+ var SelectScrollDownButton = React31.forwardRef((props, forwardedRef) => {
7461
7400
  const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);
7462
7401
  const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);
7463
- const [canScrollDown, setCanScrollDown] = React32.useState(false);
7402
+ const [canScrollDown, setCanScrollDown] = React31.useState(false);
7464
7403
  const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);
7465
7404
  useLayoutEffect2(() => {
7466
7405
  if (contentContext.viewport && contentContext.isPositioned) {
@@ -7476,7 +7415,7 @@ var SelectScrollDownButton = React32.forwardRef((props, forwardedRef) => {
7476
7415
  return () => viewport.removeEventListener("scroll", handleScroll22);
7477
7416
  }
7478
7417
  }, [contentContext.viewport, contentContext.isPositioned]);
7479
- return canScrollDown ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7418
+ return canScrollDown ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7480
7419
  SelectScrollButtonImpl,
7481
7420
  {
7482
7421
  ...props,
@@ -7491,26 +7430,26 @@ var SelectScrollDownButton = React32.forwardRef((props, forwardedRef) => {
7491
7430
  ) : null;
7492
7431
  });
7493
7432
  SelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;
7494
- var SelectScrollButtonImpl = React32.forwardRef((props, forwardedRef) => {
7433
+ var SelectScrollButtonImpl = React31.forwardRef((props, forwardedRef) => {
7495
7434
  const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;
7496
7435
  const contentContext = useSelectContentContext("SelectScrollButton", __scopeSelect);
7497
- const autoScrollTimerRef = React32.useRef(null);
7436
+ const autoScrollTimerRef = React31.useRef(null);
7498
7437
  const getItems = useCollection(__scopeSelect);
7499
- const clearAutoScrollTimer = React32.useCallback(() => {
7438
+ const clearAutoScrollTimer = React31.useCallback(() => {
7500
7439
  if (autoScrollTimerRef.current !== null) {
7501
7440
  window.clearInterval(autoScrollTimerRef.current);
7502
7441
  autoScrollTimerRef.current = null;
7503
7442
  }
7504
7443
  }, []);
7505
- React32.useEffect(() => {
7444
+ React31.useEffect(() => {
7506
7445
  return () => clearAutoScrollTimer();
7507
7446
  }, [clearAutoScrollTimer]);
7508
7447
  useLayoutEffect2(() => {
7509
7448
  const activeItem = getItems().find((item) => item.ref.current === document.activeElement);
7510
7449
  activeItem?.ref.current?.scrollIntoView({ block: "nearest" });
7511
7450
  }, [getItems]);
7512
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7513
- Primitive2.div,
7451
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7452
+ Primitive.div,
7514
7453
  {
7515
7454
  "aria-hidden": true,
7516
7455
  ...scrollIndicatorProps,
@@ -7534,31 +7473,31 @@ var SelectScrollButtonImpl = React32.forwardRef((props, forwardedRef) => {
7534
7473
  );
7535
7474
  });
7536
7475
  var SEPARATOR_NAME = "SelectSeparator";
7537
- var SelectSeparator = React32.forwardRef(
7476
+ var SelectSeparator = React31.forwardRef(
7538
7477
  (props, forwardedRef) => {
7539
7478
  const { __scopeSelect, ...separatorProps } = props;
7540
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Primitive2.div, { "aria-hidden": true, ...separatorProps, ref: forwardedRef });
7479
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Primitive.div, { "aria-hidden": true, ...separatorProps, ref: forwardedRef });
7541
7480
  }
7542
7481
  );
7543
7482
  SelectSeparator.displayName = SEPARATOR_NAME;
7544
7483
  var ARROW_NAME2 = "SelectArrow";
7545
- var SelectArrow = React32.forwardRef(
7484
+ var SelectArrow = React31.forwardRef(
7546
7485
  (props, forwardedRef) => {
7547
7486
  const { __scopeSelect, ...arrowProps } = props;
7548
7487
  const popperScope = usePopperScope(__scopeSelect);
7549
7488
  const context = useSelectContext(ARROW_NAME2, __scopeSelect);
7550
7489
  const contentContext = useSelectContentContext(ARROW_NAME2, __scopeSelect);
7551
- return context.open && contentContext.position === "popper" ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;
7490
+ return context.open && contentContext.position === "popper" ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;
7552
7491
  }
7553
7492
  );
7554
7493
  SelectArrow.displayName = ARROW_NAME2;
7555
7494
  var BUBBLE_INPUT_NAME = "SelectBubbleInput";
7556
- var SelectBubbleInput = React32.forwardRef(
7495
+ var SelectBubbleInput = React31.forwardRef(
7557
7496
  ({ __scopeSelect, value, ...props }, forwardedRef) => {
7558
- const ref = React32.useRef(null);
7497
+ const ref = React31.useRef(null);
7559
7498
  const composedRefs = useComposedRefs(forwardedRef, ref);
7560
7499
  const prevValue = usePrevious(value);
7561
- React32.useEffect(() => {
7500
+ React31.useEffect(() => {
7562
7501
  const select = ref.current;
7563
7502
  if (!select) return;
7564
7503
  const selectProto = window.HTMLSelectElement.prototype;
@@ -7573,8 +7512,8 @@ var SelectBubbleInput = React32.forwardRef(
7573
7512
  select.dispatchEvent(event);
7574
7513
  }
7575
7514
  }, [prevValue, value]);
7576
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7577
- Primitive2.select,
7515
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7516
+ Primitive.select,
7578
7517
  {
7579
7518
  ...props,
7580
7519
  style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },
@@ -7590,9 +7529,9 @@ function shouldShowPlaceholder(value) {
7590
7529
  }
7591
7530
  function useTypeaheadSearch(onSearchChange) {
7592
7531
  const handleSearchChange = useCallbackRef(onSearchChange);
7593
- const searchRef = React32.useRef("");
7594
- const timerRef = React32.useRef(0);
7595
- const handleTypeaheadSearch = React32.useCallback(
7532
+ const searchRef = React31.useRef("");
7533
+ const timerRef = React31.useRef(0);
7534
+ const handleTypeaheadSearch = React31.useCallback(
7596
7535
  (key) => {
7597
7536
  const search = searchRef.current + key;
7598
7537
  handleSearchChange(search);
@@ -7604,11 +7543,11 @@ function useTypeaheadSearch(onSearchChange) {
7604
7543
  },
7605
7544
  [handleSearchChange]
7606
7545
  );
7607
- const resetTypeahead = React32.useCallback(() => {
7546
+ const resetTypeahead = React31.useCallback(() => {
7608
7547
  searchRef.current = "";
7609
7548
  window.clearTimeout(timerRef.current);
7610
7549
  }, []);
7611
- React32.useEffect(() => {
7550
+ React31.useEffect(() => {
7612
7551
  return () => window.clearTimeout(timerRef.current);
7613
7552
  }, []);
7614
7553
  return [searchRef, handleTypeaheadSearch, resetTypeahead];
@@ -7643,16 +7582,16 @@ var ScrollDownButton = SelectScrollDownButton;
7643
7582
 
7644
7583
  // shadcn/select.tsx
7645
7584
  var import_lucide_react8 = require("lucide-react");
7646
- var import_jsx_runtime43 = require("react/jsx-runtime");
7585
+ var import_jsx_runtime42 = require("react/jsx-runtime");
7647
7586
  function Select2({
7648
7587
  ...props
7649
7588
  }) {
7650
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Root23, { "data-slot": "select", ...props });
7589
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Root23, { "data-slot": "select", ...props });
7651
7590
  }
7652
7591
  function SelectValue2({
7653
7592
  ...props
7654
7593
  }) {
7655
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Value, { "data-slot": "select-value", ...props });
7594
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Value, { "data-slot": "select-value", ...props });
7656
7595
  }
7657
7596
  function SelectTrigger2({
7658
7597
  className,
@@ -7660,7 +7599,7 @@ function SelectTrigger2({
7660
7599
  children,
7661
7600
  ...props
7662
7601
  }) {
7663
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
7602
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
7664
7603
  Trigger,
7665
7604
  {
7666
7605
  "data-slot": "select-trigger",
@@ -7672,7 +7611,7 @@ function SelectTrigger2({
7672
7611
  ...props,
7673
7612
  children: [
7674
7613
  children,
7675
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Icon3, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react8.ChevronDownIcon, { className: "size-4 opacity-50" }) })
7614
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Icon3, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react8.ChevronDownIcon, { className: "size-4 opacity-50" }) })
7676
7615
  ]
7677
7616
  }
7678
7617
  );
@@ -7684,7 +7623,7 @@ function SelectContent2({
7684
7623
  align = "center",
7685
7624
  ...props
7686
7625
  }) {
7687
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Portal2, { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
7626
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Portal2, { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
7688
7627
  Content2,
7689
7628
  {
7690
7629
  "data-slot": "select-content",
@@ -7697,8 +7636,8 @@ function SelectContent2({
7697
7636
  align,
7698
7637
  ...props,
7699
7638
  children: [
7700
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SelectScrollUpButton2, {}),
7701
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
7639
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectScrollUpButton2, {}),
7640
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7702
7641
  Viewport,
7703
7642
  {
7704
7643
  className: cn(
@@ -7708,7 +7647,7 @@ function SelectContent2({
7708
7647
  children
7709
7648
  }
7710
7649
  ),
7711
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SelectScrollDownButton2, {})
7650
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectScrollDownButton2, {})
7712
7651
  ]
7713
7652
  }
7714
7653
  ) });
@@ -7718,7 +7657,7 @@ function SelectItem2({
7718
7657
  children,
7719
7658
  ...props
7720
7659
  }) {
7721
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
7660
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
7722
7661
  Item,
7723
7662
  {
7724
7663
  "data-slot": "select-item",
@@ -7728,15 +7667,15 @@ function SelectItem2({
7728
7667
  ),
7729
7668
  ...props,
7730
7669
  children: [
7731
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
7670
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7732
7671
  "span",
7733
7672
  {
7734
7673
  "data-slot": "select-item-indicator",
7735
7674
  className: "absolute right-2 flex size-3.5 items-center justify-center",
7736
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react8.CheckIcon, { className: "size-4" }) })
7675
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react8.CheckIcon, { className: "size-4" }) })
7737
7676
  }
7738
7677
  ),
7739
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ItemText, { children })
7678
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ItemText, { children })
7740
7679
  ]
7741
7680
  }
7742
7681
  );
@@ -7745,7 +7684,7 @@ function SelectScrollUpButton2({
7745
7684
  className,
7746
7685
  ...props
7747
7686
  }) {
7748
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
7687
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7749
7688
  ScrollUpButton,
7750
7689
  {
7751
7690
  "data-slot": "select-scroll-up-button",
@@ -7754,7 +7693,7 @@ function SelectScrollUpButton2({
7754
7693
  className
7755
7694
  ),
7756
7695
  ...props,
7757
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react8.ChevronUpIcon, { className: "size-4" })
7696
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react8.ChevronUpIcon, { className: "size-4" })
7758
7697
  }
7759
7698
  );
7760
7699
  }
@@ -7762,7 +7701,7 @@ function SelectScrollDownButton2({
7762
7701
  className,
7763
7702
  ...props
7764
7703
  }) {
7765
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
7704
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7766
7705
  ScrollDownButton,
7767
7706
  {
7768
7707
  "data-slot": "select-scroll-down-button",
@@ -7771,13 +7710,13 @@ function SelectScrollDownButton2({
7771
7710
  className
7772
7711
  ),
7773
7712
  ...props,
7774
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react8.ChevronDownIcon, { className: "size-4" })
7713
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react8.ChevronDownIcon, { className: "size-4" })
7775
7714
  }
7776
7715
  );
7777
7716
  }
7778
7717
 
7779
7718
  // fields/EntryBoundTextField.tsx
7780
- var import_jsx_runtime44 = require("react/jsx-runtime");
7719
+ var import_jsx_runtime43 = require("react/jsx-runtime");
7781
7720
  function isEntryBoundValue7(value) {
7782
7721
  return typeof value === "object" && value !== null && "useEntry" in value;
7783
7722
  }
@@ -7832,10 +7771,10 @@ function EntryBoundTextField({
7832
7771
  }
7833
7772
  };
7834
7773
  const hasEntries = entryNames.length > 0;
7835
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex flex-col gap-2", children: [
7836
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex items-center justify-between", children: [
7837
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "text-sm font-medium", children: label }),
7838
- hasEntries && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
7774
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex flex-col gap-2", children: [
7775
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex items-center justify-between", children: [
7776
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "text-sm font-medium", children: label }),
7777
+ hasEntries && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
7839
7778
  Toggle,
7840
7779
  {
7841
7780
  pressed: isUsingEntry,
@@ -7848,38 +7787,38 @@ function EntryBoundTextField({
7848
7787
  }
7849
7788
  )
7850
7789
  ] }),
7851
- isUsingEntry ? /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "space-y-2", children: [
7852
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex gap-2", children: [
7853
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
7790
+ isUsingEntry ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "space-y-2", children: [
7791
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex gap-2", children: [
7792
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
7854
7793
  Select2,
7855
7794
  {
7856
7795
  value: currentEntryName,
7857
7796
  onValueChange: handleEntryChange,
7858
7797
  disabled,
7859
7798
  children: [
7860
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(SelectTrigger2, { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(SelectValue2, { placeholder: "Select entry" }) }),
7861
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(SelectContent2, { children: entryNames.map((name) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(SelectItem2, { value: name, children: name }, name)) })
7799
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SelectTrigger2, { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SelectValue2, { placeholder: "Select entry" }) }),
7800
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SelectContent2, { children: entryNames.map((name) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SelectItem2, { value: name, children: name }, name)) })
7862
7801
  ]
7863
7802
  }
7864
7803
  ),
7865
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
7804
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
7866
7805
  Select2,
7867
7806
  {
7868
7807
  value: currentFieldKey,
7869
7808
  onValueChange: handleFieldChange,
7870
7809
  disabled: disabled || !currentEntryName,
7871
7810
  children: [
7872
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(SelectTrigger2, { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(SelectValue2, { placeholder: "Select field" }) }),
7873
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(SelectContent2, { children: availableFields.map((field) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(SelectItem2, { value: field, children: field }, field)) })
7811
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SelectTrigger2, { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SelectValue2, { placeholder: "Select field" }) }),
7812
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SelectContent2, { children: availableFields.map((field) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SelectItem2, { value: field, children: field }, field)) })
7874
7813
  ]
7875
7814
  }
7876
7815
  )
7877
7816
  ] }),
7878
- resolvedValue && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "bg-muted rounded-md p-2", children: [
7879
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Label, { className: "text-muted-foreground text-xs", children: "Preview" }),
7880
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "text-sm", children: resolvedValue })
7817
+ resolvedValue && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "bg-muted rounded-md p-2", children: [
7818
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Label, { className: "text-muted-foreground text-xs", children: "Preview" }),
7819
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "text-sm", children: resolvedValue })
7881
7820
  ] })
7882
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
7821
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
7883
7822
  Input,
7884
7823
  {
7885
7824
  value: resolvedValue,
@@ -7898,7 +7837,7 @@ function createEntryBoundTextField(label, placeholder) {
7898
7837
  value,
7899
7838
  onChange,
7900
7839
  readOnly
7901
- }) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
7840
+ }) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
7902
7841
  EntryBoundTextField,
7903
7842
  {
7904
7843
  value,
@@ -7913,7 +7852,7 @@ function createEntryBoundTextField(label, placeholder) {
7913
7852
 
7914
7853
  // fields/ResponsiveToggleField.tsx
7915
7854
  var import_lucide_react9 = require("lucide-react");
7916
- var import_jsx_runtime45 = require("react/jsx-runtime");
7855
+ var import_jsx_runtime44 = require("react/jsx-runtime");
7917
7856
  var breakpoints = [
7918
7857
  { key: "mobile", label: "Mobile", icon: import_lucide_react9.Smartphone },
7919
7858
  { key: "desktop", label: "Desktop", icon: import_lucide_react9.Monitor }
@@ -7934,9 +7873,9 @@ function ResponsiveToggleField({
7934
7873
  [key]: !visibility[key]
7935
7874
  });
7936
7875
  };
7937
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-col gap-3", children: [
7938
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Label, { className: "text-sm font-medium", children: label }),
7939
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex gap-2", children: breakpoints.map(({ key, label: bpLabel, icon: Icon4 }) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
7876
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex flex-col gap-3", children: [
7877
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Label, { className: "text-sm font-medium", children: label }),
7878
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "flex gap-2", children: breakpoints.map(({ key, label: bpLabel, icon: Icon4 }) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
7940
7879
  "button",
7941
7880
  {
7942
7881
  type: "button",
@@ -7948,13 +7887,13 @@ function ResponsiveToggleField({
7948
7887
  ),
7949
7888
  "aria-label": `${bpLabel} visibility`,
7950
7889
  children: [
7951
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Icon4, { className: "size-5" }),
7952
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "text-xs font-medium", children: bpLabel })
7890
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Icon4, { className: "size-5" }),
7891
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "text-xs font-medium", children: bpLabel })
7953
7892
  ]
7954
7893
  },
7955
7894
  key
7956
7895
  )) }),
7957
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "text-muted-foreground text-xs", children: !visibility.mobile && !visibility.desktop ? "Hidden on all devices" : `Visible on ${[
7896
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "text-muted-foreground text-xs", children: !visibility.mobile && !visibility.desktop ? "Hidden on all devices" : `Visible on ${[
7958
7897
  visibility.mobile && "mobile",
7959
7898
  visibility.desktop && "desktop"
7960
7899
  ].filter(Boolean).join(" & ")}` })
@@ -7962,7 +7901,7 @@ function ResponsiveToggleField({
7962
7901
  }
7963
7902
 
7964
7903
  // fields/ShadowField.tsx
7965
- var import_jsx_runtime46 = require("react/jsx-runtime");
7904
+ var import_jsx_runtime45 = require("react/jsx-runtime");
7966
7905
  function ShadowField({
7967
7906
  value,
7968
7907
  onChangeAction,
@@ -7970,9 +7909,9 @@ function ShadowField({
7970
7909
  label
7971
7910
  }) {
7972
7911
  const currentValue = value ?? "none";
7973
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex flex-col gap-3", children: [
7974
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Label, { className: "text-sm font-medium", children: label }),
7975
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "grid grid-cols-4 gap-2", children: shadowPresets.map((preset) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
7912
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-col gap-3", children: [
7913
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Label, { className: "text-sm font-medium", children: label }),
7914
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "grid grid-cols-4 gap-2", children: shadowPresets.map((preset) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
7976
7915
  Button2,
7977
7916
  {
7978
7917
  type: "button",
@@ -7985,14 +7924,14 @@ function ShadowField({
7985
7924
  currentValue === preset.value && "ring-ring ring-2"
7986
7925
  ),
7987
7926
  children: [
7988
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
7927
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
7989
7928
  "div",
7990
7929
  {
7991
7930
  className: "bg-background size-8 rounded",
7992
7931
  style: { boxShadow: preset.css }
7993
7932
  }
7994
7933
  ),
7995
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "text-xs", children: preset.label })
7934
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "text-xs", children: preset.label })
7996
7935
  ]
7997
7936
  },
7998
7937
  preset.value
@@ -8024,7 +7963,7 @@ var getClosestSpacingValue = (value) => {
8024
7963
  };
8025
7964
 
8026
7965
  // fields/SpacingSliderField.tsx
8027
- var import_jsx_runtime47 = require("react/jsx-runtime");
7966
+ var import_jsx_runtime46 = require("react/jsx-runtime");
8028
7967
  var MAX_VALUE2 = spacingScale[spacingScale.length - 1].value;
8029
7968
  function SpacingSliderField({
8030
7969
  value,
@@ -8064,10 +8003,10 @@ function SpacingSliderField({
8064
8003
  };
8065
8004
  const matchingPreset = spacingScale.find((s) => s.value === currentValue);
8066
8005
  const displayLabel = matchingPreset?.label ?? "Custom";
8067
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex flex-col gap-3", children: [
8068
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center justify-between", children: [
8069
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Label, { className: "text-sm font-medium", children: label }),
8070
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
8006
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex flex-col gap-3", children: [
8007
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex items-center justify-between", children: [
8008
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Label, { className: "text-sm font-medium", children: label }),
8009
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
8071
8010
  Toggle,
8072
8011
  {
8073
8012
  pressed: quantized,
@@ -8076,13 +8015,13 @@ function SpacingSliderField({
8076
8015
  variant: "outline",
8077
8016
  "aria-label": "Snap to grid",
8078
8017
  title: quantized ? "Snap to grid (on)" : "Snap to grid (off)",
8079
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react10.Magnet, { className: "size-3.5" })
8018
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react10.Magnet, { className: "size-3.5" })
8080
8019
  }
8081
8020
  )
8082
8021
  ] }),
8083
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-2", children: [
8084
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-muted-foreground flex-1 text-sm", children: displayLabel }),
8085
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
8022
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex items-center gap-2", children: [
8023
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "text-muted-foreground flex-1 text-sm", children: displayLabel }),
8024
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
8086
8025
  Input,
8087
8026
  {
8088
8027
  type: "number",
@@ -8094,9 +8033,9 @@ function SpacingSliderField({
8094
8033
  max: MAX_VALUE2
8095
8034
  }
8096
8035
  ),
8097
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-muted-foreground text-xs", children: "px" })
8036
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "text-muted-foreground text-xs", children: "px" })
8098
8037
  ] }),
8099
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
8038
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
8100
8039
  Slider,
8101
8040
  {
8102
8041
  value: [currentValue],
@@ -8107,7 +8046,7 @@ function SpacingSliderField({
8107
8046
  disabled
8108
8047
  }
8109
8048
  ),
8110
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex flex-wrap gap-1", children: spacingScale.filter((_, i) => i % 2 === 0 || i === spacingScale.length - 1).map((preset) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
8049
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "flex flex-wrap gap-1", children: spacingScale.filter((_, i) => i % 2 === 0 || i === spacingScale.length - 1).map((preset) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
8111
8050
  Button2,
8112
8051
  {
8113
8052
  type: "button",
@@ -8123,7 +8062,7 @@ function SpacingSliderField({
8123
8062
  }
8124
8063
 
8125
8064
  // fields/ThemeableColorField.tsx
8126
- var import_jsx_runtime48 = require("react/jsx-runtime");
8065
+ var import_jsx_runtime47 = require("react/jsx-runtime");
8127
8066
  function isThemeableValue12(value) {
8128
8067
  return typeof value === "object" && value !== null && "useTheme" in value;
8129
8068
  }
@@ -8148,10 +8087,10 @@ function ThemeableColorField({
8148
8087
  const handleColorChange = (newColor) => {
8149
8088
  onChange({ useTheme: false, value: newColor });
8150
8089
  };
8151
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex flex-col gap-2", children: [
8152
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex items-center justify-between", children: [
8153
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "text-sm font-medium", children: label }),
8154
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
8090
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex flex-col gap-2", children: [
8091
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center justify-between", children: [
8092
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-sm font-medium", children: label }),
8093
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
8155
8094
  Toggle,
8156
8095
  {
8157
8096
  pressed: isUsingTheme,
@@ -8164,8 +8103,8 @@ function ThemeableColorField({
8164
8103
  }
8165
8104
  )
8166
8105
  ] }),
8167
- isUsingTheme ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex items-center gap-2 rounded-md border p-2", children: [
8168
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
8106
+ isUsingTheme ? /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-2 rounded-md border p-2", children: [
8107
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
8169
8108
  "div",
8170
8109
  {
8171
8110
  className: "size-6 shrink-0 rounded border",
@@ -8174,11 +8113,11 @@ function ThemeableColorField({
8174
8113
  }
8175
8114
  }
8176
8115
  ),
8177
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("span", { className: "text-muted-foreground text-sm capitalize", children: [
8116
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { className: "text-muted-foreground text-sm capitalize", children: [
8178
8117
  "Theme: ",
8179
8118
  themeKey
8180
8119
  ] })
8181
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
8120
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
8182
8121
  ColorPickerField,
8183
8122
  {
8184
8123
  value: customValue,
@@ -8197,7 +8136,7 @@ function createThemeableColorField(label, themeKey) {
8197
8136
  value,
8198
8137
  onChange,
8199
8138
  readOnly
8200
- }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
8139
+ }) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
8201
8140
  ThemeableColorField,
8202
8141
  {
8203
8142
  value,
@@ -8211,10 +8150,10 @@ function createThemeableColorField(label, themeKey) {
8211
8150
  }
8212
8151
 
8213
8152
  // fields/TypographyField.tsx
8214
- var import_jsx_runtime49 = require("react/jsx-runtime");
8153
+ var import_jsx_runtime48 = require("react/jsx-runtime");
8215
8154
 
8216
8155
  // fields/index.tsx
8217
- var import_jsx_runtime50 = require("react/jsx-runtime");
8156
+ var import_jsx_runtime49 = require("react/jsx-runtime");
8218
8157
  function createColorField(label) {
8219
8158
  return {
8220
8159
  type: "custom",
@@ -8223,7 +8162,7 @@ function createColorField(label) {
8223
8162
  value,
8224
8163
  onChange,
8225
8164
  readOnly
8226
- }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
8165
+ }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
8227
8166
  ColorPickerField,
8228
8167
  {
8229
8168
  value,
@@ -8242,7 +8181,7 @@ function createSpacingField(label) {
8242
8181
  value,
8243
8182
  onChange,
8244
8183
  readOnly
8245
- }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
8184
+ }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
8246
8185
  SpacingSliderField,
8247
8186
  {
8248
8187
  value,
@@ -8261,7 +8200,7 @@ function createShadowField(label) {
8261
8200
  value,
8262
8201
  onChange,
8263
8202
  readOnly
8264
- }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
8203
+ }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
8265
8204
  ShadowField,
8266
8205
  {
8267
8206
  value,
@@ -8280,7 +8219,7 @@ function createBorderRadiusField(label) {
8280
8219
  value,
8281
8220
  onChange,
8282
8221
  readOnly
8283
- }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
8222
+ }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
8284
8223
  BorderRadiusField,
8285
8224
  {
8286
8225
  value,
@@ -8299,7 +8238,7 @@ function createResponsiveField(label) {
8299
8238
  value,
8300
8239
  onChange,
8301
8240
  readOnly
8302
- }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
8241
+ }) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
8303
8242
  ResponsiveToggleField,
8304
8243
  {
8305
8244
  value,
@@ -8312,7 +8251,7 @@ function createResponsiveField(label) {
8312
8251
  }
8313
8252
 
8314
8253
  // config.tsx
8315
- var import_jsx_runtime51 = require("react/jsx-runtime");
8254
+ var import_jsx_runtime50 = require("react/jsx-runtime");
8316
8255
  var config = {
8317
8256
  categories: {
8318
8257
  typography: {
@@ -8429,7 +8368,7 @@ var config = {
8429
8368
  letterSpacing: "normal",
8430
8369
  lineHeight: "tight"
8431
8370
  },
8432
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Heading, { ...props })
8371
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Heading, { ...props })
8433
8372
  },
8434
8373
  Paragraph: {
8435
8374
  fields: {
@@ -8480,7 +8419,7 @@ var config = {
8480
8419
  align: "left",
8481
8420
  lineHeight: "normal"
8482
8421
  },
8483
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Paragraph, { ...props })
8422
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Paragraph, { ...props })
8484
8423
  },
8485
8424
  // ==================
8486
8425
  // ACTIONS
@@ -8553,7 +8492,7 @@ var config = {
8553
8492
  align: "center",
8554
8493
  target: "_self"
8555
8494
  },
8556
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Button, { ...props })
8495
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { ...props })
8557
8496
  },
8558
8497
  // ==================
8559
8498
  // MEDIA
@@ -8633,7 +8572,7 @@ var config = {
8633
8572
  align: "center",
8634
8573
  captionColor: { useTheme: true, themeKey: "muted" }
8635
8574
  },
8636
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Image, { ...props })
8575
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Image, { ...props })
8637
8576
  },
8638
8577
  ImageCarousel: {
8639
8578
  fields: {
@@ -8697,7 +8636,7 @@ var config = {
8697
8636
  arrowColor: { useTheme: true, themeKey: "background" },
8698
8637
  dotColor: { useTheme: true, themeKey: "primary" }
8699
8638
  },
8700
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ImageCarousel, { ...props })
8639
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ImageCarousel, { ...props })
8701
8640
  },
8702
8641
  VideoEmbed: {
8703
8642
  fields: {
@@ -8769,7 +8708,7 @@ var config = {
8769
8708
  muted: false,
8770
8709
  loop: false
8771
8710
  },
8772
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(VideoEmbed, { ...props })
8711
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(VideoEmbed, { ...props })
8773
8712
  },
8774
8713
  Icon: {
8775
8714
  fields: {
@@ -8806,7 +8745,7 @@ var config = {
8806
8745
  color: { useTheme: true, themeKey: "primary" },
8807
8746
  align: "center"
8808
8747
  },
8809
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Icon, { ...props })
8748
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Icon, { ...props })
8810
8749
  },
8811
8750
  // ==================
8812
8751
  // LAYOUT
@@ -8837,7 +8776,7 @@ var config = {
8837
8776
  contentMaxWidth: "1400px",
8838
8777
  visibility: { mobile: true, desktop: true }
8839
8778
  },
8840
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Section, { ...props })
8779
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Section, { ...props })
8841
8780
  },
8842
8781
  Container: {
8843
8782
  fields: {
@@ -8890,7 +8829,7 @@ var config = {
8890
8829
  paddingY: "none",
8891
8830
  centered: true
8892
8831
  },
8893
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Container, { ...props })
8832
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Container, { ...props })
8894
8833
  },
8895
8834
  Columns: {
8896
8835
  fields: {
@@ -8935,7 +8874,7 @@ var config = {
8935
8874
  verticalAlign: "top",
8936
8875
  stackOnMobile: true
8937
8876
  },
8938
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Columns, { ...props })
8877
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Columns, { ...props })
8939
8878
  },
8940
8879
  Card: {
8941
8880
  fields: {
@@ -8992,7 +8931,7 @@ var config = {
8992
8931
  shadow: "sm",
8993
8932
  padding: "md"
8994
8933
  },
8995
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Card, { ...props })
8934
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Card, { ...props })
8996
8935
  },
8997
8936
  Divider: {
8998
8937
  fields: {
@@ -9048,7 +8987,7 @@ var config = {
9048
8987
  align: "center",
9049
8988
  spacing: "md"
9050
8989
  },
9051
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Divider, { ...props })
8990
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Divider, { ...props })
9052
8991
  },
9053
8992
  Spacer: {
9054
8993
  fields: {
@@ -9068,7 +9007,7 @@ var config = {
9068
9007
  defaultProps: {
9069
9008
  size: "md"
9070
9009
  },
9071
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Spacer, { ...props })
9010
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Spacer, { ...props })
9072
9011
  },
9073
9012
  // ==================
9074
9013
  // LEGACY COMPONENTS
@@ -9121,7 +9060,7 @@ var config = {
9121
9060
  gradientColor1: { useTheme: true, themeKey: "primary" },
9122
9061
  gradientColor2: { useTheme: true, themeKey: "secondary" }
9123
9062
  },
9124
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TextBlock, { ...props })
9063
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TextBlock, { ...props })
9125
9064
  },
9126
9065
  CustomImage: {
9127
9066
  fields: {
@@ -9148,7 +9087,7 @@ var config = {
9148
9087
  alignment: "center",
9149
9088
  fitContent: false
9150
9089
  },
9151
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(CustomImage, { ...props })
9090
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(CustomImage, { ...props })
9152
9091
  },
9153
9092
  FeaturesList: {
9154
9093
  fields: {
@@ -9189,7 +9128,7 @@ var config = {
9189
9128
  size: "medium",
9190
9129
  iconColor: { color: "#3B82F6", opacity: 100 }
9191
9130
  },
9192
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(FeaturesList, { ...props })
9131
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(FeaturesList, { ...props })
9193
9132
  },
9194
9133
  FeatureGrid: {
9195
9134
  fields: {
@@ -9245,7 +9184,7 @@ var config = {
9245
9184
  iconColor: { color: "#3B82F6", opacity: 100 },
9246
9185
  textColor: { color: "#000000", opacity: 100 }
9247
9186
  },
9248
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(FeatureGrid, { ...props })
9187
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(FeatureGrid, { ...props })
9249
9188
  },
9250
9189
  Footer: {
9251
9190
  fields: {
@@ -9262,7 +9201,7 @@ var config = {
9262
9201
  backgroundColor: { color: "#111827", opacity: 100 },
9263
9202
  textColor: { color: "#FFFFFF", opacity: 100 }
9264
9203
  },
9265
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Footer, { ...props })
9204
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Footer, { ...props })
9266
9205
  },
9267
9206
  Topbar: {
9268
9207
  fields: {
@@ -9297,7 +9236,7 @@ var config = {
9297
9236
  textColor: { color: "#000000", opacity: 100 },
9298
9237
  maxWidth: "1400px"
9299
9238
  },
9300
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Topbar, { ...props })
9239
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Topbar, { ...props })
9301
9240
  },
9302
9241
  Popup: {
9303
9242
  fields: {
@@ -9345,7 +9284,7 @@ var config = {
9345
9284
  width: "medium",
9346
9285
  textLink: false
9347
9286
  },
9348
- render: (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Popup, { ...props })
9287
+ render: (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Popup, { ...props })
9349
9288
  }
9350
9289
  }
9351
9290
  };