@economic/taco 1.40.3 → 2.0.0-alpha.173

Sign up to get free protection for your applications and to get access to all the features.
Files changed (435) hide show
  1. package/dist/components/Icon/components/HeightTall.d.ts +3 -0
  2. package/dist/components/Icon/components/index.d.ts +1 -1
  3. package/dist/components/IconButton/IconButton.d.ts +3 -3
  4. package/dist/components/Input/Input.d.ts +1 -1
  5. package/dist/components/Menu/Menu.d.ts +2 -0
  6. package/dist/components/Menu/components/Item.d.ts +6 -1
  7. package/dist/components/Menu/components/Link.d.ts +1 -1
  8. package/dist/components/Menu/components/SubMenu.d.ts +8 -0
  9. package/dist/components/Navigation2/components/Link.d.ts +1 -1
  10. package/dist/components/Popover/Popover.d.ts +3 -0
  11. package/dist/components/Provider/Localization.d.ts +55 -20
  12. package/dist/components/RadioGroup/util.d.ts +1 -0
  13. package/dist/components/SearchInput/SearchInput.d.ts +2 -0
  14. package/dist/components/SearchInput2/SearchInput2.d.ts +23 -0
  15. package/dist/components/Select2/components/Option.d.ts +1 -1
  16. package/dist/components/Select2/components/Search.d.ts +1 -1
  17. package/dist/components/Table3/Table3.d.ts +11 -0
  18. package/dist/components/Table3/components/columns/cell/Cell.d.ts +6 -0
  19. package/dist/components/Table3/components/columns/cell/DisplayCell.d.ts +22 -0
  20. package/dist/components/Table3/components/columns/cell/EditingCell.d.ts +7 -0
  21. package/dist/components/Table3/components/columns/footer/Footer.d.ts +14 -0
  22. package/dist/components/Table3/components/columns/footer/Summary.d.ts +7 -0
  23. package/dist/components/Table3/components/columns/header/Goto.d.ts +6 -0
  24. package/dist/components/Table3/components/columns/header/Header.d.ts +27 -0
  25. package/dist/components/Table3/components/columns/header/Menu.d.ts +16 -0
  26. package/dist/components/Table3/components/columns/header/Resizer.d.ts +7 -0
  27. package/dist/components/Table3/components/columns/header/SortIndicator.d.ts +12 -0
  28. package/dist/components/Table3/components/columns/internal/Actions.d.ts +4 -0
  29. package/dist/components/Table3/components/columns/internal/Drag.d.ts +4 -0
  30. package/dist/components/Table3/components/columns/internal/EditingActions.d.ts +8 -0
  31. package/dist/components/Table3/components/columns/internal/Expansion.d.ts +4 -0
  32. package/dist/components/Table3/components/columns/internal/Selection.d.ts +4 -0
  33. package/dist/components/Table3/components/columns/styles.d.ts +4 -0
  34. package/dist/components/Table3/components/rows/ExpandedRow.d.ts +8 -0
  35. package/dist/components/Table3/components/rows/Row.d.ts +21 -0
  36. package/dist/components/Table3/components/rows/RowContext.d.ts +9 -0
  37. package/dist/components/Table3/components/rows/SkeletonRow.d.ts +10 -0
  38. package/dist/components/Table3/components/rows/styles.d.ts +6 -0
  39. package/dist/components/{Table2/components/ColumnSettingsButton.d.ts → Table3/components/toolbar/ColumnSettings.d.ts} +1 -1
  40. package/dist/components/Table3/components/toolbar/EditButton.d.ts +7 -0
  41. package/dist/components/Table3/components/toolbar/Filter/filters/Filters.d.ts +7 -0
  42. package/dist/components/Table3/components/toolbar/Filter/filters/components/Comparator.d.ts +11 -0
  43. package/dist/components/Table3/components/toolbar/Filter/filters/components/Filter.d.ts +13 -0
  44. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.d.ts +8 -0
  45. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.d.ts +7 -0
  46. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterValue.d.ts +10 -0
  47. package/dist/components/Table3/components/toolbar/Filter/filters/components/Placeholder.d.ts +11 -0
  48. package/dist/components/Table3/components/toolbar/FontSize.d.ts +7 -0
  49. package/dist/components/Table3/components/toolbar/PrintButton/PrintButton.d.ts +8 -0
  50. package/dist/components/Table3/components/toolbar/PrintButton/PrintIFrame.d.ts +8 -0
  51. package/dist/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.d.ts +1 -0
  52. package/dist/components/Table3/components/toolbar/RowHeight.d.ts +7 -0
  53. package/dist/components/Table3/components/toolbar/Search.d.ts +8 -0
  54. package/dist/components/Table3/components/toolbar/Toolbar.d.ts +12 -0
  55. package/dist/components/Table3/hooks/features/useColumnFreezing.d.ts +12 -0
  56. package/dist/components/Table3/hooks/features/useColumnOrdering.d.ts +6 -0
  57. package/dist/components/Table3/hooks/features/useCurrentRow.d.ts +9 -0
  58. package/dist/components/Table3/hooks/features/useEditing.d.ts +31 -0
  59. package/dist/components/Table3/hooks/features/useFontSize.d.ts +7 -0
  60. package/dist/components/Table3/hooks/features/usePauseHoverState.d.ts +6 -0
  61. package/dist/components/Table3/hooks/features/usePrinting.d.ts +5 -0
  62. package/dist/components/Table3/hooks/features/useRowClick.d.ts +7 -0
  63. package/dist/components/Table3/hooks/features/useRowDrag.d.ts +6 -0
  64. package/dist/components/Table3/hooks/features/useRowDrop.d.ts +5 -0
  65. package/dist/components/Table3/hooks/features/useRowGoto.d.ts +5 -0
  66. package/dist/components/Table3/hooks/features/useRowHeight.d.ts +7 -0
  67. package/dist/components/Table3/hooks/features/useRowSelection.d.ts +6 -0
  68. package/dist/components/Table3/hooks/features/useSearch.d.ts +16 -0
  69. package/dist/components/Table3/hooks/listeners/useCurrentRowListener.d.ts +2 -0
  70. package/dist/components/Table3/hooks/listeners/useEditingStateListener.d.ts +2 -0
  71. package/dist/components/Table3/hooks/listeners/useFilteringStateListener.d.ts +3 -0
  72. package/dist/components/Table3/hooks/listeners/useRowSelectionListener.d.ts +3 -0
  73. package/dist/components/Table3/hooks/listeners/useSearchStateListener.d.ts +3 -0
  74. package/dist/components/Table3/hooks/listeners/useServerLoadingListener.d.ts +3 -0
  75. package/dist/components/Table3/hooks/listeners/useSettingsStateListener.d.ts +3 -0
  76. package/dist/components/Table3/hooks/listeners/useShortcutsListener.d.ts +3 -0
  77. package/dist/components/Table3/hooks/listeners/useSortingStateListener.d.ts +3 -0
  78. package/dist/components/Table3/hooks/useConvertChildrenToColumns.d.ts +9 -0
  79. package/dist/components/Table3/hooks/useCssGrid.d.ts +5 -0
  80. package/dist/components/Table3/hooks/useCssVars.d.ts +6 -0
  81. package/dist/components/Table3/hooks/useTable.d.ts +63 -0
  82. package/dist/components/Table3/hooks/useTableData.d.ts +23 -0
  83. package/dist/components/Table3/hooks/useTablePreset.d.ts +2 -0
  84. package/dist/components/Table3/hooks/useTableRefInstanceSetup.d.ts +4 -0
  85. package/dist/components/Table3/strategies/index.d.ts +4 -0
  86. package/dist/components/Table3/strategies/virtualised.d.ts +4 -0
  87. package/dist/components/Table3/types.d.ts +311 -0
  88. package/dist/components/Table3/util/columns.d.ts +7 -0
  89. package/dist/components/{Table2/components/column/utils.d.ts → Table3/util/editing.d.ts} +2 -1
  90. package/dist/components/Table3/util/filtering.d.ts +3 -0
  91. package/dist/components/Tabs/Tabs.d.ts +2 -0
  92. package/dist/components/Tag/Tag.d.ts +1 -1
  93. package/dist/esm/index.css +130 -2
  94. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js +2 -2
  95. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js.map +1 -1
  96. package/dist/esm/packages/taco/src/components/Alert/Alert.js +1 -0
  97. package/dist/esm/packages/taco/src/components/Alert/Alert.js.map +1 -1
  98. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +3 -1
  99. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
  100. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +4 -1
  101. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
  102. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +1 -1
  103. package/dist/esm/packages/taco/src/components/Icon/components/FontSize.js +19 -0
  104. package/dist/esm/packages/taco/src/components/Icon/components/FontSize.js.map +1 -0
  105. package/dist/esm/packages/taco/src/components/Icon/components/{DensitySpacious.js → HeightExtraTall.js} +4 -4
  106. package/dist/esm/packages/taco/src/components/Icon/components/{DensitySpacious.js.map → HeightExtraTall.js.map} +1 -1
  107. package/dist/esm/packages/taco/src/components/Icon/components/{DensityNormal.js → HeightMedium.js} +4 -4
  108. package/dist/esm/packages/taco/src/components/Icon/components/HeightMedium.js.map +1 -0
  109. package/dist/esm/packages/taco/src/components/Icon/components/{DensityCompact.js → HeightShort.js} +4 -4
  110. package/dist/esm/packages/taco/src/components/Icon/components/HeightShort.js.map +1 -0
  111. package/dist/esm/packages/taco/src/components/Icon/components/{DensityComfortable.js → HeightTall.js} +4 -4
  112. package/dist/esm/packages/taco/src/components/Icon/components/HeightTall.js.map +1 -0
  113. package/dist/esm/packages/taco/src/components/Icon/components/index.js +10 -8
  114. package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
  115. package/dist/esm/packages/taco/src/components/IconButton/IconButton.js.map +1 -1
  116. package/dist/esm/packages/taco/src/components/Input/Input.js +1 -1
  117. package/dist/esm/packages/taco/src/components/Input/Input.js.map +1 -1
  118. package/dist/esm/packages/taco/src/components/Menu/Menu.js +2 -0
  119. package/dist/esm/packages/taco/src/components/Menu/Menu.js.map +1 -1
  120. package/dist/esm/packages/taco/src/components/Menu/components/Item.js +20 -2
  121. package/dist/esm/packages/taco/src/components/Menu/components/Item.js.map +1 -1
  122. package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js +22 -0
  123. package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js.map +1 -0
  124. package/dist/esm/packages/taco/src/components/Popover/Popover.js +11 -3
  125. package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
  126. package/dist/esm/packages/taco/src/components/Provider/Localization.js +56 -21
  127. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  128. package/dist/esm/packages/taco/src/components/RadioGroup/RadioGroup.js +2 -7
  129. package/dist/esm/packages/taco/src/components/RadioGroup/RadioGroup.js.map +1 -1
  130. package/dist/esm/packages/taco/src/components/RadioGroup/util.js +14 -0
  131. package/dist/esm/packages/taco/src/components/RadioGroup/util.js.map +1 -0
  132. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js +4 -0
  133. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
  134. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +196 -0
  135. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -0
  136. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js +3 -1
  137. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
  138. package/dist/esm/packages/taco/src/components/Switch/Switch.js +3 -1
  139. package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
  140. package/dist/esm/packages/taco/src/components/Table3/Table3.js +145 -0
  141. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -0
  142. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js +27 -0
  143. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js.map +1 -0
  144. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js +128 -0
  145. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +1 -0
  146. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +283 -0
  147. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -0
  148. package/dist/esm/packages/taco/src/components/{Table2/components/column → Table3/components/columns/cell}/Indicator.js +14 -13
  149. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Indicator.js.map +1 -0
  150. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js +50 -0
  151. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js.map +1 -0
  152. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js +30 -0
  153. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js.map +1 -0
  154. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js +27 -0
  155. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js.map +1 -0
  156. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +134 -0
  157. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -0
  158. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js +156 -0
  159. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js.map +1 -0
  160. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js +42 -0
  161. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js.map +1 -0
  162. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js +38 -0
  163. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js.map +1 -0
  164. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +108 -0
  165. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -0
  166. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js +86 -0
  167. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js.map +1 -0
  168. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js +124 -0
  169. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js.map +1 -0
  170. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js +103 -0
  171. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js.map +1 -0
  172. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +121 -0
  173. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +1 -0
  174. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js +17 -0
  175. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -0
  176. package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js +27 -0
  177. package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js.map +1 -0
  178. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js +255 -0
  179. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js.map +1 -0
  180. package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js +13 -0
  181. package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js.map +1 -0
  182. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js +43 -0
  183. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js.map +1 -0
  184. package/dist/esm/packages/taco/src/components/Table3/components/rows/styles.js +9 -0
  185. package/dist/esm/packages/taco/src/components/Table3/components/rows/styles.js.map +1 -0
  186. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +105 -0
  187. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -0
  188. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js +45 -0
  189. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js.map +1 -0
  190. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +148 -0
  191. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -0
  192. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js +107 -0
  193. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js.map +1 -0
  194. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js +28 -0
  195. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +1 -0
  196. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js +60 -0
  197. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js.map +1 -0
  198. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js +89 -0
  199. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js.map +1 -0
  200. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js +45 -0
  201. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js.map +1 -0
  202. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js +25 -0
  203. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js.map +1 -0
  204. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +99 -0
  205. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -0
  206. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +223 -0
  207. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -0
  208. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js +88 -0
  209. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js.map +1 -0
  210. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js +26 -0
  211. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js.map +1 -0
  212. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +137 -0
  213. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -0
  214. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js +85 -0
  215. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js.map +1 -0
  216. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js +87 -0
  217. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js.map +1 -0
  218. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js +45 -0
  219. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js.map +1 -0
  220. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js +52 -0
  221. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js.map +1 -0
  222. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js +197 -0
  223. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js.map +1 -0
  224. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js +13 -0
  225. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js.map +1 -0
  226. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js +19 -0
  227. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js.map +1 -0
  228. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js +9 -0
  229. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js.map +1 -0
  230. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js +25 -0
  231. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js.map +1 -0
  232. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js +13 -0
  233. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js.map +1 -0
  234. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js +9 -0
  235. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js.map +1 -0
  236. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js +9 -0
  237. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js.map +1 -0
  238. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js +27 -0
  239. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js.map +1 -0
  240. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js +29 -0
  241. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js.map +1 -0
  242. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js +27 -0
  243. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js.map +1 -0
  244. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js +14 -0
  245. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js.map +1 -0
  246. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js +24 -0
  247. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js.map +1 -0
  248. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js +19 -0
  249. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js.map +1 -0
  250. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js +19 -0
  251. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js.map +1 -0
  252. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js +51 -0
  253. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js.map +1 -0
  254. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js +16 -0
  255. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js.map +1 -0
  256. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +26 -0
  257. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -0
  258. package/dist/esm/packages/taco/src/components/{Table2/hooks/useTableShortcuts.js → Table3/hooks/listeners/useShortcutsListener.js} +9 -6
  259. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js.map +1 -0
  260. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js +17 -0
  261. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js.map +1 -0
  262. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +116 -0
  263. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -0
  264. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js +56 -0
  265. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js.map +1 -0
  266. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js +61 -0
  267. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js.map +1 -0
  268. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +154 -0
  269. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -0
  270. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableData.js +128 -0
  271. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableData.js.map +1 -0
  272. package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js +98 -0
  273. package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js.map +1 -0
  274. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js +19 -0
  275. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js.map +1 -0
  276. package/dist/esm/packages/taco/src/components/Table3/strategies/index.js +8 -0
  277. package/dist/esm/packages/taco/src/components/Table3/strategies/index.js.map +1 -0
  278. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js +113 -0
  279. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js.map +1 -0
  280. package/dist/esm/packages/taco/src/components/Table3/types.js +18 -0
  281. package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -0
  282. package/dist/esm/packages/taco/src/components/Table3/util/columns.js +39 -0
  283. package/dist/esm/packages/taco/src/components/Table3/util/columns.js.map +1 -0
  284. package/dist/esm/packages/taco/src/components/{Table2/components/column/utils.js → Table3/util/editing.js} +7 -5
  285. package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -0
  286. package/dist/esm/packages/taco/src/components/{Table2/utilities/filterFn.js → Table3/util/filtering.js} +19 -17
  287. package/dist/esm/packages/taco/src/components/Table3/util/filtering.js.map +1 -0
  288. package/dist/esm/packages/taco/src/components/Tabs/Tabs.js +9 -1
  289. package/dist/esm/packages/taco/src/components/Tabs/Tabs.js.map +1 -1
  290. package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js +10 -5
  291. package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js.map +1 -1
  292. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js +16 -0
  293. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js.map +1 -0
  294. package/dist/esm/packages/taco/src/index.js +6 -3
  295. package/dist/esm/packages/taco/src/index.js.map +1 -1
  296. package/dist/esm/packages/taco/src/primitives/Button.js +6 -17
  297. package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
  298. package/dist/esm/packages/taco/src/utils/dom.js +1 -2
  299. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  300. package/dist/esm/packages/taco/src/utils/input.js +14 -1
  301. package/dist/esm/packages/taco/src/utils/input.js.map +1 -1
  302. package/dist/hooks/useGlobalKeyDown.d.ts +1 -1
  303. package/dist/hooks/useLazyEffect.d.ts +2 -0
  304. package/dist/index.css +130 -2
  305. package/dist/index.d.ts +3 -1
  306. package/dist/taco.cjs.development.js +4654 -3365
  307. package/dist/taco.cjs.development.js.map +1 -1
  308. package/dist/taco.cjs.production.min.js +1 -1
  309. package/dist/taco.cjs.production.min.js.map +1 -1
  310. package/dist/utils/input.d.ts +1 -0
  311. package/package.json +8 -10
  312. package/tailwind.config.js +0 -1
  313. package/types.json +1874 -1408
  314. package/dist/components/Table2/Table2.d.ts +0 -130
  315. package/dist/components/Table2/components/BatchActionsMenu.d.ts +0 -10
  316. package/dist/components/Table2/components/EditModeButton.d.ts +0 -8
  317. package/dist/components/Table2/components/RowDensityButton.d.ts +0 -7
  318. package/dist/components/Table2/components/Search.d.ts +0 -3
  319. package/dist/components/Table2/components/ShortcutsGuideButton.d.ts +0 -7
  320. package/dist/components/Table2/components/column/Base.d.ts +0 -14
  321. package/dist/components/Table2/components/column/Cell.d.ts +0 -15
  322. package/dist/components/Table2/components/column/Footer.d.ts +0 -9
  323. package/dist/components/Table2/components/column/Header.d.ts +0 -11
  324. package/dist/components/Table2/components/column/ValidationError.d.ts +0 -5
  325. package/dist/components/Table2/components/filters/FiltersButton.d.ts +0 -7
  326. package/dist/components/Table2/components/filters/components/Column.d.ts +0 -11
  327. package/dist/components/Table2/components/filters/components/ColumnFilter.d.ts +0 -10
  328. package/dist/components/Table2/components/filters/components/Comparator.d.ts +0 -11
  329. package/dist/components/Table2/components/filters/components/EmptyFilter.d.ts +0 -13
  330. package/dist/components/Table2/components/filters/components/InferredControl.d.ts +0 -10
  331. package/dist/components/Table2/components/row/Context.d.ts +0 -24
  332. package/dist/components/Table2/components/row/ExpandedRow.d.ts +0 -6
  333. package/dist/components/Table2/components/row/Row.d.ts +0 -2
  334. package/dist/components/Table2/hooks/listeners/useActiveCellStateListener.d.ts +0 -3
  335. package/dist/components/Table2/hooks/listeners/useActiveRowStateListener.d.ts +0 -3
  336. package/dist/components/Table2/hooks/listeners/useColumnOffsetStateListener.d.ts +0 -3
  337. package/dist/components/Table2/hooks/listeners/useFilterStateListener.d.ts +0 -3
  338. package/dist/components/Table2/hooks/listeners/useRowSelectionListener.d.ts +0 -3
  339. package/dist/components/Table2/hooks/listeners/useSettingsStateListener.d.ts +0 -3
  340. package/dist/components/Table2/hooks/useActiveCell.d.ts +0 -26
  341. package/dist/components/Table2/hooks/useActiveRow.d.ts +0 -10
  342. package/dist/components/Table2/hooks/useColumnDefinitions.d.ts +0 -37
  343. package/dist/components/Table2/hooks/useEditMode.d.ts +0 -28
  344. package/dist/components/Table2/hooks/useGridTemplate.d.ts +0 -2
  345. package/dist/components/Table2/hooks/useTable.d.ts +0 -46
  346. package/dist/components/Table2/hooks/useTableShortcuts.d.ts +0 -2
  347. package/dist/components/Table2/hooks/useVirtualiser.d.ts +0 -23
  348. package/dist/components/Table2/types.d.ts +0 -148
  349. package/dist/components/Table2/utilities/cell.d.ts +0 -14
  350. package/dist/components/Table2/utilities/columns.d.ts +0 -16
  351. package/dist/components/Table2/utilities/filterFn.d.ts +0 -3
  352. package/dist/esm/packages/taco/src/components/Icon/components/DensityComfortable.js.map +0 -1
  353. package/dist/esm/packages/taco/src/components/Icon/components/DensityCompact.js.map +0 -1
  354. package/dist/esm/packages/taco/src/components/Icon/components/DensityNormal.js.map +0 -1
  355. package/dist/esm/packages/taco/src/components/Table2/Table2.js +0 -422
  356. package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +0 -1
  357. package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js +0 -83
  358. package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js.map +0 -1
  359. package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js +0 -116
  360. package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js.map +0 -1
  361. package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js +0 -81
  362. package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js.map +0 -1
  363. package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js +0 -35
  364. package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js.map +0 -1
  365. package/dist/esm/packages/taco/src/components/Table2/components/Search.js +0 -62
  366. package/dist/esm/packages/taco/src/components/Table2/components/Search.js.map +0 -1
  367. package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js +0 -32
  368. package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js.map +0 -1
  369. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +0 -600
  370. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +0 -1
  371. package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js +0 -32
  372. package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js.map +0 -1
  373. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js +0 -243
  374. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js.map +0 -1
  375. package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js.map +0 -1
  376. package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js +0 -30
  377. package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js.map +0 -1
  378. package/dist/esm/packages/taco/src/components/Table2/components/column/utils.js.map +0 -1
  379. package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +0 -155
  380. package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js.map +0 -1
  381. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js +0 -31
  382. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js.map +0 -1
  383. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js +0 -129
  384. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js.map +0 -1
  385. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js +0 -68
  386. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js.map +0 -1
  387. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js +0 -63
  388. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js.map +0 -1
  389. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js +0 -99
  390. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js.map +0 -1
  391. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js +0 -58
  392. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js.map +0 -1
  393. package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js +0 -36
  394. package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js.map +0 -1
  395. package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js +0 -43
  396. package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js.map +0 -1
  397. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js +0 -19
  398. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js.map +0 -1
  399. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js +0 -28
  400. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js.map +0 -1
  401. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useFilterStateListener.js +0 -12
  402. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useFilterStateListener.js.map +0 -1
  403. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js +0 -18
  404. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js.map +0 -1
  405. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js +0 -25
  406. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js.map +0 -1
  407. package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js +0 -33
  408. package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js.map +0 -1
  409. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +0 -122
  410. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +0 -1
  411. package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js +0 -112
  412. package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js.map +0 -1
  413. package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js +0 -34
  414. package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js.map +0 -1
  415. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js +0 -222
  416. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +0 -1
  417. package/dist/esm/packages/taco/src/components/Table2/hooks/useTableShortcuts.js.map +0 -1
  418. package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js +0 -48
  419. package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js.map +0 -1
  420. package/dist/esm/packages/taco/src/components/Table2/types.js +0 -18
  421. package/dist/esm/packages/taco/src/components/Table2/types.js.map +0 -1
  422. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js +0 -41
  423. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js.map +0 -1
  424. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +0 -387
  425. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +0 -1
  426. package/dist/esm/packages/taco/src/components/Table2/utilities/filterFn.js.map +0 -1
  427. package/dist/esm/packages/taco/src/components/Truncate/Truncate.js +0 -32
  428. package/dist/esm/packages/taco/src/components/Truncate/Truncate.js.map +0 -1
  429. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js +0 -20
  430. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js.map +0 -1
  431. /package/dist/components/Icon/components/{DensityComfortable.d.ts → FontSize.d.ts} +0 -0
  432. /package/dist/components/Icon/components/{DensityCompact.d.ts → HeightExtraTall.d.ts} +0 -0
  433. /package/dist/components/Icon/components/{DensityNormal.d.ts → HeightMedium.d.ts} +0 -0
  434. /package/dist/components/Icon/components/{DensitySpacious.d.ts → HeightShort.d.ts} +0 -0
  435. /package/dist/components/{Table2/components/column → Table3/components/columns/cell}/Indicator.d.ts +0 -0
@@ -0,0 +1,98 @@
1
+ import React__default from 'react';
2
+
3
+ const DEFAULT_ALL_DISABLED = {
4
+ enableColumnFreezing: false,
5
+ enableColumnHiding: false,
6
+ enableColumnOrdering: false,
7
+ enableColumnResizing: false,
8
+ enableFontSize: false,
9
+ enablePrinting: false,
10
+ enableRowDrag: false,
11
+ enableRowDrop: false,
12
+ enableRowExpansion: false,
13
+ enableRowGoto: false,
14
+ enableRowHeight: false,
15
+ enableRowSelection: false,
16
+ enableRowSelectionSingle: false,
17
+ enableEditing: false,
18
+ enableFiltering: false,
19
+ enableSearch: false,
20
+ enableSorting: false
21
+ };
22
+ const presets = {
23
+ display: {
24
+ enableColumnFreezing: true,
25
+ enableColumnHiding: true,
26
+ enableColumnOrdering: true,
27
+ enableColumnResizing: true,
28
+ enableFontSize: true,
29
+ enablePrinting: false,
30
+ enableRowDrag: true,
31
+ enableRowDrop: true,
32
+ enableRowExpansion: true,
33
+ enableRowGoto: true,
34
+ enableRowHeight: true,
35
+ enableRowSelection: true,
36
+ enableRowSelectionSingle: false,
37
+ enableEditing: false,
38
+ enableFiltering: true,
39
+ enableSearch: true,
40
+ enableSorting: true
41
+ },
42
+ editable: {
43
+ enableColumnFreezing: true,
44
+ enableColumnHiding: true,
45
+ enableColumnOrdering: true,
46
+ enableColumnResizing: true,
47
+ enableFontSize: true,
48
+ enablePrinting: false,
49
+ enableRowDrag: true,
50
+ enableRowDrop: true,
51
+ enableRowExpansion: true,
52
+ enableRowGoto: true,
53
+ enableRowHeight: true,
54
+ enableRowSelection: true,
55
+ enableRowSelectionSingle: false,
56
+ enableEditing: true,
57
+ enableFiltering: true,
58
+ enableSearch: true,
59
+ enableSorting: true
60
+ }
61
+ };
62
+ function useTablePreset(props) {
63
+ var _props$enableRowExpan, _props$enableRowSelec, _props$enableColumnFr, _props$enableColumnHi, _props$enableColumnOr, _props$enableColumnRe, _props$enableFontSize, _props$enablePrinting, _props$enableRowDrag, _props$enableRowDrop, _props$enableRowGoto, _props$enableRowHeigh, _props$enableRowSelec2, _props$enableEditing, _props$enableFilterin, _props$enableSearch, _props$enableSorting;
64
+ const presetOptions = props.preset ? presets[props.preset] : DEFAULT_ALL_DISABLED;
65
+ const enableRowExpansion = (_props$enableRowExpan = props.enableRowExpansion) !== null && _props$enableRowExpan !== void 0 ? _props$enableRowExpan : presetOptions.enableRowExpansion;
66
+ const enableRowSelection = (_props$enableRowSelec = props.enableRowSelection) !== null && _props$enableRowSelec !== void 0 ? _props$enableRowSelec : presetOptions.enableRowSelection;
67
+ // guard options that might be unintentionally broken
68
+ React__default.useEffect(() => {
69
+ if (enableRowExpansion && !props.expandedRowRenderer) {
70
+ console.warn(`Table3 (id: ${props.id}) - Row expansion is enabled but no \`expandedRowRenderer\` has been provided. Provide one to enable row expansion or set \`enableRowExpansion\` to \`false\`.`);
71
+ }
72
+ if (enableRowSelection && !props.onRowSelect) {
73
+ console.warn(`Table3 (id: ${props.id}) - Row selection is enabled but no \`onRowSelect\` handler has been provided. Provide one to enable row selection or set \`enableRowSelection\` to \`false\`.`);
74
+ }
75
+ }, []);
76
+ return {
77
+ enableColumnFreezing: (_props$enableColumnFr = props.enableColumnFreezing) !== null && _props$enableColumnFr !== void 0 ? _props$enableColumnFr : presetOptions.enableColumnFreezing,
78
+ enableColumnHiding: (_props$enableColumnHi = props.enableColumnHiding) !== null && _props$enableColumnHi !== void 0 ? _props$enableColumnHi : presetOptions.enableColumnHiding,
79
+ enableColumnOrdering: (_props$enableColumnOr = props.enableColumnOrdering) !== null && _props$enableColumnOr !== void 0 ? _props$enableColumnOr : presetOptions.enableColumnOrdering,
80
+ enableColumnResizing: (_props$enableColumnRe = props.enableColumnResizing) !== null && _props$enableColumnRe !== void 0 ? _props$enableColumnRe : presetOptions.enableColumnResizing,
81
+ enableFontSize: (_props$enableFontSize = props.enableFontSize) !== null && _props$enableFontSize !== void 0 ? _props$enableFontSize : presetOptions.enableFontSize,
82
+ enablePrinting: (_props$enablePrinting = props.enablePrinting) !== null && _props$enablePrinting !== void 0 ? _props$enablePrinting : presetOptions.enablePrinting,
83
+ enableRowDrag: ((_props$enableRowDrag = props.enableRowDrag) !== null && _props$enableRowDrag !== void 0 ? _props$enableRowDrag : presetOptions.enableRowDrag) && !!props.onRowDrag,
84
+ enableRowDrop: ((_props$enableRowDrop = props.enableRowDrop) !== null && _props$enableRowDrop !== void 0 ? _props$enableRowDrop : presetOptions.enableRowDrop) && !!props.onRowDrop,
85
+ enableRowExpansion: enableRowExpansion && !!props.expandedRowRenderer,
86
+ enableRowGoto: ((_props$enableRowGoto = props.enableRowGoto) !== null && _props$enableRowGoto !== void 0 ? _props$enableRowGoto : presetOptions.enableRowGoto) && !!props.onRowGoto,
87
+ enableRowHeight: (_props$enableRowHeigh = props.enableRowHeight) !== null && _props$enableRowHeigh !== void 0 ? _props$enableRowHeigh : presetOptions.enableRowHeight,
88
+ enableRowSelection: enableRowSelection && !!props.onRowSelect,
89
+ enableRowSelectionSingle: ((_props$enableRowSelec2 = props.enableRowSelectionSingle) !== null && _props$enableRowSelec2 !== void 0 ? _props$enableRowSelec2 : presetOptions.enableRowSelectionSingle) && enableRowSelection && !!props.onRowSelect,
90
+ enableEditing: (_props$enableEditing = props.enableEditing) !== null && _props$enableEditing !== void 0 ? _props$enableEditing : presetOptions.enableEditing,
91
+ enableFiltering: (_props$enableFilterin = props.enableFiltering) !== null && _props$enableFilterin !== void 0 ? _props$enableFilterin : presetOptions.enableFiltering,
92
+ enableSearch: (_props$enableSearch = props.enableSearch) !== null && _props$enableSearch !== void 0 ? _props$enableSearch : presetOptions.enableSearch,
93
+ enableSorting: (_props$enableSorting = props.enableSorting) !== null && _props$enableSorting !== void 0 ? _props$enableSorting : presetOptions.enableSorting
94
+ };
95
+ }
96
+
97
+ export { useTablePreset };
98
+ //# sourceMappingURL=useTablePreset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTablePreset.js","sources":["../../../../../../../../src/components/Table3/hooks/useTablePreset.ts"],"sourcesContent":["import React from 'react';\nimport { Table3Options, Table3Preset, Table3Props } from '../types';\n\nconst DEFAULT_ALL_DISABLED: Table3Options = {\n enableColumnFreezing: false,\n enableColumnHiding: false,\n enableColumnOrdering: false,\n enableColumnResizing: false,\n enableFontSize: false,\n enablePrinting: false,\n enableRowDrag: false,\n enableRowDrop: false,\n enableRowExpansion: false,\n enableRowGoto: false,\n enableRowHeight: false,\n enableRowSelection: false,\n enableRowSelectionSingle: false,\n enableEditing: false,\n enableFiltering: false,\n enableSearch: false,\n enableSorting: false,\n};\n\nconst presets: Record<Table3Preset, Table3Options> = {\n display: {\n enableColumnFreezing: true,\n enableColumnHiding: true,\n enableColumnOrdering: true,\n enableColumnResizing: true,\n enableFontSize: true,\n enablePrinting: false,\n enableRowDrag: true,\n enableRowDrop: true,\n enableRowExpansion: true,\n enableRowGoto: true,\n enableRowHeight: true,\n enableRowSelection: true,\n enableRowSelectionSingle: false,\n enableEditing: false,\n enableFiltering: true,\n enableSearch: true,\n enableSorting: true,\n },\n editable: {\n enableColumnFreezing: true,\n enableColumnHiding: true,\n enableColumnOrdering: true,\n enableColumnResizing: true,\n enableFontSize: true,\n enablePrinting: false,\n enableRowDrag: true,\n enableRowDrop: true,\n enableRowExpansion: true,\n enableRowGoto: true,\n enableRowHeight: true,\n enableRowSelection: true,\n enableRowSelectionSingle: false,\n enableEditing: true,\n enableFiltering: true,\n enableSearch: true,\n enableSorting: true,\n },\n};\n\nexport function useTablePreset<TType = unknown>(props: Table3Props<TType>): Table3Options {\n const presetOptions = props.preset ? presets[props.preset] : DEFAULT_ALL_DISABLED;\n\n const enableRowExpansion = props.enableRowExpansion ?? presetOptions.enableRowExpansion;\n const enableRowSelection = props.enableRowSelection ?? presetOptions.enableRowSelection;\n\n // guard options that might be unintentionally broken\n React.useEffect(() => {\n if (enableRowExpansion && !props.expandedRowRenderer) {\n console.warn(\n `Table3 (id: ${props.id}) - Row expansion is enabled but no \\`expandedRowRenderer\\` has been provided. Provide one to enable row expansion or set \\`enableRowExpansion\\` to \\`false\\`.`\n );\n }\n\n if (enableRowSelection && !props.onRowSelect) {\n console.warn(\n `Table3 (id: ${props.id}) - Row selection is enabled but no \\`onRowSelect\\` handler has been provided. Provide one to enable row selection or set \\`enableRowSelection\\` to \\`false\\`.`\n );\n }\n }, []);\n\n return {\n enableColumnFreezing: props.enableColumnFreezing ?? presetOptions.enableColumnFreezing,\n enableColumnHiding: props.enableColumnHiding ?? presetOptions.enableColumnHiding,\n enableColumnOrdering: props.enableColumnOrdering ?? presetOptions.enableColumnOrdering,\n enableColumnResizing: props.enableColumnResizing ?? presetOptions.enableColumnResizing,\n enableFontSize: props.enableFontSize ?? presetOptions.enableFontSize,\n enablePrinting: props.enablePrinting ?? presetOptions.enablePrinting,\n enableRowDrag: (props.enableRowDrag ?? presetOptions.enableRowDrag) && !!props.onRowDrag,\n enableRowDrop: (props.enableRowDrop ?? presetOptions.enableRowDrop) && !!props.onRowDrop,\n enableRowExpansion: enableRowExpansion && !!props.expandedRowRenderer,\n enableRowGoto: (props.enableRowGoto ?? presetOptions.enableRowGoto) && !!props.onRowGoto,\n enableRowHeight: props.enableRowHeight ?? presetOptions.enableRowHeight,\n enableRowSelection: enableRowSelection && !!props.onRowSelect,\n enableRowSelectionSingle:\n (props.enableRowSelectionSingle ?? presetOptions.enableRowSelectionSingle) &&\n enableRowSelection &&\n !!props.onRowSelect,\n enableEditing: props.enableEditing ?? presetOptions.enableEditing,\n enableFiltering: props.enableFiltering ?? presetOptions.enableFiltering,\n enableSearch: props.enableSearch ?? presetOptions.enableSearch,\n enableSorting: props.enableSorting ?? presetOptions.enableSorting,\n };\n}\n"],"names":["DEFAULT_ALL_DISABLED","enableColumnFreezing","enableColumnHiding","enableColumnOrdering","enableColumnResizing","enableFontSize","enablePrinting","enableRowDrag","enableRowDrop","enableRowExpansion","enableRowGoto","enableRowHeight","enableRowSelection","enableRowSelectionSingle","enableEditing","enableFiltering","enableSearch","enableSorting","presets","display","editable","useTablePreset","props","presetOptions","preset","React","useEffect","expandedRowRenderer","console","warn","id","onRowSelect","onRowDrag","onRowDrop","onRowGoto"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import React__default from 'react';
2
+
3
+ function useTableRefInstanceSetup(table, ref) {
4
+ React__default.useEffect(() => {
5
+ if (ref.current) {
6
+ const tableMeta = table.options.meta;
7
+ ref.current.instance = {
8
+ resetFiltering: () => table.resetColumnFilters(),
9
+ resetRowExpansion: () => table.resetExpanded(),
10
+ resetRowSelection: () => table.resetRowSelection(),
11
+ resetSorting: () => table.resetSorting(),
12
+ toggleEditing: enabled => tableMeta.editing.toggleEditing(enabled !== null && enabled !== void 0 ? enabled : editing => !editing)
13
+ };
14
+ }
15
+ }, [table, ref.current]);
16
+ }
17
+
18
+ export { useTableRefInstanceSetup };
19
+ //# sourceMappingURL=useTableRefInstanceSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableRefInstanceSetup.js","sources":["../../../../../../../../src/components/Table3/hooks/useTableRefInstanceSetup.ts"],"sourcesContent":["import React from 'react';\nimport { Table3Ref } from '../types';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\n\nexport function useTableRefInstanceSetup<TType = unknown>(table: RTable<TType>, ref: React.RefObject<Table3Ref>) {\n React.useEffect(() => {\n if (ref.current) {\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n ref.current.instance = {\n resetFiltering: () => table.resetColumnFilters(),\n resetRowExpansion: () => table.resetExpanded(),\n resetRowSelection: () => table.resetRowSelection(),\n resetSorting: () => table.resetSorting(),\n toggleEditing: (enabled: boolean | undefined) =>\n tableMeta.editing.toggleEditing(enabled ?? (editing => !editing)),\n };\n }\n }, [table, ref.current]);\n}\n"],"names":["useTableRefInstanceSetup","table","ref","React","useEffect","current","tableMeta","options","meta","instance","resetFiltering","resetColumnFilters","resetRowExpansion","resetExpanded","resetRowSelection","resetSorting","toggleEditing","enabled","editing"],"mappings":";;SAIgBA,wBAAwB,CAAkBC,KAAoB,EAAEC,GAA+B;EAC3GC,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIF,GAAG,CAACG,OAAO,EAAE;MACb,MAAMC,SAAS,GAAGL,KAAK,CAACM,OAAO,CAACC,IAAwB;MAExDN,GAAG,CAACG,OAAO,CAACI,QAAQ,GAAG;QACnBC,cAAc,EAAE,MAAMT,KAAK,CAACU,kBAAkB,EAAE;QAChDC,iBAAiB,EAAE,MAAMX,KAAK,CAACY,aAAa,EAAE;QAC9CC,iBAAiB,EAAE,MAAMb,KAAK,CAACa,iBAAiB,EAAE;QAClDC,YAAY,EAAE,MAAMd,KAAK,CAACc,YAAY,EAAE;QACxCC,aAAa,EAAGC,OAA4B,IACxCX,SAAS,CAACY,OAAO,CAACF,aAAa,CAACC,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAKC,OAAO,IAAI,CAACA,OAAO;OACtE;;GAER,EAAE,CAACjB,KAAK,EAAEC,GAAG,CAACG,OAAO,CAAC,CAAC;AAC5B;;;;"}
@@ -0,0 +1,8 @@
1
+ import { useTableRenderStrategy as useTableRenderStrategy$1 } from './virtualised.js';
2
+
3
+ function useTableRenderStrategy(props, table, ref) {
4
+ return useTableRenderStrategy$1(props, table, ref);
5
+ }
6
+
7
+ export { useTableRenderStrategy };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../../src/components/Table3/strategies/index.ts"],"sourcesContent":["import { Table as RTable } from '@tanstack/react-table';\nimport { Table3Props, TableStrategy } from '../types';\nimport * as virtualRenderer from './virtualised';\n\nexport function useTableRenderStrategy<TType = unknown>(\n props: Table3Props<TType>,\n table: RTable<TType>,\n ref: React.RefObject<HTMLDivElement>\n): TableStrategy {\n return virtualRenderer.useTableRenderStrategy<TType>(props, table, ref);\n}\n"],"names":["useTableRenderStrategy","props","table","ref","virtualRenderer"],"mappings":";;SAIgBA,sBAAsB,CAClCC,KAAyB,EACzBC,KAAoB,EACpBC,GAAoC;EAEpC,OAAOC,wBAAsC,CAAQH,KAAK,EAAEC,KAAK,EAAEC,GAAG,CAAC;AAC3E;;;;"}
@@ -0,0 +1,113 @@
1
+ import React__default from 'react';
2
+ import { flexRender } from '@tanstack/react-table';
3
+ import { useVirtual } from 'react-virtual';
4
+ import { Row } from '../components/rows/Row.js';
5
+ import { ExpandedRow } from '../components/rows/ExpandedRow.js';
6
+ import { rowHeightSizeEstimates } from '../components/rows/styles.js';
7
+ import { SkeletonRow } from '../components/rows/SkeletonRow.js';
8
+
9
+ function createBodyRenderer(props, rows, table, tableRef, virtualiser, setExpandedRowSizes) {
10
+ return () => {
11
+ if (rows.length) {
12
+ var _virtualiser$virtualI, _virtualiser$virtualI2, _virtualiser$virtualI3, _virtualiser$virtualI4;
13
+ const paddingTop = virtualiser.virtualItems.length > 0 ? (_virtualiser$virtualI = (_virtualiser$virtualI2 = virtualiser.virtualItems[0]) === null || _virtualiser$virtualI2 === void 0 ? void 0 : _virtualiser$virtualI2.start) !== null && _virtualiser$virtualI !== void 0 ? _virtualiser$virtualI : 0 : 0;
14
+ const paddingBottom = virtualiser.virtualItems.length > 0 ? virtualiser.totalSize - ((_virtualiser$virtualI3 = (_virtualiser$virtualI4 = virtualiser.virtualItems[virtualiser.virtualItems.length - 1]) === null || _virtualiser$virtualI4 === void 0 ? void 0 : _virtualiser$virtualI4.end) !== null && _virtualiser$virtualI3 !== void 0 ? _virtualiser$virtualI3 : 0) : 0;
15
+ const createSetSizeHandler = index => size => {
16
+ setExpandedRowSizes(sizes => {
17
+ if (size !== sizes[index]) {
18
+ return {
19
+ ...sizes,
20
+ [index]: size
21
+ };
22
+ }
23
+ return sizes;
24
+ });
25
+ };
26
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, paddingTop ? /*#__PURE__*/React__default.createElement("div", {
27
+ style: {
28
+ height: paddingTop
29
+ },
30
+ className: "col-span-full"
31
+ }) : null, virtualiser.virtualItems.map(virtualRow => {
32
+ const row = rows[virtualRow.index];
33
+ if (row.original === undefined && props.pageSize) {
34
+ const pageIndex = Math.floor(virtualRow.index / props.pageSize) * props.pageSize / props.pageSize;
35
+ return /*#__PURE__*/React__default.createElement(SkeletonRow, {
36
+ key: row.id,
37
+ columns: table.getVisibleLeafColumns(),
38
+ loadPage: props.loadPage,
39
+ pageIndex: pageIndex,
40
+ table: table
41
+ });
42
+ }
43
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
44
+ key: row.id
45
+ }, /*#__PURE__*/React__default.createElement(Row, {
46
+ index: virtualRow.index,
47
+ isLastRow: virtualRow.index === rows.length - 1,
48
+ row: row,
49
+ table: table,
50
+ tableRef: tableRef
51
+ }, row.getVisibleCells().map((cell, index) => /*#__PURE__*/React__default.createElement(React__default.Fragment, {
52
+ key: cell.id
53
+ }, flexRender(cell.column.columnDef.cell, {
54
+ ...cell.getContext(),
55
+ index,
56
+ tableRef
57
+ })))), row.getIsExpanded() ? /*#__PURE__*/React__default.createElement(ExpandedRow, {
58
+ data: row.original,
59
+ renderer: props.expandedRowRenderer,
60
+ registerSize: createSetSizeHandler(virtualRow.index)
61
+ }) : null);
62
+ }), paddingBottom ? /*#__PURE__*/React__default.createElement("div", {
63
+ style: {
64
+ height: paddingBottom
65
+ },
66
+ className: "col-span-full"
67
+ }) : null);
68
+ }
69
+ return null;
70
+ };
71
+ }
72
+ function useTableRenderStrategy(props, table, tableRef) {
73
+ const meta = table.options.meta;
74
+ const rows = table.getRowModel().rows;
75
+ const expandedState = table.getState().expanded;
76
+ const [expandedRowSizes, setExpandedRowSizes] = React__default.useState({});
77
+ const firstAvailableExpandedRowHeight = React__default.useMemo(() => {
78
+ const values = Object.values(expandedRowSizes);
79
+ return values.length ? values.reduce((a, b) => a + b, 0) / values.length : 0;
80
+ }, [expandedRowSizes]);
81
+ const estimateSize = React__default.useCallback(index => {
82
+ const rowHeight = meta.rowHeight.height ? rowHeightSizeEstimates[meta.rowHeight.height] : rowHeightSizeEstimates.medium;
83
+ if (expandedState === true || expandedState !== null && expandedState !== void 0 && expandedState[index]) {
84
+ var _ref, _expandedRowSizes$ind;
85
+ return rowHeight + ((_ref = (_expandedRowSizes$ind = expandedRowSizes[index]) !== null && _expandedRowSizes$ind !== void 0 ? _expandedRowSizes$ind : firstAvailableExpandedRowHeight) !== null && _ref !== void 0 ? _ref : 0);
86
+ }
87
+ return rowHeight;
88
+ }, [meta.rowHeight.height, expandedRowSizes, expandedState]);
89
+ const virtualiser = useVirtual({
90
+ parentRef: tableRef,
91
+ size: rows.length,
92
+ estimateSize
93
+ });
94
+ const scrollToIndex = React__default.useCallback((index, options) => {
95
+ if (tableRef.current) {
96
+ if (index <= 0) {
97
+ tableRef.current.scrollTo(tableRef.current.scrollLeft, 0);
98
+ } else if (index >= rows.length - 1) {
99
+ var _tableRef$current;
100
+ (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.scrollTo(0, tableRef.current.scrollHeight);
101
+ } else {
102
+ virtualiser.scrollToIndex(index, options);
103
+ }
104
+ }
105
+ }, [rows.length, tableRef.current]);
106
+ return {
107
+ renderBody: createBodyRenderer(props, rows, table, tableRef, virtualiser, setExpandedRowSizes),
108
+ scrollToIndex
109
+ };
110
+ }
111
+
112
+ export { useTableRenderStrategy };
113
+ //# sourceMappingURL=virtualised.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtualised.js","sources":["../../../../../../../../src/components/Table3/strategies/virtualised.tsx"],"sourcesContent":["import React from 'react';\nimport { flexRender, Row as RTRow, Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { useVirtual } from 'react-virtual';\nimport { Row } from '../components/rows/Row';\nimport { Table3Props, Table3RowExpansionRenderer, TableStrategy } from '../types';\nimport { ExpandedRow } from '../components/rows/ExpandedRow';\nimport { rowHeightSizeEstimates } from '../components/rows/styles';\nimport { SkeletonRow } from '../components/rows/SkeletonRow';\n\nfunction createBodyRenderer<TType = unknown>(\n props: Table3Props<TType>,\n rows: RTRow<TType>[],\n table: RTable<TType>,\n tableRef: React.RefObject<HTMLDivElement>,\n virtualiser: ReturnType<typeof useVirtual>,\n setExpandedRowSizes: React.Dispatch<React.SetStateAction<Record<string, number>>>\n) {\n return () => {\n if (rows.length) {\n const paddingTop = virtualiser.virtualItems.length > 0 ? virtualiser.virtualItems[0]?.start ?? 0 : 0;\n const paddingBottom =\n virtualiser.virtualItems.length > 0\n ? virtualiser.totalSize - (virtualiser.virtualItems[virtualiser.virtualItems.length - 1]?.end ?? 0)\n : 0;\n\n const createSetSizeHandler = (index: number) => (size: number) => {\n setExpandedRowSizes(sizes => {\n if (size !== sizes[index]) {\n return { ...sizes, [index]: size };\n }\n\n return sizes;\n });\n };\n\n return (\n <>\n {paddingTop ? <div style={{ height: paddingTop }} className=\"col-span-full\" /> : null}\n {virtualiser.virtualItems.map(virtualRow => {\n const row = rows[virtualRow.index];\n\n if (row.original === undefined && props.pageSize) {\n const pageIndex = (Math.floor(virtualRow.index / props.pageSize) * props.pageSize) / props.pageSize;\n\n return (\n <SkeletonRow<TType>\n key={row.id}\n columns={table.getVisibleLeafColumns()}\n loadPage={props.loadPage}\n pageIndex={pageIndex}\n table={table}\n />\n );\n }\n\n return (\n <React.Fragment key={row.id}>\n <Row<TType>\n index={virtualRow.index}\n isLastRow={virtualRow.index === rows.length - 1}\n row={row}\n table={table}\n tableRef={tableRef}>\n {row.getVisibleCells().map((cell, index) => (\n <React.Fragment key={cell.id}>\n {flexRender(cell.column.columnDef.cell, { ...cell.getContext(), index, tableRef })}\n </React.Fragment>\n ))}\n </Row>\n {row.getIsExpanded() ? (\n <ExpandedRow\n data={row.original}\n renderer={props.expandedRowRenderer as Table3RowExpansionRenderer}\n registerSize={createSetSizeHandler(virtualRow.index)}\n />\n ) : null}\n </React.Fragment>\n );\n })}\n {paddingBottom ? <div style={{ height: paddingBottom }} className=\"col-span-full\" /> : null}\n </>\n );\n }\n\n return null;\n };\n}\n\nexport function useTableRenderStrategy<TType = unknown>(\n props: Table3Props<TType>,\n table: RTable<TType>,\n tableRef: React.RefObject<HTMLDivElement>\n): TableStrategy {\n const meta = table.options.meta as TableMeta<TType>;\n const rows = table.getRowModel().rows;\n const expandedState = table.getState().expanded;\n\n const [expandedRowSizes, setExpandedRowSizes] = React.useState<Record<string, number>>({});\n\n const firstAvailableExpandedRowHeight = React.useMemo(() => {\n const values: number[] = Object.values(expandedRowSizes);\n return values.length ? values.reduce((a, b) => a + b, 0) / values.length : 0;\n }, [expandedRowSizes]);\n\n const estimateSize = React.useCallback(\n index => {\n const rowHeight = meta.rowHeight.height\n ? rowHeightSizeEstimates[meta.rowHeight.height]\n : rowHeightSizeEstimates.medium;\n\n if (expandedState === true || expandedState?.[index]) {\n return rowHeight + (expandedRowSizes[index] ?? firstAvailableExpandedRowHeight ?? 0);\n }\n\n return rowHeight;\n },\n [meta.rowHeight.height, expandedRowSizes, expandedState]\n );\n\n const virtualiser = useVirtual({\n parentRef: tableRef,\n size: rows.length,\n estimateSize,\n });\n\n const scrollToIndex = React.useCallback(\n (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => {\n if (tableRef.current) {\n if (index <= 0) {\n tableRef.current.scrollTo(tableRef.current.scrollLeft, 0);\n } else if (index >= rows.length - 1) {\n tableRef.current?.scrollTo(0, tableRef.current.scrollHeight);\n } else {\n virtualiser.scrollToIndex(index, options);\n }\n }\n },\n [rows.length, tableRef.current]\n );\n\n return {\n renderBody: createBodyRenderer(props, rows, table, tableRef, virtualiser, setExpandedRowSizes),\n scrollToIndex,\n };\n}\n"],"names":["createBodyRenderer","props","rows","table","tableRef","virtualiser","setExpandedRowSizes","length","paddingTop","virtualItems","start","paddingBottom","totalSize","end","createSetSizeHandler","index","size","sizes","React","style","height","className","map","virtualRow","row","original","undefined","pageSize","pageIndex","Math","floor","SkeletonRow","key","id","columns","getVisibleLeafColumns","loadPage","Fragment","Row","isLastRow","getVisibleCells","cell","flexRender","column","columnDef","getContext","getIsExpanded","ExpandedRow","data","renderer","expandedRowRenderer","registerSize","useTableRenderStrategy","meta","options","getRowModel","expandedState","getState","expanded","expandedRowSizes","useState","firstAvailableExpandedRowHeight","useMemo","values","Object","reduce","a","b","estimateSize","useCallback","rowHeight","rowHeightSizeEstimates","medium","useVirtual","parentRef","scrollToIndex","current","scrollTo","scrollLeft","scrollHeight","renderBody"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ var Table3FilterComparator;
2
+ (function (Table3FilterComparator) {
3
+ Table3FilterComparator[Table3FilterComparator["Contains"] = 0] = "Contains";
4
+ Table3FilterComparator[Table3FilterComparator["DoesNotContain"] = 1] = "DoesNotContain";
5
+ Table3FilterComparator[Table3FilterComparator["IsEqualTo"] = 2] = "IsEqualTo";
6
+ Table3FilterComparator[Table3FilterComparator["IsNotEqualTo"] = 3] = "IsNotEqualTo";
7
+ Table3FilterComparator[Table3FilterComparator["IsGreaterThan"] = 4] = "IsGreaterThan";
8
+ Table3FilterComparator[Table3FilterComparator["IsLessThan"] = 5] = "IsLessThan";
9
+ Table3FilterComparator[Table3FilterComparator["IsBetween"] = 6] = "IsBetween";
10
+ Table3FilterComparator[Table3FilterComparator["IsOneOf"] = 7] = "IsOneOf";
11
+ Table3FilterComparator[Table3FilterComparator["IsNoneOf"] = 8] = "IsNoneOf";
12
+ Table3FilterComparator[Table3FilterComparator["IsAllOf"] = 9] = "IsAllOf";
13
+ Table3FilterComparator[Table3FilterComparator["IsEmpty"] = 10] = "IsEmpty";
14
+ Table3FilterComparator[Table3FilterComparator["IsNotEmpty"] = 11] = "IsNotEmpty";
15
+ })(Table3FilterComparator || (Table3FilterComparator = {}));
16
+
17
+ export { Table3FilterComparator };
18
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../../../../../src/components/Table3/types.ts"],"sourcesContent":["import {\n ColumnFilter as RTColumnFilter,\n ColumnFiltersState,\n ColumnOrderState,\n ColumnPinningState,\n ColumnSizingState,\n ColumnSort as RTColumnSort,\n SortingState,\n VisibilityState,\n BuiltInSortingFn,\n} from '@tanstack/react-table';\nimport { MenuProps } from '../Menu/Menu';\n\nexport type SortDirection = 'asc' | 'desc';\nexport type SortFn<TType = unknown> = ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1) | BuiltInSortingFn | 'auto';\n\n// columns\nexport type Table3ColumnRenderer<TValue = unknown, TType = unknown> = (value: TValue, row: TType) => JSX.Element | string | null;\nexport type Table3ColumnFooterRenderer<TValue = unknown> = (values: TValue[]) => JSX.Element | string | null;\nexport type Table3ColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string);\nexport type ColumnAlignment = 'left' | 'center' | 'right';\nexport type ColumnDataType = 'auto' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';\nexport type Table3ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;\n\nexport type Table3ColumnControlProps = {\n className?: string;\n disabled?: boolean;\n invalid?: boolean;\n onBlur?: (value: any) => void;\n onFocus?: React.FocusEventHandler;\n readOnly?: boolean;\n ref: React.RefObject<HTMLElement>;\n setValue: (value: any) => void;\n value: any;\n};\nexport type Table3ColumnControlRenderer<TType = unknown> =\n | ((props: Table3ColumnControlProps, row?: TType) => JSX.Element)\n | 'datepicker'\n | 'input'\n | 'switch';\n\nexport type Table3ColumnProps<TType = unknown> = {\n accessor: string;\n align?: ColumnAlignment;\n className?: Table3ColumnClassNameHandler<TType>;\n control?: Table3ColumnControlRenderer<TType>;\n dataType?: ColumnDataType;\n defaultHidden?: boolean;\n defaultWidth?: number | 'grow';\n enableFiltering?: boolean;\n enableHiding?: boolean;\n enableOrdering?: boolean;\n enableResizing?: boolean;\n enableSearch?: boolean;\n enableSorting?: boolean;\n enableTruncate?: boolean;\n footer?: Table3ColumnFooterRenderer;\n header: string;\n headerClassName?: string;\n menu?: Table3ColumnHeaderMenu;\n renderer?: Table3ColumnRenderer<unknown, TType>;\n sort?: SortDirection;\n sortFn?: SortFn<TType>;\n tooltip?: string;\n};\n\n// rows\nexport type DeprecatedRowDensity = 'compact' | 'normal' | 'comfortable' | 'spacious';\nexport type Table3RowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type Table3FontSize = 'small' | 'medium' | 'large';\nexport type Table3RowClickHandler<TType = unknown> = (row: TType) => void;\nexport type Table3RowDragHandler<TType = unknown> = (\n rows: TType[],\n showPlaceholder: (string) => void,\n setDataTransfer: (data: string) => void\n) => void;\nexport type Table3RowDropHandler<TType = any> = (event: React.DragEvent, row: TType) => void;\nexport type Table3RowExpansionRenderer<TType = unknown> = (row: TType) => (() => JSX.Element) | null;\nexport type Table3RowSelectionHandler<TType = unknown> = (rows: TType[]) => void;\n\nexport type Table3RowActionRenderer<TType = unknown> = (row: TType) => JSX.Element;\n\n// table\nexport type Table3RenderStrategy = 'static' | 'virtual';\nexport type Table3Preset = 'display' | 'editable';\nexport type Table3Settings = {\n columnFilters?: ColumnFiltersState;\n columnFreezingIndex?: number;\n columnOrder?: ColumnOrderState;\n columnPinning?: ColumnPinningState;\n columnSizing?: ColumnSizingState;\n columnVisibility?: VisibilityState;\n excludeUnmatchedRecordsInSearch?: boolean;\n fontSize?: Table3FontSize;\n // deprecated - here to map existing settings across to new settings\n rowDensity?: DeprecatedRowDensity;\n rowHeight?: Table3RowHeight;\n sorting?: SortingState;\n};\nexport type Table3SettingsAdapter = (settings: Table3Settings) => void;\n\nexport enum Table3FilterComparator {\n Contains,\n DoesNotContain,\n IsEqualTo,\n IsNotEqualTo,\n IsGreaterThan,\n IsLessThan,\n IsBetween,\n IsOneOf,\n IsNoneOf,\n IsAllOf,\n IsEmpty,\n IsNotEmpty,\n}\n\nexport type Table3FilterValue = {\n comparator: Table3FilterComparator;\n value: any;\n};\n\nexport type Table3Filter = { id: string; value: Table3FilterValue };\n\nexport type ColumnFilter = RTColumnFilter;\nexport type Table3FilterHandler = (filters: ColumnFilter[]) => void;\nexport type Table3SearchHandler = (query: string | undefined) => Promise<void>;\nexport type Table3LoadPageHandler = (\n pageIndex: number,\n sorting: ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3LoadAllHandler = (sorting: ColumnSort[], filters: ColumnFilter[], search: string | undefined) => Promise<void>;\nexport type Table3RowGotoHandler = (\n column: string,\n query: string,\n sorting: ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<number>;\nexport type ColumnSort = RTColumnSort;\nexport type Table3SortHandler = (sorting: ColumnSort[]) => void;\nexport type TableStrategy = {\n renderBody: () => JSX.Element | JSX.Element[] | null;\n scrollToIndex: (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\n};\nexport type Table3ShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type Table3ShortcutHandlerObject<TType = unknown> = {\n handler: Table3ShortcutHandlerFn<TType>;\n meta?: boolean;\n shift?: boolean;\n};\nexport type Table3Shortcuts<TType = unknown> = Record<\n string,\n Table3ShortcutHandlerFn<TType> | Table3ShortcutHandlerObject<TType>\n>;\nexport type Table3SaveHandler<TType = unknown> = (data: TType) => Promise<void>;\n\nexport type Table3Options = {\n enableColumnFreezing: boolean;\n enableColumnHiding: boolean;\n enableColumnOrdering: boolean;\n enableColumnResizing: boolean;\n enableFontSize: boolean;\n enablePrinting: boolean;\n enableRowDrag: boolean;\n enableRowDrop: boolean;\n enableRowExpansion: boolean;\n enableRowGoto: boolean;\n enableRowHeight: boolean;\n enableRowSelection: boolean;\n enableRowSelectionSingle: boolean;\n enableEditing: boolean;\n enableFiltering: boolean;\n enableSearch: boolean;\n enableSorting: boolean;\n};\n\nexport type CommonTable3Props<TType = unknown> = Partial<Table3Options> & {\n actionsForRow?: Table3RowActionRenderer<TType>[];\n actionsForRowLength?: number;\n children: (React.ReactElement<Table3ColumnProps<TType>> | boolean | null | undefined)[];\n data: TType[];\n defaultColumnFreezingIndex?: number;\n defaultCurrentRowIndex?: number;\n defaultSettings?: Table3Settings;\n emptyState?: () => JSX.Element;\n expandedRowRenderer?: Table3RowExpansionRenderer<TType>;\n id: string;\n onChangeSettings?: Table3SettingsAdapter;\n onRowClick?: Table3RowClickHandler<TType>;\n onRowDrag?: Table3RowDragHandler<TType>;\n onRowDrop?: Table3RowDropHandler<TType>;\n onRowGoto?: Table3RowGotoHandler;\n onRowSelect?: Table3RowSelectionHandler<TType>;\n onFilter?: Table3FilterHandler;\n onSave?: Table3SaveHandler;\n onSearch?: Table3SearchHandler;\n onSort?: Table3SortHandler;\n preset?: Table3Preset;\n shortcuts?: Table3Shortcuts<TType>;\n toolbarLeft?: JSX.Element;\n toolbarRight?: JSX.Element;\n};\n\ninterface ClientTable3Props<TType = unknown> extends CommonTable3Props<TType> {\n length?: never;\n loadPage?: never;\n loadAll?: never;\n pageSize?: never;\n}\n\ninterface ServerTable3Props<TType = unknown> extends CommonTable3Props<TType> {\n length: number | undefined;\n loadPage: Table3LoadPageHandler;\n loadAll: Table3LoadAllHandler;\n pageSize?: number;\n}\n\nexport type Table3Props<TType = unknown> = ClientTable3Props<TType> | ServerTable3Props<TType>;\n\nexport type Table3Ref = HTMLDivElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n toggleEditing: (enabled: boolean | undefined) => void;\n };\n};\n\nexport type Table3Texts = {\n columns: {\n actions: {\n tooltip: string;\n };\n drag: {\n tooltip: string;\n };\n expansion: {\n collapse: string;\n collapseAll: string;\n expand: string;\n expandAll: string;\n };\n menu: {\n freezeFirstColumn: string;\n freezeUptoColumn: string;\n gotoRow: string;\n hideColumn: string;\n unfreezeColumns: string;\n };\n resize: {\n tooltip: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n };\n columnSettings: {\n button: string;\n noResults: string;\n search: string;\n tooltip: string;\n };\n editing: {\n actions: {\n tooltip: string;\n save: string;\n clear: string;\n exit: string;\n };\n buttons: {\n edit: {\n text: string;\n tooltip: string;\n };\n };\n rowIndicator: {\n rowWillMove: string;\n rowWillBeHidden: string;\n rowWillMoveReasonSearch: string;\n rowWillMoveReasonFilter: string;\n rowWillMoveReasonSorting: string;\n };\n saving: {\n progress: string;\n complete: string;\n };\n };\n filters: {\n button: string;\n buttons: {\n addFilter: string;\n clearFilters: string;\n };\n comparators: {\n contains: string;\n doesNotContain: string;\n isEqualTo: string;\n isNotEqualTo: string;\n isGreaterThan: string;\n isLessThan: string;\n isBetween: string;\n isOneOf: string;\n isNoneOf: string;\n isAllOf: string;\n isEmpty: string;\n isNotEmpty: string;\n };\n conditions: {\n and: string;\n where: string;\n };\n emptyFilter: {\n condition: string;\n value: string;\n };\n tooltip: string;\n total: string;\n };\n fontSize: {\n tooltip: string;\n sizes: {\n small: string;\n medium: string;\n large: string;\n };\n };\n footer: {\n summary: {\n count: string;\n records: string;\n selected: string;\n };\n };\n print: {\n error: string;\n loading: string;\n tooltip: string;\n };\n rowHeight: {\n tooltip: string;\n sizes: {\n short: string;\n medium: string;\n tall: string;\n extraTall: string;\n };\n };\n search: {\n excludeUnmatchedResults: string;\n placeholder: string;\n };\n};\n"],"names":["Table3FilterComparator"],"mappings":"IAqGYA;AAAZ,WAAYA,sBAAsB;EAC9BA,2EAAQ;EACRA,uFAAc;EACdA,6EAAS;EACTA,mFAAY;EACZA,qFAAa;EACbA,+EAAU;EACVA,6EAAS;EACTA,yEAAO;EACPA,2EAAQ;EACRA,yEAAO;EACPA,0EAAO;EACPA,gFAAU;AACd,CAAC,EAbWA,sBAAsB,KAAtBA,sBAAsB;;;;"}
@@ -0,0 +1,39 @@
1
+ import { isDate } from 'date-fns';
2
+
3
+ const isInternalColumn = id => id.startsWith('__');
4
+ const isFrozenColumn = (index, table) => {
5
+ const tableMeta = table.options.meta;
6
+ if (!tableMeta.columnFreezing.isEnabled || tableMeta.columnFreezing.frozenColumnIndex === undefined) {
7
+ return false;
8
+ }
9
+ return tableMeta.columnFreezing.frozenColumnIndex >= index;
10
+ };
11
+ const getCurrentRowCellElement = (index, table) => {
12
+ const cellSelector = `[data-current="true"] [data-column-index="${index}"`;
13
+ return table.querySelector(cellSelector);
14
+ };
15
+ function scrollColumnIntoView(columnIndex, frozenColumnIndex, column, table) {
16
+ if (frozenColumnIndex !== undefined && columnIndex > frozenColumnIndex) {
17
+ const lastFrozenColumnElement = getCurrentRowCellElement(frozenColumnIndex, table);
18
+ const highlightRef = column === null || column === void 0 ? void 0 : column.getBoundingClientRect();
19
+ const lastFrozenRect = lastFrozenColumnElement === null || lastFrozenColumnElement === void 0 ? void 0 : lastFrozenColumnElement.getBoundingClientRect();
20
+ // offset the width of frozen columns so that the column being scrolled to is not hidden behind them
21
+ if (highlightRef && lastFrozenRect && highlightRef.left < lastFrozenRect.left + lastFrozenRect.width) {
22
+ const pinnedColumnsWidth = lastFrozenRect.left + lastFrozenRect.width;
23
+ table === null || table === void 0 ? void 0 : table.scrollTo(highlightRef.left - pinnedColumnsWidth, table.scrollTop);
24
+ }
25
+ } else {
26
+ column.scrollIntoView({
27
+ block: 'nearest',
28
+ inline: 'nearest'
29
+ });
30
+ }
31
+ }
32
+ function isCellHighlighted(query, value, children) {
33
+ // if we just stringify date, we get the full object with "Greenwich Meantime" etc in
34
+ const highlightValue = isDate(value) ? children : value;
35
+ return String(highlightValue).toLocaleLowerCase().includes(query.toLocaleLowerCase());
36
+ }
37
+
38
+ export { getCurrentRowCellElement, isCellHighlighted, isFrozenColumn, isInternalColumn, scrollColumnIntoView };
39
+ //# sourceMappingURL=columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columns.js","sources":["../../../../../../../../src/components/Table3/util/columns.ts"],"sourcesContent":["import { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { isDate } from 'date-fns';\n\nexport const isInternalColumn = (id: string) => id.startsWith('__');\n\nexport const isFrozenColumn = <TType = unknown>(index: number, table: RTable<TType>) => {\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n if (!tableMeta.columnFreezing.isEnabled || tableMeta.columnFreezing.frozenColumnIndex === undefined) {\n return false;\n }\n\n return tableMeta.columnFreezing.frozenColumnIndex >= index;\n};\n\nexport const getCurrentRowCellElement = (index: number, table: HTMLElement) => {\n const cellSelector = `[data-current=\"true\"] [data-column-index=\"${index}\"`;\n return table.querySelector(cellSelector);\n};\n\nexport function scrollColumnIntoView(columnIndex: number, frozenColumnIndex: number, column: HTMLElement, table: HTMLElement) {\n if (frozenColumnIndex !== undefined && columnIndex > frozenColumnIndex) {\n const lastFrozenColumnElement = getCurrentRowCellElement(frozenColumnIndex, table);\n const highlightRef = column?.getBoundingClientRect();\n const lastFrozenRect = lastFrozenColumnElement?.getBoundingClientRect();\n\n // offset the width of frozen columns so that the column being scrolled to is not hidden behind them\n if (highlightRef && lastFrozenRect && highlightRef.left < lastFrozenRect.left + lastFrozenRect.width) {\n const pinnedColumnsWidth = lastFrozenRect.left + lastFrozenRect.width;\n table?.scrollTo(highlightRef.left - pinnedColumnsWidth, table.scrollTop);\n }\n } else {\n column.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n}\n\nexport function isCellHighlighted(query: string, value: unknown, children: JSX.Element | string | null) {\n // if we just stringify date, we get the full object with \"Greenwich Meantime\" etc in\n const highlightValue = isDate(value) ? children : value;\n return String(highlightValue).toLocaleLowerCase().includes(query.toLocaleLowerCase());\n}\n"],"names":["isInternalColumn","id","startsWith","isFrozenColumn","index","table","tableMeta","options","meta","columnFreezing","isEnabled","frozenColumnIndex","undefined","getCurrentRowCellElement","cellSelector","querySelector","scrollColumnIntoView","columnIndex","column","lastFrozenColumnElement","highlightRef","getBoundingClientRect","lastFrozenRect","left","width","pinnedColumnsWidth","scrollTo","scrollTop","scrollIntoView","block","inline","isCellHighlighted","query","value","children","highlightValue","isDate","String","toLocaleLowerCase","includes"],"mappings":";;MAGaA,gBAAgB,GAAIC,EAAU,IAAKA,EAAE,CAACC,UAAU,CAAC,IAAI;MAErDC,cAAc,GAAG,CAAkBC,KAAa,EAAEC,KAAoB;EAC/E,MAAMC,SAAS,GAAGD,KAAK,CAACE,OAAO,CAACC,IAAwB;EAExD,IAAI,CAACF,SAAS,CAACG,cAAc,CAACC,SAAS,IAAIJ,SAAS,CAACG,cAAc,CAACE,iBAAiB,KAAKC,SAAS,EAAE;IACjG,OAAO,KAAK;;EAGhB,OAAON,SAAS,CAACG,cAAc,CAACE,iBAAiB,IAAIP,KAAK;AAC9D;MAEaS,wBAAwB,GAAG,CAACT,KAAa,EAAEC,KAAkB;EACtE,MAAMS,YAAY,gDAAgDV,QAAQ;EAC1E,OAAOC,KAAK,CAACU,aAAa,CAACD,YAAY,CAAC;AAC5C;SAEgBE,oBAAoB,CAACC,WAAmB,EAAEN,iBAAyB,EAAEO,MAAmB,EAAEb,KAAkB;EACxH,IAAIM,iBAAiB,KAAKC,SAAS,IAAIK,WAAW,GAAGN,iBAAiB,EAAE;IACpE,MAAMQ,uBAAuB,GAAGN,wBAAwB,CAACF,iBAAiB,EAAEN,KAAK,CAAC;IAClF,MAAMe,YAAY,GAAGF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG,qBAAqB,EAAE;IACpD,MAAMC,cAAc,GAAGH,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,CAAEE,qBAAqB,EAAE;;IAGvE,IAAID,YAAY,IAAIE,cAAc,IAAIF,YAAY,CAACG,IAAI,GAAGD,cAAc,CAACC,IAAI,GAAGD,cAAc,CAACE,KAAK,EAAE;MAClG,MAAMC,kBAAkB,GAAGH,cAAc,CAACC,IAAI,GAAGD,cAAc,CAACE,KAAK;MACrEnB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEqB,QAAQ,CAACN,YAAY,CAACG,IAAI,GAAGE,kBAAkB,EAAEpB,KAAK,CAACsB,SAAS,CAAC;;GAE/E,MAAM;IACHT,MAAM,CAACU,cAAc,CAAC;MAAEC,KAAK,EAAE,SAAS;MAAEC,MAAM,EAAE;KAAW,CAAC;;AAEtE;SAEgBC,iBAAiB,CAACC,KAAa,EAAEC,KAAc,EAAEC,QAAqC;;EAElG,MAAMC,cAAc,GAAGC,MAAM,CAACH,KAAK,CAAC,GAAGC,QAAQ,GAAGD,KAAK;EACvD,OAAOI,MAAM,CAACF,cAAc,CAAC,CAACG,iBAAiB,EAAE,CAACC,QAAQ,CAACP,KAAK,CAACM,iBAAiB,EAAE,CAAC;AACzF;;;;"}
@@ -1,6 +1,8 @@
1
1
  import { isDate } from 'date-fns';
2
- import { isWeakEqual } from '../../../../utils/date.js';
2
+ import { isWeakEqual } from '../../../utils/date.js';
3
3
 
4
+ const focussableNodeNames = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'DETAILS'];
5
+ const focusableSelector = /*#__PURE__*/focussableNodeNames.join(', ');
4
6
  const hasChanged = (value, newValue) => {
5
7
  if (isDate(value) && isDate(newValue)) {
6
8
  return !isWeakEqual(value, newValue);
@@ -10,6 +12,7 @@ const hasChanged = (value, newValue) => {
10
12
  return value !== newValue;
11
13
  };
12
14
  const willRowMoveAfterSorting = (value, cell, rowIndex, rows, desc) => {
15
+ var _resortedRows$index;
13
16
  const miniSortRows = [{
14
17
  ...cell.row,
15
18
  original: {
@@ -31,9 +34,8 @@ const willRowMoveAfterSorting = (value, cell, rowIndex, rows, desc) => {
31
34
  if (desc) {
32
35
  resortedRows = resortedRows.reverse();
33
36
  }
34
- return resortedRows[index].id !== cell.row.id;
37
+ return ((_resortedRows$index = resortedRows[index]) === null || _resortedRows$index === void 0 ? void 0 : _resortedRows$index.id) !== cell.row.id;
35
38
  };
36
- const clickableNodeNames = ['INPUT', 'BUTTON', 'A', 'SELECT', 'OPTION', 'LABEL', 'TEXTAREA', 'DETAILS'];
37
39
 
38
- export { clickableNodeNames, hasChanged, willRowMoveAfterSorting };
39
- //# sourceMappingURL=utils.js.map
40
+ export { focusableSelector, focussableNodeNames, hasChanged, willRowMoveAfterSorting };
41
+ //# sourceMappingURL=editing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editing.js","sources":["../../../../../../../../src/components/Table3/util/editing.ts"],"sourcesContent":["import { isDate } from 'date-fns';\nimport { isWeakEqual as isWeakEqualDate } from '../../../utils/date';\n\nexport const focussableNodeNames = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'DETAILS'];\nexport const focusableSelector = focussableNodeNames.join(', ');\n\nexport const hasChanged = (value, newValue) => {\n if (isDate(value) && isDate(newValue)) {\n return !isWeakEqualDate(value, newValue);\n } else if (Array.isArray(value)) {\n return JSON.stringify(value) !== JSON.stringify(newValue);\n }\n\n return value !== newValue;\n};\n\nexport const willRowMoveAfterSorting = (value, cell, rowIndex, rows, desc): boolean => {\n const miniSortRows = [{ ...cell.row, original: { ...cell.row.original, [cell.column.id]: value } }];\n // getValue is used by the built-in sort functons, so we need to make sure it returns the changed value\n miniSortRows[0].getValue = () => value;\n\n let index = 0;\n\n if (rowIndex > 0) {\n miniSortRows.unshift(rows[rowIndex - 1]);\n index = 1;\n }\n\n if (rowIndex < rows.length - 1) {\n miniSortRows.push(rows[rowIndex + 1]);\n }\n\n let resortedRows = [...miniSortRows].sort((a, b) => cell.column.getSortingFn()(a, b, cell.column.id));\n\n if (desc) {\n resortedRows = resortedRows.reverse();\n }\n\n return resortedRows[index]?.id !== cell.row.id;\n};\n"],"names":["focussableNodeNames","focusableSelector","join","hasChanged","value","newValue","isDate","isWeakEqualDate","Array","isArray","JSON","stringify","willRowMoveAfterSorting","cell","rowIndex","rows","desc","miniSortRows","row","original","column","id","getValue","index","unshift","length","push","resortedRows","sort","a","b","getSortingFn","reverse"],"mappings":";;;MAGaA,mBAAmB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS;MAC9EC,iBAAiB,gBAAGD,mBAAmB,CAACE,IAAI,CAAC,IAAI;MAEjDC,UAAU,GAAG,CAACC,KAAK,EAAEC,QAAQ;EACtC,IAAIC,MAAM,CAACF,KAAK,CAAC,IAAIE,MAAM,CAACD,QAAQ,CAAC,EAAE;IACnC,OAAO,CAACE,WAAe,CAACH,KAAK,EAAEC,QAAQ,CAAC;GAC3C,MAAM,IAAIG,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC,EAAE;IAC7B,OAAOM,IAAI,CAACC,SAAS,CAACP,KAAK,CAAC,KAAKM,IAAI,CAACC,SAAS,CAACN,QAAQ,CAAC;;EAG7D,OAAOD,KAAK,KAAKC,QAAQ;AAC7B;MAEaO,uBAAuB,GAAG,CAACR,KAAK,EAAES,IAAI,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,IAAI;;EACrE,MAAMC,YAAY,GAAG,CAAC;IAAE,GAAGJ,IAAI,CAACK,GAAG;IAAEC,QAAQ,EAAE;MAAE,GAAGN,IAAI,CAACK,GAAG,CAACC,QAAQ;MAAE,CAACN,IAAI,CAACO,MAAM,CAACC,EAAE,GAAGjB;;GAAS,CAAC;;EAEnGa,YAAY,CAAC,CAAC,CAAC,CAACK,QAAQ,GAAG,MAAMlB,KAAK;EAEtC,IAAImB,KAAK,GAAG,CAAC;EAEb,IAAIT,QAAQ,GAAG,CAAC,EAAE;IACdG,YAAY,CAACO,OAAO,CAACT,IAAI,CAACD,QAAQ,GAAG,CAAC,CAAC,CAAC;IACxCS,KAAK,GAAG,CAAC;;EAGb,IAAIT,QAAQ,GAAGC,IAAI,CAACU,MAAM,GAAG,CAAC,EAAE;IAC5BR,YAAY,CAACS,IAAI,CAACX,IAAI,CAACD,QAAQ,GAAG,CAAC,CAAC,CAAC;;EAGzC,IAAIa,YAAY,GAAG,CAAC,GAAGV,YAAY,CAAC,CAACW,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKjB,IAAI,CAACO,MAAM,CAACW,YAAY,EAAE,CAACF,CAAC,EAAEC,CAAC,EAAEjB,IAAI,CAACO,MAAM,CAACC,EAAE,CAAC,CAAC;EAErG,IAAIL,IAAI,EAAE;IACNW,YAAY,GAAGA,YAAY,CAACK,OAAO,EAAE;;EAGzC,OAAO,wBAAAL,YAAY,CAACJ,KAAK,CAAC,wDAAnB,oBAAqBF,EAAE,MAAKR,IAAI,CAACK,GAAG,CAACG,EAAE;AAClD;;;;"}
@@ -1,29 +1,31 @@
1
1
  import { isDate, isBefore, isAfter } from 'date-fns';
2
2
  import { isWeakEqual as isWeakEqual$1 } from '../../../utils/date.js';
3
- import { Table2FilterComparator } from '../types.js';
3
+ import { Table3FilterComparator } from '../types.js';
4
4
 
5
5
  const toLowerCase = value => String(value !== null && value !== void 0 ? value : '').toLocaleLowerCase();
6
6
  const isWeakContains = (left, right) => toLowerCase(left).includes(toLowerCase(right));
7
7
  const isWeakEqual = (left, right) => toLowerCase(left) === toLowerCase(right);
8
- const globalFilterFn = (value, query) => isWeakContains(value, query);
8
+ function globalFilterFn(value, query) {
9
+ return isWeakContains(value, query);
10
+ }
9
11
  // the filter type is only settable on the column definition, which would re-render all columns
10
12
  // so instead we store it in the filter value, but that means we also have to destructure that
11
13
  // before we filter - that's why this custom filter function exists
12
- const columnFilterFn = (value, filter) => {
14
+ function columnFilterFn(value, filter) {
13
15
  try {
14
- if (filter.comparator === Table2FilterComparator.IsEmpty || filter.comparator === Table2FilterComparator.IsNotEmpty) {
16
+ if (filter.comparator === Table3FilterComparator.IsEmpty || filter.comparator === Table3FilterComparator.IsNotEmpty) {
15
17
  const isEmpty = value === undefined || value === null || value === '';
16
- return filter.comparator === Table2FilterComparator.IsEmpty ? isEmpty : !isEmpty;
18
+ return filter.comparator === Table3FilterComparator.IsEmpty ? isEmpty : !isEmpty;
17
19
  }
18
20
  if (filter.value === undefined || filter.value === null || filter.value === '') {
19
21
  return true;
20
22
  }
21
23
  switch (filter.comparator) {
22
- case Table2FilterComparator.Contains:
24
+ case Table3FilterComparator.Contains:
23
25
  return isWeakContains(value, filter.value);
24
- case Table2FilterComparator.DoesNotContain:
26
+ case Table3FilterComparator.DoesNotContain:
25
27
  return !isWeakContains(value, filter.value);
26
- case Table2FilterComparator.IsEqualTo:
28
+ case Table3FilterComparator.IsEqualTo:
27
29
  {
28
30
  if (isDate(value)) {
29
31
  return isDate(filter.value) && isWeakEqual$1(value, filter.value);
@@ -32,7 +34,7 @@ const columnFilterFn = (value, filter) => {
32
34
  }
33
35
  return isWeakEqual(value, filter.value);
34
36
  }
35
- case Table2FilterComparator.IsNotEqualTo:
37
+ case Table3FilterComparator.IsNotEqualTo:
36
38
  {
37
39
  if (isDate(value)) {
38
40
  return isDate(filter.value) && isWeakEqual$1(value, filter.value) === false;
@@ -41,7 +43,7 @@ const columnFilterFn = (value, filter) => {
41
43
  }
42
44
  return !isWeakEqual(value, filter.value);
43
45
  }
44
- case Table2FilterComparator.IsGreaterThan:
46
+ case Table3FilterComparator.IsGreaterThan:
45
47
  {
46
48
  if (isDate(value)) {
47
49
  return isDate(filter.value) && isAfter(value, filter.value);
@@ -50,7 +52,7 @@ const columnFilterFn = (value, filter) => {
50
52
  return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber > filter.value;
51
53
  }
52
54
  }
53
- case Table2FilterComparator.IsLessThan:
55
+ case Table3FilterComparator.IsLessThan:
54
56
  {
55
57
  if (isDate(value)) {
56
58
  return isDate(filter.value) && isBefore(value, filter.value);
@@ -59,7 +61,7 @@ const columnFilterFn = (value, filter) => {
59
61
  return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber < filter.value;
60
62
  }
61
63
  }
62
- case Table2FilterComparator.IsBetween:
64
+ case Table3FilterComparator.IsBetween:
63
65
  {
64
66
  const [fromValue, toValue] = filter.value;
65
67
  if (isDate(value)) {
@@ -82,11 +84,11 @@ const columnFilterFn = (value, filter) => {
82
84
  return true;
83
85
  }
84
86
  }
85
- case Table2FilterComparator.IsOneOf:
87
+ case Table3FilterComparator.IsOneOf:
86
88
  return Array.isArray(filter.value) ? filter.value.includes(value) : false;
87
- case Table2FilterComparator.IsNoneOf:
89
+ case Table3FilterComparator.IsNoneOf:
88
90
  return Array.isArray(filter.value) ? filter.value.includes(value) === false : false;
89
- case Table2FilterComparator.IsAllOf:
91
+ case Table3FilterComparator.IsAllOf:
90
92
  return Array.isArray(filter.value) && Array.isArray(value) ? filter.value.filter(v => value.includes(v)).length === filter.value.length : false;
91
93
  }
92
94
  return false;
@@ -94,7 +96,7 @@ const columnFilterFn = (value, filter) => {
94
96
  console.error(e);
95
97
  return true;
96
98
  }
97
- };
99
+ }
98
100
 
99
101
  export { columnFilterFn, globalFilterFn };
100
- //# sourceMappingURL=filterFn.js.map
102
+ //# sourceMappingURL=filtering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtering.js","sources":["../../../../../../../../src/components/Table3/util/filtering.ts"],"sourcesContent":["import { isDate, isAfter as isAfterDate, isBefore as isBeforeDate } from 'date-fns';\nimport { isWeakEqual as isWeakEqualDate } from '../../../utils/date';\nimport { Table3FilterValue, Table3FilterComparator } from '../types';\n\nconst toLowerCase = (value: string | number) => String(value ?? '').toLocaleLowerCase();\nconst isWeakContains = (left: string | number, right: string | number) => toLowerCase(left).includes(toLowerCase(right));\nconst isWeakEqual = (left: string | number, right: string | number) => toLowerCase(left) === toLowerCase(right);\n\nexport function globalFilterFn(value: string, query: string) {\n return isWeakContains(value, query);\n}\n\n// the filter type is only settable on the column definition, which would re-render all columns\n// so instead we store it in the filter value, but that means we also have to destructure that\n// before we filter - that's why this custom filter function exists\nexport function columnFilterFn(value: any, filter: Table3FilterValue) {\n try {\n if (filter.comparator === Table3FilterComparator.IsEmpty || filter.comparator === Table3FilterComparator.IsNotEmpty) {\n const isEmpty = value === undefined || value === null || value === '';\n return filter.comparator === Table3FilterComparator.IsEmpty ? isEmpty : !isEmpty;\n }\n\n if (filter.value === undefined || filter.value === null || filter.value === '') {\n return true;\n }\n\n switch (filter.comparator) {\n case Table3FilterComparator.Contains:\n return isWeakContains(value, filter.value);\n\n case Table3FilterComparator.DoesNotContain:\n return !isWeakContains(value, filter.value);\n\n case Table3FilterComparator.IsEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && isWeakEqualDate(value, filter.value);\n } else if (typeof filter.value === 'boolean') {\n return value === filter.value;\n }\n\n return isWeakEqual(value, filter.value);\n }\n\n case Table3FilterComparator.IsNotEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && isWeakEqualDate(value, filter.value) === false;\n } else if (typeof filter.value === 'boolean') {\n return value !== filter.value;\n }\n\n return !isWeakEqual(value, filter.value);\n }\n\n case Table3FilterComparator.IsGreaterThan: {\n if (isDate(value)) {\n return isDate(filter.value) && isAfterDate(value, filter.value);\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber > filter.value;\n }\n }\n\n case Table3FilterComparator.IsLessThan: {\n if (isDate(value)) {\n return isDate(filter.value) && isBeforeDate(value, filter.value);\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber < filter.value;\n }\n }\n\n case Table3FilterComparator.IsBetween: {\n const [fromValue, toValue] = filter.value;\n\n if (isDate(value)) {\n if (isDate(fromValue) && isBeforeDate(value, fromValue)) {\n return false;\n } else if (isDate(toValue) && isAfterDate(value, toValue)) {\n return false;\n }\n\n return true;\n } else {\n const valueAsNumber = parseInt(value);\n\n if (isNaN(valueAsNumber)) {\n return false;\n }\n\n if (fromValue !== undefined && valueAsNumber < fromValue) {\n return false;\n } else if (toValue !== undefined && valueAsNumber > toValue) {\n return false;\n }\n\n return true;\n }\n }\n\n case Table3FilterComparator.IsOneOf:\n return Array.isArray(filter.value) ? filter.value.includes(value) : false;\n\n case Table3FilterComparator.IsNoneOf:\n return Array.isArray(filter.value) ? filter.value.includes(value) === false : false;\n\n case Table3FilterComparator.IsAllOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.filter(v => value.includes(v)).length === filter.value.length\n : false;\n }\n\n return false;\n } catch (e) {\n console.error(e);\n return true;\n }\n}\n"],"names":["toLowerCase","value","String","toLocaleLowerCase","isWeakContains","left","right","includes","isWeakEqual","globalFilterFn","query","columnFilterFn","filter","comparator","Table3FilterComparator","IsEmpty","IsNotEmpty","isEmpty","undefined","Contains","DoesNotContain","IsEqualTo","isDate","isWeakEqualDate","IsNotEqualTo","IsGreaterThan","isAfterDate","valueAsNumber","parseInt","isNaN","IsLessThan","isBeforeDate","IsBetween","fromValue","toValue","IsOneOf","Array","isArray","IsNoneOf","IsAllOf","v","length","e","console","error"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { forwardRef, createElement } from 'react';
2
2
  import cn from 'classnames';
3
+ import { Tooltip } from '../Tooltip/Tooltip.js';
3
4
  import { getButtonClasses } from '../Button/util.js';
4
5
  import { Root, List, Trigger, Content } from '@radix-ui/react-tabs';
5
6
 
@@ -38,6 +39,7 @@ const TabTrigger = /*#__PURE__*/forwardRef(function Tab(props, ref) {
38
39
  children,
39
40
  id,
40
41
  disabled,
42
+ tooltip,
41
43
  ...otherProps
42
44
  } = props;
43
45
  const triggerClassName = cn('group relative p-0.5 outline-none disabled:cursor-not-allowed disabled:text-black/50',
@@ -51,7 +53,7 @@ const TabTrigger = /*#__PURE__*/forwardRef(function Tab(props, ref) {
51
53
  '[[aria-orientation="horizontal"]_&]:rounded-t-sm [[aria-orientation="horizontal"]_&]:bottom-0 [[aria-orientation="horizontal"]_&]:left-0 [[aria-orientation="horizontal"]_&]:right-0 [[aria-orientation="horizontal"]_&]:-mb-px [[aria-orientation="horizontal"]_&]:h-0.5',
52
54
  // vertical
53
55
  '[[aria-orientation="vertical"]_&]:rounded-l-sm [[aria-orientation="vertical"]_&]:right-0 [[aria-orientation="vertical"]_&]:top-0 [[aria-orientation="vertical"]_&]:bottom-0 [[aria-orientation="vertical"]_&]:-mr-px [[aria-orientation="vertical"]_&]:w-0.5');
54
- return /*#__PURE__*/createElement(Trigger, Object.assign({}, otherProps, {
56
+ const trigger = /*#__PURE__*/createElement(Trigger, Object.assign({}, otherProps, {
55
57
  className: triggerClassName,
56
58
  disabled: disabled,
57
59
  ref: ref,
@@ -61,6 +63,12 @@ const TabTrigger = /*#__PURE__*/forwardRef(function Tab(props, ref) {
61
63
  }, children), /*#__PURE__*/createElement("span", {
62
64
  className: activeClassName
63
65
  }));
66
+ if (tooltip) {
67
+ return /*#__PURE__*/createElement(Tooltip, {
68
+ title: tooltip
69
+ }, trigger);
70
+ }
71
+ return trigger;
64
72
  });
65
73
  const TabContent = /*#__PURE__*/forwardRef(function Tab(props, ref) {
66
74
  const {