@rio-cloud/rio-uikit 2.3.0-beta.1 → 2.3.0-beta.2

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 (294) hide show
  1. package/DayPicker.js +6 -2
  2. package/DayPicker.js.map +1 -1
  3. package/DayPickerCalendar.d.ts +2 -0
  4. package/DayPickerCalendar.js +5 -0
  5. package/DayPickerCalendar.js.map +1 -0
  6. package/DayPickerPrototype.d.ts +2 -0
  7. package/DayPickerPrototype.js +5 -0
  8. package/DayPickerPrototype.js.map +1 -0
  9. package/TableNext.d.ts +2 -0
  10. package/TableNext.js +23 -0
  11. package/TableNext.js.map +1 -0
  12. package/TableToolbar.js +3 -2
  13. package/TableToolbar.js.map +1 -1
  14. package/components/assetTree/Tree.js +13 -13
  15. package/components/charts/Area.d.ts +5 -3
  16. package/components/charts/Area.js +4 -3
  17. package/components/charts/Area.js.map +1 -1
  18. package/components/charts/AreaChart.js.map +1 -1
  19. package/components/charts/ComposedChart.js.map +1 -1
  20. package/components/clearableInput/ClearableInput.d.ts +30 -0
  21. package/components/clearableInput/ClearableInput.js +81 -78
  22. package/components/clearableInput/ClearableInput.js.map +1 -1
  23. package/components/datepicker/DayPicker.d.ts +4 -51
  24. package/components/datepicker/DayPicker.js +264 -256
  25. package/components/datepicker/DayPicker.js.map +1 -1
  26. package/components/datepicker/DayPickerCalendar.d.ts +4 -0
  27. package/components/datepicker/DayPickerCalendar.js +129 -0
  28. package/components/datepicker/DayPickerCalendar.js.map +1 -0
  29. package/components/datepicker/DayPickerDropdown.d.ts +18 -0
  30. package/components/datepicker/DayPickerDropdown.js +75 -0
  31. package/components/datepicker/DayPickerDropdown.js.map +1 -0
  32. package/components/datepicker/DayPickerDropdownFooter.d.ts +7 -0
  33. package/components/datepicker/DayPickerDropdownFooter.js +7 -0
  34. package/components/datepicker/DayPickerDropdownFooter.js.map +1 -0
  35. package/components/datepicker/DayPickerDropdownSidebar.d.ts +8 -0
  36. package/components/datepicker/DayPickerDropdownSidebar.js +7 -0
  37. package/components/datepicker/DayPickerDropdownSidebar.js.map +1 -0
  38. package/components/datepicker/DayPickerInput.d.ts +28 -0
  39. package/components/datepicker/DayPickerInput.js +65 -0
  40. package/components/datepicker/DayPickerInput.js.map +1 -0
  41. package/components/datepicker/DayPickerPrototype.d.ts +53 -0
  42. package/components/datepicker/DayPickerPrototype.js +285 -0
  43. package/components/datepicker/DayPickerPrototype.js.map +1 -0
  44. package/components/datepicker/dayPickerRangeSelectionUtils.d.ts +15 -0
  45. package/components/datepicker/dayPickerRangeSelectionUtils.js +31 -0
  46. package/components/datepicker/dayPickerRangeSelectionUtils.js.map +1 -0
  47. package/components/datepicker/dayPickerTypes.d.ts +517 -0
  48. package/components/datepicker/dayPickerTypes.js +7 -0
  49. package/components/datepicker/dayPickerTypes.js.map +1 -0
  50. package/components/datepicker/dayPickerUtils.d.ts +10 -0
  51. package/components/datepicker/dayPickerUtils.js +92 -0
  52. package/components/datepicker/dayPickerUtils.js.map +1 -0
  53. package/components/datepicker/useDayPickerInputState.d.ts +32 -0
  54. package/components/datepicker/useDayPickerInputState.js +85 -0
  55. package/components/datepicker/useDayPickerInputState.js.map +1 -0
  56. package/components/datepicker/useStackedDayPickerCalendars.d.ts +5 -0
  57. package/components/datepicker/useStackedDayPickerCalendars.js +39 -0
  58. package/components/datepicker/useStackedDayPickerCalendars.js.map +1 -0
  59. package/components/divider/Divider.js +6 -6
  60. package/components/dropdown/ButtonDropdown.d.ts +4 -0
  61. package/components/dropdown/ButtonDropdown.js +70 -68
  62. package/components/dropdown/ButtonDropdown.js.map +1 -1
  63. package/components/dropdown/DropdownToggleButton.d.ts +1 -0
  64. package/components/dropdown/DropdownToggleButton.js +17 -15
  65. package/components/dropdown/DropdownToggleButton.js.map +1 -1
  66. package/components/fade/FadeExpander.js +17 -20
  67. package/components/fade/FadeExpander.js.map +1 -1
  68. package/components/loadMore/LoadMoreProgress.js +6 -7
  69. package/components/map/components/Map.js +3 -3
  70. package/components/map/utils/rendering.js +5 -5
  71. package/components/popover/Popover.js +4 -4
  72. package/components/radiobutton/RadioCardGroup.js +3 -3
  73. package/components/rioglyph/RioglyphIconType.d.ts +1 -1
  74. package/components/selects/Multiselect.d.ts +6 -0
  75. package/components/selects/Multiselect.js +164 -150
  76. package/components/selects/Multiselect.js.map +1 -1
  77. package/components/selects/Select.js +39 -37
  78. package/components/selects/Select.js.map +1 -1
  79. package/components/table/Table.d.ts +27 -248
  80. package/components/table/Table.js +237 -214
  81. package/components/table/Table.js.map +1 -1
  82. package/components/table/Table.types.d.ts +293 -121
  83. package/components/table/TableBody.d.ts +65 -5
  84. package/components/table/TableBody.js +132 -2
  85. package/components/table/TableBody.js.map +1 -1
  86. package/components/table/TableCardsSorting.js +25 -32
  87. package/components/table/TableCardsSorting.js.map +1 -1
  88. package/components/table/TableColumn.d.ts +13 -5
  89. package/components/table/TableColumn.js +112 -2
  90. package/components/table/TableColumn.js.map +1 -1
  91. package/components/table/TableExpandedContentRow.d.ts +7 -7
  92. package/components/table/TableExpandedContentRow.js +107 -2
  93. package/components/table/TableExpandedContentRow.js.map +1 -1
  94. package/components/table/TableExpandedRow.d.ts +9 -4
  95. package/components/table/TableExpandedRow.js +147 -2
  96. package/components/table/TableExpandedRow.js.map +1 -1
  97. package/components/table/TableExpanderButton.js +13 -11
  98. package/components/table/TableExpanderButton.js.map +1 -1
  99. package/components/table/TableFooter.d.ts +10 -6
  100. package/components/table/TableFooter.js +49 -2
  101. package/components/table/TableFooter.js.map +1 -1
  102. package/components/table/TableGroupFooterRow.d.ts +7 -7
  103. package/components/table/TableGroupFooterRow.js +27 -2
  104. package/components/table/TableGroupFooterRow.js.map +1 -1
  105. package/components/table/TableGroupRow.d.ts +7 -7
  106. package/components/table/TableGroupRow.js +33 -2
  107. package/components/table/TableGroupRow.js.map +1 -1
  108. package/components/table/TableHeader.d.ts +9 -4
  109. package/components/table/TableHeader.js +104 -2
  110. package/components/table/TableHeader.js.map +1 -1
  111. package/components/table/TableHeaderColumn.d.ts +14 -8
  112. package/components/table/TableHeaderColumn.js +78 -2
  113. package/components/table/TableHeaderColumn.js.map +1 -1
  114. package/components/table/TableHeaderRow.d.ts +1 -1
  115. package/components/table/TableHeaderRow.js +11 -2
  116. package/components/table/TableHeaderRow.js.map +1 -1
  117. package/components/table/TableRow.d.ts +9 -4
  118. package/components/table/TableRow.js +108 -2
  119. package/components/table/TableRow.js.map +1 -1
  120. package/components/table/TableSpacerRow.d.ts +3 -2
  121. package/components/table/TableSpacerRow.js +26 -2
  122. package/components/table/TableSpacerRow.js.map +1 -1
  123. package/components/table/TableToolbar.d.ts +4 -23
  124. package/components/table/TableToolbar.js +39 -28
  125. package/components/table/TableToolbar.js.map +1 -1
  126. package/components/table/TableToolbarColumn.d.ts +31 -0
  127. package/components/table/TableToolbarColumn.js +33 -0
  128. package/components/table/TableToolbarColumn.js.map +1 -0
  129. package/components/table/TableViewToggles.d.ts +3 -3
  130. package/components/table/TableViewToggles.js.map +1 -1
  131. package/components/table/context/TableInteractionContext.d.ts +26 -0
  132. package/components/table/context/TableInteractionContext.js +7 -0
  133. package/components/table/context/TableInteractionContext.js.map +1 -0
  134. package/components/table/context/TableLayoutContext.d.ts +25 -0
  135. package/components/table/context/TableLayoutContext.js +7 -0
  136. package/components/table/context/TableLayoutContext.js.map +1 -0
  137. package/components/table/context/TableRenderConfigContext.d.ts +27 -0
  138. package/components/table/context/TableRenderConfigContext.js +7 -0
  139. package/components/table/context/TableRenderConfigContext.js.map +1 -0
  140. package/components/table/context/TableRenderContext.d.ts +85 -0
  141. package/components/table/context/TableRenderContext.js +7 -0
  142. package/components/table/context/TableRenderContext.js.map +1 -0
  143. package/components/table/context/TableStructureContext.d.ts +31 -0
  144. package/components/table/context/TableStructureContext.js +17 -0
  145. package/components/table/context/TableStructureContext.js.map +1 -0
  146. package/components/table/layout/columnSizing.d.ts +2 -2
  147. package/components/table/layout/columnSizing.js.map +1 -1
  148. package/components/table/layout/useDraggableColumns.d.ts +3 -3
  149. package/components/table/layout/useDraggableColumns.js +17 -17
  150. package/components/table/layout/useDraggableColumns.js.map +1 -1
  151. package/components/table/layout/useHorizontalSectionSync.d.ts +3 -1
  152. package/components/table/layout/useHorizontalSectionSync.js +32 -28
  153. package/components/table/layout/useHorizontalSectionSync.js.map +1 -1
  154. package/components/table/layout/useMeasuredColumnMaxWidths.d.ts +3 -3
  155. package/components/table/layout/useMeasuredColumnMaxWidths.js.map +1 -1
  156. package/components/table/layout/useResizableColumns.d.ts +5 -4
  157. package/components/table/layout/useResizableColumns.js +108 -67
  158. package/components/table/layout/useResizableColumns.js.map +1 -1
  159. package/components/table/layout/useTableBodyScrollBottom.d.ts +12 -0
  160. package/components/table/layout/useTableBodyScrollBottom.js +37 -0
  161. package/components/table/layout/useTableBodyScrollBottom.js.map +1 -0
  162. package/components/table/layout/useTableLayout.d.ts +17 -6
  163. package/components/table/layout/useTableLayout.js +41 -38
  164. package/components/table/layout/useTableLayout.js.map +1 -1
  165. package/components/table/layout/useTableVirtualization.d.ts +6 -6
  166. package/components/table/layout/useTableVirtualization.js +22 -22
  167. package/components/table/layout/useTableVirtualization.js.map +1 -1
  168. package/components/table/model/resolveRowMeta.d.ts +3 -2
  169. package/components/table/model/resolveRowMeta.js.map +1 -1
  170. package/components/table/model/resolveTableClassConfig.d.ts +2 -3
  171. package/components/table/model/resolveTableClassConfig.js.map +1 -1
  172. package/components/table/model/tableView.types.d.ts +41 -0
  173. package/components/table/native/TableSettingsListItem.js +1 -1
  174. package/components/table/native/TableSettingsListItem.js.map +1 -1
  175. package/components/table/render/body/TableBodyContent.d.ts +21 -0
  176. package/components/table/render/body/TableBodyContent.js +52 -0
  177. package/components/table/render/body/TableBodyContent.js.map +1 -0
  178. package/components/table/render/body/TableEmptyRow.js +2 -2
  179. package/components/table/render/body/TableEmptyRow.js.map +1 -1
  180. package/components/table/render/header/TableBatchDropdown.d.ts +5 -1
  181. package/components/table/render/header/TableBatchDropdown.js +17 -15
  182. package/components/table/render/header/TableBatchDropdown.js.map +1 -1
  183. package/components/table/render/header/TableColumnFilter.d.ts +2 -2
  184. package/components/table/render/header/TableColumnFilter.js +16 -14
  185. package/components/table/render/header/TableColumnFilter.js.map +1 -1
  186. package/components/table/render/header/TableDraggableHeaderCell.d.ts +2 -1
  187. package/components/table/render/header/TableDraggableHeaderCell.js +44 -34
  188. package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -1
  189. package/components/table/render/header/TableHeader.types.d.ts +11 -9
  190. package/components/table/render/header/TableHeaderCellContent.d.ts +2 -1
  191. package/components/table/render/header/TableHeaderCellContent.js.map +1 -1
  192. package/components/table/render/header/TableHeaderCellResizeHandle.d.ts +2 -1
  193. package/components/table/render/header/TableHeaderCellResizeHandle.js +8 -8
  194. package/components/table/render/header/TableHeaderCellResizeHandle.js.map +1 -1
  195. package/components/table/render/header/TableHeaderDragOverlay.d.ts +5 -4
  196. package/components/table/render/header/TableHeaderDragOverlay.js.map +1 -1
  197. package/components/table/render/header/TableStaticHeaderCell.d.ts +2 -1
  198. package/components/table/render/header/TableStaticHeaderCell.js +34 -22
  199. package/components/table/render/header/TableStaticHeaderCell.js.map +1 -1
  200. package/components/table/render/header/resolveAriaSort.d.ts +2 -1
  201. package/components/table/render/header/resolveAriaSort.js.map +1 -1
  202. package/components/table/render/header/resolveHeaderCellClassName.d.ts +4 -2
  203. package/components/table/render/header/resolveHeaderCellClassName.js +11 -10
  204. package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -1
  205. package/components/table/render/header/resolveHeaderCellStyle.d.ts +2 -1
  206. package/components/table/render/header/resolveHeaderCellStyle.js.map +1 -1
  207. package/components/table/runtime/shouldAnimateBodyRows.d.ts +17 -0
  208. package/components/table/runtime/shouldAnimateBodyRows.js +5 -0
  209. package/components/table/runtime/shouldAnimateBodyRows.js.map +1 -0
  210. package/components/table/runtime/useRenderDraftState.d.ts +14 -0
  211. package/components/table/runtime/useRenderDraftState.js +80 -0
  212. package/components/table/runtime/useRenderDraftState.js.map +1 -0
  213. package/components/table/runtime/useResolvedRenderColumns.d.ts +43 -0
  214. package/components/table/runtime/useResolvedRenderColumns.js +113 -0
  215. package/components/table/runtime/useResolvedRenderColumns.js.map +1 -0
  216. package/components/table/runtime/useResolvedRenderHeader.d.ts +27 -0
  217. package/components/table/runtime/useResolvedRenderHeader.js +67 -0
  218. package/components/table/runtime/useResolvedRenderHeader.js.map +1 -0
  219. package/components/table/selection/useInternalTableSelectionState.d.ts +17 -0
  220. package/components/table/selection/useInternalTableSelectionState.js +28 -0
  221. package/components/table/selection/useInternalTableSelectionState.js.map +1 -0
  222. package/components/table/selection/useTableSelection.d.ts +3 -3
  223. package/components/table/selection/useTableSelection.js.map +1 -1
  224. package/components/table/shared/getCellContentOverflowClassName.d.ts +3 -0
  225. package/components/table/shared/getCellContentOverflowClassName.js +18 -0
  226. package/components/table/shared/getCellContentOverflowClassName.js.map +1 -0
  227. package/components/table/shared/getInteractiveRowProps.d.ts +3 -2
  228. package/components/table/shared/getInteractiveRowProps.js.map +1 -1
  229. package/hooks/useUrlState.js +3 -3
  230. package/package.json +16 -17
  231. package/utils/analytics/createAnalyticsOverlayTooltip.js +57 -57
  232. package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -1
  233. package/utils/analytics/useAnalyticsOverlayDom.js +3 -3
  234. package/utils/routeUtils.d.ts +5 -2
  235. package/utils/routeUtils.js +17 -17
  236. package/utils/routeUtils.js.map +1 -1
  237. package/version.d.ts +1 -1
  238. package/version.js +1 -1
  239. package/version.js.map +1 -1
  240. package/components/table/TableCard.d.ts +0 -63
  241. package/components/table/TableCard.js +0 -150
  242. package/components/table/TableCard.js.map +0 -1
  243. package/components/table/model/buildTableViewModel.d.ts +0 -28
  244. package/components/table/model/buildTableViewModel.js +0 -221
  245. package/components/table/model/buildTableViewModel.js.map +0 -1
  246. package/components/table/model/resolveCellContent.d.ts +0 -2
  247. package/components/table/model/resolveCellContent.js +0 -5
  248. package/components/table/model/resolveCellContent.js.map +0 -1
  249. package/components/table/model/tableViewModel.types.d.ts +0 -153
  250. package/components/table/parse/parseBody.d.ts +0 -3
  251. package/components/table/parse/parseBody.js +0 -13
  252. package/components/table/parse/parseBody.js.map +0 -1
  253. package/components/table/parse/parseColumns.d.ts +0 -3
  254. package/components/table/parse/parseColumns.js +0 -81
  255. package/components/table/parse/parseColumns.js.map +0 -1
  256. package/components/table/parse/parseFooter.d.ts +0 -3
  257. package/components/table/parse/parseFooter.js +0 -39
  258. package/components/table/parse/parseFooter.js.map +0 -1
  259. package/components/table/parse/parseHeaders.d.ts +0 -4
  260. package/components/table/parse/parseHeaders.js +0 -89
  261. package/components/table/parse/parseHeaders.js.map +0 -1
  262. package/components/table/parse/parseRows.d.ts +0 -3
  263. package/components/table/parse/parseRows.js +0 -93
  264. package/components/table/parse/parseRows.js.map +0 -1
  265. package/components/table/parse/tableChildGuards.d.ts +0 -25
  266. package/components/table/parse/tableChildGuards.js +0 -29
  267. package/components/table/parse/tableChildGuards.js.map +0 -1
  268. package/components/table/render/body/TableBodyRow.d.ts +0 -16
  269. package/components/table/render/body/TableBodyRow.js +0 -84
  270. package/components/table/render/body/TableBodyRow.js.map +0 -1
  271. package/components/table/render/body/TableBodySection.d.ts +0 -20
  272. package/components/table/render/body/TableBodySection.js +0 -68
  273. package/components/table/render/body/TableBodySection.js.map +0 -1
  274. package/components/table/render/body/TableDataRow.d.ts +0 -15
  275. package/components/table/render/body/TableDataRow.js +0 -143
  276. package/components/table/render/body/TableDataRow.js.map +0 -1
  277. package/components/table/render/body/TableExpandedRow.d.ts +0 -8
  278. package/components/table/render/body/TableExpandedRow.js +0 -84
  279. package/components/table/render/body/TableExpandedRow.js.map +0 -1
  280. package/components/table/render/body/TableGroupRow.d.ts +0 -8
  281. package/components/table/render/body/TableGroupRow.js +0 -21
  282. package/components/table/render/body/TableGroupRow.js.map +0 -1
  283. package/components/table/render/body/TableSpacerRow.d.ts +0 -7
  284. package/components/table/render/body/TableSpacerRow.js +0 -15
  285. package/components/table/render/body/TableSpacerRow.js.map +0 -1
  286. package/components/table/render/footer/TableFooterCell.d.ts +0 -8
  287. package/components/table/render/footer/TableFooterCell.js +0 -31
  288. package/components/table/render/footer/TableFooterCell.js.map +0 -1
  289. package/components/table/render/footer/TableFooterSection.d.ts +0 -10
  290. package/components/table/render/footer/TableFooterSection.js +0 -28
  291. package/components/table/render/footer/TableFooterSection.js.map +0 -1
  292. package/components/table/render/header/TableHeaderSection.d.ts +0 -3
  293. package/components/table/render/header/TableHeaderSection.js +0 -104
  294. package/components/table/render/header/TableHeaderSection.js.map +0 -1
@@ -1,221 +0,0 @@
1
- import k from "../../../utils/classNames.js";
2
- import { getMobileLabel as m } from "./resolveCellContent.js";
3
- import { resolveRowKey as W, resolveRowClassName as j } from "./resolveRowMeta.js";
4
- const f = (g, s) => g.cellsByKey?.[s], P = (g) => {
5
- const {
6
- columnsWithAreas: s,
7
- resolvedHeaderColumns: v,
8
- resolvedRows: b,
9
- resolvedFooter: d,
10
- rowKey: O,
11
- rowClassName: R,
12
- cellClassName: N,
13
- activeRowId: H,
14
- noRowsState: u,
15
- isClickable: B,
16
- isTableView: L,
17
- selectedRowIds: D,
18
- sortBy: y,
19
- sortDirection: S,
20
- cardClasses: w
21
- } = g, F = new Set(D), K = new Set(Array.isArray(y) ? y : y ? [y] : []), T = s.map(({ column: e, areaName: n }) => ({
22
- key: e.key,
23
- label: e.label,
24
- mobileLabel: m(e),
25
- horizontalAlign: e.horizontalAlign,
26
- className: e.className,
27
- headerClassName: e.headerClassName,
28
- hideOnMobile: e.hideOnMobile,
29
- sortable: e.sortable,
30
- sortDirection: K.has(e.key) ? S : void 0,
31
- areaName: n,
32
- source: e
33
- })), p = new Map(s.map(({ column: e }, n) => [e.key, n + 1])), A = (() => {
34
- if (v.length === 0)
35
- return;
36
- const e = Math.max(...v.map((a) => a.row + a.rowSpan - 1)), n = Array.from({ length: e }, () => Array(s.length).fill(!1)), i = (a, r) => {
37
- for (let t = 1; t <= s.length - r + 1; t += 1)
38
- if (n[a - 1].slice(t - 1, t - 1 + r).every((o) => !o))
39
- return t;
40
- return 1;
41
- }, l = v.map((a) => {
42
- const r = a.columnKey ? p.get(a.columnKey) ?? 1 : i(a.row, a.colSpan);
43
- for (let t = a.row - 1; t < a.row - 1 + a.rowSpan; t += 1)
44
- for (let c = r - 1; c < r - 1 + a.colSpan; c += 1)
45
- n[t]?.[c] !== void 0 && (n[t][c] = !0);
46
- return {
47
- key: a.key,
48
- columnKey: a.columnKey,
49
- label: a.label,
50
- icon: a.icon,
51
- filter: a.filter,
52
- hideLabel: a.hideLabel,
53
- horizontalAlign: a.horizontalAlign,
54
- verticalAlign: a.verticalAlign,
55
- className: a.className,
56
- headerClassName: a.headerClassName,
57
- hideOnMobile: a.hideOnMobile,
58
- draggable: a.draggable,
59
- resizeable: a.resizeable,
60
- sortable: a.sortable,
61
- sortDirection: a.columnKey && K.has(a.columnKey) ? S : void 0,
62
- rowStart: a.row,
63
- rowSpan: a.rowSpan,
64
- columnStart: r,
65
- colSpan: a.colSpan,
66
- source: a.columnKey ? s.find(({ column: t }) => t.key === a.columnKey)?.column : void 0
67
- };
68
- });
69
- return {
70
- rowCount: e,
71
- totalColumnCount: s.length,
72
- columns: l
73
- };
74
- })(), V = new Map(
75
- A?.columns.filter((e) => !!e.columnKey).map((e) => [
76
- e.columnKey,
77
- {
78
- horizontalAlign: e.horizontalAlign,
79
- verticalAlign: e.verticalAlign
80
- }
81
- ]) ?? []
82
- ), h = (e) => e ? V.get(e) : void 0, E = (e, n) => {
83
- const i = W(e.data, n, O), l = e.cellsByKey && (() => {
84
- const a = [];
85
- let r = -1;
86
- return s.forEach(({ column: t, columnIndex: c }) => {
87
- if (c <= r)
88
- return;
89
- const o = f(e, t.key), C = h(t.key), M = o?.colSpan ?? 1;
90
- o && (r = c + M - 1), a.push({
91
- key: String(o?.key ?? t.key),
92
- mobileLabel: m(t),
93
- content: o?.content ?? "",
94
- horizontalAlign: o?.horizontalAlign ?? C?.horizontalAlign ?? t.horizontalAlign,
95
- verticalAlign: o?.verticalAlign ?? C?.verticalAlign,
96
- className: k(t.className, o?.className),
97
- contentClassName: o?.contentClassName,
98
- resolvedClassName: N?.(e.data, t, n, c),
99
- hideOnMobile: t.hideOnMobile,
100
- columnStart: c + 1,
101
- colSpan: M,
102
- preventRowClick: o?.preventRowClick
103
- });
104
- }), a;
105
- })();
106
- return {
107
- kind: e.kind,
108
- key: i,
109
- parentKey: e.kind === "expanded" ? e.parentKey : void 0,
110
- rowIndex: n,
111
- data: e.data,
112
- active: i === H,
113
- disabled: e.disabled,
114
- className: e.className,
115
- noHover: e.noHover,
116
- resolvedClassName: j(R, e.data, n),
117
- selected: F.has(i),
118
- cells: l && l.length > 0 ? l : s.map(({ column: a, columnIndex: r }) => {
119
- const t = h(a.key);
120
- return {
121
- key: a.key,
122
- mobileLabel: m(a),
123
- content: "",
124
- horizontalAlign: t?.horizontalAlign ?? a.horizontalAlign,
125
- verticalAlign: t?.verticalAlign,
126
- className: a.className,
127
- contentClassName: void 0,
128
- resolvedClassName: N?.(e.data, a, n, r),
129
- hideOnMobile: a.hideOnMobile,
130
- columnStart: r + 1,
131
- colSpan: 1,
132
- preventRowClick: !1
133
- };
134
- })
135
- };
136
- }, U = b.length > 0 ? b.map((e, n) => {
137
- switch (e.kind) {
138
- case "spacer":
139
- return e;
140
- case "group":
141
- return {
142
- kind: "group",
143
- key: e.key,
144
- content: e.content,
145
- sticky: e.sticky,
146
- className: e.className,
147
- noHover: e.noHover
148
- };
149
- case "group-footer":
150
- return {
151
- kind: "group-footer",
152
- key: e.key,
153
- content: e.content,
154
- className: e.className,
155
- noHover: e.noHover
156
- };
157
- case "expanded-full-width":
158
- return {
159
- kind: "expanded-full-width",
160
- key: e.key,
161
- parentKey: e.parentKey,
162
- content: e.content,
163
- className: e.className,
164
- noHover: e.noHover
165
- };
166
- default:
167
- return E(e, n);
168
- }
169
- }) : [
170
- {
171
- kind: "empty",
172
- key: "empty",
173
- content: u
174
- }
175
- ], z = d ? {
176
- className: d.className,
177
- content: d.content,
178
- cells: d.cells ? d.cells.map((e, n) => {
179
- const i = e.columnKey ? (p.get(e.columnKey) ?? n + 1) - 1 : n, l = s[i]?.column, a = h(e.columnKey ?? l?.key);
180
- return {
181
- key: String(e.key ?? l?.key ?? n),
182
- content: e.content,
183
- horizontalAlign: e.horizontalAlign ?? a?.horizontalAlign ?? l?.horizontalAlign,
184
- verticalAlign: e.verticalAlign ?? a?.verticalAlign,
185
- className: k(l?.className, e.className),
186
- hideOnMobile: l?.hideOnMobile,
187
- columnStart: e.columnKey ? p.get(e.columnKey) ?? n + 1 : n + 1,
188
- colSpan: e.colSpan
189
- };
190
- }) : d.cellsByIndex || d.cellsByKey ? s.map(({ column: e, columnIndex: n }) => {
191
- const i = f(d, e.key), l = h(e.key);
192
- return {
193
- key: e.key,
194
- content: i?.content ?? "",
195
- horizontalAlign: i?.horizontalAlign ?? l?.horizontalAlign ?? e.horizontalAlign,
196
- verticalAlign: i?.verticalAlign ?? l?.verticalAlign,
197
- className: k(e.className, i?.className),
198
- hideOnMobile: e.hideOnMobile,
199
- columnStart: n + 1,
200
- colSpan: 1
201
- };
202
- }) : void 0
203
- } : void 0;
204
- return {
205
- columns: T,
206
- header: A,
207
- rows: U,
208
- footer: z,
209
- flags: {
210
- hasHeader: !!A,
211
- hasFooter: !!z,
212
- isClickable: B,
213
- isTableView: L
214
- },
215
- cardClasses: w
216
- };
217
- };
218
- export {
219
- P as buildTableViewModel
220
- };
221
- //# sourceMappingURL=buildTableViewModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildTableViewModel.js","sources":["../../../../src/components/table/model/buildTableViewModel.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport classNames from '../../../utils/classNames';\nimport type { TableColumnWithArea } from '../layout/useTableLayout';\nimport { getMobileLabel } from './resolveCellContent';\nimport { resolveRowClassName, resolveRowKey } from './resolveRowMeta';\nimport type {\n TableCellClassName,\n TableParsedDataRow,\n TableParsedExpandedDataRow,\n TableParsedCells,\n TableParsedFooter,\n TableParsedHeaderColumn,\n TableRowId,\n TableParsedRow,\n TableRowClassName,\n TableSortDirection,\n} from '../Table.types';\nimport type {\n TableDataViewRow,\n TableExpandedContentViewRow,\n TableExpandedDataViewRow,\n TableGroupFooterViewRow,\n TableGroupViewRow,\n TableViewHeader,\n TableViewHeaderColumn,\n TableViewCell,\n TableViewFooter,\n TableViewFooterCell,\n TableViewModel,\n TableViewRow,\n} from './tableViewModel.types';\n\nconst resolveDeclarativeCell = (resolvedCells: TableParsedCells, columnKey: string) =>\n resolvedCells.cellsByKey?.[columnKey];\n\ntype BuildTableViewModelProps<RowType extends Record<string, unknown>> = {\n columnsWithAreas: TableColumnWithArea<RowType>[];\n resolvedHeaderColumns: TableParsedHeaderColumn<RowType>[];\n resolvedRows: TableParsedRow<RowType>[];\n resolvedFooter?: TableParsedFooter;\n rowKey?: keyof RowType | ((row: RowType, rowIndex: number) => string | number);\n rowClassName?: TableRowClassName<RowType>;\n cellClassName?: TableCellClassName<RowType>;\n activeRowId?: TableRowId;\n noRowsState: ReactNode;\n isClickable: boolean;\n isTableView: boolean;\n selectedRowIds?: TableRowId[];\n sortBy?: string | string[];\n sortDirection?: TableSortDirection;\n cardClasses: {\n rowClassName?: string;\n cellClassName?: string;\n labelClassName?: string;\n contentClassName?: string;\n };\n};\n\nexport const buildTableViewModel = <RowType extends Record<string, unknown>>(\n props: BuildTableViewModelProps<RowType>\n): TableViewModel<RowType> => {\n const {\n columnsWithAreas,\n resolvedHeaderColumns,\n resolvedRows,\n resolvedFooter,\n rowKey,\n rowClassName,\n cellClassName,\n activeRowId,\n noRowsState,\n isClickable,\n isTableView,\n selectedRowIds,\n sortBy,\n sortDirection,\n cardClasses,\n } = props;\n\n const selectedRowIdSet = new Set(selectedRowIds);\n const sortedColumnKeys = new Set(Array.isArray(sortBy) ? sortBy : sortBy ? [sortBy] : []);\n\n const columns = columnsWithAreas.map(({ column, areaName }) => ({\n key: column.key,\n label: column.label,\n mobileLabel: getMobileLabel(column),\n horizontalAlign: column.horizontalAlign,\n className: column.className,\n headerClassName: column.headerClassName,\n hideOnMobile: column.hideOnMobile,\n sortable: column.sortable,\n sortDirection: sortedColumnKeys.has(column.key) ? sortDirection : undefined,\n areaName,\n source: column,\n }));\n\n const columnStartByKey = new Map(columnsWithAreas.map(({ column }, index) => [column.key, index + 1]));\n\n const header = (() => {\n if (resolvedHeaderColumns.length === 0) {\n return;\n }\n\n const rowCount = Math.max(...resolvedHeaderColumns.map(column => column.row + column.rowSpan - 1));\n const occupied = Array.from({ length: rowCount }, () => Array(columnsWithAreas.length).fill(false));\n\n const findColumnStart = (rowStart: number, colSpan: number) => {\n for (let candidate = 1; candidate <= columnsWithAreas.length - colSpan + 1; candidate += 1) {\n const hasFreeSlot = occupied[rowStart - 1]\n .slice(candidate - 1, candidate - 1 + colSpan)\n .every(isUsed => !isUsed);\n\n if (hasFreeSlot) {\n return candidate;\n }\n }\n\n return 1;\n };\n\n const columns = resolvedHeaderColumns.map<TableViewHeaderColumn<RowType>>(column => {\n const columnStart = column.columnKey\n ? (columnStartByKey.get(column.columnKey) ?? 1)\n : findColumnStart(column.row, column.colSpan);\n\n for (let rowIndex = column.row - 1; rowIndex < column.row - 1 + column.rowSpan; rowIndex += 1) {\n for (\n let columnIndex = columnStart - 1;\n columnIndex < columnStart - 1 + column.colSpan;\n columnIndex += 1\n ) {\n if (occupied[rowIndex]?.[columnIndex] !== undefined) {\n occupied[rowIndex][columnIndex] = true;\n }\n }\n }\n\n return {\n key: column.key,\n columnKey: column.columnKey,\n label: column.label,\n icon: column.icon,\n filter: column.filter,\n hideLabel: column.hideLabel,\n horizontalAlign: column.horizontalAlign,\n verticalAlign: column.verticalAlign,\n className: column.className,\n headerClassName: column.headerClassName,\n hideOnMobile: column.hideOnMobile,\n draggable: column.draggable,\n resizeable: column.resizeable,\n sortable: column.sortable,\n sortDirection: column.columnKey && sortedColumnKeys.has(column.columnKey) ? sortDirection : undefined,\n rowStart: column.row,\n rowSpan: column.rowSpan,\n columnStart,\n colSpan: column.colSpan,\n source: column.columnKey\n ? columnsWithAreas.find(({ column: sourceColumn }) => sourceColumn.key === column.columnKey)?.column\n : undefined,\n };\n });\n\n return {\n rowCount,\n totalColumnCount: columnsWithAreas.length,\n columns,\n } satisfies TableViewHeader<RowType>;\n })();\n\n const headerAlignmentByColumnKey = new Map(\n header?.columns\n .filter((column): column is TableViewHeaderColumn<RowType> & { columnKey: string } => !!column.columnKey)\n .map(column => [\n column.columnKey,\n {\n horizontalAlign: column.horizontalAlign,\n verticalAlign: column.verticalAlign,\n },\n ]) ?? []\n );\n\n const resolveHeaderAlignment = (columnKey?: string) =>\n columnKey ? headerAlignmentByColumnKey.get(columnKey) : undefined;\n\n const createDataRow = (\n row: TableParsedDataRow<RowType> | TableParsedExpandedDataRow<RowType>,\n rowIndex: number\n ): TableDataViewRow<RowType> | TableExpandedDataViewRow<RowType> => {\n const resolvedRowId = resolveRowKey(row.data, rowIndex, rowKey);\n const declarativeCells =\n row.cellsByKey &&\n (() => {\n const nextCells: TableViewCell[] = [];\n let coveredUntilColumnIndex = -1;\n\n columnsWithAreas.forEach(({ column, columnIndex }) => {\n if (columnIndex <= coveredUntilColumnIndex) {\n return;\n }\n\n const declarativeCell = resolveDeclarativeCell(row, column.key);\n const headerAlignment = resolveHeaderAlignment(column.key);\n const colSpan = declarativeCell?.colSpan ?? 1;\n\n if (declarativeCell) {\n coveredUntilColumnIndex = columnIndex + colSpan - 1;\n }\n\n nextCells.push({\n key: String(declarativeCell?.key ?? column.key),\n mobileLabel: getMobileLabel(column),\n content: declarativeCell?.content ?? '',\n horizontalAlign:\n declarativeCell?.horizontalAlign ??\n headerAlignment?.horizontalAlign ??\n column.horizontalAlign,\n verticalAlign: declarativeCell?.verticalAlign ?? headerAlignment?.verticalAlign,\n className: classNames(column.className, declarativeCell?.className),\n contentClassName: declarativeCell?.contentClassName,\n resolvedClassName: cellClassName?.(row.data, column, rowIndex, columnIndex),\n hideOnMobile: column.hideOnMobile,\n columnStart: columnIndex + 1,\n colSpan,\n preventRowClick: declarativeCell?.preventRowClick,\n });\n });\n\n return nextCells;\n })();\n\n return {\n kind: row.kind,\n key: resolvedRowId,\n parentKey: row.kind === 'expanded' ? row.parentKey : undefined,\n rowIndex,\n data: row.data,\n active: resolvedRowId === activeRowId,\n disabled: row.disabled,\n className: row.className,\n noHover: row.noHover,\n resolvedClassName: resolveRowClassName(rowClassName, row.data, rowIndex),\n selected: selectedRowIdSet.has(resolvedRowId),\n cells:\n declarativeCells && declarativeCells.length > 0\n ? declarativeCells\n : columnsWithAreas.map(({ column, columnIndex }) => {\n const headerAlignment = resolveHeaderAlignment(column.key);\n\n return {\n key: column.key,\n mobileLabel: getMobileLabel(column),\n content: '',\n horizontalAlign: headerAlignment?.horizontalAlign ?? column.horizontalAlign,\n verticalAlign: headerAlignment?.verticalAlign,\n className: column.className,\n contentClassName: undefined,\n resolvedClassName: cellClassName?.(row.data, column, rowIndex, columnIndex),\n hideOnMobile: column.hideOnMobile,\n columnStart: columnIndex + 1,\n colSpan: 1,\n preventRowClick: false,\n };\n }),\n };\n };\n\n const rows: TableViewRow<RowType>[] =\n resolvedRows.length > 0\n ? resolvedRows.map((row, rowIndex) => {\n switch (row.kind) {\n case 'spacer':\n return row;\n case 'group':\n return {\n kind: 'group',\n key: row.key,\n content: row.content,\n sticky: row.sticky,\n className: row.className,\n noHover: row.noHover,\n } satisfies TableGroupViewRow;\n case 'group-footer':\n return {\n kind: 'group-footer',\n key: row.key,\n content: row.content,\n className: row.className,\n noHover: row.noHover,\n } satisfies TableGroupFooterViewRow;\n case 'expanded-full-width':\n return {\n kind: 'expanded-full-width',\n key: row.key,\n parentKey: row.parentKey,\n content: row.content,\n className: row.className,\n noHover: row.noHover,\n } satisfies TableExpandedContentViewRow<RowType>;\n default:\n return createDataRow(row, rowIndex);\n }\n })\n : [\n {\n kind: 'empty',\n key: 'empty',\n content: noRowsState,\n },\n ];\n\n const footer: TableViewFooter | undefined = resolvedFooter\n ? {\n className: resolvedFooter.className,\n content: resolvedFooter.content,\n cells: resolvedFooter.cells\n ? resolvedFooter.cells.map((footerCell, footerCellIndex) => {\n const baseColumnIndex = footerCell.columnKey\n ? (columnStartByKey.get(footerCell.columnKey) ?? footerCellIndex + 1) - 1\n : footerCellIndex;\n const sourceColumn = columnsWithAreas[baseColumnIndex]?.column;\n const headerAlignment = resolveHeaderAlignment(footerCell.columnKey ?? sourceColumn?.key);\n\n return {\n key: String(footerCell.key ?? sourceColumn?.key ?? footerCellIndex),\n content: footerCell.content,\n horizontalAlign:\n footerCell.horizontalAlign ??\n headerAlignment?.horizontalAlign ??\n sourceColumn?.horizontalAlign,\n verticalAlign: footerCell.verticalAlign ?? headerAlignment?.verticalAlign,\n className: classNames(sourceColumn?.className, footerCell.className),\n hideOnMobile: sourceColumn?.hideOnMobile,\n columnStart: footerCell.columnKey\n ? (columnStartByKey.get(footerCell.columnKey) ?? footerCellIndex + 1)\n : footerCellIndex + 1,\n colSpan: footerCell.colSpan,\n } satisfies TableViewFooterCell;\n })\n : resolvedFooter.cellsByIndex || resolvedFooter.cellsByKey\n ? columnsWithAreas.map(({ column, columnIndex }) => {\n const footerCell = resolveDeclarativeCell(resolvedFooter, column.key);\n const headerAlignment = resolveHeaderAlignment(column.key);\n\n return {\n key: column.key,\n content: footerCell?.content ?? '',\n horizontalAlign:\n footerCell?.horizontalAlign ??\n headerAlignment?.horizontalAlign ??\n column.horizontalAlign,\n verticalAlign: footerCell?.verticalAlign ?? headerAlignment?.verticalAlign,\n className: classNames(column.className, footerCell?.className),\n hideOnMobile: column.hideOnMobile,\n columnStart: columnIndex + 1,\n colSpan: 1,\n } satisfies TableViewFooterCell;\n })\n : undefined,\n }\n : undefined;\n\n return {\n columns,\n header,\n rows,\n footer,\n flags: {\n hasHeader: !!header,\n hasFooter: !!footer,\n isClickable,\n isTableView,\n },\n cardClasses,\n };\n};\n"],"names":["resolveDeclarativeCell","resolvedCells","columnKey","buildTableViewModel","props","columnsWithAreas","resolvedHeaderColumns","resolvedRows","resolvedFooter","rowKey","rowClassName","cellClassName","activeRowId","noRowsState","isClickable","isTableView","selectedRowIds","sortBy","sortDirection","cardClasses","selectedRowIdSet","sortedColumnKeys","columns","column","areaName","getMobileLabel","columnStartByKey","index","header","rowCount","occupied","findColumnStart","rowStart","colSpan","candidate","isUsed","columnStart","rowIndex","columnIndex","sourceColumn","headerAlignmentByColumnKey","resolveHeaderAlignment","createDataRow","row","resolvedRowId","resolveRowKey","declarativeCells","nextCells","coveredUntilColumnIndex","declarativeCell","headerAlignment","classNames","resolveRowClassName","rows","footer","footerCell","footerCellIndex","baseColumnIndex"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { TableColumnDefinition } from '../Table.types';
2
- export declare const getMobileLabel: <RowType extends Record<string, unknown>>(column: TableColumnDefinition<RowType>) => string;
@@ -1,5 +0,0 @@
1
- const b = (e) => e.mobileLabel !== void 0 ? e.mobileLabel : typeof e.label == "string" ? e.label : "";
2
- export {
3
- b as getMobileLabel
4
- };
5
- //# sourceMappingURL=resolveCellContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveCellContent.js","sources":["../../../../src/components/table/model/resolveCellContent.ts"],"sourcesContent":["import type { TableColumnDefinition } from '../Table.types';\n\nexport const getMobileLabel = <RowType extends Record<string, unknown>>(column: TableColumnDefinition<RowType>) => {\n if (column.mobileLabel !== undefined) {\n return column.mobileLabel;\n }\n\n return typeof column.label === 'string' ? column.label : '';\n};\n"],"names":["getMobileLabel","column"],"mappings":"AAEO,MAAMA,IAAiB,CAA0CC,MAChEA,EAAO,gBAAgB,SAChBA,EAAO,cAGX,OAAOA,EAAO,SAAU,WAAWA,EAAO,QAAQ;"}
@@ -1,153 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { TableColumnDefinition, TableHorizontalAlign, TableSortDirection, TableVerticalAlign } from '../Table.types';
3
- export type TableViewColumn<RowType extends Record<string, unknown>> = {
4
- key: string;
5
- label: ReactNode;
6
- mobileLabel: string;
7
- horizontalAlign?: TableHorizontalAlign;
8
- className?: string;
9
- headerClassName?: string;
10
- hideOnMobile?: boolean;
11
- sortable?: boolean;
12
- sortDirection?: TableSortDirection;
13
- areaName: string;
14
- source: TableColumnDefinition<RowType>;
15
- };
16
- export type TableViewHeaderColumn<RowType extends Record<string, unknown>> = {
17
- key: string | number;
18
- columnKey?: string;
19
- label: ReactNode;
20
- icon?: string;
21
- filter?: ReactNode;
22
- hideLabel?: boolean;
23
- horizontalAlign?: TableHorizontalAlign;
24
- verticalAlign?: TableVerticalAlign;
25
- className?: string;
26
- headerClassName?: string;
27
- hideOnMobile?: boolean;
28
- draggable?: boolean;
29
- resizeable?: boolean;
30
- sortable?: boolean;
31
- sortDirection?: TableSortDirection;
32
- rowStart: number;
33
- rowSpan: number;
34
- columnStart: number;
35
- colSpan: number;
36
- source?: TableColumnDefinition<RowType>;
37
- };
38
- export type TableViewHeader<RowType extends Record<string, unknown>> = {
39
- rowCount: number;
40
- totalColumnCount: number;
41
- columns: TableViewHeaderColumn<RowType>[];
42
- };
43
- export type TableViewCell = {
44
- key: string;
45
- content: ReactNode;
46
- mobileLabel: string;
47
- horizontalAlign?: TableHorizontalAlign;
48
- verticalAlign?: TableVerticalAlign;
49
- className?: string;
50
- contentClassName?: string;
51
- resolvedClassName?: string;
52
- hideOnMobile?: boolean;
53
- columnStart: number;
54
- colSpan: number;
55
- preventRowClick?: boolean;
56
- };
57
- export type TableViewFooterCell = {
58
- key: string;
59
- content: ReactNode;
60
- horizontalAlign?: TableHorizontalAlign;
61
- verticalAlign?: TableVerticalAlign;
62
- className?: string;
63
- hideOnMobile?: boolean;
64
- columnStart: number;
65
- colSpan: number;
66
- };
67
- export type TableDataViewRow<RowType extends Record<string, unknown>> = {
68
- kind: 'data';
69
- key: string | number;
70
- rowIndex: number;
71
- data: RowType;
72
- active?: boolean;
73
- disabled?: boolean;
74
- className?: string;
75
- noHover?: boolean;
76
- resolvedClassName?: string;
77
- selected?: boolean;
78
- cells: TableViewCell[];
79
- };
80
- export type TableExpandedDataViewRow<RowType extends Record<string, unknown>> = {
81
- kind: 'expanded';
82
- key: string | number;
83
- parentKey?: string | number;
84
- rowIndex: number;
85
- data: RowType;
86
- active?: boolean;
87
- disabled?: boolean;
88
- className?: string;
89
- noHover?: boolean;
90
- resolvedClassName?: string;
91
- selected?: boolean;
92
- cells: TableViewCell[];
93
- };
94
- export type TableSpacerViewRow = {
95
- kind: 'spacer';
96
- key: string | number;
97
- className?: string;
98
- noHover?: boolean;
99
- };
100
- export type TableExpandedContentViewRow<RowType extends Record<string, unknown>> = {
101
- kind: 'expanded-full-width';
102
- key: string | number;
103
- parentKey?: string | number;
104
- content: ReactNode;
105
- className?: string;
106
- noHover?: boolean;
107
- };
108
- export type TableGroupViewRow = {
109
- kind: 'group';
110
- key: string | number;
111
- content: ReactNode;
112
- sticky?: boolean;
113
- className?: string;
114
- noHover?: boolean;
115
- };
116
- export type TableGroupFooterViewRow = {
117
- kind: 'group-footer';
118
- key: string | number;
119
- content: ReactNode;
120
- className?: string;
121
- noHover?: boolean;
122
- };
123
- export type TableEmptyViewRow = {
124
- kind: 'empty';
125
- key: 'empty';
126
- content: ReactNode;
127
- };
128
- export type TableViewRow<RowType extends Record<string, unknown>> = TableDataViewRow<RowType> | TableExpandedDataViewRow<RowType> | TableSpacerViewRow | TableExpandedContentViewRow<RowType> | TableGroupViewRow | TableGroupFooterViewRow | TableEmptyViewRow;
129
- export type TableViewFooter = {
130
- className?: string;
131
- content?: ReactNode;
132
- cells?: TableViewFooterCell[];
133
- };
134
- export type TableViewCardClasses = {
135
- rowClassName?: string;
136
- cellClassName?: string;
137
- labelClassName?: string;
138
- contentClassName?: string;
139
- };
140
- export type TableViewFlags = {
141
- hasHeader: boolean;
142
- hasFooter: boolean;
143
- isClickable: boolean;
144
- isTableView: boolean;
145
- };
146
- export type TableViewModel<RowType extends Record<string, unknown>> = {
147
- columns: TableViewColumn<RowType>[];
148
- header?: TableViewHeader<RowType>;
149
- rows: TableViewRow<RowType>[];
150
- footer?: TableViewFooter;
151
- flags: TableViewFlags;
152
- cardClasses: TableViewCardClasses;
153
- };
@@ -1,3 +0,0 @@
1
- import { ReactNode } from 'react';
2
- export declare const resolveHasBody: <RowType extends Record<string, unknown>>(children: ReactNode) => boolean;
3
- export declare const resolveBodyMaxHeight: (children: ReactNode) => string | undefined;
@@ -1,13 +0,0 @@
1
- import { Children as r, isValidElement as s, Fragment as a } from "react";
2
- import { toCssSize as i } from "../layout/columnSizing.js";
3
- import { isTableBodyChild as t, isTableRowChild as n, isTableSpacerRowChild as p, isTableExpandedRowChild as l, isTableExpandedContentRowChild as d, isTableGroupRowChild as m, isTableGroupFooterRowChild as C } from "./tableChildGuards.js";
4
- const b = (o) => r.toArray(o).some((e) => t(e) || n(e) || p(e) || l(e) || d(e) || m(e) || C(e) ? !0 : s(e) && e.type === a ? b(e.props.children) : !1), T = (o) => {
5
- const e = r.toArray(o).find(t);
6
- if (e)
7
- return i(e.props.maxHeight);
8
- };
9
- export {
10
- T as resolveBodyMaxHeight,
11
- b as resolveHasBody
12
- };
13
- //# sourceMappingURL=parseBody.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseBody.js","sources":["../../../../src/components/table/parse/parseBody.ts"],"sourcesContent":["import { Children, Fragment, isValidElement, type ReactNode } from 'react';\n\nimport { toCssSize } from '../layout/columnSizing';\nimport {\n isTableBodyChild,\n isTableExpandedContentRowChild,\n isTableExpandedRowChild,\n isTableGroupFooterRowChild,\n isTableGroupRowChild,\n isTableRowChild,\n isTableSpacerRowChild,\n} from './tableChildGuards';\n\nexport const resolveHasBody = <RowType extends Record<string, unknown>>(children: ReactNode): boolean =>\n Children.toArray(children).some(child => {\n if (\n isTableBodyChild(child) ||\n isTableRowChild<RowType>(child) ||\n isTableSpacerRowChild(child) ||\n isTableExpandedRowChild<RowType>(child) ||\n isTableExpandedContentRowChild(child) ||\n isTableGroupRowChild(child) ||\n isTableGroupFooterRowChild(child)\n ) {\n return true;\n }\n\n if (isValidElement(child) && child.type === Fragment) {\n return resolveHasBody<RowType>(child.props.children);\n }\n\n return false;\n });\n\nexport const resolveBodyMaxHeight = (children: ReactNode) => {\n const tableBody = Children.toArray(children).find(isTableBodyChild);\n\n if (!tableBody) {\n return;\n }\n\n return toCssSize(tableBody.props.maxHeight);\n};\n"],"names":["resolveHasBody","children","Children","child","isTableBodyChild","isTableRowChild","isTableSpacerRowChild","isTableExpandedRowChild","isTableExpandedContentRowChild","isTableGroupRowChild","isTableGroupFooterRowChild","isValidElement","Fragment","resolveBodyMaxHeight","tableBody","toCssSize"],"mappings":";;;AAaO,MAAMA,IAAiB,CAA0CC,MACpEC,EAAS,QAAQD,CAAQ,EAAE,KAAK,CAAAE,MAExBC,EAAiBD,CAAK,KACtBE,EAAyBF,CAAK,KAC9BG,EAAsBH,CAAK,KAC3BI,EAAiCJ,CAAK,KACtCK,EAA+BL,CAAK,KACpCM,EAAqBN,CAAK,KAC1BO,EAA2BP,CAAK,IAEzB,KAGPQ,EAAeR,CAAK,KAAKA,EAAM,SAASS,IACjCZ,EAAwBG,EAAM,MAAM,QAAQ,IAGhD,EACV,GAEQU,IAAuB,CAACZ,MAAwB;AACzD,QAAMa,IAAYZ,EAAS,QAAQD,CAAQ,EAAE,KAAKG,CAAgB;AAElE,MAAKU;AAIL,WAAOC,EAAUD,EAAU,MAAM,SAAS;AAC9C;"}
@@ -1,3 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { TableColumnDefinition } from '../Table.types';
3
- export declare const resolveColumns: <RowType extends Record<string, unknown>>(children: ReactNode) => TableColumnDefinition<RowType>[];
@@ -1,81 +0,0 @@
1
- import { Children as l } from "react";
2
- import N from "../../../utils/classNames.js";
3
- import { isTableHeaderChild as R, isTableHeaderRowChild as z, isTableHeaderColumnChild as w } from "./tableChildGuards.js";
4
- const T = (A) => l.toArray(A).filter(R).flatMap((M) => {
5
- const { children: y } = M.props, g = l.toArray(y).filter(z);
6
- return g.length > 0 ? g.flatMap(
7
- (r) => l.toArray(r.props.children).filter(w).flatMap((i) => {
8
- const {
9
- columnKey: e,
10
- label: a,
11
- icon: t,
12
- filter: n,
13
- width: d,
14
- minWidth: s,
15
- children: o,
16
- horizontalAlign: h,
17
- className: m,
18
- headerClassName: c,
19
- hideOnMobile: p,
20
- hideLabel: b,
21
- draggable: f,
22
- sortable: C,
23
- ...u
24
- } = i.props;
25
- return e ? [
26
- {
27
- ...u,
28
- headerClassName: N(m, c),
29
- hideOnMobile: p,
30
- horizontalAlign: h,
31
- draggable: f,
32
- key: e,
33
- label: a ?? o ?? "",
34
- icon: t,
35
- filter: n,
36
- hideLabel: b,
37
- sortable: C,
38
- width: d ?? s
39
- }
40
- ] : [];
41
- })
42
- ) : l.toArray(y).filter(w).map((r, i) => {
43
- const {
44
- columnKey: e,
45
- label: a,
46
- icon: t,
47
- filter: n,
48
- width: d,
49
- minWidth: s,
50
- minResizeWidth: o,
51
- maxResizeWidth: h,
52
- draggable: m,
53
- horizontalAlign: c,
54
- className: p,
55
- headerClassName: b,
56
- hideOnMobile: f,
57
- hideLabel: C,
58
- sortable: u,
59
- children: W
60
- } = r.props;
61
- return {
62
- key: e ?? `column-${i + 1}`,
63
- label: a ?? W ?? "",
64
- icon: t,
65
- filter: n,
66
- width: d ?? s,
67
- minResizeWidth: o,
68
- maxResizeWidth: h,
69
- draggable: m,
70
- horizontalAlign: c,
71
- headerClassName: N(p, b),
72
- hideOnMobile: f,
73
- hideLabel: C,
74
- sortable: u
75
- };
76
- });
77
- });
78
- export {
79
- T as resolveColumns
80
- };
81
- //# sourceMappingURL=parseColumns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseColumns.js","sources":["../../../../src/components/table/parse/parseColumns.ts"],"sourcesContent":["import { Children, type ReactNode } from 'react';\n\nimport classNames from '../../../utils/classNames';\nimport type { TableColumnDefinition } from '../Table.types';\nimport { isTableHeaderChild, isTableHeaderColumnChild, isTableHeaderRowChild } from './tableChildGuards';\n\nexport const resolveColumns = <RowType extends Record<string, unknown>>(children: ReactNode) =>\n Children.toArray(children)\n .filter(isTableHeaderChild<RowType>)\n .flatMap(child => {\n const { children: headerChildren } = child.props;\n const headerRows = Children.toArray(headerChildren).filter(isTableHeaderRowChild);\n\n if (headerRows.length > 0) {\n return headerRows.flatMap(headerRow =>\n Children.toArray(headerRow.props.children)\n .filter(isTableHeaderColumnChild<RowType>)\n .flatMap(headerColumn => {\n const {\n columnKey: nestedColumnKey,\n label: nestedLabel,\n icon: nestedIcon,\n filter: nestedFilter,\n width: nestedWidth,\n minWidth: nestedMinWidth,\n children: nestedChildren,\n horizontalAlign,\n className,\n headerClassName,\n hideOnMobile,\n hideLabel,\n draggable,\n sortable,\n ...nestedRemainingProps\n } = headerColumn.props as typeof headerColumn.props & {\n minWidth?: number | string;\n };\n\n if (!nestedColumnKey) {\n return [];\n }\n\n return [\n {\n ...nestedRemainingProps,\n headerClassName: classNames(className, headerClassName),\n hideOnMobile,\n horizontalAlign,\n draggable,\n key: nestedColumnKey,\n label: nestedLabel ?? nestedChildren ?? '',\n icon: nestedIcon,\n filter: nestedFilter,\n hideLabel,\n sortable,\n width: nestedWidth ?? nestedMinWidth,\n } as TableColumnDefinition<RowType>,\n ];\n })\n );\n }\n\n return Children.toArray(headerChildren)\n .filter(isTableHeaderColumnChild<RowType>)\n .map((headerCell, columnIndex) => {\n const {\n columnKey,\n label,\n icon,\n filter,\n width,\n minWidth,\n minResizeWidth,\n maxResizeWidth,\n draggable,\n horizontalAlign,\n className,\n headerClassName,\n hideOnMobile,\n hideLabel,\n sortable,\n children: cellChildren,\n } = headerCell.props as typeof headerCell.props & {\n minWidth?: number | string;\n };\n\n return {\n key: columnKey ?? `column-${columnIndex + 1}`,\n label: label ?? cellChildren ?? '',\n icon,\n filter,\n width: width ?? minWidth,\n minResizeWidth,\n maxResizeWidth,\n draggable,\n horizontalAlign,\n headerClassName: classNames(className, headerClassName),\n hideOnMobile,\n hideLabel,\n sortable,\n } as TableColumnDefinition<RowType>;\n });\n });\n"],"names":["resolveColumns","children","Children","isTableHeaderChild","child","headerChildren","headerRows","isTableHeaderRowChild","headerRow","isTableHeaderColumnChild","headerColumn","nestedColumnKey","nestedLabel","nestedIcon","nestedFilter","nestedWidth","nestedMinWidth","nestedChildren","horizontalAlign","className","headerClassName","hideOnMobile","hideLabel","draggable","sortable","nestedRemainingProps","classNames","headerCell","columnIndex","columnKey","label","icon","filter","width","minWidth","minResizeWidth","maxResizeWidth","cellChildren"],"mappings":";;;AAMO,MAAMA,IAAiB,CAA0CC,MACpEC,EAAS,QAAQD,CAAQ,EACpB,OAAOE,CAA2B,EAClC,QAAQ,CAAAC,MAAS;AACd,QAAM,EAAE,UAAUC,EAAA,IAAmBD,EAAM,OACrCE,IAAaJ,EAAS,QAAQG,CAAc,EAAE,OAAOE,CAAqB;AAEhF,SAAID,EAAW,SAAS,IACbA,EAAW;AAAA,IAAQ,CAAAE,MACtBN,EAAS,QAAQM,EAAU,MAAM,QAAQ,EACpC,OAAOC,CAAiC,EACxC,QAAQ,CAAAC,MAAgB;AACrB,YAAM;AAAA,QACF,WAAWC;AAAA,QACX,OAAOC;AAAA,QACP,MAAMC;AAAA,QACN,QAAQC;AAAA,QACR,OAAOC;AAAA,QACP,UAAUC;AAAA,QACV,UAAUC;AAAA,QACV,iBAAAC;AAAA,QACA,WAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,cAAAC;AAAA,QACA,WAAAC;AAAA,QACA,WAAAC;AAAA,QACA,UAAAC;AAAA,QACA,GAAGC;AAAA,MAAA,IACHf,EAAa;AAIjB,aAAKC,IAIE;AAAA,QACH;AAAA,UACI,GAAGc;AAAA,UACH,iBAAiBC,EAAWP,GAAWC,CAAe;AAAA,UACtD,cAAAC;AAAA,UACA,iBAAAH;AAAA,UACA,WAAAK;AAAA,UACA,KAAKZ;AAAA,UACL,OAAOC,KAAeK,KAAkB;AAAA,UACxC,MAAMJ;AAAA,UACN,QAAQC;AAAA,UACR,WAAAQ;AAAA,UACA,UAAAE;AAAA,UACA,OAAOT,KAAeC;AAAA,QAAA;AAAA,MAC1B,IAjBO,CAAA;AAAA,IAmBf,CAAC;AAAA,EAAA,IAINd,EAAS,QAAQG,CAAc,EACjC,OAAOI,CAAiC,EACxC,IAAI,CAACkB,GAAYC,MAAgB;AAC9B,UAAM;AAAA,MACF,WAAAC;AAAA,MACA,OAAAC;AAAA,MACA,MAAAC;AAAA,MACA,QAAAC;AAAA,MACA,OAAAC;AAAA,MACA,UAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,WAAAb;AAAA,MACA,iBAAAL;AAAA,MACA,WAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,WAAAC;AAAA,MACA,UAAAE;AAAA,MACA,UAAUa;AAAA,IAAA,IACVV,EAAW;AAIf,WAAO;AAAA,MACH,KAAKE,KAAa,UAAUD,IAAc,CAAC;AAAA,MAC3C,OAAOE,KAASO,KAAgB;AAAA,MAChC,MAAAN;AAAA,MACA,QAAAC;AAAA,MACA,OAAOC,KAASC;AAAA,MAChB,gBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,WAAAb;AAAA,MACA,iBAAAL;AAAA,MACA,iBAAiBQ,EAAWP,GAAWC,CAAe;AAAA,MACtD,cAAAC;AAAA,MACA,WAAAC;AAAA,MACA,UAAAE;AAAA,IAAA;AAAA,EAER,CAAC;AACT,CAAC;"}
@@ -1,3 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { TableColumnDefinition, TableParsedFooter } from '../Table.types';
3
- export declare const resolveFooter: <RowType extends Record<string, unknown>>(children: ReactNode, columns: TableColumnDefinition<RowType>[]) => TableParsedFooter | undefined;
@@ -1,39 +0,0 @@
1
- import { Children as y } from "react";
2
- import { isTableFooterChild as N, isTableCellChild as b } from "./tableChildGuards.js";
3
- const I = (h, u) => {
4
- const r = y.toArray(h).find(N);
5
- if (!r)
6
- return;
7
- const { content: C, className: f, children: t } = r.props, s = y.toArray(t).filter(b), e = s.length > 0, c = {}, i = [], a = [];
8
- let l = 0;
9
- return s.forEach((d, p) => {
10
- const {
11
- columnKey: v,
12
- value: K,
13
- horizontalAlign: g,
14
- verticalAlign: A,
15
- className: B,
16
- colSpan: m = 1,
17
- children: F
18
- } = d.props, o = v ?? u[l]?.key, n = {
19
- key: String(d.key ?? o ?? `footer-${p}`),
20
- columnKey: o,
21
- content: K ?? F ?? "",
22
- horizontalAlign: g,
23
- verticalAlign: A,
24
- className: B,
25
- colSpan: m
26
- };
27
- i[l] = n, o && (c[o] = n), a.push(n), l += m;
28
- }), {
29
- className: f,
30
- content: e ? void 0 : C ?? t,
31
- cells: e ? a : void 0,
32
- cellsByKey: e ? c : void 0,
33
- cellsByIndex: e ? i : void 0
34
- };
35
- };
36
- export {
37
- I as resolveFooter
38
- };
39
- //# sourceMappingURL=parseFooter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseFooter.js","sources":["../../../../src/components/table/parse/parseFooter.ts"],"sourcesContent":["import { Children, type ReactNode } from 'react';\n\nimport type { TableColumnDefinition, TableParsedCell, TableParsedFooter, TableParsedFooterCell } from '../Table.types';\nimport { isTableCellChild, isTableFooterChild } from './tableChildGuards';\n\nexport const resolveFooter = <RowType extends Record<string, unknown>>(\n children: ReactNode,\n columns: TableColumnDefinition<RowType>[]\n) => {\n const tableFooter = Children.toArray(children).find(isTableFooterChild);\n\n if (!tableFooter) {\n return;\n }\n\n const { content, className, children: footerChildren } = tableFooter.props;\n const footerColumnChildren = Children.toArray(footerChildren).filter(isTableCellChild);\n const hasColumnCells = footerColumnChildren.length > 0;\n const cellsByKey: Record<string, TableParsedCell> = {};\n const cellsByIndex: TableParsedCell[] = [];\n const resolvedFooterCells: TableParsedFooterCell[] = [];\n let columnCursor = 0;\n\n footerColumnChildren.forEach((footerColumnChild, columnIndex) => {\n const {\n columnKey,\n value,\n horizontalAlign,\n verticalAlign,\n className: columnClassName,\n colSpan = 1,\n children: columnChildren,\n } = footerColumnChild.props;\n const resolvedColumnKey = columnKey ?? columns[columnCursor]?.key;\n const cell = {\n key: String(footerColumnChild.key ?? resolvedColumnKey ?? `footer-${columnIndex}`),\n columnKey: resolvedColumnKey,\n content: value ?? columnChildren ?? '',\n horizontalAlign,\n verticalAlign,\n className: columnClassName,\n colSpan,\n };\n\n cellsByIndex[columnCursor] = cell;\n if (resolvedColumnKey) {\n cellsByKey[resolvedColumnKey] = cell;\n }\n\n resolvedFooterCells.push(cell);\n columnCursor += colSpan;\n });\n\n return {\n className,\n content: hasColumnCells ? undefined : (content ?? footerChildren),\n cells: hasColumnCells ? resolvedFooterCells : undefined,\n cellsByKey: hasColumnCells ? cellsByKey : undefined,\n cellsByIndex: hasColumnCells ? cellsByIndex : undefined,\n } as TableParsedFooter;\n};\n"],"names":["resolveFooter","children","columns","tableFooter","Children","isTableFooterChild","content","className","footerChildren","footerColumnChildren","isTableCellChild","hasColumnCells","cellsByKey","cellsByIndex","resolvedFooterCells","columnCursor","footerColumnChild","columnIndex","columnKey","value","horizontalAlign","verticalAlign","columnClassName","colSpan","columnChildren","resolvedColumnKey","cell"],"mappings":";;AAKO,MAAMA,IAAgB,CACzBC,GACAC,MACC;AACD,QAAMC,IAAcC,EAAS,QAAQH,CAAQ,EAAE,KAAKI,CAAkB;AAEtE,MAAI,CAACF;AACD;AAGJ,QAAM,EAAE,SAAAG,GAAS,WAAAC,GAAW,UAAUC,EAAA,IAAmBL,EAAY,OAC/DM,IAAuBL,EAAS,QAAQI,CAAc,EAAE,OAAOE,CAAgB,GAC/EC,IAAiBF,EAAqB,SAAS,GAC/CG,IAA8C,CAAA,GAC9CC,IAAkC,CAAA,GAClCC,IAA+C,CAAA;AACrD,MAAIC,IAAe;AAEnB,SAAAN,EAAqB,QAAQ,CAACO,GAAmBC,MAAgB;AAC7D,UAAM;AAAA,MACF,WAAAC;AAAA,MACA,OAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,WAAWC;AAAA,MACX,SAAAC,IAAU;AAAA,MACV,UAAUC;AAAA,IAAA,IACVR,EAAkB,OAChBS,IAAoBP,KAAahB,EAAQa,CAAY,GAAG,KACxDW,IAAO;AAAA,MACT,KAAK,OAAOV,EAAkB,OAAOS,KAAqB,UAAUR,CAAW,EAAE;AAAA,MACjF,WAAWQ;AAAA,MACX,SAASN,KAASK,KAAkB;AAAA,MACpC,iBAAAJ;AAAA,MACA,eAAAC;AAAA,MACA,WAAWC;AAAA,MACX,SAAAC;AAAA,IAAA;AAGJ,IAAAV,EAAaE,CAAY,IAAIW,GACzBD,MACAb,EAAWa,CAAiB,IAAIC,IAGpCZ,EAAoB,KAAKY,CAAI,GAC7BX,KAAgBQ;AAAA,EACpB,CAAC,GAEM;AAAA,IACH,WAAAhB;AAAA,IACA,SAASI,IAAiB,SAAaL,KAAWE;AAAA,IAClD,OAAOG,IAAiBG,IAAsB;AAAA,IAC9C,YAAYH,IAAiBC,IAAa;AAAA,IAC1C,cAAcD,IAAiBE,IAAe;AAAA,EAAA;AAEtD;"}
@@ -1,4 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { TableParsedHeaderColumn } from '../Table.types';
3
- export declare const resolveHeaderColumns: <RowType extends Record<string, unknown>>(children: ReactNode) => TableParsedHeaderColumn<RowType>[];
4
- export declare const resolveHeaderClassName: <RowType extends Record<string, unknown>>(children: ReactNode) => string | undefined;