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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (412) hide show
  1. package/AnalyticsAnalysisOverlay.d.ts +1 -0
  2. package/AnalyticsAnalysisOverlay.js +5 -0
  3. package/AnalyticsAnalysisOverlay.js.map +1 -0
  4. package/Table.d.ts +2 -0
  5. package/Table.js +23 -0
  6. package/Table.js.map +1 -0
  7. package/TableCol.d.ts +2 -2
  8. package/TableCol.js +1 -1
  9. package/TableHead.d.ts +2 -2
  10. package/TableHead.js +1 -1
  11. package/TableSettingsDialog.d.ts +2 -2
  12. package/TableSettingsDialog.js +1 -1
  13. package/TableToolbar.js +3 -2
  14. package/analyticsAnalysisUtils.d.ts +1 -0
  15. package/analyticsAnalysisUtils.js +13 -0
  16. package/analyticsAnalysisUtils.js.map +1 -0
  17. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.d.ts +18 -0
  18. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js +128 -0
  19. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js.map +1 -0
  20. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.d.ts +9 -0
  21. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js +73 -0
  22. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js.map +1 -0
  23. package/components/applicationHeader/AppMenuContent.js.map +1 -1
  24. package/components/applicationHeader/ApplicationActionBar.js +4 -4
  25. package/components/applicationHeader/ApplicationActionBar.js.map +1 -1
  26. package/components/applicationHeader/CollapsedNavItem.js +5 -14
  27. package/components/applicationHeader/CollapsedNavItem.js.map +1 -1
  28. package/components/applicationHeader/NavItems.js +10 -10
  29. package/components/applicationHeader/NavItems.js.map +1 -1
  30. package/components/assetTree/AssetTree.js +23 -23
  31. package/components/assetTree/AssetTree.js.map +1 -1
  32. package/components/assetTree/TreeNothingFound.js +2 -2
  33. package/components/assetTree/TreeNothingFound.js.map +1 -1
  34. package/components/assetTree/treeUtils.js.map +1 -1
  35. package/components/autosuggest/AutoSuggest.js +31 -31
  36. package/components/autosuggest/AutoSuggest.js.map +1 -1
  37. package/components/autosuggest/AutoSuggestAddons.js +9 -9
  38. package/components/autosuggest/AutoSuggestAddons.js.map +1 -1
  39. package/components/banner/BannerActions.js +2 -2
  40. package/components/banner/BannerActions.js.map +1 -1
  41. package/components/banner/BannerIcon.js +3 -3
  42. package/components/banner/BannerIcon.js.map +1 -1
  43. package/components/banner/BannerPage.js +4 -4
  44. package/components/banner/BannerPage.js.map +1 -1
  45. package/components/button/Button.d.ts +7 -0
  46. package/components/button/Button.js +73 -65
  47. package/components/button/Button.js.map +1 -1
  48. package/components/checkbox/Checkbox.js +18 -17
  49. package/components/checkbox/Checkbox.js.map +1 -1
  50. package/components/datepicker/DateRangePicker.js +0 -2
  51. package/components/datepicker/DateRangePicker.js.map +1 -1
  52. package/components/datepicker/DayPicker.js +16 -16
  53. package/components/datepicker/DayPicker.js.map +1 -1
  54. package/components/dialog/Dialog.js.map +1 -1
  55. package/components/dialog/DialogHeader.js +23 -20
  56. package/components/dialog/DialogHeader.js.map +1 -1
  57. package/components/dialog/MediaDialog.js +1 -1
  58. package/components/dialog/MediaDialog.js.map +1 -1
  59. package/components/editableContent/EditableContent.js +7 -7
  60. package/components/editableContent/EditableContent.js.map +1 -1
  61. package/components/expander/ExpanderList.d.ts +5 -0
  62. package/components/expander/ExpanderList.js +25 -16
  63. package/components/expander/ExpanderList.js.map +1 -1
  64. package/components/expander/ExpanderPanel.d.ts +5 -0
  65. package/components/expander/ExpanderPanel.js +29 -28
  66. package/components/expander/ExpanderPanel.js.map +1 -1
  67. package/components/fade/FadeExpander.js +1 -1
  68. package/components/fade/FadeExpander.js.map +1 -1
  69. package/components/filepicker/FilePicker.js.map +1 -1
  70. package/components/loadMore/LoadMoreButton.d.ts +5 -0
  71. package/components/loadMore/LoadMoreButton.js +33 -29
  72. package/components/loadMore/LoadMoreButton.js.map +1 -1
  73. package/components/map/components/features/ContextMenu.js +13 -13
  74. package/components/map/components/features/ContextMenu.js.map +1 -1
  75. package/components/map/components/features/basics/InfoBubble.js.map +1 -1
  76. package/components/map/components/features/settings/MapSettingsTile.js.map +1 -1
  77. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +6 -6
  78. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js.map +1 -1
  79. package/components/map/utils/eventHandling.js +18 -18
  80. package/components/map/utils/eventHandling.js.map +1 -1
  81. package/components/map/utils/positions.d.ts +1 -1
  82. package/components/map/utils/positions.js +15 -12
  83. package/components/map/utils/positions.js.map +1 -1
  84. package/components/map/utils/rendering.d.ts +1 -1
  85. package/components/menuItems/MenuItems.js +6 -6
  86. package/components/menuItems/MenuItems.js.map +1 -1
  87. package/components/notification/NotificationsContainer.js.map +1 -1
  88. package/components/numberInput/NumberInput.js +57 -56
  89. package/components/numberInput/NumberInput.js.map +1 -1
  90. package/components/popover/Popover.js +4 -4
  91. package/components/popover/Popover.js.map +1 -1
  92. package/components/resizer/Resizer.js +6 -3
  93. package/components/resizer/Resizer.js.map +1 -1
  94. package/components/selects/BaseSelectDropdown.js +34 -32
  95. package/components/selects/BaseSelectDropdown.js.map +1 -1
  96. package/components/selects/MultiselectTogglePlaceholder.js.map +1 -1
  97. package/components/selects/MultiselectToggleSelection.js +11 -11
  98. package/components/selects/MultiselectToggleSelection.js.map +1 -1
  99. package/components/sidebars/Sidebar.js +12 -12
  100. package/components/sidebars/Sidebar.js.map +1 -1
  101. package/components/sidebars/SidebarCloseButton.js +2 -2
  102. package/components/sidebars/SidebarCloseButton.js.map +1 -1
  103. package/components/smoothScrollbars/SmoothScrollbars.d.ts +4 -3
  104. package/components/smoothScrollbars/SmoothScrollbars.js +11 -11
  105. package/components/smoothScrollbars/SmoothScrollbars.js.map +1 -1
  106. package/components/states/CustomState.js.map +1 -1
  107. package/components/svgImage/svgConverter.js.map +1 -1
  108. package/components/table/Table.d.ts +267 -0
  109. package/components/table/Table.js +233 -0
  110. package/components/table/Table.js.map +1 -0
  111. package/components/table/Table.types.d.ts +207 -0
  112. package/components/table/TableBody.d.ts +10 -0
  113. package/components/table/TableBody.js +5 -0
  114. package/components/table/TableBody.js.map +1 -0
  115. package/components/table/TableCard.d.ts +63 -0
  116. package/components/table/TableCard.js +150 -0
  117. package/components/table/TableCard.js.map +1 -0
  118. package/components/table/TableColumn.d.ts +47 -0
  119. package/components/table/TableColumn.js +5 -0
  120. package/components/table/TableColumn.js.map +1 -0
  121. package/components/table/TableExpandedContentRow.d.ts +22 -0
  122. package/components/table/TableExpandedContentRow.js +5 -0
  123. package/components/table/TableExpandedContentRow.js.map +1 -0
  124. package/components/table/TableExpandedRow.d.ts +17 -0
  125. package/components/table/TableExpandedRow.js +5 -0
  126. package/components/table/TableExpandedRow.js.map +1 -0
  127. package/components/table/TableExpanderButton.d.ts +25 -0
  128. package/components/table/TableExpanderButton.js +22 -0
  129. package/components/table/TableExpanderButton.js.map +1 -0
  130. package/components/table/TableFooter.d.ts +13 -0
  131. package/components/table/TableFooter.js +5 -0
  132. package/components/table/TableFooter.js.map +1 -0
  133. package/components/table/TableGroupFooterRow.d.ts +18 -0
  134. package/components/table/TableGroupFooterRow.js +5 -0
  135. package/components/table/TableGroupFooterRow.js.map +1 -0
  136. package/components/table/TableGroupRow.d.ts +24 -0
  137. package/components/table/TableGroupRow.js +5 -0
  138. package/components/table/TableGroupRow.js.map +1 -0
  139. package/components/table/TableHeader.d.ts +9 -0
  140. package/components/table/TableHeader.js +5 -0
  141. package/components/table/TableHeader.js.map +1 -0
  142. package/components/table/TableHeaderColumn.d.ts +70 -0
  143. package/components/table/TableHeaderColumn.js +5 -0
  144. package/components/table/TableHeaderColumn.js.map +1 -0
  145. package/components/table/TableHeaderRow.d.ts +9 -0
  146. package/components/table/TableHeaderRow.js +5 -0
  147. package/components/table/TableHeaderRow.js.map +1 -0
  148. package/components/table/TableRow.d.ts +19 -0
  149. package/components/table/TableRow.js +5 -0
  150. package/components/table/TableRow.js.map +1 -0
  151. package/components/table/TableSpacerRow.d.ts +12 -0
  152. package/components/table/TableSpacerRow.js +5 -0
  153. package/components/table/TableSpacerRow.js.map +1 -0
  154. package/components/table/TableToolbar.d.ts +23 -1
  155. package/components/table/TableToolbar.js +38 -4
  156. package/components/table/TableToolbar.js.map +1 -1
  157. package/components/table/TableViewToggles.d.ts +18 -0
  158. package/components/table/TableViewToggles.js +59 -87
  159. package/components/table/TableViewToggles.js.map +1 -1
  160. package/components/table/layout/columnSizing.d.ts +3 -0
  161. package/components/table/layout/columnSizing.js +23 -0
  162. package/components/table/layout/columnSizing.js.map +1 -0
  163. package/components/table/layout/useDraggableColumns.d.ts +14 -0
  164. package/components/table/layout/useDraggableColumns.js +47 -0
  165. package/components/table/layout/useDraggableColumns.js.map +1 -0
  166. package/components/table/layout/useHorizontalSectionSync.d.ts +11 -0
  167. package/components/table/layout/useHorizontalSectionSync.js +39 -0
  168. package/components/table/layout/useHorizontalSectionSync.js.map +1 -0
  169. package/components/table/layout/useMeasuredColumnMaxWidths.d.ts +12 -0
  170. package/components/table/layout/useMeasuredColumnMaxWidths.js +85 -0
  171. package/components/table/layout/useMeasuredColumnMaxWidths.js.map +1 -0
  172. package/components/table/layout/useResizableColumns.d.ts +14 -0
  173. package/components/table/layout/useResizableColumns.js +91 -0
  174. package/components/table/layout/useResizableColumns.js.map +1 -0
  175. package/components/table/layout/useTableLayout.d.ts +25 -0
  176. package/components/table/layout/useTableLayout.js +56 -0
  177. package/components/table/layout/useTableLayout.js.map +1 -0
  178. package/components/table/layout/useTableVirtualization.d.ts +22 -0
  179. package/components/table/layout/useTableVirtualization.js +125 -0
  180. package/components/table/layout/useTableVirtualization.js.map +1 -0
  181. package/components/table/model/buildTableViewModel.d.ts +28 -0
  182. package/components/table/model/buildTableViewModel.js +221 -0
  183. package/components/table/model/buildTableViewModel.js.map +1 -0
  184. package/components/table/model/resolveCellContent.d.ts +2 -0
  185. package/components/table/model/resolveCellContent.js +5 -0
  186. package/components/table/model/resolveCellContent.js.map +1 -0
  187. package/components/table/model/resolveRowMeta.d.ts +2 -0
  188. package/components/table/model/resolveRowMeta.js +15 -0
  189. package/components/table/model/resolveRowMeta.js.map +1 -0
  190. package/components/table/model/resolveTableClassConfig.d.ts +48 -0
  191. package/components/table/model/resolveTableClassConfig.js +64 -0
  192. package/components/table/model/resolveTableClassConfig.js.map +1 -0
  193. package/components/table/model/tableViewModel.types.d.ts +153 -0
  194. package/components/table/native/TableCol.js.map +1 -0
  195. package/components/table/{TableHead.js → native/TableHead.js} +2 -2
  196. package/components/table/native/TableHead.js.map +1 -0
  197. package/components/table/native/TableSettingsColumnButtons.js +59 -0
  198. package/components/table/native/TableSettingsColumnButtons.js.map +1 -0
  199. package/components/table/{TableSettingsColumnDetails.js → native/TableSettingsColumnDetails.js} +2 -2
  200. package/components/table/native/TableSettingsColumnDetails.js.map +1 -0
  201. package/components/table/{TableSettingsDialog.d.ts → native/TableSettingsDialog.d.ts} +2 -3
  202. package/components/table/native/TableSettingsDialog.js +216 -0
  203. package/components/table/native/TableSettingsDialog.js.map +1 -0
  204. package/components/table/{TableSettingsDialogFooter.js → native/TableSettingsDialogFooter.js} +2 -2
  205. package/components/table/native/TableSettingsDialogFooter.js.map +1 -0
  206. package/components/table/{TableSettingsListContainer.js → native/TableSettingsListContainer.js} +8 -8
  207. package/components/table/native/TableSettingsListContainer.js.map +1 -0
  208. package/components/table/native/TableSettingsListItem.js +100 -0
  209. package/components/table/native/TableSettingsListItem.js.map +1 -0
  210. package/components/table/parse/parseBody.d.ts +3 -0
  211. package/components/table/parse/parseBody.js +13 -0
  212. package/components/table/parse/parseBody.js.map +1 -0
  213. package/components/table/parse/parseColumns.d.ts +3 -0
  214. package/components/table/parse/parseColumns.js +81 -0
  215. package/components/table/parse/parseColumns.js.map +1 -0
  216. package/components/table/parse/parseFooter.d.ts +3 -0
  217. package/components/table/parse/parseFooter.js +39 -0
  218. package/components/table/parse/parseFooter.js.map +1 -0
  219. package/components/table/parse/parseHeaders.d.ts +4 -0
  220. package/components/table/parse/parseHeaders.js +89 -0
  221. package/components/table/parse/parseHeaders.js.map +1 -0
  222. package/components/table/parse/parseRows.d.ts +3 -0
  223. package/components/table/parse/parseRows.js +93 -0
  224. package/components/table/parse/parseRows.js.map +1 -0
  225. package/components/table/parse/tableChildGuards.d.ts +25 -0
  226. package/components/table/parse/tableChildGuards.js +29 -0
  227. package/components/table/parse/tableChildGuards.js.map +1 -0
  228. package/components/table/render/body/TableBodyRow.d.ts +16 -0
  229. package/components/table/render/body/TableBodyRow.js +84 -0
  230. package/components/table/render/body/TableBodyRow.js.map +1 -0
  231. package/components/table/render/body/TableBodySection.d.ts +20 -0
  232. package/components/table/render/body/TableBodySection.js +68 -0
  233. package/components/table/render/body/TableBodySection.js.map +1 -0
  234. package/components/table/render/body/TableDataRow.d.ts +15 -0
  235. package/components/table/render/body/TableDataRow.js +143 -0
  236. package/components/table/render/body/TableDataRow.js.map +1 -0
  237. package/components/table/render/body/TableEmptyRow.d.ts +7 -0
  238. package/components/table/render/body/TableEmptyRow.js +6 -0
  239. package/components/table/render/body/TableEmptyRow.js.map +1 -0
  240. package/components/table/render/body/TableExpandedRow.d.ts +8 -0
  241. package/components/table/render/body/TableExpandedRow.js +84 -0
  242. package/components/table/render/body/TableExpandedRow.js.map +1 -0
  243. package/components/table/render/body/TableGroupRow.d.ts +8 -0
  244. package/components/table/render/body/TableGroupRow.js +21 -0
  245. package/components/table/render/body/TableGroupRow.js.map +1 -0
  246. package/components/table/render/body/TableSpacerRow.d.ts +7 -0
  247. package/components/table/render/body/TableSpacerRow.js +15 -0
  248. package/components/table/render/body/TableSpacerRow.js.map +1 -0
  249. package/components/table/render/footer/TableFooterCell.d.ts +8 -0
  250. package/components/table/render/footer/TableFooterCell.js +31 -0
  251. package/components/table/render/footer/TableFooterCell.js.map +1 -0
  252. package/components/table/render/footer/TableFooterContent.d.ts +6 -0
  253. package/components/table/render/footer/TableFooterContent.js +6 -0
  254. package/components/table/render/footer/TableFooterContent.js.map +1 -0
  255. package/components/table/render/footer/TableFooterSection.d.ts +10 -0
  256. package/components/table/render/footer/TableFooterSection.js +28 -0
  257. package/components/table/render/footer/TableFooterSection.js.map +1 -0
  258. package/components/table/render/header/TableBatchDropdown.d.ts +9 -0
  259. package/components/table/render/header/TableBatchDropdown.js +28 -0
  260. package/components/table/render/header/TableBatchDropdown.js.map +1 -0
  261. package/components/table/render/header/TableColumnFilter.d.ts +66 -0
  262. package/components/table/render/header/TableColumnFilter.js +70 -0
  263. package/components/table/render/header/TableColumnFilter.js.map +1 -0
  264. package/components/table/render/header/TableDraggableHeaderCell.d.ts +3 -0
  265. package/components/table/render/header/TableDraggableHeaderCell.js +54 -0
  266. package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -0
  267. package/components/table/render/header/TableHeader.types.d.ts +35 -0
  268. package/components/table/render/header/TableHeaderCellContent.d.ts +3 -0
  269. package/components/table/render/header/TableHeaderCellContent.js +57 -0
  270. package/components/table/render/header/TableHeaderCellContent.js.map +1 -0
  271. package/components/table/render/header/TableHeaderCellResizeHandle.d.ts +3 -0
  272. package/components/table/render/header/TableHeaderCellResizeHandle.js +22 -0
  273. package/components/table/render/header/TableHeaderCellResizeHandle.js.map +1 -0
  274. package/components/table/render/header/TableHeaderDragOverlay.d.ts +13 -0
  275. package/components/table/render/header/TableHeaderDragOverlay.js +35 -0
  276. package/components/table/render/header/TableHeaderDragOverlay.js.map +1 -0
  277. package/components/table/render/header/TableHeaderSection.d.ts +3 -0
  278. package/components/table/render/header/TableHeaderSection.js +104 -0
  279. package/components/table/render/header/TableHeaderSection.js.map +1 -0
  280. package/components/table/render/header/TableHeaderSelectionCell.d.ts +9 -0
  281. package/components/table/render/header/TableHeaderSelectionCell.js +41 -0
  282. package/components/table/render/header/TableHeaderSelectionCell.js.map +1 -0
  283. package/components/table/render/header/TableStaticHeaderCell.d.ts +3 -0
  284. package/components/table/render/header/TableStaticHeaderCell.js +36 -0
  285. package/components/table/render/header/TableStaticHeaderCell.js.map +1 -0
  286. package/components/table/render/header/resolveAriaSort.d.ts +2 -0
  287. package/components/table/render/header/resolveAriaSort.js +8 -0
  288. package/components/table/render/header/resolveAriaSort.js.map +1 -0
  289. package/components/table/render/header/resolveColumnCollisionDetection.d.ts +2 -0
  290. package/components/table/render/header/resolveColumnCollisionDetection.js +9 -0
  291. package/components/table/render/header/resolveColumnCollisionDetection.js.map +1 -0
  292. package/components/table/render/header/resolveHeaderCellClassName.d.ts +10 -0
  293. package/components/table/render/header/resolveHeaderCellClassName.js +22 -0
  294. package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -0
  295. package/components/table/render/header/resolveHeaderCellStyle.d.ts +829 -0
  296. package/components/table/render/header/resolveHeaderCellStyle.js +9 -0
  297. package/components/table/render/header/resolveHeaderCellStyle.js.map +1 -0
  298. package/components/table/selection/useTableSelection.d.ts +82 -0
  299. package/components/table/selection/useTableSelection.js +35 -0
  300. package/components/table/selection/useTableSelection.js.map +1 -0
  301. package/components/table/settings/TableColumnsDropdown.d.ts +90 -0
  302. package/components/table/settings/TableColumnsDropdown.js +137 -0
  303. package/components/table/settings/TableColumnsDropdown.js.map +1 -0
  304. package/components/table/settings/TableColumnsDropdownItem.d.ts +8 -0
  305. package/components/table/settings/TableColumnsDropdownItem.js +66 -0
  306. package/components/table/settings/TableColumnsDropdownItem.js.map +1 -0
  307. package/components/table/shared/getAlignClassName.d.ts +3 -0
  308. package/components/table/shared/getAlignClassName.js +6 -0
  309. package/components/table/shared/getAlignClassName.js.map +1 -0
  310. package/components/table/shared/getInteractiveRowProps.d.ts +14 -0
  311. package/components/table/shared/getInteractiveRowProps.js +15 -0
  312. package/components/table/shared/getInteractiveRowProps.js.map +1 -0
  313. package/components/table/shared/resolveTableAria.d.ts +2 -0
  314. package/components/table/shared/resolveTableAria.js +6 -0
  315. package/components/table/shared/resolveTableAria.js.map +1 -0
  316. package/components/table/tableSizing.constants.d.ts +4 -0
  317. package/components/table/tableSizing.constants.js +8 -0
  318. package/components/table/tableSizing.constants.js.map +1 -0
  319. package/components/teaser/TeaserContainer.js +3 -3
  320. package/components/teaser/TeaserContainer.js.map +1 -1
  321. package/components/virtualList/VirtualList.js +16 -13
  322. package/components/virtualList/VirtualList.js.map +1 -1
  323. package/googleAnalyticsUtils.d.ts +1 -0
  324. package/googleAnalyticsUtils.js +9 -0
  325. package/googleAnalyticsUtils.js.map +1 -0
  326. package/hooks/useCookies.js +17 -17
  327. package/hooks/useCookies.js.map +1 -1
  328. package/hooks/useDraggableElement.d.ts +35 -0
  329. package/hooks/useDraggableElement.js +49 -0
  330. package/hooks/useDraggableElement.js.map +1 -0
  331. package/hooks/useElapsedTime.js +4 -4
  332. package/hooks/useElapsedTime.js.map +1 -1
  333. package/hooks/useLocationSuggestions.js +13 -10
  334. package/hooks/useLocationSuggestions.js.map +1 -1
  335. package/hooks/useMergeRefs.js +12 -12
  336. package/hooks/useMergeRefs.js.map +1 -1
  337. package/hooks/usePrevious.d.ts +1 -1
  338. package/hooks/usePrevious.js.map +1 -1
  339. package/hooks/useResizeObserver.js +25 -10
  340. package/hooks/useResizeObserver.js.map +1 -1
  341. package/hooks/useRioCookieConsent.js +7 -4
  342. package/hooks/useRioCookieConsent.js.map +1 -1
  343. package/hooks/useSorting.js +10 -10
  344. package/hooks/useSorting.js.map +1 -1
  345. package/hooks/useStorage.js +12 -12
  346. package/hooks/useStorage.js.map +1 -1
  347. package/hooks/useSum.js +10 -7
  348. package/hooks/useSum.js.map +1 -1
  349. package/hooks/useTableSelection.js.map +1 -1
  350. package/hooks/useTimeout.js +6 -3
  351. package/hooks/useTimeout.js.map +1 -1
  352. package/package.json +3 -3
  353. package/routeUtils.js +12 -10
  354. package/utils/analytics/analyticsAnalysisUtils.d.ts +27 -0
  355. package/utils/analytics/analyticsAnalysisUtils.js +161 -0
  356. package/utils/analytics/analyticsAnalysisUtils.js.map +1 -0
  357. package/utils/analytics/autoTracking.d.ts +14 -0
  358. package/utils/analytics/autoTracking.js +19 -0
  359. package/utils/analytics/autoTracking.js.map +1 -0
  360. package/utils/analytics/createAnalyticsOverlayTooltip.d.ts +36 -0
  361. package/utils/analytics/createAnalyticsOverlayTooltip.js +203 -0
  362. package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -0
  363. package/utils/analytics/googleAnalyticsUtils.d.ts +37 -0
  364. package/utils/analytics/googleAnalyticsUtils.js +37 -0
  365. package/utils/analytics/googleAnalyticsUtils.js.map +1 -0
  366. package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.d.ts +8 -0
  367. package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.js +61 -0
  368. package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.js.map +1 -0
  369. package/utils/analytics/useAnalyticsOverlayDom.d.ts +11 -0
  370. package/utils/analytics/useAnalyticsOverlayDom.js +120 -0
  371. package/utils/analytics/useAnalyticsOverlayDom.js.map +1 -0
  372. package/utils/arrayMove.js +11 -0
  373. package/utils/arrayMove.js.map +1 -0
  374. package/utils/cssuseragent.js +2 -2
  375. package/utils/cssuseragent.js.map +1 -1
  376. package/utils/deviceUtils.js.map +1 -1
  377. package/utils/formatUtils.js.map +1 -1
  378. package/utils/hasUtilityClass.js +3 -3
  379. package/utils/hasUtilityClass.js.map +1 -1
  380. package/utils/hidePiiData.js.map +1 -1
  381. package/utils/init/checkForReleaseVersion.js +4 -4
  382. package/utils/init/checkForReleaseVersion.js.map +1 -1
  383. package/utils/init/styledLogs.js.map +1 -1
  384. package/utils/mergeRefs.js +3 -3
  385. package/utils/mergeRefs.js.map +1 -1
  386. package/utils/routeUtils.d.ts +32 -1
  387. package/utils/routeUtils.js +85 -67
  388. package/utils/routeUtils.js.map +1 -1
  389. package/utils/storageUtils.js +9 -9
  390. package/utils/storageUtils.js.map +1 -1
  391. package/version.d.ts +1 -1
  392. package/version.js +2 -2
  393. package/version.js.map +1 -1
  394. package/components/table/TableCol.js.map +0 -1
  395. package/components/table/TableHead.js.map +0 -1
  396. package/components/table/TableSettingsColumnButtons.js +0 -45
  397. package/components/table/TableSettingsColumnButtons.js.map +0 -1
  398. package/components/table/TableSettingsColumnDetails.js.map +0 -1
  399. package/components/table/TableSettingsDialog.js +0 -208
  400. package/components/table/TableSettingsDialog.js.map +0 -1
  401. package/components/table/TableSettingsDialogFooter.js.map +0 -1
  402. package/components/table/TableSettingsListContainer.js.map +0 -1
  403. package/components/table/TableSettingsListItem.js +0 -96
  404. package/components/table/TableSettingsListItem.js.map +0 -1
  405. /package/components/table/{TableCol.d.ts → native/TableCol.d.ts} +0 -0
  406. /package/components/table/{TableCol.js → native/TableCol.js} +0 -0
  407. /package/components/table/{TableHead.d.ts → native/TableHead.d.ts} +0 -0
  408. /package/components/table/{TableSettingsColumnButtons.d.ts → native/TableSettingsColumnButtons.d.ts} +0 -0
  409. /package/components/table/{TableSettingsColumnDetails.d.ts → native/TableSettingsColumnDetails.d.ts} +0 -0
  410. /package/components/table/{TableSettingsDialogFooter.d.ts → native/TableSettingsDialogFooter.d.ts} +0 -0
  411. /package/components/table/{TableSettingsListContainer.d.ts → native/TableSettingsListContainer.d.ts} +0 -0
  412. /package/components/table/{TableSettingsListItem.d.ts → native/TableSettingsListItem.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSettingsDialog.js","sources":["../../../../src/components/table/native/TableSettingsDialog.tsx"],"sourcesContent":["import type React from 'react';\nimport { useState, useEffect, useRef } from 'react';\nimport { isEqual } from 'es-toolkit/predicate';\nimport { isEmpty, mapValues } from 'es-toolkit/compat';\nimport { noop } from 'es-toolkit/function';\nimport { arrayMove } from '@dnd-kit/sortable';\nimport type { DragEndEvent } from '@dnd-kit/core';\n\nimport classNames from '../../../utils/classNames';\nimport Dialog from '../../dialog/Dialog';\nimport ClearableInput from '../../clearableInput/ClearableInput';\nimport { TableSettingsDialogFooter } from './TableSettingsDialogFooter';\nimport { TableSettingsListContainer } from './TableSettingsListContainer';\nimport { filterColumns } from './TableSettingsListItem';\n\nconst DEFAULT_COLUMN_WIDTH = 0;\nconst MAX_COLUMN_WIDTH = 1000;\n\nexport type TableColumnDetails = {\n /**\n * Defined the current width of a column.\n *\n * @default 0\n */\n width?: number;\n\n /**\n * Defined the default width of a column which will be used when resetting to default.\n *\n * @default 0\n */\n defaultWidth?: number;\n\n /**\n * Defined the maximum width of a column.\n *\n * @default 1000\n */\n maxWidth?: number;\n};\n\nexport type TableColumnsSettings = {\n columnOrder: string[];\n hiddenColumns: string[];\n columnsDetails: TableColumnDetailsMap;\n};\n\nexport type TableColumnDetailsMap = Record<string, TableColumnDetails>;\nexport type ColumnLabelStrings = Record<string, string>;\n\nexport type TableSettingsItemProps = {\n columnLabels?: Record<string, React.ReactNode>;\n autoLabel?: string | React.ReactNode;\n disabledColumns?: string[];\n columnOrder: string[];\n hiddenColumns?: string[];\n columnSearchValue: string;\n columnsDetails: TableColumnDetailsMap;\n columnLabelStrings?: ColumnLabelStrings;\n openColumnsDetails?: Record<string, string>;\n onColumnWidthChange?: (column: keyof TableColumnDetailsMap, value: number) => void;\n onResetColumnWidth?: (column: keyof TableColumnDetailsMap) => void;\n onMoveColumn?: (columnName: string, newIndex: number, changeMovedColumn: boolean) => void;\n onOpenDetails?: (columnName: keyof TableColumnDetailsMap) => void;\n onToggleHideColumn?: (column: string) => void;\n};\n\nexport type TableSettingsDialogProps = {\n /**\n * Defined whether to show the dialog or not.\n *\n * @default false\n */\n show: boolean;\n\n /**\n * The title for the dialog header.\n */\n title: React.ReactNode;\n\n /**\n * The subtitle for the dialog header.\n */\n subtitle?: React.ReactNode;\n\n /**\n * List of column names in default order. This will be used for resetting changes.\n *\n * @default []\n */\n defaultColumnOrder: string[];\n\n /**\n * List of hidden columns that are hidden by default. This will be used for resetting changes.\n *\n * @default []\n */\n defaultHiddenColumns?: string[];\n\n /**\n * Initial default configuration for the each columns with regards to column width.\n * Used to reset to this state when the configuration differs.\n *\n * @default {}\n */\n defaultColumnDetails?: TableColumnDetailsMap;\n\n /**\n * List of column names in current order. The \"columnOrder\" will be returned when the order changes.\n *\n * @default []\n */\n columnOrder: string[];\n\n /**\n * List of column names which are currently hidden. The \"hiddenColumns\n * will be returned when the order changes.\n *\n * @default []\n */\n hiddenColumns?: string[];\n\n /**\n * List of column labels which will be shown in the table header. These labels are usually\n * translated labels that can be set as FormattedMessage components for instance.\n *\n * The object key is the column name and the object value is the translated message.\n *\n * @default {}\n * @example\n * { name: <FormattedMessage id='name' /> }\n */\n columnLabels: { [name: string]: React.ReactNode };\n\n /**\n * Hide a sorted column will result in an error, so disable at least one important fallback column\n * or the sorted column (fallback column recommended)\n */\n disabledColumns: string[];\n\n /**\n * Optional object of detail properties to be shown in the details section of the respective\n * column item. If the prop is not given, the width sections won't be rendered.\n * The keys of this object are the column names / keys you use to identify a column.\n */\n columnsDetails?: TableColumnDetailsMap;\n\n /**\n * The label shown when the column width is unset, which means \"auto\".\n *\n * @default ''\n */\n autoLabel?: string | React.ReactNode;\n\n /**\n * Text for the \"apply\" button. This button will not be shown when\n * `immediateChange` is enabled.\n */\n applyButtonText?: string | React.ReactNode;\n\n /**\n * Text for the \"cancel\" button. This button will not be shown when\n * `immediateChange` is enabled.\n */\n cancelButtonText?: string | React.ReactNode;\n\n /**\n * Text for the \"close\" button. This button will only be shown when\n * `immediateChange` is enabled.\n */\n closeButtonText?: string | React.ReactNode;\n\n /**\n * Text for the \"reset to default\" button.\n */\n resetButtonText: string | React.ReactNode;\n\n /**\n * Callback function for when the column order or visibility changes.\n *\n * @param columnOrder\n * @param hiddenColumns\n * @param columnsDetails\n * @returns\n */\n onColumnChange?: (columnOrder: string[], hiddenColumns: string[], columnsDetails?: TableColumnDetailsMap) => void;\n\n /**\n * Callback function for when a single column details like width changes.\n *\n * @param column\n * @param columnsDetails\n * @returns\n */\n onColumnDetailsChange?: (column: string, columnsDetails: TableColumnDetails) => void;\n\n /**\n * Callback function for when the changes are discarded and the dialog should close.\n * Will not be triggered when `immediateChange` is enabled.\n *\n * @returns\n */\n onDiscard?: () => void;\n\n /**\n * Callback function for when the final changes should be applied and the dialog should close.\n * Will not be triggered when `immediateChange `is enabled.\n *\n * @param columnOrder\n * @param hiddenColumns\n * @param columnsDetails\n * @returns\n */\n onApply?: (columnOrder: string[], hiddenColumns: string[], columnsDetails: TableColumnDetailsMap) => void;\n\n /**\n * Callback function for when dialog should close.\n *\n * @returns\n */\n onHide: () => void;\n\n /**\n * Search value which should be set for the search field when the dialog opens.\n */\n columnSearchValue?: string;\n\n /**\n * Callback function for when the search value changes.\n *\n * @param value\n * @returns\n */\n onSearchChange?: (value: string) => void;\n\n /**\n * Placeholder text for the search input.\n */\n searchPlaceholder: React.ReactNode;\n\n /**\n * Message that should be shown when column search result is empty.\n */\n notFoundMessage?: string;\n\n /**\n * Defines whether or not all changes apply immediately. If so, no cancel and apply buttons are shown.\n * Enable this if you want to update the table after each change. Be aware of having side effects when\n * toggling columns where data need to be fetched from the backend.\n *\n * @default false\n */\n immediateChange?: boolean;\n\n /**\n * Optional class names for the wrapper element.\n */\n className?: string;\n};\n\nconst TableSettingsDialog = (props: TableSettingsDialogProps) => {\n const {\n show = false,\n title,\n subtitle,\n className,\n defaultColumnOrder = [],\n defaultHiddenColumns = [],\n defaultColumnDetails = {},\n columnOrder: extColumnOrder = [],\n hiddenColumns: extHiddenColumns = [],\n columnLabels = {},\n disabledColumns = [],\n columnsDetails: extColumnsDetails = {},\n autoLabel = '',\n applyButtonText,\n cancelButtonText,\n closeButtonText,\n resetButtonText,\n onColumnChange = noop,\n onColumnDetailsChange = noop,\n onDiscard = noop,\n onApply = noop,\n onHide,\n columnSearchValue: extColumnSearchValue = '',\n onSearchChange = noop,\n searchPlaceholder,\n notFoundMessage = '',\n immediateChange = false,\n } = props;\n\n const [columnSearchValue, setColumnSearchValue] = useState(extColumnSearchValue);\n const [columnOrder, setColumnOrder] = useState(extColumnOrder);\n const [hiddenColumns, setHiddenColumns] = useState(extHiddenColumns || defaultHiddenColumns);\n\n const [columnsDetails, setColumnsDetails] = useState(extColumnsDetails);\n const [openColumnsDetails, setOpenColumnsDetails] = useState<Record<string, string>>({});\n\n const [columnLabelStrings, setColumnLabelStrings] = useState<ColumnLabelStrings>({});\n\n // Dirty flag for offering to reset changes or to discard them\n const [hasChanged, setHasChanged] = useState(false);\n const [isResetAll, setIsResetAll] = useState(false);\n\n const [movedColumn, setMovedColumn] = useState(false);\n\n const defaultColumnDetailsRef = useRef(defaultColumnDetails);\n const previousShowRef = useRef(show);\n\n // Update items from outside\n useEffect(() => {\n const hasJustOpened = show && !previousShowRef.current;\n const isClosed = !show;\n\n if (hasJustOpened || isClosed) {\n setColumnSearchValue(extColumnSearchValue);\n }\n\n setColumnOrder(extColumnOrder);\n setHiddenColumns(extHiddenColumns);\n setColumnsDetails(extColumnsDetails);\n\n const externalColumnOrder = extColumnOrder ?? defaultColumnOrder;\n const externalHiddenColumns = extHiddenColumns ?? defaultHiddenColumns;\n const externalColumnsDetails = extColumnsDetails ?? {};\n\n const hasChangesFromDefaults =\n !isEqual(externalColumnOrder, defaultColumnOrder) ||\n !isEqual(externalHiddenColumns, defaultHiddenColumns) ||\n hasColumnsDetailsChanged(externalColumnsDetails);\n setHasChanged(hasChangesFromDefaults);\n\n previousShowRef.current = show;\n }, [\n extColumnSearchValue,\n JSON.stringify(extColumnOrder),\n JSON.stringify(extHiddenColumns),\n JSON.stringify(extColumnsDetails),\n JSON.stringify(defaultColumnOrder),\n JSON.stringify(defaultHiddenColumns),\n show,\n ]);\n\n const hasColumnsDetailsChanged = (columnsDetailsToCheck: TableColumnDetailsMap) => {\n const getEffectiveWidth = (details: TableColumnDetails | undefined) => {\n if (!details) {\n return DEFAULT_COLUMN_WIDTH;\n }\n const { width, defaultWidth } = details;\n if (Number.isFinite(width)) {\n return width as number;\n }\n if (Number.isFinite(defaultWidth)) {\n return defaultWidth as number;\n }\n return DEFAULT_COLUMN_WIDTH;\n };\n\n const getFallbackDefaultWidth = (details: TableColumnDetails | undefined) => {\n if (Number.isFinite(details?.defaultWidth)) {\n return details?.defaultWidth as number;\n }\n\n return DEFAULT_COLUMN_WIDTH;\n };\n\n if (isEmpty(defaultColumnDetailsRef.current)) {\n return Object.values(columnsDetailsToCheck).some(\n details => getEffectiveWidth(details) !== getFallbackDefaultWidth(details)\n );\n }\n\n return Object.keys(defaultColumnDetailsRef.current).some(key => {\n const baseline = defaultColumnDetailsRef.current[key];\n const current = columnsDetailsToCheck[key];\n return getEffectiveWidth(current) !== getEffectiveWidth(baseline);\n });\n };\n\n const deleteMovedColumn = () => {\n setMovedColumn(false);\n };\n\n const moveColumnToIndex = (columnName: string, newIndex: number, changeMovedColumn: boolean) => {\n const newColumnOrder = columnOrder.filter(name => name !== columnName);\n newColumnOrder.splice(newIndex, 0, columnName);\n\n setColumnOrder(newColumnOrder);\n setMovedColumn(changeMovedColumn ? !!columnName : false);\n setHasChanged(true);\n\n if (immediateChange) {\n onColumnChange(newColumnOrder, hiddenColumns);\n }\n\n setTimeout(deleteMovedColumn, 500);\n };\n\n const handleResetColumnChanges = () => setIsResetAll(true);\n const handleCancelResetColumnChanges = () => setIsResetAll(false);\n\n const resetColumnsDetails = (details: TableColumnDetailsMap) => {\n // If explicit defaults were provided, return them to keep shape identical to the baseline.\n if (!isEmpty(defaultColumnDetails)) {\n return defaultColumnDetails;\n }\n\n // Fallback: derive sparse defaults like before\n return mapValues(details, (singleColumnDetails: TableColumnDetails) => {\n if (Number.isFinite(singleColumnDetails.defaultWidth)) {\n const defaultWidth = singleColumnDetails.defaultWidth as number;\n return { ...singleColumnDetails, width: defaultWidth };\n }\n\n const { width: _ignoredWidth, defaultWidth: _ignoredDefaultWidth, ...rest } = singleColumnDetails;\n return rest;\n });\n };\n\n const resetAllColumnChanges = () => {\n const defaultColumnsDetails = resetColumnsDetails(columnsDetails);\n\n setColumnOrder(defaultColumnOrder);\n setHiddenColumns(defaultHiddenColumns);\n setColumnSearchValue('');\n setHasChanged(false);\n setIsResetAll(false);\n\n if (!isEmpty(columnsDetails)) {\n setColumnsDetails(defaultColumnsDetails);\n }\n\n if (immediateChange) {\n onSearchChange('');\n onColumnChange(defaultColumnOrder, defaultHiddenColumns, defaultColumnsDetails);\n }\n };\n\n const discardColumnChanges = () => {\n onSearchChange('');\n // onCancel();\n onDiscard();\n onHide();\n };\n\n const handleManuallyApplyChanges = () => {\n setColumnSearchValue('');\n\n onSearchChange('');\n onColumnChange(columnOrder, hiddenColumns, columnsDetails);\n onApply(columnOrder, hiddenColumns, columnsDetails);\n onHide();\n };\n\n const toggleHideColumn = (column: string) => {\n const isHidden = hiddenColumns.includes(column);\n const newHiddenColumns = isHidden ? hiddenColumns.filter(name => name !== column) : [...hiddenColumns, column];\n\n setHiddenColumns(newHiddenColumns);\n setHasChanged(true);\n\n if (immediateChange) {\n onColumnChange(columnOrder, newHiddenColumns);\n }\n };\n\n const handleSearchChange = (searchValue: string) => {\n const newSearch = searchValue.toLowerCase();\n\n setColumnSearchValue(() => {\n onSearchChange(newSearch);\n return newSearch;\n });\n };\n\n const handleColumnWidthChange = (column: keyof TableColumnDetailsMap, value: number) => {\n const previousColumnDetails = columnsDetails[column];\n const updatedColumnDetails = previousColumnDetails\n ? { ...previousColumnDetails, width: value }\n : {\n width: value,\n defaultWidth: DEFAULT_COLUMN_WIDTH,\n maxWidth: MAX_COLUMN_WIDTH,\n };\n const updatedColumnsDetails = { ...columnsDetails, [column]: updatedColumnDetails };\n\n setColumnsDetails(updatedColumnsDetails);\n setHasChanged(true);\n\n if (immediateChange) {\n onColumnDetailsChange(column, updatedColumnDetails);\n }\n };\n\n const handleResetColumnWidth = (column: keyof TableColumnDetailsMap) => {\n const previousColumnDetails = columnsDetails[column];\n if (!previousColumnDetails) {\n return;\n }\n\n const updatedColumnDetails = {\n ...previousColumnDetails,\n width: previousColumnDetails.defaultWidth ?? DEFAULT_COLUMN_WIDTH,\n };\n const updatedColumnsDetails = { ...columnsDetails, [column]: updatedColumnDetails };\n\n setColumnsDetails(updatedColumnsDetails);\n\n if (immediateChange) {\n onColumnDetailsChange(column, updatedColumnDetails);\n }\n };\n\n const handleOpenColumnsDetails = (columnName: keyof TableColumnDetailsMap) => {\n const updatedOpenColumnDetails = { ...openColumnsDetails };\n\n if (updatedOpenColumnDetails[columnName]) {\n delete updatedOpenColumnDetails[columnName];\n } else {\n updatedOpenColumnDetails[columnName] = columnName;\n }\n\n setOpenColumnsDetails(updatedOpenColumnDetails);\n };\n\n const handleSortEnd = (event: DragEndEvent, previousOrder: string[]) => {\n const { active, over } = event;\n\n const activeId = active.id;\n const overId = over?.id;\n\n if (activeId === overId) {\n return;\n }\n\n const oldIndex = previousOrder.indexOf(String(activeId));\n const newIndex = previousOrder.indexOf(String(overId));\n\n const newColumnOrder = arrayMove(previousOrder, oldIndex, newIndex);\n\n setColumnOrder(newColumnOrder);\n setMovedColumn(true);\n setHasChanged(true);\n\n if (immediateChange) {\n onColumnChange(newColumnOrder, hiddenColumns);\n }\n };\n\n const renderTableSettingsDialogContent = () => {\n const itemProps = {\n columnLabels,\n autoLabel,\n disabledColumns,\n columnOrder,\n hiddenColumns,\n columnSearchValue,\n columnsDetails,\n columnLabelStrings,\n openColumnsDetails,\n onMoveColumn: moveColumnToIndex,\n onOpenDetails: handleOpenColumnsDetails,\n onColumnWidthChange: handleColumnWidthChange,\n onResetColumnWidth: handleResetColumnWidth,\n onToggleHideColumn: toggleHideColumn,\n };\n\n const filteredColumns = columnOrder.filter(column =>\n filterColumns(columnSearchValue, column, columnLabelStrings)\n );\n\n const hasItems = !isEqual(filteredColumns, columnOrder);\n\n return (\n <div>\n <div className='table-settings-search'>\n <div className='input-group width-100pct'>\n <span className='input-group-addon'>\n <span className='rioglyph rioglyph-search' />\n </span>\n <ClearableInput\n value={columnSearchValue}\n onChange={handleSearchChange}\n placeholder={searchPlaceholder}\n />\n </div>\n </div>\n <div className='table-settings-body'>\n {hasItems ? (\n <TableSettingsListContainer\n items={columnOrder}\n onSortEnd={handleSortEnd}\n itemProps={{ ...itemProps }}\n />\n ) : (\n <div className='text-center text-color-gray'>{notFoundMessage}</div>\n )}\n </div>\n </div>\n );\n };\n\n const renderTableSettingsDialogFooter = () => (\n <TableSettingsDialogFooter\n hasChanged={hasChanged}\n isResetAll={isResetAll}\n immediateChange={immediateChange}\n resetButtonText={resetButtonText}\n closeButtonText={closeButtonText}\n cancelButtonText={cancelButtonText}\n applyButtonText={applyButtonText}\n onHide={onHide}\n onResetColumnChanges={handleResetColumnChanges}\n onDiscardChanges={discardColumnChanges}\n onApplyChanges={handleManuallyApplyChanges}\n onConfirmResetColumnChanges={resetAllColumnChanges}\n onCancelResetColumnChanges={handleCancelResetColumnChanges}\n />\n );\n\n if (!show) {\n return null;\n }\n\n const dialogClassNames = classNames('TableSettingsDialog', className);\n\n return (\n <>\n {show && (\n <RenderedLabelStringsProvider columnLabels={columnLabels} setRenderedLabels={setColumnLabelStrings} />\n )}\n <Dialog\n show={show}\n title={title}\n subtitle={subtitle}\n onClose={onHide}\n body={renderTableSettingsDialogContent()}\n footer={renderTableSettingsDialogFooter()}\n className={dialogClassNames}\n />\n </>\n );\n};\n\n// For searching by name we need to get the label from the DOM as it may contain a\n// FormattedMessage. We need to unconditionally render all label elements to get their\n// text content from the DOM. Otherwise, the search won't work for an external provided\n// search term.\nconst RenderedLabelStringsProvider = ({\n columnLabels,\n setRenderedLabels,\n}: {\n columnLabels: Record<string, React.ReactNode>;\n setRenderedLabels: (getNewValue: (previous: Record<string, string>) => Record<string, string>) => void;\n}) => {\n const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!contentRef.current) {\n return;\n }\n\n const columnStrings: { [key: string]: string } = {};\n [...contentRef.current.children].forEach(label => {\n const dataKey = label.getAttribute('data-key');\n if (dataKey) {\n const updatedLabel = label.textContent?.replace(/\\r?\\n|\\r/g, '').toLowerCase();\n if (updatedLabel) {\n columnStrings[dataKey] = updatedLabel;\n }\n }\n });\n\n // We can not rely on the dependency array of the useEffect hook, because the inputs are ReactNode\n // instances which are objects without a stable reference. To avoid too many re-renders due to irrelevant\n // changes, the code below performs a deep equality check and keeps a stable object reference if there is\n // no difference in the output.\n setRenderedLabels(previous => (isEqual(previous, columnStrings) ? previous : columnStrings));\n });\n\n return (\n <div hidden ref={contentRef}>\n {Object.entries(columnLabels).map(([column, node]) => (\n <div key={column} data-key={column}>\n {node}\n </div>\n ))}\n </div>\n );\n};\n\nexport default TableSettingsDialog;\n"],"names":["DEFAULT_COLUMN_WIDTH","MAX_COLUMN_WIDTH","TableSettingsDialog","props","show","title","subtitle","className","defaultColumnOrder","defaultHiddenColumns","defaultColumnDetails","extColumnOrder","extHiddenColumns","columnLabels","disabledColumns","extColumnsDetails","autoLabel","applyButtonText","cancelButtonText","closeButtonText","resetButtonText","onColumnChange","noop","onColumnDetailsChange","onDiscard","onApply","onHide","extColumnSearchValue","onSearchChange","searchPlaceholder","notFoundMessage","immediateChange","columnSearchValue","setColumnSearchValue","useState","columnOrder","setColumnOrder","hiddenColumns","setHiddenColumns","columnsDetails","setColumnsDetails","openColumnsDetails","setOpenColumnsDetails","columnLabelStrings","setColumnLabelStrings","hasChanged","setHasChanged","isResetAll","setIsResetAll","movedColumn","setMovedColumn","defaultColumnDetailsRef","useRef","previousShowRef","useEffect","externalColumnOrder","externalHiddenColumns","externalColumnsDetails","hasChangesFromDefaults","isEqual","hasColumnsDetailsChanged","columnsDetailsToCheck","getEffectiveWidth","details","width","defaultWidth","getFallbackDefaultWidth","isEmpty","key","baseline","current","deleteMovedColumn","moveColumnToIndex","columnName","newIndex","changeMovedColumn","newColumnOrder","name","handleResetColumnChanges","handleCancelResetColumnChanges","resetColumnsDetails","mapValues","singleColumnDetails","_ignoredWidth","_ignoredDefaultWidth","rest","resetAllColumnChanges","defaultColumnsDetails","discardColumnChanges","handleManuallyApplyChanges","toggleHideColumn","column","newHiddenColumns","handleSearchChange","searchValue","newSearch","handleColumnWidthChange","value","previousColumnDetails","updatedColumnDetails","updatedColumnsDetails","handleResetColumnWidth","handleOpenColumnsDetails","updatedOpenColumnDetails","handleSortEnd","event","previousOrder","active","over","activeId","overId","oldIndex","arrayMove","renderTableSettingsDialogContent","itemProps","filteredColumns","filterColumns","hasItems","jsx","jsxs","ClearableInput","TableSettingsListContainer","renderTableSettingsDialogFooter","TableSettingsDialogFooter","dialogClassNames","classNames","Fragment","RenderedLabelStringsProvider","Dialog","setRenderedLabels","contentRef","columnStrings","label","dataKey","updatedLabel","previous","node"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs as t, jsx as n } from "react/jsx-runtime";
2
- import y from "../../utils/classNames.js";
3
- import e from "../button/Button.js";
2
+ import y from "../../../utils/classNames.js";
3
+ import e from "../../button/Button.js";
4
4
  const R = (l) => {
5
5
  const {
6
6
  hasChanged: i,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSettingsDialogFooter.js","sources":["../../../../src/components/table/native/TableSettingsDialogFooter.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport classNames from '../../../utils/classNames';\nimport Button from '../../../Button';\n\nexport type TableSettingsDialogFooterProps = {\n hasChanged: boolean;\n isResetAll: boolean;\n immediateChange: boolean;\n resetButtonText: string | ReactNode;\n closeButtonText: string | ReactNode;\n cancelButtonText: string | ReactNode;\n applyButtonText: string | ReactNode;\n onHide: () => void;\n onResetColumnChanges: () => void;\n onDiscardChanges: () => void;\n onApplyChanges: () => void;\n onConfirmResetColumnChanges: () => void;\n onCancelResetColumnChanges: () => void;\n};\n\nexport const TableSettingsDialogFooter = (props: TableSettingsDialogFooterProps) => {\n const {\n hasChanged,\n isResetAll,\n immediateChange,\n resetButtonText,\n closeButtonText,\n cancelButtonText,\n applyButtonText,\n onHide,\n onResetColumnChanges,\n onDiscardChanges,\n onApplyChanges,\n onConfirmResetColumnChanges,\n onCancelResetColumnChanges,\n } = props;\n\n const restButtonClassNames = classNames('btn', 'btn-default btn-link', !hasChanged && 'disabled');\n\n return (\n <div className='display-flex justify-content-between'>\n <div>\n {!isResetAll && (\n <div className={restButtonClassNames} onClick={onResetColumnChanges}>\n <span className='rioglyph rioglyph-revert text-size-xs margin-right-10' />\n {resetButtonText}\n </div>\n )}\n {isResetAll && (\n <div className='btn-group'>\n <Button\n iconOnly\n iconName='rioglyph-remove'\n className='margin-right-5 btn-outline'\n onClick={onCancelResetColumnChanges}\n />\n <Button\n iconOnly\n bsStyle={Button.PRIMARY}\n iconName='rioglyph-ok'\n onClick={onConfirmResetColumnChanges}\n />\n </div>\n )}\n </div>\n {immediateChange ? (\n <Button onClick={onHide}>{closeButtonText}</Button>\n ) : (\n <div className='btn-toolbar'>\n <Button onClick={onDiscardChanges}>{cancelButtonText}</Button>\n <Button bsStyle={Button.PRIMARY} onClick={onApplyChanges}>\n {applyButtonText}\n </Button>\n </div>\n )}\n </div>\n );\n};\n"],"names":["TableSettingsDialogFooter","props","hasChanged","isResetAll","immediateChange","resetButtonText","closeButtonText","cancelButtonText","applyButtonText","onHide","onResetColumnChanges","onDiscardChanges","onApplyChanges","onConfirmResetColumnChanges","onCancelResetColumnChanges","restButtonClassNames","classNames","jsxs","jsx","Button"],"mappings":";;;AAqBO,MAAMA,IAA4B,CAACC,MAA0C;AAChF,QAAM;AAAA,IACF,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,6BAAAC;AAAA,IACA,4BAAAC;AAAA,EAAA,IACAb,GAEEc,IAAuBC,EAAW,OAAO,wBAAwB,CAACd,KAAc,UAAU;AAEhG,SACI,gBAAAe,EAAC,OAAA,EAAI,WAAU,wCACX,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EACI,UAAA;AAAA,MAAA,CAACd,KACE,gBAAAc,EAAC,OAAA,EAAI,WAAWF,GAAsB,SAASL,GAC3C,UAAA;AAAA,QAAA,gBAAAQ,EAAC,QAAA,EAAK,WAAU,wDAAA,CAAwD;AAAA,QACvEb;AAAA,MAAA,GACL;AAAA,MAEHF,KACG,gBAAAc,EAAC,OAAA,EAAI,WAAU,aACX,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACG,UAAQ;AAAA,YACR,UAAS;AAAA,YACT,WAAU;AAAA,YACV,SAASL;AAAA,UAAA;AAAA,QAAA;AAAA,QAEb,gBAAAI;AAAA,UAACC;AAAA,UAAA;AAAA,YACG,UAAQ;AAAA,YACR,SAASA,EAAO;AAAA,YAChB,UAAS;AAAA,YACT,SAASN;AAAA,UAAA;AAAA,QAAA;AAAA,MACb,EAAA,CACJ;AAAA,IAAA,GAER;AAAA,IACCT,IACG,gBAAAc,EAACC,GAAA,EAAO,SAASV,GAAS,aAAgB,IAE1C,gBAAAQ,EAAC,OAAA,EAAI,WAAU,eACX,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAA,EAAO,SAASR,GAAmB,UAAAJ,GAAiB;AAAA,wBACpDY,GAAA,EAAO,SAASA,EAAO,SAAS,SAASP,GACrC,UAAAJ,EAAA,CACL;AAAA,IAAA,EAAA,CACJ;AAAA,EAAA,GAER;AAER;"}
@@ -1,27 +1,27 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
2
  import { useState as b, useCallback as p } from "react";
3
3
  import { useSensors as C, useSensor as n, PointerSensor as x, KeyboardSensor as D, DndContext as f, closestCenter as h } from "@dnd-kit/core";
4
- import { sortableKeyboardCoordinates as v, SortableContext as u, verticalListSortingStrategy as y } from "@dnd-kit/sortable";
4
+ import { sortableKeyboardCoordinates as u, SortableContext as v, verticalListSortingStrategy as y } from "@dnd-kit/sortable";
5
5
  import { restrictToVerticalAxis as A } from "@dnd-kit/modifiers";
6
6
  import E from "./TableSettingsListItem.js";
7
7
  const j = (i) => {
8
- const { items: o, itemProps: a, onSortEnd: l } = i, [r, s] = b(null), c = C(
8
+ const { items: o, itemProps: a, onSortEnd: l } = i, [r, s] = b(null), m = C(
9
9
  n(x),
10
- n(D, { coordinateGetter: v })
11
- ), m = p((t) => {
10
+ n(D, { coordinateGetter: u })
11
+ ), c = p((t) => {
12
12
  s(t.active.id);
13
13
  }, []), d = (t) => {
14
14
  s(null), l(t, o);
15
15
  }, g = "table-settings-item shadow-smooth-to-bottom z-index-max";
16
- return /* @__PURE__ */ e("div", { className: "table-settings-items-container", children: /* @__PURE__ */ e(
16
+ return /* @__PURE__ */ e("ol", { className: "table-settings-items-container padding-0 margin-0", children: /* @__PURE__ */ e(
17
17
  f,
18
18
  {
19
- sensors: c,
19
+ sensors: m,
20
20
  collisionDetection: h,
21
21
  modifiers: [A],
22
- onDragStart: m,
22
+ onDragStart: c,
23
23
  onDragEnd: d,
24
- children: /* @__PURE__ */ e(u, { items: o, strategy: y, children: o.map((t, S) => /* @__PURE__ */ e(
24
+ children: /* @__PURE__ */ e(v, { items: o, strategy: y, children: o.map((t, S) => /* @__PURE__ */ e(
25
25
  E,
26
26
  {
27
27
  column: t,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSettingsListContainer.js","sources":["../../../../src/components/table/native/TableSettingsListContainer.tsx"],"sourcesContent":["import { useCallback, useState } from 'react';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n type DragStartEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport type { UniqueIdentifier } from '@dnd-kit/core/dist/types';\n\nimport TableSettingsListItem from './TableSettingsListItem';\nimport type { TableSettingsItemProps } from './TableSettingsDialog';\n\nexport type TableSettingsListContainerProps = {\n items: string[];\n itemProps: TableSettingsItemProps;\n onSortEnd: (event: DragEndEvent, previousOrder: string[]) => void;\n};\n\nexport const TableSettingsListContainer = (props: TableSettingsListContainerProps) => {\n const { items, itemProps, onSortEnd } = props;\n\n const [activeDraggedColumn, setActiveDraggedColumn] = useState<UniqueIdentifier | null>(null);\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates })\n );\n\n const handleDragStart = useCallback((event: DragStartEvent) => {\n setActiveDraggedColumn(event.active.id);\n }, []);\n\n const handleDragEnd = (event: DragEndEvent) => {\n setActiveDraggedColumn(null);\n onSortEnd(event, items);\n };\n\n const activeClass = 'table-settings-item shadow-smooth-to-bottom z-index-max';\n\n return (\n <ol className='table-settings-items-container padding-0 margin-0'>\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n modifiers={[restrictToVerticalAxis]}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n >\n <SortableContext items={items} strategy={verticalListSortingStrategy}>\n {items.map((column, index) => (\n <TableSettingsListItem\n key={column}\n column={column}\n orderIndex={index}\n isActive={activeDraggedColumn === column}\n className={activeDraggedColumn === column ? activeClass : ''}\n {...itemProps}\n />\n ))}\n </SortableContext>\n </DndContext>\n </ol>\n );\n};\n"],"names":["TableSettingsListContainer","props","items","itemProps","onSortEnd","activeDraggedColumn","setActiveDraggedColumn","useState","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","handleDragStart","useCallback","event","handleDragEnd","activeClass","jsx","DndContext","closestCenter","restrictToVerticalAxis","SortableContext","verticalListSortingStrategy","column","index","TableSettingsListItem"],"mappings":";;;;;;AAwBO,MAAMA,IAA6B,CAACC,MAA2C;AAClF,QAAM,EAAE,OAAAC,GAAO,WAAAC,GAAW,WAAAC,EAAA,IAAcH,GAElC,CAACI,GAAqBC,CAAsB,IAAIC,EAAkC,IAAI,GAEtFC,IAAUC;AAAA,IACZC,EAAUC,CAAa;AAAA,IACvBD,EAAUE,GAAgB,EAAE,kBAAkBC,GAA6B;AAAA,EAAA,GAGzEC,IAAkBC,EAAY,CAACC,MAA0B;AAC3D,IAAAV,EAAuBU,EAAM,OAAO,EAAE;AAAA,EAC1C,GAAG,CAAA,CAAE,GAECC,IAAgB,CAACD,MAAwB;AAC3C,IAAAV,EAAuB,IAAI,GAC3BF,EAAUY,GAAOd,CAAK;AAAA,EAC1B,GAEMgB,IAAc;AAEpB,SACI,gBAAAC,EAAC,MAAA,EAAG,WAAU,qDACV,UAAA,gBAAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,SAAAZ;AAAA,MACA,oBAAoBa;AAAA,MACpB,WAAW,CAACC,CAAsB;AAAA,MAClC,aAAaR;AAAA,MACb,WAAWG;AAAA,MAEX,UAAA,gBAAAE,EAACI,KAAgB,OAAArB,GAAc,UAAUsB,GACpC,UAAAtB,EAAM,IAAI,CAACuB,GAAQC,MAChB,gBAAAP;AAAA,QAACQ;AAAA,QAAA;AAAA,UAEG,QAAAF;AAAA,UACA,YAAYC;AAAA,UACZ,UAAUrB,MAAwBoB;AAAA,UAClC,WAAWpB,MAAwBoB,IAASP,IAAc;AAAA,UACzD,GAAGf;AAAA,QAAA;AAAA,QALCsB;AAAA,MAAA,CAOZ,EAAA,CACL;AAAA,IAAA;AAAA,EAAA,GAER;AAER;"}
@@ -0,0 +1,100 @@
1
+ import { jsxs as m, jsx as t } from "react/jsx-runtime";
2
+ import { useSortable as O } from "@dnd-kit/sortable";
3
+ import { CSS as R } from "@dnd-kit/utilities";
4
+ import { noop as $, isEmpty as j } from "es-toolkit/compat";
5
+ import H from "../../../utils/classNames.js";
6
+ import _ from "../../checkbox/Checkbox.js";
7
+ import B from "../../collapse/Collapse.js";
8
+ import { TableSettingsColumnDetails as E } from "./TableSettingsColumnDetails.js";
9
+ import { TableSettingsColumnButtons as F } from "./TableSettingsColumnButtons.js";
10
+ const P = 1e3, U = (o, e, l) => o ? !(l[e] || "").toLowerCase().includes(o.toLowerCase()) : !1, Z = (o) => {
11
+ const {
12
+ column: e,
13
+ orderIndex: l,
14
+ columnLabels: i,
15
+ autoLabel: d,
16
+ disabledColumns: c = [],
17
+ columnOrder: u,
18
+ hiddenColumns: p = [],
19
+ columnSearchValue: a,
20
+ columnsDetails: b,
21
+ columnLabelStrings: f = {},
22
+ openColumnsDetails: r = {},
23
+ onColumnWidthChange: C,
24
+ onResetColumnWidth: h,
25
+ onMoveColumn: g,
26
+ onOpenDetails: N,
27
+ onToggleHideColumn: x = $,
28
+ isActive: S = !1,
29
+ className: v
30
+ } = o, n = !j(a), { attributes: D, listeners: L, setNodeRef: T, setActivatorNodeRef: k, transform: w, transition: W } = O({
31
+ id: e,
32
+ disabled: n
33
+ }), y = {
34
+ transform: R.Transform.toString(w),
35
+ transition: W
36
+ }, A = U(a, e, f), I = H("table-settings-item", v), s = b[e];
37
+ return /* @__PURE__ */ m(
38
+ "li",
39
+ {
40
+ hidden: A,
41
+ className: I,
42
+ ref: T,
43
+ style: y,
44
+ children: [
45
+ /* @__PURE__ */ m("div", { className: "table-settings-item-header user-select-none", ref: k, children: [
46
+ /* @__PURE__ */ t("div", { className: "CheckboxWrapper display-flex align-items-center padding-left-2 margin-top--3", children: /* @__PURE__ */ t(
47
+ _,
48
+ {
49
+ checked: !p.includes(e),
50
+ onClick: (M) => {
51
+ x(e), M.stopPropagation();
52
+ },
53
+ disabled: c.includes(e)
54
+ }
55
+ ) }),
56
+ /* @__PURE__ */ t(
57
+ "div",
58
+ {
59
+ className: `table-settings-item-label ${n ? "no-drag" : ""}`,
60
+ "data-key": e,
61
+ ...D,
62
+ ...L,
63
+ children: i[e]
64
+ }
65
+ ),
66
+ s && /* @__PURE__ */ t("div", { className: "column-width-label", children: s.width ? `${s.width}px` : d }),
67
+ /* @__PURE__ */ t(
68
+ F,
69
+ {
70
+ column: e,
71
+ index: l,
72
+ columnDetails: s,
73
+ columnOrder: u,
74
+ openColumnsDetails: r,
75
+ disabled: n,
76
+ onMoveColumn: g,
77
+ onOpenDetails: N
78
+ }
79
+ )
80
+ ] }),
81
+ s && !S && /* @__PURE__ */ t(B, { open: !!r[e], children: /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t(
82
+ E,
83
+ {
84
+ ...s,
85
+ column: e,
86
+ maxColumnWidth: P,
87
+ onColumnWidthChange: C,
88
+ onResetColumnWidth: h
89
+ }
90
+ ) }) })
91
+ ]
92
+ },
93
+ `table-settings-item-${e}`
94
+ );
95
+ };
96
+ export {
97
+ Z as default,
98
+ U as filterColumns
99
+ };
100
+ //# sourceMappingURL=TableSettingsListItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSettingsListItem.js","sources":["../../../../src/components/table/native/TableSettingsListItem.tsx"],"sourcesContent":["import { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { isEmpty, noop } from 'es-toolkit/compat';\n\nimport classNames from '../../../utils/classNames';\nimport Checkbox from '../../checkbox/Checkbox';\nimport Collapse from '../../collapse/Collapse';\nimport { TableSettingsColumnDetails } from './TableSettingsColumnDetails';\nimport { TableSettingsColumnButtons } from './TableSettingsColumnButtons';\nimport type { TableSettingsItemProps } from './TableSettingsDialog';\n\nconst MAX_COLUMN_WIDTH = 1000;\n\nexport const filterColumns = (searchValue: string, column: string, columnLabelStrings: Record<string, string>) => {\n if (!searchValue) {\n return false;\n }\n const label = columnLabelStrings[column] || '';\n return !label.toLowerCase().includes(searchValue.toLowerCase());\n};\n\nexport type TableSettingsListItemProps = TableSettingsItemProps & {\n column: string;\n orderIndex: number;\n isActive: boolean;\n className?: string;\n};\n\nconst TableSettingsListItem = (props: TableSettingsListItemProps) => {\n const {\n column,\n orderIndex,\n columnLabels,\n autoLabel,\n disabledColumns = [],\n columnOrder,\n hiddenColumns = [],\n columnSearchValue,\n columnsDetails,\n columnLabelStrings = {},\n openColumnsDetails = {},\n onColumnWidthChange,\n onResetColumnWidth,\n onMoveColumn,\n onOpenDetails,\n onToggleHideColumn = noop,\n isActive = false,\n className,\n } = props;\n\n const isSortingDisabled = !isEmpty(columnSearchValue);\n\n const { attributes, listeners, setNodeRef, setActivatorNodeRef, transform, transition } = useSortable({\n id: column,\n disabled: isSortingDisabled,\n });\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n // Filter out items which don't match the search value.\n const isFiltered = filterColumns(columnSearchValue, column, columnLabelStrings);\n\n const itemClassNames = classNames('table-settings-item', className);\n\n const columnDetails = columnsDetails[column];\n\n return (\n <li\n hidden={isFiltered}\n className={itemClassNames}\n key={`table-settings-item-${column}`}\n ref={setNodeRef}\n style={style}\n >\n <div className='table-settings-item-header user-select-none' ref={setActivatorNodeRef}>\n <div className='CheckboxWrapper display-flex align-items-center padding-left-2 margin-top--3'>\n <Checkbox\n checked={!hiddenColumns.includes(column)}\n onClick={event => {\n onToggleHideColumn(column);\n event.stopPropagation();\n }}\n disabled={disabledColumns.includes(column)}\n />\n </div>\n <div\n className={`table-settings-item-label ${isSortingDisabled ? 'no-drag' : ''}`}\n data-key={column}\n {...attributes}\n {...listeners}\n >\n {columnLabels[column]}\n </div>\n {columnDetails && (\n <div className='column-width-label'>\n {columnDetails.width ? `${columnDetails.width}px` : autoLabel}\n </div>\n )}\n <TableSettingsColumnButtons\n column={column}\n index={orderIndex}\n columnDetails={columnDetails}\n columnOrder={columnOrder}\n openColumnsDetails={openColumnsDetails}\n disabled={isSortingDisabled}\n onMoveColumn={onMoveColumn}\n onOpenDetails={onOpenDetails}\n />\n </div>\n {columnDetails && !isActive && (\n <Collapse open={!!openColumnsDetails[column]}>\n <div>\n <TableSettingsColumnDetails\n {...columnDetails}\n column={column}\n maxColumnWidth={MAX_COLUMN_WIDTH}\n onColumnWidthChange={onColumnWidthChange}\n onResetColumnWidth={onResetColumnWidth}\n />\n </div>\n </Collapse>\n )}\n </li>\n );\n};\n\nexport default TableSettingsListItem;\n"],"names":["MAX_COLUMN_WIDTH","filterColumns","searchValue","column","columnLabelStrings","TableSettingsListItem","props","orderIndex","columnLabels","autoLabel","disabledColumns","columnOrder","hiddenColumns","columnSearchValue","columnsDetails","openColumnsDetails","onColumnWidthChange","onResetColumnWidth","onMoveColumn","onOpenDetails","onToggleHideColumn","noop","isActive","className","isSortingDisabled","isEmpty","attributes","listeners","setNodeRef","setActivatorNodeRef","transform","transition","useSortable","style","CSS","isFiltered","itemClassNames","classNames","columnDetails","jsxs","jsx","Checkbox","event","TableSettingsColumnButtons","Collapse","TableSettingsColumnDetails"],"mappings":"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"}
@@ -0,0 +1,3 @@
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;
@@ -0,0 +1,13 @@
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
@@ -0,0 +1 @@
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;"}
@@ -0,0 +1,3 @@
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>[];
@@ -0,0 +1,81 @@
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
@@ -0,0 +1 @@
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;"}
@@ -0,0 +1,3 @@
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;
@@ -0,0 +1,39 @@
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
@@ -0,0 +1 @@
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;"}
@@ -0,0 +1,4 @@
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;
@@ -0,0 +1,89 @@
1
+ import { Children as l } from "react";
2
+ import A from "../../../utils/classNames.js";
3
+ import { isTableHeaderChild as $, isTableHeaderRowChild as w, isTableHeaderColumnChild as S } from "./tableChildGuards.js";
4
+ const H = (a) => {
5
+ const { parentKey: e, headerIndex: n, rowIndex: o, columnKey: s, columnIndex: r } = a;
6
+ return `${String(e ?? `header-${n}`)}-${o}-${String(s ?? r)}`;
7
+ }, x = (a) => l.toArray(a).filter($).flatMap((e, n) => {
8
+ const { children: o } = e.props, s = l.toArray(o).filter(w);
9
+ return s.length > 0 ? s.flatMap(
10
+ (r, t) => l.toArray(r.props.children).filter(S).map((i, d) => {
11
+ const {
12
+ columnKey: c,
13
+ label: m,
14
+ icon: p,
15
+ filter: h,
16
+ colSpan: y = 1,
17
+ rowSpan: b = 1,
18
+ children: f,
19
+ className: u,
20
+ headerClassName: C,
21
+ hideLabel: g,
22
+ draggable: N,
23
+ resizeable: K,
24
+ ...k
25
+ } = i.props;
26
+ return {
27
+ ...k,
28
+ key: H({
29
+ parentKey: e.key,
30
+ headerIndex: n,
31
+ rowIndex: t,
32
+ columnKey: i.key,
33
+ columnIndex: d
34
+ }),
35
+ columnKey: c,
36
+ label: m ?? f ?? "",
37
+ icon: p,
38
+ filter: h,
39
+ hideLabel: g,
40
+ row: t + 1,
41
+ colSpan: y,
42
+ rowSpan: b,
43
+ headerClassName: A(u, C),
44
+ draggable: N,
45
+ resizeable: K
46
+ };
47
+ })
48
+ ) : l.toArray(o).filter(S).map((r, t) => {
49
+ const {
50
+ columnKey: i,
51
+ label: d,
52
+ icon: c,
53
+ filter: m,
54
+ horizontalAlign: p,
55
+ verticalAlign: h,
56
+ className: y,
57
+ headerClassName: b,
58
+ hideOnMobile: f,
59
+ hideLabel: u,
60
+ draggable: C,
61
+ resizeable: g,
62
+ sortable: N,
63
+ children: K
64
+ } = r.props;
65
+ return {
66
+ key: r.key ?? `${String(e.key ?? `header-${n}`)}-${t}`,
67
+ columnKey: i,
68
+ label: d ?? K ?? "",
69
+ icon: c,
70
+ filter: m,
71
+ hideLabel: u,
72
+ row: 1,
73
+ colSpan: 1,
74
+ rowSpan: 1,
75
+ horizontalAlign: p,
76
+ verticalAlign: h,
77
+ headerClassName: A(y, b),
78
+ hideOnMobile: f,
79
+ draggable: C,
80
+ resizeable: g,
81
+ sortable: N
82
+ };
83
+ });
84
+ }), z = (a) => l.toArray(a).filter($).flatMap((e) => [e.props.className]).find(Boolean);
85
+ export {
86
+ z as resolveHeaderClassName,
87
+ x as resolveHeaderColumns
88
+ };
89
+ //# sourceMappingURL=parseHeaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseHeaders.js","sources":["../../../../src/components/table/parse/parseHeaders.ts"],"sourcesContent":["import { Children, type ReactNode } from 'react';\n\nimport classNames from '../../../utils/classNames';\nimport type { TableParsedHeaderColumn } from '../Table.types';\nimport { isTableHeaderChild, isTableHeaderColumnChild, isTableHeaderRowChild } from './tableChildGuards';\n\nconst resolveNestedHeaderKey = (args: {\n parentKey: string | number | null;\n headerIndex: number;\n rowIndex: number;\n columnKey: string | number | null;\n columnIndex: number;\n}) => {\n const { parentKey, headerIndex, rowIndex, columnKey, columnIndex } = args;\n\n return `${String(parentKey ?? `header-${headerIndex}`)}-${rowIndex}-${String(columnKey ?? columnIndex)}`;\n};\n\nexport const resolveHeaderColumns = <RowType extends Record<string, unknown>>(\n children: ReactNode\n): TableParsedHeaderColumn<RowType>[] =>\n Children.toArray(children)\n .filter(isTableHeaderChild<RowType>)\n .flatMap((child, index) => {\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, rowIndex) =>\n Children.toArray(headerRow.props.children)\n .filter(isTableHeaderColumnChild<RowType>)\n .map((headerColumn, columnIndex) => {\n const {\n columnKey: nestedColumnKey,\n label: nestedLabel,\n icon: nestedIcon,\n filter: nestedFilter,\n colSpan = 1,\n rowSpan = 1,\n children: nestedChildren,\n className,\n headerClassName,\n hideLabel,\n draggable,\n resizeable,\n ...nestedRemainingProps\n } = headerColumn.props;\n\n return {\n ...nestedRemainingProps,\n key: resolveNestedHeaderKey({\n parentKey: child.key,\n headerIndex: index,\n rowIndex,\n columnKey: headerColumn.key,\n columnIndex,\n }),\n columnKey: nestedColumnKey,\n label: nestedLabel ?? nestedChildren ?? '',\n icon: nestedIcon,\n filter: nestedFilter,\n hideLabel,\n row: rowIndex + 1,\n colSpan,\n rowSpan,\n headerClassName: classNames(className, headerClassName),\n draggable,\n resizeable,\n } as TableParsedHeaderColumn<RowType>;\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 horizontalAlign,\n verticalAlign,\n className,\n headerClassName,\n hideOnMobile,\n hideLabel,\n draggable,\n resizeable,\n sortable,\n children: cellChildren,\n } = headerCell.props;\n\n return {\n key: headerCell.key ?? `${String(child.key ?? `header-${index}`)}-${columnIndex}`,\n columnKey,\n label: label ?? cellChildren ?? '',\n icon,\n filter,\n hideLabel,\n row: 1,\n colSpan: 1,\n rowSpan: 1,\n horizontalAlign,\n verticalAlign,\n headerClassName: classNames(className, headerClassName),\n hideOnMobile,\n draggable,\n resizeable,\n sortable,\n } as TableParsedHeaderColumn<RowType>;\n });\n });\n\nexport const resolveHeaderClassName = <RowType extends Record<string, unknown>>(children: ReactNode) =>\n Children.toArray(children)\n .filter(isTableHeaderChild<RowType>)\n .flatMap(child => [child.props.className])\n .find(Boolean);\n"],"names":["resolveNestedHeaderKey","args","parentKey","headerIndex","rowIndex","columnKey","columnIndex","resolveHeaderColumns","children","Children","isTableHeaderChild","child","index","headerChildren","headerRows","isTableHeaderRowChild","headerRow","isTableHeaderColumnChild","headerColumn","nestedColumnKey","nestedLabel","nestedIcon","nestedFilter","colSpan","rowSpan","nestedChildren","className","headerClassName","hideLabel","draggable","resizeable","nestedRemainingProps","classNames","headerCell","label","icon","filter","horizontalAlign","verticalAlign","hideOnMobile","sortable","cellChildren","resolveHeaderClassName"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ReactNode } from 'react';
2
+ import { TableColumnDefinition, TableParsedRow } from '../Table.types';
3
+ export declare const resolveRows: <RowType extends Record<string, unknown>>(children: ReactNode, columns: TableColumnDefinition<RowType>[]) => TableParsedRow<RowType>[];