@datum-cloud/datum-ui 2.3.2 → 2.5.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 (83) hide show
  1. package/dist/app-navigation/index.mjs +2 -2
  2. package/dist/{app-navigation--tEBCrfl.mjs → app-navigation-DhPaPFnN.mjs} +3 -7
  3. package/dist/assistant/index.mjs +15 -6
  4. package/dist/autocomplete/index.mjs +1 -1
  5. package/dist/{autocomplete-DZ_HSBak.mjs → autocomplete-BxtzndxZ.mjs} +1 -1
  6. package/dist/autosearch/index.mjs +3 -3
  7. package/dist/avatar-stack/index.mjs +1 -1
  8. package/dist/{avatar-stack-BZK6zUJr.mjs → avatar-stack-BUcsjhA6.mjs} +1 -1
  9. package/dist/button/index.mjs +2 -2
  10. package/dist/{button-H_8dI-Ib.mjs → button-CDPui_Ov.mjs} +1 -1
  11. package/dist/{button-A1qTjZ8U.mjs → button-DoMqfQLu.mjs} +1 -1
  12. package/dist/{calendar-date-picker-ynSGADfR.mjs → calendar-date-picker-Cl4lIDl5.mjs} +1 -1
  13. package/dist/components/base/hover-card/hover-card.d.ts +13 -0
  14. package/dist/components/base/hover-card/index.d.ts +1 -1
  15. package/dist/components/base/popover/index.d.ts +1 -1
  16. package/dist/components/base/popover/popover.d.ts +15 -0
  17. package/dist/components/features/data-table/types.d.ts +6 -0
  18. package/dist/data-table/index.mjs +1 -1
  19. package/dist/{data-table-Du7_FLBi.mjs → data-table-C37OD6_4.mjs} +31 -11
  20. package/dist/date-picker/index.mjs +3 -3
  21. package/dist/date-time/index.mjs +1 -1
  22. package/dist/{date-time-CA-09lnw.mjs → date-time-BmYjT5vd.mjs} +1 -1
  23. package/dist/date-time-picker/index.mjs +1 -1
  24. package/dist/{date-time-picker-BzcHrf-A.mjs → date-time-picker-DlaSizpS.mjs} +1 -1
  25. package/dist/{date-time-range-picker-Dog33Ry0.mjs → date-time-range-picker-CQQLACgN.mjs} +2 -2
  26. package/dist/dialog/index.mjs +1 -1
  27. package/dist/{dialog-N2pkQIc4.mjs → dialog-Gu70fban.mjs} +1 -1
  28. package/dist/dropdown/index.mjs +1 -1
  29. package/dist/{dropdown-B0znsOlu.mjs → dropdown-Xvduih96.mjs} +6 -6
  30. package/dist/dropzone/index.mjs +1 -1
  31. package/dist/{dropzone-DrWVd7OI.mjs → dropzone-ihksfjN2.mjs} +1 -1
  32. package/dist/empty-content/index.mjs +1 -1
  33. package/dist/{empty-content-DvaelFpJ.mjs → empty-content-CmuVcU0P.mjs} +2 -2
  34. package/dist/form/index.mjs +1 -1
  35. package/dist/form/stepper/index.mjs +1 -1
  36. package/dist/{form-BhBsoMFA.mjs → form-DDtBJ3Dj.mjs} +10 -10
  37. package/dist/grouped-table/index.mjs +1 -1
  38. package/dist/{grouped-table-C5V8ESJe.mjs → grouped-table-DImzzehJ.mjs} +4 -8
  39. package/dist/hover-card/index.mjs +1 -1
  40. package/dist/{hover-card-08jU9cD8.mjs → hover-card-BNOE5vT5.mjs} +20 -3
  41. package/dist/index.mjs +35 -34
  42. package/dist/logs/index.mjs +4 -4
  43. package/dist/mobile-sheet/index.mjs +1 -1
  44. package/dist/{mobile-sheet-BYp-QQmn.mjs → mobile-sheet-9TootJGg.mjs} +1 -1
  45. package/dist/more-actions/index.mjs +1 -1
  46. package/dist/{more-actions-B1FUf2rm.mjs → more-actions-C3DYWO0a.mjs} +3 -3
  47. package/dist/motion-DvGRWdsm.mjs +46 -0
  48. package/dist/multi-select/index.mjs +1 -1
  49. package/dist/{multi-select-PtdMChPF.mjs → multi-select-CH8KERkt.mjs} +1 -1
  50. package/dist/picker/index.mjs +2 -2
  51. package/dist/{picker-raVuDxsh.mjs → picker-Bbjl9FOq.mjs} +1 -1
  52. package/dist/popover/index.mjs +1 -33
  53. package/dist/popover-X82NwhX9.mjs +53 -0
  54. package/dist/responsive-dropdown/index.mjs +1 -1
  55. package/dist/{responsive-dropdown-n0Txkax5.mjs → responsive-dropdown-C_KKgLbH.mjs} +2 -2
  56. package/dist/responsive-popover/index.mjs +1 -1
  57. package/dist/{responsive-popover-C_1nzIvm.mjs → responsive-popover-8VcjBM2d.mjs} +2 -2
  58. package/dist/rich-text-editor/index.mjs +1 -1
  59. package/dist/{rich-text-editor-Dohp-pbf.mjs → rich-text-editor-DVga5upM.mjs} +3 -3
  60. package/dist/select/index.mjs +1 -1
  61. package/dist/{select-DCU44UO6.mjs → select-CQsG8Kju.mjs} +1 -1
  62. package/dist/sheet/index.mjs +1 -1
  63. package/dist/{sheet-C2i2k5i2.mjs → sheet-DHn6C_rs.mjs} +1 -1
  64. package/dist/sidebar/index.mjs +1 -1
  65. package/dist/{sidebar-D6BoAr6C.mjs → sidebar-BeWEEu7P.mjs} +1 -1
  66. package/dist/styles/motion.css +61 -0
  67. package/dist/styles/root.css +6 -0
  68. package/dist/switch/index.mjs +1 -1
  69. package/dist/{switch-DPHr3TcN.mjs → switch-Z2pJMckf.mjs} +1 -1
  70. package/dist/tabs/index.mjs +1 -1
  71. package/dist/task-queue/index.mjs +1 -1
  72. package/dist/{task-queue-dropdown-ClLLTMxU.mjs → task-queue-dropdown-BJS3snfZ.mjs} +4 -4
  73. package/dist/time-picker/index.mjs +1 -1
  74. package/dist/{time-picker-CFhaHTtI.mjs → time-picker-CoUqZCb7.mjs} +1 -1
  75. package/dist/{to-api-format-WC7b9Mcv.mjs → to-api-format-BzKfX7yo.mjs} +4 -4
  76. package/dist/tooltip/index.mjs +1 -1
  77. package/dist/{tooltip-C_SL1imw.mjs → tooltip-DhbN1BDK.mjs} +1 -1
  78. package/dist/transfer/index.mjs +1 -1
  79. package/dist/{transfer-CEq9AhL7.mjs → transfer-DsshYgIk.mjs} +1 -1
  80. package/dist/utils/index.d.ts +2 -0
  81. package/dist/utils/index.mjs +2 -1
  82. package/dist/utils/motion.d.ts +30 -0
  83. package/package.json +1 -1
@@ -1,3 +1,3 @@
1
- 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-D6BoAr6C.mjs";
2
- 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--tEBCrfl.mjs";
1
+ 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-BeWEEu7P.mjs";
2
+ 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-DhPaPFnN.mjs";
3
3
  export { AppNavigation, NavMenu, NavMenuItem, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, findItemByHref, hasActiveDescendant, isNavItemActive, normalizePath, useSidebar };
@@ -1,7 +1,8 @@
1
1
  import { t as cn } from "./utils-Bu32wN-x.mjs";
2
2
  import { t as Icon } from "./icon-wrapper-DKfJlJd0.mjs";
3
3
  import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "./collapsible/index.mjs";
4
- import { c as SidebarSeparator, g as SidebarMenuSub, h as SidebarMenuSkeleton, i as SidebarHeader, l as SidebarTrigger, m as SidebarMenuItem, n as SidebarContent, p as SidebarMenuButton, r as SidebarFooter, t as Sidebar, u as SidebarMenu, w as useSidebar, x as SidebarGroupContent, y as SidebarGroup } from "./sidebar-D6BoAr6C.mjs";
4
+ import { c as SidebarSeparator, g as SidebarMenuSub, h as SidebarMenuSkeleton, i as SidebarHeader, l as SidebarTrigger, m as SidebarMenuItem, n as SidebarContent, p as SidebarMenuButton, r as SidebarFooter, t as Sidebar, u as SidebarMenu, w as useSidebar, x as SidebarGroupContent, y as SidebarGroup } from "./sidebar-BeWEEu7P.mjs";
5
+ import { n as EASE } from "./motion-DvGRWdsm.mjs";
5
6
  import { ChevronRight, ExternalLinkIcon } from "lucide-react";
6
7
  import { createContext, memo, use, useCallback, useEffect, useMemo, useRef, useState } from "react";
7
8
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -152,12 +153,7 @@ const COLLAPSIBLE_CHILD_VARIANTS = {
152
153
  y: 0,
153
154
  transition: {
154
155
  duration: .2,
155
- ease: [
156
- .32,
157
- .72,
158
- 0,
159
- 1
160
- ]
156
+ ease: EASE.drawer
161
157
  }
162
158
  }
163
159
  };
@@ -1,7 +1,8 @@
1
1
  import { t as cn } from "../utils-Bu32wN-x.mjs";
2
2
  import { t as Icon } from "../icon-wrapper-DKfJlJd0.mjs";
3
3
  import { a as DropdownMenuRadioGroup, c as DropdownMenuTrigger, i as DropdownMenuLabel, o as DropdownMenuRadioItem, r as DropdownMenuContent, s as DropdownMenuSeparator, t as DropdownMenu } from "../dropdown-menu-b8zY5Cs6.mjs";
4
- import { t as Tooltip } from "../tooltip-C_SL1imw.mjs";
4
+ import { t as Tooltip } from "../tooltip-DhbN1BDK.mjs";
5
+ import { n as EASE, t as DURATION } from "../motion-DvGRWdsm.mjs";
5
6
  import { ArrowDown, ArrowRight, ArrowUp, Brain, Check, ChevronDown, Copy, Download, MessagesSquare, Mic, MicOff, PanelLeft, Plus, RotateCw, Square, Trash2 } from "lucide-react";
6
7
  import { Fragment, createContext, useCallback, useContext, useMemo, useRef, useState } from "react";
7
8
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -536,7 +537,10 @@ function ScrollToBottomButton({ show, onClick }) {
536
537
  opacity: 0,
537
538
  y: 8
538
539
  },
539
- transition: { duration: .15 },
540
+ transition: {
541
+ duration: DURATION.fast,
542
+ ease: EASE.out
543
+ },
540
544
  onClick,
541
545
  "aria-label": "Scroll to bottom",
542
546
  className: "ring-border bg-card text-muted-foreground hover:text-foreground absolute -top-10 left-1/2 z-10 -translate-x-1/2 rounded-full p-1.5 ring-1 transition-colors",
@@ -736,7 +740,10 @@ function EmptyState({ name, isReady, onSuggestion, children }) {
736
740
  opacity: 1,
737
741
  y: 0
738
742
  },
739
- transition: { duration: .3 },
743
+ transition: {
744
+ duration: .3,
745
+ ease: EASE.out
746
+ },
740
747
  className: "mb-8 flex flex-col items-center text-center",
741
748
  children: [/* @__PURE__ */ jsx(BrainGlyph, { className: "mb-4 size-16" }), /* @__PURE__ */ jsx("h1", {
742
749
  className: "text-foreground font-title text-3xl leading-[34px] font-normal tracking-[-1.2px]",
@@ -754,7 +761,8 @@ function EmptyState({ name, isReady, onSuggestion, children }) {
754
761
  },
755
762
  transition: {
756
763
  duration: .3,
757
- delay: .05
764
+ delay: .05,
765
+ ease: EASE.out
758
766
  },
759
767
  children
760
768
  }),
@@ -771,8 +779,9 @@ function EmptyState({ name, isReady, onSuggestion, children }) {
771
779
  y: 0
772
780
  },
773
781
  transition: {
774
- duration: .25,
775
- delay: .1 + .05 * i
782
+ duration: DURATION.medium,
783
+ delay: .1 + .05 * i,
784
+ ease: EASE.out
776
785
  },
777
786
  disabled: !isReady,
778
787
  onClick: () => onSuggestion(suggestion),
@@ -1,2 +1,2 @@
1
- import { t as Autocomplete } from "../autocomplete-DZ_HSBak.mjs";
1
+ import { t as Autocomplete } from "../autocomplete-BxtzndxZ.mjs";
2
2
  export { Autocomplete };
@@ -1,5 +1,5 @@
1
1
  import { t as cn } from "./utils-Bu32wN-x.mjs";
2
- import { t as ResponsivePopover } from "./responsive-popover-C_1nzIvm.mjs";
2
+ import { t as ResponsivePopover } from "./responsive-popover-8VcjBM2d.mjs";
3
3
  import { t as LoaderOverlay } from "./loader-overlay-DD94azZX.mjs";
4
4
  import { n as OptionList, t as useOptionPicker } from "./use-option-picker-s2bUYwXC.mjs";
5
5
  import { ChevronDown } from "lucide-react";
@@ -1,8 +1,8 @@
1
1
  import { t as cn } from "../utils-Bu32wN-x.mjs";
2
- import { t as Button } from "../button-A1qTjZ8U.mjs";
2
+ import { t as Button } from "../button-DoMqfQLu.mjs";
3
3
  import { t as Input } from "../input-j4tbmYYz.mjs";
4
- import { t as ResponsivePopover } from "../responsive-popover-C_1nzIvm.mjs";
5
- import { t as Tooltip } from "../tooltip-C_SL1imw.mjs";
4
+ import { t as ResponsivePopover } from "../responsive-popover-8VcjBM2d.mjs";
5
+ import { t as Tooltip } from "../tooltip-DhbN1BDK.mjs";
6
6
  import { n as OptionList, t as useOptionPicker } from "../use-option-picker-s2bUYwXC.mjs";
7
7
  import { AlertCircle, Loader2, X } from "lucide-react";
8
8
  import * as React from "react";
@@ -1,2 +1,2 @@
1
- import { n as avatarStackVariants, t as AvatarStack } from "../avatar-stack-BZK6zUJr.mjs";
1
+ import { n as avatarStackVariants, t as AvatarStack } from "../avatar-stack-BUcsjhA6.mjs";
2
2
  export { AvatarStack, avatarStackVariants };
@@ -1,6 +1,6 @@
1
1
  import { t as cn } from "./utils-Bu32wN-x.mjs";
2
2
  import { Avatar, AvatarFallback, AvatarImage } from "./avatar/index.mjs";
3
- import { t as Tooltip } from "./tooltip-C_SL1imw.mjs";
3
+ import { t as Tooltip } from "./tooltip-DhbN1BDK.mjs";
4
4
  import { cva } from "class-variance-authority";
5
5
  import "react";
6
6
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -1,3 +1,3 @@
1
- import { n as buttonVariants, t as Button } from "../button-A1qTjZ8U.mjs";
2
- import { t as LinkButton } from "../button-H_8dI-Ib.mjs";
1
+ import { n as buttonVariants, t as Button } from "../button-DoMqfQLu.mjs";
2
+ import { t as LinkButton } from "../button-CDPui_Ov.mjs";
3
3
  export { Button, LinkButton, buttonVariants };
@@ -1,5 +1,5 @@
1
1
  import { t as cn } from "./utils-Bu32wN-x.mjs";
2
- import { n as buttonVariants, r as getIconOnlyClass } from "./button-A1qTjZ8U.mjs";
2
+ import { n as buttonVariants, r as getIconOnlyClass } from "./button-DoMqfQLu.mjs";
3
3
  import "react";
4
4
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region src/components/base/button/link-button.tsx
@@ -24,7 +24,7 @@ function getIconOnlyClass(size, isIconOnly) {
24
24
  }
25
25
  //#endregion
26
26
  //#region src/components/base/button/button.tsx
27
- const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:opacity-50", {
27
+ const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium transition-[color,background-color,border-color,opacity,transform] duration-[var(--duration-fast)] ease-out focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:opacity-50 active:scale-[0.98] disabled:active:scale-100", {
28
28
  variants: {
29
29
  type: {
30
30
  primary: "",
@@ -1,5 +1,5 @@
1
1
  import { t as useDeprecationWarning } from "./use-deprecation-warning-DXrGc0jX.mjs";
2
- import { a as DateRangePicker } from "./picker-raVuDxsh.mjs";
2
+ import { a as DateRangePicker } from "./picker-Bbjl9FOq.mjs";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region src/components/features/calendar-date-picker/calendar-date-picker.tsx
5
5
  /**
@@ -0,0 +1,13 @@
1
+ import { HoverCardContent as ShadcnHoverCardContent, HoverCard as ShadcnHoverCardRoot, HoverCardTrigger as ShadcnHoverCardTrigger } from '../../../_shadcn/ui/hover-card';
2
+ import * as React from 'react';
3
+ /**
4
+ * Datum HoverCard
5
+ *
6
+ * Thin wrapper over the shadcn hover card. Standardises `HoverCardContent`
7
+ * motion on the shared fast/ease-out tokens (shadcn already sets the
8
+ * trigger-anchored transform-origin). Root/Trigger pass through unchanged.
9
+ */
10
+ declare const HoverCard: typeof ShadcnHoverCardRoot;
11
+ declare const HoverCardTrigger: typeof ShadcnHoverCardTrigger;
12
+ declare function HoverCardContent({ className, ...props }: React.ComponentProps<typeof ShadcnHoverCardContent>): React.JSX.Element;
13
+ export { HoverCard, HoverCardContent, HoverCardTrigger };
@@ -1 +1 @@
1
- export * from '../../../_shadcn/ui/hover-card';
1
+ export { HoverCard, HoverCardContent, HoverCardTrigger } from './hover-card';
@@ -1 +1 @@
1
- export * from '../../../_shadcn/ui/popover';
1
+ export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from './popover';
@@ -0,0 +1,15 @@
1
+ import { PopoverAnchor as ShadcnPopoverAnchor, PopoverContent as ShadcnPopoverContent, Popover as ShadcnPopoverRoot, PopoverTrigger as ShadcnPopoverTrigger } from '../../../_shadcn/ui/popover';
2
+ import * as React from 'react';
3
+ /**
4
+ * Datum Popover
5
+ *
6
+ * Thin wrapper over the shadcn popover. Adds trigger-anchored motion to
7
+ * `PopoverContent` (scale from the trigger, not the centre) with the shared
8
+ * fast/ease-out motion tokens. Root/Trigger/Anchor are passed through
9
+ * unchanged so this stays a drop-in replacement.
10
+ */
11
+ declare const Popover: typeof ShadcnPopoverRoot;
12
+ declare const PopoverTrigger: typeof ShadcnPopoverTrigger;
13
+ declare const PopoverAnchor: typeof ShadcnPopoverAnchor;
14
+ declare function PopoverContent({ className, ...props }: React.ComponentProps<typeof ShadcnPopoverContent>): React.JSX.Element;
15
+ export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };
@@ -333,4 +333,10 @@ export interface CreateStoreOptions<TData extends RowData> {
333
333
  readonly filterFns?: FilterFnMap;
334
334
  readonly isLoading?: boolean;
335
335
  readonly columnCount?: number;
336
+ /**
337
+ * Row identity, used to reconcile `rowSelection` across data changes.
338
+ * When omitted, TanStack falls back to array-index ids, which are
339
+ * meaningless across a data change — so selection is cleared instead.
340
+ */
341
+ readonly getRowId?: (row: TData) => string;
336
342
  }
@@ -1,2 +1,2 @@
1
- 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-Du7_FLBi.mjs";
1
+ 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-C37OD6_4.mjs";
2
2
  export { DEFAULT_DEBOUNCE_MS, DEFAULT_LOADING_ROWS, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZES, DataTable, DataTableColumnHeader, DataTableRowActions, createDataTableStore, createSelectionColumn, dataTableFeatures, resolvePath, rowMatchesSearch, useDataTableFilters, useDataTableInlineContents, useDataTableLoading, useDataTablePagination, useDataTableRows, useDataTableSearch, useDataTableSelection, useDataTableSorting, useNuqsAdapter };
@@ -1,17 +1,17 @@
1
1
  import { t as cn } from "./utils-Bu32wN-x.mjs";
2
2
  import { t as Badge } from "./badge-BTNW_FEU.mjs";
3
- import { t as Button } from "./button-A1qTjZ8U.mjs";
3
+ import { t as Button } from "./button-DoMqfQLu.mjs";
4
4
  import { t as Checkbox } from "./checkbox-C6P12fio.mjs";
5
5
  import { t as Input } from "./input-j4tbmYYz.mjs";
6
- import { t as ResponsiveDropdown } from "./responsive-dropdown-n0Txkax5.mjs";
7
- import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "./select-DCU44UO6.mjs";
6
+ import { t as ResponsiveDropdown } from "./responsive-dropdown-C_KKgLbH.mjs";
7
+ import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "./select-CQsG8Kju.mjs";
8
8
  import { Skeleton } from "./skeleton/index.mjs";
9
9
  import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "./table/index.mjs";
10
- import { t as Autocomplete } from "./autocomplete-DZ_HSBak.mjs";
11
- import { t as CalendarDatePicker } from "./calendar-date-picker-ynSGADfR.mjs";
10
+ import { t as Autocomplete } from "./autocomplete-BxtzndxZ.mjs";
11
+ import { t as CalendarDatePicker } from "./calendar-date-picker-Cl4lIDl5.mjs";
12
12
  import { t as ActionRow } from "./action-row-DTvs91_3.mjs";
13
13
  import { n as useDebouncedSearchInput } from "./use-debounced-search-input-yu_F0QBt.mjs";
14
- import { t as MultiSelect } from "./multi-select-PtdMChPF.mjs";
14
+ import { t as MultiSelect } from "./multi-select-CH8KERkt.mjs";
15
15
  import { ArrowDown, ArrowUp, ArrowUpDown, ChevronLeft, ChevronRight, MoreHorizontal, 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";
@@ -313,6 +313,20 @@ function applyFilters(data, filters, search, registeredFilters, customFilterFns,
313
313
  }
314
314
  //#endregion
315
315
  //#region src/components/features/data-table/core/store.ts
316
+ /**
317
+ * Keep only the selection keys whose rows survive a data change.
318
+ * Dropping vanished keys stops a deleted row's selection from
319
+ * resurrecting if a row with the same id reappears later.
320
+ */
321
+ function pruneSelection(selection, rows, getRowId) {
322
+ const keys = Object.keys(selection);
323
+ if (keys.length === 0) return selection;
324
+ const surviving = /* @__PURE__ */ new Set();
325
+ for (const row of rows) surviving.add(getRowId(row));
326
+ const next = {};
327
+ for (const key of keys) if (selection[key] && surviving.has(key)) next[key] = true;
328
+ return next;
329
+ }
316
330
  function createDataTableStore(options) {
317
331
  let registeredFilters = /* @__PURE__ */ new Map();
318
332
  const listeners = /* @__PURE__ */ new Set();
@@ -362,13 +376,17 @@ function createDataTableStore(options) {
362
376
  setData: (data) => {
363
377
  const next = {
364
378
  ...state,
365
- data,
366
- pageIndex: 0,
367
- rowSelection: {}
379
+ data
368
380
  };
381
+ const filteredData = computeFilteredData(next);
382
+ const pageCount = Math.max(1, Math.ceil(filteredData.length / state.pageSize));
383
+ const pageIndex = Math.min(state.pageIndex, pageCount - 1);
384
+ const rowSelection = options.getRowId ? pruneSelection(state.rowSelection, filteredData, options.getRowId) : {};
369
385
  setState({
370
386
  ...next,
371
- filteredData: computeFilteredData(next)
387
+ filteredData,
388
+ pageIndex,
389
+ rowSelection
372
390
  });
373
391
  },
374
392
  setServerData: (data) => {
@@ -1168,6 +1186,7 @@ function useClientTable(store, options) {
1168
1186
  }) : updater;
1169
1187
  store.setPagination(next.pageIndex, next.pageSize);
1170
1188
  },
1189
+ autoResetPageIndex: false,
1171
1190
  getRowId,
1172
1191
  enableRowSelection: !!enableRowSelection
1173
1192
  });
@@ -1239,7 +1258,8 @@ function ClientProvider(props) {
1239
1258
  columnCount: columns.length,
1240
1259
  searchableColumns,
1241
1260
  searchFn,
1242
- filterFns
1261
+ filterFns,
1262
+ getRowId
1243
1263
  }), []);
1244
1264
  const isInitialRender = useRef(true);
1245
1265
  useEffect(() => {
@@ -1,4 +1,4 @@
1
- import { M as getBrowserTimezone, N as getTimezoneOffset, j as formatTimezoneLabel } from "../date-time-range-picker-Dog33Ry0.mjs";
2
- import { t as CalendarDatePicker } from "../calendar-date-picker-ynSGADfR.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-WC7b9Mcv.mjs";
1
+ import { M as getBrowserTimezone, N as getTimezoneOffset, j as formatTimezoneLabel } from "../date-time-range-picker-CQQLACgN.mjs";
2
+ import { t as CalendarDatePicker } from "../calendar-date-picker-Cl4lIDl5.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-BzKfX7yo.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,2 +1,2 @@
1
- import { a as formatRelativeDate, c as getTimestamp, i as formatCombinedDate, l as getTimezoneAbbreviation, n as DEFAULT_DATE_FORMAT, o as formatTimezoneDate, r as formatAbsoluteDate, s as formatUTCDate, t as DateTime, u as parseDate } from "../date-time-CA-09lnw.mjs";
1
+ import { a as formatRelativeDate, c as getTimestamp, i as formatCombinedDate, l as getTimezoneAbbreviation, n as DEFAULT_DATE_FORMAT, o as formatTimezoneDate, r as formatAbsoluteDate, s as formatUTCDate, t as DateTime, u as parseDate } from "../date-time-BmYjT5vd.mjs";
2
2
  export { DEFAULT_DATE_FORMAT, DateTime, formatAbsoluteDate, formatCombinedDate, formatRelativeDate, formatTimezoneDate, formatUTCDate, getTimestamp, getTimezoneAbbreviation, parseDate };
@@ -1,5 +1,5 @@
1
1
  import { t as cn } from "./utils-Bu32wN-x.mjs";
2
- import { t as Tooltip } from "./tooltip-C_SL1imw.mjs";
2
+ import { t as Tooltip } from "./tooltip-DhbN1BDK.mjs";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { formatInTimeZone } from "date-fns-tz";
5
5
  import { format, formatDistanceToNowStrict } from "date-fns";
@@ -1,2 +1,2 @@
1
- import { t as DateTimePicker } from "../date-time-picker-BzcHrf-A.mjs";
1
+ import { t as DateTimePicker } from "../date-time-picker-DlaSizpS.mjs";
2
2
  export { DateTimePicker };
@@ -1,5 +1,5 @@
1
1
  import { t as useDeprecationWarning } from "./use-deprecation-warning-DXrGc0jX.mjs";
2
- import { r as DateTimePicker$1 } from "./picker-raVuDxsh.mjs";
2
+ import { r as DateTimePicker$1 } from "./picker-Bbjl9FOq.mjs";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region src/components/features/date-time-picker/date-time-picker.tsx
5
5
  /**
@@ -1,9 +1,9 @@
1
1
  import { t as cn } from "./utils-Bu32wN-x.mjs";
2
- import { t as Button } from "./button-A1qTjZ8U.mjs";
2
+ import { t as Button } from "./button-DoMqfQLu.mjs";
3
3
  import { t as Button$1 } from "./button-CsdF61EI.mjs";
4
4
  import { Calendar } from "./calendar/index.mjs";
5
5
  import { t as useBreakpoint } from "./use-breakpoint-CwiUJSmk.mjs";
6
- import { t as ResponsivePopover } from "./responsive-popover-C_1nzIvm.mjs";
6
+ import { t as ResponsivePopover } from "./responsive-popover-8VcjBM2d.mjs";
7
7
  import { n as OptionList, t as useOptionPicker } from "./use-option-picker-s2bUYwXC.mjs";
8
8
  import { CalendarIcon, Clock, Globe, X } from "lucide-react";
9
9
  import { createContext, useCallback, useContext, useEffect, useMemo, useReducer, useRef, useState } from "react";
@@ -1,2 +1,2 @@
1
- import { t as Dialog } from "../dialog-N2pkQIc4.mjs";
1
+ import { t as Dialog } from "../dialog-Gu70fban.mjs";
2
2
  export { Dialog };
@@ -25,7 +25,7 @@ function Trigger({ children, asChild = true }) {
25
25
  }
26
26
  function Content({ children, className }) {
27
27
  return /* @__PURE__ */ jsxs(DialogPortal, { children: [/* @__PURE__ */ jsx(DialogOverlay, {}), /* @__PURE__ */ jsx(DialogPrimitive.Content, {
28
- className: cn("dark:bg-muted dark:border-dialog-border data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 flex max-h-[80vh] w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] flex-col gap-0 overflow-hidden rounded-lg bg-white p-0 shadow-xl duration-200 sm:max-w-lg dark:border", className),
28
+ className: cn("dark:bg-muted dark:border-dialog-border data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 flex max-h-[80vh] w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] flex-col gap-0 overflow-hidden rounded-lg bg-white p-0 shadow-xl duration-200 ease-out sm:max-w-lg dark:border", className),
29
29
  children
30
30
  })] });
31
31
  }
@@ -1,2 +1,2 @@
1
- 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-B0znsOlu.mjs";
1
+ 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-Xvduih96.mjs";
2
2
  export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };
@@ -22,7 +22,7 @@ function DropdownMenuTrigger({ ...props }) {
22
22
  function DropdownMenuContent({ className, sideOffset = 4, ...props }) {
23
23
  return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.Content, {
24
24
  sideOffset,
25
- className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md", className),
25
+ className: cn("bg-popover text-popover-foreground origin-(--radix-dropdown-menu-content-transform-origin) duration-[var(--duration-fast)] ease-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md", className),
26
26
  ...props
27
27
  }) });
28
28
  }
@@ -33,13 +33,13 @@ function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
33
33
  return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Item, {
34
34
  "data-inset": inset,
35
35
  "data-variant": variant,
36
- className: cn("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/40 data-[variant=destructive]:focus:text-destructive-foreground data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
36
+ className: cn("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/40 data-[variant=destructive]:focus:text-destructive-foreground data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none transition-[background-color,color,transform] duration-[var(--duration-fast)] ease-out active:scale-[0.99] data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[disabled]:active:scale-100 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
37
37
  ...props
38
38
  });
39
39
  }
40
40
  function DropdownMenuCheckboxItem({ className, children, checked, ...props }) {
41
41
  return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.CheckboxItem, {
42
- className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
42
+ className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none transition-[background-color,color,transform] duration-[var(--duration-fast)] ease-out active:scale-[0.99] data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[disabled]:active:scale-100 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
43
43
  checked,
44
44
  ...props,
45
45
  children: [/* @__PURE__ */ jsx("span", {
@@ -56,7 +56,7 @@ function DropdownMenuRadioGroup({ ...props }) {
56
56
  }
57
57
  function DropdownMenuRadioItem({ className, children, ...props }) {
58
58
  return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.RadioItem, {
59
- className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
59
+ className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none transition-[background-color,color,transform] duration-[var(--duration-fast)] ease-out active:scale-[0.99] data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[disabled]:active:scale-100 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
60
60
  ...props,
61
61
  children: [/* @__PURE__ */ jsx("span", {
62
62
  className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
@@ -92,7 +92,7 @@ function DropdownMenuSub({ ...props }) {
92
92
  function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
93
93
  return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.SubTrigger, {
94
94
  "data-inset": inset,
95
- className: cn("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8", className),
95
+ className: cn("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none transition-[background-color,color,transform] duration-[var(--duration-fast)] ease-out active:scale-[0.99] data-[inset]:pl-8", className),
96
96
  ...props,
97
97
  children: [children, /* @__PURE__ */ jsx(Icon, {
98
98
  icon: ChevronRightIcon,
@@ -102,7 +102,7 @@ function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
102
102
  }
103
103
  function DropdownMenuSubContent({ className, ...props }) {
104
104
  return /* @__PURE__ */ jsx(DropdownMenuPrimitive.SubContent, {
105
- className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg", className),
105
+ className: cn("bg-popover text-popover-foreground origin-(--radix-dropdown-menu-content-transform-origin) duration-[var(--duration-fast)] ease-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg", className),
106
106
  ...props
107
107
  });
108
108
  }
@@ -1,2 +1,2 @@
1
- import { i as FileInputButton, n as DropzoneContent, r as DropzoneEmptyState, t as Dropzone } from "../dropzone-DrWVd7OI.mjs";
1
+ import { i as FileInputButton, n as DropzoneContent, r as DropzoneEmptyState, t as Dropzone } from "../dropzone-ihksfjN2.mjs";
2
2
  export { Dropzone, DropzoneContent, DropzoneEmptyState, FileInputButton };
@@ -1,5 +1,5 @@
1
1
  import { t as cn } from "./utils-Bu32wN-x.mjs";
2
- import { t as Button } from "./button-A1qTjZ8U.mjs";
2
+ import { t as Button } from "./button-DoMqfQLu.mjs";
3
3
  import { t as Button$1 } from "./button-CsdF61EI.mjs";
4
4
  import { t as Icon } from "./icon-wrapper-DKfJlJd0.mjs";
5
5
  import { UploadIcon } from "lucide-react";
@@ -1,2 +1,2 @@
1
- import { t as EmptyContent } from "../empty-content-DvaelFpJ.mjs";
1
+ import { t as EmptyContent } from "../empty-content-CmuVcU0P.mjs";
2
2
  export { EmptyContent };
@@ -1,6 +1,6 @@
1
1
  import { t as cn } from "./utils-Bu32wN-x.mjs";
2
- import { t as Button } from "./button-A1qTjZ8U.mjs";
3
- import { t as Tooltip } from "./tooltip-C_SL1imw.mjs";
2
+ import { t as Button } from "./button-DoMqfQLu.mjs";
3
+ import { t as Tooltip } from "./tooltip-DhbN1BDK.mjs";
4
4
  import { cva } from "class-variance-authority";
5
5
  import { Fragment } from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -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-BhBsoMFA.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-DDtBJ3Dj.mjs";
2
2
  import { n as useAdapter, t as FormAdapterProvider } from "../adapter-context-h0jCVqGO.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 };
@@ -1,5 +1,5 @@
1
1
  import { t as cn } from "../../utils-Bu32wN-x.mjs";
2
- import { t as Button } from "../../button-A1qTjZ8U.mjs";
2
+ import { t as Button } from "../../button-DoMqfQLu.mjs";
3
3
  import { n as useFormContext, t as FormProvider } from "../../form-context-DzB2a-dw.mjs";
4
4
  import { n as useAdapter } from "../../adapter-context-h0jCVqGO.mjs";
5
5
  import { t as defineStepper } from "../../stepper-dNvkipop.mjs";
@@ -1,27 +1,27 @@
1
1
  import { t as cn } from "./utils-Bu32wN-x.mjs";
2
- import { t as Button } from "./button-A1qTjZ8U.mjs";
2
+ import { t as Button } from "./button-DoMqfQLu.mjs";
3
3
  import { t as Icon } from "./icon-wrapper-DKfJlJd0.mjs";
4
4
  import { t as Checkbox } from "./checkbox-C6P12fio.mjs";
5
- import { t as Dialog } from "./dialog-N2pkQIc4.mjs";
5
+ import { t as Dialog } from "./dialog-Gu70fban.mjs";
6
6
  import { t as useControllableState } from "./use-controllable-state-Dna7u3r9.mjs";
7
7
  import { t as Input } from "./input-j4tbmYYz.mjs";
8
8
  import { t as Label } from "./label-Bk6FXsju.mjs";
9
9
  import { n as RadioGroupItem, t as RadioGroup } from "./radio-group-LduBVTnh.mjs";
10
- import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "./select-DCU44UO6.mjs";
11
- import { t as Tooltip } from "./tooltip-C_SL1imw.mjs";
12
- import { t as Switch } from "./switch-DPHr3TcN.mjs";
10
+ import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "./select-CQsG8Kju.mjs";
11
+ import { t as Tooltip } from "./tooltip-DhbN1BDK.mjs";
12
+ import { t as Switch } from "./switch-Z2pJMckf.mjs";
13
13
  import { t as Textarea } from "./textarea-B6YhjFVC.mjs";
14
- import { t as Autocomplete } from "./autocomplete-DZ_HSBak.mjs";
14
+ import { t as Autocomplete } from "./autocomplete-BxtzndxZ.mjs";
15
15
  import { Autosearch } from "./autosearch/index.mjs";
16
- import { t as CalendarDatePicker } from "./calendar-date-picker-ynSGADfR.mjs";
16
+ import { t as CalendarDatePicker } from "./calendar-date-picker-Cl4lIDl5.mjs";
17
17
  import { t as toast } from "./toast-BUPlDkN3.mjs";
18
- import { t as DateTimePicker } from "./date-time-picker-BzcHrf-A.mjs";
18
+ import { t as DateTimePicker } from "./date-time-picker-DlaSizpS.mjs";
19
19
  import { n as useFormContext$1, t as FormProvider } from "./form-context-DzB2a-dw.mjs";
20
20
  import { t as useCopyToClipboard } from "./use-copy-to-clipboard-DZDq_85T.mjs";
21
21
  import { n as useAdapter } from "./adapter-context-h0jCVqGO.mjs";
22
22
  import { InputWithAddons } from "./input-with-addons/index.mjs";
23
- import { t as TimePicker } from "./time-picker-CFhaHTtI.mjs";
24
- import { t as Transfer } from "./transfer-CEq9AhL7.mjs";
23
+ import { t as TimePicker } from "./time-picker-CoUqZCb7.mjs";
24
+ import { t as Transfer } from "./transfer-DsshYgIk.mjs";
25
25
  import { CheckIcon, CircleHelp, CopyIcon } from "lucide-react";
26
26
  import * as React from "react";
27
27
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -1,2 +1,2 @@
1
- import { t as GroupedTable } from "../grouped-table-C5V8ESJe.mjs";
1
+ import { t as GroupedTable } from "../grouped-table-DImzzehJ.mjs";
2
2
  export { GroupedTable };
@@ -1,11 +1,12 @@
1
1
  import { t as cn } from "./utils-Bu32wN-x.mjs";
2
- import { t as Button } from "./button-A1qTjZ8U.mjs";
2
+ import { t as Button } from "./button-DoMqfQLu.mjs";
3
3
  import { t as Icon } from "./icon-wrapper-DKfJlJd0.mjs";
4
4
  import { Collapsible, CollapsibleTrigger } from "./collapsible/index.mjs";
5
5
  import { t as useControllableState } from "./use-controllable-state-Dna7u3r9.mjs";
6
6
  import { Skeleton } from "./skeleton/index.mjs";
7
7
  import { TableBody, TableCell, TableHead, TableHeader, TableRow } from "./table/index.mjs";
8
- import { f as rowMatchesSearch, g as createSelectionColumn, h as DataTableColumnHeader, m as DataTableRowActions, p as dataTableFeatures } from "./data-table-Du7_FLBi.mjs";
8
+ import { n as EASE } from "./motion-DvGRWdsm.mjs";
9
+ import { f as rowMatchesSearch, g as createSelectionColumn, h as DataTableColumnHeader, m as DataTableRowActions, p as dataTableFeatures } from "./data-table-C37OD6_4.mjs";
9
10
  import { n as useDebouncedSearchInput } from "./use-debounced-search-input-yu_F0QBt.mjs";
10
11
  import { InputWithAddons } from "./input-with-addons/index.mjs";
11
12
  import { ChevronRight, Search, X } from "lucide-react";
@@ -16,12 +17,7 @@ import { flexRender, useTable } from "@tanstack/react-table";
16
17
  //#region src/components/features/grouped-table/components/grouped-collapsible-body.tsx
17
18
  const OPEN_TRANSITION = {
18
19
  duration: .18,
19
- ease: [
20
- .23,
21
- 1,
22
- .32,
23
- 1
24
- ]
20
+ ease: EASE.out
25
21
  };
26
22
  const INSTANT = { duration: 0 };
27
23
  /**
@@ -1,2 +1,2 @@
1
- import { n as HoverCardContent, r as HoverCardTrigger, t as HoverCard } from "../hover-card-08jU9cD8.mjs";
1
+ import { n as HoverCardContent, r as HoverCardTrigger, t as HoverCard } from "../hover-card-BNOE5vT5.mjs";
2
2
  export { HoverCard, HoverCardContent, HoverCardTrigger };