@economic/taco 1.41.0 → 2.0.0-alpha.173

Sign up to get free protection for your applications and to get access to all the features.
Files changed (418) 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/Input/Input.d.ts +1 -1
  4. package/dist/components/Menu/Menu.d.ts +2 -0
  5. package/dist/components/Menu/components/Item.d.ts +6 -1
  6. package/dist/components/Menu/components/Link.d.ts +1 -1
  7. package/dist/components/Menu/components/SubMenu.d.ts +8 -0
  8. package/dist/components/Navigation2/components/Link.d.ts +1 -1
  9. package/dist/components/Popover/Popover.d.ts +3 -0
  10. package/dist/components/Provider/Localization.d.ts +55 -20
  11. package/dist/components/SearchInput/SearchInput.d.ts +2 -0
  12. package/dist/components/SearchInput2/SearchInput2.d.ts +23 -0
  13. package/dist/components/Select2/components/Option.d.ts +1 -1
  14. package/dist/components/Select2/components/Search.d.ts +1 -1
  15. package/dist/components/Table3/Table3.d.ts +11 -0
  16. package/dist/components/Table3/components/columns/cell/Cell.d.ts +6 -0
  17. package/dist/components/Table3/components/columns/cell/DisplayCell.d.ts +22 -0
  18. package/dist/components/Table3/components/columns/cell/EditingCell.d.ts +7 -0
  19. package/dist/components/Table3/components/columns/footer/Footer.d.ts +14 -0
  20. package/dist/components/Table3/components/columns/footer/Summary.d.ts +7 -0
  21. package/dist/components/Table3/components/columns/header/Goto.d.ts +6 -0
  22. package/dist/components/Table3/components/columns/header/Header.d.ts +27 -0
  23. package/dist/components/Table3/components/columns/header/Menu.d.ts +16 -0
  24. package/dist/components/Table3/components/columns/header/Resizer.d.ts +7 -0
  25. package/dist/components/Table3/components/columns/header/SortIndicator.d.ts +12 -0
  26. package/dist/components/Table3/components/columns/internal/Actions.d.ts +4 -0
  27. package/dist/components/Table3/components/columns/internal/Drag.d.ts +4 -0
  28. package/dist/components/Table3/components/columns/internal/EditingActions.d.ts +8 -0
  29. package/dist/components/Table3/components/columns/internal/Expansion.d.ts +4 -0
  30. package/dist/components/Table3/components/columns/internal/Selection.d.ts +4 -0
  31. package/dist/components/Table3/components/columns/styles.d.ts +4 -0
  32. package/dist/components/Table3/components/rows/ExpandedRow.d.ts +8 -0
  33. package/dist/components/Table3/components/rows/Row.d.ts +21 -0
  34. package/dist/components/Table3/components/rows/RowContext.d.ts +9 -0
  35. package/dist/components/Table3/components/rows/SkeletonRow.d.ts +10 -0
  36. package/dist/components/Table3/components/rows/styles.d.ts +6 -0
  37. package/dist/components/{Table2/components/ColumnSettingsButton.d.ts → Table3/components/toolbar/ColumnSettings.d.ts} +1 -1
  38. package/dist/components/Table3/components/toolbar/EditButton.d.ts +7 -0
  39. package/dist/components/Table3/components/toolbar/Filter/filters/Filters.d.ts +7 -0
  40. package/dist/components/Table3/components/toolbar/Filter/filters/components/Comparator.d.ts +11 -0
  41. package/dist/components/Table3/components/toolbar/Filter/filters/components/Filter.d.ts +13 -0
  42. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.d.ts +8 -0
  43. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.d.ts +7 -0
  44. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterValue.d.ts +10 -0
  45. package/dist/components/Table3/components/toolbar/Filter/filters/components/Placeholder.d.ts +11 -0
  46. package/dist/components/Table3/components/toolbar/FontSize.d.ts +7 -0
  47. package/dist/components/Table3/components/toolbar/PrintButton/PrintButton.d.ts +8 -0
  48. package/dist/components/Table3/components/toolbar/PrintButton/PrintIFrame.d.ts +8 -0
  49. package/dist/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.d.ts +1 -0
  50. package/dist/components/Table3/components/toolbar/RowHeight.d.ts +7 -0
  51. package/dist/components/Table3/components/toolbar/Search.d.ts +8 -0
  52. package/dist/components/Table3/components/toolbar/Toolbar.d.ts +12 -0
  53. package/dist/components/Table3/hooks/features/useColumnFreezing.d.ts +12 -0
  54. package/dist/components/Table3/hooks/features/useColumnOrdering.d.ts +6 -0
  55. package/dist/components/Table3/hooks/features/useCurrentRow.d.ts +9 -0
  56. package/dist/components/Table3/hooks/features/useEditing.d.ts +31 -0
  57. package/dist/components/Table3/hooks/features/useFontSize.d.ts +7 -0
  58. package/dist/components/Table3/hooks/features/usePauseHoverState.d.ts +6 -0
  59. package/dist/components/Table3/hooks/features/usePrinting.d.ts +5 -0
  60. package/dist/components/Table3/hooks/features/useRowClick.d.ts +7 -0
  61. package/dist/components/Table3/hooks/features/useRowDrag.d.ts +6 -0
  62. package/dist/components/Table3/hooks/features/useRowDrop.d.ts +5 -0
  63. package/dist/components/Table3/hooks/features/useRowGoto.d.ts +5 -0
  64. package/dist/components/Table3/hooks/features/useRowHeight.d.ts +7 -0
  65. package/dist/components/Table3/hooks/features/useRowSelection.d.ts +6 -0
  66. package/dist/components/Table3/hooks/features/useSearch.d.ts +16 -0
  67. package/dist/components/Table3/hooks/listeners/useCurrentRowListener.d.ts +2 -0
  68. package/dist/components/Table3/hooks/listeners/useEditingStateListener.d.ts +2 -0
  69. package/dist/components/Table3/hooks/listeners/useFilteringStateListener.d.ts +3 -0
  70. package/dist/components/Table3/hooks/listeners/useRowSelectionListener.d.ts +3 -0
  71. package/dist/components/Table3/hooks/listeners/useSearchStateListener.d.ts +3 -0
  72. package/dist/components/Table3/hooks/listeners/useServerLoadingListener.d.ts +3 -0
  73. package/dist/components/Table3/hooks/listeners/useSettingsStateListener.d.ts +3 -0
  74. package/dist/components/Table3/hooks/listeners/useShortcutsListener.d.ts +3 -0
  75. package/dist/components/Table3/hooks/listeners/useSortingStateListener.d.ts +3 -0
  76. package/dist/components/Table3/hooks/useConvertChildrenToColumns.d.ts +9 -0
  77. package/dist/components/Table3/hooks/useCssGrid.d.ts +5 -0
  78. package/dist/components/Table3/hooks/useCssVars.d.ts +6 -0
  79. package/dist/components/Table3/hooks/useTable.d.ts +63 -0
  80. package/dist/components/Table3/hooks/useTableData.d.ts +23 -0
  81. package/dist/components/Table3/hooks/useTablePreset.d.ts +2 -0
  82. package/dist/components/Table3/hooks/useTableRefInstanceSetup.d.ts +4 -0
  83. package/dist/components/Table3/strategies/index.d.ts +4 -0
  84. package/dist/components/Table3/strategies/virtualised.d.ts +4 -0
  85. package/dist/components/Table3/types.d.ts +311 -0
  86. package/dist/components/Table3/util/columns.d.ts +7 -0
  87. package/dist/components/{Table2/components/column/utils.d.ts → Table3/util/editing.d.ts} +2 -1
  88. package/dist/components/Table3/util/filtering.d.ts +3 -0
  89. package/dist/components/Tag/Tag.d.ts +1 -1
  90. package/dist/esm/index.css +130 -2
  91. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js +2 -2
  92. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js.map +1 -1
  93. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +2 -1
  94. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
  95. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +4 -1
  96. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
  97. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +1 -1
  98. package/dist/esm/packages/taco/src/components/Icon/components/FontSize.js +19 -0
  99. package/dist/esm/packages/taco/src/components/Icon/components/FontSize.js.map +1 -0
  100. package/dist/esm/packages/taco/src/components/Icon/components/{DensitySpacious.js → HeightExtraTall.js} +4 -4
  101. package/dist/esm/packages/taco/src/components/Icon/components/{DensitySpacious.js.map → HeightExtraTall.js.map} +1 -1
  102. package/dist/esm/packages/taco/src/components/Icon/components/{DensityNormal.js → HeightMedium.js} +4 -4
  103. package/dist/esm/packages/taco/src/components/Icon/components/HeightMedium.js.map +1 -0
  104. package/dist/esm/packages/taco/src/components/Icon/components/{DensityCompact.js → HeightShort.js} +4 -4
  105. package/dist/esm/packages/taco/src/components/Icon/components/HeightShort.js.map +1 -0
  106. package/dist/esm/packages/taco/src/components/Icon/components/{DensityComfortable.js → HeightTall.js} +4 -4
  107. package/dist/esm/packages/taco/src/components/Icon/components/HeightTall.js.map +1 -0
  108. package/dist/esm/packages/taco/src/components/Icon/components/index.js +10 -8
  109. package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
  110. package/dist/esm/packages/taco/src/components/Menu/Menu.js +2 -0
  111. package/dist/esm/packages/taco/src/components/Menu/Menu.js.map +1 -1
  112. package/dist/esm/packages/taco/src/components/Menu/components/Item.js +20 -2
  113. package/dist/esm/packages/taco/src/components/Menu/components/Item.js.map +1 -1
  114. package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js +22 -0
  115. package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js.map +1 -0
  116. package/dist/esm/packages/taco/src/components/Popover/Popover.js +11 -3
  117. package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
  118. package/dist/esm/packages/taco/src/components/Provider/Localization.js +56 -21
  119. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  120. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
  121. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +196 -0
  122. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -0
  123. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
  124. package/dist/esm/packages/taco/src/components/Switch/Switch.js +3 -1
  125. package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
  126. package/dist/esm/packages/taco/src/components/Table3/Table3.js +145 -0
  127. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -0
  128. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js +27 -0
  129. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js.map +1 -0
  130. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js +128 -0
  131. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +1 -0
  132. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +283 -0
  133. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -0
  134. package/dist/esm/packages/taco/src/components/{Table2/components/column → Table3/components/columns/cell}/Indicator.js +14 -13
  135. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Indicator.js.map +1 -0
  136. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js +50 -0
  137. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js.map +1 -0
  138. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js +30 -0
  139. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js.map +1 -0
  140. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js +27 -0
  141. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js.map +1 -0
  142. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +134 -0
  143. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -0
  144. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js +156 -0
  145. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js.map +1 -0
  146. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js +42 -0
  147. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js.map +1 -0
  148. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js +38 -0
  149. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js.map +1 -0
  150. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +108 -0
  151. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -0
  152. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js +86 -0
  153. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js.map +1 -0
  154. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js +124 -0
  155. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js.map +1 -0
  156. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js +103 -0
  157. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js.map +1 -0
  158. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +121 -0
  159. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +1 -0
  160. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js +17 -0
  161. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -0
  162. package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js +27 -0
  163. package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js.map +1 -0
  164. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js +255 -0
  165. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js.map +1 -0
  166. package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js +13 -0
  167. package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js.map +1 -0
  168. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js +43 -0
  169. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js.map +1 -0
  170. package/dist/esm/packages/taco/src/components/Table3/components/rows/styles.js +9 -0
  171. package/dist/esm/packages/taco/src/components/Table3/components/rows/styles.js.map +1 -0
  172. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +105 -0
  173. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -0
  174. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js +45 -0
  175. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js.map +1 -0
  176. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +148 -0
  177. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -0
  178. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js +107 -0
  179. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js.map +1 -0
  180. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js +28 -0
  181. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +1 -0
  182. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js +60 -0
  183. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js.map +1 -0
  184. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js +89 -0
  185. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js.map +1 -0
  186. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js +45 -0
  187. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js.map +1 -0
  188. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js +25 -0
  189. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js.map +1 -0
  190. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +99 -0
  191. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -0
  192. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +223 -0
  193. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -0
  194. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js +88 -0
  195. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js.map +1 -0
  196. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js +26 -0
  197. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js.map +1 -0
  198. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +137 -0
  199. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -0
  200. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js +85 -0
  201. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js.map +1 -0
  202. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js +87 -0
  203. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js.map +1 -0
  204. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js +45 -0
  205. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js.map +1 -0
  206. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js +52 -0
  207. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js.map +1 -0
  208. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js +197 -0
  209. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js.map +1 -0
  210. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js +13 -0
  211. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js.map +1 -0
  212. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js +19 -0
  213. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js.map +1 -0
  214. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js +9 -0
  215. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js.map +1 -0
  216. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js +25 -0
  217. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js.map +1 -0
  218. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js +13 -0
  219. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js.map +1 -0
  220. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js +9 -0
  221. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js.map +1 -0
  222. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js +9 -0
  223. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js.map +1 -0
  224. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js +27 -0
  225. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js.map +1 -0
  226. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js +29 -0
  227. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js.map +1 -0
  228. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js +27 -0
  229. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js.map +1 -0
  230. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js +14 -0
  231. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js.map +1 -0
  232. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js +24 -0
  233. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js.map +1 -0
  234. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js +19 -0
  235. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js.map +1 -0
  236. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js +19 -0
  237. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js.map +1 -0
  238. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js +51 -0
  239. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js.map +1 -0
  240. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js +16 -0
  241. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js.map +1 -0
  242. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +26 -0
  243. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -0
  244. package/dist/esm/packages/taco/src/components/{Table2/hooks/useTableShortcuts.js → Table3/hooks/listeners/useShortcutsListener.js} +9 -6
  245. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js.map +1 -0
  246. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js +17 -0
  247. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js.map +1 -0
  248. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +116 -0
  249. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -0
  250. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js +56 -0
  251. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js.map +1 -0
  252. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js +61 -0
  253. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js.map +1 -0
  254. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +154 -0
  255. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -0
  256. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableData.js +128 -0
  257. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableData.js.map +1 -0
  258. package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js +98 -0
  259. package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js.map +1 -0
  260. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js +19 -0
  261. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js.map +1 -0
  262. package/dist/esm/packages/taco/src/components/Table3/strategies/index.js +8 -0
  263. package/dist/esm/packages/taco/src/components/Table3/strategies/index.js.map +1 -0
  264. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js +113 -0
  265. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js.map +1 -0
  266. package/dist/esm/packages/taco/src/components/Table3/types.js +18 -0
  267. package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -0
  268. package/dist/esm/packages/taco/src/components/Table3/util/columns.js +39 -0
  269. package/dist/esm/packages/taco/src/components/Table3/util/columns.js.map +1 -0
  270. package/dist/esm/packages/taco/src/components/{Table2/components/column/utils.js → Table3/util/editing.js} +7 -5
  271. package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -0
  272. package/dist/esm/packages/taco/src/components/{Table2/utilities/filterFn.js → Table3/util/filtering.js} +19 -17
  273. package/dist/esm/packages/taco/src/components/Table3/util/filtering.js.map +1 -0
  274. package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js +10 -5
  275. package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js.map +1 -1
  276. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js +16 -0
  277. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js.map +1 -0
  278. package/dist/esm/packages/taco/src/index.js +6 -3
  279. package/dist/esm/packages/taco/src/index.js.map +1 -1
  280. package/dist/esm/packages/taco/src/primitives/Button.js +6 -17
  281. package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
  282. package/dist/esm/packages/taco/src/utils/dom.js +1 -2
  283. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  284. package/dist/esm/packages/taco/src/utils/input.js +14 -1
  285. package/dist/esm/packages/taco/src/utils/input.js.map +1 -1
  286. package/dist/hooks/useGlobalKeyDown.d.ts +1 -1
  287. package/dist/hooks/useLazyEffect.d.ts +2 -0
  288. package/dist/index.css +130 -2
  289. package/dist/index.d.ts +3 -1
  290. package/dist/taco.cjs.development.js +4628 -3358
  291. package/dist/taco.cjs.development.js.map +1 -1
  292. package/dist/taco.cjs.production.min.js +1 -1
  293. package/dist/taco.cjs.production.min.js.map +1 -1
  294. package/dist/utils/input.d.ts +1 -0
  295. package/package.json +2 -2
  296. package/types.json +1866 -1412
  297. package/dist/components/Table2/Table2.d.ts +0 -130
  298. package/dist/components/Table2/components/BatchActionsMenu.d.ts +0 -10
  299. package/dist/components/Table2/components/EditModeButton.d.ts +0 -8
  300. package/dist/components/Table2/components/RowDensityButton.d.ts +0 -7
  301. package/dist/components/Table2/components/Search.d.ts +0 -3
  302. package/dist/components/Table2/components/ShortcutsGuideButton.d.ts +0 -7
  303. package/dist/components/Table2/components/column/Base.d.ts +0 -14
  304. package/dist/components/Table2/components/column/Cell.d.ts +0 -15
  305. package/dist/components/Table2/components/column/Footer.d.ts +0 -9
  306. package/dist/components/Table2/components/column/Header.d.ts +0 -11
  307. package/dist/components/Table2/components/column/ValidationError.d.ts +0 -5
  308. package/dist/components/Table2/components/filters/FiltersButton.d.ts +0 -7
  309. package/dist/components/Table2/components/filters/components/Column.d.ts +0 -11
  310. package/dist/components/Table2/components/filters/components/ColumnFilter.d.ts +0 -10
  311. package/dist/components/Table2/components/filters/components/Comparator.d.ts +0 -11
  312. package/dist/components/Table2/components/filters/components/EmptyFilter.d.ts +0 -13
  313. package/dist/components/Table2/components/filters/components/InferredControl.d.ts +0 -10
  314. package/dist/components/Table2/components/row/Context.d.ts +0 -24
  315. package/dist/components/Table2/components/row/ExpandedRow.d.ts +0 -6
  316. package/dist/components/Table2/components/row/Row.d.ts +0 -2
  317. package/dist/components/Table2/hooks/listeners/useActiveCellStateListener.d.ts +0 -3
  318. package/dist/components/Table2/hooks/listeners/useActiveRowStateListener.d.ts +0 -3
  319. package/dist/components/Table2/hooks/listeners/useColumnOffsetStateListener.d.ts +0 -3
  320. package/dist/components/Table2/hooks/listeners/useFilterStateListener.d.ts +0 -3
  321. package/dist/components/Table2/hooks/listeners/useRowSelectionListener.d.ts +0 -3
  322. package/dist/components/Table2/hooks/listeners/useSettingsStateListener.d.ts +0 -3
  323. package/dist/components/Table2/hooks/useActiveCell.d.ts +0 -26
  324. package/dist/components/Table2/hooks/useActiveRow.d.ts +0 -10
  325. package/dist/components/Table2/hooks/useColumnDefinitions.d.ts +0 -37
  326. package/dist/components/Table2/hooks/useEditMode.d.ts +0 -28
  327. package/dist/components/Table2/hooks/useGridTemplate.d.ts +0 -2
  328. package/dist/components/Table2/hooks/useTable.d.ts +0 -46
  329. package/dist/components/Table2/hooks/useTableShortcuts.d.ts +0 -2
  330. package/dist/components/Table2/hooks/useVirtualiser.d.ts +0 -23
  331. package/dist/components/Table2/types.d.ts +0 -148
  332. package/dist/components/Table2/utilities/cell.d.ts +0 -14
  333. package/dist/components/Table2/utilities/columns.d.ts +0 -16
  334. package/dist/components/Table2/utilities/filterFn.d.ts +0 -3
  335. package/dist/esm/packages/taco/src/components/Icon/components/DensityComfortable.js.map +0 -1
  336. package/dist/esm/packages/taco/src/components/Icon/components/DensityCompact.js.map +0 -1
  337. package/dist/esm/packages/taco/src/components/Icon/components/DensityNormal.js.map +0 -1
  338. package/dist/esm/packages/taco/src/components/Table2/Table2.js +0 -422
  339. package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +0 -1
  340. package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js +0 -83
  341. package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js.map +0 -1
  342. package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js +0 -116
  343. package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js.map +0 -1
  344. package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js +0 -81
  345. package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js.map +0 -1
  346. package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js +0 -35
  347. package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js.map +0 -1
  348. package/dist/esm/packages/taco/src/components/Table2/components/Search.js +0 -62
  349. package/dist/esm/packages/taco/src/components/Table2/components/Search.js.map +0 -1
  350. package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js +0 -32
  351. package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js.map +0 -1
  352. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +0 -600
  353. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +0 -1
  354. package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js +0 -32
  355. package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js.map +0 -1
  356. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js +0 -243
  357. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js.map +0 -1
  358. package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js.map +0 -1
  359. package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js +0 -30
  360. package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js.map +0 -1
  361. package/dist/esm/packages/taco/src/components/Table2/components/column/utils.js.map +0 -1
  362. package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +0 -155
  363. package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js.map +0 -1
  364. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js +0 -31
  365. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js.map +0 -1
  366. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js +0 -129
  367. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js.map +0 -1
  368. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js +0 -68
  369. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js.map +0 -1
  370. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js +0 -63
  371. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js.map +0 -1
  372. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js +0 -99
  373. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js.map +0 -1
  374. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js +0 -58
  375. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js.map +0 -1
  376. package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js +0 -36
  377. package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js.map +0 -1
  378. package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js +0 -43
  379. package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js.map +0 -1
  380. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js +0 -19
  381. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js.map +0 -1
  382. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js +0 -28
  383. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js.map +0 -1
  384. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useFilterStateListener.js +0 -12
  385. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useFilterStateListener.js.map +0 -1
  386. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js +0 -18
  387. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js.map +0 -1
  388. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js +0 -25
  389. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js.map +0 -1
  390. package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js +0 -33
  391. package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js.map +0 -1
  392. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +0 -122
  393. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +0 -1
  394. package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js +0 -112
  395. package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js.map +0 -1
  396. package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js +0 -34
  397. package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js.map +0 -1
  398. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js +0 -222
  399. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +0 -1
  400. package/dist/esm/packages/taco/src/components/Table2/hooks/useTableShortcuts.js.map +0 -1
  401. package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js +0 -48
  402. package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js.map +0 -1
  403. package/dist/esm/packages/taco/src/components/Table2/types.js +0 -18
  404. package/dist/esm/packages/taco/src/components/Table2/types.js.map +0 -1
  405. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js +0 -41
  406. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js.map +0 -1
  407. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +0 -387
  408. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +0 -1
  409. package/dist/esm/packages/taco/src/components/Table2/utilities/filterFn.js.map +0 -1
  410. package/dist/esm/packages/taco/src/components/Truncate/Truncate.js +0 -32
  411. package/dist/esm/packages/taco/src/components/Truncate/Truncate.js.map +0 -1
  412. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js +0 -20
  413. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js.map +0 -1
  414. /package/dist/components/Icon/components/{DensityComfortable.d.ts → FontSize.d.ts} +0 -0
  415. /package/dist/components/Icon/components/{DensityCompact.d.ts → HeightExtraTall.d.ts} +0 -0
  416. /package/dist/components/Icon/components/{DensityNormal.d.ts → HeightMedium.d.ts} +0 -0
  417. /package/dist/components/Icon/components/{DensitySpacious.d.ts → HeightShort.d.ts} +0 -0
  418. /package/dist/components/{Table2/components/column → Table3/components/columns/cell}/Indicator.d.ts +0 -0
@@ -1,600 +0,0 @@
1
- import React__default from 'react';
2
- import cn from 'classnames';
3
- import { useMergedRef } from '../../../../hooks/useMergedRef.js';
4
- import { Input } from '../../../Input/Input.js';
5
- import { Datepicker } from '../../../Datepicker/Datepicker.js';
6
- import { _catch } from '../../../../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js';
7
- import { Switch } from '../../../Switch/Switch.js';
8
- import { flexRender } from '@tanstack/react-table';
9
- import { useRowContext } from '../row/Context.js';
10
- import { isInternalColumn } from '../../utilities/columns.js';
11
- import { getCellSizingClasses, isKeyboardFocusableElement, getCellAlignmentClasses } from '../../utilities/cell.js';
12
- import { ColumnBase } from './Base.js';
13
- import { globalFilterFn, columnFilterFn } from '../../utilities/filterFn.js';
14
- import { MOVE_DIR } from '../../hooks/useEditMode.js';
15
- import { IndicatorReason, Indicator } from './Indicator.js';
16
- import { ValidationError } from './ValidationError.js';
17
- import { clickableNodeNames, hasChanged, willRowMoveAfterSorting } from './utils.js';
18
-
19
- const Cell = function Cell(props) {
20
- var _cell$column$columnDe, _cell$column$columnDe2, _table$options$meta;
21
- const {
22
- cell,
23
- index,
24
- isLastRow,
25
- rowIndex,
26
- rows,
27
- scrollToIndex,
28
- scrollToOffset,
29
- table,
30
- tableRef,
31
- ...columnProps
32
- } = props;
33
- const meta = table.options.meta;
34
- const {
35
- addFocussableColumnIndex,
36
- focussableColumnIndexes: allFocussableColumnIndexes
37
- } = meta;
38
- const {
39
- editMode: {
40
- validationErrors,
41
- rowMoveReason
42
- },
43
- isHovered: isHoveredRow
44
- } = useRowContext();
45
- const hasValidationErrorsInRow = !!validationErrors;
46
- const internalRef = React__default.useRef(null);
47
- const controlRef = React__default.useRef(null);
48
- const cellClassName = (_cell$column$columnDe = cell.column.columnDef.meta) === null || _cell$column$columnDe === void 0 ? void 0 : _cell$column$columnDe.className;
49
- const isActiveRow = meta.activeRowIndex === rowIndex;
50
- const isFrozen = !!cell.column.getIsPinned();
51
- const isDragging = meta.dragging[cell.row.id];
52
- const isSelected = cell.row.getIsSelected();
53
- const isDataColumn = !isInternalColumn(cell.column.id);
54
- const hasCellControl = !!((_cell$column$columnDe2 = cell.column.columnDef.meta) !== null && _cell$column$columnDe2 !== void 0 && _cell$column$columnDe2.control);
55
- const allVisibleColumns = table.getVisibleLeafColumns();
56
- const lastColumnIndex = allVisibleColumns.length > 0 ? allVisibleColumns.length - 1 : 0;
57
- // editing
58
- const isEditingThisRow = meta.editMode.isEditing && isActiveRow;
59
- const canEditThisCell = isEditingThisRow && isDataColumn;
60
- const isEditingThisCell = canEditThisCell && meta.editMode.columnIndex === index;
61
- const isHoveringThisRowWhileEditing = meta.editMode.isEditing && isHoveredRow && !meta.shouldPauseHoverState;
62
- const isIndicatorVisible = Object.keys(rowMoveReason).length > 0;
63
- React__default.useEffect(() => {
64
- // Adds padding to the table so that indicator doesn't get cropped
65
- if (isIndicatorVisible && isLastRow) {
66
- var _tableRef$current;
67
- (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.classList.add('pb-4');
68
- }
69
- return () => {
70
- var _tableRef$current2;
71
- return (_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : _tableRef$current2.classList.remove('pb-4');
72
- };
73
- }, [isIndicatorVisible, isLastRow]);
74
- const className = cn('[&>[data-taco="tag"]]:-my-0.5', {
75
- 'border-b': !isLastRow,
76
- 'sticky z-[1]': isFrozen,
77
- // use isHoveredRow rather than css group-hover/row because we want to hide hover state when keyboard navigating
78
- 'bg-white': !isActiveRow && !isSelected,
79
- 'group-hover/row:bg-grey-100': !isActiveRow && !isSelected && !meta.shouldPauseHoverState,
80
- 'bg-grey-200 group-hover/row:bg-grey-200': isActiveRow && !isSelected,
81
- 'bg-blue-100': isSelected,
82
- '!wcag-blue-500': isDragging,
83
- '[&>*]:!grayscale [&_.bg-white]:!bg-grey-100': !isEditingThisRow && isHoveringThisRowWhileEditing,
84
- '!bg-red-100': hasValidationErrorsInRow,
85
- 'z-[1]': isFrozen && isActiveRow,
86
- // First column should have higher z-index so that row indicator always show on top of the cell
87
- // control components. A z-index of 3, will show the indicator when columns are pinned.
88
- 'z-[3]': isFrozen && isActiveRow && index === 0,
89
- 'border-blue !border-y-2 border-x-0': isIndicatorVisible,
90
- 'border-l-2 rounded-l': isIndicatorVisible && index === 0,
91
- 'border-r-2 rounded-r': isIndicatorVisible && index === lastColumnIndex
92
- }, getCellSizingClasses((_table$options$meta = table.options.meta) === null || _table$options$meta === void 0 ? void 0 : _table$options$meta.rowDensity, (isEditingThisRow || isHoveringThisRowWhileEditing) && hasCellControl), typeof cellClassName === 'function' ? cellClassName(cell.row, table) : cellClassName);
93
- const handleMouseDown = event => {
94
- // only detect left clicks
95
- if (event.button === 0) {
96
- const activeElement = document.activeElement;
97
- const isActiveElementControl = activeElement === null || activeElement === void 0 ? void 0 : activeElement.closest('[role="cell"]');
98
- const hasActiveRowChanged = meta.activeRowIndex !== rowIndex;
99
- // When user clicks on a cell that is not in the active row, for some reason blur event is not called on the cell
100
- // previous cell control element so we need to manually call it in order to save the changes in that cell
101
- if (isActiveElementControl && hasActiveRowChanged) {
102
- activeElement.blur();
103
- }
104
- meta.setActiveRowIndex(rowIndex);
105
- if (meta.editMode.isEditing) {
106
- if (allFocussableColumnIndexes.includes(index)) {
107
- meta.editMode.setColumn(index);
108
- } else {
109
- meta.editMode.setColumn(allFocussableColumnIndexes[0]);
110
- }
111
- }
112
- }
113
- };
114
- const attributes = {
115
- ...columnProps,
116
- // base props,
117
- column: cell.column,
118
- table,
119
- // dom attributes
120
- className,
121
- 'data-column-index': index,
122
- 'data-row-index': rowIndex,
123
- onMouseDown: handleMouseDown,
124
- ref: internalRef,
125
- role: 'cell'
126
- };
127
- const [detailModeEditing, setDetailModeEditing] = React__default.useState(false);
128
- // reset the editing state when we move column
129
- React__default.useEffect(() => {
130
- if (meta.editMode.columnIndex !== index) {
131
- setDetailModeEditing(false);
132
- }
133
- }, [meta.editMode.columnIndex]);
134
- React__default.useEffect(() => {
135
- if (isEditingThisRow && controlRef.current && isKeyboardFocusableElement(controlRef.current)) {
136
- addFocussableColumnIndex(index);
137
- }
138
- }, [isEditingThisRow, allFocussableColumnIndexes, addFocussableColumnIndex, index]);
139
- const moveRow = moveDirection => {
140
- if (moveDirection === MOVE_DIR.PREV) {
141
- meta.moveToPreviousRow(rows, nextIndex => scrollToIndex(nextIndex - 1));
142
- } else if (moveDirection === MOVE_DIR.NEXT) {
143
- meta.moveToNextRow(rows, nextIndex => scrollToIndex(nextIndex + 2));
144
- }
145
- };
146
- if (meta.editMode.onSave && hasCellControl && (canEditThisCell || isHoveringThisRowWhileEditing && isDataColumn)) {
147
- attributes.onMouseDown = event => {
148
- handleMouseDown(event);
149
- const target = event.target;
150
- const isTargetInput = target !== null && target.nodeName === 'INPUT';
151
- // event.target?.select is only truthy for input elements
152
- // if event.target is active element, then that means we should select the text
153
- if (isTargetInput && target !== document.activeElement) {
154
- event.preventDefault();
155
- setTimeout(() => {
156
- target.select();
157
- }, 1);
158
- } else if (isTargetInput && target === document.activeElement) {
159
- // if user left clicks on the input then we are into edit mode
160
- // only detect left clicks
161
- if (event.button === 0) {
162
- setDetailModeEditing(true);
163
- }
164
- }
165
- };
166
- attributes.onBlur = () => {
167
- setDetailModeEditing(false);
168
- };
169
- if (canEditThisCell) {
170
- var _allFocussableColumnI, _allFocussableColumnI2;
171
- const firstDataColumnIndex = (_allFocussableColumnI = allFocussableColumnIndexes.at(0)) !== null && _allFocussableColumnI !== void 0 ? _allFocussableColumnI : 0;
172
- const lastDataColumnIndex = (_allFocussableColumnI2 = allFocussableColumnIndexes.at(-1)) !== null && _allFocussableColumnI2 !== void 0 ? _allFocussableColumnI2 : 0;
173
- attributes.onKeyDown = event => {
174
- const control = event.target;
175
- const isControlInput = control.nodeName === 'INPUT' && (control === null || control === void 0 ? void 0 : control.getAttribute('data-inline-editing-component')) === 'true';
176
- // For some reason, Taco Input keyboard event always return true when "event.isDefaultPrevented()" is
177
- // called. So we need to check if the control is input or not so that we don't return early.
178
- if (!isControlInput && (event.isDefaultPrevented() || event.isPropagationStopped())) {
179
- return;
180
- }
181
- if (control.tagName === 'INPUT') {
182
- if (event.key === 'Enter') {
183
- event.preventDefault();
184
- const input = control;
185
- if (!detailModeEditing) {
186
- var _input$setSelectionRa, _input$value, _input$value2;
187
- (_input$setSelectionRa = input.setSelectionRange) === null || _input$setSelectionRa === void 0 ? void 0 : _input$setSelectionRa.call(input, (_input$value = input.value) === null || _input$value === void 0 ? void 0 : _input$value.length, (_input$value2 = input.value) === null || _input$value2 === void 0 ? void 0 : _input$value2.length);
188
- } else {
189
- var _input$select;
190
- input === null || input === void 0 ? void 0 : (_input$select = input.select) === null || _input$select === void 0 ? void 0 : _input$select.call(input);
191
- }
192
- setDetailModeEditing(!detailModeEditing);
193
- return;
194
- }
195
- // Datepicker doesn't have keydown event handler its value doesn't change when user types inside
196
- // datepicker input, so we need to explicitly enable detail editing mode on typing any alphanumeric
197
- // character
198
- if (control !== null && control !== void 0 && control.closest('[data-taco="datepicker"]') && /^[a-z0-9]$/i.test(event.key)) {
199
- setDetailModeEditing(true);
200
- }
201
- }
202
- // Don't exit edit mode if the target of the escape isn't a child of the cell (e.g. if its a popover).
203
- if (event.key === 'Escape' && event.currentTarget.contains(control)) {
204
- event.preventDefault();
205
- if (detailModeEditing) {
206
- setDetailModeEditing(false);
207
- } else {
208
- var _tableRef$current3;
209
- meta.editMode.toggleEditing(false);
210
- (_tableRef$current3 = tableRef.current) === null || _tableRef$current3 === void 0 ? void 0 : _tableRef$current3.focus();
211
- }
212
- return;
213
- }
214
- if (!detailModeEditing && event.key === 'ArrowLeft' || event.key === 'Tab' && event.shiftKey) {
215
- event.preventDefault();
216
- const isFirstRow = rowIndex === 0;
217
- const isFirstColumn = index === firstDataColumnIndex;
218
- if (event.ctrlKey || event.metaKey) {
219
- // If the current active column is the first column then we don't do any thing so that focus
220
- // remains on the first column.
221
- if (!isFirstColumn) {
222
- control.blur();
223
- meta.editMode.moveToFirstColumn(allFocussableColumnIndexes);
224
- }
225
- } else {
226
- // If it is first row and first column, then don't move column.
227
- if (!isFirstRow || !isFirstColumn) {
228
- control.blur();
229
- meta.editMode.moveToPreviousColumn(allFocussableColumnIndexes, moveRow);
230
- }
231
- }
232
- return;
233
- }
234
- if (!detailModeEditing && event.key === 'ArrowRight' || event.key === 'Tab' && !event.shiftKey) {
235
- event.preventDefault();
236
- const isLastColumn = index === lastDataColumnIndex;
237
- if (event.ctrlKey || event.metaKey) {
238
- // If the current active column is the last column then we don't do any thing so that focus
239
- // remains on the last column.
240
- if (!isLastColumn) {
241
- control.blur();
242
- meta.editMode.moveToLastColumn(allFocussableColumnIndexes);
243
- }
244
- } else {
245
- // If it is last row and last column, then don't move column.
246
- if (!isLastRow || !isLastColumn) {
247
- control.blur();
248
- meta.editMode.moveToNextColumn(allFocussableColumnIndexes, moveRow);
249
- }
250
- }
251
- return;
252
- }
253
- if (!detailModeEditing && event.key === 'ArrowUp') {
254
- event.preventDefault();
255
- // if it is the first row then return early, so that focus on the cell is not lost
256
- if (rowIndex === 0) {
257
- return;
258
- }
259
- control.blur();
260
- if (event.ctrlKey || event.metaKey) {
261
- meta.setActiveRowIndex(0);
262
- scrollToOffset(0);
263
- } else {
264
- moveRow(MOVE_DIR.PREV);
265
- }
266
- meta.setShouldPauseHoverState(true);
267
- return;
268
- }
269
- if (!detailModeEditing && event.key === 'ArrowDown') {
270
- event.preventDefault();
271
- // if it is the last row then return early, so that focus on the cell is not lost
272
- if (rowIndex === rows.length - 1) {
273
- return;
274
- }
275
- control.blur();
276
- if (event.ctrlKey || event.metaKey) {
277
- meta.setActiveRowIndex(rows.length - 1);
278
- scrollToIndex(rows.length + 20);
279
- } else {
280
- moveRow(MOVE_DIR.NEXT);
281
- }
282
- meta.setShouldPauseHoverState(true);
283
- return;
284
- }
285
- };
286
- }
287
- return /*#__PURE__*/React__default.createElement(ColumnBase, Object.assign({}, attributes), /*#__PURE__*/React__default.createElement(EditingCell, {
288
- detailModeEditing: detailModeEditing,
289
- cell: cell,
290
- cellRef: internalRef,
291
- columnIndex: index,
292
- isEditingThisCell: isEditingThisCell,
293
- onSave: meta.editMode.onSave,
294
- rowIndex: rowIndex,
295
- table: table,
296
- tableRef: tableRef,
297
- ref: controlRef,
298
- rowValues: rows[rowIndex].original,
299
- rowsLength: rows.length,
300
- enableDetailModeEditing: () => {
301
- if (!detailModeEditing) {
302
- setDetailModeEditing(true);
303
- }
304
- }
305
- }));
306
- } else {
307
- if (meta.onRowClick) {
308
- attributes.onClick = event => {
309
- const {
310
- target
311
- } = event;
312
- // This check prevents triggering row click, when a click is performed in the dropdown (e.g. Select option or DayPicker date selection)
313
- if (internalRef.current && target instanceof HTMLElement && internalRef.current.contains(target)) {
314
- var _meta$onRowClick;
315
- // Checking that target is clickable element or it is a child of clickable element
316
- if (clickableNodeNames.includes(target.tagName) || target.closest(clickableNodeNames.map(tag => `[role=row] ${tag}`).join(','))) {
317
- return;
318
- }
319
- (_meta$onRowClick = meta.onRowClick) === null || _meta$onRowClick === void 0 ? void 0 : _meta$onRowClick.call(meta, cell.row.original);
320
- }
321
- };
322
- }
323
- }
324
- return /*#__PURE__*/React__default.createElement(ColumnBase, Object.assign({}, attributes), flexRender(cell.column.columnDef.cell, cell.getContext()));
325
- };
326
- const EditingCell = /*#__PURE__*/React__default.memo( /*#__PURE__*/React__default.forwardRef((props, ref) => {
327
- var _cell$column$columnDe3, _cell$column$columnDe4, _cellRef$current2, _cellRef$current2$par, _rowMoveReason$cellId;
328
- const {
329
- cell,
330
- cellRef,
331
- columnIndex,
332
- detailModeEditing,
333
- isEditingThisCell = false,
334
- onSave: handleSave,
335
- rowIndex,
336
- rowValues,
337
- table,
338
- tableRef,
339
- enableDetailModeEditing
340
- } = props;
341
- const {
342
- editMode: {
343
- validationErrors,
344
- setValidationErrors,
345
- rowMoveReason,
346
- setRowMoveReason
347
- },
348
- isHovered
349
- } = useRowContext();
350
- const controlRef = useMergedRef(ref);
351
- const cellId = cell.column.id;
352
- const cellValidationError = validationErrors === null || validationErrors === void 0 ? void 0 : validationErrors[cellId];
353
- const value = cell.getValue();
354
- const ariaLabel = cell.column.columnDef.header;
355
- const meta = table.options.meta;
356
- const {
357
- globalFilter
358
- } = table.getState();
359
- const [state, setState] = React__default.useState(value);
360
- const isHoveringAnotherRowWhileEditing = meta.editMode.isEditing && meta.activeRowIndex !== rowIndex && isHovered;
361
- const hasValidationError = !isHoveringAnotherRowWhileEditing && !!cellValidationError;
362
- // On each save, the initialValue will be set to the new value of the cell
363
- const initialValue = React__default.useRef(value);
364
- const stateReset = React__default.useRef(false);
365
- // It is important that we let consumers pass a newValue as an argument because when setState is called before
366
- // onBlur then saveIfChanged method gets the stale state value. This happens because the rerender hasn't happened
367
- // before the saveIfChanged method is called.
368
- const saveIfChanged = function (eventOrNewValue) {
369
- try {
370
- let newValue = state;
371
- // if eventOrNewValue is not an event object
372
- if (!(eventOrNewValue !== null && eventOrNewValue !== void 0 && eventOrNewValue.target)) {
373
- newValue = eventOrNewValue;
374
- }
375
- const _temp2 = function () {
376
- if (hasChanged(value, newValue)) {
377
- const _temp = _catch(function () {
378
- const updatedRow = {
379
- ...cell.row.original,
380
- [cellId]: newValue
381
- };
382
- return Promise.resolve(handleSave(updatedRow, cellId)).then(function () {
383
- // If sorting is paused then update the last sorted or filtered rows to store the newly updated row
384
- if (meta.shouldPauseSortingAndFiltering) {
385
- meta.lastSortedOrFilteredRows.current = meta.lastSortedOrFilteredRows.current.map(row => {
386
- if (row.id === cell.row.id) {
387
- row.original = updatedRow;
388
- }
389
- return row;
390
- });
391
- }
392
- // Reset error if save was successful
393
- setValidationErrors(null);
394
- });
395
- }, function (error) {
396
- setValidationErrors({
397
- ...validationErrors,
398
- ...error
399
- });
400
- });
401
- if (_temp && _temp.then) return _temp.then(function () {});
402
- }
403
- }();
404
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
405
- } catch (e) {
406
- return Promise.reject(e);
407
- }
408
- };
409
- // Ensures we "auto focus" the field if the cell is being edited.
410
- React__default.useEffect(() => {
411
- var _meta$tableRef$curren;
412
- const isFocusInsideTable = (_meta$tableRef$curren = meta.tableRef.current) === null || _meta$tableRef$curren === void 0 ? void 0 : _meta$tableRef$curren.contains(document.activeElement);
413
- // When control is blurred then body gets the focus that's why we have to make sure if activeElement
414
- // is body then we focus the cell if it is being edited.
415
- const isBodyFocussed = document.body === document.activeElement;
416
- // Don't focus cell if any table popup(filter popup, column settings popup) is open.
417
- if (isEditingThisCell && (isFocusInsideTable || isBodyFocussed)) {
418
- var _controlRef$current, _controlRef$current$f;
419
- (_controlRef$current = controlRef.current) === null || _controlRef$current === void 0 ? void 0 : (_controlRef$current$f = _controlRef$current.focus) === null || _controlRef$current$f === void 0 ? void 0 : _controlRef$current$f.call(_controlRef$current);
420
- }
421
- }, [isEditingThisCell, controlRef.current]);
422
- const pinnedColumnsWidth = React__default.useMemo(() => {
423
- const pinnedColumns = table.getState().columnPinning.left;
424
- if (Array.isArray(pinnedColumns) && pinnedColumns.length > 0) {
425
- const lastFrozenColumn = pinnedColumns[pinnedColumns.length - 1];
426
- const lastFrozenColumnOffset = meta.columnOffsets[lastFrozenColumn];
427
- if (lastFrozenColumnOffset !== undefined) {
428
- var _table$getState$colum;
429
- return lastFrozenColumnOffset + ((_table$getState$colum = table.getState().columnSizing[lastFrozenColumn]) !== null && _table$getState$colum !== void 0 ? _table$getState$colum : 0);
430
- }
431
- }
432
- return 0;
433
- }, [meta.columnOffsets, table.getState().columnSizing]);
434
- React__default.useEffect(() => {
435
- if (hasChanged(initialValue.current, state)) {
436
- var _controlRef$current2;
437
- // For an input we want to make sure that if the value is changed then we go into detail mode, so that
438
- // arrow keys doesn't trigger the quick mode shortcuts.
439
- if (((_controlRef$current2 = controlRef.current) === null || _controlRef$current2 === void 0 ? void 0 : _controlRef$current2.nodeName) === 'INPUT') {
440
- enableDetailModeEditing();
441
- }
442
- showIndicator();
443
- } else {
444
- hideIndicator();
445
- }
446
- return hideIndicator;
447
- }, [state]);
448
- // This effect makes sure we select the input control value when escape key is pressed
449
- React__default.useEffect(() => {
450
- var _controlRef$current3, _controlRef$current4;
451
- const isControlInput = ((_controlRef$current3 = controlRef.current) === null || _controlRef$current3 === void 0 ? void 0 : _controlRef$current3.nodeName) === 'INPUT' && ((_controlRef$current4 = controlRef.current) === null || _controlRef$current4 === void 0 ? void 0 : _controlRef$current4.getAttribute('data-inline-editing-component')) === 'true';
452
- if (stateReset.current && isControlInput) {
453
- var _controlRef$current5;
454
- (_controlRef$current5 = controlRef.current) === null || _controlRef$current5 === void 0 ? void 0 : _controlRef$current5.select();
455
- }
456
- stateReset.current = false;
457
- }, [stateReset.current]);
458
- const handleFocus = event => {
459
- var _event$target, _cellRef$current;
460
- meta.editMode.setColumn(columnIndex);
461
- if ((_event$target = event.target) !== null && _event$target !== void 0 && _event$target.select) {
462
- var _event$target2;
463
- (_event$target2 = event.target) === null || _event$target2 === void 0 ? void 0 : _event$target2.select();
464
- }
465
- // ensure the field is always visible (e.g. not hidden behind the pinned columns)
466
- const rect = (_cellRef$current = cellRef.current) === null || _cellRef$current === void 0 ? void 0 : _cellRef$current.getBoundingClientRect();
467
- const leftOffset = meta.columnOffsets[cellId];
468
- if (rect && leftOffset && rect.left < pinnedColumnsWidth) {
469
- var _tableRef$current4;
470
- (_tableRef$current4 = tableRef.current) === null || _tableRef$current4 === void 0 ? void 0 : _tableRef$current4.scrollTo(leftOffset - pinnedColumnsWidth, tableRef.current.scrollTop);
471
- }
472
- };
473
- // In order to reset the value of an input when escape key is pressed this keydown handler is required.
474
- // Instead of adding this event handler in parent component, this handler is added here because we have access
475
- // to the state handler of the control component.
476
- const handleKeyDown = event => {
477
- const control = event.target;
478
- const isControlInput = control.nodeName === 'INPUT' && (control === null || control === void 0 ? void 0 : control.getAttribute('data-inline-editing-component')) === 'true';
479
- if (isControlInput && event.key === 'Escape') {
480
- setState(initialValue.current);
481
- stateReset.current = true;
482
- }
483
- };
484
- const showIndicator = () => {
485
- var _table$getState$sorti;
486
- let willRowMoveReason = null;
487
- const isFilteredByGlobalFilter = Object.values({
488
- ...rowValues,
489
- [cellId]: state
490
- }).some(cellValue =>
491
- // Global filter can be undefined when there is no text being searched so we pass an empty string to
492
- // globalFilterFn as query in that case.
493
- globalFilterFn(String(cellValue), globalFilter ? String(globalFilter) : ''));
494
- if (!isFilteredByGlobalFilter) {
495
- willRowMoveReason = IndicatorReason.SEARCH;
496
- } else if (cell.column.getIsFiltered() && !columnFilterFn(state, cell.column.getFilterValue())) {
497
- willRowMoveReason = IndicatorReason.FILTER;
498
- } else if (!willRowMoveReason && cell.column.getIsSorted() && willRowMoveAfterSorting(state, cell, rowIndex, table.getRowModel().rows, !!((_table$getState$sorti = table.getState().sorting.find(s => s.id === cell.column.id)) !== null && _table$getState$sorti !== void 0 && _table$getState$sorti.desc))) {
499
- willRowMoveReason = IndicatorReason.SORTING;
500
- }
501
- if (willRowMoveReason !== null) {
502
- meta.setShouldPauseSortingAndFiltering(true);
503
- setRowMoveReason({
504
- [cellId]: willRowMoveReason
505
- });
506
- }
507
- };
508
- const hideIndicator = () => {
509
- setRowMoveReason(prevState => {
510
- const newState = {
511
- ...prevState
512
- };
513
- delete newState[cellId];
514
- return newState;
515
- });
516
- };
517
- const cellControl = (_cell$column$columnDe3 = cell.column.columnDef.meta) === null || _cell$column$columnDe3 === void 0 ? void 0 : _cell$column$columnDe3.control;
518
- const attributes = {
519
- 'aria-label': ariaLabel,
520
- onBlur: saveIfChanged,
521
- onFocus: handleFocus,
522
- ref,
523
- // This is a temporary fix to enable up/down arrow key shortcuts on input in quick mode. For some reason,
524
- // the preventDefault is true on Taco Input, so the keyboard shortcuts doesn't work. By adding this
525
- // data attribute we make sure the event is coming from a control component, and then we can make sure
526
- // keyboard shortcut works as expected.
527
- 'data-inline-editing-component': 'true'
528
- };
529
- const className = cn(getCellAlignmentClasses((_cell$column$columnDe4 = cell.column.columnDef.meta) === null || _cell$column$columnDe4 === void 0 ? void 0 : _cell$column$columnDe4.align));
530
- const indicatorMountNode = (_cellRef$current2 = cellRef.current) === null || _cellRef$current2 === void 0 ? void 0 : (_cellRef$current2$par = _cellRef$current2.parentElement) === null || _cellRef$current2$par === void 0 ? void 0 : _cellRef$current2$par.querySelector(':first-child');
531
- let controlComponent;
532
- const detailModeClassName = cn({
533
- '!yt-focus-dark': detailModeEditing
534
- });
535
- if (cellControl) {
536
- if (typeof cellControl === 'function') {
537
- controlComponent = cellControl({
538
- invalid: hasValidationError,
539
- onBlur: saveIfChanged,
540
- onFocus: handleFocus,
541
- ref: controlRef,
542
- setValue: setState,
543
- value: state,
544
- 'data-inline-editing-component': 'true'
545
- }, cell.row.original);
546
- } else {
547
- switch (cellControl) {
548
- case 'datepicker':
549
- controlComponent = /*#__PURE__*/React__default.createElement(Datepicker, Object.assign({}, attributes, {
550
- className: cn({
551
- '[&_input]:!shadow-[0_0_0_4px_rgba(0,99,255,0.25)]': detailModeEditing
552
- }),
553
- invalid: hasValidationError,
554
- onBlur: event => {
555
- const newDate = event.detail;
556
- saveIfChanged(newDate);
557
- },
558
- onChange: event => {
559
- setState(event.detail);
560
- },
561
- ref: controlRef,
562
- value: state
563
- }));
564
- break;
565
- case 'switch':
566
- controlComponent = /*#__PURE__*/React__default.createElement(Switch, Object.assign({}, attributes, {
567
- className: cn('mx-2 mt-1.5', detailModeClassName),
568
- checked: Boolean(state),
569
- onChange: setState,
570
- ref: controlRef
571
- }));
572
- break;
573
- default:
574
- controlComponent = /*#__PURE__*/React__default.createElement(Input, Object.assign({}, attributes, {
575
- className: cn(className, detailModeClassName),
576
- invalid: hasValidationError,
577
- onChange: event => {
578
- setState(event.target.value);
579
- },
580
- ref: controlRef,
581
- value: String(state !== null && state !== void 0 ? state : ''),
582
- onKeyDown: handleKeyDown
583
- }));
584
- break;
585
- }
586
- }
587
- }
588
- const indicatorReason = (_rowMoveReason$cellId = rowMoveReason[cellId]) !== null && _rowMoveReason$cellId !== void 0 ? _rowMoveReason$cellId : null;
589
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, indicatorReason !== null && /*#__PURE__*/React__default.createElement(Indicator, {
590
- reason: indicatorReason,
591
- columnName: String(cell.column.columnDef.header),
592
- mountNode: indicatorMountNode,
593
- validationErrors: validationErrors
594
- }), /*#__PURE__*/React__default.createElement("span", {
595
- className: "relative flex-grow"
596
- }, controlComponent, hasValidationError && /*#__PURE__*/React__default.createElement(ValidationError, null, String(cellValidationError))));
597
- }));
598
-
599
- export { Cell };
600
- //# sourceMappingURL=Cell.js.map