@economic/taco 2.15.0 → 2.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (291) hide show
  1. package/dist/components/Drawer/Drawer.d.ts +5 -1
  2. package/dist/components/Provider/Localization.d.ts +19 -0
  3. package/dist/components/SearchInput2/SearchInput2.d.ts +1 -0
  4. package/dist/components/Table3/Table3.d.ts +0 -2
  5. package/dist/components/Table3/components/alert/ErrorAlert.d.ts +10 -0
  6. package/dist/components/Table3/components/columns/cell/DisplayCell.d.ts +5 -2
  7. package/dist/components/Table3/components/columns/cell/EditingCell.d.ts +3 -0
  8. package/dist/components/Table3/components/columns/cell/EditingControl.d.ts +1 -1
  9. package/dist/components/Table3/components/columns/cell/Highlight.d.ts +2 -0
  10. package/dist/components/Table3/components/columns/header/Header.d.ts +1 -1
  11. package/dist/components/Table3/components/columns/internal/EditingActions.d.ts +1 -1
  12. package/dist/components/Table3/components/columns/styles.d.ts +2 -2
  13. package/dist/components/Table3/components/rows/Row.d.ts +5 -1
  14. package/dist/components/Table3/components/rows/RowContext.d.ts +1 -0
  15. package/dist/components/Table3/hooks/features/useEditing.d.ts +12 -11
  16. package/dist/components/Table3/hooks/features/{usePauseHoverState.d.ts → usePauseShortcuts.d.ts} +1 -2
  17. package/dist/components/Table3/hooks/features/useSearch.d.ts +3 -3
  18. package/dist/components/Table3/hooks/features/useValidation.d.ts +13 -0
  19. package/dist/components/Table3/hooks/useTable.d.ts +25 -20
  20. package/dist/components/Table3/types.d.ts +41 -19
  21. package/dist/components/Table3/util/editing.d.ts +6 -0
  22. package/dist/components/Table3/util/scrolling.d.ts +2 -0
  23. package/dist/esm/index.css +108 -33
  24. package/dist/esm/packages/taco/src/components/Banner/Banner.js +2 -2
  25. package/dist/esm/packages/taco/src/components/Banner/Banner.js.map +1 -1
  26. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js +4 -4
  27. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js.map +1 -1
  28. package/dist/esm/packages/taco/src/components/Combobox/Combobox.js +3 -3
  29. package/dist/esm/packages/taco/src/components/Combobox/Combobox.js.map +1 -1
  30. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +2 -1
  31. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
  32. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js +6 -6
  33. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js.map +1 -1
  34. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js +3 -3
  35. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js.map +1 -1
  36. package/dist/esm/packages/taco/src/components/Drawer/Drawer.js +7 -2
  37. package/dist/esm/packages/taco/src/components/Drawer/Drawer.js.map +1 -1
  38. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +7 -7
  39. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js.map +1 -1
  40. package/dist/esm/packages/taco/src/components/Field/Field.js +2 -2
  41. package/dist/esm/packages/taco/src/components/Field/Field.js.map +1 -1
  42. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Item.js +2 -2
  43. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Item.js.map +1 -1
  44. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js +4 -4
  45. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js.map +1 -1
  46. package/dist/esm/packages/taco/src/components/Header/components/Link.js +2 -2
  47. package/dist/esm/packages/taco/src/components/Header/components/Link.js.map +1 -1
  48. package/dist/esm/packages/taco/src/components/Icon/Icon.js +2 -2
  49. package/dist/esm/packages/taco/src/components/Icon/Icon.js.map +1 -1
  50. package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js +2 -2
  51. package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js.map +1 -1
  52. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js +6 -6
  53. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js.map +1 -1
  54. package/dist/esm/packages/taco/src/components/Menu/components/Item.js +4 -4
  55. package/dist/esm/packages/taco/src/components/Menu/components/Item.js.map +1 -1
  56. package/dist/esm/packages/taco/src/components/Navigation/Navigation.js +2 -2
  57. package/dist/esm/packages/taco/src/components/Navigation/Navigation.js.map +1 -1
  58. package/dist/esm/packages/taco/src/components/Navigation2/components/Link.js +3 -3
  59. package/dist/esm/packages/taco/src/components/Navigation2/components/Link.js.map +1 -1
  60. package/dist/esm/packages/taco/src/components/Navigation2/components/Section.js +2 -2
  61. package/dist/esm/packages/taco/src/components/Navigation2/components/Section.js.map +1 -1
  62. package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js +1 -1
  63. package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js.map +1 -1
  64. package/dist/esm/packages/taco/src/components/Pagination/PageNumbers.js +2 -2
  65. package/dist/esm/packages/taco/src/components/Pagination/PageNumbers.js.map +1 -1
  66. package/dist/esm/packages/taco/src/components/Pagination/Pagination.js +5 -5
  67. package/dist/esm/packages/taco/src/components/Pagination/Pagination.js.map +1 -1
  68. package/dist/esm/packages/taco/src/components/Popover/Popover.js +2 -2
  69. package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
  70. package/dist/esm/packages/taco/src/components/Provider/Localization.js +19 -0
  71. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  72. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js +2 -2
  73. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
  74. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +12 -8
  75. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -1
  76. package/dist/esm/packages/taco/src/components/Select/useSelect.js +2 -2
  77. package/dist/esm/packages/taco/src/components/Select/useSelect.js.map +1 -1
  78. package/dist/esm/packages/taco/src/components/Select2/Select2.js +7 -7
  79. package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
  80. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js +8 -8
  81. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js.map +1 -1
  82. package/dist/esm/packages/taco/src/components/Select2/components/Option.js +5 -5
  83. package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
  84. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +10 -10
  85. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
  86. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js +2 -2
  87. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
  88. package/dist/esm/packages/taco/src/components/Table/components/BaseTable.js +3 -3
  89. package/dist/esm/packages/taco/src/components/Table/components/BaseTable.js.map +1 -1
  90. package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js +2 -2
  91. package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js.map +1 -1
  92. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js +10 -10
  93. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  94. package/dist/esm/packages/taco/src/components/Table/util/renderColumn.js +2 -2
  95. package/dist/esm/packages/taco/src/components/Table/util/renderColumn.js.map +1 -1
  96. package/dist/esm/packages/taco/src/components/Table3/Table3.js +37 -30
  97. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  98. package/dist/esm/packages/taco/src/components/Table3/components/alert/ErrorAlert.js +154 -0
  99. package/dist/esm/packages/taco/src/components/Table3/components/alert/ErrorAlert.js.map +1 -0
  100. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js +54 -9
  101. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js.map +1 -1
  102. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js +9 -57
  103. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +1 -1
  104. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +72 -41
  105. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -1
  106. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js +41 -17
  107. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js.map +1 -1
  108. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Highlight.js +41 -0
  109. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Highlight.js.map +1 -0
  110. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/controls/TextareaControl.js +23 -14
  111. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/controls/TextareaControl.js.map +1 -1
  112. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js +3 -3
  113. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js.map +1 -1
  114. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Group.js +1 -1
  115. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Group.js.map +1 -1
  116. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +9 -9
  117. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -1
  118. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js +37 -6
  119. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js.map +1 -1
  120. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +12 -12
  121. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -1
  122. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js +2 -2
  123. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js.map +1 -1
  124. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js +63 -23
  125. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js.map +1 -1
  126. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js +3 -3
  127. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js.map +1 -1
  128. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +3 -3
  129. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +1 -1
  130. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js +2 -13
  131. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -1
  132. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js +67 -57
  133. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js.map +1 -1
  134. package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js +2 -1
  135. package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js.map +1 -1
  136. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js +2 -2
  137. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js.map +1 -1
  138. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +8 -6
  139. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -1
  140. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +23 -8
  141. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -1
  142. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js +2 -2
  143. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +1 -1
  144. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js +2 -2
  145. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js.map +1 -1
  146. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +16 -16
  147. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -1
  148. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +1 -0
  149. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -1
  150. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +53 -4
  151. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -1
  152. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js +8 -8
  153. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js.map +1 -1
  154. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js +185 -101
  155. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js.map +1 -1
  156. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseShortcuts.js +12 -0
  157. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseShortcuts.js.map +1 -0
  158. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js +4 -2
  159. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js.map +1 -1
  160. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useValidation.js +178 -0
  161. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useValidation.js.map +1 -0
  162. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js +3 -3
  163. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js.map +1 -1
  164. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +1 -49
  165. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -1
  166. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +1 -2
  167. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -1
  168. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js +0 -2
  169. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js.map +1 -1
  170. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +135 -111
  171. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -1
  172. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js +4 -4
  173. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js.map +1 -1
  174. package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -1
  175. package/dist/esm/packages/taco/src/components/Table3/util/editing.js +21 -1
  176. package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -1
  177. package/dist/esm/packages/taco/src/components/Table3/util/scrolling.js +53 -0
  178. package/dist/esm/packages/taco/src/components/Table3/util/scrolling.js.map +1 -0
  179. package/dist/esm/packages/taco/src/components/Tag/Tag.js +4 -4
  180. package/dist/esm/packages/taco/src/components/Tag/Tag.js.map +1 -1
  181. package/dist/esm/packages/taco/src/components/Toast/Toaster.js +2 -2
  182. package/dist/esm/packages/taco/src/components/Toast/Toaster.js.map +1 -1
  183. package/dist/esm/packages/taco/src/components/Tour/Tour.js +4 -4
  184. package/dist/esm/packages/taco/src/components/Tour/Tour.js.map +1 -1
  185. package/dist/esm/packages/taco/src/components/Treeview/Treeview.js +2 -2
  186. package/dist/esm/packages/taco/src/components/Treeview/Treeview.js.map +1 -1
  187. package/dist/esm/packages/taco/src/index.js +2 -1
  188. package/dist/esm/packages/taco/src/index.js.map +1 -1
  189. package/dist/esm/packages/taco/src/primitives/Table/types.js +10 -0
  190. package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -0
  191. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableColumnOrdering.js +8 -0
  192. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableColumnOrdering.js.map +1 -0
  193. package/dist/esm/packages/taco/src/{components/Table3/hooks/features/useFontSize.js → primitives/Table/useTable/features/useTableFontSize.js} +3 -3
  194. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableFontSize.js.map +1 -0
  195. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTablePrinting.js +14 -0
  196. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTablePrinting.js.map +1 -0
  197. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowActive.js +100 -0
  198. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowActive.js.map +1 -0
  199. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowClick.js +30 -0
  200. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowClick.js.map +1 -0
  201. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowGoto.js +9 -0
  202. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowGoto.js.map +1 -0
  203. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowHeight.js +13 -0
  204. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowHeight.js.map +1 -0
  205. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowSelection.js +32 -0
  206. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowSelection.js.map +1 -0
  207. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableServerLoading.js +11 -0
  208. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableServerLoading.js.map +1 -0
  209. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableDataListener.js +15 -0
  210. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableDataListener.js.map +1 -0
  211. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useFilteringStateListener.js → primitives/Table/useTable/listeners/useTableFilterListener.js} +3 -3
  212. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableFilterListener.js.map +1 -0
  213. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableFontSizeListener.js +40 -0
  214. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableFontSizeListener.js.map +1 -0
  215. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useRowSelectionListener.js → primitives/Table/useTable/listeners/useTableRowSelectionListener.js} +5 -6
  216. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableRowSelectionListener.js.map +1 -0
  217. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useServerLoadingListener.js → primitives/Table/useTable/listeners/useTableServerLoadingListener.js} +3 -3
  218. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableServerLoadingListener.js.map +1 -0
  219. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useShortcutsListener.js → primitives/Table/useTable/listeners/useTableShortcutsListener.js} +7 -7
  220. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableShortcutsListener.js.map +1 -0
  221. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useSortingStateListener.js → primitives/Table/useTable/listeners/useTableSortingListener.js} +6 -4
  222. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableSortingListener.js.map +1 -0
  223. package/dist/esm/packages/taco/src/{components/Table3/hooks/features/useColumnOrdering.js → primitives/Table/useTable/util/columns.js} +24 -15
  224. package/dist/esm/packages/taco/src/primitives/Table/useTable/util/columns.js.map +1 -0
  225. package/dist/esm/packages/taco/src/types.js +6 -0
  226. package/dist/esm/packages/taco/src/types.js.map +1 -0
  227. package/dist/esm/packages/taco/src/utils/date.js +0 -1
  228. package/dist/esm/packages/taco/src/utils/date.js.map +1 -1
  229. package/dist/index.css +108 -33
  230. package/dist/primitives/Table/types.d.ts +35 -0
  231. package/dist/primitives/Table/useTable/features/useTableColumnOrdering.d.ts +3 -0
  232. package/dist/primitives/Table/useTable/features/useTableFontSize.d.ts +7 -0
  233. package/dist/primitives/Table/useTable/features/useTablePrinting.d.ts +7 -0
  234. package/dist/primitives/Table/useTable/features/useTableRowActive.d.ts +12 -0
  235. package/dist/primitives/Table/useTable/features/useTableRowClick.d.ts +7 -0
  236. package/dist/primitives/Table/useTable/features/useTableRowGoto.d.ts +5 -0
  237. package/dist/primitives/Table/useTable/features/useTableRowHeight.d.ts +7 -0
  238. package/dist/primitives/Table/useTable/features/useTableRowSelection.d.ts +6 -0
  239. package/dist/primitives/Table/useTable/features/useTableServerLoading.d.ts +6 -0
  240. package/dist/primitives/Table/useTable/listeners/useTableDataListener.d.ts +2 -0
  241. package/dist/primitives/Table/useTable/listeners/useTableFilterListener.d.ts +3 -0
  242. package/dist/primitives/Table/useTable/listeners/useTableFontSizeListener.d.ts +2 -0
  243. package/dist/primitives/Table/useTable/listeners/useTableRowSelectionListener.d.ts +3 -0
  244. package/dist/primitives/Table/useTable/listeners/useTableServerLoadingListener.d.ts +3 -0
  245. package/dist/primitives/Table/useTable/listeners/useTableShortcutsListener.d.ts +3 -0
  246. package/dist/primitives/Table/useTable/listeners/useTableSortingListener.d.ts +3 -0
  247. package/dist/primitives/Table/useTable/util/columns.d.ts +4 -0
  248. package/dist/taco.cjs.development.js +2294 -1543
  249. package/dist/taco.cjs.development.js.map +1 -1
  250. package/dist/taco.cjs.production.min.js +1 -1
  251. package/dist/taco.cjs.production.min.js.map +1 -1
  252. package/dist/types.d.ts +5 -0
  253. package/package.json +3 -3
  254. package/types.json +13547 -12953
  255. package/dist/components/Table3/hooks/features/useColumnOrdering.d.ts +0 -6
  256. package/dist/components/Table3/hooks/features/useCurrentRow.d.ts +0 -11
  257. package/dist/components/Table3/hooks/features/useFontSize.d.ts +0 -7
  258. package/dist/components/Table3/hooks/features/usePrinting.d.ts +0 -8
  259. package/dist/components/Table3/hooks/features/useRowClick.d.ts +0 -6
  260. package/dist/components/Table3/hooks/features/useRowGoto.d.ts +0 -5
  261. package/dist/components/Table3/hooks/features/useRowHeight.d.ts +0 -7
  262. package/dist/components/Table3/hooks/features/useRowSelection.d.ts +0 -6
  263. package/dist/components/Table3/hooks/listeners/useCurrentRowListener.d.ts +0 -2
  264. package/dist/components/Table3/hooks/listeners/useFilteringStateListener.d.ts +0 -3
  265. package/dist/components/Table3/hooks/listeners/useRowSelectionListener.d.ts +0 -3
  266. package/dist/components/Table3/hooks/listeners/useServerLoadingListener.d.ts +0 -3
  267. package/dist/components/Table3/hooks/listeners/useShortcutsListener.d.ts +0 -3
  268. package/dist/components/Table3/hooks/listeners/useSortingStateListener.d.ts +0 -3
  269. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js.map +0 -1
  270. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js +0 -93
  271. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js.map +0 -1
  272. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js.map +0 -1
  273. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js +0 -22
  274. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js.map +0 -1
  275. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js +0 -14
  276. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js.map +0 -1
  277. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js +0 -25
  278. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js.map +0 -1
  279. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js +0 -9
  280. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js.map +0 -1
  281. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js +0 -27
  282. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js.map +0 -1
  283. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js +0 -32
  284. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js.map +0 -1
  285. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js +0 -15
  286. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js.map +0 -1
  287. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js.map +0 -1
  288. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js.map +0 -1
  289. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js.map +0 -1
  290. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js.map +0 -1
  291. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js.map +0 -1
@@ -0,0 +1,178 @@
1
+ import React__default from 'react';
2
+
3
+ function useValidation(onCellValidate, onRowValidate) {
4
+ const [validationState, dispatch] = React__default.useReducer(validationReducer, {
5
+ errors: null,
6
+ draftErrors: null
7
+ });
8
+ function getCellError(cell) {
9
+ var _validationState$draf, _validationState$erro;
10
+ return validationState.draftErrors && ((_validationState$draf = validationState.draftErrors[cell.row.id]) === null || _validationState$draf === void 0 ? void 0 : _validationState$draf[cell.column.id]) || (validationState.errors ? (_validationState$erro = validationState.errors[cell.row.id]) === null || _validationState$erro === void 0 ? void 0 : _validationState$erro[cell.column.id] : undefined);
11
+ }
12
+ function setCellError(rowId, cellId, error) {
13
+ dispatch({
14
+ type: ValidationActionType.SET_CELL_ERROR,
15
+ payload: {
16
+ rowId,
17
+ cellId,
18
+ error
19
+ }
20
+ });
21
+ }
22
+ function setRowErrors(rowId, errors) {
23
+ dispatch({
24
+ type: ValidationActionType.SET_ROW_ERROR,
25
+ payload: {
26
+ rowId,
27
+ errors
28
+ }
29
+ });
30
+ }
31
+ function confirmErrors(rowId) {
32
+ dispatch({
33
+ type: ValidationActionType.CONFIRN_ERRORS,
34
+ payload: {
35
+ rowId
36
+ }
37
+ });
38
+ }
39
+ function resetErrors(rowId, cellId) {
40
+ dispatch({
41
+ type: ValidationActionType.RESET_ERRORS,
42
+ payload: {
43
+ rowId,
44
+ cellId
45
+ }
46
+ });
47
+ }
48
+ const setErrors = (errors, rowId, cellId) => {
49
+ if (cellId) {
50
+ setCellError(rowId, cellId, errors[cellId]);
51
+ } else {
52
+ setRowErrors(rowId, errors);
53
+ }
54
+ };
55
+ const validate = (rowId, row, cellId) => {
56
+ let validationPromise;
57
+ if (cellId && onCellValidate) {
58
+ validationPromise = onCellValidate(row[cellId], cellId, row);
59
+ } else if (onRowValidate) {
60
+ validationPromise = onRowValidate(row);
61
+ } else {
62
+ validationPromise = new Promise(resolve => {
63
+ resolve();
64
+ });
65
+ }
66
+ validationPromise.then(() => {
67
+ // Need to reset previous errors,
68
+ // since promise resolve is the only place where we consider that previous errors is not relevant anymore.
69
+ resetErrors(rowId, cellId);
70
+ }).catch(errors => {
71
+ setErrors(errors, rowId, cellId);
72
+ });
73
+ return validationPromise;
74
+ };
75
+ return {
76
+ validate,
77
+ setCellError,
78
+ setRowErrors,
79
+ confirmErrors,
80
+ getCellError,
81
+ resetErrors,
82
+ errors: validationState.errors,
83
+ draftErrors: validationState.draftErrors
84
+ };
85
+ }
86
+ // Taking care of reseting/removing errors for particular cell/row and reseting errors object to null, when no errors at all.
87
+ function _resetErrors(errors, rowId, columnId) {
88
+ let currentErrors = errors ? {
89
+ ...errors
90
+ } : {};
91
+ if (currentErrors && currentErrors[rowId]) {
92
+ if (columnId) {
93
+ delete currentErrors[rowId][columnId];
94
+ const rowErrorsSet = Object.keys(currentErrors[rowId]);
95
+ if (rowErrorsSet.length === 0) {
96
+ delete currentErrors[rowId];
97
+ }
98
+ } else {
99
+ delete currentErrors[rowId];
100
+ }
101
+ }
102
+ const errorsSet = Object.keys(currentErrors);
103
+ if (errorsSet.length === 0) {
104
+ currentErrors = null;
105
+ }
106
+ return currentErrors;
107
+ }
108
+ var ValidationActionType;
109
+ (function (ValidationActionType) {
110
+ ValidationActionType[ValidationActionType["SET_CELL_ERROR"] = 0] = "SET_CELL_ERROR";
111
+ ValidationActionType[ValidationActionType["SET_ROW_ERROR"] = 1] = "SET_ROW_ERROR";
112
+ ValidationActionType[ValidationActionType["CONFIRN_ERRORS"] = 2] = "CONFIRN_ERRORS";
113
+ ValidationActionType[ValidationActionType["RESET_ERRORS"] = 3] = "RESET_ERRORS";
114
+ })(ValidationActionType || (ValidationActionType = {}));
115
+ function validationReducer(state, action) {
116
+ var _state$draftErrors, _state$draftErrors2;
117
+ switch (action.type) {
118
+ // Saves cell error into draft errors state.
119
+ case ValidationActionType.SET_CELL_ERROR:
120
+ return {
121
+ ...state,
122
+ draftErrors: {
123
+ ...state.draftErrors,
124
+ [action.payload.rowId]: {
125
+ ...((_state$draftErrors = state.draftErrors) === null || _state$draftErrors === void 0 ? void 0 : _state$draftErrors[action.payload.rowId]),
126
+ [action.payload.cellId]: action.payload.error
127
+ }
128
+ }
129
+ };
130
+ // Saves row errors into draft errors state.
131
+ case ValidationActionType.SET_ROW_ERROR:
132
+ return {
133
+ ...state,
134
+ draftErrors: {
135
+ ...state.draftErrors,
136
+ [action.payload.rowId]: {
137
+ ...((_state$draftErrors2 = state.draftErrors) === null || _state$draftErrors2 === void 0 ? void 0 : _state$draftErrors2[action.payload.rowId]),
138
+ ...action.payload.errors
139
+ }
140
+ }
141
+ };
142
+ // Promotes errors from draft into confirmed state (When user moves to next/prev row)
143
+ case ValidationActionType.CONFIRN_ERRORS:
144
+ {
145
+ const newDraftErrors = {
146
+ ...state.draftErrors
147
+ };
148
+ const confirmedRow = {
149
+ ...newDraftErrors[action.payload.rowId]
150
+ };
151
+ delete newDraftErrors[action.payload.rowId];
152
+ return {
153
+ draftErrors: newDraftErrors,
154
+ errors: {
155
+ ...state.errors,
156
+ [action.payload.rowId]: confirmedRow
157
+ }
158
+ };
159
+ }
160
+ // Resets all errors for particular row or cell if cell id is passed.
161
+ // We need to reset both confirmed and draft errors, for the situations,
162
+ // when user is getting back to the row wich already had error.
163
+ case ValidationActionType.RESET_ERRORS:
164
+ {
165
+ const newDraftErrors = _resetErrors(state.draftErrors, action.payload.rowId, action.payload.cellId);
166
+ const newErrors = _resetErrors(state.errors, action.payload.rowId, action.payload.cellId);
167
+ return {
168
+ errors: newErrors,
169
+ draftErrors: newDraftErrors
170
+ };
171
+ }
172
+ default:
173
+ return state;
174
+ }
175
+ }
176
+
177
+ export { useValidation };
178
+ //# sourceMappingURL=useValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useValidation.js","sources":["../../../../../../../../../src/components/Table3/hooks/features/useValidation.ts"],"sourcesContent":["import React from 'react';\nimport * as _ from 'lodash';\nimport { Cell as RTCell } from '@tanstack/react-table';\nimport { RowErrors, Table3CellValidationHandler, Table3RowValidationHandler } from '../../types';\n\nexport type Table3Validation<TType = unknown> = {\n validate: (rowId: string, row: TType, cellId?: string) => Promise<void | RowErrors>;\n setCellError: (rowId: string, cellId: string, error: string) => void;\n setRowErrors: (rowId: string, errors: Record<string, string>) => void;\n confirmErrors: (rowId: string) => void;\n getCellError: <T extends TType>(cell: RTCell<T, unknown>) => string | undefined;\n resetErrors: (rowId: string, cellId?: string) => void;\n errors: Record<string, RowErrors> | null;\n draftErrors: Record<string, RowErrors> | null;\n};\n\nexport function useValidation<TType = unknown>(\n onCellValidate?: Table3CellValidationHandler<TType>,\n onRowValidate?: Table3RowValidationHandler<TType>\n): Table3Validation<TType> {\n const [validationState, dispatch] = React.useReducer(validationReducer, { errors: null, draftErrors: null });\n\n function getCellError<T extends TType>(cell: RTCell<T, unknown>) {\n return (\n (validationState.draftErrors && validationState.draftErrors[cell.row.id]?.[cell.column.id]) ||\n (validationState.errors ? validationState.errors[cell.row.id]?.[cell.column.id] : undefined)\n );\n }\n\n function setCellError(rowId: string, cellId: string, error: string) {\n dispatch({\n type: ValidationActionType.SET_CELL_ERROR,\n payload: { rowId, cellId, error },\n });\n }\n\n function setRowErrors(rowId: string, errors: Record<string, string>) {\n dispatch({\n type: ValidationActionType.SET_ROW_ERROR,\n payload: { rowId, errors },\n });\n }\n\n function confirmErrors(rowId: string) {\n dispatch({\n type: ValidationActionType.CONFIRN_ERRORS,\n payload: { rowId },\n });\n }\n\n function resetErrors(rowId: string, cellId?: string) {\n dispatch({\n type: ValidationActionType.RESET_ERRORS,\n payload: { rowId, cellId },\n });\n }\n\n const setErrors = (errors: RowErrors, rowId: string, cellId?: string) => {\n if (cellId) {\n setCellError(rowId, cellId, errors[cellId]);\n } else {\n setRowErrors(rowId, errors);\n }\n };\n\n const validate = (rowId: string, row: TType, cellId?: string) => {\n let validationPromise: Promise<RowErrors | void>;\n if (cellId && onCellValidate) {\n validationPromise = onCellValidate(row[cellId], cellId, row);\n } else if (onRowValidate) {\n validationPromise = onRowValidate(row);\n } else {\n validationPromise = new Promise(resolve => {\n resolve();\n });\n }\n\n validationPromise\n .then(() => {\n // Need to reset previous errors,\n // since promise resolve is the only place where we consider that previous errors is not relevant anymore.\n resetErrors(rowId, cellId);\n })\n .catch((errors: RowErrors) => {\n setErrors(errors, rowId, cellId);\n });\n\n return validationPromise;\n };\n\n return {\n validate,\n setCellError,\n setRowErrors,\n confirmErrors,\n getCellError,\n resetErrors,\n errors: validationState.errors,\n draftErrors: validationState.draftErrors,\n };\n}\n\n// Taking care of reseting/removing errors for particular cell/row and reseting errors object to null, when no errors at all.\nfunction _resetErrors(\n errors: Record<string, RowErrors> | null,\n rowId: string,\n columnId?: string\n): Record<string, RowErrors> | null {\n let currentErrors: Record<string, RowErrors> | null = errors ? { ...errors } : {};\n\n if (currentErrors && currentErrors[rowId]) {\n if (columnId) {\n delete currentErrors[rowId][columnId];\n const rowErrorsSet = Object.keys(currentErrors[rowId]);\n if (rowErrorsSet.length === 0) {\n delete currentErrors[rowId];\n }\n } else {\n delete currentErrors[rowId];\n }\n }\n\n const errorsSet = Object.keys(currentErrors);\n if (errorsSet.length === 0) {\n currentErrors = null;\n }\n\n return currentErrors;\n}\n\nenum ValidationActionType {\n SET_CELL_ERROR,\n SET_ROW_ERROR,\n CONFIRN_ERRORS,\n RESET_ERRORS,\n}\n\ntype ValidationState = {\n // According to UX requirement, while user still editing current row, the error alert should not be yet shown,\n // and row should not be highlighted in red, but error still need to be shown on a cell level when user moving from cell to cell.\n // This means that we need to maintain some kind of draft validation errors as well as confirmed errors.\n draftErrors: Record<string, RowErrors> | null;\n // sets of row errors\n errors: Record<string, RowErrors> | null;\n};\n\ntype ValidationAction =\n | { type: ValidationActionType.SET_CELL_ERROR; payload: { rowId: string; cellId: string; error: string } }\n | { type: ValidationActionType.SET_ROW_ERROR; payload: { rowId: string; errors: RowErrors } }\n | { type: ValidationActionType.CONFIRN_ERRORS; payload: { rowId: string } }\n | { type: ValidationActionType.RESET_ERRORS; payload: { rowId: string; cellId?: string } };\n\nfunction validationReducer(state: ValidationState, action: ValidationAction): ValidationState {\n switch (action.type) {\n // Saves cell error into draft errors state.\n case ValidationActionType.SET_CELL_ERROR:\n return {\n ...state,\n draftErrors: {\n ...state.draftErrors,\n [action.payload.rowId]: {\n ...state.draftErrors?.[action.payload.rowId],\n [action.payload.cellId]: action.payload.error,\n },\n },\n };\n\n // Saves row errors into draft errors state.\n case ValidationActionType.SET_ROW_ERROR:\n return {\n ...state,\n draftErrors: {\n ...state.draftErrors,\n [action.payload.rowId]: {\n ...state.draftErrors?.[action.payload.rowId],\n ...action.payload.errors,\n },\n },\n };\n\n // Promotes errors from draft into confirmed state (When user moves to next/prev row)\n case ValidationActionType.CONFIRN_ERRORS: {\n const newDraftErrors = { ...state.draftErrors };\n const confirmedRow = { ...newDraftErrors[action.payload.rowId] };\n delete newDraftErrors[action.payload.rowId];\n return {\n draftErrors: newDraftErrors,\n errors: {\n ...state.errors,\n [action.payload.rowId]: confirmedRow,\n },\n };\n }\n\n // Resets all errors for particular row or cell if cell id is passed.\n // We need to reset both confirmed and draft errors, for the situations,\n // when user is getting back to the row wich already had error.\n case ValidationActionType.RESET_ERRORS: {\n const newDraftErrors = _resetErrors(state.draftErrors, action.payload.rowId, action.payload.cellId);\n const newErrors = _resetErrors(state.errors, action.payload.rowId, action.payload.cellId);\n return {\n errors: newErrors,\n draftErrors: newDraftErrors,\n };\n }\n\n default:\n return state;\n }\n}\n"],"names":["useValidation","onCellValidate","onRowValidate","validationState","dispatch","React","useReducer","validationReducer","errors","draftErrors","getCellError","cell","_validationState$draf","row","id","column","_validationState$erro","undefined","setCellError","rowId","cellId","error","type","ValidationActionType","SET_CELL_ERROR","payload","setRowErrors","SET_ROW_ERROR","confirmErrors","CONFIRN_ERRORS","resetErrors","RESET_ERRORS","setErrors","validate","validationPromise","Promise","resolve","then","catch","_resetErrors","columnId","currentErrors","rowErrorsSet","Object","keys","length","errorsSet","state","action","_state$draftErrors","_state$draftErrors2","newDraftErrors","confirmedRow","newErrors"],"mappings":"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"}
@@ -9,7 +9,7 @@ function useEditingStateListener(table) {
9
9
  meta.editing.saveChangesIfNeeded();
10
10
  });
11
11
  }
12
- }, [meta.currentRow.currentRowIndex]);
12
+ }, [meta.rowActive.rowActiveIndex]);
13
13
  // save if editing gets toggled off
14
14
  React__default.useEffect(() => {
15
15
  if (meta.editing.isEnabled) {
@@ -17,8 +17,8 @@ function useEditingStateListener(table) {
17
17
  requestAnimationFrame(() => {
18
18
  meta.editing.saveChangesIfNeeded();
19
19
  });
20
- } else if (meta.currentRow.currentRowIndex === undefined) {
21
- meta.currentRow.setCurrentRowIndex(0);
20
+ } else if (meta.rowActive.rowActiveIndex === undefined) {
21
+ meta.rowActive.setRowActiveIndex(0);
22
22
  }
23
23
  }
24
24
  }, [meta.editing.isEditing]);
@@ -1 +1 @@
1
- {"version":3,"file":"useEditingStateListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useEditingStateListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\n\nexport function useEditingStateListener<TType = unknown>(table: RTable<TType>) {\n const meta = table.options.meta as TableMeta<TType>;\n\n // save when the row changes\n React.useEffect(() => {\n if (meta.editing.isEnabled && meta.editing.isEditing) {\n requestAnimationFrame(() => {\n meta.editing.saveChangesIfNeeded();\n });\n }\n }, [meta.currentRow.currentRowIndex]);\n\n // save if editing gets toggled off\n React.useEffect(() => {\n if (meta.editing.isEnabled) {\n if (!meta.editing.isEditing) {\n requestAnimationFrame(() => {\n meta.editing.saveChangesIfNeeded();\n });\n } else if (meta.currentRow.currentRowIndex === undefined) {\n meta.currentRow.setCurrentRowIndex(0);\n }\n }\n }, [meta.editing.isEditing]);\n}\n"],"names":["useEditingStateListener","table","meta","options","React","useEffect","editing","isEnabled","isEditing","requestAnimationFrame","saveChangesIfNeeded","currentRow","currentRowIndex","undefined","setCurrentRowIndex"],"mappings":";;SAGgBA,uBAAuBA,CAAkBC,KAAoB;EACzE,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAAwB;;EAGnDE,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIH,IAAI,CAACI,OAAO,CAACC,SAAS,IAAIL,IAAI,CAACI,OAAO,CAACE,SAAS,EAAE;MAClDC,qBAAqB,CAAC;QAClBP,IAAI,CAACI,OAAO,CAACI,mBAAmB,EAAE;OACrC,CAAC;;GAET,EAAE,CAACR,IAAI,CAACS,UAAU,CAACC,eAAe,CAAC,CAAC;;EAGrCR,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIH,IAAI,CAACI,OAAO,CAACC,SAAS,EAAE;MACxB,IAAI,CAACL,IAAI,CAACI,OAAO,CAACE,SAAS,EAAE;QACzBC,qBAAqB,CAAC;UAClBP,IAAI,CAACI,OAAO,CAACI,mBAAmB,EAAE;SACrC,CAAC;OACL,MAAM,IAAIR,IAAI,CAACS,UAAU,CAACC,eAAe,KAAKC,SAAS,EAAE;QACtDX,IAAI,CAACS,UAAU,CAACG,kBAAkB,CAAC,CAAC,CAAC;;;GAGhD,EAAE,CAACZ,IAAI,CAACI,OAAO,CAACE,SAAS,CAAC,CAAC;AAChC;;;;"}
1
+ {"version":3,"file":"useEditingStateListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useEditingStateListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\n\nexport function useEditingStateListener<TType = unknown>(table: RTable<TType>) {\n const meta = table.options.meta as TableMeta<TType>;\n\n // save when the row changes\n React.useEffect(() => {\n if (meta.editing.isEnabled && meta.editing.isEditing) {\n requestAnimationFrame(() => {\n meta.editing.saveChangesIfNeeded();\n });\n }\n }, [meta.rowActive.rowActiveIndex]);\n\n // save if editing gets toggled off\n React.useEffect(() => {\n if (meta.editing.isEnabled) {\n if (!meta.editing.isEditing) {\n requestAnimationFrame(() => {\n meta.editing.saveChangesIfNeeded();\n });\n } else if (meta.rowActive.rowActiveIndex === undefined) {\n meta.rowActive.setRowActiveIndex(0);\n }\n }\n }, [meta.editing.isEditing]);\n}\n"],"names":["useEditingStateListener","table","meta","options","React","useEffect","editing","isEnabled","isEditing","requestAnimationFrame","saveChangesIfNeeded","rowActive","rowActiveIndex","undefined","setRowActiveIndex"],"mappings":";;SAGgBA,uBAAuBA,CAAkBC,KAAoB;EACzE,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAAwB;;EAGnDE,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIH,IAAI,CAACI,OAAO,CAACC,SAAS,IAAIL,IAAI,CAACI,OAAO,CAACE,SAAS,EAAE;MAClDC,qBAAqB,CAAC;QAClBP,IAAI,CAACI,OAAO,CAACI,mBAAmB,EAAE;OACrC,CAAC;;GAET,EAAE,CAACR,IAAI,CAACS,SAAS,CAACC,cAAc,CAAC,CAAC;;EAGnCR,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIH,IAAI,CAACI,OAAO,CAACC,SAAS,EAAE;MACxB,IAAI,CAACL,IAAI,CAACI,OAAO,CAACE,SAAS,EAAE;QACzBC,qBAAqB,CAAC;UAClBP,IAAI,CAACI,OAAO,CAACI,mBAAmB,EAAE;SACrC,CAAC;OACL,MAAM,IAAIR,IAAI,CAACS,SAAS,CAACC,cAAc,KAAKC,SAAS,EAAE;QACpDX,IAAI,CAACS,SAAS,CAACG,iBAAiB,CAAC,CAAC,CAAC;;;GAG9C,EAAE,CAACZ,IAAI,CAACI,OAAO,CAACE,SAAS,CAAC,CAAC;AAChC;;;;"}
@@ -1,56 +1,8 @@
1
1
  import React__default from 'react';
2
- import { FONT_SIZE } from '../../components/toolbar/FontSize.js';
3
- import { getFontBasedMinColumnSize } from '../../components/columns/styles.js';
4
2
 
5
3
  function useSettingsStateListener(table, onChangeSettings) {
6
4
  const meta = table.options.meta;
7
5
  const state = table.getState();
8
- const prevFontSize = React__default.useRef(meta.fontSize.size);
9
- React__default.useEffect(() => {
10
- const newFontSize = meta.fontSize.size;
11
- const oldFontSize = prevFontSize.current;
12
- const {
13
- small,
14
- medium,
15
- large
16
- } = FONT_SIZE;
17
- let columnSizeChange = 0;
18
- switch (`${oldFontSize}-${newFontSize}`) {
19
- case `${small}-${medium}`:
20
- columnSizeChange = 8;
21
- break;
22
- case `${small}-${large}`:
23
- columnSizeChange = 16;
24
- break;
25
- case `${medium}-${small}`:
26
- columnSizeChange = -8;
27
- break;
28
- case `${medium}-${large}`:
29
- columnSizeChange = 8;
30
- break;
31
- case `${large}-${small}`:
32
- columnSizeChange = -16;
33
- break;
34
- case `${large}-${medium}`:
35
- columnSizeChange = -8;
36
- break;
37
- default:
38
- columnSizeChange = 0;
39
- break;
40
- }
41
- prevFontSize.current = newFontSize;
42
- if (columnSizeChange === 0) {
43
- return;
44
- }
45
- table.setColumnSizing(sizes => {
46
- const minColumnSize = getFontBasedMinColumnSize(newFontSize);
47
- return Object.fromEntries(Object.entries(sizes).map(([columnName, prevColumnSize]) => {
48
- // Prevents width value in the setting to go below the minColumnSize
49
- const newSize = Math.max(minColumnSize, prevColumnSize + columnSizeChange);
50
- return [columnName, newSize];
51
- }));
52
- });
53
- }, [meta.fontSize.size]);
54
6
  React__default.useEffect(() => {
55
7
  let handler;
56
8
  if (typeof onChangeSettings === 'function') {
@@ -59,7 +11,7 @@ function useSettingsStateListener(table, onChangeSettings) {
59
11
  }, 250);
60
12
  }
61
13
  return () => clearTimeout(handler);
62
- }, [meta.columnFreezing.frozenColumnIndex, state.columnOrder, state.columnSizing, state.columnVisibility, meta.search.excludeUnmatchedResults, meta.fontSize.size, meta.rowHeight.height, meta.printing.printWarningDialogVisibility, state.sorting]);
14
+ }, [meta.columnFreezing.frozenColumnIndex, state.columnOrder, state.columnSizing, state.columnVisibility, meta.search.excludeUnmatchedResults, meta.fontSize.size, meta.rowHeight.height, meta.printing.isWarningVisibleForLargeDatasets, state.sorting]);
63
15
  }
64
16
 
65
17
  export { useSettingsStateListener };
@@ -1 +1 @@
1
- {"version":3,"file":"useSettingsStateListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useSettingsStateListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { Table3SettingsHandler } from '../../types';\nimport { FONT_SIZE } from '../../components/toolbar/FontSize';\nimport { getFontBasedMinColumnSize } from '../../components/columns/styles';\n\nexport function useSettingsStateListener<TType = unknown>(\n table: RTable<TType>,\n onChangeSettings: Table3SettingsHandler | undefined\n) {\n const meta = table.options.meta as TableMeta<TType>;\n const state = table.getState();\n\n const prevFontSize = React.useRef(meta.fontSize.size);\n\n React.useEffect(() => {\n const newFontSize = meta.fontSize.size;\n const oldFontSize = prevFontSize.current;\n const { small, medium, large } = FONT_SIZE;\n let columnSizeChange = 0;\n\n switch (`${oldFontSize}-${newFontSize}`) {\n case `${small}-${medium}`:\n columnSizeChange = 8;\n break;\n case `${small}-${large}`:\n columnSizeChange = 16;\n break;\n case `${medium}-${small}`:\n columnSizeChange = -8;\n break;\n case `${medium}-${large}`:\n columnSizeChange = 8;\n break;\n case `${large}-${small}`:\n columnSizeChange = -16;\n break;\n case `${large}-${medium}`:\n columnSizeChange = -8;\n break;\n default:\n columnSizeChange = 0;\n break;\n }\n\n prevFontSize.current = newFontSize;\n\n if (columnSizeChange === 0) {\n return;\n }\n\n table.setColumnSizing(sizes => {\n const minColumnSize = getFontBasedMinColumnSize(newFontSize);\n\n return Object.fromEntries(\n Object.entries(sizes).map(([columnName, prevColumnSize]) => {\n // Prevents width value in the setting to go below the minColumnSize\n const newSize = Math.max(minColumnSize, prevColumnSize + columnSizeChange);\n\n return [columnName, newSize];\n })\n );\n });\n }, [meta.fontSize.size]);\n\n React.useEffect(() => {\n let handler;\n\n if (typeof onChangeSettings === 'function') {\n handler = setTimeout(() => {\n onChangeSettings(meta.getSettings());\n }, 250);\n }\n\n return () => clearTimeout(handler);\n }, [\n meta.columnFreezing.frozenColumnIndex,\n state.columnOrder,\n state.columnSizing,\n state.columnVisibility,\n meta.search.excludeUnmatchedResults,\n meta.fontSize.size,\n meta.rowHeight.height,\n meta.printing.printWarningDialogVisibility,\n state.sorting,\n ]);\n}\n"],"names":["useSettingsStateListener","table","onChangeSettings","meta","options","state","getState","prevFontSize","React","useRef","fontSize","size","useEffect","newFontSize","oldFontSize","current","small","medium","large","FONT_SIZE","columnSizeChange","setColumnSizing","sizes","minColumnSize","getFontBasedMinColumnSize","Object","fromEntries","entries","map","columnName","prevColumnSize","newSize","Math","max","handler","setTimeout","getSettings","clearTimeout","columnFreezing","frozenColumnIndex","columnOrder","columnSizing","columnVisibility","search","excludeUnmatchedResults","rowHeight","height","printing","printWarningDialogVisibility","sorting"],"mappings":";;;;SAMgBA,wBAAwBA,CACpCC,KAAoB,EACpBC,gBAAmD;EAEnD,MAAMC,IAAI,GAAGF,KAAK,CAACG,OAAO,CAACD,IAAwB;EACnD,MAAME,KAAK,GAAGJ,KAAK,CAACK,QAAQ,EAAE;EAE9B,MAAMC,YAAY,GAAGC,cAAK,CAACC,MAAM,CAACN,IAAI,CAACO,QAAQ,CAACC,IAAI,CAAC;EAErDH,cAAK,CAACI,SAAS,CAAC;IACZ,MAAMC,WAAW,GAAGV,IAAI,CAACO,QAAQ,CAACC,IAAI;IACtC,MAAMG,WAAW,GAAGP,YAAY,CAACQ,OAAO;IACxC,MAAM;MAAEC,KAAK;MAAEC,MAAM;MAAEC;KAAO,GAAGC,SAAS;IAC1C,IAAIC,gBAAgB,GAAG,CAAC;IAExB,WAAWN,eAAeD,aAAa;MACnC,QAAQG,SAASC,QAAQ;QACrBG,gBAAgB,GAAG,CAAC;QACpB;MACJ,QAAQJ,SAASE,OAAO;QACpBE,gBAAgB,GAAG,EAAE;QACrB;MACJ,QAAQH,UAAUD,OAAO;QACrBI,gBAAgB,GAAG,CAAC,CAAC;QACrB;MACJ,QAAQH,UAAUC,OAAO;QACrBE,gBAAgB,GAAG,CAAC;QACpB;MACJ,QAAQF,SAASF,OAAO;QACpBI,gBAAgB,GAAG,CAAC,EAAE;QACtB;MACJ,QAAQF,SAASD,QAAQ;QACrBG,gBAAgB,GAAG,CAAC,CAAC;QACrB;MACJ;QACIA,gBAAgB,GAAG,CAAC;QACpB;;IAGRb,YAAY,CAACQ,OAAO,GAAGF,WAAW;IAElC,IAAIO,gBAAgB,KAAK,CAAC,EAAE;MACxB;;IAGJnB,KAAK,CAACoB,eAAe,CAACC,KAAK;MACvB,MAAMC,aAAa,GAAGC,yBAAyB,CAACX,WAAW,CAAC;MAE5D,OAAOY,MAAM,CAACC,WAAW,CACrBD,MAAM,CAACE,OAAO,CAACL,KAAK,CAAC,CAACM,GAAG,CAAC,CAAC,CAACC,UAAU,EAAEC,cAAc,CAAC;;QAEnD,MAAMC,OAAO,GAAGC,IAAI,CAACC,GAAG,CAACV,aAAa,EAAEO,cAAc,GAAGV,gBAAgB,CAAC;QAE1E,OAAO,CAACS,UAAU,EAAEE,OAAO,CAAC;OAC/B,CAAC,CACL;KACJ,CAAC;GACL,EAAE,CAAC5B,IAAI,CAACO,QAAQ,CAACC,IAAI,CAAC,CAAC;EAExBH,cAAK,CAACI,SAAS,CAAC;IACZ,IAAIsB,OAAO;IAEX,IAAI,OAAOhC,gBAAgB,KAAK,UAAU,EAAE;MACxCgC,OAAO,GAAGC,UAAU,CAAC;QACjBjC,gBAAgB,CAACC,IAAI,CAACiC,WAAW,EAAE,CAAC;OACvC,EAAE,GAAG,CAAC;;IAGX,OAAO,MAAMC,YAAY,CAACH,OAAO,CAAC;GACrC,EAAE,CACC/B,IAAI,CAACmC,cAAc,CAACC,iBAAiB,EACrClC,KAAK,CAACmC,WAAW,EACjBnC,KAAK,CAACoC,YAAY,EAClBpC,KAAK,CAACqC,gBAAgB,EACtBvC,IAAI,CAACwC,MAAM,CAACC,uBAAuB,EACnCzC,IAAI,CAACO,QAAQ,CAACC,IAAI,EAClBR,IAAI,CAAC0C,SAAS,CAACC,MAAM,EACrB3C,IAAI,CAAC4C,QAAQ,CAACC,4BAA4B,EAC1C3C,KAAK,CAAC4C,OAAO,CAChB,CAAC;AACN;;;;"}
1
+ {"version":3,"file":"useSettingsStateListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useSettingsStateListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { Table3SettingsHandler } from '../../types';\n\nexport function useSettingsStateListener<TType = unknown>(\n table: RTable<TType>,\n onChangeSettings: Table3SettingsHandler | undefined\n) {\n const meta = table.options.meta as TableMeta<TType>;\n const state = table.getState();\n\n React.useEffect(() => {\n let handler;\n\n if (typeof onChangeSettings === 'function') {\n handler = setTimeout(() => {\n onChangeSettings(meta.getSettings());\n }, 250);\n }\n\n return () => clearTimeout(handler);\n }, [\n meta.columnFreezing.frozenColumnIndex,\n state.columnOrder,\n state.columnSizing,\n state.columnVisibility,\n meta.search.excludeUnmatchedResults,\n meta.fontSize.size,\n meta.rowHeight.height,\n meta.printing.isWarningVisibleForLargeDatasets,\n state.sorting,\n ]);\n}\n"],"names":["useSettingsStateListener","table","onChangeSettings","meta","options","state","getState","React","useEffect","handler","setTimeout","getSettings","clearTimeout","columnFreezing","frozenColumnIndex","columnOrder","columnSizing","columnVisibility","search","excludeUnmatchedResults","fontSize","size","rowHeight","height","printing","isWarningVisibleForLargeDatasets","sorting"],"mappings":";;SAIgBA,wBAAwBA,CACpCC,KAAoB,EACpBC,gBAAmD;EAEnD,MAAMC,IAAI,GAAGF,KAAK,CAACG,OAAO,CAACD,IAAwB;EACnD,MAAME,KAAK,GAAGJ,KAAK,CAACK,QAAQ,EAAE;EAE9BC,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIC,OAAO;IAEX,IAAI,OAAOP,gBAAgB,KAAK,UAAU,EAAE;MACxCO,OAAO,GAAGC,UAAU,CAAC;QACjBR,gBAAgB,CAACC,IAAI,CAACQ,WAAW,EAAE,CAAC;OACvC,EAAE,GAAG,CAAC;;IAGX,OAAO,MAAMC,YAAY,CAACH,OAAO,CAAC;GACrC,EAAE,CACCN,IAAI,CAACU,cAAc,CAACC,iBAAiB,EACrCT,KAAK,CAACU,WAAW,EACjBV,KAAK,CAACW,YAAY,EAClBX,KAAK,CAACY,gBAAgB,EACtBd,IAAI,CAACe,MAAM,CAACC,uBAAuB,EACnChB,IAAI,CAACiB,QAAQ,CAACC,IAAI,EAClBlB,IAAI,CAACmB,SAAS,CAACC,MAAM,EACrBpB,IAAI,CAACqB,QAAQ,CAACC,gCAAgC,EAC9CpB,KAAK,CAACqB,OAAO,CAChB,CAAC;AACN;;;;"}
@@ -114,7 +114,6 @@ function useConvertChildrenToColumns(props, options, editing) {
114
114
  // compiler cannot get filtering out undefined items, so using the type casting here
115
115
  .filter(child => !!child); // need to remove undefined array items after processing the children
116
116
  }
117
-
118
117
  const columns = processChildren(props.children);
119
118
  if (options.enableRowExpansion && props.expandedRowRenderer) {
120
119
  columns.unshift(columnHelper.display(createRowExpansionColumn(props.expandedRowRenderer)));
@@ -129,7 +128,7 @@ function useConvertChildrenToColumns(props, options, editing) {
129
128
  columns.push(columnHelper.display(createRowActionsColumn()));
130
129
  }
131
130
  if (editing.isEnabled && editing.isEditing) {
132
- columns.push(columnHelper.display(createRowEditingActionsColumn()));
131
+ columns.push(columnHelper.display(createRowEditingActionsColumn(props.rowIdentifier)));
133
132
  }
134
133
  return {
135
134
  columns,
@@ -1 +1 @@
1
- {"version":3,"file":"useConvertChildrenToColumns.js","sources":["../../../../../../../../src/components/Table3/hooks/useConvertChildrenToColumns.tsx"],"sourcesContent":["import React from 'react';\nimport {\n ColumnDef,\n ColumnSizingState,\n createColumnHelper,\n ColumnSort,\n VisibilityState,\n GroupColumnDef,\n} from '@tanstack/react-table';\nimport { Table3ColumnProps, Table3Props, Table3Options, Table3ColumnDataType, Table3SortFn, Table3GroupProps } from '../types';\nimport { Header } from '../components/columns/header/Header';\nimport { Footer } from '../components/columns/footer/Footer';\nimport { Cell } from '../components/columns/cell/Cell';\nimport { createRowSelectionColumn } from '../components/columns/internal/Selection';\nimport { getFontBasedMinColumnSize } from '../components/columns/styles';\nimport { createRowActionsColumn } from '../components/columns/internal/Actions';\nimport { createRowExpansionColumn } from '../components/columns/internal/Expansion';\nimport { createRowDragColumn } from '../components/columns/internal/Drag';\nimport { createRowEditingActionsColumn } from '../components/columns/internal/EditingActions';\nimport { useEditing } from './features/useEditing';\nimport { Group } from '../components/columns/header/Group';\n\nfunction getSortingFn<TType = unknown>(dataType?: Table3ColumnDataType, customFnOrBuiltIn?: Table3SortFn<TType>) {\n if (typeof customFnOrBuiltIn === 'function') {\n return (rowA, rowB, columnId) => customFnOrBuiltIn(rowA.original, rowB.original, columnId);\n }\n\n // if a built in is being used, just return that\n if (customFnOrBuiltIn) {\n return customFnOrBuiltIn;\n }\n\n // some times we alias based on the type\n if (dataType && dataType !== 'boolean' && dataType !== 'number') {\n return dataType;\n }\n\n // otherwise fall back to auto\n return 'auto';\n}\n\nexport function useConvertChildrenToColumns<TType = unknown>(\n props: Table3Props<TType>,\n options: Table3Options,\n editing: ReturnType<typeof useEditing>\n) {\n const minColumnSize = getFontBasedMinColumnSize(props?.defaultSettings?.fontSize);\n // It's important to memoise column definitions, because it prevents columns like \"Drag column\" to re-render on every state change,\n // and break dragging at the moment it happens.\n return React.useMemo(() => {\n const columnHelper = createColumnHelper<TType>();\n\n const defaultColumnSizing: ColumnSizingState = {};\n const defaultColumnVisibility: VisibilityState = {};\n const defaultSorting: ColumnSort[] = [];\n\n function processChild<TType>(child: React.ReactChild | React.ReactFragment | React.ReactPortal) {\n if (\n React.isValidElement<Table3ColumnProps<TType>>(child) &&\n (child as any).type?.displayName === 'Table3Column' &&\n child.props.accessor\n ) {\n if (child.props.defaultWidth) {\n defaultColumnSizing[child.props.accessor as string] =\n child.props.defaultWidth === 'grow' ? '1fr' : (child.props.defaultWidth as any);\n }\n\n if (child.props.defaultHidden && options.enableColumnHiding) {\n defaultColumnVisibility[child.props.accessor as string] = false;\n }\n\n if (child.props.sort !== undefined) {\n defaultSorting.push({\n id: child.props.accessor as string,\n desc: child.props.sort === 'desc',\n });\n }\n\n // return regular column definition\n return {\n accessorKey: child.props.accessor,\n id: child.props.accessor as string,\n header: Header,\n cell: Cell,\n footer: Footer,\n // sizing\n minSize: minColumnSize,\n enableResizing: child.props.enableResizing ?? true,\n // filtering\n enableColumnFilter: child.props.enableFiltering ?? true,\n filterFn: 'tacoFilter' as any,\n // sorting\n enableSorting: child.props.enableSorting ?? true,\n sortingFn: getSortingFn<TType>(child.props.dataType, child.props.sortFn),\n sortDescFirst: false,\n sortUndefined: 1,\n // visibility\n enableHiding: child.props.enableHiding ?? true,\n // custom options\n meta: {\n align: child.props.align,\n className: child.props.className,\n control: child.props.control,\n dataType: child.props.dataType,\n enableOrdering: child.props.enableOrdering ?? true,\n enablePrinting: child.props.enablePrinting ?? true,\n enableSearch: child.props.enableSearch ?? true,\n enableTruncate: child.props.enableTruncate ?? false,\n filters: child.props.filters,\n footer: child.props.footer,\n header: child.props.header,\n headerClassName: child.props.headerClassName,\n menu: child.props.menu,\n renderer: child.props.renderer,\n tooltip: child.props.tooltip,\n },\n };\n } else if (\n React.isValidElement<Table3GroupProps>(child) &&\n (child as any).type?.displayName === 'Table3Group' &&\n child.props.children\n ) {\n // return column group definition\n return columnHelper.group({\n id: child.props.id,\n header: Group,\n columns: processChildren(child.props.children),\n meta: {\n align: 'center',\n enableOrdering: false,\n enableSearch: false,\n enableTruncate: false,\n header: child.props.header,\n },\n });\n }\n return;\n }\n\n function processChildren<TType = unknown>(\n children: (JSX.Element | boolean | null | undefined)[]\n ): Array<ColumnDef<TType> | GroupColumnDef<TType>> {\n return (\n React.Children.toArray(children)\n .map(processChild)\n // compiler cannot get filtering out undefined items, so using the type casting here\n .filter(child => !!child) as Array<ColumnDef<TType> | GroupColumnDef<TType>>\n ); // need to remove undefined array items after processing the children\n }\n\n const columns: ColumnDef<TType>[] = processChildren(props.children);\n\n if (options.enableRowExpansion && props.expandedRowRenderer) {\n columns.unshift(columnHelper.display(createRowExpansionColumn(props.expandedRowRenderer)));\n }\n\n if (options.enableRowSelection) {\n columns.unshift(\n columnHelper.display(\n createRowSelectionColumn<TType>(!!(options.enableRowDrag && props.onRowDrag), !!props.expandedRowRenderer)\n )\n );\n }\n\n if (options.enableRowDrag && props.onRowDrag) {\n columns.unshift(columnHelper.display(createRowDragColumn(props.onRowDrag)));\n }\n\n if (props.actionsForRow?.length) {\n columns.push(columnHelper.display(createRowActionsColumn<TType>()));\n }\n\n if (editing.isEnabled && editing.isEditing) {\n columns.push(columnHelper.display(createRowEditingActionsColumn<TType>()));\n }\n\n return { columns, defaultColumnSizing, defaultColumnVisibility, defaultSorting };\n }, [editing.isEditing]);\n}\n"],"names":["getSortingFn","dataType","customFnOrBuiltIn","rowA","rowB","columnId","original","useConvertChildrenToColumns","props","options","editing","minColumnSize","getFontBasedMinColumnSize","_props$defaultSetting","defaultSettings","fontSize","React","useMemo","columnHelper","createColumnHelper","defaultColumnSizing","defaultColumnVisibility","defaultSorting","processChild","child","isValidElement","_child$type","type","displayName","accessor","_child$props$enableRe","_child$props$enableFi","_child$props$enableSo","_child$props$enableHi","_child$props$enableOr","_child$props$enablePr","_child$props$enableSe","_child$props$enableTr","defaultWidth","defaultHidden","enableColumnHiding","sort","undefined","push","id","desc","accessorKey","header","Header","cell","Cell","footer","Footer","minSize","enableResizing","enableColumnFilter","enableFiltering","filterFn","enableSorting","sortingFn","sortFn","sortDescFirst","sortUndefined","enableHiding","meta","align","className","control","enableOrdering","enablePrinting","enableSearch","enableTruncate","filters","headerClassName","menu","renderer","tooltip","_child$type2","children","group","Group","columns","processChildren","Children","toArray","map","filter","enableRowExpansion","expandedRowRenderer","unshift","display","createRowExpansionColumn","enableRowSelection","createRowSelectionColumn","enableRowDrag","onRowDrag","createRowDragColumn","_props$actionsForRow","actionsForRow","length","createRowActionsColumn","isEnabled","isEditing","createRowEditingActionsColumn"],"mappings":"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"}
1
+ {"version":3,"file":"useConvertChildrenToColumns.js","sources":["../../../../../../../../src/components/Table3/hooks/useConvertChildrenToColumns.tsx"],"sourcesContent":["import React from 'react';\nimport {\n ColumnDef,\n ColumnSizingState,\n createColumnHelper,\n ColumnSort,\n VisibilityState,\n GroupColumnDef,\n} from '@tanstack/react-table';\nimport { Table3ColumnProps, Table3Props, Table3Options, Table3ColumnDataType, Table3SortFn, Table3GroupProps } from '../types';\nimport { Header } from '../components/columns/header/Header';\nimport { Footer } from '../components/columns/footer/Footer';\nimport { Cell } from '../components/columns/cell/Cell';\nimport { createRowSelectionColumn } from '../components/columns/internal/Selection';\nimport { getFontBasedMinColumnSize } from '../components/columns/styles';\nimport { createRowActionsColumn } from '../components/columns/internal/Actions';\nimport { createRowExpansionColumn } from '../components/columns/internal/Expansion';\nimport { createRowDragColumn } from '../components/columns/internal/Drag';\nimport { createRowEditingActionsColumn } from '../components/columns/internal/EditingActions';\nimport { useEditing } from './features/useEditing';\nimport { Group } from '../components/columns/header/Group';\n\nfunction getSortingFn<TType = unknown>(dataType?: Table3ColumnDataType, customFnOrBuiltIn?: Table3SortFn<TType>) {\n if (typeof customFnOrBuiltIn === 'function') {\n return (rowA, rowB, columnId) => customFnOrBuiltIn(rowA.original, rowB.original, columnId);\n }\n\n // if a built in is being used, just return that\n if (customFnOrBuiltIn) {\n return customFnOrBuiltIn;\n }\n\n // some times we alias based on the type\n if (dataType && dataType !== 'boolean' && dataType !== 'number') {\n return dataType;\n }\n\n // otherwise fall back to auto\n return 'auto';\n}\n\nexport function useConvertChildrenToColumns<TType = unknown>(\n props: Table3Props<TType>,\n options: Table3Options,\n editing: ReturnType<typeof useEditing>\n) {\n const minColumnSize = getFontBasedMinColumnSize(props?.defaultSettings?.fontSize);\n // It's important to memoise column definitions, because it prevents columns like \"Drag column\" to re-render on every state change,\n // and break dragging at the moment it happens.\n return React.useMemo(() => {\n const columnHelper = createColumnHelper<TType>();\n\n const defaultColumnSizing: ColumnSizingState = {};\n const defaultColumnVisibility: VisibilityState = {};\n const defaultSorting: ColumnSort[] = [];\n\n function processChild<TType>(child: React.ReactChild | React.ReactFragment | React.ReactPortal) {\n if (\n React.isValidElement<Table3ColumnProps<TType>>(child) &&\n (child as any).type?.displayName === 'Table3Column' &&\n child.props.accessor\n ) {\n if (child.props.defaultWidth) {\n defaultColumnSizing[child.props.accessor as string] =\n child.props.defaultWidth === 'grow' ? '1fr' : (child.props.defaultWidth as any);\n }\n\n if (child.props.defaultHidden && options.enableColumnHiding) {\n defaultColumnVisibility[child.props.accessor as string] = false;\n }\n\n if (child.props.sort !== undefined) {\n defaultSorting.push({\n id: child.props.accessor as string,\n desc: child.props.sort === 'desc',\n });\n }\n\n // return regular column definition\n return {\n accessorKey: child.props.accessor,\n id: child.props.accessor as string,\n header: Header,\n cell: Cell,\n footer: Footer,\n // sizing\n minSize: minColumnSize,\n enableResizing: child.props.enableResizing ?? true,\n // filtering\n enableColumnFilter: child.props.enableFiltering ?? true,\n filterFn: 'tacoFilter' as any,\n // sorting\n enableSorting: child.props.enableSorting ?? true,\n sortingFn: getSortingFn<TType>(child.props.dataType, child.props.sortFn),\n sortDescFirst: false,\n sortUndefined: 1,\n // visibility\n enableHiding: child.props.enableHiding ?? true,\n // custom options\n meta: {\n align: child.props.align,\n className: child.props.className,\n control: child.props.control,\n dataType: child.props.dataType,\n enableOrdering: child.props.enableOrdering ?? true,\n enablePrinting: child.props.enablePrinting ?? true,\n enableSearch: child.props.enableSearch ?? true,\n enableTruncate: child.props.enableTruncate ?? false,\n filters: child.props.filters,\n footer: child.props.footer,\n header: child.props.header,\n headerClassName: child.props.headerClassName,\n menu: child.props.menu,\n renderer: child.props.renderer,\n tooltip: child.props.tooltip,\n },\n };\n } else if (\n React.isValidElement<Table3GroupProps>(child) &&\n (child as any).type?.displayName === 'Table3Group' &&\n child.props.children\n ) {\n // return column group definition\n return columnHelper.group({\n id: child.props.id,\n header: Group,\n columns: processChildren(child.props.children),\n meta: {\n align: 'center',\n enableOrdering: false,\n enableSearch: false,\n enableTruncate: false,\n header: child.props.header,\n },\n });\n }\n return;\n }\n\n function processChildren<TType = unknown>(\n children: (JSX.Element | boolean | null | undefined)[]\n ): Array<ColumnDef<TType> | GroupColumnDef<TType>> {\n return (\n React.Children.toArray(children)\n .map(processChild)\n // compiler cannot get filtering out undefined items, so using the type casting here\n .filter(child => !!child) as Array<ColumnDef<TType> | GroupColumnDef<TType>>\n ); // need to remove undefined array items after processing the children\n }\n\n const columns: ColumnDef<TType>[] = processChildren(props.children);\n\n if (options.enableRowExpansion && props.expandedRowRenderer) {\n columns.unshift(columnHelper.display(createRowExpansionColumn(props.expandedRowRenderer)));\n }\n\n if (options.enableRowSelection) {\n columns.unshift(\n columnHelper.display(\n createRowSelectionColumn<TType>(!!(options.enableRowDrag && props.onRowDrag), !!props.expandedRowRenderer)\n )\n );\n }\n\n if (options.enableRowDrag && props.onRowDrag) {\n columns.unshift(columnHelper.display(createRowDragColumn(props.onRowDrag)));\n }\n\n if (props.actionsForRow?.length) {\n columns.push(columnHelper.display(createRowActionsColumn<TType>()));\n }\n\n if (editing.isEnabled && editing.isEditing) {\n columns.push(columnHelper.display(createRowEditingActionsColumn<TType>(props.rowIdentifier)));\n }\n\n return { columns, defaultColumnSizing, defaultColumnVisibility, defaultSorting };\n }, [editing.isEditing]);\n}\n"],"names":["getSortingFn","dataType","customFnOrBuiltIn","rowA","rowB","columnId","original","useConvertChildrenToColumns","props","options","editing","minColumnSize","getFontBasedMinColumnSize","_props$defaultSetting","defaultSettings","fontSize","React","useMemo","columnHelper","createColumnHelper","defaultColumnSizing","defaultColumnVisibility","defaultSorting","processChild","child","isValidElement","_child$type","type","displayName","accessor","_child$props$enableRe","_child$props$enableFi","_child$props$enableSo","_child$props$enableHi","_child$props$enableOr","_child$props$enablePr","_child$props$enableSe","_child$props$enableTr","defaultWidth","defaultHidden","enableColumnHiding","sort","undefined","push","id","desc","accessorKey","header","Header","cell","Cell","footer","Footer","minSize","enableResizing","enableColumnFilter","enableFiltering","filterFn","enableSorting","sortingFn","sortFn","sortDescFirst","sortUndefined","enableHiding","meta","align","className","control","enableOrdering","enablePrinting","enableSearch","enableTruncate","filters","headerClassName","menu","renderer","tooltip","_child$type2","children","group","Group","columns","processChildren","Children","toArray","map","filter","enableRowExpansion","expandedRowRenderer","unshift","display","createRowExpansionColumn","enableRowSelection","createRowSelectionColumn","enableRowDrag","onRowDrag","createRowDragColumn","_props$actionsForRow","actionsForRow","length","createRowActionsColumn","isEnabled","isEditing","createRowEditingActionsColumn","rowIdentifier"],"mappings":"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"}
@@ -14,7 +14,6 @@ const getCellHeightPadding = (height, fontSize) => {
14
14
  // py-1.5
15
15
  }
16
16
  }
17
-
18
17
  case 'tall':
19
18
  {
20
19
  switch (fontSize) {
@@ -61,7 +60,6 @@ const getCellWidthPadding = fontSize => {
61
60
  // py-1.5
62
61
  }
63
62
  };
64
-
65
63
  const useCssVars = (height, fontSize) => {
66
64
  const style = {
67
65
  '--table3-cell-padding-x': getCellWidthPadding(fontSize),
@@ -1 +1 @@
1
- {"version":3,"file":"useCssVars.js","sources":["../../../../../../../../src/components/Table3/hooks/useCssVars.ts"],"sourcesContent":["import { FONT_SIZE } from '../components/toolbar/FontSize';\nimport { Table3FontSize, Table3RowHeight } from '../types';\n\n// we cannot just use a fixed height because our rows need to grow in height (images, edit mode validation etc)\nconst getCellHeightPadding = (height: Table3RowHeight, fontSize: Table3FontSize) => {\n // TODO: can we get the rem values from tailwind\n switch (height) {\n case 'short': {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '8px';\n\n default:\n return '6px'; // py-1.5\n }\n }\n\n case 'tall': {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '16px';\n\n case FONT_SIZE.large:\n return '12px';\n\n default:\n return '14px';\n }\n }\n\n case 'extra-tall': {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '22px';\n\n case FONT_SIZE.large:\n return '18px';\n\n default:\n return '20px';\n }\n }\n\n default: {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '12px';\n\n case FONT_SIZE.large:\n return '8px';\n\n default:\n return '10px';\n }\n }\n }\n};\n\nconst getCellWidthPadding = (fontSize: Table3FontSize) => {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '8px';\n\n case FONT_SIZE.medium:\n return '12px';\n\n default:\n return '16px'; // py-1.5\n }\n};\n\nexport const useCssVars = (height: Table3RowHeight, fontSize: Table3FontSize) => {\n const style = {\n '--table3-cell-padding-x': getCellWidthPadding(fontSize),\n '--table3-cell-padding-y': getCellHeightPadding(height, fontSize),\n };\n\n return { style };\n};\n"],"names":["getCellHeightPadding","height","fontSize","FONT_SIZE","small","large","getCellWidthPadding","medium","useCssVars","style"],"mappings":";;AAGA;AACA,MAAMA,oBAAoB,GAAGA,CAACC,MAAuB,EAAEC,QAAwB;;EAE3E,QAAQD,MAAM;IACV,KAAK,OAAO;MAAE;QACV,QAAQC,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,KAAK;UAEhB;YACI,OAAO,KAAK;;;;;IAIxB,KAAK,MAAM;MAAE;QACT,QAAQF,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,MAAM;UAEjB,KAAKD,SAAS,CAACE,KAAK;YAChB,OAAO,MAAM;UAEjB;YACI,OAAO,MAAM;;;IAIzB,KAAK,YAAY;MAAE;QACf,QAAQH,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,MAAM;UAEjB,KAAKD,SAAS,CAACE,KAAK;YAChB,OAAO,MAAM;UAEjB;YACI,OAAO,MAAM;;;IAIzB;MAAS;QACL,QAAQH,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,MAAM;UAEjB,KAAKD,SAAS,CAACE,KAAK;YAChB,OAAO,KAAK;UAEhB;YACI,OAAO,MAAM;;;;AAIjC,CAAC;AAED,MAAMC,mBAAmB,GAAIJ,QAAwB;EACjD,QAAQA,QAAQ;IACZ,KAAKC,SAAS,CAACC,KAAK;MAChB,OAAO,KAAK;IAEhB,KAAKD,SAAS,CAACI,MAAM;MACjB,OAAO,MAAM;IAEjB;MACI,OAAO,MAAM;;;AAEzB,CAAC;;MAEYC,UAAU,GAAGA,CAACP,MAAuB,EAAEC,QAAwB;EACxE,MAAMO,KAAK,GAAG;IACV,yBAAyB,EAAEH,mBAAmB,CAACJ,QAAQ,CAAC;IACxD,yBAAyB,EAAEF,oBAAoB,CAACC,MAAM,EAAEC,QAAQ;GACnE;EAED,OAAO;IAAEO;GAAO;AACpB;;;;"}
1
+ {"version":3,"file":"useCssVars.js","sources":["../../../../../../../../src/components/Table3/hooks/useCssVars.ts"],"sourcesContent":["import { FONT_SIZE } from '../components/toolbar/FontSize';\nimport { Table3FontSize, Table3RowHeight } from '../types';\n\n// we cannot just use a fixed height because our rows need to grow in height (images, edit mode validation etc)\nconst getCellHeightPadding = (height: Table3RowHeight, fontSize: Table3FontSize) => {\n // TODO: can we get the rem values from tailwind\n switch (height) {\n case 'short': {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '8px';\n\n default:\n return '6px'; // py-1.5\n }\n }\n\n case 'tall': {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '16px';\n\n case FONT_SIZE.large:\n return '12px';\n\n default:\n return '14px';\n }\n }\n\n case 'extra-tall': {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '22px';\n\n case FONT_SIZE.large:\n return '18px';\n\n default:\n return '20px';\n }\n }\n\n default: {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '12px';\n\n case FONT_SIZE.large:\n return '8px';\n\n default:\n return '10px';\n }\n }\n }\n};\n\nconst getCellWidthPadding = (fontSize: Table3FontSize) => {\n switch (fontSize) {\n case FONT_SIZE.small:\n return '8px';\n\n case FONT_SIZE.medium:\n return '12px';\n\n default:\n return '16px'; // py-1.5\n }\n};\n\nexport const useCssVars = (height: Table3RowHeight, fontSize: Table3FontSize) => {\n const style = {\n '--table3-cell-padding-x': getCellWidthPadding(fontSize),\n '--table3-cell-padding-y': getCellHeightPadding(height, fontSize),\n };\n\n return { style };\n};\n"],"names":["getCellHeightPadding","height","fontSize","FONT_SIZE","small","large","getCellWidthPadding","medium","useCssVars","style"],"mappings":";;AAGA;AACA,MAAMA,oBAAoB,GAAGA,CAACC,MAAuB,EAAEC,QAAwB;;EAE3E,QAAQD,MAAM;IACV,KAAK,OAAO;MAAE;QACV,QAAQC,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,KAAK;UAEhB;YACI,OAAO,KAAK;;;;IAIxB,KAAK,MAAM;MAAE;QACT,QAAQF,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,MAAM;UAEjB,KAAKD,SAAS,CAACE,KAAK;YAChB,OAAO,MAAM;UAEjB;YACI,OAAO,MAAM;;;IAIzB,KAAK,YAAY;MAAE;QACf,QAAQH,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,MAAM;UAEjB,KAAKD,SAAS,CAACE,KAAK;YAChB,OAAO,MAAM;UAEjB;YACI,OAAO,MAAM;;;IAIzB;MAAS;QACL,QAAQH,QAAQ;UACZ,KAAKC,SAAS,CAACC,KAAK;YAChB,OAAO,MAAM;UAEjB,KAAKD,SAAS,CAACE,KAAK;YAChB,OAAO,KAAK;UAEhB;YACI,OAAO,MAAM;;;;AAIjC,CAAC;AAED,MAAMC,mBAAmB,GAAIJ,QAAwB;EACjD,QAAQA,QAAQ;IACZ,KAAKC,SAAS,CAACC,KAAK;MAChB,OAAO,KAAK;IAEhB,KAAKD,SAAS,CAACI,MAAM;MACjB,OAAO,MAAM;IAEjB;MACI,OAAO,MAAM;;;AAEzB,CAAC;MAEYC,UAAU,GAAGA,CAACP,MAAuB,EAAEC,QAAwB;EACxE,MAAMO,KAAK,GAAG;IACV,yBAAyB,EAAEH,mBAAmB,CAACJ,QAAQ,CAAC;IACxD,yBAAyB,EAAEF,oBAAoB,CAACC,MAAM,EAAEC,QAAQ;GACnE;EAED,OAAO;IAAEO;GAAO;AACpB;;;;"}