@igne-agency/react-web-ui 0.3.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 (292) 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.css +4 -3
  113. package/dist/components/fieldset/fieldset.js +1 -1
  114. package/dist/components/fieldset/fieldset.module.js +2 -2
  115. package/dist/components/file-field/file-field.css +19 -15
  116. package/dist/components/file-field/file-field.d.ts +10 -1
  117. package/dist/components/file-field/file-field.js +130 -109
  118. package/dist/components/file-field/file-field.module.js +6 -4
  119. package/dist/components/file-field/file-input.d.ts +32 -9
  120. package/dist/components/file-field/file-input.js +94 -74
  121. package/dist/components/filter-bar/filter-bar.d.ts +79 -51
  122. package/dist/components/filter-bar/filter-bar.js +552 -216
  123. package/dist/components/form/form.d.ts +4 -6
  124. package/dist/components/form/form.js +6 -8
  125. package/dist/components/icon/icon.d.ts +5 -10
  126. package/dist/components/icon/icon.js +4 -6
  127. package/dist/components/link/link.js +1 -1
  128. package/dist/components/link-button/link-button.d.ts +1 -2
  129. package/dist/components/link-button/link-button.js +12 -22
  130. package/dist/components/loading-message/loading-message.d.ts +2 -2
  131. package/dist/components/loading-message/loading-message.js +1 -1
  132. package/dist/components/locale-provider/locale-provider.js +1 -1
  133. package/dist/components/menu/menu.d.ts +40 -22
  134. package/dist/components/menu/menu.js +100 -40
  135. package/dist/components/nav/nav-context.d.ts +0 -1
  136. package/dist/components/nav/nav-context.js +1 -2
  137. package/dist/components/nav/nav-item-view.d.ts +7 -7
  138. package/dist/components/nav/nav-item-view.js +27 -51
  139. package/dist/components/nav/nav.css +72 -60
  140. package/dist/components/nav/nav.d.ts +15 -8
  141. package/dist/components/nav/nav.js +105 -52
  142. package/dist/components/nav/nav.module.js +14 -14
  143. package/dist/components/number-field/number-field.d.ts +7 -1
  144. package/dist/components/number-field/number-field.js +98 -82
  145. package/dist/components/number-field/number-input.d.ts +53 -4
  146. package/dist/components/number-field/number-input.js +68 -21
  147. package/dist/components/number-field/tsf-number-field.d.ts +1 -1
  148. package/dist/components/number-field/tsf-number-field.js +1 -1
  149. package/dist/components/otp-field/otp-input.d.ts +25 -0
  150. package/dist/components/otp-field/otp-input.js +26 -1
  151. package/dist/components/pagination/pagination.d.ts +82 -23
  152. package/dist/components/pagination/pagination.js +656 -229
  153. package/dist/components/password-field/password-field.d.ts +7 -1
  154. package/dist/components/password-field/password-field.js +117 -126
  155. package/dist/components/password-field/password-strength.js +1 -1
  156. package/dist/components/password-field/tsf-password-field.d.ts +1 -1
  157. package/dist/components/password-field/tsf-password-field.js +1 -1
  158. package/dist/components/photo-field/photo-field.d.ts +17 -3
  159. package/dist/components/photo-field/photo-field.js +168 -89
  160. package/dist/components/photo-field/photo-input-context.d.ts +25 -0
  161. package/dist/components/photo-field/photo-input-context.js +14 -0
  162. package/dist/components/photo-field/photo-input.d.ts +58 -23
  163. package/dist/components/photo-field/photo-input.js +459 -261
  164. package/dist/components/popover/popover.d.ts +55 -23
  165. package/dist/components/popover/popover.js +205 -61
  166. package/dist/components/radio-group-field/radio-group.js +1 -1
  167. package/dist/components/search-field/search-field.d.ts +7 -5
  168. package/dist/components/search-field/search-field.js +4 -6
  169. package/dist/components/search-field/tsf-search-field.d.ts +1 -1
  170. package/dist/components/search-field/tsf-search-field.js +1 -1
  171. package/dist/components/segmented-control-field/segmented-control.js +1 -1
  172. package/dist/components/select-field/select-field.d.ts +7 -1
  173. package/dist/components/select-field/select-field.js +151 -139
  174. package/dist/components/select-field/select.d.ts +28 -6
  175. package/dist/components/select-field/select.js +234 -149
  176. package/dist/components/skeleton/skeleton.js +1 -1
  177. package/dist/components/spinner/spinner.css +47 -1
  178. package/dist/components/spinner/spinner.js +28 -11
  179. package/dist/components/spinner/spinner.module.js +18 -3
  180. package/dist/components/stale/stale.d.ts +17 -21
  181. package/dist/components/stale/stale.js +307 -129
  182. package/dist/components/status-message/status-message.css +22 -21
  183. package/dist/components/status-message/status-message.d.ts +10 -5
  184. package/dist/components/status-message/status-message.js +20 -24
  185. package/dist/components/status-message/status-message.module.js +6 -6
  186. package/dist/components/status-message/status-preset.d.ts +4 -5
  187. package/dist/components/status-message/status-preset.js +3 -3
  188. package/dist/components/switch-field/switch.js +1 -1
  189. package/dist/components/tabs/tabs.d.ts +51 -28
  190. package/dist/components/tabs/tabs.js +219 -144
  191. package/dist/components/tag/tag.css +23 -21
  192. package/dist/components/tag/tag.d.ts +17 -15
  193. package/dist/components/tag/tag.js +140 -65
  194. package/dist/components/tag/tag.module.js +3 -3
  195. package/dist/components/tag-group/tag-group.css +30 -27
  196. package/dist/components/tag-group/tag-group.d.ts +10 -4
  197. package/dist/components/tag-group/tag-group.js +47 -35
  198. package/dist/components/tag-group/tag-group.module.js +4 -4
  199. package/dist/components/text-field/text-field.d.ts +14 -3
  200. package/dist/components/text-field/text-field.js +154 -133
  201. package/dist/components/text-field/text-input.d.ts +89 -3
  202. package/dist/components/text-field/text-input.js +184 -70
  203. package/dist/components/textarea-field/textarea.js +1 -1
  204. package/dist/components/time-field/time-input.d.ts +6 -0
  205. package/dist/components/time-field/time-input.js +6 -0
  206. package/dist/components/time-zone-provider/time-zone-provider.js +1 -1
  207. package/dist/components/toast/index.js +2 -2
  208. package/dist/components/toast/toast-provider.css +38 -34
  209. package/dist/components/toast/toast-provider.d.ts +65 -3
  210. package/dist/components/toast/toast-provider.js +313 -148
  211. package/dist/components/toast/toast-provider.module.js +11 -17
  212. package/dist/components/toast/toast.d.ts +5 -1
  213. package/dist/components/toast/toast.js +2 -1
  214. package/dist/components/toggle-group-field/toggle-group.js +1 -1
  215. package/dist/components/tooltip/tooltip.d.ts +6 -6
  216. package/dist/components/tooltip/tooltip.js +7 -7
  217. package/dist/data-table/data-table-content.d.ts +18 -10
  218. package/dist/data-table/data-table-content.js +145 -290
  219. package/dist/data-table/data-table-context.d.ts +4 -2
  220. package/dist/data-table/data-table-context.js +1 -1
  221. package/dist/data-table/data-table-parts.d.ts +99 -0
  222. package/dist/data-table/data-table-parts.js +1182 -0
  223. package/dist/data-table/data-table-selection.d.ts +7 -3
  224. package/dist/data-table/data-table-selection.js +62 -37
  225. package/dist/data-table/data-table.css +100 -95
  226. package/dist/data-table/data-table.d.ts +49 -25
  227. package/dist/data-table/data-table.js +95 -83
  228. package/dist/data-table/data-table.module.js +34 -34
  229. package/dist/data-table/index.d.ts +2 -1
  230. package/dist/data-table/index.js +2 -1
  231. package/dist/data-view/use-data-view.d.ts +2 -2
  232. package/dist/data-view/use-data-view.js +2 -2
  233. package/dist/index.js +7 -8
  234. package/dist/lib/calendar/calendar-navigation.d.ts +9 -2
  235. package/dist/lib/calendar/calendar-navigation.js +72 -73
  236. package/dist/lib/calendar/calendar-year.d.ts +4 -3
  237. package/dist/lib/calendar/calendar-year.js +137 -156
  238. package/dist/lib/calendar/temporal.d.ts +18 -12
  239. package/dist/lib/calendar/temporal.js +191 -147
  240. package/dist/lib/table-storage.d.ts +2 -2
  241. package/dist/lib/table-storage.js +2 -2
  242. package/dist/lib/unsaved-changes/leave-guard.js +1 -1
  243. package/dist/terrazzo/index.d.ts +16 -0
  244. package/dist/terrazzo/index.js +94 -2
  245. package/dist/tokens.css +71 -69
  246. package/package.json +3 -2
  247. package/tokens/ref.tokens.json +0 -30
  248. package/tokens/sys.tokens.json +0 -7
  249. package/dist/assets/spinner.js +0 -28
  250. package/dist/components/checkbox-field/checkbox-glyph.d.ts +0 -12
  251. package/dist/components/checkbox-field/checkbox-glyph.js +0 -38
  252. package/dist/components/combobox-field/combobox-popup-body.d.ts +0 -34
  253. package/dist/components/combobox-field/combobox-popup-body.js +0 -142
  254. package/dist/components/conversation/conversation.context.js +0 -4
  255. package/dist/vendor/@material-design-icons/svg/outlined/add.js +0 -12
  256. package/dist/vendor/@material-design-icons/svg/outlined/arrow_downward.js +0 -12
  257. package/dist/vendor/@material-design-icons/svg/outlined/arrow_forward.js +0 -12
  258. package/dist/vendor/@material-design-icons/svg/outlined/arrow_upward.js +0 -12
  259. package/dist/vendor/@material-design-icons/svg/outlined/attach_file.js +0 -12
  260. package/dist/vendor/@material-design-icons/svg/outlined/block.js +0 -12
  261. package/dist/vendor/@material-design-icons/svg/outlined/calendar_today.js +0 -12
  262. package/dist/vendor/@material-design-icons/svg/outlined/check.js +0 -12
  263. package/dist/vendor/@material-design-icons/svg/outlined/check_circle.js +0 -12
  264. package/dist/vendor/@material-design-icons/svg/outlined/chevron_left.js +0 -12
  265. package/dist/vendor/@material-design-icons/svg/outlined/chevron_right.js +0 -12
  266. package/dist/vendor/@material-design-icons/svg/outlined/close.js +0 -12
  267. package/dist/vendor/@material-design-icons/svg/outlined/content_copy.js +0 -12
  268. package/dist/vendor/@material-design-icons/svg/outlined/date_range.js +0 -12
  269. package/dist/vendor/@material-design-icons/svg/outlined/description.js +0 -12
  270. package/dist/vendor/@material-design-icons/svg/outlined/download.js +0 -12
  271. package/dist/vendor/@material-design-icons/svg/outlined/error.js +0 -12
  272. package/dist/vendor/@material-design-icons/svg/outlined/error_outline.js +0 -12
  273. package/dist/vendor/@material-design-icons/svg/outlined/expand_less.js +0 -12
  274. package/dist/vendor/@material-design-icons/svg/outlined/expand_more.js +0 -12
  275. package/dist/vendor/@material-design-icons/svg/outlined/filter_alt.js +0 -12
  276. package/dist/vendor/@material-design-icons/svg/outlined/filter_alt_off.js +0 -12
  277. package/dist/vendor/@material-design-icons/svg/outlined/first_page.js +0 -12
  278. package/dist/vendor/@material-design-icons/svg/outlined/info.js +0 -12
  279. package/dist/vendor/@material-design-icons/svg/outlined/keyboard_arrow_down.js +0 -12
  280. package/dist/vendor/@material-design-icons/svg/outlined/last_page.js +0 -12
  281. package/dist/vendor/@material-design-icons/svg/outlined/mail.js +0 -12
  282. package/dist/vendor/@material-design-icons/svg/outlined/more_horiz.js +0 -12
  283. package/dist/vendor/@material-design-icons/svg/outlined/photo_camera.js +0 -12
  284. package/dist/vendor/@material-design-icons/svg/outlined/remove.js +0 -12
  285. package/dist/vendor/@material-design-icons/svg/outlined/restart_alt.js +0 -12
  286. package/dist/vendor/@material-design-icons/svg/outlined/restore.js +0 -12
  287. package/dist/vendor/@material-design-icons/svg/outlined/search.js +0 -12
  288. package/dist/vendor/@material-design-icons/svg/outlined/unfold_more.js +0 -12
  289. package/dist/vendor/@material-design-icons/svg/outlined/upload_file.js +0 -12
  290. package/dist/vendor/@material-design-icons/svg/outlined/visibility.js +0 -12
  291. package/dist/vendor/@material-design-icons/svg/outlined/visibility_off.js +0 -12
  292. 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 };