@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
@@ -0,0 +1,108 @@
1
+ import React__default from 'react';
2
+ import cn from 'classnames';
3
+ import { IconButton } from '../../../../IconButton/IconButton.js';
4
+ import { useLocalization } from '../../../../Provider/Localization.js';
5
+ import { Shortcut } from '../../../../Shortcut/Shortcut.js';
6
+ import { Menu } from '../../../../Menu/Menu.js';
7
+ import { Header } from '../header/Header.js';
8
+ import { RowContext } from '../../rows/RowContext.js';
9
+ import { DisplayCell } from '../cell/DisplayCell.js';
10
+ import { Footer } from '../footer/Footer.js';
11
+
12
+ const COLUMN_ID = '__actions';
13
+ const ACTIONS_ON_ROW_LENGTH = 4;
14
+ const MemoedCell = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
15
+ const {
16
+ actions,
17
+ actionsLength,
18
+ isCurrentRow,
19
+ isEditing,
20
+ isResizingColumn,
21
+ isHoverStatePaused,
22
+ row
23
+ } = props;
24
+ const {
25
+ isHovered
26
+ } = React__default.useContext(RowContext);
27
+ const {
28
+ texts
29
+ } = useLocalization();
30
+ let content;
31
+ // We don't want to show actions in edit mode, since we have editing actions,
32
+ // which is shown in edit mode instead.
33
+ if (!isEditing && (isCurrentRow || isHovered && !isHoverStatePaused && !isResizingColumn)) {
34
+ const visibleActions = actions.map(action => action(row.original)).filter(action => !!action);
35
+ const actionsOnRow = visibleActions.length === actionsLength ? visibleActions : visibleActions.slice(0, actionsLength - 1);
36
+ const actionsInMenu = visibleActions.slice(visibleActions.length === actionsLength ? actionsLength : actionsLength - 1);
37
+ content = /*#__PURE__*/React__default.createElement("span", {
38
+ className: "-mb-2 -mt-2 flex justify-end text-right"
39
+ }, actionsOnRow.map((button, index) => {
40
+ var _ref, _button$props$tooltip;
41
+ const tooltip = String((_ref = (_button$props$tooltip = button.props.tooltip) !== null && _button$props$tooltip !== void 0 ? _button$props$tooltip : button.props['aria-label']) !== null && _ref !== void 0 ? _ref : '');
42
+ return /*#__PURE__*/React__default.cloneElement(button, {
43
+ appearance: 'discrete',
44
+ key: index,
45
+ tabIndex: isCurrentRow ? 0 : -1,
46
+ tooltip: button.props.shortcut ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, tooltip, /*#__PURE__*/React__default.createElement(Shortcut, {
47
+ className: "ml-2",
48
+ keys: button.props.shortcut
49
+ })) : tooltip
50
+ });
51
+ }), actionsInMenu.length ? /*#__PURE__*/React__default.createElement(IconButton, {
52
+ appearance: "discrete",
53
+ "aria-label": texts.table3.columns.actions.tooltip,
54
+ icon: "more",
55
+ tabIndex: isCurrentRow ? 0 : -1,
56
+ menu: menuProps => /*#__PURE__*/React__default.createElement(Menu, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu.Content, null, actionsInMenu.map((action, i) => /*#__PURE__*/React__default.createElement(Menu.Item, Object.assign({
57
+ key: i
58
+ }, action.props, {
59
+ shortcut: action.props.shortcut
60
+ }), action.props['aria-label']))))
61
+ }) : null);
62
+ }
63
+ return /*#__PURE__*/React__default.createElement(DisplayCell, Object.assign({}, props), content);
64
+ });
65
+ function Cell(props) {
66
+ const {
67
+ actionsForRow,
68
+ actionsForRowLength,
69
+ ...context
70
+ } = props;
71
+ const {
72
+ rowIndex
73
+ } = React__default.useContext(RowContext);
74
+ const tableMeta = context.table.options.meta;
75
+ return /*#__PURE__*/React__default.createElement(MemoedCell, Object.assign({}, context, {
76
+ actions: actionsForRow,
77
+ actionsLength: actionsForRowLength,
78
+ isCurrentRow: tableMeta.currentRow.currentRowIndex === rowIndex,
79
+ isEditing: tableMeta.editing.isEditing,
80
+ isResizingColumn: !!context.table.getState().columnSizingInfo.isResizingColumn,
81
+ isHoverStatePaused: !!tableMeta.hoverState.isPaused
82
+ }));
83
+ }
84
+ function createRowActionsColumn(actionsForRow, actionsForRowLength = ACTIONS_ON_ROW_LENGTH) {
85
+ return {
86
+ id: COLUMN_ID,
87
+ header: Header,
88
+ cell: context => /*#__PURE__*/React__default.createElement(Cell, Object.assign({}, context, {
89
+ actionsForRow: actionsForRow,
90
+ actionsForRowLength: actionsForRowLength
91
+ })),
92
+ footer: Footer,
93
+ meta: {
94
+ align: 'right',
95
+ className: cn('items-center print:opacity-0 [[role="table"][data-editing="false"]_&]:group-[[data-current="true"]]/row:sticky [[role="table"][data-pause-hover="false"][data-editing="false"]_&]:group-hover/row:sticky right-0 !pl-0 !pr-1', '[[role="table"][data-editing="false"]_&]:group-[[data-current="true"]]/row:shadow-[-6px_0px_6px] [[role="table"][data-pause-hover="false"][data-editing="false"]_&]:group-hover/row:shadow-[-6px_0px_6px]', 'group-[[data-current="true"][data-selected="false"]]/row:text-grey-200', 'group-[[data-selected="true"]]/row:text-blue-100', 'group-[[data-selected="false"]:hover]/row:text-grey-100'),
96
+ enableOrdering: false,
97
+ enableSearch: false,
98
+ enableTruncate: false,
99
+ header: '',
100
+ headerClassName: 'items-center !p-0'
101
+ },
102
+ // options
103
+ enableResizing: false
104
+ };
105
+ }
106
+
107
+ export { COLUMN_ID, createRowActionsColumn };
108
+ //# sourceMappingURL=Actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Actions.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/internal/Actions.tsx"],"sourcesContent":["import React from 'react';\nimport { CellContext, DisplayColumnDef, TableMeta } from '@tanstack/react-table';\nimport cn from 'classnames';\nimport { Header as ColumnHeader } from '../header/Header';\nimport { DisplayCell } from '../cell/DisplayCell';\nimport { Table3RowActionRenderer } from '../../../types';\nimport { RowContext } from '../../rows/RowContext';\nimport { IconButton } from '../../../../IconButton/IconButton';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Menu } from '../../../../Menu/Menu';\nimport { Shortcut } from '../../../../Shortcut/Shortcut';\nimport { Footer } from '../footer/Footer';\n\nexport const COLUMN_ID = '__actions';\n\ntype MemoedCellProps<TType = unknown> = CellContext<TType, unknown> & {\n actions: Table3RowActionRenderer<TType>[];\n actionsLength: number;\n isCurrentRow: boolean;\n isEditing: boolean;\n isResizingColumn: boolean;\n isHoverStatePaused: boolean;\n};\n\nconst ACTIONS_ON_ROW_LENGTH = 4;\n\nconst MemoedCell = React.memo(function MemoedCell<TType = unknown>(props: MemoedCellProps<TType>) {\n const { actions, actionsLength, isCurrentRow, isEditing, isResizingColumn, isHoverStatePaused, row } = props;\n const { isHovered } = React.useContext(RowContext);\n const { texts } = useLocalization();\n\n let content;\n\n // We don't want to show actions in edit mode, since we have editing actions,\n // which is shown in edit mode instead.\n if (!isEditing && (isCurrentRow || (isHovered && !isHoverStatePaused && !isResizingColumn))) {\n const visibleActions = actions.map(action => action(row.original)).filter(action => !!action);\n\n const actionsOnRow =\n visibleActions.length === actionsLength ? visibleActions : visibleActions.slice(0, actionsLength - 1);\n const actionsInMenu = visibleActions.slice(visibleActions.length === actionsLength ? actionsLength : actionsLength - 1);\n\n content = (\n <span className=\"-mb-2 -mt-2 flex justify-end text-right\">\n {actionsOnRow.map((button, index) => {\n const tooltip = String(button.props.tooltip ?? button.props['aria-label'] ?? '');\n\n return React.cloneElement(button, {\n appearance: 'discrete',\n key: index,\n tabIndex: isCurrentRow ? 0 : -1,\n tooltip: button.props.shortcut ? (\n <>\n {tooltip}\n <Shortcut className=\"ml-2\" keys={button.props.shortcut} />\n </>\n ) : (\n tooltip\n ),\n });\n })}\n {actionsInMenu.length ? (\n <IconButton\n appearance=\"discrete\"\n aria-label={texts.table3.columns.actions.tooltip}\n icon=\"more\"\n tabIndex={isCurrentRow ? 0 : -1}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n {actionsInMenu.map((action, i) => (\n <Menu.Item key={i} {...action.props} shortcut={action.props.shortcut}>\n {action.props['aria-label']}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu>\n )}\n />\n ) : null}\n </span>\n );\n }\n\n return <DisplayCell {...props}>{content}</DisplayCell>;\n}) as <TType = unknown>(props: MemoedCellProps<TType>) => JSX.Element;\n\ntype CellProps<TType = unknown> = CellContext<TType, unknown> & {\n actionsForRow: Table3RowActionRenderer<TType>[];\n actionsForRowLength: number;\n};\n\nfunction Cell<TType = unknown>(props: CellProps<TType>) {\n const { actionsForRow, actionsForRowLength, ...context } = props;\n const { rowIndex } = React.useContext(RowContext);\n const tableMeta = context.table.options.meta as TableMeta<TType>;\n\n return (\n <MemoedCell\n {...context}\n actions={actionsForRow}\n actionsLength={actionsForRowLength}\n isCurrentRow={tableMeta.currentRow.currentRowIndex === rowIndex}\n isEditing={tableMeta.editing.isEditing}\n isResizingColumn={!!context.table.getState().columnSizingInfo.isResizingColumn}\n isHoverStatePaused={!!tableMeta.hoverState.isPaused}\n />\n );\n}\n\nexport function createRowActionsColumn<TType = unknown>(\n actionsForRow: Table3RowActionRenderer<TType>[],\n actionsForRowLength = ACTIONS_ON_ROW_LENGTH\n): DisplayColumnDef<TType, unknown> {\n return {\n id: COLUMN_ID,\n header: ColumnHeader,\n cell: (context: CellContext<TType, unknown>) => (\n <Cell {...context} actionsForRow={actionsForRow} actionsForRowLength={actionsForRowLength} />\n ),\n footer: Footer,\n meta: {\n align: 'right',\n className: cn(\n 'items-center print:opacity-0 [[role=\"table\"][data-editing=\"false\"]_&]:group-[[data-current=\"true\"]]/row:sticky [[role=\"table\"][data-pause-hover=\"false\"][data-editing=\"false\"]_&]:group-hover/row:sticky right-0 !pl-0 !pr-1',\n '[[role=\"table\"][data-editing=\"false\"]_&]:group-[[data-current=\"true\"]]/row:shadow-[-6px_0px_6px] [[role=\"table\"][data-pause-hover=\"false\"][data-editing=\"false\"]_&]:group-hover/row:shadow-[-6px_0px_6px]',\n 'group-[[data-current=\"true\"][data-selected=\"false\"]]/row:text-grey-200',\n 'group-[[data-selected=\"true\"]]/row:text-blue-100',\n 'group-[[data-selected=\"false\"]:hover]/row:text-grey-100'\n ),\n enableOrdering: false,\n enableSearch: false,\n enableTruncate: false,\n header: '',\n headerClassName: 'items-center !p-0',\n },\n // options\n enableResizing: false,\n };\n}\n"],"names":["COLUMN_ID","ACTIONS_ON_ROW_LENGTH","MemoedCell","React","memo","props","actions","actionsLength","isCurrentRow","isEditing","isResizingColumn","isHoverStatePaused","row","isHovered","useContext","RowContext","texts","useLocalization","content","visibleActions","map","action","original","filter","actionsOnRow","length","slice","actionsInMenu","className","button","index","tooltip","String","cloneElement","appearance","key","tabIndex","shortcut","Shortcut","keys","IconButton","table3","columns","icon","menu","menuProps","Menu","Content","i","Item","DisplayCell","Cell","actionsForRow","actionsForRowLength","context","rowIndex","tableMeta","table","options","meta","currentRow","currentRowIndex","editing","getState","columnSizingInfo","hoverState","isPaused","createRowActionsColumn","id","header","ColumnHeader","cell","footer","Footer","align","cn","enableOrdering","enableSearch","enableTruncate","headerClassName","enableResizing"],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import React__default from 'react';
2
+ import { Icon } from '../../../../Icon/Icon.js';
3
+ import { useLocalization } from '../../../../Provider/Localization.js';
4
+ import { Header } from '../header/Header.js';
5
+ import { DisplayCell } from '../cell/DisplayCell.js';
6
+ import { Footer } from '../footer/Footer.js';
7
+
8
+ const COLUMN_ID = '__drag';
9
+ const GHOST_ELEMENT_ID = 'taco_table_dragging';
10
+ const Cell = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
11
+ const {
12
+ isSelected,
13
+ onRowDrag: handleRowDrag,
14
+ row,
15
+ table
16
+ } = props;
17
+ const {
18
+ texts
19
+ } = useLocalization();
20
+ const tableMeta = table.options.meta;
21
+ const onDragStart = event => {
22
+ let rows = [row];
23
+ if (table.options.enableRowSelection) {
24
+ rows = isSelected ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];
25
+ }
26
+ const data = rows.map(row => row.original);
27
+ tableMeta.rowDrag.setDragging(rows.reduce((dragging, rowBeingDragged) => ({
28
+ ...dragging,
29
+ [rowBeingDragged.id]: true
30
+ }), {}));
31
+ // set a default data value so that the consumer doesn't have to
32
+ event.dataTransfer.setData('text', JSON.stringify(data));
33
+ const showPlaceholder = text => {
34
+ const ghost = document.createElement('div');
35
+ ghost.id = GHOST_ELEMENT_ID;
36
+ ghost.className = 'wcag-blue rounded flex w-48 p-4 absolute -ml-[100vw]';
37
+ ghost.innerText = text;
38
+ document.body.appendChild(ghost);
39
+ event.dataTransfer.setDragImage(ghost, 0, 0);
40
+ };
41
+ const setDataTransfer = text => event.dataTransfer.setData('text', text);
42
+ handleRowDrag(data, showPlaceholder, setDataTransfer);
43
+ };
44
+ const handleDragEnd = () => {
45
+ var _document$getElementB;
46
+ (_document$getElementB = document.getElementById(GHOST_ELEMENT_ID)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.remove();
47
+ tableMeta.rowDrag.setDragging({});
48
+ };
49
+ return /*#__PURE__*/React__default.createElement(DisplayCell, Object.assign({}, props), /*#__PURE__*/React__default.createElement("div", {
50
+ draggable: true,
51
+ onDragStart: onDragStart,
52
+ onDragOver: event => event.preventDefault(),
53
+ onDragEnd: handleDragEnd
54
+ }, /*#__PURE__*/React__default.createElement(Icon, {
55
+ "aria-label": texts.table3.columns.drag.tooltip,
56
+ name: "drag",
57
+ className: "text-grey-darkest invisible w-[20px] cursor-grab active:cursor-grabbing group-hover/row:visible group-[[aria-grabbed='true']]/row:text-white"
58
+ })));
59
+ });
60
+ function createRowDragColumn(onRowDrag) {
61
+ return {
62
+ id: COLUMN_ID,
63
+ header: Header,
64
+ cell: context => /*#__PURE__*/React__default.createElement(Cell, Object.assign({}, context, {
65
+ isSelected: context.row.getIsSelected(),
66
+ onRowDrag: onRowDrag
67
+ })),
68
+ footer: Footer,
69
+ meta: {
70
+ align: 'center',
71
+ className: 'items-center !p-0',
72
+ enableOrdering: false,
73
+ enableSearch: false,
74
+ enableTruncate: false,
75
+ header: '',
76
+ headerClassName: 'items-center !p-0'
77
+ },
78
+ // options
79
+ enableResizing: false,
80
+ size: 15,
81
+ minSize: 15
82
+ };
83
+ }
84
+
85
+ export { COLUMN_ID, createRowDragColumn };
86
+ //# sourceMappingURL=Drag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drag.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/internal/Drag.tsx"],"sourcesContent":["import React from 'react';\nimport { CellContext, DisplayColumnDef, TableMeta } from '@tanstack/react-table';\nimport { Header as ColumnHeader } from '../header/Header';\nimport { DisplayCell } from '../cell/DisplayCell';\nimport { Table3RowDragHandler } from '../../../types';\nimport { Icon } from '../../../../Icon/Icon';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Footer } from '../footer/Footer';\n\nexport const COLUMN_ID = '__drag';\nconst GHOST_ELEMENT_ID = 'taco_table_dragging';\n\ntype CellProps<TType = unknown> = CellContext<TType, unknown> & {\n isSelected: boolean;\n onRowDrag: Table3RowDragHandler<TType>;\n};\n\nconst Cell = React.memo(function MemoedCell<TType = unknown>(props: CellProps<TType>) {\n const { isSelected, onRowDrag: handleRowDrag, row, table } = props;\n const { texts } = useLocalization();\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n const onDragStart = (event: React.DragEvent): void => {\n let rows = [row];\n\n if (table.options.enableRowSelection) {\n rows = isSelected ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n }\n\n const data = rows.map(row => row.original);\n\n tableMeta.rowDrag.setDragging(\n rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {})\n );\n\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'wcag-blue rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.appendChild(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n handleRowDrag(data, showPlaceholder, setDataTransfer);\n };\n\n const handleDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n tableMeta.rowDrag.setDragging({});\n };\n\n return (\n <DisplayCell {...props}>\n <div draggable onDragStart={onDragStart} onDragOver={event => event.preventDefault()} onDragEnd={handleDragEnd}>\n <Icon\n aria-label={texts.table3.columns.drag.tooltip}\n name=\"drag\"\n className=\"text-grey-darkest invisible w-[20px] cursor-grab active:cursor-grabbing group-hover/row:visible group-[[aria-grabbed='true']]/row:text-white\"\n />\n </div>\n </DisplayCell>\n );\n}) as <TType = unknown>(props: CellProps<TType>) => JSX.Element;\n\nexport function createRowDragColumn<TType = unknown>(onRowDrag: Table3RowDragHandler<TType>): DisplayColumnDef<TType, unknown> {\n return {\n id: COLUMN_ID,\n header: ColumnHeader,\n cell: (context: CellContext<TType, unknown>) => (\n <Cell {...context} isSelected={context.row.getIsSelected()} onRowDrag={onRowDrag} />\n ),\n footer: Footer,\n meta: {\n align: 'center',\n className: 'items-center !p-0',\n enableOrdering: false,\n enableSearch: false,\n enableTruncate: false,\n header: '',\n headerClassName: 'items-center !p-0',\n },\n // options\n enableResizing: false,\n size: 15,\n minSize: 15,\n };\n}\n"],"names":["COLUMN_ID","GHOST_ELEMENT_ID","Cell","React","memo","MemoedCell","props","isSelected","onRowDrag","handleRowDrag","row","table","texts","useLocalization","tableMeta","options","meta","onDragStart","event","rows","enableRowSelection","getSelectedRowModel","data","map","original","rowDrag","setDragging","reduce","dragging","rowBeingDragged","id","dataTransfer","setData","JSON","stringify","showPlaceholder","text","ghost","document","createElement","className","innerText","body","appendChild","setDragImage","setDataTransfer","handleDragEnd","getElementById","remove","DisplayCell","draggable","onDragOver","preventDefault","onDragEnd","Icon","table3","columns","drag","tooltip","name","createRowDragColumn","header","ColumnHeader","cell","context","getIsSelected","footer","Footer","align","enableOrdering","enableSearch","enableTruncate","headerClassName","enableResizing","size","minSize"],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ import React__default from 'react';
2
+ import cn from 'classnames';
3
+ import { Icon } from '../../../../Icon/Icon.js';
4
+ import { Tooltip } from '../../../../Tooltip/Tooltip.js';
5
+ import { IconButton } from '../../../../IconButton/IconButton.js';
6
+ import { useLocalization } from '../../../../Provider/Localization.js';
7
+ import { Spinner } from '../../../../Spinner/Spinner.js';
8
+ import useTimer from '../../../../../utils/hooks/useTimer.js';
9
+ import { Menu } from '../../../../Menu/Menu.js';
10
+ import { Header } from '../header/Header.js';
11
+ import { RowContext } from '../../rows/RowContext.js';
12
+ import { DisplayCell } from '../cell/DisplayCell.js';
13
+ import { Footer } from '../footer/Footer.js';
14
+ import { SavingStateValue } from '../../../hooks/features/useEditing.js';
15
+
16
+ const savingIndicatorHideDelay = 3000;
17
+ const COLUMN_ID = '__editing_actions';
18
+ const MemoedCell = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
19
+ const {
20
+ isCurrentRow,
21
+ isEditing,
22
+ row,
23
+ table
24
+ } = props;
25
+ const tableMeta = table.options.meta;
26
+ const savingState = tableMeta.editing.savingStates && tableMeta.editing.savingStates[row.id];
27
+ const [isSavedIndicatorVisible, setIsSavingIndicatorVisible] = React__default.useState(false);
28
+ const changeset = tableMeta.editing.changes ? Object.keys(tableMeta.editing.changes) : [];
29
+ const isRowInEditingState = changeset.indexOf(row.id) >= 0;
30
+ const {
31
+ texts
32
+ } = useLocalization();
33
+ const handleSaved = () => {
34
+ setIsSavingIndicatorVisible(false);
35
+ tableMeta.editing.removeSavingState(row.id);
36
+ };
37
+ const timer = useTimer(savingIndicatorHideDelay, handleSaved);
38
+ React__default.useEffect(() => {
39
+ if (savingState && savingState.state === SavingStateValue.Saved && !isSavedIndicatorVisible) {
40
+ setIsSavingIndicatorVisible(true);
41
+ timer.start();
42
+ }
43
+ }, [savingState]);
44
+ let content;
45
+ if (savingState) {
46
+ if (savingState.state === SavingStateValue.Saving) {
47
+ content = /*#__PURE__*/React__default.createElement(Tooltip, {
48
+ title: texts.table3.editing.saving.progress
49
+ }, /*#__PURE__*/React__default.createElement(Spinner, {
50
+ delay: 0,
51
+ className: "!text-grey-700 mr-1.5 !h-5 !w-5"
52
+ }));
53
+ } else if (isSavedIndicatorVisible) {
54
+ content = /*#__PURE__*/React__default.createElement(Tooltip, {
55
+ title: texts.table3.editing.saving.complete
56
+ }, /*#__PURE__*/React__default.createElement(Icon, {
57
+ name: "tick",
58
+ className: "!text-grey-700 mr-1"
59
+ }));
60
+ }
61
+ }
62
+ if (isEditing && isCurrentRow) {
63
+ content = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, content, /*#__PURE__*/React__default.createElement(IconButton, {
64
+ appearance: "discrete",
65
+ "aria-label": texts.table3.editing.actions.tooltip,
66
+ icon: "more",
67
+ menu: menuProps => /*#__PURE__*/React__default.createElement(Menu, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu.Content, null, /*#__PURE__*/React__default.createElement(Menu.Item, {
68
+ icon: "tick",
69
+ disabled: !isRowInEditingState,
70
+ onClick: () => tableMeta.editing.saveChangesIfNeeded()
71
+ }, texts.table3.editing.actions.save), /*#__PURE__*/React__default.createElement(Menu.Item, {
72
+ icon: "close",
73
+ disabled: !isRowInEditingState,
74
+ onClick: () => tableMeta.editing.resetChange(row.id)
75
+ }, texts.table3.editing.actions.clear), /*#__PURE__*/React__default.createElement(Menu.Item, {
76
+ icon: "undo",
77
+ onClick: () => tableMeta.editing.toggleEditing(false)
78
+ }, texts.table3.editing.actions.exit))),
79
+ tabIndex: isCurrentRow ? 0 : -1
80
+ }));
81
+ }
82
+ return /*#__PURE__*/React__default.createElement(DisplayCell, Object.assign({}, props, {
83
+ className: cn({
84
+ '!sticky': !!content
85
+ })
86
+ }), content ? /*#__PURE__*/React__default.createElement("span", {
87
+ className: "-mb-2 -mt-2 flex items-center justify-end text-right"
88
+ }, content) : undefined);
89
+ });
90
+ function Cell(props) {
91
+ const {
92
+ rowIndex
93
+ } = React__default.useContext(RowContext);
94
+ const tableMeta = props.table.options.meta;
95
+ return /*#__PURE__*/React__default.createElement(MemoedCell, Object.assign({}, props, {
96
+ isCurrentRow: tableMeta.currentRow.currentRowIndex === rowIndex,
97
+ isEditing: tableMeta.editing.isEditing
98
+ }));
99
+ }
100
+ const EDITING_ACTIONS_WIDTH = 45;
101
+ function createRowEditingActionsColumn() {
102
+ return {
103
+ id: COLUMN_ID,
104
+ header: Header,
105
+ cell: Cell,
106
+ footer: Footer,
107
+ meta: {
108
+ align: 'right',
109
+ className: cn('items-center print:opacity-0 [[role="table"][data-editing="true"]_&]:group-[[data-current="true"]]/row:sticky right-0 !pl-0 !pr-1', '[[role="table"][data-editing="true"]_&]:group-[[data-current="true"]]/row:shadow-[-6px_0px_6px] [[role="table"][data-pause-hover="false"][data-editing="true"]_&]:group-hover/row:shadow-[-6px_0px_6px]', 'group-[[data-current="true"][data-selected="false"]]/row:text-grey-200', 'group-[[data-selected="true"]]/row:text-blue-100', 'group-[[data-selected="false"]:hover]/row:text-grey-100'),
110
+ enableOrdering: false,
111
+ enableSearch: false,
112
+ enableTruncate: false,
113
+ header: '',
114
+ headerClassName: 'items-center !p-0'
115
+ },
116
+ // options
117
+ enableResizing: false,
118
+ size: EDITING_ACTIONS_WIDTH,
119
+ minSize: EDITING_ACTIONS_WIDTH
120
+ };
121
+ }
122
+
123
+ export { COLUMN_ID, EDITING_ACTIONS_WIDTH, createRowEditingActionsColumn };
124
+ //# sourceMappingURL=EditingActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditingActions.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/internal/EditingActions.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { CellContext, TableMeta, DisplayColumnDef } from '@tanstack/react-table';\nimport { Spinner } from '../../../../Spinner/Spinner';\nimport { SavingStateValue } from '../../../hooks/features/useEditing';\nimport { IconButton } from '../../../../IconButton/IconButton';\nimport { Menu } from '../../../../Menu/Menu';\nimport { RowContext } from '../../rows/RowContext';\nimport { DisplayCell } from '../cell/DisplayCell';\nimport { Header as ColumnHeader } from '../header/Header';\nimport { Footer } from '../footer/Footer';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport useTimer from '../../../../../utils/hooks/useTimer';\nimport { Icon } from '../../../../Icon/Icon';\nimport { Tooltip } from '../../../../Tooltip/Tooltip';\n\nexport type EditingActionsProps<TType = unknown> = CellContext<TType, unknown> & {\n className?: string;\n isHovered: boolean;\n};\n\nconst savingIndicatorHideDelay = 3000;\n\nexport const COLUMN_ID = '__editing_actions';\n\ntype MemoedCellProps<TType = unknown> = CellContext<TType, unknown> & {\n isCurrentRow: boolean;\n isEditing: boolean;\n};\n\nconst MemoedCell = React.memo(function MemoedCell<TType = unknown>(props: MemoedCellProps<TType>) {\n const { isCurrentRow, isEditing, row, table } = props;\n\n const tableMeta = table.options.meta as TableMeta<TType>;\n const savingState = tableMeta.editing.savingStates && tableMeta.editing.savingStates[row.id];\n const [isSavedIndicatorVisible, setIsSavingIndicatorVisible] = React.useState(false);\n const changeset = tableMeta.editing.changes ? Object.keys(tableMeta.editing.changes) : [];\n const isRowInEditingState = changeset.indexOf(row.id) >= 0;\n const { texts } = useLocalization();\n\n const handleSaved = () => {\n setIsSavingIndicatorVisible(false);\n tableMeta.editing.removeSavingState(row.id);\n };\n const timer = useTimer(savingIndicatorHideDelay, handleSaved);\n\n React.useEffect(() => {\n if (savingState && savingState.state === SavingStateValue.Saved && !isSavedIndicatorVisible) {\n setIsSavingIndicatorVisible(true);\n timer.start();\n }\n }, [savingState]);\n\n let content;\n\n if (savingState) {\n if (savingState.state === SavingStateValue.Saving) {\n content = (\n <Tooltip title={texts.table3.editing.saving.progress}>\n <Spinner delay={0} className=\"!text-grey-700 mr-1.5 !h-5 !w-5\" />\n </Tooltip>\n );\n } else if (isSavedIndicatorVisible) {\n content = (\n <Tooltip title={texts.table3.editing.saving.complete}>\n <Icon name=\"tick\" className=\"!text-grey-700 mr-1\" />\n </Tooltip>\n );\n }\n }\n\n if (isEditing && isCurrentRow) {\n content = (\n <>\n {content}\n <IconButton\n appearance=\"discrete\"\n aria-label={texts.table3.editing.actions.tooltip}\n icon=\"more\"\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n <Menu.Item\n icon=\"tick\"\n disabled={!isRowInEditingState}\n onClick={() => tableMeta.editing.saveChangesIfNeeded()}>\n {texts.table3.editing.actions.save}\n </Menu.Item>\n <Menu.Item\n icon=\"close\"\n disabled={!isRowInEditingState}\n onClick={() => tableMeta.editing.resetChange(row.id)}>\n {texts.table3.editing.actions.clear}\n </Menu.Item>\n <Menu.Item icon=\"undo\" onClick={() => tableMeta.editing.toggleEditing(false)}>\n {texts.table3.editing.actions.exit}\n </Menu.Item>\n </Menu.Content>\n </Menu>\n )}\n tabIndex={isCurrentRow ? 0 : -1}\n />\n </>\n );\n }\n\n return (\n <DisplayCell {...props} className={cn({ '!sticky': !!content })}>\n {content ? <span className=\"-mb-2 -mt-2 flex items-center justify-end text-right\">{content}</span> : undefined}\n </DisplayCell>\n );\n}) as <TType = unknown>(props: MemoedCellProps<TType>) => JSX.Element;\n\ntype CellProps<TType = unknown> = CellContext<TType, unknown> & {};\n\nfunction Cell<TType = unknown>(props: CellProps<TType>) {\n const { rowIndex } = React.useContext(RowContext);\n const tableMeta = props.table.options.meta as TableMeta<TType>;\n\n return (\n <MemoedCell\n {...props}\n isCurrentRow={tableMeta.currentRow.currentRowIndex === rowIndex}\n isEditing={tableMeta.editing.isEditing}\n />\n );\n}\n\nexport const EDITING_ACTIONS_WIDTH = 45;\n\nexport function createRowEditingActionsColumn<TType = unknown>(): DisplayColumnDef<TType, unknown> {\n return {\n id: COLUMN_ID,\n header: ColumnHeader,\n cell: Cell,\n footer: Footer,\n meta: {\n align: 'right',\n className: cn(\n 'items-center print:opacity-0 [[role=\"table\"][data-editing=\"true\"]_&]:group-[[data-current=\"true\"]]/row:sticky right-0 !pl-0 !pr-1',\n '[[role=\"table\"][data-editing=\"true\"]_&]:group-[[data-current=\"true\"]]/row:shadow-[-6px_0px_6px] [[role=\"table\"][data-pause-hover=\"false\"][data-editing=\"true\"]_&]:group-hover/row:shadow-[-6px_0px_6px]',\n 'group-[[data-current=\"true\"][data-selected=\"false\"]]/row:text-grey-200',\n 'group-[[data-selected=\"true\"]]/row:text-blue-100',\n 'group-[[data-selected=\"false\"]:hover]/row:text-grey-100'\n ),\n enableOrdering: false,\n enableSearch: false,\n enableTruncate: false,\n header: '',\n headerClassName: 'items-center !p-0',\n },\n // options\n enableResizing: false,\n size: EDITING_ACTIONS_WIDTH,\n minSize: EDITING_ACTIONS_WIDTH,\n };\n}\n"],"names":["savingIndicatorHideDelay","COLUMN_ID","MemoedCell","React","memo","props","isCurrentRow","isEditing","row","table","tableMeta","options","meta","savingState","editing","savingStates","id","isSavedIndicatorVisible","setIsSavingIndicatorVisible","useState","changeset","changes","Object","keys","isRowInEditingState","indexOf","texts","useLocalization","handleSaved","removeSavingState","timer","useTimer","useEffect","state","SavingStateValue","Saved","start","content","Saving","Tooltip","title","table3","saving","progress","Spinner","delay","className","complete","Icon","name","IconButton","appearance","actions","tooltip","icon","menu","menuProps","Menu","Content","Item","disabled","onClick","saveChangesIfNeeded","save","resetChange","clear","toggleEditing","exit","tabIndex","DisplayCell","cn","undefined","Cell","rowIndex","useContext","RowContext","currentRow","currentRowIndex","EDITING_ACTIONS_WIDTH","createRowEditingActionsColumn","header","ColumnHeader","cell","footer","Footer","align","enableOrdering","enableSearch","enableTruncate","headerClassName","enableResizing","size","minSize"],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import React__default from 'react';
2
+ import { Tooltip } from '../../../../Tooltip/Tooltip.js';
3
+ import { IconButton } from '../../../../IconButton/IconButton.js';
4
+ import { useLocalization } from '../../../../Provider/Localization.js';
5
+ import { Header as Header$1 } from '../header/Header.js';
6
+ import { RowContext } from '../../rows/RowContext.js';
7
+ import { DisplayCell } from '../cell/DisplayCell.js';
8
+ import { Footer } from '../footer/Footer.js';
9
+
10
+ const COLUMN_ID = '__expansion';
11
+ function Header(context) {
12
+ const {
13
+ texts
14
+ } = useLocalization();
15
+ const isSomeRowsExpanded = context.table.getIsSomeRowsExpanded();
16
+ const handleClick = event => {
17
+ event.stopPropagation();
18
+ context.table.toggleAllRowsExpanded(!isSomeRowsExpanded);
19
+ };
20
+ const title = isSomeRowsExpanded ? texts.table3.columns.expansion.collapseAll : texts.table3.columns.expansion.expandAll;
21
+ return /*#__PURE__*/React__default.createElement(Header$1, Object.assign({}, context), /*#__PURE__*/React__default.createElement(Tooltip, {
22
+ title: title
23
+ }, /*#__PURE__*/React__default.createElement(IconButton, {
24
+ appearance: "discrete",
25
+ icon: isSomeRowsExpanded ? 'chevron-down-double' : 'chevron-right-double',
26
+ onClick: handleClick,
27
+ tabIndex: -1,
28
+ title: title
29
+ })));
30
+ }
31
+ const MemoedCell = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
32
+ const {
33
+ expandedRowRenderer,
34
+ isCurrentRow,
35
+ isExpanded,
36
+ row,
37
+ table
38
+ } = props;
39
+ const {
40
+ texts
41
+ } = useLocalization();
42
+ const tableMeta = table.options.meta;
43
+ const hasExpandedRow = expandedRowRenderer(row.original);
44
+ let content;
45
+ if (hasExpandedRow) {
46
+ const handleClick = event => {
47
+ event.stopPropagation();
48
+ row.toggleExpanded();
49
+ };
50
+ const title = isExpanded ? texts.table3.columns.expansion.collapse : texts.table3.columns.expansion.expand;
51
+ const tabIndex = isCurrentRow && !tableMeta.editing.isEditing ? 0 : -1;
52
+ content = /*#__PURE__*/React__default.createElement(Tooltip, {
53
+ title: title
54
+ }, /*#__PURE__*/React__default.createElement(IconButton, {
55
+ appearance: "discrete",
56
+ icon: isExpanded ? 'chevron-down' : 'chevron-right',
57
+ onClick: handleClick,
58
+ tabIndex: tabIndex,
59
+ title: title
60
+ }));
61
+ }
62
+ return /*#__PURE__*/React__default.createElement(DisplayCell, Object.assign({}, props), content);
63
+ });
64
+ function Cell(props) {
65
+ const {
66
+ expandedRowRenderer,
67
+ ...context
68
+ } = props;
69
+ const {
70
+ rowIndex
71
+ } = React__default.useContext(RowContext);
72
+ const tableMeta = context.table.options.meta;
73
+ return /*#__PURE__*/React__default.createElement(MemoedCell, Object.assign({}, context, {
74
+ expandedRowRenderer: expandedRowRenderer,
75
+ isCurrentRow: tableMeta.currentRow.currentRowIndex === rowIndex,
76
+ isExpanded: context.row.getIsExpanded()
77
+ }));
78
+ }
79
+ function createRowExpansionColumn(expandedRowRenderer) {
80
+ return {
81
+ id: COLUMN_ID,
82
+ header: Header,
83
+ cell: context => /*#__PURE__*/React__default.createElement(Cell, Object.assign({}, context, {
84
+ expandedRowRenderer: expandedRowRenderer
85
+ })),
86
+ footer: Footer,
87
+ meta: {
88
+ align: 'center',
89
+ className: 'items-center !p-0',
90
+ enableOrdering: false,
91
+ enableSearch: false,
92
+ enableTruncate: false,
93
+ header: '',
94
+ headerClassName: 'items-center !p-0'
95
+ },
96
+ // options
97
+ enableResizing: false,
98
+ size: 40
99
+ };
100
+ }
101
+
102
+ export { COLUMN_ID, createRowExpansionColumn };
103
+ //# sourceMappingURL=Expansion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Expansion.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/internal/Expansion.tsx"],"sourcesContent":["import React from 'react';\nimport { HeaderContext, CellContext, DisplayColumnDef, TableMeta } from '@tanstack/react-table';\nimport { Header as ColumnHeader } from '../header/Header';\nimport { DisplayCell } from '../cell/DisplayCell';\nimport { Tooltip } from '../../../../Tooltip/Tooltip';\nimport { IconButton } from '../../../../IconButton/IconButton';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Table3RowExpansionRenderer } from '../../../types';\nimport { RowContext } from '../../rows/RowContext';\nimport { Footer } from '../footer/Footer';\n\nexport const COLUMN_ID = '__expansion';\n\nfunction Header<TType = unknown>(context: HeaderContext<TType, unknown>) {\n const { texts } = useLocalization();\n\n const isSomeRowsExpanded = context.table.getIsSomeRowsExpanded();\n const handleClick = event => {\n event.stopPropagation();\n context.table.toggleAllRowsExpanded(!isSomeRowsExpanded);\n };\n\n const title = isSomeRowsExpanded ? texts.table3.columns.expansion.collapseAll : texts.table3.columns.expansion.expandAll;\n\n return (\n <ColumnHeader {...context}>\n <Tooltip title={title}>\n <IconButton\n appearance=\"discrete\"\n icon={isSomeRowsExpanded ? 'chevron-down-double' : 'chevron-right-double'}\n onClick={handleClick}\n tabIndex={-1}\n title={title}\n />\n </Tooltip>\n </ColumnHeader>\n );\n}\n\ntype MemoedCellProps<TType = unknown> = CellContext<TType, unknown> & {\n expandedRowRenderer: Table3RowExpansionRenderer<TType>;\n isCurrentRow: boolean;\n isExpanded: boolean;\n};\n\nconst MemoedCell = React.memo(function MemoedCell<TType = unknown>(props: MemoedCellProps<TType>) {\n const { expandedRowRenderer, isCurrentRow, isExpanded, row, table } = props;\n const { texts } = useLocalization();\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n const hasExpandedRow = expandedRowRenderer(row.original);\n\n let content;\n\n if (hasExpandedRow) {\n const handleClick = event => {\n event.stopPropagation();\n row.toggleExpanded();\n };\n const title = isExpanded ? texts.table3.columns.expansion.collapse : texts.table3.columns.expansion.expand;\n\n const tabIndex = isCurrentRow && !tableMeta.editing.isEditing ? 0 : -1;\n\n content = (\n <Tooltip title={title}>\n <IconButton\n appearance=\"discrete\"\n icon={isExpanded ? 'chevron-down' : 'chevron-right'}\n onClick={handleClick}\n tabIndex={tabIndex}\n title={title}\n />\n </Tooltip>\n );\n }\n\n return <DisplayCell {...props}>{content}</DisplayCell>;\n}) as <TType = unknown>(props: MemoedCellProps<TType>) => JSX.Element;\n\ntype CellProps<TType = unknown> = CellContext<TType, unknown> & {\n expandedRowRenderer: Table3RowExpansionRenderer<TType>;\n};\n\nfunction Cell<TType = unknown>(props: CellProps<TType>) {\n const { expandedRowRenderer, ...context } = props;\n const { rowIndex } = React.useContext(RowContext);\n const tableMeta = context.table.options.meta as TableMeta<TType>;\n\n return (\n <MemoedCell\n {...context}\n expandedRowRenderer={expandedRowRenderer}\n isCurrentRow={tableMeta.currentRow.currentRowIndex === rowIndex}\n isExpanded={context.row.getIsExpanded()}\n />\n );\n}\n\nexport function createRowExpansionColumn<TType = unknown>(\n expandedRowRenderer: Table3RowExpansionRenderer<TType>\n): DisplayColumnDef<TType, unknown> {\n return {\n id: COLUMN_ID,\n header: Header,\n cell: (context: CellContext<TType, unknown>) => <Cell {...context} expandedRowRenderer={expandedRowRenderer} />,\n footer: Footer,\n meta: {\n align: 'center',\n className: 'items-center !p-0',\n enableOrdering: false,\n enableSearch: false,\n enableTruncate: false,\n header: '',\n headerClassName: 'items-center !p-0',\n },\n // options\n enableResizing: false,\n size: 40,\n };\n}\n"],"names":["COLUMN_ID","Header","context","texts","useLocalization","isSomeRowsExpanded","table","getIsSomeRowsExpanded","handleClick","event","stopPropagation","toggleAllRowsExpanded","title","table3","columns","expansion","collapseAll","expandAll","React","ColumnHeader","Tooltip","IconButton","appearance","icon","onClick","tabIndex","MemoedCell","memo","props","expandedRowRenderer","isCurrentRow","isExpanded","row","tableMeta","options","meta","hasExpandedRow","original","content","toggleExpanded","collapse","expand","editing","isEditing","DisplayCell","Cell","rowIndex","useContext","RowContext","currentRow","currentRowIndex","getIsExpanded","createRowExpansionColumn","id","header","cell","footer","Footer","align","className","enableOrdering","enableSearch","enableTruncate","headerClassName","enableResizing","size"],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ import React__default from 'react';
2
+ import cn from 'classnames';
3
+ import { Tooltip } from '../../../../Tooltip/Tooltip.js';
4
+ import { useLocalization } from '../../../../Provider/Localization.js';
5
+ import { Checkbox } from '../../../../Checkbox/Checkbox.js';
6
+ import { getRadioClassnames } from '../../../../RadioGroup/util.js';
7
+ import { Header as Header$1 } from '../header/Header.js';
8
+ import { RowContext } from '../../rows/RowContext.js';
9
+ import { DisplayCell } from '../cell/DisplayCell.js';
10
+ import { Footer } from '../footer/Footer.js';
11
+
12
+ const COLUMN_ID = '__select';
13
+ function Header(context) {
14
+ const {
15
+ texts
16
+ } = useLocalization();
17
+ if (context.table.options.enableMultiRowSelection) {
18
+ const isAllRowsSelected = context.table.getIsAllRowsSelected();
19
+ const isSomeRowsSelected = context.table.getIsSomeRowsSelected();
20
+ const title = isAllRowsSelected ? texts.table3.columns.select.deselectAll : texts.table3.columns.select.selectAll;
21
+ return /*#__PURE__*/React__default.createElement(Header$1, Object.assign({}, context), /*#__PURE__*/React__default.createElement(Tooltip, {
22
+ title: title
23
+ }, /*#__PURE__*/React__default.createElement(Checkbox, {
24
+ "aria-label": title,
25
+ className: "hover:border-blue !mt-0",
26
+ key: String(`${isAllRowsSelected}_${isSomeRowsSelected}`),
27
+ checked: isAllRowsSelected,
28
+ indeterminate: isSomeRowsSelected,
29
+ onChange: context.table.toggleAllRowsSelected,
30
+ tabIndex: -1
31
+ })));
32
+ } else {
33
+ return /*#__PURE__*/React__default.createElement(Header$1, Object.assign({}, context));
34
+ }
35
+ }
36
+ const toggleBetween = (fromRowIndex, toRowIndex) => {
37
+ const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;
38
+ const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;
39
+ return [fromIndex, toIndex];
40
+ };
41
+ const Cell = /*#__PURE__*/React__default.memo(function MemoedCell(context) {
42
+ const {
43
+ texts
44
+ } = useLocalization();
45
+ const {
46
+ rowIndex
47
+ } = React__default.useContext(RowContext);
48
+ const tableMeta = context.table.options.meta;
49
+ const isCurrentRow = tableMeta.currentRow.currentRowIndex === rowIndex;
50
+ const isSelected = context.row.getIsSelected();
51
+ const title = isSelected ? texts.table3.columns.select.deselect : texts.table3.columns.select.select;
52
+ if (context.table.options.enableMultiRowSelection) {
53
+ const handleClick = event => {
54
+ event.stopPropagation();
55
+ if (event.shiftKey) {
56
+ var _tableMeta$rowSelecti;
57
+ const [fromIndex, toIndex] = toggleBetween((_tableMeta$rowSelecti = tableMeta.rowSelection.lastSelectedRowIndex.current) !== null && _tableMeta$rowSelecti !== void 0 ? _tableMeta$rowSelecti : 0, rowIndex);
58
+ context.table.getRowModel().rows.slice(fromIndex, toIndex + 1).forEach(row => row.toggleSelected(true));
59
+ } else {
60
+ context.row.toggleSelected();
61
+ }
62
+ tableMeta.rowSelection.lastSelectedRowIndex.current = rowIndex;
63
+ };
64
+ return /*#__PURE__*/React__default.createElement(DisplayCell, Object.assign({}, context), /*#__PURE__*/React__default.createElement(Checkbox, {
65
+ "aria-label": title,
66
+ className: "!mt-0",
67
+ checked: isSelected,
68
+ onClick: handleClick,
69
+ // this is necessary to remove console spam from eslint
70
+ onChange: () => false,
71
+ tabIndex: isCurrentRow ? 0 : -1
72
+ }));
73
+ } else {
74
+ const className = cn('!mt-0', getRadioClassnames());
75
+ const handleClick = event => {
76
+ event.stopPropagation();
77
+ context.row.toggleSelected();
78
+ tableMeta.rowSelection.lastSelectedRowIndex.current = rowIndex;
79
+ };
80
+ return /*#__PURE__*/React__default.createElement(DisplayCell, Object.assign({}, context), /*#__PURE__*/React__default.createElement("button", {
81
+ className: className,
82
+ "aria-checked": isSelected,
83
+ onClick: handleClick,
84
+ role: "radio",
85
+ tabIndex: -1,
86
+ type: "button"
87
+ }, isSelected ? /*#__PURE__*/React__default.createElement("span", {
88
+ className: "h-2 w-2 rounded-full bg-white"
89
+ }) : null));
90
+ }
91
+ }, function arePropsEqual(oldProps, newProps) {
92
+ const oldTableMeta = newProps.table.options.meta;
93
+ const newTableMeta = newProps.table.options.meta;
94
+ // we memo because we don't want the row re-rendering and removing focus from the checkbox
95
+ // we can't default to the standard comparison because we need currentRow off the table meta
96
+ // and we don't really care about re-rendering in any other scenario
97
+ return newTableMeta.currentRow.currentRowIndex === oldTableMeta.currentRow.currentRowIndex && newProps.row.getIsSelected() !== oldProps.row.getIsSelected();
98
+ });
99
+ function createRowSelectionColumn(onRowDrag) {
100
+ return {
101
+ id: COLUMN_ID,
102
+ header: Header,
103
+ cell: Cell,
104
+ footer: Footer,
105
+ meta: {
106
+ align: 'center',
107
+ className: 'items-center !justify-end !p-0 !pr-0.5',
108
+ enableOrdering: false,
109
+ enableSearch: false,
110
+ enableTruncate: false,
111
+ header: '',
112
+ headerClassName: 'items-center !justify-end !p-0 !pr-0.5'
113
+ },
114
+ // options
115
+ enableResizing: false,
116
+ size: onRowDrag ? 22 : 32
117
+ };
118
+ }
119
+
120
+ export { COLUMN_ID, createRowSelectionColumn };
121
+ //# sourceMappingURL=Selection.js.map