@datum-cloud/datum-ui 3.7.1 → 3.10.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.
Files changed (106) hide show
  1. package/dist/app-navigation/index.mjs +1 -1
  2. package/dist/{app-navigation-Bcx7hr9L.mjs → app-navigation-DyNZwlSG.mjs} +4 -4
  3. package/dist/assistant/index.mjs +9 -8
  4. package/dist/autocomplete/index.mjs +1 -1
  5. package/dist/{autocomplete-fSSmRLYK.mjs → autocomplete-CrCbO2VS.mjs} +12 -6
  6. package/dist/autosearch/index.mjs +3 -3
  7. package/dist/badge/index.mjs +182 -1
  8. package/dist/button/index.mjs +2 -2
  9. package/dist/{button-Dj6cKrWj.mjs → button-Cn4KagBO.mjs} +1 -1
  10. package/dist/{button-BU8TEbJ5.mjs → button-IK-Lnu_9.mjs} +1 -1
  11. package/dist/button-group/index.mjs +1 -1
  12. package/dist/{button-group-C3GKo-0p.mjs → button-group-DJ6X1SSj.mjs} +2 -2
  13. package/dist/{calendar-date-picker-BUwgVaI1.mjs → calendar-date-picker-BRKs56gR.mjs} +1 -1
  14. package/dist/card/index.mjs +1 -1
  15. package/dist/{card-save-bar-0XDpAJo_.mjs → card-save-bar-Te8jf-ie.mjs} +1 -1
  16. package/dist/checkbox/index.mjs +1 -1
  17. package/dist/checkbox-BAo5sbHk.mjs +84 -0
  18. package/dist/collapsible/index.mjs +1 -6
  19. package/dist/collapsible-B-KP3JZ-.mjs +104 -0
  20. package/dist/components/base/checkbox/checkbox.d.ts +11 -3
  21. package/dist/components/base/collapsible/collapsible.d.ts +28 -0
  22. package/dist/components/base/collapsible/index.d.ts +1 -1
  23. package/dist/components/base/radio-group/radio-group.d.ts +11 -5
  24. package/dist/components/base/spinner/index.d.ts +1 -1
  25. package/dist/components/base/spinner/spinner.d.ts +11 -0
  26. package/dist/components/base/switch/switch.d.ts +6 -1
  27. package/dist/components/base/typography/typography.d.ts +1 -1
  28. package/dist/components/features/_shared/copy-state-icon.d.ts +12 -0
  29. package/dist/components/features/_shared/index.d.ts +2 -0
  30. package/dist/components/features/_shared/motion-chip.d.ts +293 -0
  31. package/dist/components/features/logs/hooks/use-logs-url-state.d.ts +59 -0
  32. package/dist/components/features/logs/index.d.ts +4 -1
  33. package/dist/components/features/logs/utils/facet-counts.d.ts +50 -0
  34. package/dist/components/features/logs/utils/facets.d.ts +2 -0
  35. package/dist/components/features/logs/utils/index.d.ts +4 -0
  36. package/dist/components/features/logs/utils/url-state.d.ts +61 -0
  37. package/dist/components/icons/spinner.icon.d.ts +17 -3
  38. package/dist/copy-state-icon-DMvXXsZm.mjs +61 -0
  39. package/dist/data-table/index.mjs +1 -1
  40. package/dist/{data-table-s2YrE79S.mjs → data-table-DFUnUydN.mjs} +8 -8
  41. package/dist/date-picker/index.mjs +3 -3
  42. package/dist/date-time-picker/index.mjs +1 -1
  43. package/dist/{date-time-picker-CLdaGiGC.mjs → date-time-picker-BRMm2QSz.mjs} +1 -1
  44. package/dist/{date-time-range-picker-RZX4CS4b.mjs → date-time-range-picker-CqGGJTLS.mjs} +20 -9
  45. package/dist/dropzone/index.mjs +1 -1
  46. package/dist/{dropzone-Cer9E-VH.mjs → dropzone-qKYfSe7o.mjs} +1 -1
  47. package/dist/empty-content/index.mjs +1 -1
  48. package/dist/{empty-content-B2FZ9cyt.mjs → empty-content-CTMHak36.mjs} +1 -1
  49. package/dist/field-styles-D-FJatHt.mjs +31 -0
  50. package/dist/form/index.mjs +1 -1
  51. package/dist/form/stepper/index.mjs +1 -1
  52. package/dist/{form-C4XcxxjK.mjs → form-VdbSqDjL.mjs} +20 -13
  53. package/dist/grouped-table/index.mjs +1 -1
  54. package/dist/{grouped-table-32RO2v7U.mjs → grouped-table-B4HzLXq6.mjs} +3 -3
  55. package/dist/hooks/index.mjs +1 -1
  56. package/dist/hooks/use-breakpoint.d.ts +7 -2
  57. package/dist/icons/index.mjs +1 -1
  58. package/dist/index.mjs +37 -37
  59. package/dist/{layers-XEND2WKv.mjs → layers-BC1Ny49w.mjs} +11 -3
  60. package/dist/loader-overlay/index.mjs +1 -1
  61. package/dist/{loader-overlay-JvB8IQo3.mjs → loader-overlay-DP0pvHuG.mjs} +1 -1
  62. package/dist/logs/index.mjs +412 -115
  63. package/dist/map/index.mjs +1 -1
  64. package/dist/more-actions/index.mjs +1 -1
  65. package/dist/{more-actions-D9k1ILzT.mjs → more-actions-DXQiV-bN.mjs} +2 -2
  66. package/dist/motion-chip-BczV7spP.mjs +52 -0
  67. package/dist/multi-select/index.mjs +1 -1
  68. package/dist/{multi-select-BUgx6VZF.mjs → multi-select-DwcsJdHt.mjs} +82 -66
  69. package/dist/picker/index.mjs +2 -2
  70. package/dist/{picker-C0h30DHf.mjs → picker-BHPtncpv.mjs} +2 -2
  71. package/dist/radio-group/index.mjs +1 -1
  72. package/dist/radio-group-Boxi2hm0.mjs +83 -0
  73. package/dist/responsive-dropdown/index.mjs +1 -1
  74. package/dist/{responsive-dropdown-DsWgpE_i.mjs → responsive-dropdown-B9cDUeHt.mjs} +1 -1
  75. package/dist/responsive-popover/index.mjs +1 -1
  76. package/dist/{responsive-popover-DJYd8lOK.mjs → responsive-popover-B_pUxrZ1.mjs} +1 -1
  77. package/dist/rich-text-editor/index.mjs +1 -1
  78. package/dist/{rich-text-editor-ibngjhQV.mjs → rich-text-editor-CPd_6vdZ.mjs} +2 -2
  79. package/dist/select/index.mjs +1 -1
  80. package/dist/{select-DemYhwnG.mjs → select-B0Xlz-wD.mjs} +3 -2
  81. package/dist/{select-jgK6wyXj.mjs → select-CGsHf70u.mjs} +7 -2
  82. package/dist/spinner/index.mjs +1 -1
  83. package/dist/spinner-DSlDJdWl.mjs +23 -0
  84. package/dist/spinner.icon-BiUnMAxw.mjs +104 -0
  85. package/dist/switch/index.mjs +1 -1
  86. package/dist/switch-IduVwiPZ.mjs +114 -0
  87. package/dist/tabs/index.mjs +1 -1
  88. package/dist/tag-input/index.mjs +1 -1
  89. package/dist/{tag-input-DAMY703F.mjs → tag-input-a3ktkGrH.mjs} +39 -32
  90. package/dist/task-queue/index.mjs +1 -1
  91. package/dist/{task-queue-dropdown-BgQSGDwg.mjs → task-queue-dropdown-BflEFiMi.mjs} +4 -4
  92. package/dist/time-picker/index.mjs +1 -1
  93. package/dist/{time-picker-DgHjdcMZ.mjs → time-picker-BFwH-Vd3.mjs} +1 -1
  94. package/dist/{to-api-format-EZInfj0_.mjs → to-api-format-BiWOTFha.mjs} +4 -4
  95. package/dist/transfer/index.mjs +1 -1
  96. package/dist/{transfer-91lwTOhX.mjs → transfer-DGUeAQUL.mjs} +1 -1
  97. package/dist/{use-breakpoint-zY_JYINK.mjs → use-breakpoint-Ce5tS4cU.mjs} +11 -5
  98. package/dist/{use-option-picker-CBMU72LU.mjs → use-option-picker-DXY2SNnT.mjs} +2 -2
  99. package/dist/utils/field-styles.d.ts +21 -0
  100. package/package.json +1 -4
  101. package/dist/badge-D7A6GfWn.mjs +0 -182
  102. package/dist/checkbox-CNljVnKj.mjs +0 -28
  103. package/dist/radio-group-0RxTmRnF.mjs +0 -43
  104. package/dist/spinner-DjEpx6Q3.mjs +0 -13
  105. package/dist/spinner.icon-D0SKuGFG.mjs +0 -47
  106. package/dist/switch-CWvVN9ea.mjs +0 -33
@@ -0,0 +1,61 @@
1
+ import { n as EASE, t as DURATION } from "./motion-DOrRbLmy.mjs";
2
+ import { CheckIcon, CopyIcon } from "lucide-react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { motion, useReducedMotion } from "motion/react";
5
+ // src/components/features/_shared/copy-state-icon.tsx
6
+ const TRANSITION = {
7
+ duration: DURATION.fast,
8
+ ease: EASE.out
9
+ };
10
+ const SHOWN = {
11
+ opacity: 1,
12
+ scale: 1,
13
+ filter: "blur(0px)"
14
+ };
15
+ const HIDDEN = {
16
+ opacity: 0,
17
+ scale: .5,
18
+ filter: "blur(2px)"
19
+ };
20
+ const HIDDEN_REDUCED = {
21
+ opacity: 0,
22
+ scale: 1,
23
+ filter: "blur(0px)"
24
+ };
25
+ /**
26
+ * Copy glyph that turns into a check once the copy has happened, and back again
27
+ * when `copied` resets. The two glyphs are stacked and cross-fade with a scale
28
+ * and a light blur, so the swap reads as one icon changing rather than two
29
+ * swapping places. Under reduced motion it only fades.
30
+ *
31
+ * Decorative: the owning button carries the accessible label.
32
+ */
33
+ function CopyStateIcon({ copied, ...iconProps }) {
34
+ const hidden = Boolean(useReducedMotion()) ? HIDDEN_REDUCED : HIDDEN;
35
+ return /* @__PURE__ */ jsxs("span", {
36
+ "aria-hidden": true,
37
+ "data-slot": "copy-state-icon",
38
+ "data-copied": copied,
39
+ className: "inline-grid shrink-0 place-items-center",
40
+ children: [/* @__PURE__ */ jsx(motion.span, {
41
+ className: "flex [grid-area:1/1]",
42
+ initial: false,
43
+ animate: copied ? hidden : SHOWN,
44
+ transition: TRANSITION,
45
+ children: /* @__PURE__ */ jsx(CopyIcon, {
46
+ "aria-hidden": true,
47
+ ...iconProps
48
+ })
49
+ }), /* @__PURE__ */ jsx(motion.span, {
50
+ className: "flex [grid-area:1/1]",
51
+ initial: false,
52
+ animate: copied ? SHOWN : hidden,
53
+ transition: TRANSITION,
54
+ children: /* @__PURE__ */ jsx(CheckIcon, {
55
+ "aria-hidden": true,
56
+ ...iconProps
57
+ })
58
+ })]
59
+ });
60
+ }
61
+ export { CopyStateIcon as t };
@@ -1 +1 @@
1
- export { v as DEFAULT_DEBOUNCE_MS, y as DEFAULT_LOADING_ROWS, b as DEFAULT_PAGE_SIZE, x as DEFAULT_PAGE_SIZES, t as DataTable, h as DataTableColumnHeader, m as DataTableRowActions, u as createDataTableStore, g as createSelectionColumn, p as dataTableFeatures, d as resolvePath, f as rowMatchesSearch, n as useDataTableFilters, r as useDataTableInlineContents, i as useDataTableLoading, a as useDataTablePagination, o as useDataTableRows, s as useDataTableSearch, c as useDataTableSelection, l as useDataTableSorting, _ as useNuqsAdapter } from "../data-table-s2YrE79S.mjs";
1
+ export { v as DEFAULT_DEBOUNCE_MS, y as DEFAULT_LOADING_ROWS, b as DEFAULT_PAGE_SIZE, x as DEFAULT_PAGE_SIZES, t as DataTable, h as DataTableColumnHeader, m as DataTableRowActions, u as createDataTableStore, g as createSelectionColumn, p as dataTableFeatures, d as resolvePath, f as rowMatchesSearch, n as useDataTableFilters, r as useDataTableInlineContents, i as useDataTableLoading, a as useDataTablePagination, o as useDataTableRows, s as useDataTableSearch, c as useDataTableSelection, l as useDataTableSorting, _ as useNuqsAdapter } from "../data-table-DFUnUydN.mjs";
@@ -1,17 +1,17 @@
1
- import { t as Checkbox } from "./checkbox-CNljVnKj.mjs";
1
+ import { t as Checkbox } from "./checkbox-BAo5sbHk.mjs";
2
2
  import { t as cn } from "./utils-CTIuhCOs.mjs";
3
- import { t as Button } from "./button-Dj6cKrWj.mjs";
4
- import { t as ResponsiveDropdown } from "./responsive-dropdown-DsWgpE_i.mjs";
3
+ import { t as Button } from "./button-Cn4KagBO.mjs";
4
+ import { t as ResponsiveDropdown } from "./responsive-dropdown-B9cDUeHt.mjs";
5
5
  import { t as ActionRow } from "./action-row-BEzE9x37.mjs";
6
- import { t as Badge } from "./badge-D7A6GfWn.mjs";
6
+ import { Badge } from "./badge/index.mjs";
7
7
  import { Skeleton } from "./skeleton/index.mjs";
8
8
  import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "./table/index.mjs";
9
- import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "./select-DemYhwnG.mjs";
9
+ import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "./select-B0Xlz-wD.mjs";
10
10
  import { t as Input } from "./input-DsT5qkJn.mjs";
11
11
  import { n as useDebouncedSearchInput } from "./use-debounced-search-input-B4u28iLx.mjs";
12
- import { t as MultiSelect } from "./multi-select-BUgx6VZF.mjs";
13
- import { t as CalendarDatePicker } from "./calendar-date-picker-BUwgVaI1.mjs";
14
- import { t as Autocomplete } from "./autocomplete-fSSmRLYK.mjs";
12
+ import { t as MultiSelect } from "./multi-select-DwcsJdHt.mjs";
13
+ import { t as CalendarDatePicker } from "./calendar-date-picker-BRKs56gR.mjs";
14
+ import { t as Autocomplete } from "./autocomplete-CrCbO2VS.mjs";
15
15
  import { ArrowDown, ArrowUp, ArrowUpDown, ChevronLeft, ChevronRight, MoreHorizontal, Search, X } from "lucide-react";
16
16
  import { createContext, memo, use, useCallback, useContext, useEffect, useId, useMemo, useRef, useState, useSyncExternalStore } from "react";
17
17
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- import { M as getBrowserTimezone, N as getTimezoneOffset, j as formatTimezoneLabel } from "../date-time-range-picker-RZX4CS4b.mjs";
2
- import { t as CalendarDatePicker } from "../calendar-date-picker-BUwgVaI1.mjs";
3
- import { _ as getShortTimezoneDisplay, a as TimeRangePicker, b as utcToLocalInputString, c as getPresetByKey, d as TimezoneSelector, f as QuickRangesPanel, g as getDefaultTimezoneOptions, h as formatUtcForDisplay, i as formatTimeRangeDisplay, l as getPresetByShortcut, m as createTimezoneOption, n as formatDateForInput, o as DEFAULT_PRESETS, p as CustomRangePanel, r as formatSingleTimeDisplay, s as getDefaultPreset, t as toApiTimeRange, u as getPresetRange, v as localInputStringToUtc, x as zonedDateToUtcString, y as utcStringToZonedDate } from "../to-api-format-EZInfj0_.mjs";
1
+ import { M as getBrowserTimezone, N as getTimezoneOffset, j as formatTimezoneLabel } from "../date-time-range-picker-CqGGJTLS.mjs";
2
+ import { t as CalendarDatePicker } from "../calendar-date-picker-BRKs56gR.mjs";
3
+ import { _ as getShortTimezoneDisplay, a as TimeRangePicker, b as utcToLocalInputString, c as getPresetByKey, d as TimezoneSelector, f as QuickRangesPanel, g as getDefaultTimezoneOptions, h as formatUtcForDisplay, i as formatTimeRangeDisplay, l as getPresetByShortcut, m as createTimezoneOption, n as formatDateForInput, o as DEFAULT_PRESETS, p as CustomRangePanel, r as formatSingleTimeDisplay, s as getDefaultPreset, t as toApiTimeRange, u as getPresetRange, v as localInputStringToUtc, x as zonedDateToUtcString, y as utcStringToZonedDate } from "../to-api-format-BiWOTFha.mjs";
4
4
  export { CustomRangePanel as AbsoluteRangePanel, CustomRangePanel, CalendarDatePicker, DEFAULT_PRESETS, QuickRangesPanel, TimeRangePicker, TimezoneSelector, createTimezoneOption, formatDateForInput, formatSingleTimeDisplay, formatTimeRangeDisplay, formatTimezoneLabel, formatUtcForDisplay, getBrowserTimezone, getDefaultPreset, getDefaultTimezoneOptions, getPresetByKey, getPresetByShortcut, getPresetRange, getShortTimezoneDisplay, getTimezoneOffset, localInputStringToUtc, toApiTimeRange, utcStringToZonedDate, utcToLocalInputString, zonedDateToUtcString };
@@ -1 +1 @@
1
- export { t as DateTimePicker } from "../date-time-picker-CLdaGiGC.mjs";
1
+ export { t as DateTimePicker } from "../date-time-picker-BRMm2QSz.mjs";
@@ -1,5 +1,5 @@
1
1
  import { t as useDeprecationWarning } from "./use-deprecation-warning-BS1V4IS5.mjs";
2
- import { r as DateTimePicker$1 } from "./picker-C0h30DHf.mjs";
2
+ import { r as DateTimePicker$1 } from "./picker-BHPtncpv.mjs";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  // src/components/features/date-time-picker/date-time-picker.tsx
5
5
  /**
@@ -1,10 +1,12 @@
1
1
  import { Calendar } from "./calendar/index.mjs";
2
2
  import { t as cn } from "./utils-CTIuhCOs.mjs";
3
- import { t as ResponsivePopover } from "./responsive-popover-DJYd8lOK.mjs";
3
+ import { t as ResponsivePopover } from "./responsive-popover-B_pUxrZ1.mjs";
4
4
  import { t as Button } from "./button-C57mkFkS.mjs";
5
- import { t as useBreakpoint } from "./use-breakpoint-zY_JYINK.mjs";
6
- import { n as OptionList, t as useOptionPicker } from "./use-option-picker-CBMU72LU.mjs";
7
- import { t as Button$1 } from "./button-Dj6cKrWj.mjs";
5
+ import { t as useBreakpoint } from "./use-breakpoint-Ce5tS4cU.mjs";
6
+ import { n as OptionList, t as useOptionPicker } from "./use-option-picker-DXY2SNnT.mjs";
7
+ import { r as fieldTriggerClassName, t as fieldIconClassName } from "./field-styles-D-FJatHt.mjs";
8
+ import { t as Icon } from "./icon-wrapper-CIk2th6R.mjs";
9
+ import { t as Button$1 } from "./button-Cn4KagBO.mjs";
8
10
  import { CalendarIcon, Clock, Globe, X } from "lucide-react";
9
11
  import { createContext, useCallback, useContext, useEffect, useMemo, useReducer, useRef, useState } from "react";
10
12
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1272,7 +1274,11 @@ function PickerTimezoneIndicator({ className, variant = "full" }) {
1272
1274
  }
1273
1275
  PickerTimezoneIndicator.displayName = "Picker.TimezoneIndicator";
1274
1276
  // src/components/features/picker/components/trigger.tsx
1275
- const DEFAULT_ICON = /* @__PURE__ */ jsx(CalendarIcon, { className: "text-muted-foreground size-4 shrink-0" });
1277
+ const DEFAULT_ICON = /* @__PURE__ */ jsx(Icon, {
1278
+ icon: CalendarIcon,
1279
+ className: fieldIconClassName,
1280
+ "aria-hidden": "true"
1281
+ });
1276
1282
  function PickerTrigger({ placeholder = "Pick a date", clearable = false, disabled = false, children, className, triggerClassName, id, icon, onClick, ...slotProps }) {
1277
1283
  const { state, actions } = usePickerContext();
1278
1284
  const hasValue = state.pendingValue !== null && state.pendingValue !== void 0;
@@ -1290,12 +1296,12 @@ function PickerTrigger({ placeholder = "Pick a date", clearable = false, disable
1290
1296
  if (state.open) actions.close();
1291
1297
  else actions.open();
1292
1298
  },
1293
- className: cn("w-full justify-between gap-2 rounded-lg font-normal", triggerClassName, className),
1299
+ className: cn(fieldTriggerClassName, "h-10 justify-between hover:bg-input-background/50 hover:text-input-foreground", triggerClassName, className),
1294
1300
  ...slotProps,
1295
1301
  children: [/* @__PURE__ */ jsxs("span", {
1296
1302
  className: "flex flex-1 items-center gap-2 truncate",
1297
1303
  children: [renderedIcon, /* @__PURE__ */ jsx("span", {
1298
- className: cn("truncate", !hasValue && "text-muted-foreground"),
1304
+ className: cn("truncate", !hasValue && "text-input-placeholder"),
1299
1305
  children: hasValue ? children ? children(state.pendingValue) : String(state.pendingValue) : placeholder
1300
1306
  })]
1301
1307
  }), clearable && hasValue && /* @__PURE__ */ jsx("button", {
@@ -1305,8 +1311,13 @@ function PickerTrigger({ placeholder = "Pick a date", clearable = false, disable
1305
1311
  e.stopPropagation();
1306
1312
  actions.clear();
1307
1313
  },
1308
- className: "text-muted-foreground hover:text-destructive shrink-0 rounded-sm p-0.5 transition-colors",
1309
- children: /* @__PURE__ */ jsx(X, { className: "size-3.5" })
1314
+ className: "text-muted-foreground hover:text-destructive -m-0.5 shrink-0 rounded-sm p-0.5 transition-colors",
1315
+ children: /* @__PURE__ */ jsx(Icon, {
1316
+ icon: X,
1317
+ size: 14,
1318
+ className: "size-3.5! shrink-0",
1319
+ "aria-hidden": "true"
1320
+ })
1310
1321
  })]
1311
1322
  });
1312
1323
  }
@@ -1 +1 @@
1
- export { t as Dropzone, n as DropzoneContent, r as DropzoneEmptyState, i as FileInputButton } from "../dropzone-Cer9E-VH.mjs";
1
+ export { t as Dropzone, n as DropzoneContent, r as DropzoneEmptyState, i as FileInputButton } from "../dropzone-qKYfSe7o.mjs";
@@ -1,5 +1,5 @@
1
1
  import { t as cn } from "./utils-CTIuhCOs.mjs";
2
- import { t as Button } from "./button-Dj6cKrWj.mjs";
2
+ import { t as Button } from "./button-Cn4KagBO.mjs";
3
3
  import { t as Button$1 } from "./button-C57mkFkS.mjs";
4
4
  import { t as Icon } from "./icon-wrapper-CIk2th6R.mjs";
5
5
  import { UploadIcon } from "lucide-react";
@@ -1 +1 @@
1
- export { t as EmptyContent } from "../empty-content-B2FZ9cyt.mjs";
1
+ export { t as EmptyContent } from "../empty-content-CTMHak36.mjs";
@@ -1,5 +1,5 @@
1
1
  import { t as cn } from "./utils-CTIuhCOs.mjs";
2
- import { t as Button } from "./button-Dj6cKrWj.mjs";
2
+ import { t as Button } from "./button-Cn4KagBO.mjs";
3
3
  import { t as Tooltip } from "./tooltip-OIySjJWW.mjs";
4
4
  import { cva } from "class-variance-authority";
5
5
  import { Fragment } from "react";
@@ -0,0 +1,31 @@
1
+ // src/utils/field-styles.ts
2
+ /**
3
+ * Shared look for every input-like trigger: Select, Autocomplete, MultiSelect
4
+ * and the date/time pickers. They sit next to each other in toolbars and
5
+ * filter rows, so they must line up with `Input` and with each other:
6
+ *
7
+ * - 12px (`px-3`) inline padding, the same as `Input`
8
+ * - `text-sm`, regular weight for both the value and the placeholder
9
+ * - 8px (`gap-2`) between the leading icon, the value and trailing icons
10
+ * - trailing chevrons are 16px and muted, with no extra margin, so the
11
+ * chevron sits 12px from the right edge on every trigger
12
+ * - clear (X) icons are 14px: lucide's X fills more of its box than the
13
+ * chevron, so at 16px it looks heavier than the chevron beside it
14
+ *
15
+ * Internal: not part of the public `utils` entry.
16
+ */
17
+ /** Box, type and focus styles. Height is left to each component. */
18
+ const fieldTriggerClassName = [
19
+ "flex w-full items-center gap-2 rounded-lg border px-3 text-left text-sm font-normal",
20
+ "border-input-border bg-input-background/50 text-input-foreground shadow-none",
21
+ "transition-[color,background-color,border-color,box-shadow] outline-none",
22
+ "focus-visible:border-input-focus-border focus-visible:shadow-(--input-focus-shadow)",
23
+ "focus-visible:ring-0 focus-visible:ring-offset-0",
24
+ "aria-invalid:border-destructive",
25
+ "disabled:cursor-not-allowed disabled:opacity-50"
26
+ ].join(" ");
27
+ /** Placeholder text inside a trigger. Same colour as `Input`'s placeholder. */
28
+ const fieldPlaceholderClassName = "text-input-placeholder";
29
+ /** Leading icons and the trailing chevron. Clear icons use `size-3.5`. */
30
+ const fieldIconClassName = "text-muted-foreground size-4 shrink-0";
31
+ export { fieldPlaceholderClassName as n, fieldTriggerClassName as r, fieldIconClassName as t };
@@ -1,3 +1,3 @@
1
- import { A as FormCheckbox, C as FormDialog, D as FormCustom, E as FormDatePicker, M as FormAutosearch, N as FormAutocomplete, O as FormCopyBox, S as FormError, T as FormDateTimePicker, _ as FormRadioGroup, a as useField, b as FormFieldArray, c as useWatchAll, d as FormTextarea, f as FormSwitch, g as FormRoot, h as FormSelectItem, i as useFieldContext, j as FormButton, k as FormCombobox, l as FormTransfer, m as FormSelect, n as useFormState, o as FormWhen, p as FormSubmit, r as useFormContext, s as useWatch, t as Form, u as FormTimePicker, v as FormRadioItem, w as FormDescription, x as FormField, y as FormInput } from "../form-C4XcxxjK.mjs";
1
+ import { A as FormCheckbox, C as FormDialog, D as FormCustom, E as FormDatePicker, M as FormAutosearch, N as FormAutocomplete, O as FormCopyBox, S as FormError, T as FormDateTimePicker, _ as FormRadioGroup, a as useField, b as FormFieldArray, c as useWatchAll, d as FormTextarea, f as FormSwitch, g as FormRoot, h as FormSelectItem, i as useFieldContext, j as FormButton, k as FormCombobox, l as FormTransfer, m as FormSelect, n as useFormState, o as FormWhen, p as FormSubmit, r as useFormContext, s as useWatch, t as Form, u as FormTimePicker, v as FormRadioItem, w as FormDescription, x as FormField, y as FormInput } from "../form-VdbSqDjL.mjs";
2
2
  import { n as useAdapter, t as FormAdapterProvider } from "../adapter-context-XT749tyT.mjs";
3
3
  export { Form, FormAdapterProvider, FormAutocomplete, FormAutosearch, FormButton, FormCheckbox, FormCombobox, FormCopyBox, FormCustom, FormDatePicker, FormDateTimePicker, FormDescription, FormDialog, FormError, FormField, FormFieldArray, FormInput, FormRadioGroup, FormRadioItem, FormRoot, FormSelect, FormSelectItem, FormSubmit, FormSwitch, FormTextarea, FormTimePicker, FormTransfer, FormWhen, useAdapter, useField, useFieldContext, useFormContext, useFormState, useWatch, useWatchAll };
@@ -3,7 +3,7 @@ import { t as defineStepper } from "../../stepper-ZipxpzWY.mjs";
3
3
  import { n as useAdapter } from "../../adapter-context-XT749tyT.mjs";
4
4
  import { n as useFormContext, t as FormProvider } from "../../form-context-BRzt53M5.mjs";
5
5
  import { t as getObjectShape } from "../../zod-helpers-JcfFVJJd.mjs";
6
- import { t as Button } from "../../button-Dj6cKrWj.mjs";
6
+ import { t as Button } from "../../button-Cn4KagBO.mjs";
7
7
  import { CheckIcon } from "lucide-react";
8
8
  import * as React from "react";
9
9
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -1,14 +1,15 @@
1
1
  import { t as cn } from "./utils-CTIuhCOs.mjs";
2
- import { t as Autocomplete } from "./autocomplete-fSSmRLYK.mjs";
2
+ import { t as Autocomplete } from "./autocomplete-CrCbO2VS.mjs";
3
3
  import { Autosearch } from "./autosearch/index.mjs";
4
- import { t as Button } from "./button-Dj6cKrWj.mjs";
4
+ import { t as Button } from "./button-Cn4KagBO.mjs";
5
5
  import { n as useFormContext$1, t as FormProvider } from "./form-context-BRzt53M5.mjs";
6
- import { t as Checkbox } from "./checkbox-CNljVnKj.mjs";
6
+ import { t as Checkbox } from "./checkbox-BAo5sbHk.mjs";
7
7
  import { t as Label } from "./label-BR1V3Imy.mjs";
8
8
  import { t as toast } from "./toast-CizxCEcK.mjs";
9
9
  import { t as useCopyToClipboard } from "./use-copy-to-clipboard-CWKWHLxI.mjs";
10
- import { t as CalendarDatePicker } from "./calendar-date-picker-BUwgVaI1.mjs";
11
- import { t as DateTimePicker } from "./date-time-picker-CLdaGiGC.mjs";
10
+ import { t as CopyStateIcon } from "./copy-state-icon-DMvXXsZm.mjs";
11
+ import { t as CalendarDatePicker } from "./calendar-date-picker-BRKs56gR.mjs";
12
+ import { t as DateTimePicker } from "./date-time-picker-BRMm2QSz.mjs";
12
13
  import { t as Dialog } from "./dialog-C8RXIQYm.mjs";
13
14
  import { t as useControllableState } from "./use-controllable-state-DLeVgbAb.mjs";
14
15
  import { t as Tooltip } from "./tooltip-OIySjJWW.mjs";
@@ -16,13 +17,13 @@ import { t as Icon } from "./icon-wrapper-CIk2th6R.mjs";
16
17
  import { n as useAdapter } from "./adapter-context-XT749tyT.mjs";
17
18
  import { t as Input } from "./input-DsT5qkJn.mjs";
18
19
  import { InputWithAddons } from "./input-with-addons/index.mjs";
19
- import { n as RadioGroupItem, t as RadioGroup } from "./radio-group-0RxTmRnF.mjs";
20
- import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "./select-DemYhwnG.mjs";
21
- import { t as Switch } from "./switch-CWvVN9ea.mjs";
20
+ import { n as RadioGroupItem, t as RadioGroup } from "./radio-group-Boxi2hm0.mjs";
21
+ import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "./select-B0Xlz-wD.mjs";
22
+ import { t as Switch } from "./switch-IduVwiPZ.mjs";
22
23
  import { t as Textarea } from "./textarea-CvhdK6JY.mjs";
23
- import { t as TimePicker } from "./time-picker-DgHjdcMZ.mjs";
24
- import { t as Transfer } from "./transfer-91lwTOhX.mjs";
25
- import { CheckIcon, CircleHelp, CopyIcon } from "lucide-react";
24
+ import { t as TimePicker } from "./time-picker-BFwH-Vd3.mjs";
25
+ import { t as Transfer } from "./transfer-DGUeAQUL.mjs";
26
+ import { CircleHelp } from "lucide-react";
26
27
  import * as React from "react";
27
28
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
28
29
  // src/components/features/form/context/field-context.tsx
@@ -307,14 +308,20 @@ function FormCopyBox({ variant = "default", className, contentClassName, buttonC
307
308
  title: copied ? "Copied" : "Copy",
308
309
  className: cn("text-muted-foreground hover:text-foreground flex size-7 items-center justify-center rounded-sm transition-colors", buttonClassName),
309
310
  onClick: copyToClipboard,
310
- children: copied ? /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) : /* @__PURE__ */ jsx(CopyIcon, { className: "size-4" })
311
+ children: /* @__PURE__ */ jsx(CopyStateIcon, {
312
+ copied,
313
+ className: "size-4"
314
+ })
311
315
  }) : /* @__PURE__ */ jsxs(Button, {
312
316
  type: "quaternary",
313
317
  theme: "outline",
314
318
  size: "small",
315
319
  className: cn("h-7 w-fit gap-1 px-2 text-xs", buttonClassName),
316
320
  onClick: copyToClipboard,
317
- children: [/* @__PURE__ */ jsx(CopyIcon, { className: "size-3!" }), copied ? "Copied" : "Copy"]
321
+ children: [/* @__PURE__ */ jsx(CopyStateIcon, {
322
+ copied,
323
+ className: "size-3!"
324
+ }), copied ? "Copied" : "Copy"]
318
325
  })
319
326
  })]
320
327
  });
@@ -1 +1 @@
1
- export { t as GroupedTable } from "../grouped-table-32RO2v7U.mjs";
1
+ export { t as GroupedTable } from "../grouped-table-B4HzLXq6.mjs";
@@ -1,12 +1,12 @@
1
1
  import { t as cn } from "./utils-CTIuhCOs.mjs";
2
- import { Collapsible, CollapsibleTrigger } from "./collapsible/index.mjs";
2
+ import { r as CollapsibleTrigger, t as Collapsible } from "./collapsible-B-KP3JZ-.mjs";
3
3
  import { TableBody, TableCell, TableHead, TableHeader, TableRow } from "./table/index.mjs";
4
4
  import { t as Icon } from "./icon-wrapper-CIk2th6R.mjs";
5
- import { f as rowMatchesSearch, g as createSelectionColumn, h as DataTableColumnHeader, m as DataTableRowActions, p as dataTableFeatures } from "./data-table-s2YrE79S.mjs";
5
+ import { f as rowMatchesSearch, g as createSelectionColumn, h as DataTableColumnHeader, m as DataTableRowActions, p as dataTableFeatures } from "./data-table-DFUnUydN.mjs";
6
6
  import { n as EASE } from "./motion-DOrRbLmy.mjs";
7
7
  import { Skeleton } from "./skeleton/index.mjs";
8
8
  import { n as useDebouncedSearchInput } from "./use-debounced-search-input-B4u28iLx.mjs";
9
- import { t as Button } from "./button-Dj6cKrWj.mjs";
9
+ import { t as Button } from "./button-Cn4KagBO.mjs";
10
10
  import { InputWithAddons } from "./input-with-addons/index.mjs";
11
11
  import { t as useControllableState } from "./use-controllable-state-DLeVgbAb.mjs";
12
12
  import { ChevronRight, Search, X } from "lucide-react";
@@ -1,4 +1,4 @@
1
- import { t as useBreakpoint } from "../use-breakpoint-zY_JYINK.mjs";
1
+ import { t as useBreakpoint } from "../use-breakpoint-Ce5tS4cU.mjs";
2
2
  import { n as useDebouncedSearchInput, t as DEFAULT_SEARCH_DEBOUNCE_MS } from "../use-debounced-search-input-B4u28iLx.mjs";
3
3
  import { t as useCopyToClipboard } from "../use-copy-to-clipboard-CWKWHLxI.mjs";
4
4
  import { t as useDebounce } from "../hooks-WVJbyhCz.mjs";
@@ -3,6 +3,11 @@ export type BreakpointTier = 'mobile' | 'tablet' | 'desktop';
3
3
  * Returns the current viewport breakpoint tier.
4
4
  *
5
5
  * Breakpoints: mobile <768px, tablet 768–1023px, desktop ≥1024px.
6
- * SSR-safe: defaults to 'desktop' on server; client corrects on mount.
6
+ *
7
+ * `initial` is the tier the server rendered with. Pass the viewport the server
8
+ * already knows about (for example a viewport client hint) so the hydration
9
+ * render matches; without one it defaults to 'desktop'. The client measures on
10
+ * mount and tracks resizes after that, so the first render stays deterministic
11
+ * on both sides.
7
12
  */
8
- export declare function useBreakpoint(): BreakpointTier;
13
+ export declare function useBreakpoint(initial?: BreakpointTier): BreakpointTier;
@@ -1,4 +1,4 @@
1
1
  import { t as CloseIcon } from "../close.icon-BCPmH4nN.mjs";
2
2
  import { t as Icon } from "../icon-wrapper-CIk2th6R.mjs";
3
- import { t as SpinnerIcon } from "../spinner.icon-D0SKuGFG.mjs";
3
+ import { t as SpinnerIcon } from "../spinner.icon-BiUnMAxw.mjs";
4
4
  export { CloseIcon, Icon, SpinnerIcon };
package/dist/index.mjs CHANGED
@@ -1,89 +1,89 @@
1
1
  import { t as cn } from "./utils-CTIuhCOs.mjs";
2
2
  import { n as AlertDescription, r as AlertTitle, t as Alert } from "./alert-CVckvox4.mjs";
3
3
  import { Avatar, AvatarFallback, AvatarImage } from "./avatar/index.mjs";
4
- import { n as badgeVariants, t as Badge } from "./badge-D7A6GfWn.mjs";
4
+ import { Badge, badgeVariants } from "./badge/index.mjs";
5
5
  import { a as BreadcrumbList, i as BreadcrumbLink, n as BreadcrumbEllipsis, o as BreadcrumbPage, r as BreadcrumbItem, s as BreadcrumbSeparator, t as Breadcrumb } from "./breadcrumb-D97jAZ2N.mjs";
6
- import { t as SpinnerIcon } from "./spinner.icon-D0SKuGFG.mjs";
7
- import { n as buttonVariants, t as Button } from "./button-Dj6cKrWj.mjs";
8
- import { t as LinkButton } from "./button-BU8TEbJ5.mjs";
6
+ import { t as SpinnerIcon } from "./spinner.icon-BiUnMAxw.mjs";
7
+ import { n as buttonVariants, t as Button } from "./button-Cn4KagBO.mjs";
8
+ import { t as LinkButton } from "./button-IK-Lnu_9.mjs";
9
9
  import { t as Separator } from "./separator-DNiiN2BN.mjs";
10
- import { i as buttonGroupVariants, n as ButtonGroupSeparator, r as ButtonGroupText, t as ButtonGroup } from "./button-group-C3GKo-0p.mjs";
10
+ import { i as buttonGroupVariants, n as ButtonGroupSeparator, r as ButtonGroupText, t as ButtonGroup } from "./button-group-DJ6X1SSj.mjs";
11
11
  import { t as Icon } from "./icon-wrapper-CIk2th6R.mjs";
12
12
  import { Calendar, CalendarDayButton } from "./calendar/index.mjs";
13
- import { a as CardField, c as CardFooter, d as CardTitle, i as CardContent, l as CardHeader, n as Card, o as CardFieldLabel, r as CardAction, s as CardFieldValue, t as CardSaveBar, u as CardDescription } from "./card-save-bar-0XDpAJo_.mjs";
13
+ import { a as CardField, c as CardFooter, d as CardTitle, i as CardContent, l as CardHeader, n as Card, o as CardFieldLabel, r as CardAction, s as CardFieldValue, t as CardSaveBar, u as CardDescription } from "./card-save-bar-Te8jf-ie.mjs";
14
14
  import { a as ChartTooltip, i as ChartStyle, n as ChartLegend, o as ChartTooltipContent, r as ChartLegendContent, t as ChartContainer } from "./chart-BsGsx2jb.mjs";
15
- import { t as Checkbox } from "./checkbox-CNljVnKj.mjs";
16
- import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "./collapsible/index.mjs";
15
+ import { n as EASE, t as DURATION } from "./motion-DOrRbLmy.mjs";
16
+ import { t as useControllableState } from "./use-controllable-state-DLeVgbAb.mjs";
17
+ import { t as Checkbox } from "./checkbox-BAo5sbHk.mjs";
18
+ import { n as CollapsibleContent, r as CollapsibleTrigger, t as Collapsible } from "./collapsible-B-KP3JZ-.mjs";
17
19
  import { a as CommandInput, c as CommandSeparator, i as CommandGroup, l as CommandShortcut, n as CommandDialog, o as CommandItem, r as CommandEmpty, s as CommandList, t as Command } from "./command-B0be-zU5.mjs";
18
20
  import { t as CloseIcon } from "./close.icon-BCPmH4nN.mjs";
19
21
  import { t as Dialog } from "./dialog-C8RXIQYm.mjs";
20
- import { t as useControllableState } from "./use-controllable-state-DLeVgbAb.mjs";
21
22
  import { n as HoverCardContent, r as HoverCardTrigger, t as HoverCard } from "./hover-card-DSt1lZGg.mjs";
22
23
  import { t as Input } from "./input-DsT5qkJn.mjs";
23
24
  import { a as InputGroupText, i as InputGroupInput, n as InputGroupAddon, o as InputGroupTextarea, r as InputGroupButton, t as InputGroup } from "./input-group-CCzvJIZM.mjs";
24
25
  import { t as Label } from "./label-BR1V3Imy.mjs";
25
- import { t as Spinner } from "./spinner-DjEpx6Q3.mjs";
26
- import { A as useLeaflet, C as MapMarkerClusterGroup, D as MapRectangle, E as MapPopup, O as MapTooltip, S as MapMarker, T as MapPolyline, _ as MapLocateControl, a as MapTileLayer, b as MapCircle, c as MapDrawDelete, d as MapDrawPolygon, f as MapDrawPolyline, g as MapFullscreenControl, h as MapControlContainer, i as MapLayersControl, j as PlaceAutocomplete, k as Map, l as MapDrawEdit, m as MapDrawUndo, n as MapLayerGroup, o as MapDrawCircle, p as MapDrawRectangle, r as MapLayers, s as MapDrawControl, t as MapFeatureGroup, u as MapDrawMarker, v as MapSearchControl, w as MapPolygon, x as MapCircleMarker, y as MapZoomControl } from "./layers-XEND2WKv.mjs";
26
+ import { A as useLeaflet, C as MapMarkerClusterGroup, D as MapRectangle, E as MapPopup, O as MapTooltip, S as MapMarker, T as MapPolyline, _ as MapLocateControl, a as MapTileLayer, b as MapCircle, c as MapDrawDelete, d as MapDrawPolygon, f as MapDrawPolyline, g as MapFullscreenControl, h as MapControlContainer, i as MapLayersControl, j as PlaceAutocomplete, k as Map, l as MapDrawEdit, m as MapDrawUndo, n as MapLayerGroup, o as MapDrawCircle, p as MapDrawRectangle, r as MapLayers, s as MapDrawControl, t as MapFeatureGroup, u as MapDrawMarker, v as MapSearchControl, w as MapPolygon, x as MapCircleMarker, y as MapZoomControl } from "./layers-BC1Ny49w.mjs";
27
27
  import { i as useInSheet, n as MobileSheet, r as InSheetContext, t as ResponsiveSheetTrigger } from "./mobile-sheet-1995HYY_.mjs";
28
28
  import { a as SheetHeader, i as SheetFooter, o as SheetTitle, r as SheetDescription, s as SheetTrigger } from "./sheet-DYPtVIb2.mjs";
29
29
  import { i as SheetOverlay, n as SheetClose, r as SheetContent, t as Sheet } from "./sheet-DEpEJ_Rk.mjs";
30
30
  import { i as PopoverTrigger, n as PopoverAnchor, r as PopoverContent, t as Popover } from "./popover-7YxyP_W0.mjs";
31
- import { n as RadioGroupItem, t as RadioGroup } from "./radio-group-0RxTmRnF.mjs";
32
- import { t as useBreakpoint } from "./use-breakpoint-zY_JYINK.mjs";
33
- import { t as ResponsiveDropdown } from "./responsive-dropdown-DsWgpE_i.mjs";
34
- import { t as ResponsivePopover } from "./responsive-popover-DJYd8lOK.mjs";
35
- import { a as SelectLabel, c as SelectSeparator, i as SelectItem, l as SelectTrigger, n as SelectContent, o as SelectScrollDownButton, r as SelectGroup, s as SelectScrollUpButton, t as Select, u as SelectValue } from "./select-DemYhwnG.mjs";
31
+ import { n as RadioGroupItem, t as RadioGroup } from "./radio-group-Boxi2hm0.mjs";
32
+ import { t as useBreakpoint } from "./use-breakpoint-Ce5tS4cU.mjs";
33
+ import { t as ResponsiveDropdown } from "./responsive-dropdown-B9cDUeHt.mjs";
34
+ import { t as ResponsivePopover } from "./responsive-popover-B_pUxrZ1.mjs";
35
+ import { a as SelectLabel, c as SelectSeparator, i as SelectItem, l as SelectTrigger, n as SelectContent, o as SelectScrollDownButton, r as SelectGroup, s as SelectScrollUpButton, t as Select, u as SelectValue } from "./select-B0Xlz-wD.mjs";
36
36
  import { n as SettingsNavItem, r as SettingsNavLabel, t as SettingsNav } from "./settings-nav-CCZdPD-x.mjs";
37
37
  import { C as SidebarProvider, S as SidebarGroupLabel, _ as SidebarMenuSubButton, a as SidebarInput, b as SidebarGroupAction, c as SidebarSeparator, d as SidebarMenuAction, f as SidebarMenuBadge, g as SidebarMenuSub, h as SidebarMenuSkeleton, i as SidebarHeader, l as SidebarTrigger, m as SidebarMenuItem, n as SidebarContent, o as SidebarInset, p as SidebarMenuButton, r as SidebarFooter, s as SidebarRail, t as Sidebar, u as SidebarMenu, v as SidebarMenuSubItem, w as useSidebar, x as SidebarGroupContent, y as SidebarGroup } from "./sidebar-DWnxQWQ8.mjs";
38
38
  import { t as Tooltip } from "./tooltip-OIySjJWW.mjs";
39
39
  import { Skeleton } from "./skeleton/index.mjs";
40
- import { t as Switch } from "./switch-CWvVN9ea.mjs";
40
+ import { t as Spinner } from "./spinner-DSlDJdWl.mjs";
41
+ import { t as Switch } from "./switch-IduVwiPZ.mjs";
41
42
  import { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "./table/index.mjs";
42
43
  import { Tabs, TabsContent, TabsLinkTrigger, TabsList, TabsTrigger } from "./tabs/index.mjs";
43
44
  import { t as Textarea } from "./textarea-CvhdK6JY.mjs";
44
45
  import { a as ListItem, c as Title, d as titleVariants, i as List, l as paragraphVariants, n as Code, o as Paragraph, r as Link, s as Text, t as Blockquote, u as textVariants } from "./typography-XFfN6PGD.mjs";
45
46
  import { t as VisuallyHidden } from "./visuallyhidden-Mg4OsZ-l.mjs";
46
- import { a as hasActiveDescendant, i as findItemByHref, n as NavMenu, o as isNavItemActive, r as NavMenuItem, s as normalizePath, t as AppNavigation } from "./app-navigation-Bcx7hr9L.mjs";
47
- import { n as EASE, t as DURATION } from "./motion-DOrRbLmy.mjs";
48
- import { t as LoaderOverlay } from "./loader-overlay-JvB8IQo3.mjs";
49
- import { t as Autocomplete } from "./autocomplete-fSSmRLYK.mjs";
47
+ import { a as hasActiveDescendant, i as findItemByHref, n as NavMenu, o as isNavItemActive, r as NavMenuItem, s as normalizePath, t as AppNavigation } from "./app-navigation-DyNZwlSG.mjs";
48
+ import { t as LoaderOverlay } from "./loader-overlay-DP0pvHuG.mjs";
49
+ import { t as Autocomplete } from "./autocomplete-CrCbO2VS.mjs";
50
50
  import { Autosearch, defaultAutosearchValue } from "./autosearch/index.mjs";
51
51
  import { n as avatarStackVariants, t as AvatarStack } from "./avatar-stack-2ow672bR.mjs";
52
- import { M as getBrowserTimezone, N as getTimezoneOffset, j as formatTimezoneLabel } from "./date-time-range-picker-RZX4CS4b.mjs";
53
- import { t as CalendarDatePicker } from "./calendar-date-picker-BUwgVaI1.mjs";
52
+ import { M as getBrowserTimezone, N as getTimezoneOffset, j as formatTimezoneLabel } from "./date-time-range-picker-CqGGJTLS.mjs";
53
+ import { t as CalendarDatePicker } from "./calendar-date-picker-BRKs56gR.mjs";
54
54
  import { i as ClientOnly, n as useTheme, r as ThemeScript, t as ThemeProvider } from "./themes-BoxnQbbu.mjs";
55
55
  import { a as formatJson, c as isValidYaml, d as CodeEditor, i as CodeEditorTabs, l as jsonToYaml, n as jsonSchema, o as formatYaml, r as yamlSchema, s as isValidJson, t as createCodeEditorSchema, u as yamlToJson } from "./types-ChINrR8H.mjs";
56
56
  import { t as toast } from "./toast-CizxCEcK.mjs";
57
57
  import { n as Toaster, t as useToast } from "./use-toast-CZAZeS95.mjs";
58
- import { _ as useNuqsAdapter, a as useDataTablePagination, b as DEFAULT_PAGE_SIZE, c as useDataTableSelection, d as resolvePath, f as rowMatchesSearch, g as createSelectionColumn, h as DataTableColumnHeader, i as useDataTableLoading, l as useDataTableSorting, m as DataTableRowActions, n as useDataTableFilters, o as useDataTableRows, p as dataTableFeatures, r as useDataTableInlineContents, s as useDataTableSearch, t as DataTable, u as createDataTableStore, v as DEFAULT_DEBOUNCE_MS, x as DEFAULT_PAGE_SIZES, y as DEFAULT_LOADING_ROWS } from "./data-table-s2YrE79S.mjs";
58
+ import { _ as useNuqsAdapter, a as useDataTablePagination, b as DEFAULT_PAGE_SIZE, c as useDataTableSelection, d as resolvePath, f as rowMatchesSearch, g as createSelectionColumn, h as DataTableColumnHeader, i as useDataTableLoading, l as useDataTableSorting, m as DataTableRowActions, n as useDataTableFilters, o as useDataTableRows, p as dataTableFeatures, r as useDataTableInlineContents, s as useDataTableSearch, t as DataTable, u as createDataTableStore, v as DEFAULT_DEBOUNCE_MS, x as DEFAULT_PAGE_SIZES, y as DEFAULT_LOADING_ROWS } from "./data-table-DFUnUydN.mjs";
59
59
  import { t as ActionRow } from "./action-row-BEzE9x37.mjs";
60
60
  import { n as useDebouncedSearchInput, t as DEFAULT_SEARCH_DEBOUNCE_MS } from "./use-debounced-search-input-B4u28iLx.mjs";
61
- import { t as MultiSelect } from "./multi-select-BUgx6VZF.mjs";
61
+ import { t as MultiSelect } from "./multi-select-DwcsJdHt.mjs";
62
62
  import { a as formatRelativeDate, d as parseDate, i as formatCombinedDate, l as getTimestamp, n as DEFAULT_DATE_FORMAT, o as formatTimezoneDate, r as formatAbsoluteDate, s as formatUTCDate, t as DateTime, u as getTimezoneAbbreviation } from "./date-time-BBRVM9qb.mjs";
63
- import { t as DateTimePicker } from "./date-time-picker-CLdaGiGC.mjs";
63
+ import { t as DateTimePicker } from "./date-time-picker-BRMm2QSz.mjs";
64
64
  import { a as DropdownMenuItem, c as DropdownMenuRadioGroup, d as DropdownMenuShortcut, f as DropdownMenuSub, h as DropdownMenuTrigger, i as DropdownMenuGroup, l as DropdownMenuRadioItem, m as DropdownMenuSubTrigger, n as DropdownMenuCheckboxItem, o as DropdownMenuLabel, p as DropdownMenuSubContent, r as DropdownMenuContent, s as DropdownMenuPortal, t as DropdownMenu, u as DropdownMenuSeparator } from "./dropdown-DR9j3Ni_.mjs";
65
- import { i as FileInputButton, n as DropzoneContent, r as DropzoneEmptyState, t as Dropzone } from "./dropzone-Cer9E-VH.mjs";
66
- import { t as EmptyContent } from "./empty-content-B2FZ9cyt.mjs";
67
- import { A as FormCheckbox, C as FormDialog, D as FormCustom, E as FormDatePicker, M as FormAutosearch, N as FormAutocomplete, O as FormCopyBox, S as FormError, T as FormDateTimePicker, _ as FormRadioGroup, a as useField, b as FormFieldArray, c as useWatchAll, d as FormTextarea, f as FormSwitch, g as FormRoot, h as FormSelectItem, i as useFieldContext, j as FormButton, k as FormCombobox, l as FormTransfer, m as FormSelect, n as useFormState, o as FormWhen, p as FormSubmit, r as useFormContext, s as useWatch, t as Form, u as FormTimePicker, v as FormRadioItem, w as FormDescription, x as FormField, y as FormInput } from "./form-C4XcxxjK.mjs";
65
+ import { i as FileInputButton, n as DropzoneContent, r as DropzoneEmptyState, t as Dropzone } from "./dropzone-qKYfSe7o.mjs";
66
+ import { t as EmptyContent } from "./empty-content-CTMHak36.mjs";
67
+ import { A as FormCheckbox, C as FormDialog, D as FormCustom, E as FormDatePicker, M as FormAutosearch, N as FormAutocomplete, O as FormCopyBox, S as FormError, T as FormDateTimePicker, _ as FormRadioGroup, a as useField, b as FormFieldArray, c as useWatchAll, d as FormTextarea, f as FormSwitch, g as FormRoot, h as FormSelectItem, i as useFieldContext, j as FormButton, k as FormCombobox, l as FormTransfer, m as FormSelect, n as useFormState, o as FormWhen, p as FormSubmit, r as useFormContext, s as useWatch, t as Form, u as FormTimePicker, v as FormRadioItem, w as FormDescription, x as FormField, y as FormInput } from "./form-VdbSqDjL.mjs";
68
68
  import { t as useCopyToClipboard } from "./use-copy-to-clipboard-CWKWHLxI.mjs";
69
69
  import { n as useAdapter, t as FormAdapterProvider } from "./adapter-context-XT749tyT.mjs";
70
70
  import { InputWithAddons } from "./input-with-addons/index.mjs";
71
- import { t as TimePicker } from "./time-picker-DgHjdcMZ.mjs";
72
- import { t as Transfer } from "./transfer-91lwTOhX.mjs";
71
+ import { t as TimePicker } from "./time-picker-BFwH-Vd3.mjs";
72
+ import { t as Transfer } from "./transfer-DGUeAQUL.mjs";
73
73
  import { a as getResponsiveValue, c as GRID_COLUMNS, d as RESPONSIVE_MAP, i as getGutter, l as GRID_PREFIX, n as Row, o as registerMediaQuery, r as RowContext, s as GRID_BREAKPOINTS, t as Col, u as RESPONSIVE_ARRAY } from "./col-CYHIfPJq.mjs";
74
- import { t as GroupedTable } from "./grouped-table-32RO2v7U.mjs";
74
+ import { t as GroupedTable } from "./grouped-table-B4HzLXq6.mjs";
75
75
  import { t as InputNumber } from "./input-number-DF-bfIo8.mjs";
76
76
  import { a as logoStyles, i as LogoFlat, n as LogoStacked, r as LogoIcon, t as LogoText } from "./logo-text-B54YiEte.mjs";
77
77
  import { t as Logo } from "./logo-CkzKra6H.mjs";
78
- import { t as MoreActions } from "./more-actions-D9k1ILzT.mjs";
78
+ import { t as MoreActions } from "./more-actions-DXQiV-bN.mjs";
79
79
  import { configureProgress, startProgress, stopProgress } from "./nprogress/index.mjs";
80
80
  import { t as PageTitle } from "./page-title-Djl3LvPT.mjs";
81
81
  import { t as RichTextContent } from "./rich-text-content-BiIIowBU.mjs";
82
- import { n as useRichTextEditor, t as RichTextEditor } from "./rich-text-editor-ibngjhQV.mjs";
82
+ import { n as useRichTextEditor, t as RichTextEditor } from "./rich-text-editor-CPd_6vdZ.mjs";
83
83
  import { t as defineStepper } from "./stepper-ZipxpzWY.mjs";
84
- import { t as TagsInput } from "./tag-input-DAMY703F.mjs";
85
- import { _ as RedisTaskStorage, a as TaskPanelItem, b as createProjectMetadata, c as TaskPanelHeader, d as useCurrentScope, f as useTasksWithLabels, g as detectStorage, h as TaskQueue, i as TaskPanel, l as getContextLabel, m as TaskQueueProvider, n as TaskSummaryDialog, o as TaskPanelCounter, p as useTaskQueue, r as TaskQueueTrigger, s as TaskPanelActions, t as TaskQueueDropdown, u as matchesCurrentScope, v as LocalTaskStorage, x as createUserMetadata, y as createOrgMetadata } from "./task-queue-dropdown-BgQSGDwg.mjs";
86
- import { _ as getShortTimezoneDisplay, a as TimeRangePicker, b as utcToLocalInputString, c as getPresetByKey, d as TimezoneSelector, f as QuickRangesPanel, g as getDefaultTimezoneOptions, h as formatUtcForDisplay, i as formatTimeRangeDisplay, l as getPresetByShortcut, m as createTimezoneOption, n as formatDateForInput, o as DEFAULT_PRESETS, p as CustomRangePanel, r as formatSingleTimeDisplay, s as getDefaultPreset, t as toApiTimeRange, u as getPresetRange, v as localInputStringToUtc, x as zonedDateToUtcString, y as utcStringToZonedDate } from "./to-api-format-EZInfj0_.mjs";
84
+ import { t as TagsInput } from "./tag-input-a3ktkGrH.mjs";
85
+ import { _ as RedisTaskStorage, a as TaskPanelItem, b as createProjectMetadata, c as TaskPanelHeader, d as useCurrentScope, f as useTasksWithLabels, g as detectStorage, h as TaskQueue, i as TaskPanel, l as getContextLabel, m as TaskQueueProvider, n as TaskSummaryDialog, o as TaskPanelCounter, p as useTaskQueue, r as TaskQueueTrigger, s as TaskPanelActions, t as TaskQueueDropdown, u as matchesCurrentScope, v as LocalTaskStorage, x as createUserMetadata, y as createOrgMetadata } from "./task-queue-dropdown-BflEFiMi.mjs";
86
+ import { _ as getShortTimezoneDisplay, a as TimeRangePicker, b as utcToLocalInputString, c as getPresetByKey, d as TimezoneSelector, f as QuickRangesPanel, g as getDefaultTimezoneOptions, h as formatUtcForDisplay, i as formatTimeRangeDisplay, l as getPresetByShortcut, m as createTimezoneOption, n as formatDateForInput, o as DEFAULT_PRESETS, p as CustomRangePanel, r as formatSingleTimeDisplay, s as getDefaultPreset, t as toApiTimeRange, u as getPresetRange, v as localInputStringToUtc, x as zonedDateToUtcString, y as utcStringToZonedDate } from "./to-api-format-BiWOTFha.mjs";
87
87
  import { t as useDebounce } from "./hooks-WVJbyhCz.mjs";
88
88
  import { n as toUTCTimestampStartOfDay, t as toUTCTimestampEndOfDay } from "./utils-CPJ5MCfd.mjs";
89
89
  export { CustomRangePanel as AbsoluteRangePanel, CustomRangePanel, ActionRow, Alert, AlertDescription, AlertTitle, AppNavigation, Autocomplete, Autosearch, Avatar, AvatarFallback, AvatarImage, AvatarStack, Badge, Blockquote, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDatePicker, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardField, CardFieldLabel, CardFieldValue, CardFooter, CardHeader, CardSaveBar, CardTitle, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, ClientOnly, CloseIcon, Code, CodeEditor, CodeEditorTabs, Col, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, DEFAULT_DATE_FORMAT, DEFAULT_DEBOUNCE_MS, DEFAULT_LOADING_ROWS, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZES, DEFAULT_PRESETS, DEFAULT_SEARCH_DEBOUNCE_MS, DURATION, DataTable, DataTableColumnHeader, DataTableRowActions, DateTime, DateTimePicker, Dialog, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Dropzone, DropzoneContent, DropzoneEmptyState, EASE, EmptyContent, FileInputButton, Form, FormAdapterProvider, FormAutocomplete, FormAutosearch, FormButton, FormCheckbox, FormCombobox, FormCopyBox, FormCustom, FormDatePicker, FormDateTimePicker, FormDescription, FormDialog, FormError, FormField, FormFieldArray, FormInput, FormRadioGroup, FormRadioItem, FormRoot, FormSelect, FormSelectItem, FormSubmit, FormSwitch, FormTextarea, FormTimePicker, FormTransfer, FormWhen, GRID_BREAKPOINTS, GRID_COLUMNS, GRID_PREFIX, GroupedTable, HoverCard, HoverCardContent, HoverCardTrigger, Icon, InSheetContext, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputNumber, InputWithAddons, Label, Link, LinkButton, List, ListItem, LoaderOverlay, LocalTaskStorage, Logo, LogoFlat, LogoIcon, LogoStacked, LogoText, Map, MapCircle, MapCircleMarker, MapControlContainer, MapDrawCircle, MapDrawControl, MapDrawDelete, MapDrawEdit, MapDrawMarker, MapDrawPolygon, MapDrawPolyline, MapDrawRectangle, MapDrawUndo, MapFeatureGroup, MapFullscreenControl, MapLayerGroup, MapLayers, MapLayersControl, MapLocateControl, MapMarker, MapMarkerClusterGroup, MapPolygon, MapPolyline, MapPopup, MapRectangle, MapSearchControl, MapTileLayer, MapTooltip, MapZoomControl, MobileSheet, MoreActions, MultiSelect, NavMenu, NavMenuItem, PageTitle, Paragraph, PlaceAutocomplete, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, QuickRangesPanel, RESPONSIVE_ARRAY, RESPONSIVE_MAP, RadioGroup, RadioGroupItem, RedisTaskStorage, ResponsiveDropdown, ResponsivePopover, ResponsiveSheetTrigger, RichTextContent, RichTextEditor, Row, RowContext, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsNav, SettingsNavItem, SettingsNavLabel, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Spinner, SpinnerIcon, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsLinkTrigger, TabsList, TabsTrigger, TagsInput, TaskPanel, TaskPanelActions, TaskPanelCounter, TaskPanelHeader, TaskPanelItem, TaskQueue, TaskQueueDropdown, TaskQueueProvider, TaskQueueTrigger, TaskSummaryDialog, Text, Textarea, ThemeProvider, ThemeScript, TimePicker, TimeRangePicker, TimezoneSelector, Title, Toaster, Tooltip, Transfer, VisuallyHidden, avatarStackVariants, badgeVariants, buttonGroupVariants, buttonVariants, cn, configureProgress, createCodeEditorSchema, createDataTableStore, createOrgMetadata, createProjectMetadata, createSelectionColumn, createTimezoneOption, createUserMetadata, dataTableFeatures, defaultAutosearchValue, defineStepper, detectStorage, findItemByHref, formatAbsoluteDate, formatCombinedDate, formatDateForInput, formatJson, formatRelativeDate, formatSingleTimeDisplay, formatTimeRangeDisplay, formatTimezoneDate, formatTimezoneLabel, formatUTCDate, formatUtcForDisplay, formatYaml, getBrowserTimezone, getContextLabel, getDefaultPreset, getDefaultTimezoneOptions, getGutter, getPresetByKey, getPresetByShortcut, getPresetRange, getResponsiveValue, getShortTimezoneDisplay, getTimestamp, getTimezoneAbbreviation, getTimezoneOffset, hasActiveDescendant, isNavItemActive, isValidJson, isValidYaml, jsonSchema, jsonToYaml, localInputStringToUtc, logoStyles, matchesCurrentScope, normalizePath, paragraphVariants, parseDate, registerMediaQuery, resolvePath, rowMatchesSearch, startProgress, stopProgress, textVariants, titleVariants, toApiTimeRange, toUTCTimestampEndOfDay, toUTCTimestampStartOfDay, toast, useAdapter, useBreakpoint, useControllableState, useCopyToClipboard, useCurrentScope, useDataTableFilters, useDataTableInlineContents, useDataTableLoading, useDataTablePagination, useDataTableRows, useDataTableSearch, useDataTableSelection, useDataTableSorting, useDebounce, useDebouncedSearchInput, useField, useFieldContext, useFormContext, useFormState, useInSheet, useLeaflet, useNuqsAdapter, useRichTextEditor, useSidebar, useTaskQueue, useTasksWithLabels, useTheme, useToast, useWatch, useWatchAll, utcStringToZonedDate, utcToLocalInputString, yamlSchema, yamlToJson, zonedDateToUtcString };
@@ -1,15 +1,23 @@
1
1
  import { t as cn } from "./utils-CTIuhCOs.mjs";
2
- import { t as ButtonGroup } from "./button-group-C3GKo-0p.mjs";
2
+ import { t as ButtonGroup } from "./button-group-DJ6X1SSj.mjs";
3
3
  import { t as Button } from "./button-C57mkFkS.mjs";
4
4
  import { i as CommandGroup, o as CommandItem, r as CommandEmpty, s as CommandList, t as Command } from "./command-B0be-zU5.mjs";
5
5
  import { i as InputGroupInput, n as InputGroupAddon, t as InputGroup } from "./input-group-CCzvJIZM.mjs";
6
- import { t as Spinner } from "./spinner-DjEpx6Q3.mjs";
7
6
  import { a as DropdownMenuRadioGroup, c as DropdownMenuTrigger, i as DropdownMenuLabel, n as DropdownMenuCheckboxItem, o as DropdownMenuRadioItem, r as DropdownMenuContent, s as DropdownMenuSeparator, t as DropdownMenu } from "./dropdown-menu-CjgTr8Ab.mjs";
8
- import { CircleIcon, LayersIcon, LoaderCircleIcon, MapPinIcon, MaximizeIcon, MinimizeIcon, MinusIcon, NavigationIcon, PenLineIcon, PentagonIcon, PlusIcon, SearchIcon, SquareIcon, Trash2Icon, Undo2Icon, WaypointsIcon } from "lucide-react";
7
+ import { CircleIcon, LayersIcon, Loader2Icon, LoaderCircleIcon, MapPinIcon, MaximizeIcon, MinimizeIcon, MinusIcon, NavigationIcon, PenLineIcon, PentagonIcon, PlusIcon, SearchIcon, SquareIcon, Trash2Icon, Undo2Icon, WaypointsIcon } from "lucide-react";
9
8
  import * as React from "react";
10
9
  import { Suspense, createContext, lazy, useContext, useEffect, useRef, useState } from "react";
11
10
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
12
11
  import { renderToString } from "react-dom/server.browser";
12
+ // ../shadcn/ui/spinner.tsx
13
+ function Spinner({ className, ...props }) {
14
+ return /* @__PURE__ */ jsx(Loader2Icon, {
15
+ role: "status",
16
+ "aria-label": "Loading",
17
+ className: cn("size-4 animate-spin", className),
18
+ ...props
19
+ });
20
+ }
13
21
  // ../shadcn/ui/place-autocomplete.tsx
14
22
  function formatAddress(properties) {
15
23
  const parts = [];
@@ -1 +1 @@
1
- export { t as LoaderOverlay } from "../loader-overlay-JvB8IQo3.mjs";
1
+ export { t as LoaderOverlay } from "../loader-overlay-DP0pvHuG.mjs";
@@ -1,5 +1,5 @@
1
1
  import { t as cn } from "./utils-CTIuhCOs.mjs";
2
- import { t as SpinnerIcon } from "./spinner.icon-D0SKuGFG.mjs";
2
+ import { t as SpinnerIcon } from "./spinner.icon-BiUnMAxw.mjs";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  // src/components/base/loader-overlay/loader-overlay.tsx
5
5
  function LoaderOverlay({ message, className }) {