@devalok/shilp-sutra 0.55.1 → 0.57.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 (270) hide show
  1. package/BREAKING.json +13 -0
  2. package/MIGRATION.md +163 -0
  3. package/README.md +16 -1
  4. package/dist/_chunks/badge-group.js +92 -78
  5. package/dist/_chunks/badge-group.js.map +1 -1
  6. package/dist/_chunks/chat.js +91 -75
  7. package/dist/_chunks/chat.js.map +1 -1
  8. package/dist/_chunks/document-preview.js +1 -1
  9. package/dist/_chunks/document-preview.js.map +1 -1
  10. package/dist/_chunks/emoji-suggestion.js +32 -30
  11. package/dist/_chunks/emoji-suggestion.js.map +1 -1
  12. package/dist/_chunks/mention-suggestion.js +36 -35
  13. package/dist/_chunks/mention-suggestion.js.map +1 -1
  14. package/dist/_chunks/oauth-button.js +1 -1
  15. package/dist/_chunks/oauth-button.js.map +1 -1
  16. package/dist/_chunks/primitives-internal.js +437 -537
  17. package/dist/_chunks/primitives-internal.js.map +1 -1
  18. package/dist/_chunks/success.js +2 -2
  19. package/dist/_chunks/success.js.map +1 -1
  20. package/dist/_chunks/tree-view.js +1 -1
  21. package/dist/_chunks/tree-view.js.map +1 -1
  22. package/dist/_chunks/use-calendar.js +4 -4
  23. package/dist/_chunks/use-calendar.js.map +1 -1
  24. package/dist/ai/blocks/text.js +1 -1
  25. package/dist/ai/blocks/text.js.map +1 -1
  26. package/dist/ai/command-bar.js +9 -9
  27. package/dist/ai/command-bar.js.map +1 -1
  28. package/dist/ai/conversation.js +2 -2
  29. package/dist/ai/conversation.js.map +1 -1
  30. package/dist/composed/activity-feed.js +1 -1
  31. package/dist/composed/activity-feed.js.map +1 -1
  32. package/dist/composed/avatar-group.d.ts +7 -2
  33. package/dist/composed/avatar-group.d.ts.map +1 -1
  34. package/dist/composed/avatar-group.js +3 -3
  35. package/dist/composed/avatar-group.js.map +1 -1
  36. package/dist/composed/command-palette.js +7 -7
  37. package/dist/composed/command-palette.js.map +1 -1
  38. package/dist/composed/content-card.js +20 -20
  39. package/dist/composed/content-card.js.map +1 -1
  40. package/dist/composed/date-picker/index.js +4 -4
  41. package/dist/composed/date-picker/index.js.map +1 -1
  42. package/dist/composed/diff.d.ts +23 -2
  43. package/dist/composed/diff.d.ts.map +1 -1
  44. package/dist/composed/diff.js +341 -260
  45. package/dist/composed/diff.js.map +1 -1
  46. package/dist/composed/emoji-picker.js +3 -3
  47. package/dist/composed/emoji-picker.js.map +1 -1
  48. package/dist/composed/error-boundary.js +2 -2
  49. package/dist/composed/error-boundary.js.map +1 -1
  50. package/dist/composed/extensions/emoji-node.js +8 -7
  51. package/dist/composed/extensions/emoji-node.js.map +1 -1
  52. package/dist/composed/file-preview.js +1 -1
  53. package/dist/composed/file-preview.js.map +1 -1
  54. package/dist/composed/filter-bar.js +1 -1
  55. package/dist/composed/filter-bar.js.map +1 -1
  56. package/dist/composed/inline-edit.js +1 -1
  57. package/dist/composed/inline-edit.js.map +1 -1
  58. package/dist/composed/loading-skeleton.js +3 -3
  59. package/dist/composed/loading-skeleton.js.map +1 -1
  60. package/dist/composed/master-detail.js +1 -1
  61. package/dist/composed/master-detail.js.map +1 -1
  62. package/dist/composed/member-picker.js +1 -1
  63. package/dist/composed/member-picker.js.map +1 -1
  64. package/dist/composed/multi-select-popover.js +1 -1
  65. package/dist/composed/multi-select-popover.js.map +1 -1
  66. package/dist/composed/page-skeletons.js +4 -4
  67. package/dist/composed/page-skeletons.js.map +1 -1
  68. package/dist/composed/responsive-modal.js +1 -1
  69. package/dist/composed/responsive-modal.js.map +1 -1
  70. package/dist/composed/rich-chat-input.js +549 -540
  71. package/dist/composed/rich-chat-input.js.map +1 -1
  72. package/dist/composed/rich-text-editor.js +206 -198
  73. package/dist/composed/rich-text-editor.js.map +1 -1
  74. package/dist/composed/schedule-view.js +5 -5
  75. package/dist/composed/schedule-view.js.map +1 -1
  76. package/dist/hooks/index.d.ts +1 -0
  77. package/dist/hooks/index.d.ts.map +1 -1
  78. package/dist/hooks/index.js +4 -3
  79. package/dist/hooks/use-container-size.d.ts +18 -0
  80. package/dist/hooks/use-container-size.d.ts.map +1 -0
  81. package/dist/hooks/use-container-size.js +28 -0
  82. package/dist/hooks/use-container-size.js.map +1 -0
  83. package/dist/shell/app-shell.d.ts +101 -0
  84. package/dist/shell/app-shell.d.ts.map +1 -0
  85. package/dist/shell/app-shell.js +76 -0
  86. package/dist/shell/app-shell.js.map +1 -0
  87. package/dist/shell/bottom-navbar.js +2 -2
  88. package/dist/shell/bottom-navbar.js.map +1 -1
  89. package/dist/shell/index.d.ts +1 -0
  90. package/dist/shell/index.d.ts.map +1 -1
  91. package/dist/shell/index.js +6 -5
  92. package/dist/shell/notification-center.js +4 -4
  93. package/dist/shell/notification-center.js.map +1 -1
  94. package/dist/shell/notification-preferences.js +1 -1
  95. package/dist/shell/notification-preferences.js.map +1 -1
  96. package/dist/shell/top-bar.js +7 -7
  97. package/dist/shell/top-bar.js.map +1 -1
  98. package/dist/tokens/generate-scale.d.ts +49 -0
  99. package/dist/tokens/generate-scale.d.ts.map +1 -1
  100. package/dist/tokens/primitives.css +29 -26
  101. package/dist/tokens/semantic.css +98 -39
  102. package/dist/tokens/variants.css +1 -1
  103. package/dist/ui/accordion.js +1 -1
  104. package/dist/ui/accordion.js.map +1 -1
  105. package/dist/ui/alert-dialog.js +1 -1
  106. package/dist/ui/alert-dialog.js.map +1 -1
  107. package/dist/ui/alert.d.ts.map +1 -1
  108. package/dist/ui/alert.js +36 -36
  109. package/dist/ui/alert.js.map +1 -1
  110. package/dist/ui/avatar.js +44 -44
  111. package/dist/ui/avatar.js.map +1 -1
  112. package/dist/ui/badge-indicator.js +1 -1
  113. package/dist/ui/badge-indicator.js.map +1 -1
  114. package/dist/ui/badge.d.ts +47 -33
  115. package/dist/ui/badge.d.ts.map +1 -1
  116. package/dist/ui/banner.js +26 -26
  117. package/dist/ui/banner.js.map +1 -1
  118. package/dist/ui/button.js +35 -35
  119. package/dist/ui/button.js.map +1 -1
  120. package/dist/ui/card.js +42 -42
  121. package/dist/ui/card.js.map +1 -1
  122. package/dist/ui/chat/date-separator.d.ts +8 -1
  123. package/dist/ui/chat/date-separator.d.ts.map +1 -1
  124. package/dist/ui/checkbox.js +1 -1
  125. package/dist/ui/checkbox.js.map +1 -1
  126. package/dist/ui/code.js +2 -2
  127. package/dist/ui/code.js.map +1 -1
  128. package/dist/ui/color-input.js +3 -3
  129. package/dist/ui/color-input.js.map +1 -1
  130. package/dist/ui/combobox.js +139 -139
  131. package/dist/ui/combobox.js.map +1 -1
  132. package/dist/ui/context-menu.js +4 -4
  133. package/dist/ui/context-menu.js.map +1 -1
  134. package/dist/ui/data-table-body.d.ts +3 -1
  135. package/dist/ui/data-table-body.d.ts.map +1 -1
  136. package/dist/ui/data-table-body.js +93 -92
  137. package/dist/ui/data-table-body.js.map +1 -1
  138. package/dist/ui/data-table-bulk-actions.d.ts +7 -1
  139. package/dist/ui/data-table-bulk-actions.d.ts.map +1 -1
  140. package/dist/ui/data-table-bulk-actions.js +14 -8
  141. package/dist/ui/data-table-bulk-actions.js.map +1 -1
  142. package/dist/ui/data-table-card.d.ts.map +1 -1
  143. package/dist/ui/data-table-card.js +66 -47
  144. package/dist/ui/data-table-card.js.map +1 -1
  145. package/dist/ui/data-table-context.d.ts +4 -0
  146. package/dist/ui/data-table-context.d.ts.map +1 -1
  147. package/dist/ui/data-table-context.js.map +1 -1
  148. package/dist/ui/data-table-header.d.ts.map +1 -1
  149. package/dist/ui/data-table-header.js +18 -15
  150. package/dist/ui/data-table-header.js.map +1 -1
  151. package/dist/ui/data-table-pagination.js +3 -3
  152. package/dist/ui/data-table-pagination.js.map +1 -1
  153. package/dist/ui/data-table-toolbar.d.ts +11 -1
  154. package/dist/ui/data-table-toolbar.d.ts.map +1 -1
  155. package/dist/ui/data-table-toolbar.js +7 -7
  156. package/dist/ui/data-table-toolbar.js.map +1 -1
  157. package/dist/ui/data-table.d.ts +52 -5
  158. package/dist/ui/data-table.d.ts.map +1 -1
  159. package/dist/ui/data-table.js +181 -169
  160. package/dist/ui/data-table.js.map +1 -1
  161. package/dist/ui/dialog.js +1 -1
  162. package/dist/ui/dialog.js.map +1 -1
  163. package/dist/ui/dot.js +13 -13
  164. package/dist/ui/dot.js.map +1 -1
  165. package/dist/ui/dropdown-menu.js +4 -4
  166. package/dist/ui/dropdown-menu.js.map +1 -1
  167. package/dist/ui/file-upload.js +3 -3
  168. package/dist/ui/file-upload.js.map +1 -1
  169. package/dist/ui/input-otp.js +1 -1
  170. package/dist/ui/input-otp.js.map +1 -1
  171. package/dist/ui/input.js +30 -30
  172. package/dist/ui/input.js.map +1 -1
  173. package/dist/ui/lib/utils.js +2 -1
  174. package/dist/ui/lib/utils.js.map +1 -1
  175. package/dist/ui/menubar.js +5 -5
  176. package/dist/ui/menubar.js.map +1 -1
  177. package/dist/ui/navigation-menu.js +1 -1
  178. package/dist/ui/navigation-menu.js.map +1 -1
  179. package/dist/ui/number-input.js +36 -36
  180. package/dist/ui/number-input.js.map +1 -1
  181. package/dist/ui/pagination.js +1 -1
  182. package/dist/ui/pagination.js.map +1 -1
  183. package/dist/ui/progress-ring.js +2 -2
  184. package/dist/ui/progress-ring.js.map +1 -1
  185. package/dist/ui/progress.d.ts.map +1 -1
  186. package/dist/ui/progress.js +66 -62
  187. package/dist/ui/progress.js.map +1 -1
  188. package/dist/ui/radio.js +1 -1
  189. package/dist/ui/radio.js.map +1 -1
  190. package/dist/ui/select.js +61 -61
  191. package/dist/ui/select.js.map +1 -1
  192. package/dist/ui/sheet.js +47 -47
  193. package/dist/ui/sheet.js.map +1 -1
  194. package/dist/ui/sidebar.js +132 -132
  195. package/dist/ui/sidebar.js.map +1 -1
  196. package/dist/ui/skeleton.js +39 -39
  197. package/dist/ui/slider.js +18 -18
  198. package/dist/ui/slider.js.map +1 -1
  199. package/dist/ui/split-button.js +3 -3
  200. package/dist/ui/split-button.js.map +1 -1
  201. package/dist/ui/stat-card.js +1 -1
  202. package/dist/ui/stat-card.js.map +1 -1
  203. package/dist/ui/stepper.js +2 -2
  204. package/dist/ui/stepper.js.map +1 -1
  205. package/dist/ui/surface.d.ts.map +1 -1
  206. package/dist/ui/surface.js +11 -11
  207. package/dist/ui/surface.js.map +1 -1
  208. package/dist/ui/switch.js +1 -1
  209. package/dist/ui/switch.js.map +1 -1
  210. package/dist/ui/table.js +1 -1
  211. package/dist/ui/table.js.map +1 -1
  212. package/dist/ui/tabs.d.ts.map +1 -1
  213. package/dist/ui/tabs.js +48 -48
  214. package/dist/ui/tabs.js.map +1 -1
  215. package/dist/ui/text.js +8 -8
  216. package/dist/ui/textarea.js +17 -17
  217. package/dist/ui/textarea.js.map +1 -1
  218. package/dist/ui/toast.js +1 -1
  219. package/dist/ui/toast.js.map +1 -1
  220. package/dist/ui/toggle.js +15 -15
  221. package/dist/ui/toggle.js.map +1 -1
  222. package/docs/components/composed/avatar-group.md +4 -4
  223. package/docs/components/composed/diff.md +10 -2
  224. package/docs/components/composed/schedule-view.md +1 -1
  225. package/docs/components/shell/app-shell.md +132 -0
  226. package/docs/components/ui/avatar.md +1 -1
  227. package/docs/components/ui/button.md +1 -1
  228. package/docs/components/ui/chat.md +7 -1
  229. package/docs/components/ui/color-swatch.md +1 -1
  230. package/docs/components/ui/data-table-toolbar.md +6 -2
  231. package/docs/components/ui/data-table.md +41 -7
  232. package/docs/components/ui/dot.md +1 -1
  233. package/docs/components/ui/progress.md +1 -0
  234. package/docs/components/ui/surface.md +3 -3
  235. package/docs/components/ui/table.md +2 -2
  236. package/docs/recipes/install-astro.md +3 -2
  237. package/docs/recipes/install-next-app-router.md +3 -2
  238. package/docs/recipes/install-remix.md +3 -2
  239. package/docs/recipes/install-tanstack-start.md +3 -2
  240. package/docs/recipes/install-vite.md +3 -2
  241. package/docs/recipes/troubleshoot.md +26 -5
  242. package/llms.txt +2 -1
  243. package/make-kit/Guidelines.md +2 -2
  244. package/make-kit/components/button.md +1 -1
  245. package/make-kit/components/card.md +6 -6
  246. package/make-kit/components/surface.md +4 -4
  247. package/make-kit/foundations/color.md +4 -4
  248. package/make-kit/foundations/dark-mode.md +1 -1
  249. package/make-kit/foundations/radius.md +1 -1
  250. package/make-kit/foundations/surfaces.md +9 -9
  251. package/mcp-manifest.json +373 -34
  252. package/package.json +43 -13
  253. package/skill/SKILL.md +12 -6
  254. package/skill/references/components.md +2 -1
  255. package/skill/references/setup-astro.md +3 -2
  256. package/skill/references/setup-next-app-router.md +3 -2
  257. package/skill/references/setup-remix.md +3 -2
  258. package/skill/references/setup-tanstack-start.md +3 -2
  259. package/skill/references/setup-vite.md +3 -2
  260. package/skill/references/troubleshoot.md +26 -5
  261. package/dist/_chunks/tiptap.js +0 -18809
  262. package/dist/_chunks/tiptap.js.map +0 -1
  263. package/dist/_chunks/vendor-utils.js +0 -1766
  264. package/dist/_chunks/vendor-utils.js.map +0 -1
  265. package/dist/primitives/react-toast.d.ts +0 -120
  266. package/dist/ui/charts/_internal/scales.d.ts +0 -5
  267. package/dist/ui/charts/_internal/scales.d.ts.map +0 -1
  268. package/dist/ui/lib/slot.d.ts +0 -8
  269. package/dist/ui/lib/slot.d.ts.map +0 -1
  270. package/scripts/welcome.mjs +0 -312
@@ -1,6 +1,6 @@
1
1
  import { ColumnDef, RowData } from '@tanstack/react-table';
2
2
  import { default as React } from 'react';
3
- import { BulkAction } from './data-table-bulk-actions.js';
3
+ import { BulkAction, BulkActionsPosition } from './data-table-bulk-actions.js';
4
4
  import { Density } from './data-table-toolbar.js';
5
5
  export type { BulkAction } from './data-table-bulk-actions.js';
6
6
  declare module '@tanstack/react-table' {
@@ -91,8 +91,13 @@ export interface DataTableProps<TData, TValue> {
91
91
  pageSizeOptions?: number[];
92
92
  /** Enable row selection with checkboxes */
93
93
  selectable?: boolean;
94
- /** Callback when row selection changes */
95
- onSelectionChange?: (selectedRows: TData[]) => void;
94
+ /**
95
+ * Callback when row selection changes.
96
+ * Second argument `selectedIds` is the set of selected row IDs — the natural
97
+ * complement of the `selectedIds` controlled prop, so you never have to
98
+ * re-derive them yourself.
99
+ */
100
+ onSelectionChange?: (selectedRows: TData[], selectedIds: Set<string>) => void;
96
101
  /** Show toolbar above the table with column visibility, density, and export controls */
97
102
  toolbar?: boolean;
98
103
  /** Row density — controls cell vertical padding */
@@ -112,7 +117,11 @@ export interface DataTableProps<TData, TValue> {
112
117
  renderExpanded?: (row: TData) => React.ReactNode;
113
118
  /** Enable row virtualization for large datasets */
114
119
  virtualRows?: boolean;
115
- /** Height of each virtual row in pixels (default 48) */
120
+ /**
121
+ * Estimated height of each virtual row in pixels (default 48). Real heights are
122
+ * measured after mount, so this only has to be close — it decides the initial
123
+ * scroll extent and how many rows render before the first measurement pass.
124
+ */
116
125
  virtualRowHeight?: number;
117
126
  /** Maximum height of the scrollable container in pixels (default 600) */
118
127
  maxHeight?: number;
@@ -143,10 +152,48 @@ export interface DataTableProps<TData, TValue> {
143
152
  onRowClick?: (row: TData) => void;
144
153
  /** Actions shown in a floating bar when rows are selected */
145
154
  bulkActions?: BulkAction<TData>[];
155
+ /** Where the bulk-actions bar renders. @default 'bottom' */
156
+ bulkActionsPosition?: BulkActionsPosition;
146
157
  /** Render rows as stacked cards on small screens (below sm breakpoint). Default 'table'. */
147
158
  mobileView?: 'card' | 'table';
159
+ /**
160
+ * Whether to show the Export CSV button in the toolbar. Defaults to `true`
161
+ * (the button has always rendered whenever `toolbar` is on). Pass `false` to
162
+ * hide it — worth doing with server-side `pagination`, where the built-in CSV
163
+ * export can only see the current page's rows; `onExport` is the other answer
164
+ * there, since it lets you fetch the full set yourself.
165
+ */
166
+ enableExport?: boolean;
167
+ /**
168
+ * Override the default client-side CSV export. Receives the currently visible
169
+ * (filtered) rows so you can trigger a server-side full export or apply custom
170
+ * formatting. When provided, the built-in CSV logic is skipped entirely.
171
+ */
172
+ onExport?: (visibleRows: TData[]) => void;
173
+ /**
174
+ * Restrict filter inputs to specific column IDs. Only effective when
175
+ * `filterable` is true. When omitted, all columns without
176
+ * `enableColumnFilter: false` in their `ColumnDef` get a filter input
177
+ * (existing behaviour). When provided, only the listed columns get inputs.
178
+ *
179
+ * @example
180
+ * // Show filter inputs only for name and email columns
181
+ * <DataTable filterable filterableColumns={['name', 'email']} />
182
+ */
183
+ filterableColumns?: string[];
184
+ /**
185
+ * Return a className string for a given row — applied to the `<tr>` in table
186
+ * layout and to the `Card` in `mobileView="card"` layout.
187
+ *
188
+ * The return value is passed through `cn()` verbatim, so an invented class
189
+ * silently does nothing. Use real token steps (`bg-error-3`, `bg-warning-3`).
190
+ *
191
+ * @example
192
+ * rowClassName={(row) => row.status === 'overdue' ? 'bg-error-3' : undefined}
193
+ */
194
+ rowClassName?: (row: TData) => string | undefined;
148
195
  }
149
- export declare function DataTable<TData, TValue>({ columns, data, className, noResultsText, sortable, filterable, globalFilter, paginated, pageSize: initialPageSize, pageSizeOptions, selectable, onSelectionChange, toolbar, density: initialDensity, columnPinning: initialColumnPinning, editable, onCellEdit, expandable, renderExpanded, virtualRows, virtualRowHeight, maxHeight, onSort, emptyState, loading, selectedIds, selectableFilter, getRowId: getRowIdProp, pagination: serverPagination, singleExpand, stickyHeader, onRowClick, bulkActions, mobileView, }: DataTableProps<TData, TValue>): React.JSX.Element;
196
+ export declare function DataTable<TData, TValue>({ columns, data, className, noResultsText, sortable, filterable, globalFilter, paginated, pageSize: initialPageSize, pageSizeOptions, selectable, onSelectionChange, toolbar, density: initialDensity, columnPinning: initialColumnPinning, editable, onCellEdit, expandable, renderExpanded, virtualRows, virtualRowHeight, maxHeight, onSort, emptyState, loading, selectedIds, selectableFilter, getRowId: getRowIdProp, pagination: serverPagination, singleExpand, stickyHeader, onRowClick, bulkActions, bulkActionsPosition, mobileView, enableExport, onExport, filterableColumns, rowClassName, }: DataTableProps<TData, TValue>): React.JSX.Element;
150
197
  export declare namespace DataTable {
151
198
  var displayName: string;
152
199
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../src/ui/data-table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../src/ui/data-table.tsx"],"names":[],"mappings":"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"}
@@ -10,71 +10,71 @@ import { DataTableCards as ne } from "./data-table-card.js";
10
10
  import { DataTableHeader as re } from "./data-table-header.js";
11
11
  import { DataTablePagination as ie } from "./data-table-pagination.js";
12
12
  import { DataTableToolbar as ae } from "./data-table-toolbar.js";
13
- import { useCallback as a, useEffect as o, useMemo as s, useRef as c, useState as l } from "react";
14
- import { jsx as u, jsxs as d } from "react/jsx-runtime";
15
- import { IconChevronRight as oe, IconSearch as se } from "@tabler/icons-react";
16
- import { getCoreRowModel as ce, getExpandedRowModel as le, getFilteredRowModel as ue, getPaginationRowModel as de, getSortedRowModel as fe, useReactTable as pe } from "@tanstack/react-table";
17
- import { useVirtualizer as me } from "@tanstack/react-virtual";
13
+ import { useCallback as a, useEffect as o, useMemo as oe, useRef as s, useState as c } from "react";
14
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
15
+ import { IconChevronRight as se, IconSearch as ce } from "@tabler/icons-react";
16
+ import { getCoreRowModel as le, getExpandedRowModel as ue, getFilteredRowModel as de, getPaginationRowModel as fe, getSortedRowModel as pe, useReactTable as me } from "@tanstack/react-table";
17
+ import { useVirtualizer as he } from "@tanstack/react-virtual";
18
18
  //#region src/ui/data-table.tsx
19
- function f({ columns: f, data: p, className: he, noResultsText: m, sortable: h = !1, filterable: g = !1, globalFilter: _ = !1, paginated: ge = !1, pageSize: v, pageSizeOptions: _e, selectable: y = !1, onSelectionChange: b, toolbar: ve = !1, density: ye = "standard", columnPinning: be, editable: xe = !1, onCellEdit: Se, expandable: x = !1, renderExpanded: S, virtualRows: C = !1, virtualRowHeight: Ce = 48, maxHeight: we = 600, onSort: w, emptyState: T, loading: E = !1, selectedIds: D, selectableFilter: O, getRowId: k, pagination: A, singleExpand: j = !1, stickyHeader: Te = !1, onRowClick: M, bulkActions: N, mobileView: P = "table" }) {
20
- let [Ee, F] = l(!1);
19
+ function d({ columns: d, data: f, className: ge, noResultsText: p, sortable: m = !1, filterable: h = !1, globalFilter: g = !1, paginated: _e = !1, pageSize: _, pageSizeOptions: ve, selectable: v = !1, onSelectionChange: y, toolbar: ye = !1, density: be = "standard", columnPinning: xe, editable: Se = !1, onCellEdit: Ce, expandable: b = !1, renderExpanded: x, virtualRows: S = !1, virtualRowHeight: we = 48, maxHeight: Te = 600, onSort: C, emptyState: w, loading: T = !1, selectedIds: E, selectableFilter: D, getRowId: O, pagination: k, singleExpand: A = !1, stickyHeader: Ee = !1, onRowClick: j, bulkActions: M, bulkActionsPosition: De = "bottom", mobileView: N = "table", enableExport: Oe, onExport: ke, filterableColumns: P, rowClassName: F }) {
20
+ let [Ae, I] = c(!1);
21
21
  o(() => {
22
- let e = window.matchMedia("(max-width: 639px)"), t = () => F(e.matches);
23
- return e.addEventListener("change", t), F(e.matches), () => e.removeEventListener("change", t);
22
+ let e = window.matchMedia("(max-width: 639px)"), t = () => I(e.matches);
23
+ return e.addEventListener("change", t), I(e.matches), () => e.removeEventListener("change", t);
24
24
  }, []);
25
- let De = P === "card" && Ee, [Oe, I] = l([]), [ke, Ae] = l([]), [L, R] = l(""), [je, z] = l({
26
- pageIndex: A ? A.page - 1 : 0,
27
- pageSize: A?.pageSize ?? v ?? 10
28
- }), [B, V] = l({}), [Me, Ne] = l({}), [H, Pe] = l({
29
- left: be?.left ?? [],
30
- right: be?.right ?? []
31
- }), [U, Fe] = l(ye), [Ie, Le] = l(null), [Re, ze] = l({}), Be = c(null), W = c(!1);
25
+ let je = N === "card" && Ae, [Me, L] = c([]), [Ne, Pe] = c([]), [R, z] = c(""), [Fe, B] = c({
26
+ pageIndex: k ? k.page - 1 : 0,
27
+ pageSize: k?.pageSize ?? _ ?? 10
28
+ }), [V, Ie] = c({}), [Le, Re] = c({}), [H, ze] = c({
29
+ left: xe?.left ?? [],
30
+ right: xe?.right ?? []
31
+ }), [Be, Ve] = c(be), [He, Ue] = c(null), [We, Ge] = c({}), Ke = s(null), U = s(!1), qe = s(!0);
32
32
  o(() => {
33
- if (D) {
34
- W.current = !0;
33
+ if (E) {
34
+ U.current = !0;
35
35
  let e = {};
36
- D.forEach((t) => {
36
+ E.forEach((t) => {
37
37
  e[t] = !0;
38
- }), V(e);
38
+ }), Ie(e);
39
39
  }
40
- }, [D]), o(() => {
41
- A && z((e) => ({
40
+ }, [E]), o(() => {
41
+ k && B((e) => ({
42
42
  ...e,
43
- pageIndex: A.page - 1,
44
- pageSize: A.pageSize
43
+ pageIndex: k.page - 1,
44
+ pageSize: k.pageSize
45
45
  }));
46
- }, [A?.page, A?.pageSize]);
47
- let Ve = a((e) => {
48
- I((t) => {
46
+ }, [k?.page, k?.pageSize]);
47
+ let Je = a((e) => {
48
+ L((t) => {
49
49
  let n = typeof e == "function" ? e(t) : e;
50
- return w && (n.length === 0 && t.length > 0 ? w(t[0].id, !1) : n.length > 0 && w(n[0].id, n[0].desc ? "desc" : "asc")), n;
50
+ return C && (n.length === 0 && t.length > 0 ? C(t[0].id, !1) : n.length > 0 && C(n[0].id, n[0].desc ? "desc" : "asc")), n;
51
51
  });
52
- }, [w]), He = a((e) => {
53
- ze((t) => {
52
+ }, [C]), Ye = a((e) => {
53
+ Ge((t) => {
54
54
  let n = typeof e == "function" ? e(t) : e;
55
- if (!j || n === !0 || typeof n != "object") return n;
55
+ if (!A || n === !0 || typeof n != "object") return n;
56
56
  let r = typeof t == "object" ? Object.keys(t).filter((e) => t[e]) : [], i = Object.keys(n).filter((e) => n[e]).filter((e) => !r.includes(e));
57
57
  return i.length > 0 ? { [i[i.length - 1]]: !0 } : n;
58
58
  });
59
- }, [j]), G = c(A?.onPageChange);
59
+ }, [A]), W = s(k?.onPageChange);
60
60
  o(() => {
61
- G.current = A?.onPageChange;
62
- }, [A?.onPageChange]);
63
- let Ue = a((e) => {
64
- z((t) => {
61
+ W.current = k?.onPageChange;
62
+ }, [k?.onPageChange]);
63
+ let Xe = a((e) => {
64
+ B((t) => {
65
65
  let n = typeof e == "function" ? e(t) : e;
66
- return G.current && n.pageIndex !== t.pageIndex && G.current(n.pageIndex + 1), n;
66
+ return W.current && n.pageIndex !== t.pageIndex && W.current(n.pageIndex + 1), n;
67
67
  });
68
- }, []), We = {
68
+ }, []), Ze = {
69
69
  id: "_select",
70
- header: ({ table: e }) => /* @__PURE__ */ u(n, {
70
+ header: ({ table: e }) => /* @__PURE__ */ l(n, {
71
71
  size: "sm",
72
72
  checked: e.getIsAllPageRowsSelected(),
73
73
  indeterminate: e.getIsSomePageRowsSelected(),
74
74
  onCheckedChange: (t) => e.toggleAllPageRowsSelected(!!t),
75
75
  "aria-label": "Select all rows"
76
76
  }),
77
- cell: ({ row: e }) => /* @__PURE__ */ u(n, {
77
+ cell: ({ row: e }) => /* @__PURE__ */ l(n, {
78
78
  size: "sm",
79
79
  checked: e.getIsSelected(),
80
80
  disabled: !e.getCanSelect(),
@@ -84,20 +84,20 @@ function f({ columns: f, data: p, className: he, noResultsText: m, sortable: h =
84
84
  enableSorting: !1,
85
85
  enableColumnFilter: !1,
86
86
  enableHiding: !1
87
- }, Ge = {
87
+ }, Qe = {
88
88
  id: "_expand",
89
- header: () => /* @__PURE__ */ u("span", {
89
+ header: () => /* @__PURE__ */ l("span", {
90
90
  className: "sr-only",
91
91
  children: "Expand rows"
92
92
  }),
93
- cell: ({ row: n }) => /* @__PURE__ */ u("button", {
93
+ cell: ({ row: n }) => /* @__PURE__ */ l("button", {
94
94
  type: "button",
95
95
  onClick: () => n.toggleExpanded(),
96
96
  "aria-expanded": n.getIsExpanded(),
97
97
  "aria-label": n.getIsExpanded() ? "Collapse row" : "Expand row",
98
- className: "flex items-center justify-center p-ds-01 rounded-control-inner hover:bg-surface-raised-hover transition-colors",
99
- children: /* @__PURE__ */ u(t, {
100
- icon: oe,
98
+ className: "flex items-center justify-center p-ds-01 rounded-control-inner hover:bg-surface-panel-hover transition-colors",
99
+ children: /* @__PURE__ */ l(t, {
100
+ icon: se,
101
101
  size: "sm",
102
102
  className: e("transition-transform duration-fast-02 ease-productive-standard", n.getIsExpanded() && "rotate-90")
103
103
  })
@@ -105,182 +105,194 @@ function f({ columns: f, data: p, className: he, noResultsText: m, sortable: h =
105
105
  enableSorting: !1,
106
106
  enableColumnFilter: !1,
107
107
  enableHiding: !1
108
- }, K = [
109
- ...y ? [We] : [],
110
- ...x ? [Ge] : [],
111
- ...f
112
- ], q = !!A, J = ge || q, Y = {
113
- columnVisibility: Me,
108
+ }, G = [
109
+ ...v ? [Ze] : [],
110
+ ...b ? [Qe] : [],
111
+ ...d
112
+ ], K = !!k, q = _e || K, J = {
113
+ columnVisibility: Le,
114
114
  columnPinning: H
115
115
  };
116
- h && (Y.sorting = Oe), (g || _) && (Y.columnFilters = ke, Y.globalFilter = L), J && (Y.pagination = je), y && (Y.rowSelection = B), x && (Y.expanded = Re);
117
- let Ke = h && !!w, X = pe({
118
- data: p,
119
- columns: K,
120
- state: Y,
121
- onColumnVisibilityChange: Ne,
122
- onColumnPinningChange: Pe,
123
- getCoreRowModel: ce(),
124
- ...h && {
125
- onSortingChange: Ke ? Ve : I,
126
- ...Ke ? { manualSorting: !0 } : { getSortedRowModel: fe() }
116
+ m && (J.sorting = Me), (h || g) && (J.columnFilters = Ne, J.globalFilter = R), q && (J.pagination = Fe), v && (J.rowSelection = V), b && (J.expanded = We);
117
+ let Y = m && !!C, X = me({
118
+ data: f,
119
+ columns: G,
120
+ state: J,
121
+ onColumnVisibilityChange: Re,
122
+ onColumnPinningChange: ze,
123
+ getCoreRowModel: le(),
124
+ ...m && {
125
+ onSortingChange: Y ? Je : L,
126
+ ...Y ? { manualSorting: !0 } : { getSortedRowModel: pe() }
127
127
  },
128
- ...(g || _) && {
129
- onColumnFiltersChange: Ae,
130
- onGlobalFilterChange: R,
131
- getFilteredRowModel: ue()
128
+ ...(h || g) && {
129
+ onColumnFiltersChange: Pe,
130
+ onGlobalFilterChange: z,
131
+ getFilteredRowModel: de()
132
132
  },
133
- ...J && {
134
- onPaginationChange: q ? Ue : z,
135
- ...q ? {
133
+ ...q && {
134
+ onPaginationChange: K ? Xe : B,
135
+ ...K ? {
136
136
  manualPagination: !0,
137
- pageCount: Math.ceil(A.total / A.pageSize)
138
- } : { getPaginationRowModel: de() }
137
+ pageCount: Math.ceil(k.total / k.pageSize)
138
+ } : { getPaginationRowModel: fe() }
139
139
  },
140
- ...y && {
141
- onRowSelectionChange: V,
142
- enableRowSelection: O ? (e) => O(e.original) : !0
140
+ ...v && {
141
+ onRowSelectionChange: Ie,
142
+ enableRowSelection: D ? (e) => D(e.original) : !0
143
143
  },
144
- ...x && {
145
- onExpandedChange: j ? He : ze,
146
- getExpandedRowModel: le()
144
+ ...b && {
145
+ onExpandedChange: A ? Ye : Ge,
146
+ getExpandedRowModel: ue()
147
147
  },
148
- ...k && { getRowId: (e) => k(e) }
149
- }), Z = c(b), Q = c(k);
148
+ ...O && { getRowId: (e) => O(e) }
149
+ }), Z = s(y), Q = s(O);
150
150
  o(() => {
151
- Z.current = b, Q.current = k;
152
- }, [b, k]), o(() => {
153
- if (W.current) {
154
- W.current = !1;
151
+ Z.current = y, Q.current = O;
152
+ }, [y, O]), o(() => {
153
+ if (qe.current) {
154
+ qe.current = !1;
155
+ return;
156
+ }
157
+ if (U.current) {
158
+ U.current = !1;
155
159
  return;
156
160
  }
157
161
  if (!Z.current) return;
158
- let e = Object.keys(B).filter((e) => B[e]), t = p.filter((t, n) => {
159
- let r = Q.current ? Q.current(p[n]) : String(n);
162
+ let e = Object.keys(V).filter((e) => V[e]), t = f.filter((t, n) => {
163
+ let r = Q.current ? Q.current(f[n]) : String(n);
160
164
  return e.includes(r);
161
165
  });
162
- Z.current(t);
163
- }, [B, p]);
164
- let qe = X.getRowModel().rows, Je = me({
165
- count: C ? qe.length : 0,
166
- getScrollElement: () => Be.current,
167
- estimateSize: () => Ce,
166
+ Z.current(t, new Set(e));
167
+ }, [V, f]);
168
+ let $e = X.getRowModel().rows, $ = he({
169
+ count: S ? $e.length : 0,
170
+ getScrollElement: () => Ke.current,
171
+ estimateSize: () => we,
168
172
  overscan: 10
169
- }), Ye = A?.pageSize ?? v ?? 5, Xe = s(() => {
170
- if (!N || !y) return [];
171
- let e = Object.keys(B).filter((e) => B[e]);
172
- return p.filter((t, n) => {
173
- let r = k ? k(p[n]) : String(n);
173
+ }), et = k?.pageSize ?? _ ?? 5, tt = oe(() => {
174
+ if (!M || !v) return [];
175
+ let e = Object.keys(V).filter((e) => V[e]);
176
+ return f.filter((t, n) => {
177
+ let r = O ? O(f[n]) : String(n);
174
178
  return e.includes(r);
175
179
  });
176
180
  }, [
177
- N,
178
- y,
179
- B,
180
- p,
181
- k
182
- ]), Ze = Xe.length > 0, Qe = q ? A.total : X.getFilteredRowModel().rows.length, $e = s(() => ({
181
+ M,
182
+ v,
183
+ V,
184
+ f,
185
+ O
186
+ ]), nt = tt.length > 0, rt = K ? k.total : X.getFilteredRowModel().rows.length, it = oe(() => ({
183
187
  table: X,
184
- allColumns: K.map((e) => ({
188
+ allColumns: G.map((e) => ({
185
189
  id: e.id,
186
190
  header: e.header
187
191
  })),
188
192
  columnPinningState: H,
189
- sortable: h,
190
- filterable: g,
191
- editable: xe,
192
- expandable: x,
193
- virtualRows: C,
194
- selectable: y,
195
- mobileView: P,
196
- editingCell: Ie,
197
- setEditingCell: Le,
198
- onCellEdit: Se,
199
- renderExpanded: S,
200
- onRowClick: M
193
+ sortable: m,
194
+ filterable: h,
195
+ filterableColumns: P,
196
+ editable: Se,
197
+ expandable: b,
198
+ virtualRows: S,
199
+ selectable: v,
200
+ mobileView: N,
201
+ editingCell: He,
202
+ setEditingCell: Ue,
203
+ onCellEdit: Ce,
204
+ renderExpanded: x,
205
+ onRowClick: j,
206
+ rowClassName: F
201
207
  }), [
202
208
  X,
203
- K.length,
209
+ G.length,
204
210
  H,
211
+ m,
205
212
  h,
206
- g,
207
- xe,
208
- x,
209
- C,
210
- y,
211
213
  P,
212
- Ie,
213
214
  Se,
215
+ b,
214
216
  S,
215
- M
216
- ]), et = C ? Je.getVirtualItems() : void 0, tt = C ? Je.getTotalSize() : void 0, $ = /* @__PURE__ */ d(i, {
217
- density: U,
218
- "aria-busy": E || void 0,
219
- children: [/* @__PURE__ */ u(re, { stickyHeader: Te }), /* @__PURE__ */ u(ee, {
220
- loading: E,
221
- skeletonRowCount: Ye,
222
- noResultsText: m,
223
- emptyState: T,
224
- virtualItems: et,
225
- totalVirtualSize: tt
217
+ v,
218
+ N,
219
+ He,
220
+ Ce,
221
+ x,
222
+ j,
223
+ F
224
+ ]), at = S ? $.getVirtualItems() : void 0, ot = S ? $.getTotalSize() : void 0, st = $.measureElement, ct = /* @__PURE__ */ u(i, {
225
+ density: Be,
226
+ "aria-busy": T || void 0,
227
+ children: [/* @__PURE__ */ l(re, { stickyHeader: Ee }), /* @__PURE__ */ l(ee, {
228
+ loading: T,
229
+ skeletonRowCount: et,
230
+ noResultsText: p,
231
+ emptyState: w,
232
+ virtualItems: at,
233
+ totalVirtualSize: ot,
234
+ measureRow: st
226
235
  })]
227
236
  });
228
- return /* @__PURE__ */ u(r, {
229
- value: $e,
230
- children: /* @__PURE__ */ d("div", {
231
- className: e(he),
237
+ return /* @__PURE__ */ l(r, {
238
+ value: it,
239
+ children: /* @__PURE__ */ u("div", {
240
+ className: e(ge),
232
241
  children: [
233
- ve && /* @__PURE__ */ u(ae, {
242
+ ye && /* @__PURE__ */ l(ae, {
234
243
  table: X,
235
- globalFilter: _,
236
- globalFilterValue: L,
237
- onGlobalFilterChange: R,
238
- density: U,
239
- onDensityChange: Fe
244
+ globalFilter: g,
245
+ globalFilterValue: R,
246
+ onGlobalFilterChange: z,
247
+ density: Be,
248
+ onDensityChange: Ve,
249
+ enableExport: Oe ?? !0,
250
+ onExport: ke
240
251
  }),
241
- _ && !ve && /* @__PURE__ */ d("div", {
252
+ g && !ye && /* @__PURE__ */ u("div", {
242
253
  className: "flex items-center gap-ds-03 pb-ds-04 border-b border-surface-border mb-ds-04",
243
- children: [/* @__PURE__ */ u(t, {
244
- icon: se,
254
+ children: [/* @__PURE__ */ l(t, {
255
+ icon: ce,
245
256
  size: "sm",
246
257
  className: "text-surface-fg-subtle"
247
- }), /* @__PURE__ */ u("input", {
258
+ }), /* @__PURE__ */ l("input", {
248
259
  type: "text",
249
- value: L,
250
- onChange: (e) => R(e.target.value),
260
+ value: R,
261
+ onChange: (e) => z(e.target.value),
251
262
  placeholder: "Search all columns...",
252
263
  "aria-label": "Search all columns",
253
264
  className: e("flex-1 bg-transparent text-body-md", "text-surface-fg placeholder:text-surface-fg-subtle", "outline-hidden")
254
265
  })]
255
266
  }),
256
- De ? /* @__PURE__ */ u(ne, {
257
- loading: E,
258
- skeletonRowCount: Ye,
259
- noResultsText: m,
260
- emptyState: T
261
- }) : C ? /* @__PURE__ */ u("div", {
262
- ref: Be,
267
+ je ? /* @__PURE__ */ l(ne, {
268
+ loading: T,
269
+ skeletonRowCount: et,
270
+ noResultsText: p,
271
+ emptyState: w
272
+ }) : S ? /* @__PURE__ */ l("div", {
273
+ ref: Ke,
263
274
  style: {
264
- maxHeight: `${we}px`,
275
+ maxHeight: `${Te}px`,
265
276
  overflowY: "auto"
266
277
  },
267
- children: $
268
- }) : $,
269
- J && /* @__PURE__ */ u(ie, {
278
+ children: ct
279
+ }) : ct,
280
+ q && /* @__PURE__ */ l(ie, {
270
281
  table: X,
271
- totalRowCount: Qe,
272
- useServerPagination: q,
273
- pageSizeOptions: _e
282
+ totalRowCount: rt,
283
+ useServerPagination: K,
284
+ pageSizeOptions: ve
274
285
  }),
275
- N && y && Ze && /* @__PURE__ */ u(te, {
286
+ M && v && nt && /* @__PURE__ */ l(te, {
276
287
  table: X,
277
- selectedRows: Xe,
278
- bulkActions: N
288
+ selectedRows: tt,
289
+ bulkActions: M,
290
+ position: De
279
291
  })
280
292
  ]
281
293
  })
282
294
  });
283
295
  }
284
- f.displayName = "DataTable";
296
+ d.displayName = "DataTable";
285
297
  //#endregion
286
- export { f as DataTable };
298
+ export { d as DataTable };