@igne-agency/react-web-ui 0.3.1 → 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 (290) hide show
  1. package/README.md +32 -1
  2. package/dist/components/accordion/accordion.css +24 -19
  3. package/dist/components/accordion/accordion.d.ts +19 -3
  4. package/dist/components/accordion/accordion.js +86 -32
  5. package/dist/components/accordion/accordion.module.js +8 -8
  6. package/dist/components/active-filters/active-filter-describers.d.ts +1 -1
  7. package/dist/components/active-filters/active-filter-describers.js +1 -1
  8. package/dist/components/active-filters/active-filters.d.ts +35 -2
  9. package/dist/components/active-filters/active-filters.js +57 -52
  10. package/dist/components/active-filters/index.js +2 -2
  11. package/dist/components/attachment-tile/attachment-preview.d.ts +11 -9
  12. package/dist/components/attachment-tile/attachment-preview.js +102 -68
  13. package/dist/components/attachment-tile/attachment-tile.css +22 -13
  14. package/dist/components/attachment-tile/attachment-tile.d.ts +51 -6
  15. package/dist/components/attachment-tile/attachment-tile.js +209 -85
  16. package/dist/components/attachment-tile/attachment-tile.module.js +10 -10
  17. package/dist/components/attachment-tile/index.d.ts +1 -1
  18. package/dist/components/attachment-tile/index.js +2 -2
  19. package/dist/components/avatar/avatar.d.ts +5 -5
  20. package/dist/components/avatar/avatar.js +64 -37
  21. package/dist/components/avatar-group/avatar-group.js +2 -2
  22. package/dist/components/badge/badge.js +1 -1
  23. package/dist/components/breadcrumbs/breadcrumbs.d.ts +22 -7
  24. package/dist/components/breadcrumbs/breadcrumbs.js +189 -170
  25. package/dist/components/button/button.d.ts +2 -3
  26. package/dist/components/button/button.js +58 -77
  27. package/dist/components/button/close-button.d.ts +4 -2
  28. package/dist/components/button/close-button.js +9 -9
  29. package/dist/components/checkbox-field/checkbox-field.d.ts +17 -3
  30. package/dist/components/checkbox-field/checkbox-field.js +108 -131
  31. package/dist/components/checkbox-field/checkbox.css +26 -34
  32. package/dist/components/checkbox-field/checkbox.d.ts +51 -8
  33. package/dist/components/checkbox-field/checkbox.js +221 -57
  34. package/dist/components/checkbox-field/checkbox.module.js +6 -8
  35. package/dist/components/checkbox-field/index.d.ts +0 -1
  36. package/dist/components/checkbox-field/index.js +1 -2
  37. package/dist/components/checkbox-field/tsf-checkbox-field.d.ts +2 -2
  38. package/dist/components/checkbox-group-field/checkbox-group-field.d.ts +4 -1
  39. package/dist/components/checkbox-group-field/checkbox-group-field.js +54 -50
  40. package/dist/components/checkbox-group-field/checkbox-group.d.ts +7 -2
  41. package/dist/components/checkbox-group-field/checkbox-group.js +8 -3
  42. package/dist/components/collapsible/collapsible.css +23 -18
  43. package/dist/components/collapsible/collapsible.d.ts +18 -3
  44. package/dist/components/collapsible/collapsible.js +85 -32
  45. package/dist/components/collapsible/collapsible.module.js +7 -7
  46. package/dist/components/combobox-field/combobox-field.d.ts +9 -1
  47. package/dist/components/combobox-field/combobox-field.js +195 -175
  48. package/dist/components/combobox-field/combobox-items.d.ts +2 -2
  49. package/dist/components/combobox-field/combobox-items.js +4 -4
  50. package/dist/components/combobox-field/combobox.css +99 -96
  51. package/dist/components/combobox-field/combobox.d.ts +94 -15
  52. package/dist/components/combobox-field/combobox.js +484 -159
  53. package/dist/components/combobox-field/combobox.module.js +21 -21
  54. package/dist/components/combobox-field/index.d.ts +0 -1
  55. package/dist/components/combobox-field/selection.d.ts +4 -1
  56. package/dist/components/combobox-field/value-state-view.css +7 -3
  57. package/dist/components/combobox-field/value-state-view.d.ts +4 -2
  58. package/dist/components/combobox-field/value-state-view.js +15 -15
  59. package/dist/components/combobox-field/value-state-view.module.js +6 -4
  60. package/dist/components/composer/composer-attachments.d.ts +11 -3
  61. package/dist/components/composer/composer-attachments.js +61 -47
  62. package/dist/components/composer/composer-editor.d.ts +2 -1
  63. package/dist/components/composer/composer-editor.js +79 -71
  64. package/dist/components/composer/composer-mentions.js +2 -2
  65. package/dist/components/composer/composer.d.ts +42 -21
  66. package/dist/components/composer/composer.js +201 -58
  67. package/dist/components/composer/mention-text.js +3 -3
  68. package/dist/components/confirm-dialog/confirm-dialog.d.ts +8 -7
  69. package/dist/components/confirm-dialog/confirm-dialog.js +10 -9
  70. package/dist/components/conversation/conversation.context.d.ts +0 -5
  71. package/dist/components/conversation/conversation.d.ts +63 -29
  72. package/dist/components/conversation/conversation.js +193 -82
  73. package/dist/components/conversation/index.d.ts +1 -1
  74. package/dist/components/date-field/date-field.d.ts +10 -4
  75. package/dist/components/date-field/date-field.js +57 -43
  76. package/dist/components/date-field/date-input.d.ts +20 -3
  77. package/dist/components/date-field/date-input.js +28 -13
  78. package/dist/components/date-field/index.d.ts +1 -1
  79. package/dist/components/date-field/tsf-date-field.d.ts +1 -1
  80. package/dist/components/date-field/tsf-date-field.js +1 -1
  81. package/dist/components/date-range-field/date-range-field.d.ts +8 -4
  82. package/dist/components/date-range-field/date-range-field.js +57 -45
  83. package/dist/components/date-range-field/date-range-input.d.ts +20 -3
  84. package/dist/components/date-range-field/date-range-input.js +27 -12
  85. package/dist/components/date-range-field/tsf-date-range-field.d.ts +1 -1
  86. package/dist/components/date-range-field/tsf-date-range-field.js +1 -1
  87. package/dist/components/detail-list/detail-list.d.ts +28 -27
  88. package/dist/components/detail-list/detail-list.js +177 -121
  89. package/dist/components/dialog/dialog.d.ts +47 -27
  90. package/dist/components/dialog/dialog.js +101 -38
  91. package/dist/components/divider/divider.js +1 -1
  92. package/dist/components/drawer/drawer.d.ts +48 -30
  93. package/dist/components/drawer/drawer.js +113 -41
  94. package/dist/components/email-field/email-field.d.ts +5 -3
  95. package/dist/components/email-field/email-field.js +1 -3
  96. package/dist/components/email-field/tsf-email-field.d.ts +3 -2
  97. package/dist/components/empty-message/empty-message.d.ts +3 -3
  98. package/dist/components/empty-message/empty-message.js +3 -3
  99. package/dist/components/error-boundary/error-boundary.d.ts +5 -2
  100. package/dist/components/error-boundary/error-boundary.js +2 -3
  101. package/dist/components/error-message/error-message.d.ts +1 -1
  102. package/dist/components/error-message/error-message.js +1 -1
  103. package/dist/components/error-text/error-text.js +3 -3
  104. package/dist/components/field/field.d.ts +5 -5
  105. package/dist/components/field/field.js +9 -9
  106. package/dist/components/field/index.js +2 -2
  107. package/dist/components/field/input-parts.js +1 -1
  108. package/dist/components/field-placeholder/field-placeholder.d.ts +4 -1
  109. package/dist/components/field-placeholder/field-placeholder.js +41 -26
  110. package/dist/components/fieldset/field-group.js +1 -1
  111. package/dist/components/fieldset/fieldset-root.js +1 -1
  112. package/dist/components/fieldset/fieldset.js +1 -1
  113. package/dist/components/file-field/file-field.css +19 -15
  114. package/dist/components/file-field/file-field.d.ts +10 -1
  115. package/dist/components/file-field/file-field.js +130 -109
  116. package/dist/components/file-field/file-field.module.js +6 -4
  117. package/dist/components/file-field/file-input.d.ts +32 -9
  118. package/dist/components/file-field/file-input.js +94 -74
  119. package/dist/components/filter-bar/filter-bar.d.ts +79 -51
  120. package/dist/components/filter-bar/filter-bar.js +552 -216
  121. package/dist/components/form/form.d.ts +4 -6
  122. package/dist/components/form/form.js +6 -8
  123. package/dist/components/icon/icon.d.ts +5 -10
  124. package/dist/components/icon/icon.js +4 -6
  125. package/dist/components/link/link.js +1 -1
  126. package/dist/components/link-button/link-button.d.ts +1 -2
  127. package/dist/components/link-button/link-button.js +12 -22
  128. package/dist/components/loading-message/loading-message.d.ts +2 -2
  129. package/dist/components/loading-message/loading-message.js +1 -1
  130. package/dist/components/locale-provider/locale-provider.js +1 -1
  131. package/dist/components/menu/menu.d.ts +40 -22
  132. package/dist/components/menu/menu.js +100 -40
  133. package/dist/components/nav/nav-context.d.ts +0 -1
  134. package/dist/components/nav/nav-context.js +1 -2
  135. package/dist/components/nav/nav-item-view.d.ts +7 -7
  136. package/dist/components/nav/nav-item-view.js +27 -51
  137. package/dist/components/nav/nav.css +72 -60
  138. package/dist/components/nav/nav.d.ts +15 -8
  139. package/dist/components/nav/nav.js +105 -52
  140. package/dist/components/nav/nav.module.js +14 -14
  141. package/dist/components/number-field/number-field.d.ts +7 -1
  142. package/dist/components/number-field/number-field.js +98 -82
  143. package/dist/components/number-field/number-input.d.ts +53 -4
  144. package/dist/components/number-field/number-input.js +68 -21
  145. package/dist/components/number-field/tsf-number-field.d.ts +1 -1
  146. package/dist/components/number-field/tsf-number-field.js +1 -1
  147. package/dist/components/otp-field/otp-input.d.ts +25 -0
  148. package/dist/components/otp-field/otp-input.js +26 -1
  149. package/dist/components/pagination/pagination.d.ts +82 -23
  150. package/dist/components/pagination/pagination.js +656 -229
  151. package/dist/components/password-field/password-field.d.ts +7 -1
  152. package/dist/components/password-field/password-field.js +117 -126
  153. package/dist/components/password-field/password-strength.js +1 -1
  154. package/dist/components/password-field/tsf-password-field.d.ts +1 -1
  155. package/dist/components/password-field/tsf-password-field.js +1 -1
  156. package/dist/components/photo-field/photo-field.d.ts +17 -3
  157. package/dist/components/photo-field/photo-field.js +168 -89
  158. package/dist/components/photo-field/photo-input-context.d.ts +25 -0
  159. package/dist/components/photo-field/photo-input-context.js +14 -0
  160. package/dist/components/photo-field/photo-input.d.ts +58 -23
  161. package/dist/components/photo-field/photo-input.js +459 -261
  162. package/dist/components/popover/popover.d.ts +55 -23
  163. package/dist/components/popover/popover.js +205 -61
  164. package/dist/components/radio-group-field/radio-group.js +1 -1
  165. package/dist/components/search-field/search-field.d.ts +7 -5
  166. package/dist/components/search-field/search-field.js +4 -6
  167. package/dist/components/search-field/tsf-search-field.d.ts +1 -1
  168. package/dist/components/search-field/tsf-search-field.js +1 -1
  169. package/dist/components/segmented-control-field/segmented-control.js +1 -1
  170. package/dist/components/select-field/select-field.d.ts +7 -1
  171. package/dist/components/select-field/select-field.js +151 -139
  172. package/dist/components/select-field/select.d.ts +28 -6
  173. package/dist/components/select-field/select.js +234 -149
  174. package/dist/components/skeleton/skeleton.js +1 -1
  175. package/dist/components/spinner/spinner.css +47 -1
  176. package/dist/components/spinner/spinner.js +28 -11
  177. package/dist/components/spinner/spinner.module.js +18 -3
  178. package/dist/components/stale/stale.d.ts +17 -21
  179. package/dist/components/stale/stale.js +307 -129
  180. package/dist/components/status-message/status-message.css +22 -21
  181. package/dist/components/status-message/status-message.d.ts +10 -5
  182. package/dist/components/status-message/status-message.js +20 -24
  183. package/dist/components/status-message/status-message.module.js +6 -6
  184. package/dist/components/status-message/status-preset.d.ts +4 -5
  185. package/dist/components/status-message/status-preset.js +3 -3
  186. package/dist/components/switch-field/switch.js +1 -1
  187. package/dist/components/tabs/tabs.d.ts +51 -28
  188. package/dist/components/tabs/tabs.js +219 -144
  189. package/dist/components/tag/tag.css +23 -21
  190. package/dist/components/tag/tag.d.ts +17 -15
  191. package/dist/components/tag/tag.js +140 -65
  192. package/dist/components/tag/tag.module.js +3 -3
  193. package/dist/components/tag-group/tag-group.css +30 -27
  194. package/dist/components/tag-group/tag-group.d.ts +10 -4
  195. package/dist/components/tag-group/tag-group.js +47 -35
  196. package/dist/components/tag-group/tag-group.module.js +4 -4
  197. package/dist/components/text-field/text-field.d.ts +14 -3
  198. package/dist/components/text-field/text-field.js +154 -133
  199. package/dist/components/text-field/text-input.d.ts +89 -3
  200. package/dist/components/text-field/text-input.js +184 -70
  201. package/dist/components/textarea-field/textarea.js +1 -1
  202. package/dist/components/time-field/time-input.d.ts +6 -0
  203. package/dist/components/time-field/time-input.js +6 -0
  204. package/dist/components/time-zone-provider/time-zone-provider.js +1 -1
  205. package/dist/components/toast/index.js +2 -2
  206. package/dist/components/toast/toast-provider.css +38 -34
  207. package/dist/components/toast/toast-provider.d.ts +65 -3
  208. package/dist/components/toast/toast-provider.js +313 -148
  209. package/dist/components/toast/toast-provider.module.js +11 -17
  210. package/dist/components/toast/toast.d.ts +5 -1
  211. package/dist/components/toast/toast.js +2 -1
  212. package/dist/components/toggle-group-field/toggle-group.js +1 -1
  213. package/dist/components/tooltip/tooltip.d.ts +6 -6
  214. package/dist/components/tooltip/tooltip.js +7 -7
  215. package/dist/data-table/data-table-content.d.ts +18 -10
  216. package/dist/data-table/data-table-content.js +145 -290
  217. package/dist/data-table/data-table-context.d.ts +4 -2
  218. package/dist/data-table/data-table-context.js +1 -1
  219. package/dist/data-table/data-table-parts.d.ts +99 -0
  220. package/dist/data-table/data-table-parts.js +1182 -0
  221. package/dist/data-table/data-table-selection.d.ts +7 -3
  222. package/dist/data-table/data-table-selection.js +62 -37
  223. package/dist/data-table/data-table.css +100 -95
  224. package/dist/data-table/data-table.d.ts +49 -25
  225. package/dist/data-table/data-table.js +95 -83
  226. package/dist/data-table/data-table.module.js +34 -34
  227. package/dist/data-table/index.d.ts +2 -1
  228. package/dist/data-table/index.js +2 -1
  229. package/dist/data-view/use-data-view.d.ts +2 -2
  230. package/dist/data-view/use-data-view.js +2 -2
  231. package/dist/index.js +7 -8
  232. package/dist/lib/calendar/calendar-navigation.d.ts +9 -2
  233. package/dist/lib/calendar/calendar-navigation.js +72 -73
  234. package/dist/lib/calendar/calendar-year.d.ts +4 -3
  235. package/dist/lib/calendar/calendar-year.js +137 -156
  236. package/dist/lib/calendar/temporal.d.ts +18 -12
  237. package/dist/lib/calendar/temporal.js +191 -147
  238. package/dist/lib/table-storage.d.ts +2 -2
  239. package/dist/lib/table-storage.js +2 -2
  240. package/dist/lib/unsaved-changes/leave-guard.js +1 -1
  241. package/dist/terrazzo/index.d.ts +16 -0
  242. package/dist/terrazzo/index.js +94 -2
  243. package/dist/tokens.css +71 -69
  244. package/package.json +3 -2
  245. package/tokens/ref.tokens.json +0 -30
  246. package/tokens/sys.tokens.json +0 -7
  247. package/dist/assets/spinner.js +0 -28
  248. package/dist/components/checkbox-field/checkbox-glyph.d.ts +0 -12
  249. package/dist/components/checkbox-field/checkbox-glyph.js +0 -38
  250. package/dist/components/combobox-field/combobox-popup-body.d.ts +0 -34
  251. package/dist/components/combobox-field/combobox-popup-body.js +0 -142
  252. package/dist/components/conversation/conversation.context.js +0 -4
  253. package/dist/vendor/@material-design-icons/svg/outlined/add.js +0 -12
  254. package/dist/vendor/@material-design-icons/svg/outlined/arrow_downward.js +0 -12
  255. package/dist/vendor/@material-design-icons/svg/outlined/arrow_forward.js +0 -12
  256. package/dist/vendor/@material-design-icons/svg/outlined/arrow_upward.js +0 -12
  257. package/dist/vendor/@material-design-icons/svg/outlined/attach_file.js +0 -12
  258. package/dist/vendor/@material-design-icons/svg/outlined/block.js +0 -12
  259. package/dist/vendor/@material-design-icons/svg/outlined/calendar_today.js +0 -12
  260. package/dist/vendor/@material-design-icons/svg/outlined/check.js +0 -12
  261. package/dist/vendor/@material-design-icons/svg/outlined/check_circle.js +0 -12
  262. package/dist/vendor/@material-design-icons/svg/outlined/chevron_left.js +0 -12
  263. package/dist/vendor/@material-design-icons/svg/outlined/chevron_right.js +0 -12
  264. package/dist/vendor/@material-design-icons/svg/outlined/close.js +0 -12
  265. package/dist/vendor/@material-design-icons/svg/outlined/content_copy.js +0 -12
  266. package/dist/vendor/@material-design-icons/svg/outlined/date_range.js +0 -12
  267. package/dist/vendor/@material-design-icons/svg/outlined/description.js +0 -12
  268. package/dist/vendor/@material-design-icons/svg/outlined/download.js +0 -12
  269. package/dist/vendor/@material-design-icons/svg/outlined/error.js +0 -12
  270. package/dist/vendor/@material-design-icons/svg/outlined/error_outline.js +0 -12
  271. package/dist/vendor/@material-design-icons/svg/outlined/expand_less.js +0 -12
  272. package/dist/vendor/@material-design-icons/svg/outlined/expand_more.js +0 -12
  273. package/dist/vendor/@material-design-icons/svg/outlined/filter_alt.js +0 -12
  274. package/dist/vendor/@material-design-icons/svg/outlined/filter_alt_off.js +0 -12
  275. package/dist/vendor/@material-design-icons/svg/outlined/first_page.js +0 -12
  276. package/dist/vendor/@material-design-icons/svg/outlined/info.js +0 -12
  277. package/dist/vendor/@material-design-icons/svg/outlined/keyboard_arrow_down.js +0 -12
  278. package/dist/vendor/@material-design-icons/svg/outlined/last_page.js +0 -12
  279. package/dist/vendor/@material-design-icons/svg/outlined/mail.js +0 -12
  280. package/dist/vendor/@material-design-icons/svg/outlined/more_horiz.js +0 -12
  281. package/dist/vendor/@material-design-icons/svg/outlined/photo_camera.js +0 -12
  282. package/dist/vendor/@material-design-icons/svg/outlined/remove.js +0 -12
  283. package/dist/vendor/@material-design-icons/svg/outlined/restart_alt.js +0 -12
  284. package/dist/vendor/@material-design-icons/svg/outlined/restore.js +0 -12
  285. package/dist/vendor/@material-design-icons/svg/outlined/search.js +0 -12
  286. package/dist/vendor/@material-design-icons/svg/outlined/unfold_more.js +0 -12
  287. package/dist/vendor/@material-design-icons/svg/outlined/upload_file.js +0 -12
  288. package/dist/vendor/@material-design-icons/svg/outlined/visibility.js +0 -12
  289. package/dist/vendor/@material-design-icons/svg/outlined/visibility_off.js +0 -12
  290. package/dist/vendor/@material-design-icons/svg/outlined/warning_amber.js +0 -12
@@ -0,0 +1,1182 @@
1
+ import { Skeleton } from "../components/skeleton/skeleton.js";
2
+ import { Stale } from "../components/stale/stale.js";
3
+ import { useDataTable } from "./data-table-context.js";
4
+ import { resolveView } from "./resolve-view.js";
5
+ import { useStickyOffsets } from "./use-sticky-offsets.js";
6
+ import data_table_module_default from "./data-table.module.js";
7
+ import { c } from "react/compiler-runtime";
8
+ import { useRender } from "@base-ui/react/use-render";
9
+ import { clsx } from "clsx";
10
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
+ // src/data-table/data-table-parts.tsx
12
+ var ARIA_SORT = {
13
+ asc: "ascending",
14
+ desc: "descending"
15
+ };
16
+ /**
17
+ * The `aria-sort` value for a header cell, given its column's sort state.
18
+ *
19
+ * @example
20
+ * ariaSort("desc"); // -> "descending"
21
+ * ariaSort(false); // -> undefined
22
+ */
23
+ var ariaSort = (sorted) => sorted === false ? void 0 : ARIA_SORT[sorted];
24
+ /**
25
+ * Which way a column sorts, read from the table's sorting state.
26
+ *
27
+ * @example
28
+ * sortOf([{ id: "amount", desc: true }], "amount"); // -> "desc"
29
+ */
30
+ var sortOf = (sorting, columnId) => {
31
+ const entry = sorting.find((sort) => sort.id === columnId);
32
+ return entry === void 0 ? false : entry.desc ? "desc" : "asc";
33
+ };
34
+ /**
35
+ * The edge a column is pinned to and its position in that edge's group, or
36
+ * `undefined` for a column that scrolls.
37
+ *
38
+ * @example
39
+ * columnPin(columns, "actions"); // -> { side: "end", index: 0 }
40
+ */
41
+ var columnPin = (columns, id) => {
42
+ const side = columns.find((column) => column.id === id)?.columnDef.meta?.sticky;
43
+ if (side === void 0) return;
44
+ return {
45
+ side,
46
+ index: columns.filter((column) => column.columnDef.meta?.sticky === side).findIndex((column) => column.id === id)
47
+ };
48
+ };
49
+ /**
50
+ * How many columns are pinned to an edge.
51
+ *
52
+ * @example
53
+ * pinCount(columns, "start"); // -> 1
54
+ */
55
+ var pinCount = (columns, side) => columns.filter((column) => column.columnDef.meta?.sticky === side).length;
56
+ /**
57
+ * The props a column's layout options put on its header and body cells: the
58
+ * data attributes the stylesheet reads, plus the inset a pinned cell sits at.
59
+ *
60
+ * @example
61
+ * <td {...cellProps(cell.column.columnDef.meta, columnPin(columns, cell.column.id))} />
62
+ */
63
+ var cellProps = (meta, pin, inlineStyle) => ({
64
+ "data-fit": meta?.fit ? "true" : void 0,
65
+ "data-numeric": meta?.numeric ? "true" : void 0,
66
+ "data-sticky": pin?.side,
67
+ style: pin === void 0 ? inlineStyle : pin.side === "start" ? {
68
+ insetInlineStart: `var(--table-sticky-inset-${pin.index}, 0px)`,
69
+ ...inlineStyle
70
+ } : {
71
+ insetInlineEnd: `var(--table-sticky-end-${pin.index}, 0px)`,
72
+ ...inlineStyle
73
+ }
74
+ });
75
+ /**
76
+ * Which body the enclosing `DataTable` shows, whether its rows are stale, and
77
+ * whether a refresh failed over rows still on screen.
78
+ *
79
+ * @example
80
+ * const { view } = useDataTableView();
81
+ * if (view === "empty") return <DataTable.StateRow>No invoices yet.</DataTable.StateRow>;
82
+ */
83
+ var useDataTableView = () => {
84
+ const $ = c(6);
85
+ const { table, status, isFetching } = useDataTable();
86
+ let t0;
87
+ if ($[0] !== table) {
88
+ t0 = table.getRowModel();
89
+ $[0] = table;
90
+ $[1] = t0;
91
+ } else t0 = $[1];
92
+ const t1 = t0.rows.length > 0;
93
+ let t2;
94
+ if ($[2] !== isFetching || $[3] !== status || $[4] !== t1) {
95
+ t2 = resolveView({
96
+ status,
97
+ isFetching,
98
+ hasRows: t1
99
+ });
100
+ $[2] = isFetching;
101
+ $[3] = status;
102
+ $[4] = t1;
103
+ $[5] = t2;
104
+ } else t2 = $[5];
105
+ return t2;
106
+ };
107
+ /** The alert above rows still on screen when a refresh fails. Renders nothing otherwise. */
108
+ var RefreshFailed = (t0) => {
109
+ const $ = c(15);
110
+ let className;
111
+ let props;
112
+ let ref;
113
+ let render;
114
+ if ($[0] !== t0) {
115
+ ({render, className, ref, ...props} = t0);
116
+ $[0] = t0;
117
+ $[1] = className;
118
+ $[2] = props;
119
+ $[3] = ref;
120
+ $[4] = render;
121
+ } else {
122
+ className = $[1];
123
+ props = $[2];
124
+ ref = $[3];
125
+ render = $[4];
126
+ }
127
+ const { refreshFailed } = useDataTableView();
128
+ let t1;
129
+ if ($[5] !== className) {
130
+ t1 = clsx(data_table_module_default.refreshFailed, className);
131
+ $[5] = className;
132
+ $[6] = t1;
133
+ } else t1 = $[6];
134
+ let t2;
135
+ if ($[7] !== props || $[8] !== t1) {
136
+ t2 = {
137
+ role: "alert",
138
+ ...props,
139
+ className: t1
140
+ };
141
+ $[7] = props;
142
+ $[8] = t1;
143
+ $[9] = t2;
144
+ } else t2 = $[9];
145
+ let t3;
146
+ if ($[10] !== ref || $[11] !== refreshFailed || $[12] !== render || $[13] !== t2) {
147
+ t3 = {
148
+ defaultTagName: "div",
149
+ render,
150
+ ref,
151
+ enabled: refreshFailed,
152
+ props: t2
153
+ };
154
+ $[10] = ref;
155
+ $[11] = refreshFailed;
156
+ $[12] = render;
157
+ $[13] = t2;
158
+ $[14] = t3;
159
+ } else t3 = $[14];
160
+ return useRender(t3);
161
+ };
162
+ /**
163
+ * The frame that stays put around the scroller: it measures the pinned columns
164
+ * and holds the stale state, so it takes a `Scroller` and a `StaleOverlay`.
165
+ */
166
+ var Frame = (t0) => {
167
+ const $ = c(25);
168
+ let children;
169
+ let className;
170
+ let props;
171
+ let ref;
172
+ let render;
173
+ if ($[0] !== t0) {
174
+ ({render, className, ref, children, ...props} = t0);
175
+ $[0] = t0;
176
+ $[1] = children;
177
+ $[2] = className;
178
+ $[3] = props;
179
+ $[4] = ref;
180
+ $[5] = render;
181
+ } else {
182
+ children = $[1];
183
+ className = $[2];
184
+ props = $[3];
185
+ ref = $[4];
186
+ render = $[5];
187
+ }
188
+ const { table } = useDataTable();
189
+ const { stale } = useDataTableView();
190
+ let t1;
191
+ let t2;
192
+ if ($[6] !== table) {
193
+ const columns = table.getAllLeafColumns();
194
+ t1 = useStickyOffsets;
195
+ t2 = columns.filter(_temp).map(_temp2).join(",");
196
+ $[6] = table;
197
+ $[7] = t1;
198
+ $[8] = t2;
199
+ } else {
200
+ t1 = $[7];
201
+ t2 = $[8];
202
+ }
203
+ const frameRef = t1(t2);
204
+ let t3;
205
+ if ($[9] !== frameRef || $[10] !== ref) {
206
+ t3 = ref === void 0 ? frameRef : [frameRef, ref];
207
+ $[9] = frameRef;
208
+ $[10] = ref;
209
+ $[11] = t3;
210
+ } else t3 = $[11];
211
+ let t4;
212
+ if ($[12] !== className) {
213
+ t4 = clsx(data_table_module_default.scrollFrame, className);
214
+ $[12] = className;
215
+ $[13] = t4;
216
+ } else t4 = $[13];
217
+ let t5;
218
+ if ($[14] !== children || $[15] !== stale) {
219
+ t5 = /* @__PURE__ */ jsx(Stale.Root, {
220
+ busy: stale,
221
+ className: data_table_module_default.stale,
222
+ children
223
+ });
224
+ $[14] = children;
225
+ $[15] = stale;
226
+ $[16] = t5;
227
+ } else t5 = $[16];
228
+ let t6;
229
+ if ($[17] !== props || $[18] !== t4 || $[19] !== t5) {
230
+ t6 = {
231
+ ...props,
232
+ className: t4,
233
+ children: t5
234
+ };
235
+ $[17] = props;
236
+ $[18] = t4;
237
+ $[19] = t5;
238
+ $[20] = t6;
239
+ } else t6 = $[20];
240
+ let t7;
241
+ if ($[21] !== render || $[22] !== t3 || $[23] !== t6) {
242
+ t7 = {
243
+ defaultTagName: "div",
244
+ render,
245
+ ref: t3,
246
+ props: t6
247
+ };
248
+ $[21] = render;
249
+ $[22] = t3;
250
+ $[23] = t6;
251
+ $[24] = t7;
252
+ } else t7 = $[24];
253
+ return useRender(t7);
254
+ };
255
+ /** The scrolling card that holds the `Table`, dimmed while its rows are stale. */
256
+ var Scroller = (t0) => {
257
+ const $ = c(16);
258
+ let className;
259
+ let props;
260
+ let ref;
261
+ let render;
262
+ if ($[0] !== t0) {
263
+ ({render, className, ref, ...props} = t0);
264
+ $[0] = t0;
265
+ $[1] = className;
266
+ $[2] = props;
267
+ $[3] = ref;
268
+ $[4] = render;
269
+ } else {
270
+ className = $[1];
271
+ props = $[2];
272
+ ref = $[3];
273
+ render = $[4];
274
+ }
275
+ let t1;
276
+ if ($[5] !== className) {
277
+ t1 = clsx(data_table_module_default.contentWrap, className);
278
+ $[5] = className;
279
+ $[6] = t1;
280
+ } else t1 = $[6];
281
+ let t2;
282
+ if ($[7] !== props || $[8] !== t1) {
283
+ t2 = {
284
+ ...props,
285
+ "data-scroller": true,
286
+ className: t1
287
+ };
288
+ $[7] = props;
289
+ $[8] = t1;
290
+ $[9] = t2;
291
+ } else t2 = $[9];
292
+ let t3;
293
+ if ($[10] !== ref || $[11] !== render || $[12] !== t2) {
294
+ t3 = {
295
+ defaultTagName: "div",
296
+ render,
297
+ ref,
298
+ props: t2
299
+ };
300
+ $[10] = ref;
301
+ $[11] = render;
302
+ $[12] = t2;
303
+ $[13] = t3;
304
+ } else t3 = $[13];
305
+ const element = useRender(t3);
306
+ let t4;
307
+ if ($[14] !== element) {
308
+ t4 = /* @__PURE__ */ jsx(Stale.Content, {
309
+ className: data_table_module_default.stale,
310
+ children: element
311
+ });
312
+ $[14] = element;
313
+ $[15] = t4;
314
+ } else t4 = $[15];
315
+ return t4;
316
+ };
317
+ /** What covers the table once a refresh is slow: its `Stale.Message` and `Stale.Retry`. */
318
+ var StaleOverlay = (t0) => {
319
+ const $ = c(8);
320
+ let className;
321
+ let props;
322
+ if ($[0] !== t0) {
323
+ ({className, ...props} = t0);
324
+ $[0] = t0;
325
+ $[1] = className;
326
+ $[2] = props;
327
+ } else {
328
+ className = $[1];
329
+ props = $[2];
330
+ }
331
+ let t1;
332
+ if ($[3] !== className) {
333
+ t1 = clsx(data_table_module_default.staleOverlay, className);
334
+ $[3] = className;
335
+ $[4] = t1;
336
+ } else t1 = $[4];
337
+ let t2;
338
+ if ($[5] !== props || $[6] !== t1) {
339
+ t2 = /* @__PURE__ */ jsx(Stale.Overlay, {
340
+ className: t1,
341
+ ...props
342
+ });
343
+ $[5] = props;
344
+ $[6] = t1;
345
+ $[7] = t2;
346
+ } else t2 = $[7];
347
+ return t2;
348
+ };
349
+ /** The `<table>`, marked busy while its first page loads. */
350
+ var Table = (t0) => {
351
+ const $ = c(15);
352
+ let className;
353
+ let props;
354
+ let ref;
355
+ let render;
356
+ if ($[0] !== t0) {
357
+ ({render, className, ref, ...props} = t0);
358
+ $[0] = t0;
359
+ $[1] = className;
360
+ $[2] = props;
361
+ $[3] = ref;
362
+ $[4] = render;
363
+ } else {
364
+ className = $[1];
365
+ props = $[2];
366
+ ref = $[3];
367
+ render = $[4];
368
+ }
369
+ const { view } = useDataTableView();
370
+ const t1 = view === "loading" ? "true" : void 0;
371
+ let t2;
372
+ if ($[5] !== className) {
373
+ t2 = clsx(data_table_module_default.table, className);
374
+ $[5] = className;
375
+ $[6] = t2;
376
+ } else t2 = $[6];
377
+ let t3;
378
+ if ($[7] !== props || $[8] !== t1 || $[9] !== t2) {
379
+ t3 = {
380
+ "aria-busy": t1,
381
+ ...props,
382
+ className: t2
383
+ };
384
+ $[7] = props;
385
+ $[8] = t1;
386
+ $[9] = t2;
387
+ $[10] = t3;
388
+ } else t3 = $[10];
389
+ let t4;
390
+ if ($[11] !== ref || $[12] !== render || $[13] !== t3) {
391
+ t4 = {
392
+ defaultTagName: "table",
393
+ render,
394
+ ref,
395
+ props: t3
396
+ };
397
+ $[11] = ref;
398
+ $[12] = render;
399
+ $[13] = t3;
400
+ $[14] = t4;
401
+ } else t4 = $[14];
402
+ return useRender(t4);
403
+ };
404
+ /** What is announced while the first page loads, such as "Loading invoices". Renders nothing otherwise. */
405
+ var LoadingCaption = (t0) => {
406
+ const $ = c(15);
407
+ let className;
408
+ let props;
409
+ let ref;
410
+ let render;
411
+ if ($[0] !== t0) {
412
+ ({render, className, ref, ...props} = t0);
413
+ $[0] = t0;
414
+ $[1] = className;
415
+ $[2] = props;
416
+ $[3] = ref;
417
+ $[4] = render;
418
+ } else {
419
+ className = $[1];
420
+ props = $[2];
421
+ ref = $[3];
422
+ render = $[4];
423
+ }
424
+ const { view } = useDataTableView();
425
+ const t1 = view === "loading";
426
+ let t2;
427
+ if ($[5] !== className) {
428
+ t2 = clsx(data_table_module_default.busyCaption, className);
429
+ $[5] = className;
430
+ $[6] = t2;
431
+ } else t2 = $[6];
432
+ let t3;
433
+ if ($[7] !== props || $[8] !== t2) {
434
+ t3 = {
435
+ ...props,
436
+ className: t2
437
+ };
438
+ $[7] = props;
439
+ $[8] = t2;
440
+ $[9] = t3;
441
+ } else t3 = $[9];
442
+ let t4;
443
+ if ($[10] !== ref || $[11] !== render || $[12] !== t1 || $[13] !== t3) {
444
+ t4 = {
445
+ defaultTagName: "caption",
446
+ render,
447
+ ref,
448
+ enabled: t1,
449
+ props: t3
450
+ };
451
+ $[10] = ref;
452
+ $[11] = render;
453
+ $[12] = t1;
454
+ $[13] = t3;
455
+ $[14] = t4;
456
+ } else t4 = $[14];
457
+ return useRender(t4);
458
+ };
459
+ /** The header, stuck to the top of the scroller. */
460
+ var Head = (t0) => {
461
+ const $ = c(14);
462
+ let className;
463
+ let props;
464
+ let ref;
465
+ let render;
466
+ if ($[0] !== t0) {
467
+ ({render, className, ref, ...props} = t0);
468
+ $[0] = t0;
469
+ $[1] = className;
470
+ $[2] = props;
471
+ $[3] = ref;
472
+ $[4] = render;
473
+ } else {
474
+ className = $[1];
475
+ props = $[2];
476
+ ref = $[3];
477
+ render = $[4];
478
+ }
479
+ let t1;
480
+ if ($[5] !== className) {
481
+ t1 = clsx(data_table_module_default.thead, className);
482
+ $[5] = className;
483
+ $[6] = t1;
484
+ } else t1 = $[6];
485
+ let t2;
486
+ if ($[7] !== props || $[8] !== t1) {
487
+ t2 = {
488
+ ...props,
489
+ className: t1
490
+ };
491
+ $[7] = props;
492
+ $[8] = t1;
493
+ $[9] = t2;
494
+ } else t2 = $[9];
495
+ let t3;
496
+ if ($[10] !== ref || $[11] !== render || $[12] !== t2) {
497
+ t3 = {
498
+ defaultTagName: "thead",
499
+ render,
500
+ ref,
501
+ props: t2
502
+ };
503
+ $[10] = ref;
504
+ $[11] = render;
505
+ $[12] = t2;
506
+ $[13] = t3;
507
+ } else t3 = $[13];
508
+ return useRender(t3);
509
+ };
510
+ /** One row of header cells. */
511
+ var HeaderRow = (t0) => {
512
+ const $ = c(8);
513
+ let props;
514
+ let ref;
515
+ let render;
516
+ if ($[0] !== t0) {
517
+ ({render, ref, ...props} = t0);
518
+ $[0] = t0;
519
+ $[1] = props;
520
+ $[2] = ref;
521
+ $[3] = render;
522
+ } else {
523
+ props = $[1];
524
+ ref = $[2];
525
+ render = $[3];
526
+ }
527
+ let t1;
528
+ if ($[4] !== props || $[5] !== ref || $[6] !== render) {
529
+ t1 = {
530
+ defaultTagName: "tr",
531
+ render,
532
+ ref,
533
+ props
534
+ };
535
+ $[4] = props;
536
+ $[5] = ref;
537
+ $[6] = render;
538
+ $[7] = t1;
539
+ } else t1 = $[7];
540
+ return useRender(t1);
541
+ };
542
+ /**
543
+ * A column header, laid out by its column's `meta` and announcing its sort.
544
+ * It draws the column's header unless given children, such as a `SortButton`.
545
+ */
546
+ var HeaderCell = (t0) => {
547
+ const $ = c(33);
548
+ let children;
549
+ let className;
550
+ let header;
551
+ let inlineStyle;
552
+ let props;
553
+ let ref;
554
+ let render;
555
+ if ($[0] !== t0) {
556
+ ({header, render, className, style: inlineStyle, ref, children, ...props} = t0);
557
+ $[0] = t0;
558
+ $[1] = children;
559
+ $[2] = className;
560
+ $[3] = header;
561
+ $[4] = inlineStyle;
562
+ $[5] = props;
563
+ $[6] = ref;
564
+ $[7] = render;
565
+ } else {
566
+ children = $[1];
567
+ className = $[2];
568
+ header = $[3];
569
+ inlineStyle = $[4];
570
+ props = $[5];
571
+ ref = $[6];
572
+ render = $[7];
573
+ }
574
+ const { table, sorting } = useDataTable();
575
+ const t1 = header.colSpan;
576
+ let t2;
577
+ if ($[8] !== header.column.id || $[9] !== sorting) {
578
+ t2 = ariaSort(sortOf(sorting, header.column.id));
579
+ $[8] = header.column.id;
580
+ $[9] = sorting;
581
+ $[10] = t2;
582
+ } else t2 = $[10];
583
+ let t3;
584
+ if ($[11] !== header.column.columnDef.meta || $[12] !== header.column.id || $[13] !== inlineStyle || $[14] !== table) {
585
+ t3 = cellProps(header.column.columnDef.meta, columnPin(table.getAllLeafColumns(), header.column.id), inlineStyle);
586
+ $[11] = header.column.columnDef.meta;
587
+ $[12] = header.column.id;
588
+ $[13] = inlineStyle;
589
+ $[14] = table;
590
+ $[15] = t3;
591
+ } else t3 = $[15];
592
+ let t4;
593
+ if ($[16] !== className) {
594
+ t4 = clsx(data_table_module_default.th, className);
595
+ $[16] = className;
596
+ $[17] = t4;
597
+ } else t4 = $[17];
598
+ let t5;
599
+ if ($[18] !== children || $[19] !== header || $[20] !== table.FlexRender) {
600
+ t5 = children === void 0 ? header.isPlaceholder ? null : /* @__PURE__ */ jsx(table.FlexRender, { header }) : children;
601
+ $[18] = children;
602
+ $[19] = header;
603
+ $[20] = table.FlexRender;
604
+ $[21] = t5;
605
+ } else t5 = $[21];
606
+ let t6;
607
+ if ($[22] !== header.colSpan || $[23] !== props || $[24] !== t2 || $[25] !== t3 || $[26] !== t4 || $[27] !== t5) {
608
+ t6 = {
609
+ scope: "col",
610
+ colSpan: t1,
611
+ "aria-sort": t2,
612
+ ...props,
613
+ ...t3,
614
+ className: t4,
615
+ children: t5
616
+ };
617
+ $[22] = header.colSpan;
618
+ $[23] = props;
619
+ $[24] = t2;
620
+ $[25] = t3;
621
+ $[26] = t4;
622
+ $[27] = t5;
623
+ $[28] = t6;
624
+ } else t6 = $[28];
625
+ let t7;
626
+ if ($[29] !== ref || $[30] !== render || $[31] !== t6) {
627
+ t7 = {
628
+ defaultTagName: "th",
629
+ render,
630
+ ref,
631
+ props: t6
632
+ };
633
+ $[29] = ref;
634
+ $[30] = render;
635
+ $[31] = t6;
636
+ $[32] = t7;
637
+ } else t7 = $[32];
638
+ return useRender(t7);
639
+ };
640
+ /**
641
+ * The header's sort toggle, which returns the table to its first page. It
642
+ * draws the column's header unless given children, followed by the glyph for
643
+ * the column's sort, where one is given.
644
+ */
645
+ var SortButton = (t0) => {
646
+ const $ = c(31);
647
+ let children;
648
+ let className;
649
+ let header;
650
+ let onClick;
651
+ let props;
652
+ let sortAscendingIcon;
653
+ let sortDescendingIcon;
654
+ let unsortedIcon;
655
+ if ($[0] !== t0) {
656
+ ({header, sortAscendingIcon, sortDescendingIcon, unsortedIcon, className, children, onClick, ...props} = t0);
657
+ $[0] = t0;
658
+ $[1] = children;
659
+ $[2] = className;
660
+ $[3] = header;
661
+ $[4] = onClick;
662
+ $[5] = props;
663
+ $[6] = sortAscendingIcon;
664
+ $[7] = sortDescendingIcon;
665
+ $[8] = unsortedIcon;
666
+ } else {
667
+ children = $[1];
668
+ className = $[2];
669
+ header = $[3];
670
+ onClick = $[4];
671
+ props = $[5];
672
+ sortAscendingIcon = $[6];
673
+ sortDescendingIcon = $[7];
674
+ unsortedIcon = $[8];
675
+ }
676
+ const { table, sorting } = useDataTable();
677
+ let t1;
678
+ if ($[9] !== header.column.id || $[10] !== sorting) {
679
+ t1 = sortOf(sorting, header.column.id);
680
+ $[9] = header.column.id;
681
+ $[10] = sorting;
682
+ $[11] = t1;
683
+ } else t1 = $[11];
684
+ const sorted = t1;
685
+ const icon = sorted === "asc" ? sortAscendingIcon : sorted === "desc" ? sortDescendingIcon : unsortedIcon;
686
+ let t2;
687
+ if ($[12] !== className) {
688
+ t2 = clsx(data_table_module_default.sortToggle, className);
689
+ $[12] = className;
690
+ $[13] = t2;
691
+ } else t2 = $[13];
692
+ let t3;
693
+ if ($[14] !== header.column || $[15] !== onClick || $[16] !== table) {
694
+ t3 = (event) => {
695
+ onClick?.(event);
696
+ header.column.toggleSorting();
697
+ table.setPageIndex(0);
698
+ };
699
+ $[14] = header.column;
700
+ $[15] = onClick;
701
+ $[16] = table;
702
+ $[17] = t3;
703
+ } else t3 = $[17];
704
+ let t4;
705
+ if ($[18] !== children || $[19] !== header || $[20] !== table) {
706
+ t4 = children ?? /* @__PURE__ */ jsx(table.FlexRender, { header });
707
+ $[18] = children;
708
+ $[19] = header;
709
+ $[20] = table;
710
+ $[21] = t4;
711
+ } else t4 = $[21];
712
+ let t5;
713
+ if ($[22] !== icon || $[23] !== sorted) {
714
+ t5 = icon === void 0 || icon === null ? null : /* @__PURE__ */ jsx("span", {
715
+ className: data_table_module_default.sortIcon,
716
+ "data-sort": sorted === false ? "none" : sorted,
717
+ "aria-hidden": "true",
718
+ children: icon
719
+ });
720
+ $[22] = icon;
721
+ $[23] = sorted;
722
+ $[24] = t5;
723
+ } else t5 = $[24];
724
+ let t6;
725
+ if ($[25] !== props || $[26] !== t2 || $[27] !== t3 || $[28] !== t4 || $[29] !== t5) {
726
+ t6 = /* @__PURE__ */ jsxs("button", {
727
+ type: "button",
728
+ ...props,
729
+ className: t2,
730
+ onClick: t3,
731
+ children: [t4, t5]
732
+ });
733
+ $[25] = props;
734
+ $[26] = t2;
735
+ $[27] = t3;
736
+ $[28] = t4;
737
+ $[29] = t5;
738
+ $[30] = t6;
739
+ } else t6 = $[30];
740
+ return t6;
741
+ };
742
+ /** The body: the page's `Row`s, the `PlaceholderRows` or a `StateRow`. */
743
+ var Body = (t0) => {
744
+ const $ = c(8);
745
+ let props;
746
+ let ref;
747
+ let render;
748
+ if ($[0] !== t0) {
749
+ ({render, ref, ...props} = t0);
750
+ $[0] = t0;
751
+ $[1] = props;
752
+ $[2] = ref;
753
+ $[3] = render;
754
+ } else {
755
+ props = $[1];
756
+ ref = $[2];
757
+ render = $[3];
758
+ }
759
+ let t1;
760
+ if ($[4] !== props || $[5] !== ref || $[6] !== render) {
761
+ t1 = {
762
+ defaultTagName: "tbody",
763
+ render,
764
+ ref,
765
+ props
766
+ };
767
+ $[4] = props;
768
+ $[5] = ref;
769
+ $[6] = render;
770
+ $[7] = t1;
771
+ } else t1 = $[7];
772
+ return useRender(t1);
773
+ };
774
+ /** A body row, striped on every other row. */
775
+ var Row = (t0) => {
776
+ const $ = c(16);
777
+ let className;
778
+ let props;
779
+ let ref;
780
+ let render;
781
+ let row;
782
+ if ($[0] !== t0) {
783
+ ({row, render, className, ref, ...props} = t0);
784
+ $[0] = t0;
785
+ $[1] = className;
786
+ $[2] = props;
787
+ $[3] = ref;
788
+ $[4] = render;
789
+ $[5] = row;
790
+ } else {
791
+ className = $[1];
792
+ props = $[2];
793
+ ref = $[3];
794
+ render = $[4];
795
+ row = $[5];
796
+ }
797
+ const t1 = row.index % 2 === 1 ? "true" : void 0;
798
+ let t2;
799
+ if ($[6] !== className) {
800
+ t2 = clsx(data_table_module_default.row, className);
801
+ $[6] = className;
802
+ $[7] = t2;
803
+ } else t2 = $[7];
804
+ let t3;
805
+ if ($[8] !== props || $[9] !== t1 || $[10] !== t2) {
806
+ t3 = {
807
+ "data-stripe": t1,
808
+ ...props,
809
+ className: t2
810
+ };
811
+ $[8] = props;
812
+ $[9] = t1;
813
+ $[10] = t2;
814
+ $[11] = t3;
815
+ } else t3 = $[11];
816
+ let t4;
817
+ if ($[12] !== ref || $[13] !== render || $[14] !== t3) {
818
+ t4 = {
819
+ defaultTagName: "tr",
820
+ render,
821
+ ref,
822
+ props: t3
823
+ };
824
+ $[12] = ref;
825
+ $[13] = render;
826
+ $[14] = t3;
827
+ $[15] = t4;
828
+ } else t4 = $[15];
829
+ return useRender(t4);
830
+ };
831
+ /** A body cell, laid out by its column's `meta`. It draws the column's cell unless given children. */
832
+ var Cell = (t0) => {
833
+ const $ = c(28);
834
+ let cell;
835
+ let children;
836
+ let className;
837
+ let inlineStyle;
838
+ let props;
839
+ let ref;
840
+ let render;
841
+ if ($[0] !== t0) {
842
+ ({cell, render, className, style: inlineStyle, ref, children, ...props} = t0);
843
+ $[0] = t0;
844
+ $[1] = cell;
845
+ $[2] = children;
846
+ $[3] = className;
847
+ $[4] = inlineStyle;
848
+ $[5] = props;
849
+ $[6] = ref;
850
+ $[7] = render;
851
+ } else {
852
+ cell = $[1];
853
+ children = $[2];
854
+ className = $[3];
855
+ inlineStyle = $[4];
856
+ props = $[5];
857
+ ref = $[6];
858
+ render = $[7];
859
+ }
860
+ const { table } = useDataTable();
861
+ let t1;
862
+ if ($[8] !== cell.column.columnDef.meta || $[9] !== cell.column.id || $[10] !== inlineStyle || $[11] !== table) {
863
+ t1 = cellProps(cell.column.columnDef.meta, columnPin(table.getAllLeafColumns(), cell.column.id), inlineStyle);
864
+ $[8] = cell.column.columnDef.meta;
865
+ $[9] = cell.column.id;
866
+ $[10] = inlineStyle;
867
+ $[11] = table;
868
+ $[12] = t1;
869
+ } else t1 = $[12];
870
+ let t2;
871
+ if ($[13] !== className) {
872
+ t2 = clsx(data_table_module_default.td, className);
873
+ $[13] = className;
874
+ $[14] = t2;
875
+ } else t2 = $[14];
876
+ let t3;
877
+ if ($[15] !== cell || $[16] !== children || $[17] !== table.FlexRender) {
878
+ t3 = children ?? /* @__PURE__ */ jsx(table.FlexRender, { cell });
879
+ $[15] = cell;
880
+ $[16] = children;
881
+ $[17] = table.FlexRender;
882
+ $[18] = t3;
883
+ } else t3 = $[18];
884
+ let t4;
885
+ if ($[19] !== props || $[20] !== t1 || $[21] !== t2 || $[22] !== t3) {
886
+ t4 = {
887
+ ...props,
888
+ ...t1,
889
+ className: t2,
890
+ children: t3
891
+ };
892
+ $[19] = props;
893
+ $[20] = t1;
894
+ $[21] = t2;
895
+ $[22] = t3;
896
+ $[23] = t4;
897
+ } else t4 = $[23];
898
+ let t5;
899
+ if ($[24] !== ref || $[25] !== render || $[26] !== t4) {
900
+ t5 = {
901
+ defaultTagName: "td",
902
+ render,
903
+ ref,
904
+ props: t4
905
+ };
906
+ $[24] = ref;
907
+ $[25] = render;
908
+ $[26] = t4;
909
+ $[27] = t5;
910
+ } else t5 = $[27];
911
+ return useRender(t5);
912
+ };
913
+ /**
914
+ * The full-width row beneath an expanded row, holding its children. The pinned
915
+ * columns keep their place beside it.
916
+ */
917
+ var SubRow = (t0) => {
918
+ const $ = c(31);
919
+ let children;
920
+ let className;
921
+ let props;
922
+ let ref;
923
+ let render;
924
+ if ($[0] !== t0) {
925
+ ({render, className, ref, children, ...props} = t0);
926
+ $[0] = t0;
927
+ $[1] = children;
928
+ $[2] = className;
929
+ $[3] = props;
930
+ $[4] = ref;
931
+ $[5] = render;
932
+ } else {
933
+ children = $[1];
934
+ className = $[2];
935
+ props = $[3];
936
+ ref = $[4];
937
+ render = $[5];
938
+ }
939
+ const { table } = useDataTable();
940
+ let columns;
941
+ let startPins;
942
+ let t1;
943
+ if ($[6] !== table) {
944
+ columns = table.getAllLeafColumns();
945
+ startPins = pinCount(columns, "start");
946
+ t1 = pinCount(columns, "end");
947
+ $[6] = table;
948
+ $[7] = columns;
949
+ $[8] = startPins;
950
+ $[9] = t1;
951
+ } else {
952
+ columns = $[7];
953
+ startPins = $[8];
954
+ t1 = $[9];
955
+ }
956
+ const endPins = t1;
957
+ let t2;
958
+ if ($[10] !== className) {
959
+ t2 = clsx(data_table_module_default.subRow, className);
960
+ $[10] = className;
961
+ $[11] = t2;
962
+ } else t2 = $[11];
963
+ let t3;
964
+ if ($[12] !== startPins) {
965
+ t3 = startPins > 0 ? /* @__PURE__ */ jsx("td", {
966
+ className: data_table_module_default.td,
967
+ colSpan: startPins,
968
+ "data-sticky": "start",
969
+ style: { insetInlineStart: 0 }
970
+ }) : null;
971
+ $[12] = startPins;
972
+ $[13] = t3;
973
+ } else t3 = $[13];
974
+ const t4 = columns.length - startPins - endPins;
975
+ let t5;
976
+ if ($[14] !== children || $[15] !== t4) {
977
+ t5 = /* @__PURE__ */ jsx("td", {
978
+ colSpan: t4,
979
+ children
980
+ });
981
+ $[14] = children;
982
+ $[15] = t4;
983
+ $[16] = t5;
984
+ } else t5 = $[16];
985
+ let t6;
986
+ if ($[17] !== endPins) {
987
+ t6 = endPins > 0 ? /* @__PURE__ */ jsx("td", {
988
+ className: data_table_module_default.td,
989
+ colSpan: endPins,
990
+ "data-sticky": "end",
991
+ style: { insetInlineEnd: 0 }
992
+ }) : null;
993
+ $[17] = endPins;
994
+ $[18] = t6;
995
+ } else t6 = $[18];
996
+ let t7;
997
+ if ($[19] !== t3 || $[20] !== t5 || $[21] !== t6) {
998
+ t7 = /* @__PURE__ */ jsxs(Fragment, { children: [
999
+ t3,
1000
+ t5,
1001
+ t6
1002
+ ] });
1003
+ $[19] = t3;
1004
+ $[20] = t5;
1005
+ $[21] = t6;
1006
+ $[22] = t7;
1007
+ } else t7 = $[22];
1008
+ let t8;
1009
+ if ($[23] !== props || $[24] !== t2 || $[25] !== t7) {
1010
+ t8 = {
1011
+ ...props,
1012
+ className: t2,
1013
+ children: t7
1014
+ };
1015
+ $[23] = props;
1016
+ $[24] = t2;
1017
+ $[25] = t7;
1018
+ $[26] = t8;
1019
+ } else t8 = $[26];
1020
+ let t9;
1021
+ if ($[27] !== ref || $[28] !== render || $[29] !== t8) {
1022
+ t9 = {
1023
+ defaultTagName: "tr",
1024
+ render,
1025
+ ref,
1026
+ props: t8
1027
+ };
1028
+ $[27] = ref;
1029
+ $[28] = render;
1030
+ $[29] = t8;
1031
+ $[30] = t9;
1032
+ } else t9 = $[30];
1033
+ return useRender(t9);
1034
+ };
1035
+ /**
1036
+ * Inert placeholder rows for a first load: one row per row of the selected page
1037
+ * size. A column that declares a `placeholderCell` draws it; every other column
1038
+ * gets a skeleton bar.
1039
+ */
1040
+ var PlaceholderRows = () => {
1041
+ const $ = c(2);
1042
+ const { table } = useDataTable();
1043
+ let t0;
1044
+ if ($[0] !== table) {
1045
+ const columns = table.getAllLeafColumns();
1046
+ t0 = Array.from({ length: table.state.pagination.pageSize }, (_, index) => /* @__PURE__ */ jsx("tr", {
1047
+ className: data_table_module_default.row,
1048
+ "data-stripe": index % 2 === 1 ? "true" : void 0,
1049
+ inert: true,
1050
+ children: columns.map((column) => /* @__PURE__ */ jsx("td", {
1051
+ className: data_table_module_default.td,
1052
+ ...cellProps(column.columnDef.meta, columnPin(columns, column.id), void 0),
1053
+ children: column.columnDef.meta?.placeholderCell?.() ?? /* @__PURE__ */ jsx(Skeleton, { className: data_table_module_default.skeletonBar })
1054
+ }, column.id))
1055
+ }, index));
1056
+ $[0] = table;
1057
+ $[1] = t0;
1058
+ } else t0 = $[1];
1059
+ return t0;
1060
+ };
1061
+ /** A row across every column for the body's state, such as the empty state or an `ErrorMessage`. */
1062
+ var StateRow = (t0) => {
1063
+ const $ = c(17);
1064
+ let children;
1065
+ let props;
1066
+ let ref;
1067
+ let render;
1068
+ if ($[0] !== t0) {
1069
+ ({render, ref, children, ...props} = t0);
1070
+ $[0] = t0;
1071
+ $[1] = children;
1072
+ $[2] = props;
1073
+ $[3] = ref;
1074
+ $[4] = render;
1075
+ } else {
1076
+ children = $[1];
1077
+ props = $[2];
1078
+ ref = $[3];
1079
+ render = $[4];
1080
+ }
1081
+ const { table } = useDataTable();
1082
+ let t1;
1083
+ if ($[5] !== table) {
1084
+ t1 = table.getAllLeafColumns();
1085
+ $[5] = table;
1086
+ $[6] = t1;
1087
+ } else t1 = $[6];
1088
+ let t2;
1089
+ if ($[7] !== children || $[8] !== t1.length) {
1090
+ t2 = /* @__PURE__ */ jsx("td", {
1091
+ colSpan: t1.length,
1092
+ className: data_table_module_default.stateCell,
1093
+ children
1094
+ });
1095
+ $[7] = children;
1096
+ $[8] = t1.length;
1097
+ $[9] = t2;
1098
+ } else t2 = $[9];
1099
+ let t3;
1100
+ if ($[10] !== props || $[11] !== t2) {
1101
+ t3 = {
1102
+ ...props,
1103
+ children: t2
1104
+ };
1105
+ $[10] = props;
1106
+ $[11] = t2;
1107
+ $[12] = t3;
1108
+ } else t3 = $[12];
1109
+ let t4;
1110
+ if ($[13] !== ref || $[14] !== render || $[15] !== t3) {
1111
+ t4 = {
1112
+ defaultTagName: "tr",
1113
+ render,
1114
+ ref,
1115
+ props: t3
1116
+ };
1117
+ $[13] = ref;
1118
+ $[14] = render;
1119
+ $[15] = t3;
1120
+ $[16] = t4;
1121
+ } else t4 = $[16];
1122
+ return useRender(t4);
1123
+ };
1124
+ /** What a failed first load says, as an alert. */
1125
+ var ErrorMessage = (t0) => {
1126
+ const $ = c(14);
1127
+ let className;
1128
+ let props;
1129
+ let ref;
1130
+ let render;
1131
+ if ($[0] !== t0) {
1132
+ ({render, className, ref, ...props} = t0);
1133
+ $[0] = t0;
1134
+ $[1] = className;
1135
+ $[2] = props;
1136
+ $[3] = ref;
1137
+ $[4] = render;
1138
+ } else {
1139
+ className = $[1];
1140
+ props = $[2];
1141
+ ref = $[3];
1142
+ render = $[4];
1143
+ }
1144
+ let t1;
1145
+ if ($[5] !== className) {
1146
+ t1 = clsx(data_table_module_default.errorState, className);
1147
+ $[5] = className;
1148
+ $[6] = t1;
1149
+ } else t1 = $[6];
1150
+ let t2;
1151
+ if ($[7] !== props || $[8] !== t1) {
1152
+ t2 = {
1153
+ role: "alert",
1154
+ ...props,
1155
+ className: t1
1156
+ };
1157
+ $[7] = props;
1158
+ $[8] = t1;
1159
+ $[9] = t2;
1160
+ } else t2 = $[9];
1161
+ let t3;
1162
+ if ($[10] !== ref || $[11] !== render || $[12] !== t2) {
1163
+ t3 = {
1164
+ defaultTagName: "span",
1165
+ render,
1166
+ ref,
1167
+ props: t2
1168
+ };
1169
+ $[10] = ref;
1170
+ $[11] = render;
1171
+ $[12] = t2;
1172
+ $[13] = t3;
1173
+ } else t3 = $[13];
1174
+ return useRender(t3);
1175
+ };
1176
+ function _temp(column) {
1177
+ return column.columnDef.meta?.sticky !== void 0;
1178
+ }
1179
+ function _temp2(column_0) {
1180
+ return `${column_0.id}:${column_0.columnDef.meta?.sticky}`;
1181
+ }
1182
+ export { Body, Cell, ErrorMessage, Frame, Head, HeaderCell, HeaderRow, LoadingCaption, PlaceholderRows, RefreshFailed, Row, Scroller, SortButton, StaleOverlay, StateRow, SubRow, Table, useDataTableView };