@devalok/shilp-sutra 0.34.0 → 0.34.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 (172) hide show
  1. package/dist/_chunks/badge-group.js +306 -246
  2. package/dist/_chunks/chat.js +513 -0
  3. package/dist/_chunks/date-picker.js +748 -0
  4. package/dist/_chunks/document-preview.js +109 -90
  5. package/dist/_chunks/file-preview.js +492 -504
  6. package/dist/_chunks/framer.js +5564 -5613
  7. package/dist/_chunks/image-preview.js +127 -88
  8. package/dist/_chunks/keybinding.js +12 -14
  9. package/dist/_chunks/link-context.js +19 -16
  10. package/dist/_chunks/mention-suggestion.js +353 -350
  11. package/dist/_chunks/motion-provider.js +26 -20
  12. package/dist/_chunks/popover.js +127 -0
  13. package/dist/_chunks/primitives.js +7584 -6425
  14. package/dist/_chunks/rich-chat-input.js +2070 -0
  15. package/dist/_chunks/rolldown-runtime.js +21 -0
  16. package/dist/_chunks/shared.js +126 -0
  17. package/dist/_chunks/sonner.js +605 -734
  18. package/dist/_chunks/stat-row.js +418 -440
  19. package/dist/_chunks/tiptap.js +15850 -19964
  20. package/dist/_chunks/tree-view.js +231 -290
  21. package/dist/_chunks/use-calendar.js +161 -208
  22. package/dist/_chunks/vendor-client.js +314 -2199
  23. package/dist/_chunks/vendor-utils.js +1721 -2978
  24. package/dist/ai/ai-command-provider.js +23 -17
  25. package/dist/ai/block-renderer.js +68 -51
  26. package/dist/ai/blocks/index.js +2 -12
  27. package/dist/ai/command-bar.js +470 -519
  28. package/dist/ai/conversation.js +241 -227
  29. package/dist/ai/index.js +181 -167
  30. package/dist/ai/types.js +0 -1
  31. package/dist/composed/activity-feed.js +232 -202
  32. package/dist/composed/avatar-group.js +164 -222
  33. package/dist/composed/bulk-action-bar.js +174 -165
  34. package/dist/composed/command-palette.js +290 -308
  35. package/dist/composed/confirm-dialog.js +28 -48
  36. package/dist/composed/content-card.js +69 -108
  37. package/dist/composed/date-picker/index.js +3 -13
  38. package/dist/composed/deadline-indicator.js +68 -74
  39. package/dist/composed/emoji-picker.js +83 -110
  40. package/dist/composed/empty-state.js +64 -103
  41. package/dist/composed/error-boundary.js +129 -127
  42. package/dist/composed/file-preview.js +2 -12
  43. package/dist/composed/filter-bar.js +98 -130
  44. package/dist/composed/form-section.js +61 -45
  45. package/dist/composed/global-loading.js +34 -47
  46. package/dist/composed/index.js +34 -92
  47. package/dist/composed/inline-edit.js +92 -107
  48. package/dist/composed/lib/string-utils.js +8 -8
  49. package/dist/composed/loading-skeleton.js +103 -171
  50. package/dist/composed/markdown-viewer.js +187 -139
  51. package/dist/composed/master-detail.js +147 -156
  52. package/dist/composed/member-picker.js +46 -49
  53. package/dist/composed/multi-select-popover.js +181 -179
  54. package/dist/composed/page-header.js +54 -76
  55. package/dist/composed/page-skeletons.js +143 -127
  56. package/dist/composed/priority-indicator.js +105 -111
  57. package/dist/composed/responsive-overlay.js +36 -41
  58. package/dist/composed/rich-chat-input.js +2 -1860
  59. package/dist/composed/rich-text-editor.js +561 -424
  60. package/dist/composed/schedule-view.js +134 -185
  61. package/dist/composed/simple-tooltip.js +21 -21
  62. package/dist/composed/status-badge.js +133 -137
  63. package/dist/hooks/index.js +7 -12
  64. package/dist/hooks/use-color-mode.js +28 -25
  65. package/dist/hooks/use-mobile.js +13 -13
  66. package/dist/hooks/use-toast.js +2 -4
  67. package/dist/hooks/use-touch-device.js +9 -11
  68. package/dist/hooks/use-viewport-height.js +14 -14
  69. package/dist/motion/index.js +3 -11
  70. package/dist/motion/primitives-index.js +226 -186
  71. package/dist/shell/app-command-palette.js +203 -234
  72. package/dist/shell/bottom-navbar.js +150 -190
  73. package/dist/shell/command-registry.js +13 -14
  74. package/dist/shell/index.js +10 -20
  75. package/dist/shell/link-context.js +2 -5
  76. package/dist/shell/notification-center.js +238 -259
  77. package/dist/shell/notification-preferences.js +241 -184
  78. package/dist/shell/sidebar.js +251 -281
  79. package/dist/shell/top-bar.js +203 -237
  80. package/dist/tailwind/index.cjs +426 -442
  81. package/dist/tailwind/index.js +2 -4
  82. package/dist/tailwind/preset.js +443 -459
  83. package/dist/ui/accordion.js +52 -60
  84. package/dist/ui/alert-dialog.js +111 -156
  85. package/dist/ui/alert.js +177 -99
  86. package/dist/ui/aspect-ratio.js +13 -16
  87. package/dist/ui/autocomplete.js +112 -148
  88. package/dist/ui/avatar.js +196 -169
  89. package/dist/ui/badge-group.js +2 -7
  90. package/dist/ui/badge-indicator.js +42 -51
  91. package/dist/ui/badge.js +2 -15
  92. package/dist/ui/banner.js +76 -68
  93. package/dist/ui/breadcrumb.js +65 -84
  94. package/dist/ui/button-group.js +109 -102
  95. package/dist/ui/button-processing.js +69 -73
  96. package/dist/ui/button.js +393 -279
  97. package/dist/ui/card.js +151 -157
  98. package/dist/ui/charts/index.js +1002 -1319
  99. package/dist/ui/chat/index.js +2 -11
  100. package/dist/ui/checkbox.js +77 -100
  101. package/dist/ui/code.js +18 -32
  102. package/dist/ui/collapsible.js +21 -29
  103. package/dist/ui/color-input.js +453 -372
  104. package/dist/ui/color-swatch.js +60 -90
  105. package/dist/ui/combobox.js +244 -293
  106. package/dist/ui/container.js +18 -24
  107. package/dist/ui/context-menu.js +154 -203
  108. package/dist/ui/data-table-body.js +116 -213
  109. package/dist/ui/data-table-bulk-actions.js +43 -59
  110. package/dist/ui/data-table-card.js +84 -71
  111. package/dist/ui/data-table-context.js +39 -42
  112. package/dist/ui/data-table-header.js +98 -139
  113. package/dist/ui/data-table-pagination.js +69 -82
  114. package/dist/ui/data-table-toolbar.js +104 -130
  115. package/dist/ui/data-table.js +278 -354
  116. package/dist/ui/devalok-grain.js +77 -66
  117. package/dist/ui/dialog.js +122 -151
  118. package/dist/ui/dropdown-menu.js +152 -203
  119. package/dist/ui/file-upload.js +242 -266
  120. package/dist/ui/form.js +60 -56
  121. package/dist/ui/hover-card.js +54 -54
  122. package/dist/ui/icon-button.js +21 -26
  123. package/dist/ui/icon-context.js +17 -17
  124. package/dist/ui/icon-group.js +22 -29
  125. package/dist/ui/icon.js +201 -121
  126. package/dist/ui/index.js +74 -350
  127. package/dist/ui/input-otp.js +44 -48
  128. package/dist/ui/input.js +92 -169
  129. package/dist/ui/label.js +17 -22
  130. package/dist/ui/lib/date-utils.js +14 -11
  131. package/dist/ui/lib/motion.js +77 -36
  132. package/dist/ui/lib/utils.js +39 -16
  133. package/dist/ui/link.js +13 -24
  134. package/dist/ui/menubar.js +132 -210
  135. package/dist/ui/navigation-menu.js +163 -193
  136. package/dist/ui/number-input.js +72 -95
  137. package/dist/ui/pagination.js +122 -159
  138. package/dist/ui/popover.js +2 -131
  139. package/dist/ui/progress-ring.js +133 -143
  140. package/dist/ui/progress.js +51 -95
  141. package/dist/ui/radio.js +41 -50
  142. package/dist/ui/search-input.js +51 -53
  143. package/dist/ui/segmented-control.js +93 -114
  144. package/dist/ui/select.js +131 -157
  145. package/dist/ui/separator.js +15 -25
  146. package/dist/ui/sheet.js +135 -163
  147. package/dist/ui/sidebar.js +357 -600
  148. package/dist/ui/skeleton.js +179 -231
  149. package/dist/ui/slider.js +24 -34
  150. package/dist/ui/spinner.js +226 -205
  151. package/dist/ui/split-button.js +227 -276
  152. package/dist/ui/stack.js +56 -70
  153. package/dist/ui/stat-card.js +259 -251
  154. package/dist/ui/status-dot.js +67 -63
  155. package/dist/ui/stepper.js +119 -168
  156. package/dist/ui/switch.js +51 -54
  157. package/dist/ui/table.js +57 -90
  158. package/dist/ui/tabs.js +139 -156
  159. package/dist/ui/text.js +52 -59
  160. package/dist/ui/textarea.js +40 -57
  161. package/dist/ui/toast-types.js +0 -1
  162. package/dist/ui/toast.js +554 -536
  163. package/dist/ui/toaster.js +23 -33
  164. package/dist/ui/toggle-group.js +37 -41
  165. package/dist/ui/toggle.js +36 -40
  166. package/dist/ui/tooltip.js +80 -65
  167. package/dist/ui/tree-view/index.js +2 -6
  168. package/dist/ui/visually-hidden.js +12 -10
  169. package/llms-full.txt +1 -1
  170. package/package.json +1 -1
  171. package/dist/_chunks/date-time-picker.js +0 -851
  172. package/dist/_chunks/typing-indicator.js +0 -565
@@ -1,356 +1,280 @@
1
1
  "use client";
2
- import { jsx as l, jsxs as G } from "react/jsx-runtime";
3
- import { useState as a, useEffect as m, useRef as b, useCallback as K, useMemo as ue } from "react";
4
- import { useReactTable as Je, getExpandedRowModel as Qe, getPaginationRowModel as Ue, getFilteredRowModel as We, getSortedRowModel as Xe, getCoreRowModel as Ze } from "@tanstack/react-table";
5
- import { useVirtualizer as ve } from "@tanstack/react-virtual";
6
- import { IconSearch as et, IconChevronRight as tt } from "@tabler/icons-react";
7
- import { Icon as me } from "./icon.js";
8
- import { Table as nt } from "./table.js";
9
- import { Checkbox as he } from "./checkbox.js";
10
- import { cn as L } from "./lib/utils.js";
11
- import { DataTableToolbar as ot } from "./data-table-toolbar.js";
12
- import { densityPaddingMap as lt, DataTableProvider as at } from "./data-table-context.js";
13
- import { DataTableHeader as st } from "./data-table-header.js";
14
- import { DataTableBody as ct } from "./data-table-body.js";
15
- import { DataTableCards as it } from "./data-table-card.js";
16
- import { DataTablePagination as rt } from "./data-table-pagination.js";
17
- import { DataTableBulkActions as dt } from "./data-table-bulk-actions.js";
18
- function gt({
19
- columns: Ce,
20
- data: i,
21
- className: pe,
22
- noResultsText: q,
23
- sortable: h = !1,
24
- filterable: w = !1,
25
- globalFilter: y = !1,
26
- paginated: Se = !1,
27
- pageSize: P,
28
- pageSizeOptions: xe,
29
- selectable: s = !1,
30
- onSelectionChange: z,
31
- toolbar: Y = !1,
32
- density: be = "standard",
33
- columnPinning: $,
34
- editable: A = !1,
35
- onCellEdit: J,
36
- expandable: C = !1,
37
- renderExpanded: Q,
38
- virtualRows: f = !1,
39
- virtualRowHeight: we = 48,
40
- maxHeight: ye = 600,
41
- onSort: p,
42
- emptyState: U,
43
- loading: W = !1,
44
- selectedIds: M,
45
- selectableFilter: X,
46
- getRowId: c,
47
- pagination: o,
48
- singleExpand: I = !1,
49
- stickyHeader: Re = !1,
50
- onRowClick: Z,
51
- bulkActions: R,
52
- mobileView: T = "table"
53
- }) {
54
- const [ze, v] = a(!1);
55
- m(() => {
56
- const e = window.matchMedia("(max-width: 639px)"), t = () => v(e.matches);
57
- return e.addEventListener("change", t), v(e.matches), () => e.removeEventListener("change", t);
58
- }, []);
59
- const Me = T === "card" && ze, [Ie, ee] = a([]), [Te, De] = a([]), [D, E] = a(""), [Ee, F] = a({
60
- pageIndex: o ? o.page - 1 : 0,
61
- pageSize: o?.pageSize ?? P ?? 10
62
- }), [r, te] = a({}), [Fe, je] = a({}), [j, ke] = a({
63
- left: $?.left ?? [],
64
- right: $?.right ?? []
65
- }), [ne, Ne] = a(be), [oe, Ve] = a(null), [He, le] = a({}), ae = b(null), k = b(!1);
66
- m(() => {
67
- if (M) {
68
- k.current = !0;
69
- const e = {};
70
- M.forEach((t) => {
71
- e[t] = !0;
72
- }), te(e);
73
- }
74
- }, [M]), m(() => {
75
- o && F((e) => ({
76
- ...e,
77
- pageIndex: o.page - 1,
78
- pageSize: o.pageSize
79
- }));
80
- }, [o?.page, o?.pageSize]);
81
- const Be = K(
82
- (e) => {
83
- ee((t) => {
84
- const n = typeof e == "function" ? e(t) : e;
85
- return p && (n.length === 0 && t.length > 0 ? p(t[0].id, !1) : n.length > 0 && p(n[0].id, n[0].desc ? "desc" : "asc")), n;
86
- });
87
- },
88
- [p]
89
- ), Oe = K(
90
- (e) => {
91
- le((t) => {
92
- const n = typeof e == "function" ? e(t) : e;
93
- if (!I || n === !0 || typeof n != "object") return n;
94
- const u = typeof t == "object" ? Object.keys(t).filter((x) => t[x]) : [], _ = Object.keys(n).filter((x) => n[x]).filter((x) => !u.includes(x));
95
- return _.length > 0 ? { [_[_.length - 1]]: !0 } : n;
96
- });
97
- },
98
- [I]
99
- ), N = b(o?.onPageChange);
100
- m(() => {
101
- N.current = o?.onPageChange;
102
- }, [o?.onPageChange]);
103
- const _e = K(
104
- (e) => {
105
- F((t) => {
106
- const n = typeof e == "function" ? e(t) : e;
107
- return N.current && n.pageIndex !== t.pageIndex && N.current(n.pageIndex + 1), n;
108
- });
109
- },
110
- []
111
- ), Ge = {
112
- id: "_select",
113
- header: ({ table: e }) => /* @__PURE__ */ l(
114
- he,
115
- {
116
- size: "sm",
117
- checked: e.getIsAllPageRowsSelected(),
118
- indeterminate: e.getIsSomePageRowsSelected(),
119
- onCheckedChange: (t) => e.toggleAllPageRowsSelected(!!t),
120
- "aria-label": "Select all rows"
121
- }
122
- ),
123
- cell: ({ row: e }) => /* @__PURE__ */ l(
124
- he,
125
- {
126
- size: "sm",
127
- checked: e.getIsSelected(),
128
- disabled: !e.getCanSelect(),
129
- onCheckedChange: (t) => e.toggleSelected(!!t),
130
- "aria-label": "Select row"
131
- }
132
- ),
133
- enableSorting: !1,
134
- enableColumnFilter: !1,
135
- enableHiding: !1
136
- }, Ke = {
137
- id: "_expand",
138
- header: () => null,
139
- cell: ({ row: e }) => /* @__PURE__ */ l(
140
- "button",
141
- {
142
- type: "button",
143
- onClick: () => e.toggleExpanded(),
144
- "aria-label": e.getIsExpanded() ? "Collapse row" : "Expand row",
145
- className: "flex items-center justify-center p-ds-01 rounded-ds-sm hover:bg-surface-raised transition-colors",
146
- children: /* @__PURE__ */ l(
147
- me,
148
- {
149
- icon: tt,
150
- size: "sm",
151
- className: L(
152
- "transition-transform duration-moderate-02",
153
- e.getIsExpanded() && "rotate-90"
154
- )
155
- }
156
- )
157
- }
158
- ),
159
- enableSorting: !1,
160
- enableColumnFilter: !1,
161
- enableHiding: !1
162
- }, V = [
163
- ...s ? [Ge] : [],
164
- ...C ? [Ke] : [],
165
- ...Ce
166
- ], S = !!o, H = Se || S, d = {
167
- columnVisibility: Fe,
168
- columnPinning: j
169
- };
170
- h && (d.sorting = Ie), (w || y) && (d.columnFilters = Te, d.globalFilter = D), H && (d.pagination = Ee), s && (d.rowSelection = r), C && (d.expanded = He);
171
- const se = h && !!p, g = Je({
172
- data: i,
173
- columns: V,
174
- state: d,
175
- onColumnVisibilityChange: je,
176
- onColumnPinningChange: ke,
177
- getCoreRowModel: Ze(),
178
- ...h && {
179
- onSortingChange: se ? Be : ee,
180
- ...se ? { manualSorting: !0 } : { getSortedRowModel: Xe() }
181
- },
182
- ...(w || y) && {
183
- onColumnFiltersChange: De,
184
- onGlobalFilterChange: E,
185
- getFilteredRowModel: We()
186
- },
187
- ...H && {
188
- onPaginationChange: S ? _e : F,
189
- ...S ? {
190
- manualPagination: !0,
191
- pageCount: Math.ceil(
192
- o.total / o.pageSize
193
- )
194
- } : { getPaginationRowModel: Ue() }
195
- },
196
- ...s && {
197
- onRowSelectionChange: te,
198
- enableRowSelection: X ? (e) => X(e.original) : !0
199
- },
200
- ...C && {
201
- onExpandedChange: I ? Oe : le,
202
- getExpandedRowModel: Qe()
203
- },
204
- ...c && {
205
- getRowId: (e) => c(e)
206
- }
207
- }), B = b(z), O = b(c);
208
- m(() => {
209
- B.current = z, O.current = c;
210
- }, [z, c]), m(() => {
211
- if (k.current) {
212
- k.current = !1;
213
- return;
214
- }
215
- if (!B.current) return;
216
- const e = Object.keys(r).filter((n) => r[n]), t = i.filter((n, u) => {
217
- const fe = O.current ? O.current(i[u]) : String(u);
218
- return e.includes(fe);
219
- });
220
- B.current(t);
221
- }, [r, i]);
222
- const ce = lt[ne], Le = g.getRowModel().rows, ie = ve({
223
- count: f ? Le.length : 0,
224
- getScrollElement: () => ae.current,
225
- estimateSize: () => we,
226
- overscan: 10
227
- }), re = o?.pageSize ?? P ?? 5, de = ue(() => {
228
- if (!R || !s) return [];
229
- const e = Object.keys(r).filter((t) => r[t]);
230
- return i.filter((t, n) => {
231
- const u = c ? c(i[n]) : String(n);
232
- return e.includes(u);
233
- });
234
- }, [R, s, r, i, c]), qe = de.length > 0, Pe = S ? o.total : g.getFilteredRowModel().rows.length, Ye = ue(
235
- () => ({
236
- table: g,
237
- allColumns: V.map((e) => ({
238
- id: e.id,
239
- header: e.header
240
- })),
241
- cellPadding: ce,
242
- columnPinningState: j,
243
- sortable: h,
244
- filterable: w,
245
- editable: A,
246
- expandable: C,
247
- virtualRows: f,
248
- selectable: s,
249
- mobileView: T,
250
- editingCell: oe,
251
- setEditingCell: Ve,
252
- onCellEdit: J,
253
- renderExpanded: Q,
254
- onRowClick: Z
255
- }),
256
- // eslint-disable-next-line react-hooks/exhaustive-deps
257
- [
258
- g,
259
- V.length,
260
- ce,
261
- j,
262
- h,
263
- w,
264
- A,
265
- C,
266
- f,
267
- s,
268
- T,
269
- oe,
270
- J,
271
- Q,
272
- Z
273
- ]
274
- ), $e = f ? ie.getVirtualItems() : void 0, Ae = f ? ie.getTotalSize() : void 0, ge = /* @__PURE__ */ G(nt, { children: [
275
- /* @__PURE__ */ l(st, { stickyHeader: Re }),
276
- /* @__PURE__ */ l(
277
- ct,
278
- {
279
- loading: W,
280
- skeletonRowCount: re,
281
- noResultsText: q,
282
- emptyState: U,
283
- virtualItems: $e,
284
- totalVirtualSize: Ae
285
- }
286
- )
287
- ] });
288
- return /* @__PURE__ */ l(at, { value: Ye, children: /* @__PURE__ */ G("div", { className: L(pe), children: [
289
- Y && /* @__PURE__ */ l(
290
- ot,
291
- {
292
- table: g,
293
- globalFilter: y,
294
- globalFilterValue: D,
295
- onGlobalFilterChange: E,
296
- density: ne,
297
- onDensityChange: Ne
298
- }
299
- ),
300
- y && !Y && /* @__PURE__ */ G("div", { className: "flex items-center gap-ds-03 pb-ds-04 border-b border-surface-border mb-ds-04", children: [
301
- /* @__PURE__ */ l(me, { icon: et, size: "sm", className: "text-surface-fg-subtle" }),
302
- /* @__PURE__ */ l(
303
- "input",
304
- {
305
- type: "text",
306
- value: D,
307
- onChange: (e) => E(e.target.value),
308
- placeholder: "Search all columns...",
309
- "aria-label": "Search all columns",
310
- className: L(
311
- "flex-1 bg-transparent text-ds-md",
312
- "text-surface-fg placeholder:text-surface-fg-subtle",
313
- "outline-hidden"
314
- )
315
- }
316
- )
317
- ] }),
318
- Me ? /* @__PURE__ */ l(
319
- it,
320
- {
321
- loading: W,
322
- skeletonRowCount: re,
323
- noResultsText: q,
324
- emptyState: U
325
- }
326
- ) : f ? /* @__PURE__ */ l(
327
- "div",
328
- {
329
- ref: ae,
330
- style: { maxHeight: `${ye}px`, overflowY: "auto" },
331
- children: ge
332
- }
333
- ) : ge,
334
- H && /* @__PURE__ */ l(
335
- rt,
336
- {
337
- table: g,
338
- totalRowCount: Pe,
339
- useServerPagination: S,
340
- pageSizeOptions: xe
341
- }
342
- ),
343
- R && s && qe && /* @__PURE__ */ l(
344
- dt,
345
- {
346
- table: g,
347
- selectedRows: de,
348
- bulkActions: R
349
- }
350
- )
351
- ] }) });
2
+ import { cn as e } from "./lib/utils.js";
3
+ import { Icon as t } from "./icon.js";
4
+ import { Checkbox as n } from "./checkbox.js";
5
+ import { Table as r } from "./table.js";
6
+ import { DataTableProvider as i, densityPaddingMap as ee } from "./data-table-context.js";
7
+ import { DataTableBody as te } from "./data-table-body.js";
8
+ import { DataTableBulkActions as ne } from "./data-table-bulk-actions.js";
9
+ import { DataTableCards as re } from "./data-table-card.js";
10
+ import { DataTableHeader as ie } from "./data-table-header.js";
11
+ import { DataTablePagination as ae } from "./data-table-pagination.js";
12
+ import { DataTableToolbar as oe } from "./data-table-toolbar.js";
13
+ import { useCallback as a, useEffect as o, useMemo as se, useRef as s, useState as c } from "react";
14
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
15
+ import { IconChevronRight as ce, IconSearch as le } from "@tabler/icons-react";
16
+ import { getCoreRowModel as ue, getExpandedRowModel as de, getFilteredRowModel as fe, getPaginationRowModel as pe, getSortedRowModel as me, useReactTable as he } from "@tanstack/react-table";
17
+ import { useVirtualizer as ge } from "@tanstack/react-virtual";
18
+ //#region src/ui/data-table.tsx
19
+ function d({ columns: d, data: f, className: _e, noResultsText: p, sortable: m = !1, filterable: h = !1, globalFilter: g = !1, paginated: ve = !1, pageSize: _, pageSizeOptions: ye, selectable: v = !1, onSelectionChange: y, toolbar: be = !1, density: xe = "standard", columnPinning: Se, editable: Ce = !1, onCellEdit: b, expandable: x = !1, renderExpanded: S, virtualRows: C = !1, virtualRowHeight: we = 48, maxHeight: Te = 600, onSort: w, emptyState: T, loading: Ee = !1, selectedIds: E, selectableFilter: De, getRowId: D, pagination: O, singleExpand: k = !1, stickyHeader: Oe = !1, onRowClick: A, bulkActions: j, mobileView: M = "table" }) {
20
+ let [ke, N] = c(!1);
21
+ o(() => {
22
+ let e = window.matchMedia("(max-width: 639px)"), t = () => N(e.matches);
23
+ return e.addEventListener("change", t), N(e.matches), () => e.removeEventListener("change", t);
24
+ }, []);
25
+ let Ae = M === "card" && ke, [je, P] = c([]), [Me, Ne] = c([]), [F, I] = c(""), [Pe, L] = c({
26
+ pageIndex: O ? O.page - 1 : 0,
27
+ pageSize: O?.pageSize ?? _ ?? 10
28
+ }), [R, z] = c({}), [Fe, Ie] = c({}), [B, Le] = c({
29
+ left: Se?.left ?? [],
30
+ right: Se?.right ?? []
31
+ }), [V, Re] = c(xe), [H, ze] = c(null), [Be, U] = c({}), W = s(null), G = s(!1);
32
+ o(() => {
33
+ if (E) {
34
+ G.current = !0;
35
+ let e = {};
36
+ E.forEach((t) => {
37
+ e[t] = !0;
38
+ }), z(e);
39
+ }
40
+ }, [E]), o(() => {
41
+ O && L((e) => ({
42
+ ...e,
43
+ pageIndex: O.page - 1,
44
+ pageSize: O.pageSize
45
+ }));
46
+ }, [O?.page, O?.pageSize]);
47
+ let Ve = a((e) => {
48
+ P((t) => {
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;
51
+ });
52
+ }, [w]), He = a((e) => {
53
+ U((t) => {
54
+ let n = typeof e == "function" ? e(t) : e;
55
+ if (!k || n === !0 || typeof n != "object") return n;
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
+ return i.length > 0 ? { [i[i.length - 1]]: !0 } : n;
58
+ });
59
+ }, [k]), K = s(O?.onPageChange);
60
+ o(() => {
61
+ K.current = O?.onPageChange;
62
+ }, [O?.onPageChange]);
63
+ let Ue = a((e) => {
64
+ L((t) => {
65
+ let n = typeof e == "function" ? e(t) : e;
66
+ return K.current && n.pageIndex !== t.pageIndex && K.current(n.pageIndex + 1), n;
67
+ });
68
+ }, []), We = {
69
+ id: "_select",
70
+ header: ({ table: e }) => /* @__PURE__ */ l(n, {
71
+ size: "sm",
72
+ checked: e.getIsAllPageRowsSelected(),
73
+ indeterminate: e.getIsSomePageRowsSelected(),
74
+ onCheckedChange: (t) => e.toggleAllPageRowsSelected(!!t),
75
+ "aria-label": "Select all rows"
76
+ }),
77
+ cell: ({ row: e }) => /* @__PURE__ */ l(n, {
78
+ size: "sm",
79
+ checked: e.getIsSelected(),
80
+ disabled: !e.getCanSelect(),
81
+ onCheckedChange: (t) => e.toggleSelected(!!t),
82
+ "aria-label": "Select row"
83
+ }),
84
+ enableSorting: !1,
85
+ enableColumnFilter: !1,
86
+ enableHiding: !1
87
+ }, Ge = {
88
+ id: "_expand",
89
+ header: () => null,
90
+ cell: ({ row: n }) => /* @__PURE__ */ l("button", {
91
+ type: "button",
92
+ onClick: () => n.toggleExpanded(),
93
+ "aria-label": n.getIsExpanded() ? "Collapse row" : "Expand row",
94
+ className: "flex items-center justify-center p-ds-01 rounded-ds-sm hover:bg-surface-raised transition-colors",
95
+ children: /* @__PURE__ */ l(t, {
96
+ icon: ce,
97
+ size: "sm",
98
+ className: e("transition-transform duration-moderate-02", n.getIsExpanded() && "rotate-90")
99
+ })
100
+ }),
101
+ enableSorting: !1,
102
+ enableColumnFilter: !1,
103
+ enableHiding: !1
104
+ }, q = [
105
+ ...v ? [We] : [],
106
+ ...x ? [Ge] : [],
107
+ ...d
108
+ ], J = !!O, Y = ve || J, X = {
109
+ columnVisibility: Fe,
110
+ columnPinning: B
111
+ };
112
+ m && (X.sorting = je), (h || g) && (X.columnFilters = Me, X.globalFilter = F), Y && (X.pagination = Pe), v && (X.rowSelection = R), x && (X.expanded = Be);
113
+ let Ke = m && !!w, Z = he({
114
+ data: f,
115
+ columns: q,
116
+ state: X,
117
+ onColumnVisibilityChange: Ie,
118
+ onColumnPinningChange: Le,
119
+ getCoreRowModel: ue(),
120
+ ...m && {
121
+ onSortingChange: Ke ? Ve : P,
122
+ ...Ke ? { manualSorting: !0 } : { getSortedRowModel: me() }
123
+ },
124
+ ...(h || g) && {
125
+ onColumnFiltersChange: Ne,
126
+ onGlobalFilterChange: I,
127
+ getFilteredRowModel: fe()
128
+ },
129
+ ...Y && {
130
+ onPaginationChange: J ? Ue : L,
131
+ ...J ? {
132
+ manualPagination: !0,
133
+ pageCount: Math.ceil(O.total / O.pageSize)
134
+ } : { getPaginationRowModel: pe() }
135
+ },
136
+ ...v && {
137
+ onRowSelectionChange: z,
138
+ enableRowSelection: De ? (e) => De(e.original) : !0
139
+ },
140
+ ...x && {
141
+ onExpandedChange: k ? He : U,
142
+ getExpandedRowModel: de()
143
+ },
144
+ ...D && { getRowId: (e) => D(e) }
145
+ }), Q = s(y), $ = s(D);
146
+ o(() => {
147
+ Q.current = y, $.current = D;
148
+ }, [y, D]), o(() => {
149
+ if (G.current) {
150
+ G.current = !1;
151
+ return;
152
+ }
153
+ if (!Q.current) return;
154
+ let e = Object.keys(R).filter((e) => R[e]), t = f.filter((t, n) => {
155
+ let r = $.current ? $.current(f[n]) : String(n);
156
+ return e.includes(r);
157
+ });
158
+ Q.current(t);
159
+ }, [R, f]);
160
+ let qe = ee[V], Je = Z.getRowModel().rows, Ye = ge({
161
+ count: C ? Je.length : 0,
162
+ getScrollElement: () => W.current,
163
+ estimateSize: () => we,
164
+ overscan: 10
165
+ }), Xe = O?.pageSize ?? _ ?? 5, Ze = se(() => {
166
+ if (!j || !v) return [];
167
+ let e = Object.keys(R).filter((e) => R[e]);
168
+ return f.filter((t, n) => {
169
+ let r = D ? D(f[n]) : String(n);
170
+ return e.includes(r);
171
+ });
172
+ }, [
173
+ j,
174
+ v,
175
+ R,
176
+ f,
177
+ D
178
+ ]), Qe = Ze.length > 0, $e = J ? O.total : Z.getFilteredRowModel().rows.length, et = se(() => ({
179
+ table: Z,
180
+ allColumns: q.map((e) => ({
181
+ id: e.id,
182
+ header: e.header
183
+ })),
184
+ cellPadding: qe,
185
+ columnPinningState: B,
186
+ sortable: m,
187
+ filterable: h,
188
+ editable: Ce,
189
+ expandable: x,
190
+ virtualRows: C,
191
+ selectable: v,
192
+ mobileView: M,
193
+ editingCell: H,
194
+ setEditingCell: ze,
195
+ onCellEdit: b,
196
+ renderExpanded: S,
197
+ onRowClick: A
198
+ }), [
199
+ Z,
200
+ q.length,
201
+ qe,
202
+ B,
203
+ m,
204
+ h,
205
+ Ce,
206
+ x,
207
+ C,
208
+ v,
209
+ M,
210
+ H,
211
+ b,
212
+ S,
213
+ A
214
+ ]), tt = C ? Ye.getVirtualItems() : void 0, nt = C ? Ye.getTotalSize() : void 0, rt = /* @__PURE__ */ u(r, { children: [/* @__PURE__ */ l(ie, { stickyHeader: Oe }), /* @__PURE__ */ l(te, {
215
+ loading: Ee,
216
+ skeletonRowCount: Xe,
217
+ noResultsText: p,
218
+ emptyState: T,
219
+ virtualItems: tt,
220
+ totalVirtualSize: nt
221
+ })] });
222
+ return /* @__PURE__ */ l(i, {
223
+ value: et,
224
+ children: /* @__PURE__ */ u("div", {
225
+ className: e(_e),
226
+ children: [
227
+ be && /* @__PURE__ */ l(oe, {
228
+ table: Z,
229
+ globalFilter: g,
230
+ globalFilterValue: F,
231
+ onGlobalFilterChange: I,
232
+ density: V,
233
+ onDensityChange: Re
234
+ }),
235
+ g && !be && /* @__PURE__ */ u("div", {
236
+ className: "flex items-center gap-ds-03 pb-ds-04 border-b border-surface-border mb-ds-04",
237
+ children: [/* @__PURE__ */ l(t, {
238
+ icon: le,
239
+ size: "sm",
240
+ className: "text-surface-fg-subtle"
241
+ }), /* @__PURE__ */ l("input", {
242
+ type: "text",
243
+ value: F,
244
+ onChange: (e) => I(e.target.value),
245
+ placeholder: "Search all columns...",
246
+ "aria-label": "Search all columns",
247
+ className: e("flex-1 bg-transparent text-ds-md", "text-surface-fg placeholder:text-surface-fg-subtle", "outline-hidden")
248
+ })]
249
+ }),
250
+ Ae ? /* @__PURE__ */ l(re, {
251
+ loading: Ee,
252
+ skeletonRowCount: Xe,
253
+ noResultsText: p,
254
+ emptyState: T
255
+ }) : C ? /* @__PURE__ */ l("div", {
256
+ ref: W,
257
+ style: {
258
+ maxHeight: `${Te}px`,
259
+ overflowY: "auto"
260
+ },
261
+ children: rt
262
+ }) : rt,
263
+ Y && /* @__PURE__ */ l(ae, {
264
+ table: Z,
265
+ totalRowCount: $e,
266
+ useServerPagination: J,
267
+ pageSizeOptions: ye
268
+ }),
269
+ j && v && Qe && /* @__PURE__ */ l(ne, {
270
+ table: Z,
271
+ selectedRows: Ze,
272
+ bulkActions: j
273
+ })
274
+ ]
275
+ })
276
+ });
352
277
  }
353
- gt.displayName = "DataTable";
354
- export {
355
- gt as DataTable
356
- };
278
+ d.displayName = "DataTable";
279
+ //#endregion
280
+ export { d as DataTable };