tembro 6.1.0 → 6.1.1

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 (146) hide show
  1. package/dist/components/actions/action-menu.d.ts +11 -1
  2. package/dist/components/display/index.d.ts +0 -2
  3. package/dist/components/filters/index.d.ts +0 -1
  4. package/dist/components/inputs/time-picker.d.ts +11 -3
  5. package/dist/components/modern/file-manager.d.ts +1 -1
  6. package/dist/components/modern/index.d.ts +3 -1
  7. package/dist/components/modern/map.cjs +1 -0
  8. package/dist/components/modern/map.d.ts +29 -0
  9. package/dist/components/modern/map.js +1 -0
  10. package/dist/components/modern/media-player.cjs +1 -0
  11. package/dist/components/modern/media-player.d.ts +21 -0
  12. package/dist/components/modern/media-player.js +1 -0
  13. package/dist/components/modern/spreadsheet.cjs +1 -0
  14. package/dist/components/modern/spreadsheet.d.ts +35 -0
  15. package/dist/components/modern/spreadsheet.js +1 -0
  16. package/dist/components/overlay/drawer.d.ts +3 -1
  17. package/dist/index.d.ts +0 -2
  18. package/dist/src/components/actions/action-menu.cjs +1 -1
  19. package/dist/src/components/actions/action-menu.js +47 -39
  20. package/dist/src/components/actions/copy-button.cjs +1 -1
  21. package/dist/src/components/actions/copy-button.js +4 -1
  22. package/dist/src/components/calendar/date-picker.cjs +1 -1
  23. package/dist/src/components/calendar/date-picker.js +5 -8
  24. package/dist/src/components/calendar/date-range-picker.cjs +1 -1
  25. package/dist/src/components/calendar/date-range-picker.js +12 -27
  26. package/dist/src/components/data-table/data-table.cjs +1 -1
  27. package/dist/src/components/data-table/data-table.js +172 -171
  28. package/dist/src/components/display/index.cjs +1 -1
  29. package/dist/src/components/display/index.js +9 -11
  30. package/dist/src/components/filters/index.cjs +1 -1
  31. package/dist/src/components/filters/index.js +2 -3
  32. package/dist/src/components/inputs/color-picker.cjs +1 -1
  33. package/dist/src/components/inputs/color-picker.js +63 -46
  34. package/dist/src/components/inputs/slider.cjs +1 -1
  35. package/dist/src/components/inputs/slider.js +3 -3
  36. package/dist/src/components/inputs/tag-input.cjs +1 -1
  37. package/dist/src/components/inputs/tag-input.js +7 -4
  38. package/dist/src/components/inputs/time-picker.cjs +1 -1
  39. package/dist/src/components/inputs/time-picker.js +90 -34
  40. package/dist/src/components/modern/index.cjs +1 -1
  41. package/dist/src/components/modern/index.js +6 -4
  42. package/dist/src/components/modern/map.cjs +1 -0
  43. package/dist/src/components/modern/map.js +158 -0
  44. package/dist/src/components/modern/media-player.cjs +1 -0
  45. package/dist/src/components/modern/media-player.js +176 -0
  46. package/dist/src/components/modern/resizable-panel.cjs +1 -1
  47. package/dist/src/components/modern/resizable-panel.js +39 -32
  48. package/dist/src/components/modern/spreadsheet.cjs +1 -0
  49. package/dist/src/components/modern/spreadsheet.js +97 -0
  50. package/dist/src/components/navigation/pagination.cjs +1 -1
  51. package/dist/src/components/navigation/pagination.js +5 -5
  52. package/dist/src/components/notifications/toast.cjs +1 -1
  53. package/dist/src/components/notifications/toast.js +68 -63
  54. package/dist/src/components/overlay/alert-dialog.cjs +1 -1
  55. package/dist/src/components/overlay/alert-dialog.js +8 -6
  56. package/dist/src/components/overlay/drawer.cjs +1 -1
  57. package/dist/src/components/overlay/drawer.js +38 -20
  58. package/dist/src/components/ui/checkbox/index.cjs +1 -1
  59. package/dist/src/components/ui/checkbox/index.js +2 -1
  60. package/dist/src/components/ui/dialog/index.cjs +1 -1
  61. package/dist/src/components/ui/dialog/index.js +8 -8
  62. package/dist/src/components/ui/dropdown-menu/index.cjs +1 -1
  63. package/dist/src/components/ui/dropdown-menu/index.js +21 -19
  64. package/dist/src/components/ui/popover/index.cjs +1 -1
  65. package/dist/src/components/ui/popover/index.js +10 -10
  66. package/dist/src/components/ui/tabs/index.cjs +1 -1
  67. package/dist/src/components/ui/tabs/index.js +6 -6
  68. package/dist/src/components/ui/toggle-group/index.cjs +1 -1
  69. package/dist/src/components/ui/toggle-group/index.js +2 -2
  70. package/dist/src/index.cjs +1 -1
  71. package/dist/src/index.js +80 -83
  72. package/dist/src/public-component-surface.cjs +1 -1
  73. package/dist/src/public-component-surface.js +15 -20
  74. package/package.json +1 -2
  75. package/packages/cli/dist/index.cjs +58 -178
  76. package/packages/cli/vendor/src/components/actions/action-menu.tsx +47 -19
  77. package/packages/cli/vendor/src/components/actions/copy-button.tsx +2 -2
  78. package/packages/cli/vendor/src/components/calendar/date-picker.tsx +2 -5
  79. package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +5 -12
  80. package/packages/cli/vendor/src/components/data-table/data-table.tsx +45 -34
  81. package/packages/cli/vendor/src/components/display/index.ts +3 -5
  82. package/packages/cli/vendor/src/components/filters/index.ts +0 -1
  83. package/packages/cli/vendor/src/components/inputs/color-picker.tsx +15 -1
  84. package/packages/cli/vendor/src/components/inputs/slider.tsx +3 -3
  85. package/packages/cli/vendor/src/components/inputs/tag-input.tsx +4 -4
  86. package/packages/cli/vendor/src/components/inputs/time-picker.tsx +91 -38
  87. package/packages/cli/vendor/src/components/modern/file-manager.tsx +1 -1
  88. package/packages/cli/vendor/src/components/modern/index.ts +3 -1
  89. package/packages/cli/vendor/src/components/modern/map.tsx +146 -0
  90. package/packages/cli/vendor/src/components/modern/media-player.tsx +182 -0
  91. package/packages/cli/vendor/src/components/modern/resizable-panel.tsx +15 -5
  92. package/packages/cli/vendor/src/components/modern/spreadsheet.tsx +155 -0
  93. package/packages/cli/vendor/src/components/navigation/pagination.tsx +9 -5
  94. package/packages/cli/vendor/src/components/notifications/toast.tsx +20 -10
  95. package/packages/cli/vendor/src/components/overlay/alert-dialog.tsx +3 -5
  96. package/packages/cli/vendor/src/components/overlay/drawer.tsx +22 -11
  97. package/packages/cli/vendor/src/components/ui/checkbox/index.tsx +3 -1
  98. package/packages/cli/vendor/src/components/ui/dialog/index.tsx +4 -4
  99. package/packages/cli/vendor/src/components/ui/dropdown-menu/index.tsx +18 -22
  100. package/packages/cli/vendor/src/components/ui/popover/index.tsx +4 -4
  101. package/packages/cli/vendor/src/components/ui/tabs/index.tsx +8 -3
  102. package/packages/cli/vendor/src/components/ui/toggle-group/index.tsx +6 -6
  103. package/packages/cli/vendor/src/index.ts +0 -2
  104. package/packages/cli/vendor/src/public-component-surface.ts +3 -4
  105. package/packages/cli/vendor/templates/showcase/src/showcase/data/registry.ts +6 -6
  106. package/packages/cli/vendor/templates/showcase/src/showcase/layout/HeroSection.tsx +23 -8
  107. package/packages/cli/vendor/templates/showcase/src/showcase/layout/WorkbenchSidebar.tsx +1 -1
  108. package/packages/cli/vendor/templates/showcase/src/showcase/sections/PatternsSection.tsx +1 -1
  109. package/packages/cli/vendor/templates/styles/globals.css +0 -120
  110. package/registry.json +74 -141
  111. package/dist/components/display/info-card.cjs +0 -1
  112. package/dist/components/display/info-card.d.ts +0 -51
  113. package/dist/components/display/info-card.js +0 -1
  114. package/dist/components/display/statistic.cjs +0 -1
  115. package/dist/components/display/statistic.d.ts +0 -25
  116. package/dist/components/display/statistic.js +0 -1
  117. package/dist/components/filters/filter-bar.cjs +0 -1
  118. package/dist/components/filters/filter-bar.d.ts +0 -28
  119. package/dist/components/filters/filter-bar.js +0 -1
  120. package/dist/components/modern/image-cropper.cjs +0 -1
  121. package/dist/components/modern/image-cropper.d.ts +0 -39
  122. package/dist/components/modern/image-cropper.js +0 -1
  123. package/dist/components/ui/number-field/index.cjs +0 -1
  124. package/dist/components/ui/number-field/index.d.ts +0 -18
  125. package/dist/components/ui/number-field/index.js +0 -1
  126. package/dist/components/ui/toolbar/index.cjs +0 -1
  127. package/dist/components/ui/toolbar/index.d.ts +0 -14
  128. package/dist/components/ui/toolbar/index.js +0 -1
  129. package/dist/src/components/display/info-card.cjs +0 -1
  130. package/dist/src/components/display/info-card.js +0 -124
  131. package/dist/src/components/display/statistic.cjs +0 -1
  132. package/dist/src/components/display/statistic.js +0 -104
  133. package/dist/src/components/filters/filter-bar.cjs +0 -1
  134. package/dist/src/components/filters/filter-bar.js +0 -103
  135. package/dist/src/components/modern/image-cropper.cjs +0 -1
  136. package/dist/src/components/modern/image-cropper.js +0 -143
  137. package/dist/src/components/ui/number-field/index.cjs +0 -1
  138. package/dist/src/components/ui/number-field/index.js +0 -73
  139. package/dist/src/components/ui/toolbar/index.cjs +0 -1
  140. package/dist/src/components/ui/toolbar/index.js +0 -50
  141. package/packages/cli/vendor/src/components/display/info-card.tsx +0 -195
  142. package/packages/cli/vendor/src/components/display/statistic.tsx +0 -114
  143. package/packages/cli/vendor/src/components/filters/filter-bar.tsx +0 -163
  144. package/packages/cli/vendor/src/components/modern/image-cropper.tsx +0 -226
  145. package/packages/cli/vendor/src/components/ui/number-field/index.tsx +0 -89
  146. package/packages/cli/vendor/src/components/ui/toolbar/index.tsx +0 -67
@@ -16,7 +16,11 @@ export type ActionMenuItem = {
16
16
  };
17
17
  export type ActionMenuProps = {
18
18
  actions: ActionMenuItem[];
19
+ open?: boolean;
20
+ defaultOpen?: boolean;
21
+ onOpenChange?: (open: boolean) => void;
19
22
  label?: React.ReactNode;
23
+ triggerLabel?: string;
20
24
  trigger?: React.ReactElement;
21
25
  align?: "start" | "center" | "end";
22
26
  side?: "top" | "right" | "bottom" | "left";
@@ -33,6 +37,12 @@ export type ActionMenuProps = {
33
37
  menuWidth?: number | string;
34
38
  loadingLabel?: React.ReactNode;
35
39
  persistIconSpace?: boolean;
40
+ itemRoleDescription?: string;
41
+ renderItem?: (action: ActionMenuItem, state: {
42
+ loading: boolean;
43
+ close: () => void;
44
+ }) => React.ReactNode;
45
+ onActionError?: (error: unknown, action: ActionMenuItem) => void;
36
46
  };
37
- declare function ActionMenu({ actions, label, trigger, align, side, sideOffset, disabled, triggerVariant, triggerSize, showChevron, closeOnSelect, contentClassName, triggerClassName, itemClassName, emptyLabel, menuWidth, loadingLabel, persistIconSpace, }: ActionMenuProps): React.JSX.Element;
47
+ declare function ActionMenu({ actions, open: openProp, defaultOpen, onOpenChange, label, triggerLabel, trigger, align, side, sideOffset, disabled, triggerVariant, triggerSize, showChevron, closeOnSelect, contentClassName, triggerClassName, itemClassName, emptyLabel, menuWidth, loadingLabel, persistIconSpace, itemRoleDescription, renderItem, onActionError, }: ActionMenuProps): React.JSX.Element;
38
48
  export { ActionMenu };
@@ -6,12 +6,10 @@ export * from "./code-block";
6
6
  export * from "./data-state";
7
7
  export * from "./list";
8
8
  export * from "./progress";
9
- export * from "./statistic";
10
9
  export * from "./status-dot";
11
10
  export * from "./status-legend";
12
11
  export * from "./timeline";
13
12
  export * from "./tree-view";
14
- export * from "./info-card";
15
13
  export * from "./virtual-list";
16
14
  export * from "./qr-code";
17
15
  export * from "./carousel";
@@ -1,2 +1 @@
1
- export * from "./filter-bar";
2
1
  export * from "./saved-filter-select";
@@ -1,9 +1,13 @@
1
1
  import * as React from "react";
2
2
  export type TimePickerProps = Omit<React.ComponentProps<"input">, "type"> & {
3
3
  label?: React.ReactNode;
4
+ clearable?: boolean;
5
+ onClear?: () => void;
4
6
  };
5
7
  export type DateTimePickerProps = Omit<React.ComponentProps<"input">, "type"> & {
6
8
  label?: React.ReactNode;
9
+ clearable?: boolean;
10
+ onClear?: () => void;
7
11
  };
8
12
  export type TimeRangePickerProps = React.ComponentProps<"div"> & {
9
13
  from?: string;
@@ -11,8 +15,12 @@ export type TimeRangePickerProps = React.ComponentProps<"div"> & {
11
15
  onFromChange?: (value: string) => void;
12
16
  onToChange?: (value: string) => void;
13
17
  disabled?: boolean;
18
+ labels?: {
19
+ from?: React.ReactNode;
20
+ to?: React.ReactNode;
21
+ };
14
22
  };
15
- declare function TimePicker({ label, className, ...props }: TimePickerProps): React.JSX.Element;
16
- declare function DateTimePicker({ label, className, ...props }: DateTimePickerProps): React.JSX.Element;
17
- declare function TimeRangePicker({ from, to, onFromChange, onToChange, disabled, className, ...props }: TimeRangePickerProps): React.JSX.Element;
23
+ declare function TimePicker({ label, className, clearable, onClear, value, defaultValue, disabled, onChange, ...props }: TimePickerProps): React.JSX.Element;
24
+ declare function DateTimePicker({ label, className, clearable, onClear, value, defaultValue, disabled, onChange, ...props }: DateTimePickerProps): React.JSX.Element;
25
+ declare function TimeRangePicker({ from, to, onFromChange, onToChange, disabled, labels, className, ...props }: TimeRangePickerProps): React.JSX.Element;
18
26
  export { DateTimePicker, TimePicker, TimeRangePicker };
@@ -7,7 +7,7 @@ export type FileManagerItem = {
7
7
  owner?: React.ReactNode;
8
8
  status?: React.ReactNode;
9
9
  };
10
- export type FileManagerProps = React.ComponentProps<"div"> & {
10
+ export type FileManagerProps = Omit<React.ComponentProps<"div">, "onSelect"> & {
11
11
  items: FileManagerItem[];
12
12
  selectedId?: string;
13
13
  onSelect?: (item: FileManagerItem) => void;
@@ -2,5 +2,7 @@ export * from "./calendar-scheduler";
2
2
  export * from "./dual-list-picker";
3
3
  export * from "./resizable-panel";
4
4
  export * from "./rich-text-editor";
5
- export * from "./image-cropper";
6
5
  export * from "./file-manager";
6
+ export * from "./map";
7
+ export * from "./media-player";
8
+ export * from "./spreadsheet";
@@ -0,0 +1 @@
1
+ module.exports = require("../../src/components/modern/map.cjs")
@@ -0,0 +1,29 @@
1
+ import * as React from "react";
2
+ export type MapMarker = {
3
+ key: string;
4
+ label: React.ReactNode;
5
+ latitude: number;
6
+ longitude: number;
7
+ description?: React.ReactNode;
8
+ tone?: "neutral" | "info" | "success" | "warning" | "danger" | "muted";
9
+ };
10
+ export type MapViewProps = React.ComponentProps<"section"> & {
11
+ center?: {
12
+ latitude: number;
13
+ longitude: number;
14
+ };
15
+ zoom?: number;
16
+ markers?: MapMarker[];
17
+ title?: React.ReactNode;
18
+ description?: React.ReactNode;
19
+ height?: number | string;
20
+ showMarkerList?: boolean;
21
+ showControls?: boolean;
22
+ iframeTitle?: string;
23
+ mapUrl?: string;
24
+ onMarkerSelect?: (marker: MapMarker) => void;
25
+ selectedMarkerKey?: string;
26
+ defaultSelectedMarkerKey?: string;
27
+ };
28
+ declare function MapView({ center, zoom, markers, title, description, height, showMarkerList, showControls, iframeTitle, mapUrl, onMarkerSelect, selectedMarkerKey, defaultSelectedMarkerKey, className, ...props }: MapViewProps): React.JSX.Element;
29
+ export { MapView };
@@ -0,0 +1 @@
1
+ export * from "../../src/components/modern/map.js"
@@ -0,0 +1 @@
1
+ module.exports = require("../../src/components/modern/media-player.cjs")
@@ -0,0 +1,21 @@
1
+ import * as React from "react";
2
+ export type MediaTrack = {
3
+ src: string;
4
+ kind?: React.TrackHTMLAttributes<HTMLTrackElement>["kind"];
5
+ srcLang?: string;
6
+ label?: string;
7
+ default?: boolean;
8
+ };
9
+ export type MediaPlayerProps = Omit<React.ComponentProps<"video">, "controls" | "children" | "onTimeUpdate" | "onVolumeChange"> & {
10
+ src: string;
11
+ title?: React.ReactNode;
12
+ description?: React.ReactNode;
13
+ tracks?: MediaTrack[];
14
+ actions?: React.ReactNode;
15
+ aspectRatio?: "video" | "square" | "wide" | string;
16
+ showMeta?: boolean;
17
+ onTimeChange?: (time: number, duration: number) => void;
18
+ onVolumeValueChange?: (volume: number, muted: boolean) => void;
19
+ };
20
+ declare function MediaPlayer({ src, title, description, tracks, actions, aspectRatio, showMeta, poster, autoPlay, muted: mutedProp, loop, playsInline, preload, onTimeChange, onVolumeValueChange, className, ...props }: MediaPlayerProps): React.JSX.Element;
21
+ export { MediaPlayer };
@@ -0,0 +1 @@
1
+ export * from "../../src/components/modern/media-player.js"
@@ -0,0 +1 @@
1
+ module.exports = require("../../src/components/modern/spreadsheet.cjs")
@@ -0,0 +1,35 @@
1
+ import * as React from "react";
2
+ export type SpreadsheetColumn = {
3
+ key: string;
4
+ label: React.ReactNode;
5
+ width?: number | string;
6
+ align?: "left" | "center" | "right";
7
+ readOnly?: boolean;
8
+ formatter?: (value: string, row: SpreadsheetRow) => React.ReactNode;
9
+ };
10
+ export type SpreadsheetRow = {
11
+ key: string;
12
+ cells: Record<string, string>;
13
+ readOnly?: boolean;
14
+ };
15
+ export type SpreadsheetSelection = {
16
+ rowKey: string;
17
+ columnKey: string;
18
+ };
19
+ export type SpreadsheetProps = Omit<React.ComponentProps<"div">, "onChange"> & {
20
+ columns: SpreadsheetColumn[];
21
+ rows?: SpreadsheetRow[];
22
+ defaultRows?: SpreadsheetRow[];
23
+ onRowsChange?: (rows: SpreadsheetRow[], selection?: SpreadsheetSelection) => void;
24
+ onCellChange?: (value: string, selection: SpreadsheetSelection, rows: SpreadsheetRow[]) => void;
25
+ selectedCell?: SpreadsheetSelection;
26
+ defaultSelectedCell?: SpreadsheetSelection;
27
+ onSelectedCellChange?: (selection: SpreadsheetSelection) => void;
28
+ readOnly?: boolean;
29
+ showRowNumbers?: boolean;
30
+ showAddRow?: boolean;
31
+ addRowLabel?: React.ReactNode;
32
+ empty?: React.ReactNode;
33
+ };
34
+ declare function Spreadsheet({ columns, rows: rowsProp, defaultRows, onRowsChange, onCellChange, selectedCell, defaultSelectedCell, onSelectedCellChange, readOnly, showRowNumbers, showAddRow, addRowLabel, empty, className, ...props }: SpreadsheetProps): React.JSX.Element;
35
+ export { Spreadsheet };
@@ -0,0 +1 @@
1
+ export * from "../../src/components/modern/spreadsheet.js"
@@ -3,12 +3,14 @@ import { Button } from "@/components/ui/button";
3
3
  import { Dialog } from "@/components/ui/dialog";
4
4
  export type DrawerSide = "left" | "right" | "top" | "bottom";
5
5
  export type DrawerWidth = "sm" | "md" | "lg" | "xl" | "full";
6
+ export type DrawerDensity = "compact" | "default" | "comfortable";
6
7
  export type DrawerProps = Omit<React.ComponentProps<typeof Dialog>, "children"> & {
7
8
  trigger?: React.ReactNode;
8
9
  title?: React.ReactNode;
9
10
  description?: React.ReactNode;
10
11
  side?: DrawerSide;
11
12
  width?: DrawerWidth;
13
+ density?: DrawerDensity;
12
14
  footer?: React.ReactNode;
13
15
  headerClassName?: string;
14
16
  bodyClassName?: string;
@@ -17,6 +19,6 @@ export type DrawerProps = Omit<React.ComponentProps<typeof Dialog>, "children">
17
19
  showCloseButton?: boolean;
18
20
  children?: React.ReactNode;
19
21
  };
20
- declare function Drawer({ trigger, title, description, side, width, footer, headerClassName, bodyClassName, footerClassName, contentClassName, showCloseButton, children, ...props }: DrawerProps): React.JSX.Element;
22
+ declare function Drawer({ trigger, title, description, side, width, density, footer, headerClassName, bodyClassName, footerClassName, contentClassName, showCloseButton, children, ...props }: DrawerProps): React.JSX.Element;
21
23
  declare function DrawerCloseButton({ children, ...props }: React.ComponentProps<typeof Button>): React.JSX.Element;
22
24
  export { Drawer, DrawerCloseButton };
package/dist/index.d.ts CHANGED
@@ -26,9 +26,7 @@ export * from './components/ui/kbd';
26
26
  export * from './components/ui/radio-group';
27
27
  export * from './components/ui/scroll-box';
28
28
  export * from './components/ui/right-click-menu';
29
- export * from './components/ui/number-field';
30
29
  export * from './components/ui/toggle-group';
31
- export * from './components/ui/toolbar';
32
30
  export * from './components/actions/public';
33
31
  export * from './components/layout/public';
34
32
  export * from './components/navigation';
@@ -1 +1 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/dropdown-menu/index.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("lucide-react"),o=require("react/jsx-runtime");function s({actions:e,label:s,trigger:c,align:l=`end`,side:u=`bottom`,sideOffset:d=4,disabled:f=!1,triggerVariant:p=`ghost`,triggerSize:m=`icon-sm`,showChevron:h=!1,closeOnSelect:g=!0,contentClassName:_,triggerClassName:v,itemClassName:y,emptyLabel:b=`No actions`,menuWidth:x,loadingLabel:S=`Working...`,persistIconSpace:C=!0}){let w=e.filter(e=>!e.hidden),[T,E]=i.useState(null),[D,O]=i.useState(!1),k=i.useRef(null),A=async e=>{if(!(e.disabled||e.loading||T))try{E(e.key),await e.onSelect?.(),g&&!e.keepOpen&&O(!1)}finally{E(null)}},j=e=>{k.current!==e.key&&(k.current=e.key,queueMicrotask(()=>{k.current===e.key&&(k.current=null)}),A(e))};return(0,o.jsxs)(r.DropdownMenu,{open:D,onOpenChange:O,children:[(0,o.jsxs)(r.DropdownMenuTrigger,{render:c??(0,o.jsx)(n.Button,{type:`button`,variant:p,size:m,disabled:f,className:t.cn(`rounded-full border border-transparent text-muted-foreground shadow-none transition-[background-color,border-color,color,box-shadow] hover:border-border/70 hover:bg-accent hover:text-foreground focus-visible:border-[color:var(--aui-focus-ring,var(--ring))] focus-visible:shadow-[0_0_0_3px_var(--aui-focus-ring-soft,transparent)]`,v),onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation}),children:[!c&&(0,o.jsx)(a.MoreHorizontalIcon,{}),!c&&h&&(0,o.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-[0.18em]`,children:`Menu`}),(0,o.jsx)(`span`,{className:`sr-only`,children:`Open actions`})]}),(0,o.jsxs)(r.DropdownMenuContent,{align:l,side:u,sideOffset:d,className:t.cn(`min-w-48 rounded-[var(--aui-card-radius,var(--radius-lg))]`,_),style:x?{width:typeof x==`number`?`${x}px`:x}:void 0,children:[s&&(0,o.jsx)(r.DropdownMenuLabel,{children:s}),s&&w.length>0&&(0,o.jsx)(r.DropdownMenuSeparator,{}),w.length===0&&(0,o.jsx)(r.DropdownMenuItem,{disabled:!0,children:b}),w.map((e,n)=>{let s=e.loading||T===e.key,c=n>0?w[n-1]?.section:void 0,l=!!(e.section&&e.section!==c);return(0,o.jsxs)(i.Fragment,{children:[l?(0,o.jsxs)(o.Fragment,{children:[n>0?(0,o.jsx)(r.DropdownMenuSeparator,{}):null,(0,o.jsx)(r.DropdownMenuLabel,{children:e.section})]}):null,(0,o.jsxs)(r.DropdownMenuItem,{disabled:e.disabled||s,variant:e.destructive?`destructive`:`default`,closeOnSelect:g&&!e.keepOpen,className:t.cn(`min-h-11 items-start gap-3 rounded-[calc(var(--radius-md)+1px)] border border-transparent py-2.5 transition-[background-color,color,border-color,box-shadow] data-[highlighted]:shadow-[inset_0_0_0_1px_color-mix(in_oklch,var(--primary),transparent_76%)] data-[disabled]:opacity-45`,y),onSelect:n=>{(e.keepOpen||!g)&&n.preventDefault(),t.stopInteractivePropagation(n),j(e)},onClick:n=>{t.stopInteractivePropagation(n),j(e)},onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation,children:[(0,o.jsx)(`span`,{className:t.cn(`mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground`,!C&&!s&&!e.icon&&`hidden`),children:s?(0,o.jsx)(a.Loader2Icon,{className:`size-4 animate-spin`}):e.icon}),(0,o.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,o.jsx)(`span`,{className:`block truncate`,children:e.label}),e.description?(0,o.jsx)(r.DropdownMenuItemDescription,{className:`mt-0.5 truncate`,children:s?S:e.description}):null]}),e.shortcut&&(0,o.jsx)(r.DropdownMenuShortcut,{children:e.shortcut})]})]},e.key)})]})]})}exports.ActionMenu=s;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/dropdown-menu/index.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("lucide-react"),o=require("react/jsx-runtime");function s({actions:e,open:s,defaultOpen:c=!1,onOpenChange:l,label:u,triggerLabel:d=`Open actions`,trigger:f,align:p=`end`,side:m=`bottom`,sideOffset:h=4,disabled:g=!1,triggerVariant:_=`ghost`,triggerSize:v=`icon-sm`,showChevron:y=!1,closeOnSelect:b=!0,contentClassName:x,triggerClassName:S,itemClassName:C,emptyLabel:w=`No actions`,menuWidth:T,loadingLabel:E=`Working...`,persistIconSpace:D=!0,itemRoleDescription:O,renderItem:k,onActionError:A}){let j=e.filter(e=>!e.hidden),[M,N]=i.useState(null),[P,F]=i.useState(c),I=s??P,L=i.useRef(null),R=i.useCallback(e=>{s===void 0&&F(e),l?.(e)},[l,s]),z=async e=>{if(!(e.disabled||e.loading||M))try{N(e.key),await e.onSelect?.(),b&&!e.keepOpen&&R(!1)}catch(t){if(A?.(t,e),!A)throw t}finally{N(null)}},B=e=>{L.current!==e.key&&(L.current=e.key,queueMicrotask(()=>{L.current===e.key&&(L.current=null)}),z(e))};return(0,o.jsxs)(r.DropdownMenu,{open:I,onOpenChange:R,children:[(0,o.jsxs)(r.DropdownMenuTrigger,{render:f??(0,o.jsx)(n.Button,{type:`button`,variant:_,size:v,disabled:g,className:t.cn(`rounded-full border border-transparent text-muted-foreground shadow-none transition-[background-color,border-color,color,box-shadow] hover:border-border/70 hover:bg-accent hover:text-foreground focus-visible:border-[color:var(--aui-focus-ring,var(--ring))] focus-visible:shadow-[0_0_0_3px_var(--aui-focus-ring-soft,transparent)]`,S),onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation}),children:[!f&&(0,o.jsx)(a.MoreHorizontalIcon,{}),!f&&y&&(0,o.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-[0.18em]`,children:`Menu`}),(0,o.jsx)(`span`,{className:`sr-only`,children:d})]}),(0,o.jsxs)(r.DropdownMenuContent,{align:p,side:m,sideOffset:h,className:t.cn(`min-w-48 rounded-[var(--aui-card-radius,var(--radius-lg))]`,x),style:T?{width:typeof T==`number`?`${T}px`:T}:void 0,children:[u&&(0,o.jsx)(r.DropdownMenuLabel,{children:u}),u&&j.length>0&&(0,o.jsx)(r.DropdownMenuSeparator,{}),j.length===0&&(0,o.jsx)(r.DropdownMenuItem,{disabled:!0,children:w}),j.map((e,n)=>{let s=e.loading||M===e.key,c=n>0?j[n-1]?.section:void 0,l=!!(e.section&&e.section!==c);return(0,o.jsxs)(i.Fragment,{children:[l?(0,o.jsxs)(o.Fragment,{children:[n>0?(0,o.jsx)(r.DropdownMenuSeparator,{}):null,(0,o.jsx)(r.DropdownMenuLabel,{children:e.section})]}):null,(0,o.jsx)(r.DropdownMenuItem,{disabled:e.disabled||s,variant:e.destructive?`destructive`:`default`,closeOnSelect:b&&!e.keepOpen,"aria-roledescription":O,className:t.cn(`min-h-11 items-start gap-3 rounded-[calc(var(--radius-md)+1px)] border border-transparent py-2.5 transition-[background-color,color,border-color,box-shadow] data-[highlighted]:shadow-[inset_0_0_0_1px_color-mix(in_oklch,var(--primary),transparent_76%)] data-[disabled]:opacity-45`,C),onSelect:n=>{(e.keepOpen||!b)&&n.preventDefault(),t.stopInteractivePropagation(n),B(e)},onClick:n=>{t.stopInteractivePropagation(n),B(e)},onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation,children:k?.(e,{loading:s,close:()=>R(!1)})??(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`span`,{className:t.cn(`mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground`,!D&&!s&&!e.icon&&`hidden`),children:s?(0,o.jsx)(a.Loader2Icon,{className:`size-4 animate-spin`}):e.icon}),(0,o.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,o.jsx)(`span`,{className:`block truncate`,children:e.label}),e.description?(0,o.jsx)(r.DropdownMenuItemDescription,{className:`mt-0.5 truncate`,children:s?E:e.description}):null]}),e.shortcut&&(0,o.jsx)(r.DropdownMenuShortcut,{children:e.shortcut})]})})]},e.key)})]})]})}exports.ActionMenu=s;
@@ -6,73 +6,81 @@ import * as d from "react";
6
6
  import { Loader2Icon as f, MoreHorizontalIcon as p } from "lucide-react";
7
7
  import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
8
8
  //#region src/components/actions/action-menu.tsx
9
- function _({ actions: _, label: v, trigger: y, align: b = "end", side: x = "bottom", sideOffset: S = 4, disabled: C = !1, triggerVariant: w = "ghost", triggerSize: T = "icon-sm", showChevron: E = !1, closeOnSelect: D = !0, contentClassName: O, triggerClassName: k, itemClassName: A, emptyLabel: j = "No actions", menuWidth: M, loadingLabel: N = "Working...", persistIconSpace: P = !0 }) {
10
- let F = _.filter((e) => !e.hidden), [I, L] = d.useState(null), [R, z] = d.useState(!1), B = d.useRef(null), V = async (e) => {
11
- if (!(e.disabled || e.loading || I)) try {
12
- L(e.key), await e.onSelect?.(), D && !e.keepOpen && z(!1);
9
+ function _({ actions: _, open: v, defaultOpen: y = !1, onOpenChange: b, label: x, triggerLabel: S = "Open actions", trigger: C, align: w = "end", side: T = "bottom", sideOffset: E = 4, disabled: D = !1, triggerVariant: O = "ghost", triggerSize: k = "icon-sm", showChevron: A = !1, closeOnSelect: j = !0, contentClassName: M, triggerClassName: N, itemClassName: P, emptyLabel: F = "No actions", menuWidth: I, loadingLabel: L = "Working...", persistIconSpace: R = !0, itemRoleDescription: z, renderItem: B, onActionError: V }) {
10
+ let H = _.filter((e) => !e.hidden), [U, W] = d.useState(null), [G, K] = d.useState(y), q = v ?? G, J = d.useRef(null), Y = d.useCallback((e) => {
11
+ v === void 0 && K(e), b?.(e);
12
+ }, [b, v]), X = async (e) => {
13
+ if (!(e.disabled || e.loading || U)) try {
14
+ W(e.key), await e.onSelect?.(), j && !e.keepOpen && Y(!1);
15
+ } catch (t) {
16
+ if (V?.(t, e), !V) throw t;
13
17
  } finally {
14
- L(null);
18
+ W(null);
15
19
  }
16
- }, H = (e) => {
17
- B.current !== e.key && (B.current = e.key, queueMicrotask(() => {
18
- B.current === e.key && (B.current = null);
19
- }), V(e));
20
+ }, Z = (e) => {
21
+ J.current !== e.key && (J.current = e.key, queueMicrotask(() => {
22
+ J.current === e.key && (J.current = null);
23
+ }), X(e));
20
24
  };
21
25
  return /* @__PURE__ */ g(r, {
22
- open: R,
23
- onOpenChange: z,
26
+ open: q,
27
+ onOpenChange: Y,
24
28
  children: [/* @__PURE__ */ g(u, {
25
- render: y ?? /* @__PURE__ */ h(n, {
29
+ render: C ?? /* @__PURE__ */ h(n, {
26
30
  type: "button",
27
- variant: w,
28
- size: T,
29
- disabled: C,
30
- className: e("rounded-full border border-transparent text-muted-foreground shadow-none transition-[background-color,border-color,color,box-shadow] hover:border-border/70 hover:bg-accent hover:text-foreground focus-visible:border-[color:var(--aui-focus-ring,var(--ring))] focus-visible:shadow-[0_0_0_3px_var(--aui-focus-ring-soft,transparent)]", k),
31
+ variant: O,
32
+ size: k,
33
+ disabled: D,
34
+ className: e("rounded-full border border-transparent text-muted-foreground shadow-none transition-[background-color,border-color,color,box-shadow] hover:border-border/70 hover:bg-accent hover:text-foreground focus-visible:border-[color:var(--aui-focus-ring,var(--ring))] focus-visible:shadow-[0_0_0_3px_var(--aui-focus-ring-soft,transparent)]", N),
31
35
  onMouseDown: t,
32
36
  onDoubleClick: t
33
37
  }),
34
38
  children: [
35
- !y && /* @__PURE__ */ h(p, {}),
36
- !y && E && /* @__PURE__ */ h("span", {
39
+ !C && /* @__PURE__ */ h(p, {}),
40
+ !C && A && /* @__PURE__ */ h("span", {
37
41
  className: "text-[10px] font-medium uppercase tracking-[0.18em]",
38
42
  children: "Menu"
39
43
  }),
40
44
  /* @__PURE__ */ h("span", {
41
45
  className: "sr-only",
42
- children: "Open actions"
46
+ children: S
43
47
  })
44
48
  ]
45
49
  }), /* @__PURE__ */ g(i, {
46
- align: b,
47
- side: x,
48
- sideOffset: S,
49
- className: e("min-w-48 rounded-[var(--aui-card-radius,var(--radius-lg))]", O),
50
- style: M ? { width: typeof M == "number" ? `${M}px` : M } : void 0,
50
+ align: w,
51
+ side: T,
52
+ sideOffset: E,
53
+ className: e("min-w-48 rounded-[var(--aui-card-radius,var(--radius-lg))]", M),
54
+ style: I ? { width: typeof I == "number" ? `${I}px` : I } : void 0,
51
55
  children: [
52
- v && /* @__PURE__ */ h(s, { children: v }),
53
- v && F.length > 0 && /* @__PURE__ */ h(c, {}),
54
- F.length === 0 && /* @__PURE__ */ h(a, {
56
+ x && /* @__PURE__ */ h(s, { children: x }),
57
+ x && H.length > 0 && /* @__PURE__ */ h(c, {}),
58
+ H.length === 0 && /* @__PURE__ */ h(a, {
55
59
  disabled: !0,
56
- children: j
60
+ children: F
57
61
  }),
58
- F.map((n, r) => {
59
- let i = n.loading || I === n.key, u = r > 0 ? F[r - 1]?.section : void 0, p = !!(n.section && n.section !== u);
60
- return /* @__PURE__ */ g(d.Fragment, { children: [p ? /* @__PURE__ */ g(m, { children: [r > 0 ? /* @__PURE__ */ h(c, {}) : null, /* @__PURE__ */ h(s, { children: n.section })] }) : null, /* @__PURE__ */ g(a, {
62
+ H.map((n, r) => {
63
+ let i = n.loading || U === n.key, u = r > 0 ? H[r - 1]?.section : void 0, p = !!(n.section && n.section !== u);
64
+ return /* @__PURE__ */ g(d.Fragment, { children: [p ? /* @__PURE__ */ g(m, { children: [r > 0 ? /* @__PURE__ */ h(c, {}) : null, /* @__PURE__ */ h(s, { children: n.section })] }) : null, /* @__PURE__ */ h(a, {
61
65
  disabled: n.disabled || i,
62
66
  variant: n.destructive ? "destructive" : "default",
63
- closeOnSelect: D && !n.keepOpen,
64
- className: e("min-h-11 items-start gap-3 rounded-[calc(var(--radius-md)+1px)] border border-transparent py-2.5 transition-[background-color,color,border-color,box-shadow] data-[highlighted]:shadow-[inset_0_0_0_1px_color-mix(in_oklch,var(--primary),transparent_76%)] data-[disabled]:opacity-45", A),
67
+ closeOnSelect: j && !n.keepOpen,
68
+ "aria-roledescription": z,
69
+ className: e("min-h-11 items-start gap-3 rounded-[calc(var(--radius-md)+1px)] border border-transparent py-2.5 transition-[background-color,color,border-color,box-shadow] data-[highlighted]:shadow-[inset_0_0_0_1px_color-mix(in_oklch,var(--primary),transparent_76%)] data-[disabled]:opacity-45", P),
65
70
  onSelect: (e) => {
66
- (n.keepOpen || !D) && e.preventDefault(), t(e), H(n);
71
+ (n.keepOpen || !j) && e.preventDefault(), t(e), Z(n);
67
72
  },
68
73
  onClick: (e) => {
69
- t(e), H(n);
74
+ t(e), Z(n);
70
75
  },
71
76
  onMouseDown: t,
72
77
  onDoubleClick: t,
73
- children: [
78
+ children: B?.(n, {
79
+ loading: i,
80
+ close: () => Y(!1)
81
+ }) ?? /* @__PURE__ */ g(m, { children: [
74
82
  /* @__PURE__ */ h("span", {
75
- className: e("mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground", !P && !i && !n.icon && "hidden"),
83
+ className: e("mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground", !R && !i && !n.icon && "hidden"),
76
84
  children: i ? /* @__PURE__ */ h(f, { className: "size-4 animate-spin" }) : n.icon
77
85
  }),
78
86
  /* @__PURE__ */ g("span", {
@@ -82,11 +90,11 @@ function _({ actions: _, label: v, trigger: y, align: b = "end", side: x = "bott
82
90
  children: n.label
83
91
  }), n.description ? /* @__PURE__ */ h(o, {
84
92
  className: "mt-0.5 truncate",
85
- children: i ? N : n.description
93
+ children: i ? L : n.description
86
94
  }) : null]
87
95
  }),
88
96
  n.shortcut && /* @__PURE__ */ h(l, { children: n.shortcut })
89
- ]
97
+ ] })
90
98
  })] }, n.key);
91
99
  })
92
100
  ]
@@ -1 +1 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("lucide-react"),a=require("react/jsx-runtime");async function o(e){if(typeof navigator<`u`&&navigator.clipboard?.writeText){await navigator.clipboard.writeText(e);return}if(typeof document>`u`)throw Error(`Clipboard is not available`);let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.left=`-9999px`,document.body.appendChild(t),t.select();try{document.execCommand(`copy`)}finally{document.body.removeChild(t)}}function s({value:e,copiedLabel:s=`Copied`,copyLabel:c=`Copy`,copiedTimeout:l=1600,onCopied:u,onCopyError:d,showIcon:f=!0,copiedVariant:p,variant:m,disabled:h,children:g,type:_=`button`,...v}){let[y,b]=r.useState(!1),x=r.useRef(void 0);r.useEffect(()=>()=>{x.current&&window.clearTimeout(x.current)},[]);let S=r.useCallback(async()=>{try{await o(e),b(!0),u?.(e),x.current&&window.clearTimeout(x.current),x.current=window.setTimeout(()=>b(!1),l)}catch(e){d?.(e)}},[l,u,d,e]);return(0,a.jsxs)(n.Button,{"data-slot":`copy-button`,"data-copied":y||void 0,type:_,variant:y?p??`secondary`:m,disabled:h||!e,onClick:e=>{t.stopInteractivePropagation(e),S()},onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation,"aria-live":`polite`,...v,children:[f&&(y?(0,a.jsx)(i.CheckIcon,{"data-icon":`inline-start`}):(0,a.jsx)(i.CopyIcon,{"data-icon":`inline-start`})),g??(y?s:c)]})}exports.CopyButton=s;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("lucide-react"),a=require("react/jsx-runtime");async function o(e){if(typeof navigator<`u`&&navigator.clipboard?.writeText){await navigator.clipboard.writeText(e);return}if(typeof document>`u`)throw Error(`Clipboard is not available`);let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.left=`-9999px`,document.body.appendChild(t),t.select();try{document.execCommand(`copy`)}finally{document.body.removeChild(t)}}function s({value:e,copiedLabel:s=`Copied`,copyLabel:c=`Copy`,copiedTimeout:l=1600,onCopied:u,onCopyError:d,showIcon:f=!0,copiedVariant:p,variant:m,disabled:h,children:g,type:_=`button`,...v}){let[y,b]=r.useState(!1),x=r.useRef(void 0);r.useEffect(()=>()=>{x.current&&window.clearTimeout(x.current)},[]);let S=r.useCallback(async()=>{try{await o(e),b(!0),u?.(e),x.current&&window.clearTimeout(x.current),x.current=window.setTimeout(()=>b(!1),l)}catch(e){d?.(e)}},[l,u,d,e]);return(0,a.jsxs)(n.Button,{"data-slot":`copy-button`,"data-copied":y||void 0,type:_,variant:y?p??`secondary`:m,disabled:h||!e,onClick:e=>{t.stopInteractivePropagation(e),S()},onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation,"aria-live":`polite`,...v,children:[f&&(y?(0,a.jsx)(i.CheckIcon,{"data-icon":`inline-start`,className:`size-3.5`}):(0,a.jsx)(i.CopyIcon,{"data-icon":`inline-start`,className:`size-3.5`})),g??(y?s:c)]})}exports.CopyButton=s;
@@ -49,7 +49,10 @@ function c({ value: c, copiedLabel: l = "Copied", copyLabel: u = "Copy", copiedT
49
49
  onDoubleClick: e,
50
50
  "aria-live": "polite",
51
51
  ...b,
52
- children: [m && a(x ? r : i, { "data-icon": "inline-start" }), v ?? (x ? l : u)]
52
+ children: [m && a(x ? r : i, {
53
+ "data-icon": "inline-start",
54
+ className: "size-3.5"
55
+ }), v ?? (x ? l : u)]
53
56
  });
54
57
  }
55
58
  //#endregion
@@ -1 +1 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("./date-utils.cjs"),i=require("./calendar.cjs"),a=require("../ui/popover/index.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("lucide-react"),c=require("react/jsx-runtime");function l(e){let t=r.parseDateKey(e);return t?new Intl.DateTimeFormat(`en-US`,{dateStyle:`medium`}).format(t):e}function u({value:e,onValueChange:r,placeholder:u,labels:d,disabled:f=!1,clearable:p=!0,triggerVariant:m=`default`,formatValue:h=l,triggerClassName:g,contentClassName:_,className:v,...y}){let[b,x]=o.useState(!1),S=!!e,C=e=>{r?.(e),x(!1)},w=()=>{r?.(``),x(!1)};return(0,c.jsx)(`div`,{"data-slot":`date-picker`,"data-trigger-variant":m,className:t.cn(`w-full`,v),children:(0,c.jsxs)(a.Popover,{open:b,onOpenChange:x,children:[(0,c.jsxs)(a.PopoverTrigger,{render:(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:f,labelClassName:`flex-1`,className:t.cn(`group w-full justify-start rounded-[var(--aui-control-radius,var(--radius-md))] border-border/80 bg-background/96 text-left font-normal shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))]`,m==="default"?`min-h-11 gap-3 px-3`:`min-h-9 gap-2 px-2.5`,!S&&`text-muted-foreground`,g)}),children:[(0,c.jsx)(s.CalendarIcon,{"data-icon":`inline-start`,className:t.cn(S&&`text-primary`)}),(0,c.jsxs)(`span`,{className:t.cn(`grid min-w-0 flex-1`,m==="default"&&`gap-0.5`),children:[m==="default"?(0,c.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:d?.selected??`Date`}):null,(0,c.jsx)(`span`,{className:t.cn(`truncate text-sm`,S&&`font-semibold text-foreground`),children:S?h(String(e)):u??d?.placeholder??`Select date`})]}),p&&S?(0,c.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":d?.clear??`Clear date`,className:t.cn(`ml-auto inline-flex shrink-0 items-center justify-center rounded-[var(--radius-sm)] text-muted-foreground opacity-80 transition hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring`,m==="default"?`size-7`:`size-6`),onClick:e=>{e.preventDefault(),e.stopPropagation(),w()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),w())},children:(0,c.jsx)(s.XIcon,{className:`size-3.5`})}):null]}),(0,c.jsx)(a.PopoverContent,{align:`start`,className:t.cn(`w-auto overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border-border/70 bg-popover p-0 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur`,_),children:(0,c.jsx)(i.Calendar,{value:e,onValueChange:C,labels:d,showTodayShortcut:!0,showClearShortcut:p,showSelectionSummary:!0,...y})})]})})}exports.DatePicker=u;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("./date-utils.cjs"),i=require("./calendar.cjs"),a=require("../ui/popover/index.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("lucide-react"),c=require("react/jsx-runtime");function l(e){let t=r.parseDateKey(e);return t?new Intl.DateTimeFormat(`en-US`,{dateStyle:`medium`}).format(t):e}function u({value:e,onValueChange:r,placeholder:u,labels:d,disabled:f=!1,clearable:p=!0,triggerVariant:m=`default`,formatValue:h=l,triggerClassName:g,contentClassName:_,className:v,...y}){let[b,x]=o.useState(!1),S=!!e,C=e=>{r?.(e),x(!1)},w=()=>{r?.(``),x(!1)};return(0,c.jsx)(`div`,{"data-slot":`date-picker`,"data-trigger-variant":m,className:t.cn(`w-full`,v),children:(0,c.jsxs)(a.Popover,{open:b,onOpenChange:x,children:[(0,c.jsxs)(a.PopoverTrigger,{render:(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:f,labelClassName:`flex-1`,className:t.cn(`group w-full justify-start rounded-[var(--aui-control-radius,var(--radius-md))] border-border/80 bg-background/96 text-left font-normal shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))]`,m==="default"?`min-h-11 gap-3 px-3`:`min-h-9 gap-2 px-2.5`,!S&&`text-muted-foreground`,g)}),children:[(0,c.jsx)(s.CalendarIcon,{"data-icon":`inline-start`,className:t.cn(`size-4`,S&&`text-primary`)}),(0,c.jsx)(`span`,{className:`grid min-w-0 flex-1`,children:(0,c.jsx)(`span`,{className:t.cn(`truncate text-sm`,S&&`font-semibold text-foreground`),children:S?h(String(e)):u??d?.placeholder??`Select date`})}),p&&S?(0,c.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":d?.clear??`Clear date`,className:t.cn(`ml-auto inline-flex shrink-0 items-center justify-center rounded-[var(--radius-sm)] text-muted-foreground opacity-80 transition hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring`,m==="default"?`size-7`:`size-6`),onClick:e=>{e.preventDefault(),e.stopPropagation(),w()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),w())},children:(0,c.jsx)(s.XIcon,{className:`size-3.5`})}):null]}),(0,c.jsx)(a.PopoverContent,{align:`start`,className:t.cn(`w-auto overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border-border/70 bg-popover p-0 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur`,_),children:(0,c.jsx)(i.Calendar,{value:e,onValueChange:C,labels:d,showTodayShortcut:!0,showClearShortcut:p,showSelectionSummary:!0,...y})})]})})}exports.DatePicker=u;
@@ -36,17 +36,14 @@ function p({ value: n, onValueChange: p, placeholder: m, labels: h, disabled: g
36
36
  children: [
37
37
  /* @__PURE__ */ u(c, {
38
38
  "data-icon": "inline-start",
39
- className: e(E && "text-primary")
39
+ className: e("size-4", E && "text-primary")
40
40
  }),
41
- /* @__PURE__ */ d("span", {
42
- className: e("grid min-w-0 flex-1", v === "default" && "gap-0.5"),
43
- children: [v === "default" ? /* @__PURE__ */ u("span", {
44
- className: "text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground",
45
- children: h?.selected ?? "Date"
46
- }) : null, /* @__PURE__ */ u("span", {
41
+ /* @__PURE__ */ u("span", {
42
+ className: "grid min-w-0 flex-1",
43
+ children: /* @__PURE__ */ u("span", {
47
44
  className: e("truncate text-sm", E && "font-semibold text-foreground"),
48
45
  children: E ? y(String(n)) : m ?? h?.placeholder ?? "Select date"
49
- })]
46
+ })
50
47
  }),
51
48
  _ && E ? /* @__PURE__ */ u("span", {
52
49
  role: "button",
@@ -1 +1 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("./date-utils.cjs"),i=require("./calendar.cjs"),a=require("../ui/popover/index.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("lucide-react"),c=require("react/jsx-runtime");function l(e){let t=r.parseDateKey(e);return t?new Intl.DateTimeFormat(`en-US`,{dateStyle:`medium`}).format(t):e}function u(e,t){return typeof e==`string`?e:t}function d({className:e,value:r,onValueChange:d,labels:f,placeholder:p,disabled:m=!1,clearable:h=!0,formatValue:g=l,closeOnSelect:_=!1,closeOnPresetSelect:v=!1,showFooter:y=!0,presets:b,triggerClassName:x,contentClassName:S,months:C,numberOfMonths:w=2,pagedNavigation:T=!0,...E}){let[D,O]=o.useState(!1),[k,A]=o.useState(r??{}),j=r?.from??``,M=r?.to??``,N=!!(j||M),P=y?k:r,F=P?.from??``,I=P?.to??``,L=!!(F||I),R=C??w,z=j&&M?`${g(j)} - ${g(M)}`:j?`${g(j)} - ...`:p??f?.placeholder??`Select date range`,B=F&&I?`${g(F)} - ${g(I)}`:F?`${g(F)} - ...`:f?.placeholder??`Select date range`;o.useEffect(()=>{D&&y&&A(r??{})},[D,y,r]);let V=e=>{if(y){A(e);return}d?.(e),_&&e.from&&e.to&&O(!1)},H=()=>{d?.(k),O(!1)},U=()=>{let e={};if(y){A(e);return}d?.(e)},W=()=>{let e={};A(e),d?.(e)},G=e=>{e.preventDefault(),e.stopPropagation(),W()},K=e=>{if(y){A(e),v&&(d?.(e),O(!1));return}d?.(e),(_||v)&&e.from&&e.to&&O(!1)};return(0,c.jsx)(`div`,{"data-slot":`date-range-picker`,className:t.cn(`w-full`,e),children:(0,c.jsxs)(a.Popover,{open:D,onOpenChange:O,children:[(0,c.jsxs)(a.PopoverTrigger,{render:(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:m,className:t.cn(`group min-h-11 w-full justify-start gap-3 rounded-[var(--aui-control-radius,var(--radius-md))] border-border/80 bg-background/96 px-3 text-left font-normal shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))]`,!N&&`text-muted-foreground`,x)}),children:[(0,c.jsx)(s.CalendarIcon,{"data-icon":`inline-start`,className:t.cn(N&&`text-primary`)}),N?(0,c.jsxs)(`span`,{className:`grid min-w-0 flex-1 grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-2`,children:[(0,c.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,children:[(0,c.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:f?.start??`Start`}),(0,c.jsx)(`span`,{className:`truncate text-sm font-semibold text-foreground`,children:j?g(j):`...`})]}),(0,c.jsx)(`span`,{className:`text-muted-foreground`,children:`-`}),(0,c.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,children:[(0,c.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:f?.end??`End`}),(0,c.jsx)(`span`,{className:`truncate text-sm font-semibold text-foreground`,children:M?g(M):`...`})]})]}):(0,c.jsxs)(`span`,{className:`grid min-w-0 flex-1 gap-0.5`,children:[(0,c.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:`Range`}),(0,c.jsx)(`span`,{className:`truncate text-sm`,children:z})]}),h&&N?(0,c.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":u(f?.clear,`Clear date range`),className:`ml-auto inline-flex size-7 shrink-0 items-center justify-center rounded-[var(--radius-sm)] text-muted-foreground opacity-80 transition hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring`,onClick:G,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),W())},children:(0,c.jsx)(s.XIcon,{className:`size-3.5`})}):null]}),(0,c.jsxs)(a.PopoverContent,{align:`start`,className:t.cn(`w-auto overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border-border/70 bg-popover p-0 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur`,S),children:[b?.length?(0,c.jsx)(`div`,{className:`flex flex-wrap gap-2 border-b border-border/70 bg-muted/20 px-3 py-3`,children:b.map((e,t)=>(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,className:`h-7 rounded-full px-3 text-xs`,onClick:()=>K(e.value),children:e.label},t))}):null,(0,c.jsx)(i.Calendar,{mode:`range`,range:P,onRangeChange:V,labels:f,renderSelectionSummary:({range:e})=>{let t=e?.from?g(e.from):null,n=e?.to?g(e.to):null;return t&&n?`${t} -> ${n}`:t?`${t} -> ...`:`No range selected`},numberOfMonths:R,pagedNavigation:T,showClearShortcut:!y&&h,showSelectionSummary:!0,...E}),y&&(0,c.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-border/70 bg-muted/24 px-4 py-3`,children:[(0,c.jsx)(`div`,{className:`min-w-0 text-sm text-muted-foreground`,children:(0,c.jsx)(`span`,{className:`block truncate`,children:B})}),(0,c.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,c.jsx)(n.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:U,children:f?.clear??`Clear`}),(0,c.jsx)(n.Button,{type:`button`,size:`sm`,disabled:!L,onClick:H,children:f?.apply??`Apply`})]})]})]})]})})}exports.DateRangePicker=d;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("./date-utils.cjs"),i=require("./calendar.cjs"),a=require("../ui/popover/index.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("lucide-react"),c=require("react/jsx-runtime");function l(e){let t=r.parseDateKey(e);return t?new Intl.DateTimeFormat(`en-US`,{dateStyle:`medium`}).format(t):e}function u(e,t){return typeof e==`string`?e:t}function d({className:e,value:r,onValueChange:d,labels:f,placeholder:p,disabled:m=!1,clearable:h=!0,formatValue:g=l,closeOnSelect:_=!1,closeOnPresetSelect:v=!1,showFooter:y=!0,presets:b,triggerClassName:x,contentClassName:S,months:C,numberOfMonths:w=2,pagedNavigation:T=!0,...E}){let[D,O]=o.useState(!1),[k,A]=o.useState(r??{}),j=r?.from??``,M=r?.to??``,N=!!(j||M),P=y?k:r,F=P?.from??``,I=P?.to??``,L=!!(F||I),R=C??w,z=j&&M?`${g(j)} - ${g(M)}`:j?`${g(j)} - ...`:p??f?.placeholder??`Select date range`,B=F&&I?`${g(F)} - ${g(I)}`:F?`${g(F)} - ...`:f?.placeholder??`Select date range`;o.useEffect(()=>{D&&y&&A(r??{})},[D,y,r]);let V=e=>{if(y){A(e);return}d?.(e),_&&e.from&&e.to&&O(!1)},H=()=>{d?.(k),O(!1)},U=()=>{let e={};if(y){A(e);return}d?.(e)},W=()=>{let e={};A(e),d?.(e)},G=e=>{e.preventDefault(),e.stopPropagation(),W()},K=e=>{if(y){A(e),v&&(d?.(e),O(!1));return}d?.(e),(_||v)&&e.from&&e.to&&O(!1)};return(0,c.jsx)(`div`,{"data-slot":`date-range-picker`,className:t.cn(`w-full`,e),children:(0,c.jsxs)(a.Popover,{open:D,onOpenChange:O,children:[(0,c.jsxs)(a.PopoverTrigger,{render:(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:m,className:t.cn(`group min-h-11 w-full justify-start gap-3 rounded-[var(--aui-control-radius,var(--radius-md))] border-border/80 bg-background/96 px-3 text-left font-normal shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))]`,!N&&`text-muted-foreground`,x)}),children:[(0,c.jsx)(s.CalendarIcon,{"data-icon":`inline-start`,className:t.cn(`size-4`,N&&`text-primary`)}),N?(0,c.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,c.jsx)(`span`,{className:`min-w-0 truncate text-sm font-semibold text-foreground`,children:j?g(j):`...`}),(0,c.jsx)(`span`,{className:`text-muted-foreground`,children:`-`}),(0,c.jsx)(`span`,{className:`min-w-0 truncate text-sm font-semibold text-foreground`,children:M?g(M):`...`})]}):(0,c.jsx)(`span`,{className:`grid min-w-0 flex-1`,children:(0,c.jsx)(`span`,{className:`truncate text-sm`,children:z})}),h&&N?(0,c.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":u(f?.clear,`Clear date range`),className:`ml-auto inline-flex size-7 shrink-0 items-center justify-center rounded-[var(--radius-sm)] text-muted-foreground opacity-80 transition hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring`,onClick:G,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),W())},children:(0,c.jsx)(s.XIcon,{className:`size-3.5`})}):null]}),(0,c.jsxs)(a.PopoverContent,{align:`start`,className:t.cn(`w-auto overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border-border/70 bg-popover p-0 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur`,S),children:[b?.length?(0,c.jsx)(`div`,{className:`flex flex-wrap gap-2 border-b border-border/70 bg-muted/20 px-3 py-3`,children:b.map((e,t)=>(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,className:`h-7 rounded-full px-3 text-xs`,onClick:()=>K(e.value),children:e.label},t))}):null,(0,c.jsx)(i.Calendar,{mode:`range`,range:P,onRangeChange:V,labels:f,renderSelectionSummary:({range:e})=>{let t=e?.from?g(e.from):null,n=e?.to?g(e.to):null;return t&&n?`${t} -> ${n}`:t?`${t} -> ...`:`No range selected`},numberOfMonths:R,pagedNavigation:T,showClearShortcut:!y&&h,showSelectionSummary:!0,...E}),y&&(0,c.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-border/70 bg-muted/24 px-4 py-3`,children:[(0,c.jsx)(`div`,{className:`min-w-0 text-sm text-muted-foreground`,children:(0,c.jsx)(`span`,{className:`block truncate`,children:B})}),(0,c.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,c.jsx)(n.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:U,children:f?.clear??`Clear`}),(0,c.jsx)(n.Button,{type:`button`,size:`sm`,disabled:!L,onClick:H,children:f?.apply??`Apply`})]})]})]})]})})}exports.DateRangePicker=d;
@@ -67,45 +67,30 @@ function m({ className: n, value: m, onValueChange: h, labels: g, placeholder: _
67
67
  children: [
68
68
  /* @__PURE__ */ u(c, {
69
69
  "data-icon": "inline-start",
70
- className: e(L && "text-primary")
70
+ className: e("size-4", L && "text-primary")
71
71
  }),
72
72
  L ? /* @__PURE__ */ d("span", {
73
- className: "grid min-w-0 flex-1 grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-2",
73
+ className: "flex min-w-0 flex-1 items-center gap-2",
74
74
  children: [
75
- /* @__PURE__ */ d("span", {
76
- className: "grid min-w-0 gap-0.5",
77
- children: [/* @__PURE__ */ u("span", {
78
- className: "text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground",
79
- children: g?.start ?? "Start"
80
- }), /* @__PURE__ */ u("span", {
81
- className: "truncate text-sm font-semibold text-foreground",
82
- children: F ? b(F) : "..."
83
- })]
75
+ /* @__PURE__ */ u("span", {
76
+ className: "min-w-0 truncate text-sm font-semibold text-foreground",
77
+ children: F ? b(F) : "..."
84
78
  }),
85
79
  /* @__PURE__ */ u("span", {
86
80
  className: "text-muted-foreground",
87
81
  children: "-"
88
82
  }),
89
- /* @__PURE__ */ d("span", {
90
- className: "grid min-w-0 gap-0.5",
91
- children: [/* @__PURE__ */ u("span", {
92
- className: "text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground",
93
- children: g?.end ?? "End"
94
- }), /* @__PURE__ */ u("span", {
95
- className: "truncate text-sm font-semibold text-foreground",
96
- children: I ? b(I) : "..."
97
- })]
83
+ /* @__PURE__ */ u("span", {
84
+ className: "min-w-0 truncate text-sm font-semibold text-foreground",
85
+ children: I ? b(I) : "..."
98
86
  })
99
87
  ]
100
- }) : /* @__PURE__ */ d("span", {
101
- className: "grid min-w-0 flex-1 gap-0.5",
102
- children: [/* @__PURE__ */ u("span", {
103
- className: "text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground",
104
- children: "Range"
105
- }), /* @__PURE__ */ u("span", {
88
+ }) : /* @__PURE__ */ u("span", {
89
+ className: "grid min-w-0 flex-1",
90
+ children: /* @__PURE__ */ u("span", {
106
91
  className: "truncate text-sm",
107
92
  children: U
108
- })]
93
+ })
109
94
  }),
110
95
  y && L ? /* @__PURE__ */ u("span", {
111
96
  role: "button",
@@ -1 +1 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../feedback/state-view.cjs"),i=require("../ui/input/index.cjs"),a=require("../ui/table/index.cjs"),ee=require("./data-table-actions-column.cjs"),te=require("./data-table-bulk-actions.cjs"),ne=require("./data-table-column-visibility-menu.cjs"),re=require("./data-table-pagination.cjs"),ie=require("./data-table-toolbar.cjs"),ae=require("../../../node_modules/@tanstack/react-virtual/dist/esm/index.cjs"),o=require("../display/data-state.cjs"),oe=require("../../hooks/use-is-mobile.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("react/jsx-runtime"),l=require("@tanstack/react-table");var se={compact:`h-8 px-2 py-1.5`,default:`h-10 px-2 py-2`,comfortable:`h-12 px-3 py-3`},ce={compact:`px-2 py-1.5`,default:`p-2`,comfortable:`px-3 py-3`};function le(e,t){return typeof t==`function`?t(e):t}function ue(e,t){return typeof t==`function`?t(e):t}function de(e,t){return typeof t==`function`?t(e):t}function fe(e){return e==null||e===``}function pe(e){let t=e.column.columnDef.header;return typeof t==`string`?t:typeof t==`number`?String(t):e.column.id===`actions`?`Actions`:e.column.id}function u({className:e,columns:u,data:d,title:f,description:p,features:m,search:h,filters:g,summary:_,toolbarActions:v,rowActions:y,bulkActions:b,onRefresh:me,onExport:x,refreshLabel:he=`Refresh`,exportLabel:ge=`Export`,getRowId:_e,isLoading:S=!1,isError:ve=!1,emptyState:ye,errorState:be,loadingState:xe,loadingVariant:Se=`skeleton`,toolbar:C,toolbarProps:w,pagination:T,sorting:Ce,onSortingChange:we,columnVisibility:Te,onColumnVisibilityChange:Ee,rowSelection:De,onRowSelectionChange:Oe,enableRowSelection:ke,renderMobileCard:E,mobileLayout:Ae=`auto`,onRowClick:D,onRowDoubleClick:je,getRowDisabled:O,density:k=`default`,striped:A=!1,bordered:j=!1,stickyHeader:M=!1,skeletonRows:Me=6,skeletonCellClassName:Ne,cellFallback:N=`-`,tableClassName:Pe,tableWrapperClassName:Fe,headerCellClassName:Ie,cellClassName:Le,rowClassName:P,renderExpandedRow:F,expanded:Re,onExpandedChange:ze,getRowCanExpand:Be,columnPinning:Ve,onColumnPinningChange:He,virtualization:Ue,...We}){let Ge=s.useMemo(()=>{let e=u;return!y||m?.rowActions===!1?e:[...e,ee.createDataTableActionsColumn({getActions:y})]},[u,m?.rowActions,y]),I=T===!1?void 0:T,Ke=I?{pageIndex:I.pageIndex,pageSize:I.pageSize}:void 0,qe=!!(I&&I.manual!==!1),Je=De??{},L=(0,l.useReactTable)({data:d,columns:Ge,getRowId:_e,getCoreRowModel:(0,l.getCoreRowModel)(),getPaginationRowModel:I&&!qe?(0,l.getPaginationRowModel)():void 0,manualPagination:qe,pageCount:I?.pageCount,state:{sorting:Ce,columnVisibility:Te,rowSelection:Je,pagination:Ke,expanded:Re,...Ve?{columnPinning:Ve}:{}},onSortingChange:we,onColumnVisibilityChange:Ee,onRowSelectionChange:Oe,onExpandedChange:ze,onColumnPinningChange:He,enableRowSelection:ke,getRowCanExpand:Be,getExpandedRowModel:(0,l.getExpandedRowModel)()}),R=L.getRowModel().rows,Ye=s.useRef(null),z=Ue===!1?void 0:Ue,B=!!(z&&z.enabled!==!1&&R.length>0),V=z?.height??480,Xe=z?.onRangeChange,H=ae.useVirtualizer({count:B?R.length:0,getScrollElement:()=>Ye.current,estimateSize:()=>z?.estimateRowHeight??48,getItemKey:e=>R[e]?.id??e,overscan:z?.overscan??8,initialRect:{width:0,height:typeof V==`number`?V:480},onChange(e){if(!Xe)return;let t=e.getVirtualItems();Xe({startIndex:t[0]?.index??-1,endIndex:t.at(-1)?.index??-1})}}),Ze=B?H.getVirtualItems():[],U=z?.estimateRowHeight??48,Qe=B?Math.min(R.length,Math.ceil((typeof V==`number`?V:480)/U)+(z?.overscan??8)):0,W=Ze.length>0?Ze:Array.from({length:Qe},(e,t)=>({key:R[t]?.id??t,index:t,start:t*U,end:(t+1)*U,size:U,lane:0})),$e=W[0]?.start??0,et=W.length?Math.max(H.getTotalSize()-W[W.length-1].end,0):0,G=L.getSelectedRowModel().rows.map(e=>e.original),tt=G.length,K=s.useMemo(()=>({table:L,data:d,selectedRows:G}),[d,G,L]),nt=L.getVisibleLeafColumns(),rt=Math.max(nt.length,1),it=typeof C==`function`?C(L):C,at=typeof w==`function`?w(L):w,q=typeof g==`function`?g(K):g,J=typeof _==`function`?_(K):_,ot=!!(h&&m?.search!==!1),st=!!(m?.columnVisibility&&L.getAllLeafColumns().some(e=>e.getCanHide())),Y=!!(m?.refresh&&me),X=!!(m?.export&&x),ct=!!(m?.bulkActions!==!1&&b?.length),lt=st&&!!(f||p||h||q||J||v||Y||X),ut=ot&&h?(0,c.jsx)(i.Input,{type:`search`,value:h.value,onValueChange:h.onValueChange,placeholder:h.placeholder??`Search...`,wrapperClassName:h.wrapperClassName??h.className,inputClassName:h.inputClassName,disabled:h.disabled,clearable:h.clearable,clearLabel:h.clearLabel,searchIcon:h.searchIcon}):void 0,dt=(0,c.jsxs)(c.Fragment,{children:[typeof v==`function`?v(K):v,lt&&(0,c.jsx)(ne.DataTableColumnVisibilityMenu,{table:L}),Y&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,disabled:S,onClick:()=>me?.(K),children:he}),X&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>x?.(K),children:ge})]}),ft=ct?(0,c.jsx)(te.DataTableBulkActions,{rows:G,actions:b??[],selectedLabel:()=>`Actions`,clearLabel:null,onClearSelection:()=>L.resetRowSelection(),hideWhenEmpty:!1}):void 0,pt=!!(it||at||f||p||ut||q||J||v||lt||Y||X||ft),mt=!!(I&&!I.hidden),Z=S&&Se===`skeleton`,ht=oe.useIsMobile(),gt=Ae!==`scroll`&&ht,_t=(e,t)=>t>0?(0,c.jsx)(a.TableRow,{"aria-hidden":`true`,className:`pointer-events-none border-0 hover:bg-transparent`,children:(0,c.jsx)(a.TableCell,{colSpan:rt,className:`border-0 p-0`,style:{height:t}})},e):null,vt=e=>(0,c.jsx)(a.TableRow,{children:(0,c.jsx)(a.TableCell,{colSpan:rt,className:`p-0`,children:e})}),yt=()=>Array.from({length:Math.max(Me,1)},(e,n)=>(0,c.jsx)(a.TableRow,{"aria-hidden":`true`,children:nt.map(e=>(0,c.jsx)(a.TableCell,{className:t.cn(ce[k],j&&`border-r last:border-r-0`),children:(0,c.jsx)(`div`,{className:t.cn(`h-4 w-full max-w-40 animate-pulse rounded-md bg-muted`,n%3==1&&`max-w-24`,n%3==2&&`max-w-32`,Ne)})},`${e.id}-${n}`))},`skeleton-${n}`)),Q=Z?null:S?(0,c.jsx)(r.StateView,{status:`loading`,title:`Loading data...`,...xe}):ve?(0,c.jsx)(o.DataState,{status:`error`,title:`Could not load data`,description:`Please try again.`,variant:`plain`,...be}):R.length===0?(0,c.jsx)(o.DataState,{status:`empty`,variant:`plain`,...ye}):null,$=(e,n,r)=>{let i=O?.(e)??!1;return(0,c.jsxs)(s.Fragment,{children:[(0,c.jsx)(a.TableRow,{ref:r&&z?.measureRows!==!1?H.measureElement:void 0,"data-index":r?.index,"data-state":e.getIsSelected()?`selected`:void 0,"data-striped":A&&n%2==1?`true`:void 0,"data-disabled":i||void 0,className:t.cn(D&&!i&&`cursor-pointer`,!i&&`transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)] data-[state=selected]:bg-[color:color-mix(in_oklch,var(--primary),transparent_90%)]`,i&&`pointer-events-none opacity-55`,le(e,P)),onClick:()=>{i||D?.(e)},onDoubleClick:()=>{i||je?.(e)},children:e.getVisibleCells().map(e=>{let n=(0,l.flexRender)(e.column.columnDef.cell,e.getContext());return(0,c.jsx)(a.TableCell,{style:{...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:10}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:10}:{}},className:t.cn(ce[k],e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,j&&`border-r last:border-r-0`,de(e,Le)),children:fe(n)?N:n},e.id)})}),e.getIsExpanded()&&F?(0,c.jsx)(a.TableRow,{className:`bg-muted/50 hover:bg-muted/50`,children:(0,c.jsx)(a.TableCell,{colSpan:e.getVisibleCells().length,children:F(e)})}):null]},e.id)},bt=e=>{let n=O?.(e)??!1,r=e.getVisibleCells();return(0,c.jsx)(`article`,{"data-slot":`data-table-mobile-card`,"data-state":e.getIsSelected()?`selected`:void 0,"data-disabled":n||void 0,className:t.cn(`grid gap-3 rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card p-3 shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))]`,D&&!n&&`cursor-pointer transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)]`,n&&`pointer-events-none opacity-55`,le(e,P)),role:D&&!n?`button`:void 0,tabIndex:D&&!n?0:void 0,onClick:()=>{n||D?.(e)},onKeyDown:t=>{t.target!==t.currentTarget||n||!D||(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),D(e))},children:r.map(e=>{let t=(0,l.flexRender)(e.column.columnDef.cell,e.getContext());return(0,c.jsxs)(`div`,{"data-slot":`data-table-mobile-cell`,className:`grid grid-cols-[minmax(7rem,0.42fr)_minmax(0,1fr)] items-start gap-3 text-sm`,children:[(0,c.jsx)(`span`,{className:`min-w-0 text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:pe(e)}),(0,c.jsx)(`div`,{className:`min-w-0 text-right text-foreground/92 [&>*]:ml-auto`,children:fe(t)?N:t})]},e.id)})},e.id)};return(0,c.jsxs)(`div`,{"data-slot":`data-table`,className:t.cn(`grid gap-3`,e),...We,children:[pt&&(it??(0,c.jsx)(ie.DataTableToolbar,{title:f,description:p,search:ut,filters:q,summary:J,actions:dt,selectionActions:ft,selectedCount:tt,totalCount:I?I.rowCount??d.length:d.length,variant:`plain`,...at})),gt&&(0,c.jsx)(`div`,{className:`grid gap-3`,children:Q??(Z?(0,c.jsx)(r.StateView,{status:`loading`,title:`Loading data...`,...xe}):R.map(e=>(0,c.jsx)(s.Fragment,{children:E?E(e):bt(e)},e.id)))}),!gt&&(0,c.jsxs)(`div`,{"data-slot":`data-table-wrapper`,"data-density":k,"data-striped":A||void 0,"data-bordered":j||void 0,"data-virtualized":B||void 0,className:t.cn(`overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))] backdrop-blur`,Fe),children:[(0,c.jsxs)(a.Table,{containerRef:Ye,containerStyle:B?{height:V,overscrollBehavior:`contain`}:void 0,containerClassName:t.cn(`rounded-none border-0 bg-transparent shadow-none ring-0`,B&&`overflow-auto`),className:t.cn(`text-[0.95rem]`,Pe),"aria-rowcount":R.length,children:[(0,c.jsx)(a.TableHeader,{className:t.cn((M||B)&&`sticky top-0 z-10 shadow-sm backdrop-blur`),children:L.getHeaderGroups().map(e=>(0,c.jsx)(a.TableRow,{children:e.headers.map(e=>(0,c.jsx)(a.TableHead,{style:{width:e.getSize(),...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:M?20:11}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:M?20:11}:{}},className:t.cn(se[k],`bg-[color:color-mix(in_oklch,var(--card),var(--background)_10%)] text-muted-foreground`,(M||B)&&`bg-[color:color-mix(in_oklch,var(--card),transparent_12%)] backdrop-blur`,e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,j&&`border-r last:border-r-0`,ue(e,Ie)),children:e.isPlaceholder?null:(0,l.flexRender)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,c.jsx)(a.TableBody,{children:Q?vt(Q):Z?yt():B?[_t(`virtual-top`,$e),...W.map(e=>$(R[e.index],e.index,e)),_t(`virtual-bottom`,et)]:R.map((e,t)=>$(e,t))})]}),mt&&I&&(0,c.jsx)(re.DataTablePagination,{pageIndex:I.pageIndex,pageSize:I.pageSize,pageCount:I.pageCount,rowCount:I.rowCount,pageSizeOptions:I.pageSizeOptions,showPageSize:I.showPageSize,labels:I.labels,disabled:S,onPageChange:I.onPageChange,onPageSizeChange:I.onPageSizeChange})]})]})}exports.DataTable=u;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../feedback/state-view.cjs"),i=require("../ui/input/index.cjs"),a=require("../ui/table/index.cjs"),ee=require("./data-table-actions-column.cjs"),te=require("./data-table-bulk-actions.cjs"),ne=require("./data-table-column-visibility-menu.cjs"),re=require("./data-table-pagination.cjs"),ie=require("./data-table-toolbar.cjs"),ae=require("../../../node_modules/@tanstack/react-virtual/dist/esm/index.cjs"),o=require("../display/data-state.cjs"),oe=require("../../hooks/use-is-mobile.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("react/jsx-runtime"),l=require("@tanstack/react-table");var se={compact:`h-8 px-2 py-1.5`,default:`h-10 px-2 py-2`,comfortable:`h-12 px-3 py-3`},ce={compact:`px-2 py-1.5`,default:`p-2`,comfortable:`px-3 py-3`};function u(e,t){return typeof t==`function`?t(e):t}function le(e,t){return typeof t==`function`?t(e):t}function ue(e,t){return typeof t==`function`?t(e):t}function d(e){return e==null||e===``}function de(e){let t=e.column.columnDef.header;return typeof t==`string`?t:typeof t==`number`?String(t):e.column.id===`actions`?`Actions`:e.column.id}function f({className:e,columns:f,data:p,title:m,description:h,features:g,search:_,filters:v,summary:y,toolbarActions:b,rowActions:x,bulkActions:fe,onRefresh:pe,onExport:S,refreshLabel:me=`Refresh`,exportLabel:he=`Export`,getRowId:ge,isLoading:C=!1,isError:_e=!1,emptyState:ve,errorState:ye,loadingState:be,loadingVariant:xe=`skeleton`,toolbar:w,toolbarProps:T,pagination:E,sorting:Se,onSortingChange:Ce,columnVisibility:we,onColumnVisibilityChange:Te,rowSelection:Ee,onRowSelectionChange:De,enableRowSelection:Oe,renderMobileCard:D,mobileLayout:ke=`auto`,onRowClick:O,onRowDoubleClick:Ae,getRowDisabled:je,density:k=`default`,striped:A=!1,bordered:j=!1,stickyHeader:M=!1,skeletonRows:Me=6,skeletonCellClassName:Ne,cellFallback:Pe=`-`,tableClassName:Fe,tableWrapperClassName:Ie,headerCellClassName:Le,cellClassName:Re,rowClassName:ze,renderExpandedRow:Be,expanded:Ve,onExpandedChange:He,getRowCanExpand:Ue,columnPinning:We,onColumnPinningChange:Ge,virtualization:Ke,...qe}){let Je=s.useMemo(()=>{let e=f;return!x||g?.rowActions===!1?e:[...e,ee.createDataTableActionsColumn({getActions:x})]},[f,g?.rowActions,x]),N=E===!1?void 0:E,[Ye,Xe]=s.useState([]),[Ze,Qe]=s.useState({}),[$e,et]=s.useState({}),[tt,nt]=s.useState({}),[rt,it]=s.useState({}),at=Se??Ye,ot=we??Ze,st=Ee??$e,ct=Ve??tt,lt=We??rt,ut=N?{pageIndex:N.pageIndex,pageSize:N.pageSize}:void 0,dt=!!(N&&N.manual!==!1),P=(0,l.useReactTable)({data:p,columns:Je,getRowId:ge,getCoreRowModel:(0,l.getCoreRowModel)(),getSortedRowModel:(0,l.getSortedRowModel)(),getPaginationRowModel:N&&!dt?(0,l.getPaginationRowModel)():void 0,manualPagination:dt,pageCount:N?.pageCount,state:{sorting:at,columnVisibility:ot,rowSelection:st,pagination:ut,expanded:ct,columnPinning:lt},onSortingChange:Ce??Xe,onColumnVisibilityChange:Te??Qe,onRowSelectionChange:De??et,onExpandedChange:He??nt,onColumnPinningChange:Ge??it,enableRowSelection:Oe,getRowCanExpand:Ue,getExpandedRowModel:(0,l.getExpandedRowModel)()}),F=P.getRowModel().rows,I=s.useRef(null),L=Ke===!1?void 0:Ke,R=!!(L&&L.enabled!==!1&&F.length>0),z=L?.height??480,B=L?.onRangeChange,V=ae.useVirtualizer({count:R?F.length:0,getScrollElement:()=>I.current,estimateSize:()=>L?.estimateRowHeight??48,getItemKey:e=>F[e]?.id??e,overscan:L?.overscan??8,initialRect:{width:0,height:typeof z==`number`?z:480},onChange(e){if(!B)return;let t=e.getVirtualItems();B({startIndex:t[0]?.index??-1,endIndex:t.at(-1)?.index??-1})}}),H=R?V.getVirtualItems():[],U=L?.estimateRowHeight??48,ft=R?Math.min(F.length,Math.ceil((typeof z==`number`?z:480)/U)+(L?.overscan??8)):0,W=H.length>0?H:Array.from({length:ft},(e,t)=>({key:F[t]?.id??t,index:t,start:t*U,end:(t+1)*U,size:U,lane:0})),pt=W[0]?.start??0,mt=W.length?Math.max(V.getTotalSize()-W[W.length-1].end,0):0,G=P.getSelectedRowModel().rows.map(e=>e.original),ht=G.length,K=s.useMemo(()=>({table:P,data:p,selectedRows:G}),[p,G,P]),gt=P.getVisibleLeafColumns(),_t=Math.max(gt.length,1),vt=typeof w==`function`?w(P):w,yt=typeof T==`function`?T(P):T,q=typeof v==`function`?v(K):v,J=typeof y==`function`?y(K):y,bt=!!(_&&g?.search!==!1),xt=!!(g?.columnVisibility&&P.getAllLeafColumns().some(e=>e.getCanHide())),Y=!!(g?.refresh&&pe),X=!!(g?.export&&S),St=!!(g?.bulkActions!==!1&&fe?.length),Ct=xt&&!!(m||h||_||q||J||b||Y||X),Z=bt&&_?(0,c.jsx)(i.Input,{type:`search`,value:_.value,onValueChange:_.onValueChange,placeholder:_.placeholder??`Search...`,wrapperClassName:_.wrapperClassName??_.className,inputClassName:_.inputClassName,disabled:_.disabled,clearable:_.clearable,clearLabel:_.clearLabel,searchIcon:_.searchIcon}):void 0,wt=(0,c.jsxs)(c.Fragment,{children:[typeof b==`function`?b(K):b,Ct&&(0,c.jsx)(ne.DataTableColumnVisibilityMenu,{table:P}),Y&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,disabled:C,onClick:()=>pe?.(K),children:me}),X&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>S?.(K),children:he})]}),Tt=St?(0,c.jsx)(te.DataTableBulkActions,{rows:G,actions:fe??[],selectedLabel:()=>`Actions`,clearLabel:null,onClearSelection:()=>P.resetRowSelection(),hideWhenEmpty:!1}):void 0,Et=!!(vt||yt||m||h||Z||q||J||b||Ct||Y||X||Tt),Dt=!!(N&&!N.hidden),Q=C&&xe===`skeleton`,Ot=oe.useIsMobile(),kt=ke!==`scroll`&&Ot,At=(e,t)=>t>0?(0,c.jsx)(a.TableRow,{"aria-hidden":`true`,className:`pointer-events-none border-0 hover:bg-transparent`,children:(0,c.jsx)(a.TableCell,{colSpan:_t,className:`border-0 p-0`,style:{height:t}})},e):null,jt=e=>(0,c.jsx)(a.TableRow,{children:(0,c.jsx)(a.TableCell,{colSpan:_t,className:`p-0`,children:e})}),Mt=()=>Array.from({length:Math.max(Me,1)},(e,n)=>(0,c.jsx)(a.TableRow,{"aria-hidden":`true`,children:gt.map(e=>(0,c.jsx)(a.TableCell,{className:t.cn(ce[k],j&&`border-r last:border-r-0`),children:(0,c.jsx)(`div`,{className:t.cn(`h-4 w-full max-w-40 animate-pulse rounded-md bg-muted`,n%3==1&&`max-w-24`,n%3==2&&`max-w-32`,Ne)})},`${e.id}-${n}`))},`skeleton-${n}`)),$=Q?null:C?(0,c.jsx)(r.StateView,{status:`loading`,title:`Loading data...`,...be}):_e?(0,c.jsx)(o.DataState,{status:`error`,title:`Could not load data`,description:`Please try again.`,variant:`plain`,...ye}):F.length===0?(0,c.jsx)(o.DataState,{status:`empty`,variant:`plain`,...ve}):null,Nt=(e,n,r)=>{let i=je?.(e)??!1;return(0,c.jsxs)(s.Fragment,{children:[(0,c.jsx)(a.TableRow,{ref:r&&L?.measureRows!==!1?V.measureElement:void 0,"data-index":r?.index,"data-state":e.getIsSelected()?`selected`:void 0,"data-striped":A&&n%2==1?`true`:void 0,"data-disabled":i||void 0,className:t.cn(O&&!i&&`cursor-pointer`,!i&&`transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)] data-[state=selected]:bg-[color:color-mix(in_oklch,var(--primary),transparent_90%)]`,i&&`pointer-events-none opacity-55`,u(e,ze)),onClick:()=>{i||O?.(e)},onDoubleClick:()=>{i||Ae?.(e)},children:e.getVisibleCells().map(e=>{let n=(0,l.flexRender)(e.column.columnDef.cell,e.getContext());return(0,c.jsx)(a.TableCell,{style:{...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:10}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:10}:{}},className:t.cn(ce[k],e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,j&&`border-r last:border-r-0`,ue(e,Re)),children:d(n)?Pe:n},e.id)})}),e.getIsExpanded()&&Be?(0,c.jsx)(a.TableRow,{className:`bg-muted/50 hover:bg-muted/50`,children:(0,c.jsx)(a.TableCell,{colSpan:e.getVisibleCells().length,children:Be(e)})}):null]},e.id)},Pt=e=>{let n=je?.(e)??!1,r=e.getVisibleCells();return(0,c.jsx)(`article`,{"data-slot":`data-table-mobile-card`,"data-state":e.getIsSelected()?`selected`:void 0,"data-disabled":n||void 0,className:t.cn(`grid gap-3 rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card p-3 shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))]`,O&&!n&&`cursor-pointer transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)]`,n&&`pointer-events-none opacity-55`,u(e,ze)),role:O&&!n?`button`:void 0,tabIndex:O&&!n?0:void 0,onClick:()=>{n||O?.(e)},onKeyDown:t=>{t.target!==t.currentTarget||n||!O||(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),O(e))},children:r.map(e=>{let t=(0,l.flexRender)(e.column.columnDef.cell,e.getContext());return(0,c.jsxs)(`div`,{"data-slot":`data-table-mobile-cell`,className:`grid grid-cols-[minmax(7rem,0.42fr)_minmax(0,1fr)] items-start gap-3 text-sm`,children:[(0,c.jsx)(`span`,{className:`min-w-0 text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:de(e)}),(0,c.jsx)(`div`,{className:`min-w-0 text-right text-foreground/92 [&>*]:ml-auto`,children:d(t)?Pe:t})]},e.id)})},e.id)};return(0,c.jsxs)(`div`,{"data-slot":`data-table`,className:t.cn(`grid gap-3`,e),...qe,children:[Et&&(vt??(0,c.jsx)(ie.DataTableToolbar,{title:m,description:h,search:Z,filters:q,summary:J,actions:wt,selectionActions:Tt,selectedCount:ht,totalCount:N?N.rowCount??p.length:p.length,variant:`plain`,...yt})),kt&&(0,c.jsx)(`div`,{className:`grid gap-3`,children:$??(Q?(0,c.jsx)(r.StateView,{status:`loading`,title:`Loading data...`,...be}):F.map(e=>(0,c.jsx)(s.Fragment,{children:D?D(e):Pt(e)},e.id)))}),!kt&&(0,c.jsxs)(`div`,{"data-slot":`data-table-wrapper`,"data-density":k,"data-striped":A||void 0,"data-bordered":j||void 0,"data-virtualized":R||void 0,className:t.cn(`overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))] backdrop-blur`,Ie),children:[(0,c.jsxs)(a.Table,{containerRef:I,containerStyle:R?{height:z,overscrollBehavior:`contain`}:void 0,containerClassName:t.cn(`rounded-none border-0 bg-transparent shadow-none ring-0`,R&&`overflow-auto`),className:t.cn(`text-[0.95rem]`,Fe),"aria-rowcount":F.length,children:[(0,c.jsx)(a.TableHeader,{className:t.cn((M||R)&&`sticky top-0 z-10 shadow-sm backdrop-blur`),children:P.getHeaderGroups().map(e=>(0,c.jsx)(a.TableRow,{children:e.headers.map(e=>(0,c.jsx)(a.TableHead,{style:{width:e.getSize(),...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:M?20:11}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:M?20:11}:{}},className:t.cn(se[k],`bg-[color:color-mix(in_oklch,var(--card),var(--background)_10%)] text-muted-foreground`,(M||R)&&`bg-[color:color-mix(in_oklch,var(--card),transparent_12%)] backdrop-blur`,e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,j&&`border-r last:border-r-0`,le(e,Le)),children:e.isPlaceholder?null:(0,l.flexRender)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,c.jsx)(a.TableBody,{children:$?jt($):Q?Mt():R?[At(`virtual-top`,pt),...W.map(e=>Nt(F[e.index],e.index,e)),At(`virtual-bottom`,mt)]:F.map((e,t)=>Nt(e,t))})]}),Dt&&N&&(0,c.jsx)(re.DataTablePagination,{pageIndex:N.pageIndex,pageSize:N.pageSize,pageCount:N.pageCount,rowCount:N.rowCount,pageSizeOptions:N.pageSizeOptions,showPageSize:N.showPageSize,labels:N.labels,disabled:C,onPageChange:N.onPageChange,onPageSizeChange:N.onPageSizeChange})]})]})}exports.DataTable=f;