@geomak/ui 5.8.0 → 5.9.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.cjs CHANGED
@@ -642,7 +642,9 @@ function IconButton({
642
642
  disabled = false,
643
643
  size = "lg",
644
644
  loading = false,
645
- loadingIcon
645
+ loadingIcon,
646
+ className = "",
647
+ style
646
648
  }) {
647
649
  const colorScheme = React8.useMemo(() => {
648
650
  if (type === "primary") {
@@ -659,7 +661,8 @@ function IconButton({
659
661
  type: buttonType,
660
662
  disabled: disabled || loading,
661
663
  onClick,
662
- 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`,
664
+ style,
665
+ 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(),
663
666
  children: loading ? loadingIcon : icon
664
667
  }
665
668
  );
@@ -710,7 +713,8 @@ function Button({
710
713
  disabled,
711
714
  style,
712
715
  icon,
713
- onClick
716
+ onClick,
717
+ className = ""
714
718
  }) {
715
719
  return /* @__PURE__ */ jsxRuntime.jsxs(
716
720
  "button",
@@ -725,8 +729,9 @@ function Button({
725
729
  "outline-none transition-colors duration-150 select-none",
726
730
  "whitespace-nowrap",
727
731
  SIZE_CLASSES[size],
728
- VARIANT_CLASSES[variant]
729
- ].join(" "),
732
+ VARIANT_CLASSES[variant],
733
+ className
734
+ ].filter(Boolean).join(" "),
730
735
  children: [
731
736
  loading ? /* @__PURE__ */ jsxRuntime.jsx(
732
737
  "svg",
@@ -761,7 +766,8 @@ function Modal({
761
766
  cancelText = "Cancel",
762
767
  hasFooter = true,
763
768
  title,
764
- children
769
+ children,
770
+ className = ""
765
771
  }) {
766
772
  const reduced = framerMotion.useReducedMotion();
767
773
  const maxWidth = width ?? size?.[0] ?? 600;
@@ -781,7 +787,7 @@ function Modal({
781
787
  /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxRuntime.jsx(Dialog__namespace.Content, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
782
788
  framerMotion.motion.div,
783
789
  {
784
- 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",
790
+ 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(),
785
791
  style: {
786
792
  maxWidth,
787
793
  x: "-50%",
@@ -843,7 +849,8 @@ function Drawer({
843
849
  onOk,
844
850
  onCancel,
845
851
  title,
846
- children
852
+ children,
853
+ className = ""
847
854
  }) {
848
855
  const reduced = framerMotion.useReducedMotion();
849
856
  const isRight = placement === "right";
@@ -864,7 +871,7 @@ function Drawer({
864
871
  /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxRuntime.jsx(Dialog__namespace.Content, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
865
872
  framerMotion.motion.div,
866
873
  {
867
- className: `fixed top-0 bottom-0 ${isRight ? "right-0" : "left-0"} z-modal flex flex-col bg-surface shadow-xl focus:outline-none`,
874
+ 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(),
868
875
  style: { width: `min(calc(100vw - 1rem), ${width}px)` },
869
876
  initial: { x: reduced ? 0 : hiddenX, opacity: reduced ? 0 : 1 },
870
877
  animate: { x: 0, opacity: 1 },
@@ -1531,9 +1538,11 @@ function List2({
1531
1538
  items,
1532
1539
  onItemClick,
1533
1540
  activeKey,
1534
- density = "comfortable"
1541
+ density = "comfortable",
1542
+ className = "",
1543
+ style
1535
1544
  }) {
1536
- return /* @__PURE__ */ jsxRuntime.jsx("div", { role: "listbox", className: "flex flex-col", children: items.map((item) => {
1545
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { role: "listbox", className: `flex flex-col ${className}`.trim(), style, children: items.map((item) => {
1537
1546
  const isActive = activeKey === item.key;
1538
1547
  const isDisabled = !!item.disabled;
1539
1548
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1655,8 +1664,8 @@ function CollapseIcon() {
1655
1664
  function ExpandIcon() {
1656
1665
  return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "w-4 h-4", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M4 8V4h4M20 8V4h-4M4 16v4h4M20 16v4h-4" }) });
1657
1666
  }
1658
- function GridCard({ item, buttonText = "Open Application", onOpen }) {
1659
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col w-[200px] h-[250px] rounded-lg bg-ice dark:bg-independence items-center justify-between p-2 shadow-2xl", children: [
1667
+ function GridCard({ item, buttonText = "Open Application", onOpen, className = "", style }) {
1668
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex flex-col w-[200px] h-[250px] rounded-lg bg-ice dark:bg-independence items-center justify-between p-2 shadow-2xl ${className}`.trim(), style, children: [
1660
1669
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-prussian-blue dark:text-white text-lg font-bold text-center h-1/4", children: /* @__PURE__ */ jsxRuntime.jsx("h2", { children: item.title }) }),
1661
1670
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-1/4 flex items-center justify-center", children: typeof item.cover === "string" ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: item.cover, alt: "Grid Card Cover" }) : item.cover }),
1662
1671
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-prussian-blue text-sm dark:text-white text-center h-1/4", children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: item.description }) }),
@@ -2275,8 +2284,8 @@ function Field({
2275
2284
  );
2276
2285
  }
2277
2286
  var SearchIcon = /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", className: "w-4 h-4", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", d: "M10.5 3.75a6.75 6.75 0 100 13.5 6.75 6.75 0 000-13.5zM2.25 10.5a8.25 8.25 0 1114.59 5.28l4.69 4.69a.75.75 0 11-1.06 1.06l-4.69-4.69A8.25 8.25 0 012.25 10.5z", clipRule: "evenodd" }) });
2278
- var SearchInput = React8__default.default.forwardRef(function SearchInput2({ value, onChange, disabled, label, htmlFor, placeholder, name, inputStyle, style, layout = "vertical", size = "md", icon, helperText }, ref) {
2279
- return /* @__PURE__ */ jsxRuntime.jsx(Field, { label, htmlFor, layout, helperText, children: /* @__PURE__ */ jsxRuntime.jsxs(
2287
+ var SearchInput = React8__default.default.forwardRef(function SearchInput2({ value, onChange, disabled, label, htmlFor, placeholder, name, inputStyle, style, layout = "vertical", size = "md", icon, helperText, className }, ref) {
2288
+ return /* @__PURE__ */ jsxRuntime.jsx(Field, { className, label, htmlFor, layout, helperText, children: /* @__PURE__ */ jsxRuntime.jsxs(
2280
2289
  "div",
2281
2290
  {
2282
2291
  className: `flex items-center ${fieldShell({ size, disabled, focusWithin: true })}`,
@@ -2424,7 +2433,8 @@ function Dropdown({
2424
2433
  items = [],
2425
2434
  labelStyle = {},
2426
2435
  placeholder,
2427
- size = "md"
2436
+ size = "md",
2437
+ className = ""
2428
2438
  }) {
2429
2439
  const [open, setOpen] = React8.useState(false);
2430
2440
  const [selectedItems, setSelectedItems] = React8.useState([]);
@@ -2472,7 +2482,7 @@ function Dropdown({
2472
2482
  );
2473
2483
  };
2474
2484
  const isSelected = (key) => Array.isArray(value) ? value.includes(key) : value === key;
2475
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2485
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: className || void 0, children: [
2476
2486
  /* @__PURE__ */ jsxRuntime.jsxs(
2477
2487
  "div",
2478
2488
  {
@@ -2880,7 +2890,9 @@ function Table({
2880
2890
  footer = null,
2881
2891
  header = null,
2882
2892
  loading = false,
2883
- loadingRowCount = 8
2893
+ loadingRowCount = 8,
2894
+ className = "",
2895
+ style
2884
2896
  }) {
2885
2897
  const searchRef = React8.useRef(null);
2886
2898
  const [searchTerm, setSearchTerm] = React8.useState("");
@@ -2940,7 +2952,7 @@ function Table({
2940
2952
  }
2941
2953
  setActivePage(newPage);
2942
2954
  };
2943
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full h-max rounded-lg", children: [
2955
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `w-full h-max rounded-lg ${className}`.trim(), style, children: [
2944
2956
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-2", children: [
2945
2957
  hasSearch && /* @__PURE__ */ jsxRuntime.jsx(
2946
2958
  SearchInput_default,
@@ -3117,7 +3129,8 @@ function Sidebar({
3117
3129
  onToggle,
3118
3130
  expandedWidth = 220,
3119
3131
  collapsedWidth = 52,
3120
- footer
3132
+ footer,
3133
+ className = ""
3121
3134
  }) {
3122
3135
  return /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { delayDuration: 200, children: /* @__PURE__ */ jsxRuntime.jsxs(
3123
3136
  framerMotion.motion.aside,
@@ -3125,7 +3138,7 @@ function Sidebar({
3125
3138
  initial: false,
3126
3139
  animate: { width: isExpanded ? expandedWidth : collapsedWidth },
3127
3140
  transition: { type: "tween", duration: 0.22, ease: [0.16, 1, 0.3, 1] },
3128
- className: "relative flex h-full flex-col border-r border-border bg-surface overflow-hidden flex-shrink-0",
3141
+ className: `relative flex h-full flex-col border-r border-border bg-surface overflow-hidden flex-shrink-0 ${className}`.trim(),
3129
3142
  children: [
3130
3143
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: [
3131
3144
  "flex h-14 flex-shrink-0 items-center border-b border-border",
@@ -3451,6 +3464,7 @@ function TextInput({
3451
3464
  onBlur,
3452
3465
  errorMessage,
3453
3466
  helperText,
3467
+ className,
3454
3468
  required,
3455
3469
  prefix,
3456
3470
  suffix
@@ -3479,6 +3493,7 @@ function TextInput({
3479
3493
  return /* @__PURE__ */ jsxRuntime.jsx(
3480
3494
  Field,
3481
3495
  {
3496
+ className,
3482
3497
  label,
3483
3498
  htmlFor,
3484
3499
  errorId,
@@ -3513,6 +3528,7 @@ function NumberInput({
3513
3528
  size = "md",
3514
3529
  errorMessage,
3515
3530
  helperText,
3531
+ className,
3516
3532
  required,
3517
3533
  inputStyle,
3518
3534
  labelStyle,
@@ -3557,6 +3573,7 @@ function NumberInput({
3557
3573
  return /* @__PURE__ */ jsxRuntime.jsx(
3558
3574
  Field,
3559
3575
  {
3576
+ className,
3560
3577
  label,
3561
3578
  htmlFor,
3562
3579
  errorId,
@@ -3648,6 +3665,7 @@ function Password({
3648
3665
  onBlur,
3649
3666
  errorMessage,
3650
3667
  helperText,
3668
+ className,
3651
3669
  required,
3652
3670
  showIcon,
3653
3671
  hideIcon
@@ -3658,6 +3676,7 @@ function Password({
3658
3676
  return /* @__PURE__ */ jsxRuntime.jsx(
3659
3677
  Field,
3660
3678
  {
3679
+ className,
3661
3680
  label,
3662
3681
  htmlFor,
3663
3682
  errorId,
@@ -3720,7 +3739,8 @@ function Checkbox({
3720
3739
  disabled = false,
3721
3740
  required,
3722
3741
  layout = "horizontal",
3723
- labelPosition = "right"
3742
+ labelPosition = "right",
3743
+ className = ""
3724
3744
  }) {
3725
3745
  const isChecked = checked ?? value ?? false;
3726
3746
  const labelFirst = labelPosition === "left";
@@ -3798,7 +3818,7 @@ function Checkbox({
3798
3818
  ] })
3799
3819
  ] });
3800
3820
  }
3801
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [
3821
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex flex-col gap-1 ${className}`.trim(), children: [
3802
3822
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-1", children: [
3803
3823
  content,
3804
3824
  helperText != null && /* @__PURE__ */ jsxRuntime.jsx(FieldHelpIcon, { text: helperText })
@@ -3829,6 +3849,7 @@ function RadioGroup({
3829
3849
  disabled,
3830
3850
  required,
3831
3851
  helperText,
3852
+ className,
3832
3853
  errorMessage
3833
3854
  }) {
3834
3855
  const errorId = React8.useId();
@@ -3838,6 +3859,7 @@ function RadioGroup({
3838
3859
  return /* @__PURE__ */ jsxRuntime.jsx(
3839
3860
  Field,
3840
3861
  {
3862
+ className,
3841
3863
  label,
3842
3864
  htmlFor: groupId,
3843
3865
  errorId,
@@ -3923,6 +3945,7 @@ function Switch({
3923
3945
  label,
3924
3946
  layout = "horizontal",
3925
3947
  helperText,
3948
+ className,
3926
3949
  offLabel,
3927
3950
  onLabel,
3928
3951
  name,
@@ -3948,6 +3971,7 @@ function Switch({
3948
3971
  return /* @__PURE__ */ jsxRuntime.jsx(
3949
3972
  Field,
3950
3973
  {
3974
+ className,
3951
3975
  label,
3952
3976
  htmlFor: id,
3953
3977
  errorId,
@@ -4002,6 +4026,7 @@ function AutoComplete({
4002
4026
  icon,
4003
4027
  errorMessage,
4004
4028
  helperText,
4029
+ className,
4005
4030
  required,
4006
4031
  htmlFor
4007
4032
  }) {
@@ -4056,6 +4081,7 @@ function AutoComplete({
4056
4081
  return /* @__PURE__ */ jsxRuntime.jsx(
4057
4082
  Field,
4058
4083
  {
4084
+ className,
4059
4085
  label,
4060
4086
  htmlFor,
4061
4087
  errorId,
@@ -4161,6 +4187,7 @@ function TreeSelect({
4161
4187
  disabled,
4162
4188
  layout = "horizontal",
4163
4189
  helperText,
4190
+ className,
4164
4191
  required,
4165
4192
  errorMessage,
4166
4193
  style,
@@ -4248,6 +4275,7 @@ function TreeSelect({
4248
4275
  return /* @__PURE__ */ jsxRuntime.jsx(
4249
4276
  Field,
4250
4277
  {
4278
+ className,
4251
4279
  label,
4252
4280
  htmlFor,
4253
4281
  errorId,
@@ -4414,6 +4442,7 @@ function FileInput({
4414
4442
  maxSize,
4415
4443
  errorMessage,
4416
4444
  helperText,
4445
+ className,
4417
4446
  disabled,
4418
4447
  required,
4419
4448
  icon
@@ -4456,6 +4485,7 @@ function FileInput({
4456
4485
  return /* @__PURE__ */ jsxRuntime.jsxs(
4457
4486
  Field,
4458
4487
  {
4488
+ className,
4459
4489
  label,
4460
4490
  htmlFor,
4461
4491
  errorId,
@@ -4919,6 +4949,7 @@ function TextArea({
4919
4949
  resize,
4920
4950
  errorMessage,
4921
4951
  helperText,
4952
+ className,
4922
4953
  required,
4923
4954
  style,
4924
4955
  inputStyle
@@ -4940,6 +4971,7 @@ function TextArea({
4940
4971
  return /* @__PURE__ */ jsxRuntime.jsxs(
4941
4972
  Field,
4942
4973
  {
4974
+ className,
4943
4975
  label,
4944
4976
  htmlFor,
4945
4977
  errorId,
@@ -4988,6 +5020,7 @@ function SegmentedControl({
4988
5020
  label,
4989
5021
  layout = "vertical",
4990
5022
  helperText,
5023
+ className,
4991
5024
  name,
4992
5025
  required,
4993
5026
  errorMessage,
@@ -5008,6 +5041,7 @@ function SegmentedControl({
5008
5041
  return /* @__PURE__ */ jsxRuntime.jsxs(
5009
5042
  Field,
5010
5043
  {
5044
+ className,
5011
5045
  label,
5012
5046
  htmlFor: groupId,
5013
5047
  errorId,
@@ -5086,6 +5120,7 @@ function Slider({
5086
5120
  disabled,
5087
5121
  errorMessage,
5088
5122
  helperText,
5123
+ className,
5089
5124
  required,
5090
5125
  name,
5091
5126
  htmlFor
@@ -5104,7 +5139,7 @@ function Slider({
5104
5139
  onChange?.(next);
5105
5140
  };
5106
5141
  const valueText = current.map(formatValue).join(" \u2013 ");
5107
- return /* @__PURE__ */ jsxRuntime.jsxs(Field, { label: void 0, errorId, errorMessage, children: [
5142
+ return /* @__PURE__ */ jsxRuntime.jsxs(Field, { className, label: void 0, errorId, errorMessage, children: [
5108
5143
  (label || showValue) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-2", children: [
5109
5144
  label && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1", children: [
5110
5145
  /* @__PURE__ */ jsxRuntime.jsxs("label", { htmlFor, className: "text-sm font-medium text-foreground select-none", children: [
@@ -5185,6 +5220,7 @@ function TagsInput({
5185
5220
  disabled,
5186
5221
  errorMessage,
5187
5222
  helperText,
5223
+ className,
5188
5224
  required,
5189
5225
  maxTags,
5190
5226
  dedupe = true,
@@ -5248,6 +5284,7 @@ function TagsInput({
5248
5284
  return /* @__PURE__ */ jsxRuntime.jsx(
5249
5285
  Field,
5250
5286
  {
5287
+ className,
5251
5288
  label,
5252
5289
  htmlFor,
5253
5290
  errorId,
@@ -5322,6 +5359,7 @@ function OtpInput({
5322
5359
  required,
5323
5360
  layout = "vertical",
5324
5361
  helperText,
5362
+ className,
5325
5363
  groupAfter
5326
5364
  }) {
5327
5365
  const errorId = React8.useId();
@@ -5375,7 +5413,7 @@ function OtpInput({
5375
5413
  emit(valid.join(""));
5376
5414
  focusBox(valid.length);
5377
5415
  };
5378
- return /* @__PURE__ */ jsxRuntime.jsx(Field, { label, htmlFor, errorId, errorMessage, required, layout, helperText, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", role: "group", "aria-label": typeof label === "string" ? label : "One-time code", children: chars.map((char, idx) => /* @__PURE__ */ jsxRuntime.jsxs(React8__default.default.Fragment, { children: [
5416
+ return /* @__PURE__ */ jsxRuntime.jsx(Field, { className, label, htmlFor, errorId, errorMessage, required, layout, helperText, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", role: "group", "aria-label": typeof label === "string" ? label : "One-time code", children: chars.map((char, idx) => /* @__PURE__ */ jsxRuntime.jsxs(React8__default.default.Fragment, { children: [
5379
5417
  /* @__PURE__ */ jsxRuntime.jsx(
5380
5418
  "input",
5381
5419
  {
@@ -5430,6 +5468,7 @@ function Rating({
5430
5468
  name,
5431
5469
  layout = "vertical",
5432
5470
  helperText,
5471
+ className,
5433
5472
  required
5434
5473
  }) {
5435
5474
  const errorId = React8.useId();
@@ -5460,7 +5499,7 @@ function Rating({
5460
5499
  commit(count);
5461
5500
  }
5462
5501
  };
5463
- return /* @__PURE__ */ jsxRuntime.jsx(Field, { label, errorId, errorMessage, layout, required, helperText, children: /* @__PURE__ */ jsxRuntime.jsxs(
5502
+ return /* @__PURE__ */ jsxRuntime.jsx(Field, { className, label, errorId, errorMessage, layout, required, helperText, children: /* @__PURE__ */ jsxRuntime.jsxs(
5464
5503
  "div",
5465
5504
  {
5466
5505
  role: interactive ? "slider" : "img",
@@ -5553,6 +5592,7 @@ function TimePicker({
5553
5592
  disabled,
5554
5593
  errorMessage,
5555
5594
  helperText,
5595
+ className,
5556
5596
  required,
5557
5597
  style
5558
5598
  }) {
@@ -5585,7 +5625,7 @@ function TimePicker({
5585
5625
  },
5586
5626
  n
5587
5627
  )) });
5588
- return /* @__PURE__ */ jsxRuntime.jsxs(Field, { label, htmlFor, errorId, errorMessage, helperText, layout, required, children: [
5628
+ return /* @__PURE__ */ jsxRuntime.jsxs(Field, { className, label, htmlFor, errorId, errorMessage, helperText, layout, required, children: [
5589
5629
  /* @__PURE__ */ jsxRuntime.jsxs(Popover__namespace.Root, { open: open && !disabled, onOpenChange: (o) => !disabled && setOpen(o), children: [
5590
5630
  /* @__PURE__ */ jsxRuntime.jsx(Popover__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
5591
5631
  "button",
@@ -5678,6 +5718,7 @@ function DateRangePicker({
5678
5718
  disabled,
5679
5719
  errorMessage,
5680
5720
  helperText,
5721
+ className,
5681
5722
  required,
5682
5723
  style
5683
5724
  }) {
@@ -5750,7 +5791,7 @@ function DateRangePicker({
5750
5791
  ] })
5751
5792
  ] });
5752
5793
  };
5753
- return /* @__PURE__ */ jsxRuntime.jsx(Field, { label, htmlFor, errorId, errorMessage, helperText, layout, required, children: /* @__PURE__ */ jsxRuntime.jsxs(Popover__namespace.Root, { open: open && !disabled, onOpenChange: (o) => {
5794
+ return /* @__PURE__ */ jsxRuntime.jsx(Field, { className, label, htmlFor, errorId, errorMessage, helperText, layout, required, children: /* @__PURE__ */ jsxRuntime.jsxs(Popover__namespace.Root, { open: open && !disabled, onOpenChange: (o) => {
5754
5795
  if (!disabled) {
5755
5796
  setOpen(o);
5756
5797
  if (!o) {
@@ -5859,6 +5900,7 @@ function ColorPicker({
5859
5900
  disabled,
5860
5901
  errorMessage,
5861
5902
  helperText,
5903
+ className,
5862
5904
  required,
5863
5905
  placeholder = "Pick a colour\u2026"
5864
5906
  }) {
@@ -5876,7 +5918,7 @@ function ColorPicker({
5876
5918
  setDraft(hex);
5877
5919
  if (HEX_RE.test(hex)) onChange?.(hex);
5878
5920
  };
5879
- return /* @__PURE__ */ jsxRuntime.jsxs(Field, { label, htmlFor, errorId, errorMessage, helperText, layout, required, children: [
5921
+ return /* @__PURE__ */ jsxRuntime.jsxs(Field, { className, label, htmlFor, errorId, errorMessage, helperText, layout, required, children: [
5880
5922
  /* @__PURE__ */ jsxRuntime.jsxs(Popover__namespace.Root, { open: open && !disabled, onOpenChange: (o) => !disabled && setOpen(o), children: [
5881
5923
  /* @__PURE__ */ jsxRuntime.jsx(Popover__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
5882
5924
  "button",