@optimum-intelligence/opti-ui 0.2.0 → 0.4.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 (136) hide show
  1. package/README.md +105 -3
  2. package/dist/components/accordion/Accordion.d.ts +12 -0
  3. package/dist/components/accordion/Accordion.js +12 -0
  4. package/dist/components/accordion/Accordion.js.map +1 -1
  5. package/dist/components/alert/Alert.d.ts +4 -0
  6. package/dist/components/alert/Alert.js.map +1 -1
  7. package/dist/components/app-shell/AppShell.d.ts +22 -0
  8. package/dist/components/app-shell/AppShell.js +6 -0
  9. package/dist/components/app-shell/AppShell.js.map +1 -1
  10. package/dist/components/avatar/Avatar.d.ts +8 -0
  11. package/dist/components/avatar/Avatar.js +2 -0
  12. package/dist/components/avatar/Avatar.js.map +1 -1
  13. package/dist/components/badge/Badge.d.ts +9 -0
  14. package/dist/components/badge/Badge.js +6 -0
  15. package/dist/components/badge/Badge.js.map +1 -1
  16. package/dist/components/breadcrumbs/Breadcrumbs.d.ts +1 -0
  17. package/dist/components/breadcrumbs/Breadcrumbs.js.map +1 -1
  18. package/dist/components/button/Button.d.ts +8 -0
  19. package/dist/components/button/Button.js +6 -0
  20. package/dist/components/button/Button.js.map +1 -1
  21. package/dist/components/calendar/Calendar.d.ts +3 -0
  22. package/dist/components/calendar/Calendar.js.map +1 -1
  23. package/dist/components/card/Card.d.ts +14 -1
  24. package/dist/components/card/Card.js +13 -0
  25. package/dist/components/card/Card.js.map +1 -1
  26. package/dist/components/choice/Choice.d.ts +13 -0
  27. package/dist/components/choice/Choice.js +10 -0
  28. package/dist/components/choice/Choice.js.map +1 -1
  29. package/dist/components/combobox/Combobox.d.ts +12 -0
  30. package/dist/components/combobox/Combobox.js.map +1 -1
  31. package/dist/components/command-palette/CommandPalette.d.ts +10 -0
  32. package/dist/components/command-palette/CommandPalette.js.map +1 -1
  33. package/dist/components/data-table/DataTable.d.ts +62 -96
  34. package/dist/components/data-table/DataTable.js +452 -418
  35. package/dist/components/data-table/DataTable.js.map +1 -1
  36. package/dist/components/data-table/DataTableContent.d.ts +36 -0
  37. package/dist/components/data-table/DataTableContent.js +550 -0
  38. package/dist/components/data-table/DataTableContent.js.map +1 -0
  39. package/dist/components/data-table/DataTableFilters.d.ts +18 -0
  40. package/dist/components/data-table/DataTableFilters.js +284 -0
  41. package/dist/components/data-table/DataTableFilters.js.map +1 -0
  42. package/dist/components/data-table/DataTableRow.d.ts +33 -0
  43. package/dist/components/data-table/DataTableRow.js +552 -0
  44. package/dist/components/data-table/DataTableRow.js.map +1 -0
  45. package/dist/components/data-table/context.d.ts +5 -0
  46. package/dist/components/data-table/context.js +14 -0
  47. package/dist/components/data-table/context.js.map +1 -0
  48. package/dist/components/data-table/layout.d.ts +60 -0
  49. package/dist/components/data-table/layout.js +272 -0
  50. package/dist/components/data-table/layout.js.map +1 -0
  51. package/dist/components/data-table/types.d.ts +335 -0
  52. package/dist/components/data-table/useDataTable.d.ts +9 -0
  53. package/dist/components/data-table/useDataTable.js +666 -0
  54. package/dist/components/data-table/useDataTable.js.map +1 -0
  55. package/dist/components/date-picker/DateRangePicker.d.ts +1 -0
  56. package/dist/components/date-picker/DateRangePicker.js.map +1 -1
  57. package/dist/components/date-picker/PickerField.d.ts +13 -0
  58. package/dist/components/date-picker/PickerField.js.map +1 -1
  59. package/dist/components/dialog/Dialog.d.ts +5 -0
  60. package/dist/components/dialog/Dialog.js.map +1 -1
  61. package/dist/components/drawer/Drawer.d.ts +10 -0
  62. package/dist/components/drawer/Drawer.js.map +1 -1
  63. package/dist/components/empty-state/EmptyState.d.ts +5 -0
  64. package/dist/components/empty-state/EmptyState.js.map +1 -1
  65. package/dist/components/file-upload/FileUpload.d.ts +21 -0
  66. package/dist/components/file-upload/FileUpload.js.map +1 -1
  67. package/dist/components/input/Input.d.ts +7 -0
  68. package/dist/components/input/Input.js +3 -0
  69. package/dist/components/input/Input.js.map +1 -1
  70. package/dist/components/link/Link.d.ts +1 -0
  71. package/dist/components/link/Link.js.map +1 -1
  72. package/dist/components/menu/Menu.d.ts +6 -0
  73. package/dist/components/menu/Menu.js.map +1 -1
  74. package/dist/components/number-field/NumberField.d.ts +7 -0
  75. package/dist/components/number-field/NumberField.js.map +1 -1
  76. package/dist/components/pagination/Pagination.d.ts +4 -0
  77. package/dist/components/pagination/Pagination.js.map +1 -1
  78. package/dist/components/popover/Popover.d.ts +4 -0
  79. package/dist/components/popover/Popover.js.map +1 -1
  80. package/dist/components/preview-card/PreviewCard.d.ts +4 -0
  81. package/dist/components/preview-card/PreviewCard.js.map +1 -1
  82. package/dist/components/progress/Progress.d.ts +8 -0
  83. package/dist/components/progress/Progress.js.map +1 -1
  84. package/dist/components/scroll-area/ScrollArea.d.ts +1 -0
  85. package/dist/components/scroll-area/ScrollArea.js.map +1 -1
  86. package/dist/components/search-input/SearchInput.d.ts +2 -0
  87. package/dist/components/search-input/SearchInput.js.map +1 -1
  88. package/dist/components/select/Select.d.ts +11 -0
  89. package/dist/components/select/Select.js.map +1 -1
  90. package/dist/components/separator/Separator.d.ts +1 -0
  91. package/dist/components/separator/Separator.js +1 -0
  92. package/dist/components/separator/Separator.js.map +1 -1
  93. package/dist/components/skeleton/Skeleton.d.ts +7 -0
  94. package/dist/components/skeleton/Skeleton.js +1 -0
  95. package/dist/components/skeleton/Skeleton.js.map +1 -1
  96. package/dist/components/slider/Slider.d.ts +1 -0
  97. package/dist/components/slider/Slider.js.map +1 -1
  98. package/dist/components/spinner/Spinner.d.ts +2 -0
  99. package/dist/components/spinner/Spinner.js +1 -0
  100. package/dist/components/spinner/Spinner.js.map +1 -1
  101. package/dist/components/stat-card/StatCard.d.ts +5 -1
  102. package/dist/components/stat-card/StatCard.js.map +1 -1
  103. package/dist/components/stepper/Stepper.d.ts +4 -0
  104. package/dist/components/stepper/Stepper.js.map +1 -1
  105. package/dist/components/table/Table.d.ts +23 -0
  106. package/dist/components/table/Table.js +17 -0
  107. package/dist/components/table/Table.js.map +1 -1
  108. package/dist/components/tabs/Tabs.d.ts +1 -0
  109. package/dist/components/tabs/Tabs.js.map +1 -1
  110. package/dist/components/tag/Tag.d.ts +3 -0
  111. package/dist/components/tag/Tag.js.map +1 -1
  112. package/dist/components/toast/Toast.d.ts +2 -0
  113. package/dist/components/toast/Toast.js.map +1 -1
  114. package/dist/components/toggle/Toggle.d.ts +7 -0
  115. package/dist/components/toggle/Toggle.js +1 -0
  116. package/dist/components/toggle/Toggle.js.map +1 -1
  117. package/dist/components/tooltip/Tooltip.d.ts +8 -0
  118. package/dist/components/tooltip/Tooltip.js.map +1 -1
  119. package/dist/components/typography/Typography.d.ts +5 -0
  120. package/dist/components/typography/Typography.js +2 -0
  121. package/dist/components/typography/Typography.js.map +1 -1
  122. package/dist/components.json +5375 -0
  123. package/dist/icons/index.d.ts +8 -0
  124. package/dist/icons/index.js +9 -1
  125. package/dist/icons/index.js.map +1 -1
  126. package/dist/index.d.ts +2 -0
  127. package/dist/index.js +4 -2
  128. package/dist/llms-full.txt +2590 -0
  129. package/dist/llms.txt +175 -0
  130. package/dist/opti-ui.css +494 -167
  131. package/dist/theme/ThemeProvider.d.ts +1 -0
  132. package/dist/theme/ThemeProvider.js.map +1 -1
  133. package/dist/utils/portal.d.ts +4 -0
  134. package/dist/utils/portal.js +4 -0
  135. package/dist/utils/portal.js.map +1 -1
  136. package/package.json +7 -3
@@ -0,0 +1,550 @@
1
+ "use client";
2
+ import { cx } from "../../utils/cx.js";
3
+ import { Skeleton } from "../skeleton/Skeleton.js";
4
+ import { Button } from "../button/Button.js";
5
+ import { Checkbox } from "../choice/Choice.js";
6
+ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "../table/Table.js";
7
+ import { useDataTableContext } from "./context.js";
8
+ import { EmptyState } from "../empty-state/EmptyState.js";
9
+ import { DataTableRow, SizerRow, isTextEditor } from "./DataTableRow.js";
10
+ import { pickSizerRows, useColumnLock, usePageHeight, useVirtualRows } from "./layout.js";
11
+ import { c } from "react/compiler-runtime";
12
+ import * as React from "react";
13
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
14
+ //#region src/components/data-table/DataTableContent.tsx
15
+ var ROW_ESTIMATE = {
16
+ compact: 35,
17
+ normal: 46,
18
+ comfortable: 55
19
+ };
20
+ /** The table itself, with its loading, empty and error states. */
21
+ function DataTableContent(t0) {
22
+ const $ = c(158);
23
+ const { density: t1, striped, stickyHeader, layout: t2, maxHeight, virtualized: t3, onEndReached, empty, tableProps } = t0;
24
+ const density = t1 === void 0 ? "normal" : t1;
25
+ const layout = t2 === void 0 ? "stable" : t2;
26
+ const virtualized = t3 === void 0 ? false : t3;
27
+ const table = useDataTableContext();
28
+ const { labels: text, visibleColumns: columns, loading, error } = table;
29
+ const [anchor, setAnchor] = React.useState(null);
30
+ const reported = React.useRef(-1);
31
+ const virtual = virtualized !== false;
32
+ let t4;
33
+ if ($[0] !== virtualized) {
34
+ t4 = typeof virtualized === "object" ? virtualized : {};
35
+ $[0] = virtualized;
36
+ $[1] = t4;
37
+ } else t4 = $[1];
38
+ const { rowHeight, overscan: t5 } = t4;
39
+ const overscan = t5 === void 0 ? 8 : t5;
40
+ const height = maxHeight ?? (virtual ? "32rem" : void 0);
41
+ const scrolls = height !== void 0;
42
+ const stable = layout === "stable" || virtual;
43
+ const hasActions = Boolean(table.rowActions) || table.editable || table.deletable;
44
+ const placeholders = table.pending ? Math.min(table.paginated ? table.pageSize : 5, 10) : 0;
45
+ const noMatch = table.mode === "server" ? table.filtered : table.totalCount > 0;
46
+ let t6;
47
+ if ($[2] !== columns) {
48
+ t6 = columns.find(isTextEditor)?.id;
49
+ $[2] = columns;
50
+ $[3] = t6;
51
+ } else t6 = $[3];
52
+ const focused = t6;
53
+ let t7;
54
+ if ($[4] !== error || $[5] !== table.pageRows) {
55
+ t7 = error ? [] : table.pageRows;
56
+ $[4] = error;
57
+ $[5] = table.pageRows;
58
+ $[6] = t7;
59
+ } else t7 = $[6];
60
+ const shown = t7;
61
+ const span = columns.length + Number(table.selectable) + Number(hasActions);
62
+ let t8;
63
+ if ($[7] !== columns || $[8] !== density || $[9] !== hasActions || $[10] !== table.selectable) {
64
+ t8 = [
65
+ density,
66
+ table.selectable,
67
+ hasActions,
68
+ ...columns.map(_temp)
69
+ ];
70
+ $[7] = columns;
71
+ $[8] = density;
72
+ $[9] = hasActions;
73
+ $[10] = table.selectable;
74
+ $[11] = t8;
75
+ } else t8 = $[11];
76
+ const columnKey = t8.join("|");
77
+ const { lock, measuring } = useColumnLock(anchor, stable, columnKey, shown.length > 0);
78
+ const t9 = ROW_ESTIMATE[density];
79
+ const t10 = typeof maxHeight === "number" ? maxHeight : 512;
80
+ let t11;
81
+ if ($[12] !== density || $[13] !== overscan || $[14] !== rowHeight || $[15] !== shown.length || $[16] !== t10 || $[17] !== t9 || $[18] !== virtual) {
82
+ t11 = {
83
+ enabled: virtual,
84
+ count: shown.length,
85
+ rowHeight,
86
+ overscan,
87
+ estimate: t9,
88
+ viewport: t10,
89
+ key: density
90
+ };
91
+ $[12] = density;
92
+ $[13] = overscan;
93
+ $[14] = rowHeight;
94
+ $[15] = shown.length;
95
+ $[16] = t10;
96
+ $[17] = t9;
97
+ $[18] = virtual;
98
+ $[19] = t11;
99
+ } else t11 = $[19];
100
+ const rows = useVirtualRows(anchor, t11);
101
+ let t12;
102
+ if ($[20] !== rows.end || $[21] !== rows.start || $[22] !== shown || $[23] !== virtual) {
103
+ t12 = virtual ? shown.slice(rows.start, rows.end) : shown;
104
+ $[20] = rows.end;
105
+ $[21] = rows.start;
106
+ $[22] = shown;
107
+ $[23] = virtual;
108
+ $[24] = t12;
109
+ } else t12 = $[24];
110
+ const rendered = t12;
111
+ const sizers = measuring && table.allRows.length > rendered.length ? pickSizerRows(table.allRows, columns) : [];
112
+ const holdsPage = stable && table.paginated && !scrolls;
113
+ const pageHeight = usePageHeight(anchor, holdsPage, shown.length === table.pageSize, `${density}|${table.pageSize}`);
114
+ const shortPage = table.page > 1 && shown.length > 0 && shown.length < table.pageSize;
115
+ let t13;
116
+ if ($[25] !== density || $[26] !== loading || $[27] !== onEndReached || $[28] !== scrolls || $[29] !== shown.length) {
117
+ t13 = (wrapper) => {
118
+ if (!onEndReached || !scrolls || loading || !shown.length || reported.current === shown.length) return;
119
+ if (wrapper.scrollHeight - wrapper.scrollTop - wrapper.clientHeight > 4 * ROW_ESTIMATE[density]) return;
120
+ reported.current = shown.length;
121
+ onEndReached();
122
+ };
123
+ $[25] = density;
124
+ $[26] = loading;
125
+ $[27] = onEndReached;
126
+ $[28] = scrolls;
127
+ $[29] = shown.length;
128
+ $[30] = t13;
129
+ } else t13 = $[30];
130
+ const reportEnd = t13;
131
+ const t14 = table.page;
132
+ const t15 = table.search;
133
+ const t16 = table.sort?.id;
134
+ const t17 = table.sort?.direction;
135
+ let t18;
136
+ if ($[31] !== table.filterValues) {
137
+ t18 = JSON.stringify(table.filterValues);
138
+ $[31] = table.filterValues;
139
+ $[32] = t18;
140
+ } else t18 = $[32];
141
+ let t19;
142
+ if ($[33] !== t16 || $[34] !== t17 || $[35] !== t18 || $[36] !== table.page || $[37] !== table.search) {
143
+ t19 = [
144
+ t14,
145
+ t15,
146
+ t16,
147
+ t17,
148
+ t18
149
+ ];
150
+ $[33] = t16;
151
+ $[34] = t17;
152
+ $[35] = t18;
153
+ $[36] = table.page;
154
+ $[37] = table.search;
155
+ $[38] = t19;
156
+ } else t19 = $[38];
157
+ const view = t19.join("|");
158
+ let t20;
159
+ if ($[39] !== anchor || $[40] !== scrolls) {
160
+ t20 = () => {
161
+ if (scrolls) anchor?.closest("table")?.parentElement?.scrollTo({ top: 0 });
162
+ };
163
+ $[39] = anchor;
164
+ $[40] = scrolls;
165
+ $[41] = t20;
166
+ } else t20 = $[41];
167
+ let t21;
168
+ if ($[42] !== anchor || $[43] !== scrolls || $[44] !== view) {
169
+ t21 = [
170
+ anchor,
171
+ scrolls,
172
+ view
173
+ ];
174
+ $[42] = anchor;
175
+ $[43] = scrolls;
176
+ $[44] = view;
177
+ $[45] = t21;
178
+ } else t21 = $[45];
179
+ React.useEffect(t20, t21);
180
+ let t22;
181
+ if ($[46] !== anchor || $[47] !== reportEnd) {
182
+ t22 = () => {
183
+ const wrapper_0 = anchor?.closest("table")?.parentElement;
184
+ if (wrapper_0) reportEnd(wrapper_0);
185
+ };
186
+ $[46] = anchor;
187
+ $[47] = reportEnd;
188
+ $[48] = t22;
189
+ } else t22 = $[48];
190
+ React.useEffect(t22);
191
+ const T0 = Table;
192
+ const t23 = stickyHeader ?? scrolls;
193
+ const t24 = loading || void 0;
194
+ const t25 = virtual ? shown.length + 1 : void 0;
195
+ const t26 = stable ? "stable" : void 0;
196
+ const t27 = lock ? "" : void 0;
197
+ const t28 = virtual ? "" : void 0;
198
+ let t29;
199
+ if ($[49] !== lock || $[50] !== tableProps?.style) {
200
+ t29 = lock ? {
201
+ width: lock.table,
202
+ minWidth: "100%",
203
+ ...tableProps?.style
204
+ } : tableProps?.style;
205
+ $[49] = lock;
206
+ $[50] = tableProps?.style;
207
+ $[51] = t29;
208
+ } else t29 = $[51];
209
+ const t30 = tableProps?.wrapperProps;
210
+ const t31 = scrolls && "oui-data-table__scroll";
211
+ const t32 = tableProps?.wrapperProps?.className;
212
+ let t33;
213
+ if ($[52] !== t31 || $[53] !== t32) {
214
+ t33 = cx(t31, t32);
215
+ $[52] = t31;
216
+ $[53] = t32;
217
+ $[54] = t33;
218
+ } else t33 = $[54];
219
+ const t34 = holdsPage && shortPage ? pageHeight : void 0;
220
+ const t35 = tableProps?.wrapperProps?.style;
221
+ let t36;
222
+ if ($[55] !== height || $[56] !== t34 || $[57] !== t35) {
223
+ t36 = {
224
+ maxHeight: height,
225
+ minHeight: t34,
226
+ ...t35
227
+ };
228
+ $[55] = height;
229
+ $[56] = t34;
230
+ $[57] = t35;
231
+ $[58] = t36;
232
+ } else t36 = $[58];
233
+ let t37;
234
+ if ($[59] !== reportEnd || $[60] !== rows || $[61] !== tableProps?.wrapperProps) {
235
+ t37 = (event) => {
236
+ tableProps?.wrapperProps?.onScroll?.(event);
237
+ rows.onScroll(event);
238
+ reportEnd(event.currentTarget);
239
+ };
240
+ $[59] = reportEnd;
241
+ $[60] = rows;
242
+ $[61] = tableProps?.wrapperProps;
243
+ $[62] = t37;
244
+ } else t37 = $[62];
245
+ let t38;
246
+ if ($[63] !== t30 || $[64] !== t33 || $[65] !== t36 || $[66] !== t37) {
247
+ t38 = {
248
+ ...t30,
249
+ className: t33,
250
+ style: t36,
251
+ onScroll: t37
252
+ };
253
+ $[63] = t30;
254
+ $[64] = t33;
255
+ $[65] = t36;
256
+ $[66] = t37;
257
+ $[67] = t38;
258
+ } else t38 = $[67];
259
+ let t39;
260
+ if ($[68] !== lock?.widths) {
261
+ t39 = lock?.widths.map(_temp2);
262
+ $[68] = lock?.widths;
263
+ $[69] = t39;
264
+ } else t39 = $[69];
265
+ let t40;
266
+ if ($[70] !== t39) {
267
+ t40 = /* @__PURE__ */ jsx("colgroup", {
268
+ ref: setAnchor,
269
+ children: t39
270
+ });
271
+ $[70] = t39;
272
+ $[71] = t40;
273
+ } else t40 = $[71];
274
+ const t41 = virtual ? 1 : void 0;
275
+ let t42;
276
+ if ($[72] !== table || $[73] !== text) {
277
+ t42 = table.selectable && /* @__PURE__ */ jsx(TableHead, {
278
+ className: "oui-data-table__check",
279
+ children: /* @__PURE__ */ jsx(Checkbox, {
280
+ size: "sm",
281
+ "aria-label": text.selectAll,
282
+ checked: table.allSelected,
283
+ indeterminate: table.someSelected,
284
+ disabled: !table.rows.length,
285
+ onCheckedChange: (checked) => table.toggleAll(checked)
286
+ })
287
+ });
288
+ $[72] = table;
289
+ $[73] = text;
290
+ $[74] = t42;
291
+ } else t42 = $[74];
292
+ let t43;
293
+ if ($[75] !== columns || $[76] !== lock || $[77] !== table) {
294
+ let t44;
295
+ if ($[79] !== lock || $[80] !== table) {
296
+ t44 = (column) => /* @__PURE__ */ jsx(TableHead, {
297
+ align: column.align ?? (column.numeric ? "end" : "start"),
298
+ style: !lock && (column.width !== void 0 || column.minWidth !== void 0) ? {
299
+ width: column.width,
300
+ minWidth: column.minWidth
301
+ } : void 0,
302
+ sort: table.isSortable(column) ? table.sort?.id === column.id ? table.sort.direction : false : void 0,
303
+ onSort: () => table.toggleSort(column.id),
304
+ children: column.header
305
+ }, column.id);
306
+ $[79] = lock;
307
+ $[80] = table;
308
+ $[81] = t44;
309
+ } else t44 = $[81];
310
+ t43 = columns.map(t44);
311
+ $[75] = columns;
312
+ $[76] = lock;
313
+ $[77] = table;
314
+ $[78] = t43;
315
+ } else t43 = $[78];
316
+ let t44;
317
+ if ($[82] !== hasActions || $[83] !== text) {
318
+ t44 = hasActions && /* @__PURE__ */ jsx(TableHead, {
319
+ className: "oui-data-table__row-actions",
320
+ children: /* @__PURE__ */ jsx("span", {
321
+ className: "oui-visually-hidden",
322
+ children: text.actions
323
+ })
324
+ });
325
+ $[82] = hasActions;
326
+ $[83] = text;
327
+ $[84] = t44;
328
+ } else t44 = $[84];
329
+ let t45;
330
+ if ($[85] !== t41 || $[86] !== t42 || $[87] !== t43 || $[88] !== t44) {
331
+ t45 = /* @__PURE__ */ jsx(TableHeader, { children: /* @__PURE__ */ jsxs(TableRow, {
332
+ "aria-rowindex": t41,
333
+ children: [
334
+ t42,
335
+ t43,
336
+ t44
337
+ ]
338
+ }) });
339
+ $[85] = t41;
340
+ $[86] = t42;
341
+ $[87] = t43;
342
+ $[88] = t44;
343
+ $[89] = t45;
344
+ } else t45 = $[89];
345
+ let t46;
346
+ if ($[90] !== rows.before || $[91] !== span) {
347
+ t46 = rows.before > 0 && /* @__PURE__ */ jsx("tbody", {
348
+ className: "oui-data-table__spacer",
349
+ "aria-hidden": true,
350
+ children: /* @__PURE__ */ jsx("tr", {
351
+ style: { height: rows.before },
352
+ children: /* @__PURE__ */ jsx("td", { colSpan: span })
353
+ })
354
+ });
355
+ $[90] = rows.before;
356
+ $[91] = span;
357
+ $[92] = t46;
358
+ } else t46 = $[92];
359
+ let t47;
360
+ if ($[93] !== columns || $[94] !== hasActions || $[95] !== placeholders || $[96] !== table.selectable) {
361
+ let t48;
362
+ if ($[98] !== columns || $[99] !== hasActions || $[100] !== table.selectable) {
363
+ t48 = (_, index_0) => /* @__PURE__ */ jsxs(TableRow, {
364
+ "aria-hidden": true,
365
+ children: [
366
+ table.selectable && /* @__PURE__ */ jsx(TableCell, { className: "oui-data-table__check" }),
367
+ columns.map((column_0, position) => /* @__PURE__ */ jsx(TableCell, {
368
+ align: column_0.align,
369
+ numeric: column_0.numeric,
370
+ children: /* @__PURE__ */ jsx(Skeleton, {
371
+ className: "oui-data-table__skeleton",
372
+ width: `${45 + (index_0 * 3 + position * 5) % 7 * 8}%`
373
+ })
374
+ }, column_0.id)),
375
+ hasActions && /* @__PURE__ */ jsx(TableCell, { className: "oui-data-table__row-actions" })
376
+ ]
377
+ }, index_0);
378
+ $[98] = columns;
379
+ $[99] = hasActions;
380
+ $[100] = table.selectable;
381
+ $[101] = t48;
382
+ } else t48 = $[101];
383
+ t47 = Array.from({ length: placeholders }, t48);
384
+ $[93] = columns;
385
+ $[94] = hasActions;
386
+ $[95] = placeholders;
387
+ $[96] = table.selectable;
388
+ $[97] = t47;
389
+ } else t47 = $[97];
390
+ let t48;
391
+ if ($[102] !== columns || $[103] !== focused || $[104] !== hasActions || $[105] !== rendered || $[106] !== rows.rowHeight || $[107] !== rows.start || $[108] !== table || $[109] !== virtual) {
392
+ let t49;
393
+ if ($[111] !== columns || $[112] !== focused || $[113] !== hasActions || $[114] !== rows.rowHeight || $[115] !== rows.start || $[116] !== table || $[117] !== virtual) {
394
+ t49 = (entry, index_1) => /* @__PURE__ */ jsx(DataTableRow, {
395
+ table,
396
+ entry,
397
+ columns,
398
+ hasActions,
399
+ focused,
400
+ index: virtual ? rows.start + index_1 : void 0,
401
+ height: rows.rowHeight
402
+ }, entry.id);
403
+ $[111] = columns;
404
+ $[112] = focused;
405
+ $[113] = hasActions;
406
+ $[114] = rows.rowHeight;
407
+ $[115] = rows.start;
408
+ $[116] = table;
409
+ $[117] = virtual;
410
+ $[118] = t49;
411
+ } else t49 = $[118];
412
+ t48 = rendered.map(t49);
413
+ $[102] = columns;
414
+ $[103] = focused;
415
+ $[104] = hasActions;
416
+ $[105] = rendered;
417
+ $[106] = rows.rowHeight;
418
+ $[107] = rows.start;
419
+ $[108] = table;
420
+ $[109] = virtual;
421
+ $[110] = t48;
422
+ } else t48 = $[110];
423
+ let t49;
424
+ if ($[119] !== t47 || $[120] !== t48) {
425
+ t49 = /* @__PURE__ */ jsxs(TableBody, { children: [t47, t48] });
426
+ $[119] = t47;
427
+ $[120] = t48;
428
+ $[121] = t49;
429
+ } else t49 = $[121];
430
+ let t50;
431
+ if ($[122] !== rows.after || $[123] !== span) {
432
+ t50 = rows.after > 0 && /* @__PURE__ */ jsx("tbody", {
433
+ className: "oui-data-table__spacer",
434
+ "aria-hidden": true,
435
+ children: /* @__PURE__ */ jsx("tr", {
436
+ style: { height: rows.after },
437
+ children: /* @__PURE__ */ jsx("td", { colSpan: span })
438
+ })
439
+ });
440
+ $[122] = rows.after;
441
+ $[123] = span;
442
+ $[124] = t50;
443
+ } else t50 = $[124];
444
+ const t51 = sizers.length > 0 && /* @__PURE__ */ jsx("tbody", {
445
+ className: "oui-data-table__sizer",
446
+ "aria-hidden": true,
447
+ inert: true,
448
+ children: sizers.map((entry_0) => /* @__PURE__ */ jsx(SizerRow, {
449
+ table,
450
+ entry: entry_0,
451
+ columns,
452
+ hasActions
453
+ }, entry_0.id))
454
+ });
455
+ let t52;
456
+ if ($[125] !== T0 || $[126] !== density || $[127] !== striped || $[128] !== t23 || $[129] !== t24 || $[130] !== t25 || $[131] !== t26 || $[132] !== t27 || $[133] !== t28 || $[134] !== t29 || $[135] !== t38 || $[136] !== t40 || $[137] !== t45 || $[138] !== t46 || $[139] !== t49 || $[140] !== t50 || $[141] !== t51 || $[142] !== tableProps) {
457
+ t52 = /* @__PURE__ */ jsxs(T0, {
458
+ density,
459
+ striped,
460
+ stickyHeader: t23,
461
+ "aria-busy": t24,
462
+ "aria-rowcount": t25,
463
+ ...tableProps,
464
+ "data-layout": t26,
465
+ "data-locked": t27,
466
+ "data-virtualized": t28,
467
+ style: t29,
468
+ wrapperProps: t38,
469
+ children: [
470
+ t40,
471
+ t45,
472
+ t46,
473
+ t49,
474
+ t50,
475
+ t51
476
+ ]
477
+ });
478
+ $[125] = T0;
479
+ $[126] = density;
480
+ $[127] = striped;
481
+ $[128] = t23;
482
+ $[129] = t24;
483
+ $[130] = t25;
484
+ $[131] = t26;
485
+ $[132] = t27;
486
+ $[133] = t28;
487
+ $[134] = t29;
488
+ $[135] = t38;
489
+ $[136] = t40;
490
+ $[137] = t45;
491
+ $[138] = t46;
492
+ $[139] = t49;
493
+ $[140] = t50;
494
+ $[141] = t51;
495
+ $[142] = tableProps;
496
+ $[143] = t52;
497
+ } else t52 = $[143];
498
+ let t53;
499
+ if ($[144] !== empty || $[145] !== error || $[146] !== loading || $[147] !== noMatch || $[148] !== table.activeFilterCount || $[149] !== table.filtered || $[150] !== table.onRetry || $[151] !== table.reset || $[152] !== table.rows || $[153] !== text) {
500
+ t53 = error ? /* @__PURE__ */ jsx(EmptyState, {
501
+ role: "alert",
502
+ title: text.errorTitle,
503
+ description: error,
504
+ actions: table.onRetry ? /* @__PURE__ */ jsx(Button, {
505
+ size: "sm",
506
+ variant: "secondary",
507
+ onClick: table.onRetry,
508
+ children: text.retry
509
+ }) : void 0
510
+ }) : !table.rows.length && !loading && (empty ?? /* @__PURE__ */ jsx(EmptyState, {
511
+ title: noMatch ? text.noMatchTitle : text.emptyTitle,
512
+ description: !noMatch ? text.emptyDescription : table.activeFilterCount ? text.noFilterMatchDescription : text.noMatchDescription,
513
+ actions: table.filtered ? /* @__PURE__ */ jsx(Button, {
514
+ size: "sm",
515
+ variant: "secondary",
516
+ onClick: table.reset,
517
+ children: table.activeFilterCount ? text.clearFilters : text.clearSearch
518
+ }) : void 0
519
+ }));
520
+ $[144] = empty;
521
+ $[145] = error;
522
+ $[146] = loading;
523
+ $[147] = noMatch;
524
+ $[148] = table.activeFilterCount;
525
+ $[149] = table.filtered;
526
+ $[150] = table.onRetry;
527
+ $[151] = table.reset;
528
+ $[152] = table.rows;
529
+ $[153] = text;
530
+ $[154] = t53;
531
+ } else t53 = $[154];
532
+ let t54;
533
+ if ($[155] !== t52 || $[156] !== t53) {
534
+ t54 = /* @__PURE__ */ jsxs(Fragment, { children: [t52, t53] });
535
+ $[155] = t52;
536
+ $[156] = t53;
537
+ $[157] = t54;
538
+ } else t54 = $[157];
539
+ return t54;
540
+ }
541
+ function _temp2(width, index) {
542
+ return /* @__PURE__ */ jsx("col", { style: { width } }, index);
543
+ }
544
+ function _temp(c) {
545
+ return `${c.id}:${c.width ?? ""}:${c.minWidth ?? ""}`;
546
+ }
547
+ //#endregion
548
+ export { DataTableContent };
549
+
550
+ //# sourceMappingURL=DataTableContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableContent.js","names":["React","cx","Button","Checkbox","EmptyState","Skeleton","Table","TableBody","TableCell","TableHead","TableHeader","TableRow","TableProps","useDataTableContext","DataTableRow","SizerRow","isTextEditor","pickSizerRows","useColumnLock","usePageHeight","useVirtualRows","ROW_ESTIMATE","compact","normal","comfortable","DataTableVirtualOptions","rowHeight","overscan","DataTableContentProps","Pick","layout","maxHeight","virtualized","onEndReached","empty","ReactNode","tableProps","Omit","DataTableContent","t0","$","_c","density","t1","striped","stickyHeader","t2","t3","undefined","table","labels","text","visibleColumns","columns","loading","error","anchor","setAnchor","useState","reported","useRef","virtual","t4","t5","height","scrolls","stable","hasActions","Boolean","rowActions","editable","deletable","placeholders","pending","Math","min","paginated","pageSize","noMatch","mode","filtered","totalCount","t6","find","id","focused","t7","pageRows","shown","span","length","Number","selectable","t8","map","_temp","columnKey","join","lock","measuring","t9","t10","t11","enabled","count","estimate","viewport","key","rows","t12","end","start","slice","rendered","sizers","allRows","holdsPage","pageHeight","shortPage","page","t13","wrapper","current","scrollHeight","scrollTop","clientHeight","reportEnd","t14","t15","search","t16","sort","t17","direction","t18","filterValues","JSON","stringify","t19","view","t20","closest","parentElement","scrollTo","top","t21","useEffect","t22","wrapper_0","T0","t23","t24","t25","t26","t27","t28","t29","style","width","minWidth","t30","wrapperProps","t31","t32","className","t33","t34","t35","t36","minHeight","t37","event","onScroll","currentTarget","t38","t39","widths","_temp2","t40","t41","t42","selectAll","allSelected","someSelected","checked","toggleAll","t43","t44","column","align","numeric","isSortable","toggleSort","header","actions","t45","t46","before","t47","t48","_","index_0","index","column_0","position","Array","from","t49","entry","index_1","t50","after","t51","entry_0","t52","t53","activeFilterCount","onRetry","reset","errorTitle","retry","noMatchTitle","emptyTitle","emptyDescription","noFilterMatchDescription","noMatchDescription","clearFilters","clearSearch","t54","c","_c","_Fragment"],"sources":["../../../src/components/data-table/DataTableContent.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cx } from '../../utils/cx';\nimport { Button } from '../button/Button';\nimport { Checkbox } from '../choice/Choice';\nimport { EmptyState } from '../empty-state/EmptyState';\nimport { Skeleton } from '../skeleton/Skeleton';\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, type TableProps } from '../table/Table';\nimport { useDataTableContext } from './context';\nimport { DataTableRow, SizerRow, isTextEditor } from './DataTableRow';\nimport { pickSizerRows, useColumnLock, usePageHeight, useVirtualRows } from './layout';\n\n// Row heights of the three densities, assumed until the first row is measured.\nconst ROW_ESTIMATE = { compact: 35, normal: 46, comfortable: 55 };\n\nexport interface DataTableVirtualOptions {\n /** Height of every row in pixels. Left out, the rows are measured. */\n rowHeight?: number;\n /** Rows rendered beyond each edge of the view (default 8). */\n overscan?: number;\n}\n\nexport interface DataTableContentProps extends Pick<TableProps, 'density' | 'striped' | 'stickyHeader'> {\n /**\n * `stable` (default) measures the columns once and holds their widths, keeps a\n * short last page as tall as a full one, and keeps a row's height while it is\n * edited: nothing moves while the table is used. `auto` leaves the layout to\n * the browser, which fits the columns to the rows on screen.\n */\n layout?: 'stable' | 'auto';\n /** Scrolls the rows inside this height and keeps the header in view. */\n maxHeight?: number | string;\n /**\n * Renders only the rows in view, for thousands of rows without pagination.\n * Rows are one line high: columns fit their longest value, so mark those with\n * long text `truncate`. Scrolls inside `maxHeight` (default `32rem`).\n */\n virtualized?: boolean | DataTableVirtualOptions;\n /**\n * Called when the rows are scrolled near their end, once per row count: load\n * and append the next rows. Needs `maxHeight` or `virtualized`.\n */\n onEndReached?: () => void;\n /** Replaces the default empty state. */\n empty?: React.ReactNode;\n /** Props for the underlying `Table` (className, wrapperProps, aria-*). */\n tableProps?: Omit<TableProps, 'children'>;\n}\n\n/** The table itself, with its loading, empty and error states. */\nexport function DataTableContent({\n density = 'normal',\n striped,\n stickyHeader,\n layout = 'stable',\n maxHeight,\n virtualized = false,\n onEndReached,\n empty,\n tableProps,\n}: DataTableContentProps) {\n const table = useDataTableContext();\n const { labels: text, visibleColumns: columns, loading, error } = table;\n // Found by the layout hooks through `closest('table')`.\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\n const reported = React.useRef(-1);\n\n const virtual = virtualized !== false;\n const { rowHeight, overscan = 8 } = typeof virtualized === 'object' ? virtualized : {};\n const height = maxHeight ?? (virtual ? '32rem' : undefined);\n const scrolls = height !== undefined;\n const stable = layout === 'stable' || virtual;\n\n const hasActions = Boolean(table.rowActions) || table.editable || table.deletable;\n const placeholders = table.pending ? Math.min(table.paginated ? table.pageSize : 5, 10) : 0;\n const noMatch = table.mode === 'server' ? table.filtered : table.totalCount > 0;\n const focused = columns.find(isTextEditor)?.id;\n const shown = error ? [] : table.pageRows;\n const span = columns.length + Number(table.selectable) + Number(hasActions);\n\n const columnKey = [density, table.selectable, hasActions, ...columns.map((c) => `${c.id}:${c.width ?? ''}:${c.minWidth ?? ''}`)].join('|');\n const { lock, measuring } = useColumnLock(anchor, stable, columnKey, shown.length > 0);\n const rows = useVirtualRows(anchor, {\n enabled: virtual,\n count: shown.length,\n rowHeight,\n overscan,\n estimate: ROW_ESTIMATE[density],\n viewport: typeof maxHeight === 'number' ? maxHeight : 512,\n key: density,\n });\n const rendered = virtual ? shown.slice(rows.start, rows.end) : shown;\n const sizers = measuring && table.allRows.length > rendered.length ? pickSizerRows(table.allRows, columns) : [];\n\n const holdsPage = stable && table.paginated && !scrolls;\n const pageHeight = usePageHeight(anchor, holdsPage, shown.length === table.pageSize, `${density}|${table.pageSize}`);\n const shortPage = table.page > 1 && shown.length > 0 && shown.length < table.pageSize;\n\n const reportEnd = (wrapper: HTMLElement) => {\n if (!onEndReached || !scrolls || loading || !shown.length || reported.current === shown.length) return;\n if (wrapper.scrollHeight - wrapper.scrollTop - wrapper.clientHeight > 4 * ROW_ESTIMATE[density]) return;\n reported.current = shown.length;\n onEndReached();\n };\n\n // New rows start at the top: the scroll position belonged to the previous ones.\n const view = [table.page, table.search, table.sort?.id, table.sort?.direction, JSON.stringify(table.filterValues)].join('|');\n React.useEffect(() => {\n if (scrolls) anchor?.closest('table')?.parentElement?.scrollTo({ top: 0 });\n }, [anchor, scrolls, view]);\n\n // Rows that do not fill the view cannot be scrolled to their end: ask for more right away.\n React.useEffect(() => {\n const wrapper = anchor?.closest('table')?.parentElement;\n if (wrapper) reportEnd(wrapper);\n });\n\n return (\n <>\n <Table\n density={density}\n striped={striped}\n stickyHeader={stickyHeader ?? scrolls}\n aria-busy={loading || undefined}\n aria-rowcount={virtual ? shown.length + 1 : undefined}\n {...tableProps}\n data-layout={stable ? 'stable' : undefined}\n data-locked={lock ? '' : undefined}\n data-virtualized={virtual ? '' : undefined}\n style={lock ? { width: lock.table, minWidth: '100%', ...tableProps?.style } : tableProps?.style}\n wrapperProps={{\n ...tableProps?.wrapperProps,\n className: cx(scrolls && 'oui-data-table__scroll', tableProps?.wrapperProps?.className),\n style: {\n maxHeight: height,\n minHeight: holdsPage && shortPage ? pageHeight : undefined,\n ...tableProps?.wrapperProps?.style,\n },\n onScroll: (event) => {\n tableProps?.wrapperProps?.onScroll?.(event);\n rows.onScroll(event);\n reportEnd(event.currentTarget);\n },\n }}\n >\n <colgroup ref={setAnchor}>{lock?.widths.map((width, index) => <col key={index} style={{ width }} />)}</colgroup>\n <TableHeader>\n <TableRow aria-rowindex={virtual ? 1 : undefined}>\n {table.selectable && (\n <TableHead className=\"oui-data-table__check\">\n <Checkbox\n size=\"sm\"\n aria-label={text.selectAll}\n checked={table.allSelected}\n indeterminate={table.someSelected}\n disabled={!table.rows.length}\n onCheckedChange={(checked) => table.toggleAll(checked)}\n />\n </TableHead>\n )}\n {columns.map((column) => (\n <TableHead\n key={column.id}\n align={column.align ?? (column.numeric ? 'end' : 'start')}\n style={\n !lock && (column.width !== undefined || column.minWidth !== undefined)\n ? { width: column.width, minWidth: column.minWidth }\n : undefined\n }\n sort={table.isSortable(column) ? (table.sort?.id === column.id ? table.sort.direction : false) : undefined}\n onSort={() => table.toggleSort(column.id)}\n >\n {column.header}\n </TableHead>\n ))}\n {hasActions && (\n <TableHead className=\"oui-data-table__row-actions\">\n <span className=\"oui-visually-hidden\">{text.actions}</span>\n </TableHead>\n )}\n </TableRow>\n </TableHeader>\n {rows.before > 0 && (\n <tbody className=\"oui-data-table__spacer\" aria-hidden>\n <tr style={{ height: rows.before }}>\n <td colSpan={span} />\n </tr>\n </tbody>\n )}\n <TableBody>\n {Array.from({ length: placeholders }, (_, index) => (\n <TableRow key={index} aria-hidden>\n {table.selectable && <TableCell className=\"oui-data-table__check\" />}\n {columns.map((column, position) => (\n <TableCell key={column.id} align={column.align} numeric={column.numeric}>\n <Skeleton className=\"oui-data-table__skeleton\" width={`${45 + ((index * 3 + position * 5) % 7) * 8}%`} />\n </TableCell>\n ))}\n {hasActions && <TableCell className=\"oui-data-table__row-actions\" />}\n </TableRow>\n ))}\n {rendered.map((entry, index) => (\n <DataTableRow\n key={entry.id}\n table={table}\n entry={entry}\n columns={columns}\n hasActions={hasActions}\n focused={focused}\n index={virtual ? rows.start + index : undefined}\n height={rows.rowHeight}\n />\n ))}\n </TableBody>\n {rows.after > 0 && (\n <tbody className=\"oui-data-table__spacer\" aria-hidden>\n <tr style={{ height: rows.after }}>\n <td colSpan={span} />\n </tr>\n </tbody>\n )}\n {sizers.length > 0 && (\n <tbody className=\"oui-data-table__sizer\" aria-hidden inert>\n {sizers.map((entry) => (\n <SizerRow key={entry.id} table={table} entry={entry} columns={columns} hasActions={hasActions} />\n ))}\n </tbody>\n )}\n </Table>\n\n {error ? (\n <EmptyState\n role=\"alert\"\n title={text.errorTitle}\n description={error}\n actions={\n table.onRetry ? (\n <Button size=\"sm\" variant=\"secondary\" onClick={table.onRetry}>\n {text.retry}\n </Button>\n ) : undefined\n }\n />\n ) : (\n !table.rows.length &&\n !loading &&\n (empty ?? (\n <EmptyState\n title={noMatch ? text.noMatchTitle : text.emptyTitle}\n description={\n !noMatch ? text.emptyDescription : table.activeFilterCount ? text.noFilterMatchDescription : text.noMatchDescription\n }\n actions={\n table.filtered ? (\n <Button size=\"sm\" variant=\"secondary\" onClick={table.reset}>\n {table.activeFilterCount ? text.clearFilters : text.clearSearch}\n </Button>\n ) : undefined\n }\n />\n ))\n )}\n </>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import * as React from 'react';
2
+ export type DataTableControlSize = 'sm' | 'md';
3
+ export interface DataTableFilterProps {
4
+ /** Id of the filter: the column id, or the `id` given in `filters`. */
5
+ id: string;
6
+ /** Control height. */
7
+ size?: DataTableControlSize;
8
+ /** Class name for the filter control. */
9
+ className?: string;
10
+ }
11
+ /** The control of one filter: a dropdown, a toggle chip or a date range picker. */
12
+ export declare function DataTableFilter({ id, size, className }: DataTableFilterProps): React.JSX.Element | null;
13
+ export interface DataTableFiltersProps extends React.HTMLAttributes<HTMLDivElement> {
14
+ /** Control height of every filter. */
15
+ size?: DataTableControlSize;
16
+ }
17
+ /** Every filter of the table, with a clear button while any is active. Children are added after the filters. */
18
+ export declare function DataTableFilters({ size, className, children, ...props }: DataTableFiltersProps): React.JSX.Element | null;