@geomak/ui 6.34.1 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -376,7 +376,7 @@ interface IconButtonProps {
376
376
  type?: IconButtonVariant;
377
377
  buttonType?: 'button' | 'submit' | 'reset';
378
378
  disabled?: boolean;
379
- size?: 'sm' | 'lg';
379
+ size?: 'sm' | 'md' | 'lg';
380
380
  loading?: boolean;
381
381
  loadingIcon?: React.ReactNode;
382
382
  title?: string;
@@ -494,7 +494,7 @@ interface ModalProps {
494
494
  * content and scroll internally rather than taking a fixed height.
495
495
  */
496
496
  width?: number | string;
497
- isOpen?: boolean;
497
+ open?: boolean;
498
498
  onClose?: () => void;
499
499
  onOk?: () => void;
500
500
  onCancel?: () => void;
@@ -514,15 +514,15 @@ interface ModalProps {
514
514
  * prefers-reduced-motion is respected via useReducedMotion().
515
515
  *
516
516
  * @example
517
- * <Modal isOpen={open} onClose={() => setOpen(false)} title="Confirm" onOk={handleOk}>
517
+ * <Modal open={open} onClose={() => setOpen(false)} title="Confirm" onOk={handleOk}>
518
518
  * Are you sure you want to delete this item?
519
519
  * </Modal>
520
520
  */
521
- declare function Modal({ width, size, isOpen, onClose, onOk, onCancel, okText, cancelText, hasFooter, title, children, className, }: ModalProps): react_jsx_runtime.JSX.Element;
521
+ declare function Modal({ width, size, open, onClose, onOk, onCancel, okText, cancelText, hasFooter, title, children, className, }: ModalProps): react_jsx_runtime.JSX.Element;
522
522
 
523
523
  type DrawerSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
524
524
  interface DrawerProps {
525
- isOpen?: boolean;
525
+ open?: boolean;
526
526
  onClose?: () => void;
527
527
  hasFooter?: boolean;
528
528
  /** 'left' | 'right' — which edge the panel slides from */
@@ -554,11 +554,11 @@ interface DrawerProps {
554
554
  * prefers-reduced-motion is respected via useReducedMotion().
555
555
  *
556
556
  * @example
557
- * <Drawer isOpen={open} placement="right" onClose={() => setOpen(false)} title="Filters">
557
+ * <Drawer open={open} placement="right" onClose={() => setOpen(false)} title="Filters">
558
558
  * <FilterForm />
559
559
  * </Drawer>
560
560
  */
561
- declare function Drawer({ isOpen, onClose, hasFooter, placement, size, width, okText, cancelText, onOk, onCancel, title, children, className, }: DrawerProps): react_jsx_runtime.JSX.Element;
561
+ declare function Drawer({ open, onClose, hasFooter, placement, size, width, okText, cancelText, onOk, onCancel, title, children, className, }: DrawerProps): react_jsx_runtime.JSX.Element;
562
562
 
563
563
  interface TooltipProps {
564
564
  children: react__default.ReactNode;
@@ -601,7 +601,7 @@ interface TabsProps {
601
601
  /** Uncontrolled initial active tab value. */
602
602
  defaultValue?: string;
603
603
  /** Fires with the next active value. */
604
- onValueChange?: (value: string) => void;
604
+ onChange?: (value: string) => void;
605
605
  /** Visual style. `'underline'` (default) | `'segmented'` | `'enclosed'`. */
606
606
  variant?: TabsVariant;
607
607
  /** Size preset. Default `'md'`. */
@@ -636,7 +636,7 @@ interface TabsProps {
636
636
  * </Tabs>
637
637
  * ```
638
638
  */
639
- declare function Tabs({ value, defaultValue, onValueChange, variant, size, orientation, className, style, children, }: TabsProps): react_jsx_runtime.JSX.Element;
639
+ declare function Tabs({ value, defaultValue, onChange, variant, size, orientation, className, style, children, }: TabsProps): react_jsx_runtime.JSX.Element;
640
640
  declare namespace Tabs {
641
641
  var List: typeof TabsList;
642
642
  var Trigger: typeof TabsTrigger;
@@ -743,7 +743,7 @@ interface AccordionProps {
743
743
  /** Controlled open value(s). */
744
744
  value?: string | string[];
745
745
  /** Fires when the open set changes. */
746
- onValueChange?: (value: string | string[]) => void;
746
+ onChange?: (value: string | string[]) => void;
747
747
  /** In `single` mode, allow the open item to be collapsed. Default `true`. */
748
748
  collapsible?: boolean;
749
749
  /**
@@ -774,7 +774,7 @@ interface AccordionProps {
774
774
  * </Accordion>
775
775
  * ```
776
776
  */
777
- declare function Accordion({ children, type, defaultValue, value, onValueChange, collapsible, variant, className, style, }: AccordionProps): react_jsx_runtime.JSX.Element;
777
+ declare function Accordion({ children, type, defaultValue, value, onChange, collapsible, variant, className, style, }: AccordionProps): react_jsx_runtime.JSX.Element;
778
778
  declare namespace Accordion {
779
779
  var Item: typeof AccordionItem;
780
780
  }
package/dist/index.d.ts CHANGED
@@ -376,7 +376,7 @@ interface IconButtonProps {
376
376
  type?: IconButtonVariant;
377
377
  buttonType?: 'button' | 'submit' | 'reset';
378
378
  disabled?: boolean;
379
- size?: 'sm' | 'lg';
379
+ size?: 'sm' | 'md' | 'lg';
380
380
  loading?: boolean;
381
381
  loadingIcon?: React.ReactNode;
382
382
  title?: string;
@@ -494,7 +494,7 @@ interface ModalProps {
494
494
  * content and scroll internally rather than taking a fixed height.
495
495
  */
496
496
  width?: number | string;
497
- isOpen?: boolean;
497
+ open?: boolean;
498
498
  onClose?: () => void;
499
499
  onOk?: () => void;
500
500
  onCancel?: () => void;
@@ -514,15 +514,15 @@ interface ModalProps {
514
514
  * prefers-reduced-motion is respected via useReducedMotion().
515
515
  *
516
516
  * @example
517
- * <Modal isOpen={open} onClose={() => setOpen(false)} title="Confirm" onOk={handleOk}>
517
+ * <Modal open={open} onClose={() => setOpen(false)} title="Confirm" onOk={handleOk}>
518
518
  * Are you sure you want to delete this item?
519
519
  * </Modal>
520
520
  */
521
- declare function Modal({ width, size, isOpen, onClose, onOk, onCancel, okText, cancelText, hasFooter, title, children, className, }: ModalProps): react_jsx_runtime.JSX.Element;
521
+ declare function Modal({ width, size, open, onClose, onOk, onCancel, okText, cancelText, hasFooter, title, children, className, }: ModalProps): react_jsx_runtime.JSX.Element;
522
522
 
523
523
  type DrawerSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
524
524
  interface DrawerProps {
525
- isOpen?: boolean;
525
+ open?: boolean;
526
526
  onClose?: () => void;
527
527
  hasFooter?: boolean;
528
528
  /** 'left' | 'right' — which edge the panel slides from */
@@ -554,11 +554,11 @@ interface DrawerProps {
554
554
  * prefers-reduced-motion is respected via useReducedMotion().
555
555
  *
556
556
  * @example
557
- * <Drawer isOpen={open} placement="right" onClose={() => setOpen(false)} title="Filters">
557
+ * <Drawer open={open} placement="right" onClose={() => setOpen(false)} title="Filters">
558
558
  * <FilterForm />
559
559
  * </Drawer>
560
560
  */
561
- declare function Drawer({ isOpen, onClose, hasFooter, placement, size, width, okText, cancelText, onOk, onCancel, title, children, className, }: DrawerProps): react_jsx_runtime.JSX.Element;
561
+ declare function Drawer({ open, onClose, hasFooter, placement, size, width, okText, cancelText, onOk, onCancel, title, children, className, }: DrawerProps): react_jsx_runtime.JSX.Element;
562
562
 
563
563
  interface TooltipProps {
564
564
  children: react__default.ReactNode;
@@ -601,7 +601,7 @@ interface TabsProps {
601
601
  /** Uncontrolled initial active tab value. */
602
602
  defaultValue?: string;
603
603
  /** Fires with the next active value. */
604
- onValueChange?: (value: string) => void;
604
+ onChange?: (value: string) => void;
605
605
  /** Visual style. `'underline'` (default) | `'segmented'` | `'enclosed'`. */
606
606
  variant?: TabsVariant;
607
607
  /** Size preset. Default `'md'`. */
@@ -636,7 +636,7 @@ interface TabsProps {
636
636
  * </Tabs>
637
637
  * ```
638
638
  */
639
- declare function Tabs({ value, defaultValue, onValueChange, variant, size, orientation, className, style, children, }: TabsProps): react_jsx_runtime.JSX.Element;
639
+ declare function Tabs({ value, defaultValue, onChange, variant, size, orientation, className, style, children, }: TabsProps): react_jsx_runtime.JSX.Element;
640
640
  declare namespace Tabs {
641
641
  var List: typeof TabsList;
642
642
  var Trigger: typeof TabsTrigger;
@@ -743,7 +743,7 @@ interface AccordionProps {
743
743
  /** Controlled open value(s). */
744
744
  value?: string | string[];
745
745
  /** Fires when the open set changes. */
746
- onValueChange?: (value: string | string[]) => void;
746
+ onChange?: (value: string | string[]) => void;
747
747
  /** In `single` mode, allow the open item to be collapsed. Default `true`. */
748
748
  collapsible?: boolean;
749
749
  /**
@@ -774,7 +774,7 @@ interface AccordionProps {
774
774
  * </Accordion>
775
775
  * ```
776
776
  */
777
- declare function Accordion({ children, type, defaultValue, value, onValueChange, collapsible, variant, className, style, }: AccordionProps): react_jsx_runtime.JSX.Element;
777
+ declare function Accordion({ children, type, defaultValue, value, onChange, collapsible, variant, className, style, }: AccordionProps): react_jsx_runtime.JSX.Element;
778
778
  declare namespace Accordion {
779
779
  var Item: typeof AccordionItem;
780
780
  }
package/dist/index.js CHANGED
@@ -458,7 +458,7 @@ function IconButton({
458
458
  type = "primary",
459
459
  buttonType = "button",
460
460
  disabled = false,
461
- size = "lg",
461
+ size = "md",
462
462
  loading = false,
463
463
  loadingIcon,
464
464
  title,
@@ -483,7 +483,7 @@ function IconButton({
483
483
  title,
484
484
  "aria-label": title,
485
485
  style,
486
- className: `${size === "sm" ? "p-1" : "p-2"} rounded-lg shadow-md transition-colors duration-150 ${colorScheme} disabled:bg-surface-raised disabled:text-foreground-muted disabled:cursor-not-allowed focus:outline-none focus-visible:ring-2 focus-visible:ring-accent ${className}`.trim(),
486
+ className: `${size === "sm" ? "p-1" : size === "md" ? "p-1.5" : "p-2"} rounded-lg shadow-md transition-colors duration-150 ${colorScheme} disabled:bg-surface-raised disabled:text-foreground-muted disabled:cursor-not-allowed focus:outline-none focus-visible:ring-2 focus-visible:ring-accent ${className}`.trim(),
487
487
  children: loading ? loadingIcon : icon
488
488
  }
489
489
  );
@@ -696,7 +696,7 @@ var SIZE_MAP = {
696
696
  function Modal({
697
697
  width,
698
698
  size = "md",
699
- isOpen = false,
699
+ open = false,
700
700
  onClose,
701
701
  onOk,
702
702
  onCancel,
@@ -709,10 +709,10 @@ function Modal({
709
709
  }) {
710
710
  const reduced = useReducedMotion();
711
711
  const maxWidth = width ?? SIZE_MAP[size];
712
- return /* @__PURE__ */ jsx(Dialog.Root, { open: isOpen, onOpenChange: (open) => {
713
- if (!open) onClose?.();
712
+ return /* @__PURE__ */ jsx(Dialog.Root, { open, onOpenChange: (next) => {
713
+ if (!next) onClose?.();
714
714
  }, children: /* @__PURE__ */ jsxs(Dialog.Portal, { forceMount: true, children: [
715
- /* @__PURE__ */ jsx(AnimatePresence, { children: isOpen && /* @__PURE__ */ jsx(Dialog.Overlay, { asChild: true, children: /* @__PURE__ */ jsx(
715
+ /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsx(Dialog.Overlay, { asChild: true, children: /* @__PURE__ */ jsx(
716
716
  motion.div,
717
717
  {
718
718
  className: "fixed inset-0 bg-backdrop z-overlay",
@@ -722,7 +722,7 @@ function Modal({
722
722
  transition: { duration: reduced ? 0 : 0.18, ease: "easeOut" }
723
723
  }
724
724
  ) }) }),
725
- /* @__PURE__ */ jsx(AnimatePresence, { children: isOpen && /* @__PURE__ */ jsx(Dialog.Content, { asChild: true, children: /* @__PURE__ */ jsxs(
725
+ /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsx(Dialog.Content, { asChild: true, children: /* @__PURE__ */ jsxs(
726
726
  motion.div,
727
727
  {
728
728
  className: `fixed left-1/2 top-1/2 z-modal flex flex-col w-[calc(100%-2rem)] max-h-[90dvh] bg-surface rounded-2xl shadow-xl overflow-hidden focus:outline-none ${className}`.trim(),
@@ -748,7 +748,7 @@ function Modal({
748
748
  {
749
749
  "aria-label": "Close",
750
750
  className: "flex h-7 w-7 items-center justify-center rounded-lg text-foreground-muted hover:bg-surface-raised hover:text-foreground transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent",
751
- children: /* @__PURE__ */ jsx("svg", { width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", children: /* @__PURE__ */ jsx("path", { d: "M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z", fill: "currentColor", fillRule: "evenodd", clipRule: "evenodd" }) })
751
+ children: /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", children: /* @__PURE__ */ jsx("path", { d: "M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z", fill: "currentColor", fillRule: "evenodd", clipRule: "evenodd" }) })
752
752
  }
753
753
  ) })
754
754
  ] }),
@@ -784,7 +784,7 @@ var SIZE_MAP2 = {
784
784
  full: "calc(100vw - 1rem)"
785
785
  };
786
786
  function Drawer({
787
- isOpen = false,
787
+ open = false,
788
788
  onClose,
789
789
  hasFooter = true,
790
790
  placement = "right",
@@ -803,10 +803,10 @@ function Drawer({
803
803
  const hiddenX = isRight ? "100%" : "-100%";
804
804
  const resolvedWidth = width ?? SIZE_MAP2[size];
805
805
  const widthCss = typeof resolvedWidth === "number" ? `${resolvedWidth}px` : resolvedWidth;
806
- return /* @__PURE__ */ jsx(Dialog.Root, { open: isOpen, onOpenChange: (open) => {
807
- if (!open) onClose?.();
806
+ return /* @__PURE__ */ jsx(Dialog.Root, { open, onOpenChange: (next) => {
807
+ if (!next) onClose?.();
808
808
  }, children: /* @__PURE__ */ jsxs(Dialog.Portal, { forceMount: true, children: [
809
- /* @__PURE__ */ jsx(AnimatePresence, { children: isOpen && /* @__PURE__ */ jsx(Dialog.Overlay, { asChild: true, children: /* @__PURE__ */ jsx(
809
+ /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsx(Dialog.Overlay, { asChild: true, children: /* @__PURE__ */ jsx(
810
810
  motion.div,
811
811
  {
812
812
  className: "fixed inset-0 bg-backdrop z-overlay",
@@ -816,7 +816,7 @@ function Drawer({
816
816
  transition: { duration: reduced ? 0 : 0.2, ease: "easeOut" }
817
817
  }
818
818
  ) }) }),
819
- /* @__PURE__ */ jsx(AnimatePresence, { children: isOpen && /* @__PURE__ */ jsx(Dialog.Content, { asChild: true, children: /* @__PURE__ */ jsxs(
819
+ /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsx(Dialog.Content, { asChild: true, children: /* @__PURE__ */ jsxs(
820
820
  motion.div,
821
821
  {
822
822
  className: `fixed top-0 bottom-0 ${isRight ? "right-0" : "left-0"} z-modal flex flex-col bg-surface shadow-xl focus:outline-none ${className}`.trim(),
@@ -841,7 +841,7 @@ function Drawer({
841
841
  {
842
842
  "aria-label": "Close drawer",
843
843
  className: "flex h-7 w-7 items-center justify-center rounded-lg text-foreground-muted hover:bg-surface-raised hover:text-foreground transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent",
844
- children: /* @__PURE__ */ jsx("svg", { width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", children: /* @__PURE__ */ jsx("path", { d: "M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z", fill: "currentColor", fillRule: "evenodd", clipRule: "evenodd" }) })
844
+ children: /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", children: /* @__PURE__ */ jsx("path", { d: "M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z", fill: "currentColor", fillRule: "evenodd", clipRule: "evenodd" }) })
845
845
  }
846
846
  ) })
847
847
  ] }),
@@ -921,7 +921,7 @@ var MARKER_TRANSITION = { duration: 0.26, ease: [0.16, 1, 0.3, 1] };
921
921
  function Tabs({
922
922
  value,
923
923
  defaultValue,
924
- onValueChange,
924
+ onChange,
925
925
  variant = "underline",
926
926
  size = "md",
927
927
  orientation = "horizontal",
@@ -936,8 +936,8 @@ function Tabs({
936
936
  const indicatorId = useId();
937
937
  const select = useCallback((next) => {
938
938
  if (!isControlled) setInternal(next);
939
- onValueChange?.(next);
940
- }, [isControlled, onValueChange]);
939
+ onChange?.(next);
940
+ }, [isControlled, onChange]);
941
941
  const registry = useRef(/* @__PURE__ */ new Map());
942
942
  const orderRef = useRef(0);
943
943
  const [, bump] = useState(0);
@@ -1356,7 +1356,7 @@ function Accordion2({
1356
1356
  type = "single",
1357
1357
  defaultValue,
1358
1358
  value,
1359
- onValueChange,
1359
+ onChange,
1360
1360
  collapsible = true,
1361
1361
  variant = "separated",
1362
1362
  className = "",
@@ -1377,7 +1377,7 @@ function Accordion2({
1377
1377
  type: "multiple",
1378
1378
  defaultValue,
1379
1379
  value,
1380
- onValueChange,
1380
+ onValueChange: onChange,
1381
1381
  ...common,
1382
1382
  children: inner
1383
1383
  }
@@ -1390,7 +1390,7 @@ function Accordion2({
1390
1390
  collapsible,
1391
1391
  defaultValue,
1392
1392
  value,
1393
- onValueChange,
1393
+ onValueChange: onChange,
1394
1394
  ...common,
1395
1395
  children: inner
1396
1396
  }
@@ -2622,7 +2622,7 @@ function LogoutTimer({
2622
2622
  clearTimers();
2623
2623
  };
2624
2624
  }, [enabled, timeout, countdown, events.join(","), startIdle, clearTimers]);
2625
- return /* @__PURE__ */ jsx(Modal, { isOpen: warning, onClose: stay, hasFooter: false, title, size: "sm", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
2625
+ return /* @__PURE__ */ jsx(Modal, { open: warning, onClose: stay, hasFooter: false, title, size: "sm", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
2626
2626
  /* @__PURE__ */ jsx("p", { className: "text-sm text-foreground-secondary", children: description }),
2627
2627
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-2", children: [
2628
2628
  /* @__PURE__ */ jsx("div", { className: "text-3xl font-semibold tabular-nums text-foreground", "aria-live": "polite", children: formatTime(remaining) }),
@@ -3265,9 +3265,9 @@ var Stepper2 = ({
3265
3265
  }) => {
3266
3266
  const btn = "flex h-7 w-7 items-center justify-center text-foreground-secondary hover:bg-surface-raised disabled:opacity-40 disabled:hover:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-inset transition-colors";
3267
3267
  return /* @__PURE__ */ jsxs("div", { className: "inline-flex items-center rounded-md border border-border overflow-hidden", children: [
3268
- /* @__PURE__ */ jsx("button", { type: "button", "aria-label": "Decrease quantity", disabled: quantity <= 1, onClick: () => onChange?.(quantity - 1), className: btn, children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-3.5 w-3.5", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", d: "M5 12h14" }) }) }),
3268
+ /* @__PURE__ */ jsx("button", { type: "button", "aria-label": "Decrease quantity", disabled: quantity <= 1, onClick: () => onChange?.(quantity - 1), className: btn, children: /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-3.5 w-3.5", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", d: "M5 12h14" }) }) }),
3269
3269
  /* @__PURE__ */ jsx("span", { className: "w-8 text-center text-sm tabular-nums text-foreground select-none", children: quantity }),
3270
- /* @__PURE__ */ jsx("button", { type: "button", "aria-label": "Increase quantity", disabled: max != null && quantity >= max, onClick: () => onChange?.(quantity + 1), className: btn, children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-3.5 w-3.5", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", d: "M12 5v14M5 12h14" }) }) })
3270
+ /* @__PURE__ */ jsx("button", { type: "button", "aria-label": "Increase quantity", disabled: max != null && quantity >= max, onClick: () => onChange?.(quantity + 1), className: btn, children: /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-3.5 w-3.5", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", d: "M12 5v14M5 12h14" }) }) })
3271
3271
  ] });
3272
3272
  };
3273
3273
  function Cart({
@@ -4754,7 +4754,7 @@ function CatalogCarousel({ items, buttonText, onOpen, className = "" }) {
4754
4754
  onClick: previousApp,
4755
4755
  "aria-label": "Previous",
4756
4756
  className: "cursor-pointer rounded-lg transition-all duration-300 hover:bg-ice-dark dark:hover:bg-independence rotate-180",
4757
- children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: colors_default.PALETTE["prussian-blue"], strokeWidth: 2, className: "h-10 w-10 dark:stroke-white", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) })
4757
+ children: /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", stroke: colors_default.PALETTE["prussian-blue"], strokeWidth: 2, className: "h-10 w-10 dark:stroke-white", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) })
4758
4758
  }
4759
4759
  ),
4760
4760
  /* @__PURE__ */ jsx("div", { className: "flex", children: indexPool.map((index, id) => {
@@ -4791,7 +4791,7 @@ function CatalogCarousel({ items, buttonText, onOpen, className = "" }) {
4791
4791
  onClick: nextApp,
4792
4792
  "aria-label": "Next",
4793
4793
  className: "cursor-pointer rounded-lg transition-all duration-300 hover:bg-ice-dark dark:hover:bg-independence",
4794
- children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: colors_default.PALETTE["prussian-blue"], strokeWidth: 2, className: "h-10 w-10 dark:stroke-white", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) })
4794
+ children: /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", stroke: colors_default.PALETTE["prussian-blue"], strokeWidth: 2, className: "h-10 w-10 dark:stroke-white", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) })
4795
4795
  }
4796
4796
  )
4797
4797
  ] }) });
@@ -5398,8 +5398,8 @@ function Pagination({
5398
5398
  const currentPerPageLabel = currentOpt?.label ?? currentOpt?.value ?? options.perPage ?? "";
5399
5399
  const FOCUS = "focus-visible:!ring-0 focus-visible:!border-accent";
5400
5400
  const navBtn = (icon, disabled, onClick, title) => /* @__PURE__ */ jsx(Button_default, { variant: "outline", size: "sm", disabled, onClick, icon, className: `w-7 !px-0 ${FOCUS}`, "aria-label": title, title });
5401
- const chevronRight = /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-4 w-4", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 6l6 6-6 6" }) });
5402
- const doubleChevronRight = /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-4 w-4", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6 6l6 6-6 6M12 6l6 6-6 6" }) });
5401
+ const chevronRight = /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-4 w-4", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 6l6 6-6 6" }) });
5402
+ const doubleChevronRight = /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-4 w-4", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6 6l6 6-6 6M12 6l6 6-6 6" }) });
5403
5403
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-end gap-x-4 gap-y-3", children: [
5404
5404
  options.withPicker && /* @__PURE__ */ jsxs("div", { className: "mr-auto flex items-center gap-2", children: [
5405
5405
  /* @__PURE__ */ jsx("span", { className: "whitespace-nowrap text-xs text-foreground-muted", children: "Rows per page" }),
@@ -7077,7 +7077,7 @@ function Dropdown({
7077
7077
  children: labelFor(value)
7078
7078
  }
7079
7079
  ) }),
7080
- /* @__PURE__ */ jsx("div", { className: `flex-shrink-0 text-foreground-muted transition-transform duration-200 ${open ? "rotate-180" : "rotate-0"}`, "aria-hidden": "true", children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-4 w-4", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19 9l-7 7-7-7" }) }) })
7080
+ /* @__PURE__ */ jsx("div", { className: `flex-shrink-0 text-foreground-muted transition-transform duration-200 ${open ? "rotate-180" : "rotate-0"}`, "aria-hidden": "true", children: /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-4 w-4", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19 9l-7 7-7-7" }) }) })
7081
7081
  ]
7082
7082
  }
7083
7083
  ) }),
@@ -8900,7 +8900,7 @@ function DateRangePicker({
8900
8900
  onClick: () => setLeftMonth(addMonths3(leftMonth, -1)),
8901
8901
  "aria-label": "Previous month",
8902
8902
  className: "absolute -top-1 left-0 w-7 h-7 inline-flex items-center justify-center rounded-md hover:bg-surface-raised focus:outline-none focus-visible:ring-2 focus-visible:ring-accent",
8903
- children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "w-4 h-4", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15 19l-7-7 7-7" }) })
8903
+ children: /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "w-4 h-4", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15 19l-7-7 7-7" }) })
8904
8904
  }
8905
8905
  ),
8906
8906
  renderMonth(leftMonth)
@@ -8913,7 +8913,7 @@ function DateRangePicker({
8913
8913
  onClick: () => setLeftMonth(addMonths3(leftMonth, 1)),
8914
8914
  "aria-label": "Next month",
8915
8915
  className: "absolute -top-1 right-0 w-7 h-7 inline-flex items-center justify-center rounded-md hover:bg-surface-raised focus:outline-none focus-visible:ring-2 focus-visible:ring-accent",
8916
- children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "w-4 h-4", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) })
8916
+ children: /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "w-4 h-4", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) })
8917
8917
  }
8918
8918
  ),
8919
8919
  renderMonth(addMonths3(leftMonth, 1))