@economic/taco 2.12.1 → 2.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (231) hide show
  1. package/dist/components/Field/Field.d.ts +4 -2
  2. package/dist/components/Icon/components/Location.d.ts +3 -0
  3. package/dist/components/Icon/components/index.d.ts +1 -1
  4. package/dist/components/Input/Input.d.ts +1 -1
  5. package/dist/components/Menu/components/Item.d.ts +1 -1
  6. package/dist/components/Menu/components/Link.d.ts +1 -1
  7. package/dist/components/Navigation2/components/Link.d.ts +1 -1
  8. package/dist/components/Provider/Localization.d.ts +1 -113
  9. package/dist/components/Select2/components/Option.d.ts +7 -5
  10. package/dist/components/Select2/components/Search.d.ts +1 -1
  11. package/dist/components/Table3/Table3.d.ts +9 -1
  12. package/dist/components/Table3/components/columns/header/Group.d.ts +15 -0
  13. package/dist/components/Table3/components/columns/header/Header.d.ts +5 -0
  14. package/dist/components/Table3/components/columns/internal/EditingActions.d.ts +1 -1
  15. package/dist/components/Table3/components/columns/styles.d.ts +2 -2
  16. package/dist/components/Table3/components/toolbar/Filter/filters/components/Filter.d.ts +4 -4
  17. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.d.ts +3 -2
  18. package/dist/components/Table3/components/toolbar/Filter/filters/components/Placeholder.d.ts +3 -2
  19. package/dist/components/Table3/components/toolbar/FontSize.d.ts +4 -0
  20. package/dist/components/Table3/hooks/features/useHeaderOffsetStyle.d.ts +3 -0
  21. package/dist/components/Table3/hooks/useCssGrid.d.ts +2 -1
  22. package/dist/components/Table3/hooks/useTable.d.ts +1 -1
  23. package/dist/components/Table3/types.d.ts +8 -1
  24. package/dist/components/Tag/Tag.d.ts +1 -1
  25. package/dist/esm/index.css +24 -6
  26. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +1 -1
  27. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
  28. package/dist/esm/packages/taco/src/components/Field/Field.js +6 -4
  29. package/dist/esm/packages/taco/src/components/Field/Field.js.map +1 -1
  30. package/dist/esm/packages/taco/src/components/Icon/components/Location.js +17 -0
  31. package/dist/esm/packages/taco/src/components/Icon/components/Location.js.map +1 -0
  32. package/dist/esm/packages/taco/src/components/Icon/components/index.js +2 -0
  33. package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
  34. package/dist/esm/packages/taco/src/components/Provider/Localization.js +1 -110
  35. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  36. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js +1 -1
  37. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js.map +1 -1
  38. package/dist/esm/packages/taco/src/components/Select2/components/Option.js +13 -6
  39. package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
  40. package/dist/esm/packages/taco/src/components/Select2/components/Search.js +1 -1
  41. package/dist/esm/packages/taco/src/components/Select2/components/Search.js.map +1 -1
  42. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +7 -6
  43. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
  44. package/dist/esm/packages/taco/src/components/Table3/Table3.js +29 -11
  45. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  46. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js +2 -5
  47. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +1 -1
  48. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +1 -4
  49. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -1
  50. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js.map +1 -1
  51. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Group.js +70 -0
  52. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Group.js.map +1 -0
  53. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +26 -8
  54. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -1
  55. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js +6 -1
  56. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js.map +1 -1
  57. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +3 -2
  58. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -1
  59. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js +13 -9
  60. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js.map +1 -1
  61. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js +14 -2
  62. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -1
  63. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +10 -7
  64. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -1
  65. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +15 -8
  66. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -1
  67. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js +2 -2
  68. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js.map +1 -1
  69. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js +25 -4
  70. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +1 -1
  71. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js +0 -1
  72. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js.map +1 -1
  73. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js +5 -3
  74. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js.map +1 -1
  75. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js +2 -2
  76. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js.map +1 -1
  77. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js +9 -4
  78. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js.map +1 -1
  79. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +2 -3
  80. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -1
  81. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js +3 -2
  82. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js.map +1 -1
  83. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js +1 -1
  84. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useHeaderOffsetStyle.js +24 -0
  85. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useHeaderOffsetStyle.js.map +1 -0
  86. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSettings.js +6 -7
  87. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSettings.js.map +1 -1
  88. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +48 -0
  89. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -1
  90. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +34 -9
  91. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -1
  92. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js +6 -5
  93. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js.map +1 -1
  94. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js +11 -9
  95. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js.map +1 -1
  96. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -1
  97. package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -1
  98. package/dist/esm/packages/taco/src/index.js +1 -2
  99. package/dist/esm/packages/taco/src/index.js.map +1 -1
  100. package/dist/esm/packages/taco/src/utils/dom.js +1 -2
  101. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  102. package/dist/index.css +24 -6
  103. package/dist/index.d.ts +0 -1
  104. package/dist/taco.cjs.development.js +697 -4100
  105. package/dist/taco.cjs.development.js.map +1 -1
  106. package/dist/taco.cjs.production.min.js +1 -1
  107. package/dist/taco.cjs.production.min.js.map +1 -1
  108. package/package.json +2 -2
  109. package/tailwind.config.js +3 -0
  110. package/types.json +14334 -32345
  111. package/dist/components/Table2/Table2.d.ts +0 -130
  112. package/dist/components/Table2/components/BatchActionsMenu.d.ts +0 -10
  113. package/dist/components/Table2/components/ColumnSettingsButton.d.ts +0 -6
  114. package/dist/components/Table2/components/EditModeButton.d.ts +0 -8
  115. package/dist/components/Table2/components/RowDensityButton.d.ts +0 -7
  116. package/dist/components/Table2/components/Search.d.ts +0 -3
  117. package/dist/components/Table2/components/ShortcutsGuideButton.d.ts +0 -7
  118. package/dist/components/Table2/components/column/Base.d.ts +0 -14
  119. package/dist/components/Table2/components/column/Cell.d.ts +0 -15
  120. package/dist/components/Table2/components/column/Footer.d.ts +0 -9
  121. package/dist/components/Table2/components/column/Header.d.ts +0 -11
  122. package/dist/components/Table2/components/column/Indicator.d.ts +0 -17
  123. package/dist/components/Table2/components/column/ValidationError.d.ts +0 -5
  124. package/dist/components/Table2/components/column/utils.d.ts +0 -3
  125. package/dist/components/Table2/components/filters/FiltersButton.d.ts +0 -7
  126. package/dist/components/Table2/components/filters/components/Column.d.ts +0 -11
  127. package/dist/components/Table2/components/filters/components/ColumnFilter.d.ts +0 -10
  128. package/dist/components/Table2/components/filters/components/Comparator.d.ts +0 -11
  129. package/dist/components/Table2/components/filters/components/EmptyFilter.d.ts +0 -13
  130. package/dist/components/Table2/components/filters/components/InferredControl.d.ts +0 -10
  131. package/dist/components/Table2/components/row/Context.d.ts +0 -24
  132. package/dist/components/Table2/components/row/ExpandedRow.d.ts +0 -6
  133. package/dist/components/Table2/components/row/Row.d.ts +0 -2
  134. package/dist/components/Table2/hooks/listeners/useActiveCellStateListener.d.ts +0 -3
  135. package/dist/components/Table2/hooks/listeners/useActiveRowStateListener.d.ts +0 -3
  136. package/dist/components/Table2/hooks/listeners/useColumnOffsetStateListener.d.ts +0 -3
  137. package/dist/components/Table2/hooks/listeners/useFilterStateListener.d.ts +0 -3
  138. package/dist/components/Table2/hooks/listeners/useRowSelectionListener.d.ts +0 -3
  139. package/dist/components/Table2/hooks/listeners/useSettingsStateListener.d.ts +0 -3
  140. package/dist/components/Table2/hooks/useActiveCell.d.ts +0 -26
  141. package/dist/components/Table2/hooks/useActiveRow.d.ts +0 -10
  142. package/dist/components/Table2/hooks/useColumnDefinitions.d.ts +0 -37
  143. package/dist/components/Table2/hooks/useEditMode.d.ts +0 -28
  144. package/dist/components/Table2/hooks/useGridTemplate.d.ts +0 -2
  145. package/dist/components/Table2/hooks/useTable.d.ts +0 -46
  146. package/dist/components/Table2/hooks/useTableShortcuts.d.ts +0 -2
  147. package/dist/components/Table2/hooks/useVirtualiser.d.ts +0 -23
  148. package/dist/components/Table2/types.d.ts +0 -148
  149. package/dist/components/Table2/utilities/cell.d.ts +0 -14
  150. package/dist/components/Table2/utilities/columns.d.ts +0 -16
  151. package/dist/components/Table2/utilities/filterFn.d.ts +0 -3
  152. package/dist/esm/packages/taco/src/components/Table2/Table2.js +0 -422
  153. package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +0 -1
  154. package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js +0 -83
  155. package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js.map +0 -1
  156. package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js +0 -116
  157. package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js.map +0 -1
  158. package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js +0 -81
  159. package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js.map +0 -1
  160. package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js +0 -47
  161. package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js.map +0 -1
  162. package/dist/esm/packages/taco/src/components/Table2/components/Search.js +0 -62
  163. package/dist/esm/packages/taco/src/components/Table2/components/Search.js.map +0 -1
  164. package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js +0 -32
  165. package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js.map +0 -1
  166. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +0 -605
  167. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +0 -1
  168. package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js +0 -32
  169. package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js.map +0 -1
  170. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js +0 -243
  171. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js.map +0 -1
  172. package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js +0 -73
  173. package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js.map +0 -1
  174. package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js +0 -30
  175. package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js.map +0 -1
  176. package/dist/esm/packages/taco/src/components/Table2/components/column/utils.js +0 -39
  177. package/dist/esm/packages/taco/src/components/Table2/components/column/utils.js.map +0 -1
  178. package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +0 -155
  179. package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js.map +0 -1
  180. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js +0 -31
  181. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js.map +0 -1
  182. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js +0 -129
  183. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js.map +0 -1
  184. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js +0 -68
  185. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js.map +0 -1
  186. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js +0 -63
  187. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js.map +0 -1
  188. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js +0 -99
  189. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js.map +0 -1
  190. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js +0 -58
  191. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js.map +0 -1
  192. package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js +0 -36
  193. package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js.map +0 -1
  194. package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js +0 -44
  195. package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js.map +0 -1
  196. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js +0 -19
  197. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js.map +0 -1
  198. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js +0 -28
  199. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js.map +0 -1
  200. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useFilterStateListener.js +0 -12
  201. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useFilterStateListener.js.map +0 -1
  202. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js +0 -18
  203. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js.map +0 -1
  204. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js +0 -25
  205. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js.map +0 -1
  206. package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js +0 -33
  207. package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js.map +0 -1
  208. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +0 -122
  209. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +0 -1
  210. package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js +0 -112
  211. package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js.map +0 -1
  212. package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js +0 -34
  213. package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js.map +0 -1
  214. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js +0 -222
  215. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +0 -1
  216. package/dist/esm/packages/taco/src/components/Table2/hooks/useTableShortcuts.js +0 -46
  217. package/dist/esm/packages/taco/src/components/Table2/hooks/useTableShortcuts.js.map +0 -1
  218. package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js +0 -48
  219. package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js.map +0 -1
  220. package/dist/esm/packages/taco/src/components/Table2/types.js +0 -18
  221. package/dist/esm/packages/taco/src/components/Table2/types.js.map +0 -1
  222. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js +0 -41
  223. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js.map +0 -1
  224. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +0 -387
  225. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +0 -1
  226. package/dist/esm/packages/taco/src/components/Table2/utilities/filterFn.js +0 -100
  227. package/dist/esm/packages/taco/src/components/Table2/utilities/filterFn.js.map +0 -1
  228. package/dist/esm/packages/taco/src/components/Truncate/Truncate.js +0 -32
  229. package/dist/esm/packages/taco/src/components/Truncate/Truncate.js.map +0 -1
  230. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js +0 -20
  231. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../../../src/components/Table2/types.ts"],"sourcesContent":["import React from 'react';\nimport {\n BuiltInSortingFn,\n ColumnFiltersState,\n ColumnOrderState,\n ColumnSizingState,\n OnChangeFn,\n Row,\n SortingState,\n VisibilityState,\n} from '@tanstack/react-table';\nimport { DialogProps } from '../Dialog/Dialog';\nimport { IconName } from '../Icon/Icon';\nimport { MenuProps } from '../Menu/Menu';\n\nexport enum Table2FilterComparator {\n Contains,\n DoesNotContain,\n IsEqualTo,\n IsNotEqualTo,\n IsGreaterThan,\n IsLessThan,\n IsBetween,\n IsOneOf,\n IsNoneOf,\n IsAllOf,\n IsEmpty,\n IsNotEmpty,\n}\n\nexport type Table2Filter<TType = any> = {\n comparator?: Table2FilterComparator;\n value: TType | TType[];\n};\n\nexport type ColumnOffsetState = Record<string, number | undefined>;\nexport type RowDensity = 'compact' | 'normal' | 'comfortable' | 'spacious';\nexport type CellAlignment = 'left' | 'center' | 'right';\n\nexport type SortDirection = 'asc' | 'desc';\nexport type ColumnDataType = 'auto' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';\n\nexport type Table2ColumnHeaderRenderer<TType = any> = (value: any, row: TType) => JSX.Element | string | null;\nexport type Table2ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;\nexport type Table2ColumnFooterRenderer = (values: any[]) => JSX.Element | string | null;\n\nexport type Table2ColumnControlProps = {\n className?: string;\n disabled?: boolean;\n invalid?: boolean;\n onBlur: ((newValue?: any) => void) | ((newValue?: any) => Promise<void>);\n onFocus: React.FocusEventHandler;\n readOnly?: boolean;\n ref: React.RefObject<HTMLElement>;\n setValue: (value: any) => void;\n value: any;\n // This is a temporary fix to enable up/down arrow key shortcuts on input in quick mode. For some reason,\n // the preventDefault is true on Taco Input, so the keyboard shortcuts doesn't work. By adding this\n // data attribute we make sure the event is coming from a control component, and then we can make sure\n // keyboard shortcut works as expected.\n 'data-inline-editing-component'?: 'true';\n};\nexport type Table2ColumnControlRenderer<TType = any> =\n | ((props: Table2ColumnControlProps, row?: TType) => JSX.Element)\n | 'datepicker'\n | 'input'\n | 'switch';\n\nexport type SortFn<TType = unknown> = ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1) | BuiltInSortingFn | 'auto';\n\nexport type Table2ColumnProps<TType = any> = {\n accessor: string;\n align?: CellAlignment;\n className?: string | ((row: Row<TType>) => string);\n control?: Table2ColumnControlRenderer<TType>;\n dataType?: ColumnDataType;\n defaultActiveColumnIndex?: number;\n defaultActiveRowIndex?: number;\n defaultHidden?: boolean;\n disableFiltering?: boolean;\n disableHiding?: boolean;\n disableReordering?: boolean;\n disableResizing?: boolean;\n disableSorting?: boolean;\n defaultWidth?: number | 'grow';\n header: string;\n headerClassName?: string;\n footer?: Table2ColumnFooterRenderer;\n renderer?: Table2ColumnHeaderRenderer<TType>;\n menu?: Table2ColumnHeaderMenu;\n minWidth?: number;\n sort?: SortDirection;\n sortFn?: SortFn<TType>;\n tooltip?: string;\n};\n\nexport type Table2ActionProps<TType> = {\n dialog?: (rows: TType[], resetSelectedRows: () => void) => (props: Partial<DialogProps>) => JSX.Element;\n disabled?: boolean | ((rows: TType[]) => boolean);\n icon: IconName | ((rows: TType[]) => IconName);\n onClick?: (rows: TType[], resetSelectedRows: () => void) => void;\n text: string | ((rows: TType[]) => string);\n visible?: boolean | ((rows: TType[]) => boolean);\n};\n\nexport type Table2RowActionRenderer<TType = unknown> = (row: TType) => JSX.Element | null;\n\nexport type Table2Settings = {\n columnFilters?: ColumnFiltersState;\n columnOrder?: ColumnOrderState;\n columnSizing?: ColumnSizingState;\n columnVisibility?: VisibilityState;\n frozenColumnCount?: number;\n globalFilter?: string;\n rowDensity?: RowDensity;\n sorting?: SortingState;\n};\n\nexport type RowClickHandler<TType = any> = (row: TType) => void;\nexport type RowDragHandler<TType = any> = (\n rows: TType[],\n showPlaceholder: (string) => void,\n setDataTransfer: (data: string) => void\n) => void;\nexport type RowDropHandler<TType = any> = (event: React.DragEvent, row: TType) => void;\nexport type RowSelectionHandler<TType = any> = (rows: TType[], allSelected: boolean) => void;\nexport type RowExpansionRenderer<TType = any> = (row: TType) => (() => JSX.Element) | null;\nexport type SortHandler = OnChangeFn<SortingState>;\nexport type SettingsHandler = OnChangeFn<Table2Settings>;\nexport type SaveHandlerErrorResponse = Record<string, string | undefined | null> | null;\nexport type SaveHandler<TType = any> = (row: TType, accessor: string) => Promise<SaveHandlerErrorResponse | void>;\n\nexport type DataColumnIndexes = {\n dataColumnStartOffset: number;\n dataColumnEndOffset: number;\n};\n\nexport type Table2Children<TType = any> = (React.ReactElement<Table2ColumnProps<TType>> | boolean | null | undefined)[];\n\nexport type Table2ShortcutHandlerFn<TType = any> = (row: TType) => void;\nexport type Table2ShortcutHandlerObject<TType = any> = {\n handler: Table2ShortcutHandlerFn<TType>;\n meta?: boolean;\n shift?: boolean;\n};\nexport type Table2Shortcuts<TType = any> = Record<string, Table2ShortcutHandlerFn<TType> | Table2ShortcutHandlerObject<TType>>;\n\nexport type Table2Props<TType = any> = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & {\n actionsForRow?: Table2RowActionRenderer<TType>[];\n actionsForRowLength?: number;\n children: Table2Children;\n className?: string;\n data: TType[];\n defaultActiveRowIndex?: number;\n disableColumnFiltering?: boolean;\n disableColumnHiding?: boolean;\n disableColumnFreezing?: boolean;\n disableColumnReordering?: boolean;\n disableColumnResizing?: boolean;\n disableRowDensity?: boolean;\n disableRowExpansion?: boolean;\n disableRowSelection?: boolean;\n disableMultipleRowSelection?: boolean;\n disableSearch?: boolean;\n disableSorting?: boolean;\n emptyState?: () => JSX.Element;\n expandedRowRenderer?: RowExpansionRenderer<TType>;\n length?: number;\n loadMore?: () => Promise<void>;\n manualColumnFiltering?: boolean;\n manualSearch?: boolean;\n manualSorting?: boolean;\n onChangeSettings?: SettingsHandler;\n onRowClick?: RowClickHandler<TType>;\n onRowDrag?: RowDragHandler<TType>;\n onRowDrop?: RowDropHandler<TType>;\n onRowSelect?: RowSelectionHandler<TType>;\n onSave?: SaveHandler<TType>;\n shortcuts?: Table2Shortcuts<TType>;\n toolbarLeft?: JSX.Element;\n toolbarRight?: JSX.Element;\n settings?: Table2Settings;\n _experimentalActionsForTable?: Table2ActionProps<TType>[];\n _experimentalActionsForTableSummary?: (rows: TType[]) => JSX.Element | string;\n};\n"],"names":["Table2FilterComparator"],"mappings":"IAeYA;AAAZ,WAAYA,sBAAsB;EAC9BA,2EAAQ;EACRA,uFAAc;EACdA,6EAAS;EACTA,mFAAY;EACZA,qFAAa;EACbA,+EAAU;EACVA,6EAAS;EACTA,yEAAO;EACPA,2EAAQ;EACRA,yEAAO;EACPA,0EAAO;EACPA,gFAAU;AACd,CAAC,EAbWA,sBAAsB,KAAtBA,sBAAsB;;;;"}
@@ -1,41 +0,0 @@
1
- import cn from 'classnames';
2
- import { COLUMN_ID_FOR_EXPANSION, COLUMN_ID_FOR_SELECTION } from './columns.js';
3
-
4
- const getDensitySizing = (density, editing = false) => {
5
- switch (density) {
6
- case 'compact':
7
- return editing ? 'py-0' : 'py-1.5';
8
- case 'comfortable':
9
- return editing ? 'py-2' : 'py-3.5';
10
- case 'spacious':
11
- return editing ? 'py-3' : 'py-5';
12
- default:
13
- return editing ? 'py-1' : 'py-2.5';
14
- }
15
- };
16
- const getCellSizingClasses = (density = 'normal', editing = false) => {
17
- return cn('min-h-0 flex items-start', getDensitySizing(density, editing), editing ? 'px-[7px]' : 'px-4');
18
- };
19
- const getCellAlignmentClasses = (alignment = 'left') => ({
20
- 'justify-start text-left': alignment === 'left',
21
- 'justify-end text-right': alignment === 'right',
22
- 'justify-center text-center': alignment === 'center'
23
- });
24
- const getFrozenShadowClasses = (column, frozenColumns, isHorizontallyOffset) => {
25
- const frozen = !!column.getIsPinned();
26
- // react-table has column.getPinnedIndex() but it does not exclude hidden columns, so the number is wrong
27
- const frozenColumnIndex = frozenColumns.indexOf(column.id);
28
- const isLastFrozen = frozen && frozenColumnIndex === frozenColumns.length - 1;
29
- const hideFrozenShadow = !isHorizontallyOffset && (column.id === COLUMN_ID_FOR_EXPANSION || column.id === COLUMN_ID_FOR_SELECTION);
30
- return {
31
- 'shadow-[6px_0px_6px_rgb(0_0_0/8%),1px_0px_0px_theme(colors.grey.300)]': isLastFrozen && isHorizontallyOffset,
32
- 'shadow-[1px_0px_0px_theme(colors.grey.300)]': isLastFrozen && !isHorizontallyOffset && !hideFrozenShadow
33
- };
34
- };
35
- const focussableNodeNames = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'DETAILS'];
36
- const isKeyboardFocusableElement = element => {
37
- return focussableNodeNames.includes(element.nodeName) && !element.hasAttribute('disabled') && !element.hasAttribute('readonly') && !element.getAttribute('aria-hidden');
38
- };
39
-
40
- export { focussableNodeNames, getCellAlignmentClasses, getCellSizingClasses, getFrozenShadowClasses, isKeyboardFocusableElement };
41
- //# sourceMappingURL=cell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cell.js","sources":["../../../../../../../../src/components/Table2/utilities/cell.ts"],"sourcesContent":["import cn from 'classnames';\nimport { Column } from '@tanstack/react-table';\nimport { CellAlignment, RowDensity } from '../types';\nimport { COLUMN_ID_FOR_EXPANSION, COLUMN_ID_FOR_SELECTION } from './columns';\n\nconst getDensitySizing = (density: RowDensity, editing = false) => {\n switch (density) {\n case 'compact':\n return editing ? 'py-0' : 'py-1.5';\n case 'comfortable':\n return editing ? 'py-2' : 'py-3.5';\n case 'spacious':\n return editing ? 'py-3' : 'py-5';\n default:\n return editing ? 'py-1' : 'py-2.5';\n }\n};\n\nexport const getCellSizingClasses = (density: RowDensity = 'normal', editing = false) => {\n return cn('min-h-0 flex items-start', getDensitySizing(density, editing), editing ? 'px-[7px]' : 'px-4');\n};\n\nexport const getCellAlignmentClasses = (alignment: CellAlignment = 'left') => ({\n 'justify-start text-left': alignment === 'left',\n 'justify-end text-right': alignment === 'right',\n 'justify-center text-center': alignment === 'center',\n});\n\nexport const getFrozenShadowClasses = (column: Column<any, any>, frozenColumns: string[], isHorizontallyOffset: boolean) => {\n const frozen = !!column.getIsPinned();\n\n // react-table has column.getPinnedIndex() but it does not exclude hidden columns, so the number is wrong\n const frozenColumnIndex = frozenColumns.indexOf(column.id);\n const isLastFrozen = frozen && frozenColumnIndex === frozenColumns.length - 1;\n const hideFrozenShadow =\n !isHorizontallyOffset && (column.id === COLUMN_ID_FOR_EXPANSION || column.id === COLUMN_ID_FOR_SELECTION);\n\n return {\n 'shadow-[6px_0px_6px_rgb(0_0_0/8%),1px_0px_0px_theme(colors.grey.300)]': isLastFrozen && isHorizontallyOffset,\n 'shadow-[1px_0px_0px_theme(colors.grey.300)]': isLastFrozen && !isHorizontallyOffset && !hideFrozenShadow,\n };\n};\n\nexport const focussableNodeNames = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'DETAILS'];\n\nexport const isKeyboardFocusableElement = (element: Element) => {\n return (\n focussableNodeNames.includes(element.nodeName) &&\n !element.hasAttribute('disabled') &&\n !element.hasAttribute('readonly') &&\n !element.getAttribute('aria-hidden')\n );\n};\n"],"names":["getDensitySizing","density","editing","getCellSizingClasses","cn","getCellAlignmentClasses","alignment","getFrozenShadowClasses","column","frozenColumns","isHorizontallyOffset","frozen","getIsPinned","frozenColumnIndex","indexOf","id","isLastFrozen","length","hideFrozenShadow","COLUMN_ID_FOR_EXPANSION","COLUMN_ID_FOR_SELECTION","focussableNodeNames","isKeyboardFocusableElement","element","includes","nodeName","hasAttribute","getAttribute"],"mappings":";;;AAKA,MAAMA,gBAAgB,GAAGA,CAACC,OAAmB,EAAEC,OAAO,GAAG,KAAK;EAC1D,QAAQD,OAAO;IACX,KAAK,SAAS;MACV,OAAOC,OAAO,GAAG,MAAM,GAAG,QAAQ;IACtC,KAAK,aAAa;MACd,OAAOA,OAAO,GAAG,MAAM,GAAG,QAAQ;IACtC,KAAK,UAAU;MACX,OAAOA,OAAO,GAAG,MAAM,GAAG,MAAM;IACpC;MACI,OAAOA,OAAO,GAAG,MAAM,GAAG,QAAQ;;AAE9C,CAAC;MAEYC,oBAAoB,GAAGA,CAACF,UAAsB,QAAQ,EAAEC,OAAO,GAAG,KAAK;EAChF,OAAOE,EAAE,CAAC,0BAA0B,EAAEJ,gBAAgB,CAACC,OAAO,EAAEC,OAAO,CAAC,EAAEA,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAC5G;MAEaG,uBAAuB,GAAGA,CAACC,YAA2B,MAAM,MAAM;EAC3E,yBAAyB,EAAEA,SAAS,KAAK,MAAM;EAC/C,wBAAwB,EAAEA,SAAS,KAAK,OAAO;EAC/C,4BAA4B,EAAEA,SAAS,KAAK;CAC/C;MAEYC,sBAAsB,GAAGA,CAACC,MAAwB,EAAEC,aAAuB,EAAEC,oBAA6B;EACnH,MAAMC,MAAM,GAAG,CAAC,CAACH,MAAM,CAACI,WAAW,EAAE;;EAGrC,MAAMC,iBAAiB,GAAGJ,aAAa,CAACK,OAAO,CAACN,MAAM,CAACO,EAAE,CAAC;EAC1D,MAAMC,YAAY,GAAGL,MAAM,IAAIE,iBAAiB,KAAKJ,aAAa,CAACQ,MAAM,GAAG,CAAC;EAC7E,MAAMC,gBAAgB,GAClB,CAACR,oBAAoB,KAAKF,MAAM,CAACO,EAAE,KAAKI,uBAAuB,IAAIX,MAAM,CAACO,EAAE,KAAKK,uBAAuB,CAAC;EAE7G,OAAO;IACH,uEAAuE,EAAEJ,YAAY,IAAIN,oBAAoB;IAC7G,6CAA6C,EAAEM,YAAY,IAAI,CAACN,oBAAoB,IAAI,CAACQ;GAC5F;AACL;MAEaG,mBAAmB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS;MAE9EC,0BAA0B,GAAIC,OAAgB;EACvD,OACIF,mBAAmB,CAACG,QAAQ,CAACD,OAAO,CAACE,QAAQ,CAAC,IAC9C,CAACF,OAAO,CAACG,YAAY,CAAC,UAAU,CAAC,IACjC,CAACH,OAAO,CAACG,YAAY,CAAC,UAAU,CAAC,IACjC,CAACH,OAAO,CAACI,YAAY,CAAC,aAAa,CAAC;AAE5C;;;;"}
@@ -1,387 +0,0 @@
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 { Checkbox } from '../../Checkbox/Checkbox.js';
7
- import { Shortcut } from '../../Shortcut/Shortcut.js';
8
- import { Menu } from '../../Menu/Menu.js';
9
- import { useRowContext } from '../components/row/Context.js';
10
-
11
- const COLUMN_ID_FOR_DRAGGABLE = '__draggable';
12
- const COLUMN_ID_FOR_SELECTION = '__select';
13
- const COLUMN_ID_FOR_EXPANSION = '__expansion';
14
- const COLUMN_ID_FOR_ACTIONS = '__actions';
15
- const isInternalFrozenColumn = id => isInternalColumn(id) && id !== COLUMN_ID_FOR_ACTIONS;
16
- const isInternalColumn = id => id === COLUMN_ID_FOR_SELECTION || id === COLUMN_ID_FOR_EXPANSION || id === COLUMN_ID_FOR_ACTIONS || id === COLUMN_ID_FOR_DRAGGABLE;
17
- const MIN_COLUMN_SIZE = 80; // accounts for padding and sort controls
18
- const toggleBetween = (fromRowIndex, toRowIndex) => {
19
- const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;
20
- const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;
21
- return [fromIndex, toIndex];
22
- };
23
- function createRowDraggableColumn(onRowDrag, texts) {
24
- return {
25
- id: COLUMN_ID_FOR_DRAGGABLE,
26
- cell: ({
27
- row,
28
- table
29
- }) => {
30
- const meta = table.options.meta;
31
- const GHOST_ELEMENT_ID = 'taco_table_dragging';
32
- const onDragStart = event => {
33
- const rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];
34
- meta.setDragging(rows.reduce((dragging, rowBeingDragged) => ({
35
- ...dragging,
36
- [rowBeingDragged.id]: true
37
- }), {}));
38
- const data = rows.map(row => row.original);
39
- // set a default data value so that the consumer doesn't have to
40
- event.dataTransfer.setData('text', JSON.stringify(data));
41
- const showPlaceholder = text => {
42
- const ghost = document.createElement('div');
43
- ghost.id = GHOST_ELEMENT_ID;
44
- ghost.className = 'wcag-blue rounded flex w-48 p-4 absolute -ml-[100vw]';
45
- ghost.innerText = text;
46
- document.body.appendChild(ghost);
47
- event.dataTransfer.setDragImage(ghost, 0, 0);
48
- };
49
- const setDataTransfer = text => event.dataTransfer.setData('text', text);
50
- onRowDrag(data, showPlaceholder, setDataTransfer);
51
- };
52
- const onDragEnd = () => {
53
- var _document$getElementB;
54
- (_document$getElementB = document.getElementById(GHOST_ELEMENT_ID)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.remove();
55
- meta.setDragging({});
56
- };
57
- return /*#__PURE__*/React__default.createElement("div", {
58
- draggable: true,
59
- onDragStart: onDragStart,
60
- onDragEnd: onDragEnd
61
- }, /*#__PURE__*/React__default.createElement(Icon, {
62
- "aria-label": texts.table2.columns.drag.tooltip,
63
- name: "drag",
64
- className: "text-grey-darkest invisible w-[20px] cursor-grab active:cursor-grabbing group-hover/row:visible group-[[aria-grabbed]]/row:text-white"
65
- }));
66
- },
67
- footer: () => /*#__PURE__*/React__default.createElement("span", null),
68
- meta: {
69
- align: 'center',
70
- className: 'items-center !px-0',
71
- headerClassName: 'items-center !px-0'
72
- },
73
- // sizing
74
- enableResizing: false,
75
- size: 10
76
- };
77
- }
78
- const SelectCell = /*#__PURE__*/React__default.memo(({
79
- lastSelectedRowIndex,
80
- rowIndex,
81
- isSelected,
82
- table,
83
- tableRef,
84
- texts,
85
- toggleSelected
86
- }) => {
87
- const meta = table.options.meta;
88
- const handleClick = event => {
89
- var _tableRef$current;
90
- event.stopPropagation();
91
- if (event.shiftKey) {
92
- const [fromIndex, toIndex] = toggleBetween((lastSelectedRowIndex === null || lastSelectedRowIndex === void 0 ? void 0 : lastSelectedRowIndex.current) || 0, rowIndex);
93
- table.getRowModel().rows.slice(fromIndex, toIndex + 1).forEach(row => row.toggleSelected(true));
94
- } else {
95
- toggleSelected();
96
- }
97
- lastSelectedRowIndex.current = rowIndex;
98
- meta.setActiveRowIndex(rowIndex);
99
- (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.focus();
100
- };
101
- return /*#__PURE__*/React__default.createElement(Tooltip, {
102
- title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isSelected ? texts.table2.columns.select.deselect : texts.table2.columns.select.select, /*#__PURE__*/React__default.createElement(Shortcut, {
103
- className: "ml-2",
104
- keys: "Space"
105
- }))
106
- }, /*#__PURE__*/React__default.createElement(Checkbox, {
107
- "aria-label": isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect,
108
- className: "hover:border-blue !mt-0",
109
- checked: isSelected,
110
- onClick: handleClick,
111
- // this is necessary to remove console spam from eslint
112
- onChange: () => false,
113
- tabIndex: -1
114
- }));
115
- });
116
- function createRowSelectionColumn(enableMultipleRowSelection, lastSelectedRowIndex, onRowDrag, tableRef, texts) {
117
- let header;
118
- let cell;
119
- if (enableMultipleRowSelection) {
120
- header = ({
121
- table
122
- }) => /*#__PURE__*/React__default.createElement(Tooltip, {
123
- title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, table.getIsAllPageRowsSelected() ? texts.table2.columns.select.deselectAll : texts.table2.columns.select.selectAll, /*#__PURE__*/React__default.createElement(Shortcut, {
124
- className: "ml-2",
125
- keys: {
126
- key: 'a',
127
- meta: true
128
- }
129
- }))
130
- }, /*#__PURE__*/React__default.createElement(Checkbox, {
131
- "aria-label": table.getIsAllPageRowsSelected() ? texts.table2.columns.select.deselectAll : texts.table2.columns.select.selectAll,
132
- className: "hover:border-blue !mt-0",
133
- checked: table.getIsAllPageRowsSelected(),
134
- indeterminate: table.getIsSomePageRowsSelected(),
135
- onChange: checked => table.toggleAllPageRowsSelected(checked),
136
- onClick: () => {
137
- var _tableRef$current2;
138
- (_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : _tableRef$current2.focus();
139
- },
140
- tabIndex: -1
141
- }));
142
- cell = ({
143
- row,
144
- table
145
- }) => /*#__PURE__*/React__default.createElement(SelectCell, {
146
- lastSelectedRowIndex: lastSelectedRowIndex,
147
- rowIndex: row.index,
148
- isSelected: row.getIsSelected(),
149
- table: table,
150
- tableRef: tableRef,
151
- texts: texts,
152
- toggleSelected: row.toggleSelected
153
- });
154
- } else {
155
- cell = ({
156
- row,
157
- table
158
- }) => {
159
- const meta = table.options.meta;
160
- const className = 'border-grey-300 focus:yt-focus flex h-5 w-5 mt-[0.45rem] flex-shrink-0 items-center justify-center self-start rounded-full border-2 bg-white hover:border-[5px] aria-checked:border-blue-500 aria-checked:bg-blue-500 hover:aria-checked:border-blue-300';
161
- const handleClick = event => {
162
- var _tableRef$current3;
163
- event.stopPropagation();
164
- row.toggleSelected();
165
- meta.setActiveRowIndex(row.index);
166
- (_tableRef$current3 = tableRef.current) === null || _tableRef$current3 === void 0 ? void 0 : _tableRef$current3.focus();
167
- };
168
- return /*#__PURE__*/React__default.createElement("button", {
169
- className: className,
170
- "aria-checked": row.getIsSelected(),
171
- onClick: handleClick,
172
- role: "radio",
173
- tabIndex: -1,
174
- type: "button"
175
- }, row.getIsSelected() ? /*#__PURE__*/React__default.createElement("span", {
176
- className: "h-2.5 w-2.5 rounded-full bg-white"
177
- }) : null);
178
- };
179
- }
180
- return {
181
- id: COLUMN_ID_FOR_SELECTION,
182
- header,
183
- cell,
184
- footer: () => /*#__PURE__*/React__default.createElement("span", null),
185
- meta: {
186
- align: 'center',
187
- className: onRowDrag ? '!pl-0 !pr-3' : '!px-3',
188
- headerClassName: onRowDrag ? '!pl-0 !pr-3' : '!px-3'
189
- },
190
- // sizing
191
- enableResizing: false,
192
- size: 46
193
- };
194
- }
195
- const ExpandCell = /*#__PURE__*/React__default.memo(({
196
- expandedRowRenderer,
197
- isExpanded,
198
- row,
199
- texts
200
- }) => {
201
- const hasExpandedRow = expandedRowRenderer(row.original);
202
- if (!hasExpandedRow) {
203
- return null;
204
- }
205
- return /*#__PURE__*/React__default.createElement(Tooltip, {
206
- title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand, /*#__PURE__*/React__default.createElement(Shortcut, {
207
- className: "ml-2",
208
- keys: {
209
- key: isExpanded ? 'ArrowLeft' : 'ArrowRight',
210
- meta: true
211
- }
212
- }))
213
- }, /*#__PURE__*/React__default.createElement(IconButton, {
214
- appearance: "discrete",
215
- icon: isExpanded ? 'chevron-down' : 'chevron-right',
216
- onClick: event => {
217
- event.stopPropagation();
218
- row.toggleExpanded();
219
- },
220
- tabIndex: -1
221
- }));
222
- });
223
- function createRowExpansionColumn(expandedRowRenderer, texts) {
224
- return {
225
- id: COLUMN_ID_FOR_EXPANSION,
226
- header: ({
227
- table
228
- }) => /*#__PURE__*/React__default.createElement(Tooltip, {
229
- title: table.getIsSomeRowsExpanded() ? texts.table2.columns.expansion.collapseAll : texts.table2.columns.expansion.expandAll
230
- }, /*#__PURE__*/React__default.createElement(IconButton, {
231
- appearance: "discrete",
232
- className: "-mb-2 -mt-1.5",
233
- icon: table.getIsSomeRowsExpanded() ? 'chevron-down-double' : 'chevron-right-double',
234
- onClick: event => {
235
- event.stopPropagation();
236
- table.toggleAllRowsExpanded(table.getIsSomeRowsExpanded() ? false : true);
237
- },
238
- tabIndex: -1
239
- })),
240
- cell: ({
241
- row
242
- }) =>
243
- /*#__PURE__*/
244
- // ExpandCell is memoised and that's why calling row.getIsExpanded() inside it doesn't return the correct
245
- // expand state. This is the reason why isExpanded is pulled out of the ExpandCell component.
246
- React__default.createElement(ExpandCell, {
247
- expandedRowRenderer: expandedRowRenderer,
248
- isExpanded: row.getIsExpanded(),
249
- row: row,
250
- texts: texts
251
- }),
252
- footer: () => /*#__PURE__*/React__default.createElement("span", null),
253
- meta: {
254
- align: 'center',
255
- className: 'items-center !p-0',
256
- headerClassName: 'items-center hover:!bg-white !p-0'
257
- },
258
- // sizing
259
- enableResizing: false,
260
- size: 36
261
- };
262
- }
263
- const RowActionsCell = /*#__PURE__*/React__default.memo(({
264
- row,
265
- actions,
266
- actionsLength,
267
- isEditing,
268
- shouldPauseHoverState,
269
- table,
270
- texts
271
- }) => {
272
- const {
273
- isActive,
274
- isHovered
275
- } = useRowContext();
276
- if (!isActive && (!isHovered || shouldPauseHoverState) || isEditing) {
277
- return null;
278
- }
279
- const visibleActions = actions.map(action => action(row.original)).filter(action => !!action);
280
- const actionsOnRow = visibleActions.length === actionsLength ? visibleActions : visibleActions.slice(0, actionsLength - 1);
281
- const actionsInMenu = visibleActions.slice(visibleActions.length === actionsLength ? actionsLength : actionsLength - 1);
282
- // If the row is not the active row or the hovered row then actions are hidden.
283
- const actionClassName = 'group-hover/row:flex group-[[aria-current]]/row:flex hidden';
284
- // only actions in the active row should be tabbable
285
- const tabIndex = table.options.meta.activeRowIndex === row.index ? 0 : -1;
286
- return /*#__PURE__*/React__default.createElement("span", {
287
- className: "-mb-2 -mt-2 flex justify-end text-right"
288
- }, actionsOnRow.map((button, index) => {
289
- var _button$props$tooltip, _button$props$tooltip2;
290
- return /*#__PURE__*/React__default.cloneElement(button, {
291
- appearance: 'discrete',
292
- className: cn(actionClassName, button.props.className),
293
- key: index,
294
- tabIndex,
295
- tooltip: button.props.shortcut ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, (_button$props$tooltip = button.props.tooltip) !== null && _button$props$tooltip !== void 0 ? _button$props$tooltip : button.props['aria-label'], /*#__PURE__*/React__default.createElement(Shortcut, {
296
- className: "ml-2",
297
- keys: button.props.shortcut
298
- })) : (_button$props$tooltip2 = button.props.tooltip) !== null && _button$props$tooltip2 !== void 0 ? _button$props$tooltip2 : button.props['aria-label']
299
- });
300
- }), actionsInMenu.length ? /*#__PURE__*/React__default.createElement(IconButton, {
301
- appearance: "discrete",
302
- "aria-label": texts.table2.columns.actions.tooltip,
303
- icon: "more",
304
- tabIndex: tabIndex,
305
- 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({
306
- key: i
307
- }, action.props, {
308
- shortcut: action.props.shortcut
309
- }), action.props['aria-label'])))),
310
- tooltip: texts.table2.columns.actions.tooltip
311
- }) : null);
312
- });
313
- function createRowActionsColumn(rowActions, rowActionsLength, texts) {
314
- return {
315
- id: COLUMN_ID_FOR_ACTIONS,
316
- cell: ({
317
- row,
318
- table
319
- }) => {
320
- var _table$options$meta, _table$options$meta2;
321
- return /*#__PURE__*/React__default.createElement(RowActionsCell, {
322
- row: row,
323
- actions: rowActions,
324
- actionsLength: rowActionsLength,
325
- texts: texts,
326
- table: table,
327
- isEditing: !!((_table$options$meta = table.options.meta) !== null && _table$options$meta !== void 0 && _table$options$meta.editMode.isEditing),
328
- shouldPauseHoverState: !!((_table$options$meta2 = table.options.meta) !== null && _table$options$meta2 !== void 0 && _table$options$meta2.shouldPauseHoverState)
329
- });
330
- },
331
- footer: () => /*#__PURE__*/React__default.createElement("span", null),
332
- meta: {
333
- align: 'right',
334
- className: (row, table) => {
335
- var _table$options$meta3;
336
- return (
337
- // Adding z-index so that it shows on top of frozen columns
338
- cn('items-center print:opacity-0 group-[[aria-current]]/row:sticky group-hover/row:sticky right-0 !px-1 z-[1]', {
339
- 'group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.200)]': !row.getIsSelected(),
340
- 'group-hover/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)]': !row.getIsSelected() && (!((_table$options$meta3 = table.options.meta) !== null && _table$options$meta3 !== void 0 && _table$options$meta3.shouldPauseHoverState) || table.options.meta.editMode.isEditing),
341
- 'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected()
342
- })
343
- );
344
- },
345
- headerClassName: 'hover:!bg-white !px-1'
346
- },
347
- // sizing
348
- enableResizing: false
349
- };
350
- }
351
- function ensureOrdering(columns, settingsOrder) {
352
- // internal column come with a defined order
353
- const internalColumns = columns.filter(column => {
354
- var _column$id;
355
- return ((_column$id = column.id) === null || _column$id === void 0 ? void 0 : _column$id.startsWith('__')) && column.id !== COLUMN_ID_FOR_ACTIONS;
356
- }).map(column => column.id);
357
- // columns with ordering disabled should be moved to the front
358
- const orderingDisabled = [];
359
- const orderingEnabled = [];
360
- let orderedColumns = columns;
361
- // if settings is defined, make sure the columns that are actual children are sorted by it
362
- if (Array.isArray(settingsOrder)) {
363
- orderedColumns = columns.slice().sort(
364
- // the magic >>> 0 here ensures that columns that aren't found in settings, but are children, are pushed to the end
365
- (a, b) => (settingsOrder.indexOf(a.id) >>> 0) - (settingsOrder.indexOf(b.id) >>> 0));
366
- }
367
- orderedColumns.forEach(column => {
368
- var _column$id2, _column$meta;
369
- if ((_column$id2 = column.id) !== null && _column$id2 !== void 0 && _column$id2.startsWith('__')) {
370
- return;
371
- }
372
- if ((_column$meta = column.meta) !== null && _column$meta !== void 0 && _column$meta.disableReordering) {
373
- orderingDisabled.push(column.id);
374
- } else {
375
- orderingEnabled.push(column.id);
376
- }
377
- });
378
- const order = [...internalColumns, ...orderingDisabled, ...orderingEnabled];
379
- // actions should always be last, enforce that
380
- if (columns.findIndex(column => column.id === COLUMN_ID_FOR_ACTIONS) > -1) {
381
- order.push(COLUMN_ID_FOR_ACTIONS);
382
- }
383
- return order;
384
- }
385
-
386
- export { COLUMN_ID_FOR_ACTIONS, COLUMN_ID_FOR_DRAGGABLE, COLUMN_ID_FOR_EXPANSION, COLUMN_ID_FOR_SELECTION, MIN_COLUMN_SIZE, createRowActionsColumn, createRowDraggableColumn, createRowExpansionColumn, createRowSelectionColumn, ensureOrdering, isInternalColumn, isInternalFrozenColumn };
387
- //# sourceMappingURL=columns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"columns.js","sources":["../../../../../../../../src/components/Table2/utilities/columns.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { CellContext, ColumnDef, DisplayColumnDef, Row, TableMeta } from '@tanstack/react-table';\nimport { Checkbox } from '../../Checkbox/Checkbox';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { Shortcut } from '../../Shortcut/Shortcut';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { RowDragHandler, RowExpansionRenderer } from '../types';\nimport { Menu } from '../../Menu/Menu';\nimport { Icon } from '../../Icon/Icon';\nimport { LocalizationTexts } from '../../Provider/Localization';\nimport { useRowContext } from '../components/row/Context';\n\nexport const COLUMN_ID_FOR_DRAGGABLE = '__draggable';\nexport const COLUMN_ID_FOR_SELECTION = '__select';\nexport const COLUMN_ID_FOR_EXPANSION = '__expansion';\nexport const COLUMN_ID_FOR_ACTIONS = '__actions';\n\nexport const isInternalFrozenColumn = (id: string) => isInternalColumn(id) && id !== COLUMN_ID_FOR_ACTIONS;\n\nexport const isInternalColumn = (id: string) =>\n id === COLUMN_ID_FOR_SELECTION ||\n id === COLUMN_ID_FOR_EXPANSION ||\n id === COLUMN_ID_FOR_ACTIONS ||\n id === COLUMN_ID_FOR_DRAGGABLE;\n\nexport const MIN_COLUMN_SIZE = 80; // accounts for padding and sort controls\n\nconst toggleBetween = (fromRowIndex: number, toRowIndex: number): [number, number] => {\n const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;\n const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;\n\n return [fromIndex, toIndex];\n};\n\nexport function createRowDraggableColumn<TType = any>(\n onRowDrag: RowDragHandler<TType>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_DRAGGABLE,\n cell: ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n const onDragStart = (event: React.DragEvent): void => {\n const rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n\n meta.setDragging(rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {}));\n\n const data = rows.map(row => row.original);\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 onRowDrag(data, showPlaceholder, setDataTransfer);\n };\n\n const onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n meta.setDragging({});\n };\n\n return (\n <div draggable onDragStart={onDragStart} onDragEnd={onDragEnd}>\n <Icon\n aria-label={texts.table2.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]]/row:text-white\"\n />\n </div>\n );\n },\n footer: () => <span />,\n meta: {\n align: 'center',\n className: 'items-center !px-0',\n headerClassName: 'items-center !px-0',\n },\n // sizing\n enableResizing: false,\n size: 10,\n };\n}\n\nconst SelectCell = React.memo(({ lastSelectedRowIndex, rowIndex, isSelected, table, tableRef, texts, toggleSelected }: any) => {\n const meta = table.options.meta as TableMeta<any>;\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n\n if (event.shiftKey) {\n const [fromIndex, toIndex] = toggleBetween(lastSelectedRowIndex?.current || 0, rowIndex);\n\n table\n .getRowModel()\n .rows.slice(fromIndex, toIndex + 1)\n .forEach(row => row.toggleSelected(true));\n } else {\n toggleSelected();\n }\n\n lastSelectedRowIndex.current = rowIndex;\n meta.setActiveRowIndex(rowIndex);\n tableRef.current?.focus();\n };\n\n return (\n <Tooltip\n title={\n <>\n {isSelected ? texts.table2.columns.select.deselect : texts.table2.columns.select.select}\n <Shortcut className=\"ml-2\" keys=\"Space\" />\n </>\n }>\n <Checkbox\n aria-label={isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect}\n className=\"hover:border-blue !mt-0\"\n checked={isSelected}\n onClick={handleClick}\n // this is necessary to remove console spam from eslint\n onChange={() => false}\n tabIndex={-1}\n />\n </Tooltip>\n );\n});\nexport function createRowSelectionColumn<TType = any>(\n enableMultipleRowSelection: boolean,\n lastSelectedRowIndex: React.MutableRefObject<number | undefined>,\n onRowDrag: RowDragHandler<TType> | undefined,\n tableRef: React.RefObject<HTMLDivElement>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n let header;\n let cell;\n\n if (enableMultipleRowSelection) {\n header = ({ table }) => (\n <Tooltip\n title={\n <>\n {table.getIsAllPageRowsSelected()\n ? texts.table2.columns.select.deselectAll\n : texts.table2.columns.select.selectAll}\n <Shortcut className=\"ml-2\" keys={{ key: 'a', meta: true }} />\n </>\n }>\n <Checkbox\n aria-label={\n table.getIsAllPageRowsSelected()\n ? texts.table2.columns.select.deselectAll\n : texts.table2.columns.select.selectAll\n }\n className=\"hover:border-blue !mt-0\"\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={checked => table.toggleAllPageRowsSelected(checked)}\n onClick={() => {\n tableRef.current?.focus();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n cell = ({ row, table }) => (\n <SelectCell\n lastSelectedRowIndex={lastSelectedRowIndex}\n rowIndex={row.index}\n isSelected={row.getIsSelected()}\n table={table}\n tableRef={tableRef}\n texts={texts}\n toggleSelected={row.toggleSelected}\n />\n );\n } else {\n cell = ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const className =\n 'border-grey-300 focus:yt-focus flex h-5 w-5 mt-[0.45rem] flex-shrink-0 items-center justify-center self-start rounded-full border-2 bg-white hover:border-[5px] aria-checked:border-blue-500 aria-checked:bg-blue-500 hover:aria-checked:border-blue-300';\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n row.toggleSelected();\n meta.setActiveRowIndex(row.index);\n tableRef.current?.focus();\n };\n\n return (\n <button\n className={className}\n aria-checked={row.getIsSelected()}\n onClick={handleClick}\n role=\"radio\"\n tabIndex={-1}\n type=\"button\">\n {row.getIsSelected() ? <span className=\"h-2.5 w-2.5 rounded-full bg-white\" /> : null}\n </button>\n );\n };\n }\n\n return {\n id: COLUMN_ID_FOR_SELECTION,\n header,\n cell,\n footer: () => <span />,\n meta: {\n align: 'center',\n className: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n headerClassName: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n },\n // sizing\n enableResizing: false,\n size: 46,\n };\n}\n\nconst ExpandCell = React.memo(({ expandedRowRenderer, isExpanded, row, texts }: any) => {\n const hasExpandedRow = expandedRowRenderer(row.original);\n\n if (!hasExpandedRow) {\n return null;\n }\n\n return (\n <Tooltip\n title={\n <>\n {isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand}\n <Shortcut className=\"ml-2\" keys={{ key: isExpanded ? 'ArrowLeft' : 'ArrowRight', meta: true }} />\n </>\n }>\n <IconButton\n appearance=\"discrete\"\n icon={isExpanded ? 'chevron-down' : 'chevron-right'}\n onClick={event => {\n event.stopPropagation();\n row.toggleExpanded();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n});\n\nexport function createRowExpansionColumn<TType = any>(\n expandedRowRenderer: RowExpansionRenderer<TType>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_EXPANSION,\n header: ({ table }) => (\n <Tooltip\n title={\n table.getIsSomeRowsExpanded()\n ? texts.table2.columns.expansion.collapseAll\n : texts.table2.columns.expansion.expandAll\n }>\n <IconButton\n appearance=\"discrete\"\n className=\"-mb-2 -mt-1.5\"\n icon={table.getIsSomeRowsExpanded() ? 'chevron-down-double' : 'chevron-right-double'}\n onClick={event => {\n event.stopPropagation();\n table.toggleAllRowsExpanded(table.getIsSomeRowsExpanded() ? false : true);\n }}\n tabIndex={-1}\n />\n </Tooltip>\n ),\n cell: ({ row }: CellContext<TType, any>) => (\n // ExpandCell is memoised and that's why calling row.getIsExpanded() inside it doesn't return the correct\n // expand state. This is the reason why isExpanded is pulled out of the ExpandCell component.\n <ExpandCell expandedRowRenderer={expandedRowRenderer} isExpanded={row.getIsExpanded()} row={row} texts={texts} />\n ),\n footer: () => <span />,\n meta: {\n align: 'center',\n className: 'items-center !p-0',\n headerClassName: 'items-center hover:!bg-white !p-0',\n },\n // sizing\n enableResizing: false,\n size: 36,\n };\n}\n\nconst RowActionsCell = React.memo(({ row, actions, actionsLength, isEditing, shouldPauseHoverState, table, texts }: any) => {\n const { isActive, isHovered } = useRowContext();\n\n if ((!isActive && (!isHovered || shouldPauseHoverState)) || isEditing) {\n return null;\n }\n\n const visibleActions = actions.map(action => action(row.original)).filter(action => !!action);\n\n const actionsOnRow = visibleActions.length === actionsLength ? visibleActions : visibleActions.slice(0, actionsLength - 1);\n const actionsInMenu = visibleActions.slice(visibleActions.length === actionsLength ? actionsLength : actionsLength - 1);\n\n // If the row is not the active row or the hovered row then actions are hidden.\n const actionClassName = 'group-hover/row:flex group-[[aria-current]]/row:flex hidden';\n\n // only actions in the active row should be tabbable\n const tabIndex = table.options.meta.activeRowIndex === row.index ? 0 : -1;\n\n return (\n <span className=\"-mb-2 -mt-2 flex justify-end text-right\">\n {actionsOnRow.map((button, index) =>\n React.cloneElement(button, {\n appearance: 'discrete',\n className: cn(actionClassName, button.props.className),\n key: index,\n tabIndex,\n tooltip: button.props.shortcut ? (\n <>\n {button.props.tooltip ?? button.props['aria-label']}\n <Shortcut className=\"ml-2\" keys={button.props.shortcut} />\n </>\n ) : (\n button.props.tooltip ?? button.props['aria-label']\n ),\n })\n )}\n {actionsInMenu.length ? (\n <IconButton\n appearance=\"discrete\"\n aria-label={texts.table2.columns.actions.tooltip}\n icon=\"more\"\n tabIndex={tabIndex}\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 tooltip={texts.table2.columns.actions.tooltip}\n />\n ) : null}\n </span>\n );\n});\n\nexport function createRowActionsColumn<TType = any>(\n rowActions,\n rowActionsLength,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_ACTIONS,\n cell: ({ row, table }) => (\n <RowActionsCell\n row={row}\n actions={rowActions}\n actionsLength={rowActionsLength}\n texts={texts}\n table={table}\n isEditing={!!table.options.meta?.editMode.isEditing}\n shouldPauseHoverState={!!table.options.meta?.shouldPauseHoverState}\n />\n ),\n footer: () => <span />,\n meta: {\n align: 'right',\n className: (row: Row<any>, table: any) =>\n // Adding z-index so that it shows on top of frozen columns\n cn('items-center print:opacity-0 group-[[aria-current]]/row:sticky group-hover/row:sticky right-0 !px-1 z-[1]', {\n 'group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.200)]': !row.getIsSelected(),\n 'group-hover/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)]':\n !row.getIsSelected() &&\n (!table.options.meta?.shouldPauseHoverState || table.options.meta.editMode.isEditing),\n 'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected(),\n }),\n headerClassName: 'hover:!bg-white !px-1',\n },\n // sizing\n enableResizing: false,\n };\n}\n\nexport function ensureOrdering<TType = unknown>(columns: ColumnDef<TType>[], settingsOrder: string[] | undefined): string[] {\n // internal column come with a defined order\n const internalColumns = columns\n .filter(column => column.id?.startsWith('__') && column.id !== COLUMN_ID_FOR_ACTIONS)\n .map(column => column.id) as string[];\n\n // columns with ordering disabled should be moved to the front\n const orderingDisabled: string[] = [];\n const orderingEnabled: string[] = [];\n\n let orderedColumns = columns;\n\n // if settings is defined, make sure the columns that are actual children are sorted by it\n if (Array.isArray(settingsOrder)) {\n orderedColumns = columns.slice().sort(\n // the magic >>> 0 here ensures that columns that aren't found in settings, but are children, are pushed to the end\n (a, b) => (settingsOrder.indexOf(a.id as string) >>> 0) - (settingsOrder.indexOf(b.id as string) >>> 0)\n );\n }\n\n orderedColumns.forEach(column => {\n if (column.id?.startsWith('__')) {\n return;\n }\n\n if (column.meta?.disableReordering) {\n orderingDisabled.push(column.id as string);\n } else {\n orderingEnabled.push(column.id as string);\n }\n });\n\n const order = [...internalColumns, ...orderingDisabled, ...orderingEnabled];\n\n // actions should always be last, enforce that\n if (columns.findIndex(column => column.id === COLUMN_ID_FOR_ACTIONS) > -1) {\n order.push(COLUMN_ID_FOR_ACTIONS);\n }\n\n return order;\n}\n"],"names":["COLUMN_ID_FOR_DRAGGABLE","COLUMN_ID_FOR_SELECTION","COLUMN_ID_FOR_EXPANSION","COLUMN_ID_FOR_ACTIONS","isInternalFrozenColumn","id","isInternalColumn","MIN_COLUMN_SIZE","toggleBetween","fromRowIndex","toRowIndex","fromIndex","toIndex","createRowDraggableColumn","onRowDrag","texts","cell","row","table","meta","options","GHOST_ELEMENT_ID","onDragStart","event","rows","getIsSelected","getSelectedRowModel","setDragging","reduce","dragging","rowBeingDragged","data","map","original","dataTransfer","setData","JSON","stringify","showPlaceholder","text","ghost","document","createElement","className","innerText","body","appendChild","setDragImage","setDataTransfer","onDragEnd","_document$getElementB","getElementById","remove","React","draggable","Icon","table2","columns","drag","tooltip","name","footer","align","headerClassName","enableResizing","size","SelectCell","memo","lastSelectedRowIndex","rowIndex","isSelected","tableRef","toggleSelected","handleClick","stopPropagation","shiftKey","current","getRowModel","slice","forEach","setActiveRowIndex","_tableRef$current","focus","Tooltip","title","select","deselect","Shortcut","keys","Checkbox","checked","onClick","onChange","tabIndex","createRowSelectionColumn","enableMultipleRowSelection","header","getIsAllPageRowsSelected","deselectAll","selectAll","key","indeterminate","getIsSomePageRowsSelected","toggleAllPageRowsSelected","_tableRef$current2","index","_tableRef$current3","role","type","ExpandCell","expandedRowRenderer","isExpanded","hasExpandedRow","expansion","collapse","expand","IconButton","appearance","icon","toggleExpanded","createRowExpansionColumn","getIsSomeRowsExpanded","collapseAll","expandAll","toggleAllRowsExpanded","getIsExpanded","RowActionsCell","actions","actionsLength","isEditing","shouldPauseHoverState","isActive","isHovered","useRowContext","visibleActions","action","filter","actionsOnRow","length","actionsInMenu","actionClassName","activeRowIndex","button","_button$props$tooltip","_button$props$tooltip2","cloneElement","cn","props","shortcut","menu","menuProps","Menu","Content","i","Item","createRowActionsColumn","rowActions","rowActionsLength","_table$options$meta","_table$options$meta2","editMode","_table$options$meta3","ensureOrdering","settingsOrder","internalColumns","column","_column$id","startsWith","orderingDisabled","orderingEnabled","orderedColumns","Array","isArray","sort","a","b","indexOf","_column$id2","_column$meta","disableReordering","push","order","findIndex"],"mappings":"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"}
@@ -1,100 +0,0 @@
1
- import { isDate, isBefore, isAfter } from 'date-fns';
2
- import { isWeakEqual as isWeakEqual$1 } from '../../../utils/date.js';
3
- import { Table2FilterComparator } from '../types.js';
4
-
5
- const toLowerCase = value => String(value !== null && value !== void 0 ? value : '').toLocaleLowerCase();
6
- const isWeakContains = (left, right) => toLowerCase(left).includes(toLowerCase(right));
7
- const isWeakEqual = (left, right) => toLowerCase(left) === toLowerCase(right);
8
- const globalFilterFn = (value, query) => isWeakContains(value, query);
9
- // the filter type is only settable on the column definition, which would re-render all columns
10
- // so instead we store it in the filter value, but that means we also have to destructure that
11
- // before we filter - that's why this custom filter function exists
12
- const columnFilterFn = (value, filter) => {
13
- try {
14
- if (filter.comparator === Table2FilterComparator.IsEmpty || filter.comparator === Table2FilterComparator.IsNotEmpty) {
15
- const isEmpty = value === undefined || value === null || value === '';
16
- return filter.comparator === Table2FilterComparator.IsEmpty ? isEmpty : !isEmpty;
17
- }
18
- if (filter.value === undefined || filter.value === null || filter.value === '') {
19
- return true;
20
- }
21
- switch (filter.comparator) {
22
- case Table2FilterComparator.Contains:
23
- return isWeakContains(value, filter.value);
24
- case Table2FilterComparator.DoesNotContain:
25
- return !isWeakContains(value, filter.value);
26
- case Table2FilterComparator.IsEqualTo:
27
- {
28
- if (isDate(value)) {
29
- return isDate(filter.value) && isWeakEqual$1(value, filter.value);
30
- } else if (typeof filter.value === 'boolean') {
31
- return value === filter.value;
32
- }
33
- return isWeakEqual(value, filter.value);
34
- }
35
- case Table2FilterComparator.IsNotEqualTo:
36
- {
37
- if (isDate(value)) {
38
- return isDate(filter.value) && isWeakEqual$1(value, filter.value) === false;
39
- } else if (typeof filter.value === 'boolean') {
40
- return value !== filter.value;
41
- }
42
- return !isWeakEqual(value, filter.value);
43
- }
44
- case Table2FilterComparator.IsGreaterThan:
45
- {
46
- if (isDate(value)) {
47
- return isDate(filter.value) && isAfter(value, filter.value);
48
- } else {
49
- const valueAsNumber = parseInt(value);
50
- return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber > filter.value;
51
- }
52
- }
53
- case Table2FilterComparator.IsLessThan:
54
- {
55
- if (isDate(value)) {
56
- return isDate(filter.value) && isBefore(value, filter.value);
57
- } else {
58
- const valueAsNumber = parseInt(value);
59
- return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber < filter.value;
60
- }
61
- }
62
- case Table2FilterComparator.IsBetween:
63
- {
64
- const [fromValue, toValue] = filter.value;
65
- if (isDate(value)) {
66
- if (isDate(fromValue) && isBefore(value, fromValue)) {
67
- return false;
68
- } else if (isDate(toValue) && isAfter(value, toValue)) {
69
- return false;
70
- }
71
- return true;
72
- } else {
73
- const valueAsNumber = parseInt(value);
74
- if (isNaN(valueAsNumber)) {
75
- return false;
76
- }
77
- if (fromValue !== undefined && valueAsNumber < fromValue) {
78
- return false;
79
- } else if (toValue !== undefined && valueAsNumber > toValue) {
80
- return false;
81
- }
82
- return true;
83
- }
84
- }
85
- case Table2FilterComparator.IsOneOf:
86
- return Array.isArray(filter.value) ? filter.value.includes(value) : false;
87
- case Table2FilterComparator.IsNoneOf:
88
- return Array.isArray(filter.value) ? filter.value.includes(value) === false : false;
89
- case Table2FilterComparator.IsAllOf:
90
- return Array.isArray(filter.value) && Array.isArray(value) ? filter.value.filter(v => value.includes(v)).length === filter.value.length : false;
91
- }
92
- return false;
93
- } catch (e) {
94
- console.error(e);
95
- return true;
96
- }
97
- };
98
-
99
- export { columnFilterFn, globalFilterFn };
100
- //# sourceMappingURL=filterFn.js.map