@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,45 @@
1
+ import React__default from 'react';
2
+ import cn from 'classnames';
3
+ import { Icon } from '../../../Icon/Icon.js';
4
+ import { useGlobalKeyDown } from '../../../../hooks/useGlobalKeyDown.js';
5
+ import { useLocalization } from '../../../Provider/Localization.js';
6
+ import { Button } from '../../../Button/Button.js';
7
+ import { Shortcut } from '../../../Shortcut/Shortcut.js';
8
+
9
+ function EditButton(props) {
10
+ const {
11
+ texts
12
+ } = useLocalization();
13
+ const tableMeta = props.table.options.meta;
14
+ const className = cn({
15
+ '!wcag-blue-100': tableMeta.editing.isEditing
16
+ });
17
+ const handleClick = () => tableMeta.editing.toggleEditing(!tableMeta.editing.isEditing);
18
+ useGlobalKeyDown({
19
+ key: 'e',
20
+ meta: true,
21
+ shift: false
22
+ }, event => {
23
+ event.preventDefault();
24
+ tableMeta.editing.toggleEditing(!tableMeta.editing.isEditing);
25
+ });
26
+ return /*#__PURE__*/React__default.createElement(Button, {
27
+ "aria-pressed": tableMeta.editing.isEditing,
28
+ className: className,
29
+ onClick: handleClick,
30
+ tooltip: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, texts.table3.editing.buttons.edit.tooltip, /*#__PURE__*/React__default.createElement(Shortcut, {
31
+ className: "ml-2",
32
+ keys: {
33
+ key: 'e',
34
+ meta: true,
35
+ shift: false
36
+ }
37
+ }))
38
+ }, /*#__PURE__*/React__default.createElement(Icon, {
39
+ "aria-hidden": true,
40
+ name: "edit"
41
+ }), texts.table3.editing.buttons.edit.text);
42
+ }
43
+
44
+ export { EditButton };
45
+ //# sourceMappingURL=EditButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditButton.js","sources":["../../../../../../../../../src/components/Table3/components/toolbar/EditButton.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport cn from 'classnames';\nimport { Icon } from '../../../Icon/Icon';\nimport { Button } from '../../../Button/Button';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { useGlobalKeyDown } from '../../../../hooks/useGlobalKeyDown';\nimport { Shortcut } from '../../../Shortcut/Shortcut';\n\ntype EditButtonProps<TType = unknown> = React.HTMLAttributes<HTMLButtonElement> & {\n table: RTable<TType>;\n};\n\nexport function EditButton<TType = unknown>(props: EditButtonProps<TType>) {\n const { texts } = useLocalization();\n const tableMeta = props.table.options.meta as TableMeta<TType>;\n const className = cn({\n '!wcag-blue-100': tableMeta.editing.isEditing,\n });\n const handleClick = () => tableMeta.editing.toggleEditing(!tableMeta.editing.isEditing);\n\n useGlobalKeyDown({ key: 'e', meta: true, shift: false }, (event: KeyboardEvent) => {\n event.preventDefault();\n tableMeta.editing.toggleEditing(!tableMeta.editing.isEditing);\n });\n\n return (\n <Button\n aria-pressed={tableMeta.editing.isEditing}\n className={className}\n onClick={handleClick}\n tooltip={\n <>\n {texts.table3.editing.buttons.edit.tooltip}\n <Shortcut className=\"ml-2\" keys={{ key: 'e', meta: true, shift: false }} />\n </>\n }>\n <Icon aria-hidden name=\"edit\" />\n {texts.table3.editing.buttons.edit.text}\n </Button>\n );\n}\n"],"names":["EditButton","props","texts","useLocalization","tableMeta","table","options","meta","className","cn","editing","isEditing","handleClick","toggleEditing","useGlobalKeyDown","key","shift","event","preventDefault","React","Button","onClick","tooltip","table3","buttons","edit","Shortcut","keys","Icon","name","text"],"mappings":";;;;;;;;SAagBA,UAAU,CAAkBC,KAA6B;EACrE,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,SAAS,GAAGH,KAAK,CAACI,KAAK,CAACC,OAAO,CAACC,IAAwB;EAC9D,MAAMC,SAAS,GAAGC,EAAE,CAAC;IACjB,gBAAgB,EAAEL,SAAS,CAACM,OAAO,CAACC;GACvC,CAAC;EACF,MAAMC,WAAW,GAAG,MAAMR,SAAS,CAACM,OAAO,CAACG,aAAa,CAAC,CAACT,SAAS,CAACM,OAAO,CAACC,SAAS,CAAC;EAEvFG,gBAAgB,CAAC;IAAEC,GAAG,EAAE,GAAG;IAAER,IAAI,EAAE,IAAI;IAAES,KAAK,EAAE;GAAO,EAAGC,KAAoB;IAC1EA,KAAK,CAACC,cAAc,EAAE;IACtBd,SAAS,CAACM,OAAO,CAACG,aAAa,CAAC,CAACT,SAAS,CAACM,OAAO,CAACC,SAAS,CAAC;GAChE,CAAC;EAEF,oBACIQ,6BAACC,MAAM;oBACWhB,SAAS,CAACM,OAAO,CAACC,SAAS;IACzCH,SAAS,EAAEA,SAAS;IACpBa,OAAO,EAAET,WAAW;IACpBU,OAAO,eACHH,4DACKjB,KAAK,CAACqB,MAAM,CAACb,OAAO,CAACc,OAAO,CAACC,IAAI,CAACH,OAAO,eAC1CH,6BAACO,QAAQ;MAAClB,SAAS,EAAC,MAAM;MAACmB,IAAI,EAAE;QAAEZ,GAAG,EAAE,GAAG;QAAER,IAAI,EAAE,IAAI;QAAES,KAAK,EAAE;;MAAW;kBAGnFG,6BAACS,IAAI;;IAAaC,IAAI,EAAC;IAAS,EAC/B3B,KAAK,CAACqB,MAAM,CAACb,OAAO,CAACc,OAAO,CAACC,IAAI,CAACK,IAAI,CAClC;AAEjB;;;;"}
@@ -0,0 +1,148 @@
1
+ import React__default from 'react';
2
+ import cn from 'classnames';
3
+ import { Icon } from '../../../../../Icon/Icon.js';
4
+ import { useGlobalKeyDown } from '../../../../../../hooks/useGlobalKeyDown.js';
5
+ import { useLocalization } from '../../../../../Provider/Localization.js';
6
+ import { Button } from '../../../../../Button/Button.js';
7
+ import { Popover } from '../../../../../Popover/Popover.js';
8
+ import { Group } from '../../../../../Group/Group.js';
9
+ import { Shortcut } from '../../../../../Shortcut/Shortcut.js';
10
+ import { isInternalColumn } from '../../../../util/columns.js';
11
+ import { Table3FilterComparator } from '../../../../types.js';
12
+ import { Filter } from './components/Filter.js';
13
+ import { Placeholder } from './components/Placeholder.js';
14
+
15
+ function sortByHeader(a, b) {
16
+ var _a$columnDef$meta, _a$columnDef$meta$hea, _a$columnDef$meta$hea2, _b$columnDef$meta;
17
+ return (_a$columnDef$meta = a.columnDef.meta) === null || _a$columnDef$meta === void 0 ? void 0 : (_a$columnDef$meta$hea = _a$columnDef$meta.header) === null || _a$columnDef$meta$hea === void 0 ? void 0 : (_a$columnDef$meta$hea2 = _a$columnDef$meta$hea.localeCompare) === null || _a$columnDef$meta$hea2 === void 0 ? void 0 : _a$columnDef$meta$hea2.call(_a$columnDef$meta$hea, (_b$columnDef$meta = b.columnDef.meta) === null || _b$columnDef$meta === void 0 ? void 0 : _b$columnDef$meta.header);
18
+ }
19
+ function Filters(props) {
20
+ const {
21
+ total,
22
+ table
23
+ } = props;
24
+ const {
25
+ texts
26
+ } = useLocalization();
27
+ const ref = React__default.useRef(null);
28
+ const allColumns = table.getAllLeafColumns().filter(column => !isInternalColumn(column.id)).sort(sortByHeader);
29
+ const appliedFilters = table.getState().columnFilters;
30
+ useGlobalKeyDown({
31
+ key: 'f',
32
+ meta: true,
33
+ shift: true
34
+ }, event => {
35
+ var _ref$current;
36
+ event.preventDefault();
37
+ (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.click();
38
+ });
39
+ // state, since we "apply" filters
40
+ const [filters, setFilters] = React__default.useState(table.getState().columnFilters);
41
+ const [placeholderCount, setPlaceholderCount] = React__default.useState(1);
42
+ // filters
43
+ const handleChangeFilter = (currentId, filter) => {
44
+ setFilters(currentFilters => {
45
+ const nextFilters = [...currentFilters];
46
+ const index = nextFilters.findIndex(f => f.id === currentId);
47
+ nextFilters[index] = filter;
48
+ return nextFilters;
49
+ });
50
+ };
51
+ const handleRemoveFilter = columnId => {
52
+ if (filters.length === 1 && placeholderCount === 0) {
53
+ setPlaceholderCount(count => count + 1);
54
+ }
55
+ setFilters(currentFilters => currentFilters.filter(f => f.id !== columnId));
56
+ };
57
+ // placeholders
58
+ const handleCreateFilterFromPlaceholder = columnId => {
59
+ setFilters(currentFilters => [...currentFilters, {
60
+ id: columnId,
61
+ value: {
62
+ comparator: Table3FilterComparator.Contains,
63
+ value: undefined
64
+ }
65
+ }]);
66
+ handleRemovePlaceholder();
67
+ };
68
+ const handleCreatePlaceholder = () => {
69
+ setPlaceholderCount(count => count + 1);
70
+ };
71
+ const handleRemovePlaceholder = () => {
72
+ setPlaceholderCount(count => count - 1);
73
+ };
74
+ //
75
+ const handleApply = () => {
76
+ table.setColumnFilters(filters.filter(f => {
77
+ if (f.value.comparator === Table3FilterComparator.IsEmpty || f.value.comparator === Table3FilterComparator.IsNotEmpty) {
78
+ return true;
79
+ }
80
+ return !!f.value.value;
81
+ }));
82
+ };
83
+ const handleClear = () => {
84
+ table.resetColumnFilters();
85
+ setFilters([]);
86
+ setPlaceholderCount(1);
87
+ };
88
+ return /*#__PURE__*/React__default.createElement(Button, {
89
+ "aria-label": texts.table3.filters.tooltip,
90
+ className: cn({
91
+ '!wcag-blue-100': appliedFilters.length
92
+ }),
93
+ popover: popoverProps => /*#__PURE__*/React__default.createElement(Popover, Object.assign({}, popoverProps), /*#__PURE__*/React__default.createElement(Popover.Content, null, /*#__PURE__*/React__default.createElement("div", {
94
+ className: "flex w-[40rem] flex-col gap-4"
95
+ }, /*#__PURE__*/React__default.createElement("div", {
96
+ className: "flex h-8"
97
+ }, /*#__PURE__*/React__default.createElement("div", {
98
+ className: "flex w-full items-center gap-2"
99
+ }, /*#__PURE__*/React__default.createElement("h4", {
100
+ className: "mb-0 inline-flex"
101
+ }, texts.table3.filters.button), /*#__PURE__*/React__default.createElement("p", {
102
+ className: "text-grey-700 mb-0 mr-auto mt-px inline-flex"
103
+ }, texts.table3.filters.total.replace('[CURRENT]', String(table.getFilteredRowModel().rows.length)).replace('[TOTAL]', String(total))))), /*#__PURE__*/React__default.createElement("div", {
104
+ className: "flex flex-col gap-2"
105
+ }, filters.map((filter, index) => /*#__PURE__*/React__default.createElement(Filter, {
106
+ key: `filter_${index}`,
107
+ allColumns: allColumns,
108
+ filter: filter,
109
+ filters: filters,
110
+ position: index,
111
+ onChange: handleChangeFilter,
112
+ onRemove: handleRemoveFilter
113
+ })), [...Array(placeholderCount)].map((_, index) => /*#__PURE__*/React__default.createElement(Placeholder, {
114
+ key: `placeholder_${index}`,
115
+ allColumns: allColumns,
116
+ filters: filters,
117
+ position: filters.length + index,
118
+ onCreate: handleCreateFilterFromPlaceholder,
119
+ onRemove: placeholderCount > 1 || filters.length > 0 ? handleRemovePlaceholder : undefined
120
+ })), /*#__PURE__*/React__default.createElement("div", {
121
+ className: "justify-start"
122
+ }, /*#__PURE__*/React__default.createElement(Button, {
123
+ appearance: "discrete",
124
+ onClick: handleCreatePlaceholder
125
+ }, "+ ", texts.table3.filters.buttons.addFilter))), /*#__PURE__*/React__default.createElement(Group, {
126
+ className: "ml-auto"
127
+ }, /*#__PURE__*/React__default.createElement(Popover.Close, null, /*#__PURE__*/React__default.createElement(Button, null, "Cancel")), /*#__PURE__*/React__default.createElement(Button, {
128
+ onClick: handleClear
129
+ }, "Clear"), /*#__PURE__*/React__default.createElement(Button, {
130
+ appearance: "primary",
131
+ onClick: handleApply
132
+ }, "Apply"))))),
133
+ ref: ref,
134
+ tooltip: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, texts.table3.filters.tooltip, /*#__PURE__*/React__default.createElement(Shortcut, {
135
+ className: "ml-2",
136
+ keys: {
137
+ key: 'f',
138
+ meta: true,
139
+ shift: true
140
+ }
141
+ }))
142
+ }, /*#__PURE__*/React__default.createElement(Icon, {
143
+ name: appliedFilters.length ? 'filter-solid' : 'filter'
144
+ }), texts.table3.filters.button, " ", appliedFilters.length ? `(${appliedFilters.length})` : '');
145
+ }
146
+
147
+ export { Filters };
148
+ //# sourceMappingURL=Filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filters.js","sources":["../../../../../../../../../../../src/components/Table3/components/toolbar/Filter/filters/Filters.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Table as RTable, Column as RTColumn } from '@tanstack/react-table';\nimport { Button } from '../../../../../Button/Button';\nimport { Icon } from '../../../../../Icon/Icon';\nimport { Popover } from '../../../../../Popover/Popover';\nimport { Table3FilterValue, Table3FilterComparator, Table3Filter } from '../../../../types';\nimport { Shortcut } from '../../../../../Shortcut/Shortcut';\nimport { useGlobalKeyDown } from '../../../../../../hooks/useGlobalKeyDown';\nimport { useLocalization } from '../../../../../Provider/Localization';\nimport { isInternalColumn } from '../../../../util/columns';\nimport { Placeholder } from './components/Placeholder';\nimport { Filter } from './components/Filter';\nimport { Group } from '../../../../../Group/Group';\n\nfunction sortByHeader<TType = unknown>(a: RTColumn<TType>, b: RTColumn<TType>) {\n return (a.columnDef.meta?.header as string)?.localeCompare?.(b.columnDef.meta?.header as string);\n}\n\nexport type FiltersProps<TType = unknown> = {\n total: number;\n table: RTable<TType>;\n};\n\nexport function Filters<TType = unknown>(props: FiltersProps<TType>) {\n const { total, table } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLButtonElement>(null);\n const allColumns = table\n .getAllLeafColumns()\n .filter(column => !isInternalColumn(column.id))\n .sort(sortByHeader);\n const appliedFilters = table.getState().columnFilters;\n\n useGlobalKeyDown({ key: 'f', meta: true, shift: true }, (event: KeyboardEvent) => {\n event.preventDefault();\n ref.current?.click();\n });\n\n // state, since we \"apply\" filters\n const [filters, setFilters] = React.useState<Table3Filter[]>(table.getState().columnFilters as Table3Filter[]);\n const [placeholderCount, setPlaceholderCount] = React.useState(1);\n\n // filters\n const handleChangeFilter = (currentId: string, filter: { id: string; value: Table3FilterValue }) => {\n setFilters(currentFilters => {\n const nextFilters = [...currentFilters];\n const index = nextFilters.findIndex(f => f.id === currentId);\n nextFilters[index] = filter;\n return nextFilters;\n });\n };\n\n const handleRemoveFilter = (columnId: string) => {\n if (filters.length === 1 && placeholderCount === 0) {\n setPlaceholderCount(count => count + 1);\n }\n\n setFilters(currentFilters => currentFilters.filter(f => f.id !== columnId));\n };\n\n // placeholders\n const handleCreateFilterFromPlaceholder = (columnId: string) => {\n setFilters(currentFilters => [\n ...currentFilters,\n {\n id: columnId,\n value: {\n comparator: Table3FilterComparator.Contains,\n value: undefined,\n },\n },\n ]);\n handleRemovePlaceholder();\n };\n\n const handleCreatePlaceholder = () => {\n setPlaceholderCount(count => count + 1);\n };\n\n const handleRemovePlaceholder = () => {\n setPlaceholderCount(count => count - 1);\n };\n\n //\n const handleApply = () => {\n table.setColumnFilters(\n filters.filter(f => {\n if (\n f.value.comparator === Table3FilterComparator.IsEmpty ||\n f.value.comparator === Table3FilterComparator.IsNotEmpty\n ) {\n return true;\n }\n\n return !!f.value.value;\n })\n );\n };\n\n const handleClear = () => {\n table.resetColumnFilters();\n setFilters([]);\n setPlaceholderCount(1);\n };\n\n return (\n <Button\n aria-label={texts.table3.filters.tooltip}\n className={cn({\n '!wcag-blue-100': appliedFilters.length,\n })}\n popover={popoverProps => (\n <Popover {...popoverProps}>\n <Popover.Content>\n <div className=\"flex w-[40rem] flex-col gap-4\">\n <div className=\"flex h-8\">\n <div className=\"flex w-full items-center gap-2\">\n <h4 className=\"mb-0 inline-flex\">{texts.table3.filters.button}</h4>\n <p className=\"text-grey-700 mb-0 mr-auto mt-px inline-flex\">\n {texts.table3.filters.total\n .replace('[CURRENT]', String(table.getFilteredRowModel().rows.length))\n .replace('[TOTAL]', String(total))}\n </p>\n </div>\n </div>\n <div className=\"flex flex-col gap-2\">\n {filters.map((filter, index) => (\n <Filter\n key={`filter_${index}`}\n allColumns={allColumns as RTColumn<unknown, unknown>[]}\n filter={filter}\n filters={filters}\n position={index}\n onChange={handleChangeFilter}\n onRemove={handleRemoveFilter}\n />\n ))}\n {[...Array(placeholderCount)].map((_, index) => (\n <Placeholder\n key={`placeholder_${index}`}\n allColumns={allColumns as RTColumn<unknown, unknown>[]}\n filters={filters}\n position={filters.length + index}\n onCreate={handleCreateFilterFromPlaceholder as any}\n onRemove={\n placeholderCount > 1 || filters.length > 0 ? handleRemovePlaceholder : undefined\n }\n />\n ))}\n <div className=\"justify-start\">\n <Button appearance=\"discrete\" onClick={handleCreatePlaceholder}>\n + {texts.table3.filters.buttons.addFilter}\n </Button>\n </div>\n </div>\n <Group className=\"ml-auto\">\n <Popover.Close>\n <Button>Cancel</Button>\n </Popover.Close>\n <Button onClick={handleClear}>Clear</Button>\n <Button appearance=\"primary\" onClick={handleApply}>\n Apply\n </Button>\n </Group>\n </div>\n </Popover.Content>\n </Popover>\n )}\n ref={ref}\n tooltip={\n <>\n {texts.table3.filters.tooltip}\n <Shortcut className=\"ml-2\" keys={{ key: 'f', meta: true, shift: true }} />\n </>\n }>\n <Icon name={appliedFilters.length ? 'filter-solid' : 'filter'} />\n {texts.table3.filters.button} {appliedFilters.length ? `(${appliedFilters.length})` : ''}\n </Button>\n );\n}\n"],"names":["sortByHeader","a","b","columnDef","meta","header","localeCompare","Filters","props","total","table","texts","useLocalization","ref","React","useRef","allColumns","getAllLeafColumns","filter","column","isInternalColumn","id","sort","appliedFilters","getState","columnFilters","useGlobalKeyDown","key","shift","event","preventDefault","current","click","filters","setFilters","useState","placeholderCount","setPlaceholderCount","handleChangeFilter","currentId","currentFilters","nextFilters","index","findIndex","f","handleRemoveFilter","columnId","length","count","handleCreateFilterFromPlaceholder","value","comparator","Table3FilterComparator","Contains","undefined","handleRemovePlaceholder","handleCreatePlaceholder","handleApply","setColumnFilters","IsEmpty","IsNotEmpty","handleClear","resetColumnFilters","Button","table3","tooltip","className","cn","popover","popoverProps","Popover","Content","button","replace","String","getFilteredRowModel","rows","map","Filter","position","onChange","onRemove","Array","_","Placeholder","onCreate","appearance","onClick","buttons","addFilter","Group","Close","Shortcut","keys","Icon","name"],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import React__default from 'react';
2
+ import { IconButton } from '../../../../../../IconButton/IconButton.js';
3
+ import { useLocalization } from '../../../../../../Provider/Localization.js';
4
+ import { Table3FilterComparator } from '../../../../../types.js';
5
+ import { FilterColumn } from './FilterColumn.js';
6
+ import { FilterComparator } from './FilterComparator.js';
7
+ import { FilterValue } from './FilterValue.js';
8
+
9
+ function Filter(props) {
10
+ const {
11
+ allColumns,
12
+ filter,
13
+ filters,
14
+ onChange: handleChange,
15
+ onRemove,
16
+ position
17
+ } = props;
18
+ const {
19
+ texts
20
+ } = useLocalization();
21
+ const column = allColumns.find(c => c.id === filter.id);
22
+ const {
23
+ id,
24
+ value: {
25
+ comparator,
26
+ value
27
+ }
28
+ } = filter;
29
+ const handleChangeColumn = columnId => {
30
+ handleChange(id, {
31
+ id: columnId,
32
+ value: filter.value
33
+ });
34
+ };
35
+ const handleChangeComparator = comparator => {
36
+ let nextValue = filter.value.value;
37
+ if (comparator === Table3FilterComparator.IsEmpty || comparator === Table3FilterComparator.IsNotEmpty) {
38
+ nextValue = undefined;
39
+ }
40
+ handleChange(id, {
41
+ id,
42
+ value: {
43
+ comparator,
44
+ value: nextValue
45
+ }
46
+ });
47
+ };
48
+ const handleChangeValue = value => {
49
+ handleChange(id, {
50
+ id,
51
+ value: {
52
+ ...filter.value,
53
+ value
54
+ }
55
+ });
56
+ };
57
+ const handleRemove = () => onRemove(id);
58
+ return /*#__PURE__*/React__default.createElement("div", {
59
+ className: "flex gap-2"
60
+ }, /*#__PURE__*/React__default.createElement("div", {
61
+ className: "flex w-14 flex-shrink-0 items-center justify-end pr-2 text-right"
62
+ }, position > 0 ? texts.table3.filters.conditions.and : texts.table3.filters.conditions.where), /*#__PURE__*/React__default.createElement(FilterColumn, {
63
+ allColumns: allColumns,
64
+ filters: filters,
65
+ onChange: handleChangeColumn,
66
+ value: id
67
+ }), /*#__PURE__*/React__default.createElement(FilterComparator, {
68
+ onChange: handleChangeComparator,
69
+ validComparators: guessComparatorsBasedOnControl(),
70
+ value: comparator
71
+ }), /*#__PURE__*/React__default.createElement(FilterValue, {
72
+ column: column,
73
+ comparator: comparator,
74
+ onChange: handleChangeValue,
75
+ value: value
76
+ }), /*#__PURE__*/React__default.createElement(IconButton, {
77
+ appearance: "discrete",
78
+ className: "ml-auto",
79
+ icon: "close",
80
+ onClick: handleRemove
81
+ }));
82
+ }
83
+ function guessComparatorsBasedOnControl(instance, control) {
84
+ if ( /*#__PURE__*/React__default.isValidElement(instance)) {
85
+ const {
86
+ props,
87
+ type
88
+ } = instance;
89
+ if (type.displayName === 'Select2') {
90
+ if (props.multiple) {
91
+ return [Table3FilterComparator.IsOneOf, Table3FilterComparator.IsNoneOf, Table3FilterComparator.IsAllOf];
92
+ }
93
+ return [Table3FilterComparator.IsEqualTo, Table3FilterComparator.IsNotEqualTo];
94
+ }
95
+ }
96
+ switch (control) {
97
+ case 'datepicker':
98
+ return [Table3FilterComparator.IsEqualTo, Table3FilterComparator.IsNotEqualTo, Table3FilterComparator.IsGreaterThan, Table3FilterComparator.IsLessThan, Table3FilterComparator.IsBetween];
99
+ case 'switch':
100
+ return [Table3FilterComparator.IsEqualTo];
101
+ default:
102
+ return [Table3FilterComparator.Contains, Table3FilterComparator.DoesNotContain, Table3FilterComparator.IsEqualTo, Table3FilterComparator.IsNotEqualTo, Table3FilterComparator.IsEmpty, Table3FilterComparator.IsNotEmpty, Table3FilterComparator.IsGreaterThan, Table3FilterComparator.IsLessThan, Table3FilterComparator.IsBetween];
103
+ }
104
+ }
105
+
106
+ export { Filter, guessComparatorsBasedOnControl };
107
+ //# sourceMappingURL=Filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filter.js","sources":["../../../../../../../../../../../../src/components/Table3/components/toolbar/Filter/filters/components/Filter.tsx"],"sourcesContent":["import React from 'react';\nimport { Column as RTColumn, ColumnFiltersState } from '@tanstack/react-table';\nimport { IconButton } from '../../../../../../IconButton/IconButton';\nimport { Table3ColumnControlRenderer, Table3FilterComparator, Table3Filter } from '../../../../../types';\nimport { useLocalization } from '../../../../../../Provider/Localization';\nimport { FilterColumn } from './FilterColumn';\nimport { FilterComparator } from './FilterComparator';\nimport { FilterValue } from './FilterValue';\n\nexport type FilterProps<TType = unknown> = {\n allColumns: RTColumn<TType, unknown>[];\n filter: Table3Filter;\n filters: ColumnFiltersState;\n position: number;\n onChange: (id: string, value: Table3Filter) => void;\n onRemove: (columnId: string) => void;\n};\n\nexport function Filter<TType = unknown>(props: FilterProps<TType>) {\n const { allColumns, filter, filters, onChange: handleChange, onRemove, position } = props;\n const { texts } = useLocalization();\n const column = allColumns.find(c => c.id === filter.id) as RTColumn<TType, unknown>;\n const {\n id,\n value: { comparator, value },\n } = filter;\n\n const handleChangeColumn = (columnId: string) => {\n handleChange(id, { id: columnId, value: filter.value });\n };\n\n const handleChangeComparator = (comparator: Table3FilterComparator) => {\n let nextValue = filter.value.value;\n\n if (comparator === Table3FilterComparator.IsEmpty || comparator === Table3FilterComparator.IsNotEmpty) {\n nextValue = undefined;\n }\n\n handleChange(id, { id, value: { comparator, value: nextValue } });\n };\n\n const handleChangeValue = (value: any) => {\n handleChange(id, { id, value: { ...filter.value, value } });\n };\n\n const handleRemove = () => onRemove(id);\n\n return (\n <div className=\"flex gap-2\">\n <div className=\"flex w-14 flex-shrink-0 items-center justify-end pr-2 text-right\">\n {position > 0 ? texts.table3.filters.conditions.and : texts.table3.filters.conditions.where}\n </div>\n <FilterColumn allColumns={allColumns} filters={filters} onChange={handleChangeColumn as any} value={id} />\n <FilterComparator\n onChange={handleChangeComparator as any}\n validComparators={guessComparatorsBasedOnControl()}\n value={comparator}\n />\n <FilterValue column={column} comparator={comparator} onChange={handleChangeValue} value={value} />\n <IconButton appearance=\"discrete\" className=\"ml-auto\" icon=\"close\" onClick={handleRemove} />\n </div>\n );\n}\n\nexport function guessComparatorsBasedOnControl<TType = unknown>(\n instance?: JSX.Element,\n control?: Table3ColumnControlRenderer<TType>\n) {\n if (React.isValidElement(instance)) {\n const { props, type } = instance as any;\n\n if (type.displayName === 'Select2') {\n if (props.multiple) {\n return [Table3FilterComparator.IsOneOf, Table3FilterComparator.IsNoneOf, Table3FilterComparator.IsAllOf];\n }\n\n return [Table3FilterComparator.IsEqualTo, Table3FilterComparator.IsNotEqualTo];\n }\n }\n\n switch (control) {\n case 'datepicker':\n return [\n Table3FilterComparator.IsEqualTo,\n Table3FilterComparator.IsNotEqualTo,\n Table3FilterComparator.IsGreaterThan,\n Table3FilterComparator.IsLessThan,\n Table3FilterComparator.IsBetween,\n ];\n\n case 'switch':\n return [Table3FilterComparator.IsEqualTo];\n\n default:\n return [\n Table3FilterComparator.Contains,\n Table3FilterComparator.DoesNotContain,\n Table3FilterComparator.IsEqualTo,\n Table3FilterComparator.IsNotEqualTo,\n Table3FilterComparator.IsEmpty,\n Table3FilterComparator.IsNotEmpty,\n Table3FilterComparator.IsGreaterThan,\n Table3FilterComparator.IsLessThan,\n Table3FilterComparator.IsBetween,\n ];\n }\n}\n"],"names":["Filter","props","allColumns","filter","filters","onChange","handleChange","onRemove","position","texts","useLocalization","column","find","c","id","value","comparator","handleChangeColumn","columnId","handleChangeComparator","nextValue","Table3FilterComparator","IsEmpty","IsNotEmpty","undefined","handleChangeValue","handleRemove","React","className","table3","conditions","and","where","FilterColumn","FilterComparator","validComparators","guessComparatorsBasedOnControl","FilterValue","IconButton","appearance","icon","onClick","instance","control","isValidElement","type","displayName","multiple","IsOneOf","IsNoneOf","IsAllOf","IsEqualTo","IsNotEqualTo","IsGreaterThan","IsLessThan","IsBetween","Contains","DoesNotContain"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import React__default from 'react';
2
+ import { Select2 } from '../../../../../../Select2/Select2.js';
3
+
4
+ function FilterColumn(props) {
5
+ const {
6
+ allColumns,
7
+ filters,
8
+ onChange: handleChange,
9
+ value = null,
10
+ ...attributes
11
+ } = props;
12
+ return /*#__PURE__*/React__default.createElement(Select2, Object.assign({}, attributes, {
13
+ className: "!w-32 flex-shrink-0",
14
+ emptyValue: null,
15
+ onChange: handleChange,
16
+ value: value
17
+ }), allColumns.map(column => {
18
+ var _column$columnDef$met;
19
+ return /*#__PURE__*/React__default.createElement(Select2.Option, {
20
+ key: column.id,
21
+ value: column.id,
22
+ disabled: column.id !== value && (!column.getCanFilter() || !!filters.find(f => f.id === column.id))
23
+ }, (_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.header);
24
+ }));
25
+ }
26
+
27
+ export { FilterColumn };
28
+ //# sourceMappingURL=FilterColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterColumn.js","sources":["../../../../../../../../../../../../src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.tsx"],"sourcesContent":["import React from 'react';\nimport { Column as RTColumn, ColumnFiltersState } from '@tanstack/react-table';\nimport { Select2, Select2Props } from '../../../../../../Select2/Select2';\n\nexport type FilterColumnProps<TType = unknown> = Omit<Select2Props, 'children'> & {\n allColumns: RTColumn<TType, unknown>[];\n filters: ColumnFiltersState;\n};\n\nexport function FilterColumn<TType = unknown>(props: FilterColumnProps<TType>) {\n const { allColumns, filters, onChange: handleChange, value = null, ...attributes } = props;\n\n return (\n <Select2 {...attributes} className=\"!w-32 flex-shrink-0\" emptyValue={null} onChange={handleChange} value={value}>\n {allColumns.map(column => (\n <Select2.Option\n key={column.id}\n value={column.id}\n disabled={column.id !== value && (!column.getCanFilter() || !!filters.find(f => f.id === column.id))}>\n {column.columnDef.meta?.header as string}\n </Select2.Option>\n ))}\n </Select2>\n );\n}\n"],"names":["FilterColumn","props","allColumns","filters","onChange","handleChange","value","attributes","React","Select2","className","emptyValue","map","column","Option","key","id","disabled","getCanFilter","find","f","columnDef","meta","header"],"mappings":";;;SASgBA,YAAY,CAAkBC,KAA+B;EACzE,MAAM;IAAEC,UAAU;IAAEC,OAAO;IAAEC,QAAQ,EAAEC,YAAY;IAAEC,KAAK,GAAG,IAAI;IAAE,GAAGC;GAAY,GAAGN,KAAK;EAE1F,oBACIO,6BAACC,OAAO,oBAAKF,UAAU;IAAEG,SAAS,EAAC,qBAAqB;IAACC,UAAU,EAAE,IAAI;IAAEP,QAAQ,EAAEC,YAAY;IAAEC,KAAK,EAAEA;MACrGJ,UAAU,CAACU,GAAG,CAACC,MAAM;IAAA;IAAA,oBAClBL,6BAACC,OAAO,CAACK,MAAM;MACXC,GAAG,EAAEF,MAAM,CAACG,EAAE;MACdV,KAAK,EAAEO,MAAM,CAACG,EAAE;MAChBC,QAAQ,EAAEJ,MAAM,CAACG,EAAE,KAAKV,KAAK,KAAK,CAACO,MAAM,CAACK,YAAY,EAAE,IAAI,CAAC,CAACf,OAAO,CAACgB,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACJ,EAAE,KAAKH,MAAM,CAACG,EAAE,CAAC;gCAClGH,MAAM,CAACQ,SAAS,CAACC,IAAI,0DAArB,sBAAuBC,MAAgB,CAC3B;GACpB,CAAC,CACI;AAElB;;;;"}
@@ -0,0 +1,60 @@
1
+ import React__default from 'react';
2
+ import { useLocalization } from '../../../../../../Provider/Localization.js';
3
+ import { Select2 } from '../../../../../../Select2/Select2.js';
4
+ import { Table3FilterComparator } from '../../../../../types.js';
5
+
6
+ function FilterComparator(props) {
7
+ const {
8
+ onChange: handleChange,
9
+ value,
10
+ validComparators,
11
+ ...attributes
12
+ } = props;
13
+ const {
14
+ texts
15
+ } = useLocalization();
16
+ React__default.useEffect(() => {
17
+ if (value === undefined) {
18
+ handleChange === null || handleChange === void 0 ? void 0 : handleChange(validComparators[0]);
19
+ }
20
+ }, []);
21
+ return /*#__PURE__*/React__default.createElement(Select2, Object.assign({}, attributes, {
22
+ className: "!w-32 flex-shrink-0",
23
+ onChange: handleChange,
24
+ value: value
25
+ }), validComparators.map(comp => /*#__PURE__*/React__default.createElement(Select2.Option, {
26
+ key: comp,
27
+ value: comp
28
+ }, getComparatorText(comp, texts))));
29
+ }
30
+ const getComparatorText = (comparator, texts) => {
31
+ switch (comparator) {
32
+ case Table3FilterComparator.Contains:
33
+ return texts.table3.filters.comparators.contains;
34
+ case Table3FilterComparator.DoesNotContain:
35
+ return texts.table3.filters.comparators.doesNotContain;
36
+ case Table3FilterComparator.IsEqualTo:
37
+ return texts.table3.filters.comparators.isEqualTo;
38
+ case Table3FilterComparator.IsNotEqualTo:
39
+ return texts.table3.filters.comparators.isNotEqualTo;
40
+ case Table3FilterComparator.IsGreaterThan:
41
+ return texts.table3.filters.comparators.isGreaterThan;
42
+ case Table3FilterComparator.IsLessThan:
43
+ return texts.table3.filters.comparators.isLessThan;
44
+ case Table3FilterComparator.IsBetween:
45
+ return texts.table3.filters.comparators.isBetween;
46
+ case Table3FilterComparator.IsOneOf:
47
+ return texts.table3.filters.comparators.isOneOf;
48
+ case Table3FilterComparator.IsNoneOf:
49
+ return texts.table3.filters.comparators.isNoneOf;
50
+ case Table3FilterComparator.IsAllOf:
51
+ return texts.table3.filters.comparators.isAllOf;
52
+ case Table3FilterComparator.IsEmpty:
53
+ return texts.table3.filters.comparators.isEmpty;
54
+ case Table3FilterComparator.IsNotEmpty:
55
+ return texts.table3.filters.comparators.isNotEmpty;
56
+ }
57
+ };
58
+
59
+ export { FilterComparator };
60
+ //# sourceMappingURL=FilterComparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterComparator.js","sources":["../../../../../../../../../../../../src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.tsx"],"sourcesContent":["import React from 'react';\nimport { Select2, Select2Props } from '../../../../../../Select2/Select2';\nimport { Table3FilterComparator } from '../../../../../types';\nimport { LocalizationTexts, useLocalization } from '../../../../../../Provider/Localization';\n\nexport type FilterComparatorProps = Omit<Select2Props, 'children'> & {\n validComparators: Table3FilterComparator[];\n};\n\nexport function FilterComparator(props: FilterComparatorProps) {\n const { onChange: handleChange, value, validComparators, ...attributes } = props;\n const { texts } = useLocalization();\n\n React.useEffect(() => {\n if (value === undefined) {\n handleChange?.(validComparators[0]);\n }\n }, []);\n\n return (\n <Select2 {...attributes} className=\"!w-32 flex-shrink-0\" onChange={handleChange} value={value}>\n {validComparators.map(comp => (\n <Select2.Option key={comp} value={comp}>\n {getComparatorText(comp, texts)}\n </Select2.Option>\n ))}\n </Select2>\n );\n}\n\nconst getComparatorText = (comparator: Table3FilterComparator, texts: LocalizationTexts) => {\n switch (comparator) {\n case Table3FilterComparator.Contains:\n return texts.table3.filters.comparators.contains;\n\n case Table3FilterComparator.DoesNotContain:\n return texts.table3.filters.comparators.doesNotContain;\n\n case Table3FilterComparator.IsEqualTo:\n return texts.table3.filters.comparators.isEqualTo;\n\n case Table3FilterComparator.IsNotEqualTo:\n return texts.table3.filters.comparators.isNotEqualTo;\n\n case Table3FilterComparator.IsGreaterThan:\n return texts.table3.filters.comparators.isGreaterThan;\n\n case Table3FilterComparator.IsLessThan:\n return texts.table3.filters.comparators.isLessThan;\n\n case Table3FilterComparator.IsBetween:\n return texts.table3.filters.comparators.isBetween;\n\n case Table3FilterComparator.IsOneOf:\n return texts.table3.filters.comparators.isOneOf;\n\n case Table3FilterComparator.IsNoneOf:\n return texts.table3.filters.comparators.isNoneOf;\n\n case Table3FilterComparator.IsAllOf:\n return texts.table3.filters.comparators.isAllOf;\n\n case Table3FilterComparator.IsEmpty:\n return texts.table3.filters.comparators.isEmpty;\n\n case Table3FilterComparator.IsNotEmpty:\n return texts.table3.filters.comparators.isNotEmpty;\n }\n};\n"],"names":["FilterComparator","props","onChange","handleChange","value","validComparators","attributes","texts","useLocalization","React","useEffect","undefined","Select2","className","map","comp","Option","key","getComparatorText","comparator","Table3FilterComparator","Contains","table3","filters","comparators","contains","DoesNotContain","doesNotContain","IsEqualTo","isEqualTo","IsNotEqualTo","isNotEqualTo","IsGreaterThan","isGreaterThan","IsLessThan","isLessThan","IsBetween","isBetween","IsOneOf","isOneOf","IsNoneOf","isNoneOf","IsAllOf","isAllOf","IsEmpty","isEmpty","IsNotEmpty","isNotEmpty"],"mappings":";;;;;SASgBA,gBAAgB,CAACC,KAA4B;EACzD,MAAM;IAAEC,QAAQ,EAAEC,YAAY;IAAEC,KAAK;IAAEC,gBAAgB;IAAE,GAAGC;GAAY,GAAGL,KAAK;EAChF,MAAM;IAAEM;GAAO,GAAGC,eAAe,EAAE;EAEnCC,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIN,KAAK,KAAKO,SAAS,EAAE;MACrBR,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGE,gBAAgB,CAAC,CAAC,CAAC,CAAC;;GAE1C,EAAE,EAAE,CAAC;EAEN,oBACII,6BAACG,OAAO,oBAAKN,UAAU;IAAEO,SAAS,EAAC,qBAAqB;IAACX,QAAQ,EAAEC,YAAY;IAAEC,KAAK,EAAEA;MACnFC,gBAAgB,CAACS,GAAG,CAACC,IAAI,iBACtBN,6BAACG,OAAO,CAACI,MAAM;IAACC,GAAG,EAAEF,IAAI;IAAEX,KAAK,EAAEW;KAC7BG,iBAAiB,CAACH,IAAI,EAAER,KAAK,CAAC,CAEtC,CAAC,CACI;AAElB;AAEA,MAAMW,iBAAiB,GAAG,CAACC,UAAkC,EAAEZ,KAAwB;EACnF,QAAQY,UAAU;IACd,KAAKC,sBAAsB,CAACC,QAAQ;MAChC,OAAOd,KAAK,CAACe,MAAM,CAACC,OAAO,CAACC,WAAW,CAACC,QAAQ;IAEpD,KAAKL,sBAAsB,CAACM,cAAc;MACtC,OAAOnB,KAAK,CAACe,MAAM,CAACC,OAAO,CAACC,WAAW,CAACG,cAAc;IAE1D,KAAKP,sBAAsB,CAACQ,SAAS;MACjC,OAAOrB,KAAK,CAACe,MAAM,CAACC,OAAO,CAACC,WAAW,CAACK,SAAS;IAErD,KAAKT,sBAAsB,CAACU,YAAY;MACpC,OAAOvB,KAAK,CAACe,MAAM,CAACC,OAAO,CAACC,WAAW,CAACO,YAAY;IAExD,KAAKX,sBAAsB,CAACY,aAAa;MACrC,OAAOzB,KAAK,CAACe,MAAM,CAACC,OAAO,CAACC,WAAW,CAACS,aAAa;IAEzD,KAAKb,sBAAsB,CAACc,UAAU;MAClC,OAAO3B,KAAK,CAACe,MAAM,CAACC,OAAO,CAACC,WAAW,CAACW,UAAU;IAEtD,KAAKf,sBAAsB,CAACgB,SAAS;MACjC,OAAO7B,KAAK,CAACe,MAAM,CAACC,OAAO,CAACC,WAAW,CAACa,SAAS;IAErD,KAAKjB,sBAAsB,CAACkB,OAAO;MAC/B,OAAO/B,KAAK,CAACe,MAAM,CAACC,OAAO,CAACC,WAAW,CAACe,OAAO;IAEnD,KAAKnB,sBAAsB,CAACoB,QAAQ;MAChC,OAAOjC,KAAK,CAACe,MAAM,CAACC,OAAO,CAACC,WAAW,CAACiB,QAAQ;IAEpD,KAAKrB,sBAAsB,CAACsB,OAAO;MAC/B,OAAOnC,KAAK,CAACe,MAAM,CAACC,OAAO,CAACC,WAAW,CAACmB,OAAO;IAEnD,KAAKvB,sBAAsB,CAACwB,OAAO;MAC/B,OAAOrC,KAAK,CAACe,MAAM,CAACC,OAAO,CAACC,WAAW,CAACqB,OAAO;IAEnD,KAAKzB,sBAAsB,CAAC0B,UAAU;MAClC,OAAOvC,KAAK,CAACe,MAAM,CAACC,OAAO,CAACC,WAAW,CAACuB,UAAU;;AAE9D,CAAC;;;;"}
@@ -0,0 +1,89 @@
1
+ import React__default from 'react';
2
+ import { Input } from '../../../../../../Input/Input.js';
3
+ import { Datepicker } from '../../../../../../Datepicker/Datepicker.js';
4
+ import { Switch } from '../../../../../../Switch/Switch.js';
5
+ import { Table3FilterComparator } from '../../../../../types.js';
6
+
7
+ function FilterValue(props) {
8
+ const {
9
+ column,
10
+ comparator,
11
+ onChange: handleChange,
12
+ value
13
+ } = props;
14
+ if (comparator === Table3FilterComparator.IsEmpty || comparator === Table3FilterComparator.IsNotEmpty) {
15
+ return null;
16
+ }
17
+ if (comparator === Table3FilterComparator.IsBetween) {
18
+ var _column$columnDef$met;
19
+ const fromValue = Array.isArray(value) ? value[0] : undefined;
20
+ const toValue = Array.isArray(value) ? value[1] : undefined;
21
+ if (((_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.dataType) === 'datetime') {
22
+ return /*#__PURE__*/React__default.createElement("div", {
23
+ className: "flex flex-grow items-center gap-2"
24
+ }, /*#__PURE__*/React__default.createElement(Control, {
25
+ column: column,
26
+ onChange: value => handleChange([value, toValue]),
27
+ value: fromValue
28
+ }), /*#__PURE__*/React__default.createElement(Control, {
29
+ column: column,
30
+ onChange: value => handleChange([fromValue, value]),
31
+ value: toValue
32
+ }));
33
+ }
34
+ return /*#__PURE__*/React__default.createElement("div", {
35
+ className: "flex flex-grow items-center gap-2"
36
+ }, /*#__PURE__*/React__default.createElement(Control, {
37
+ column: column,
38
+ onChange: value => handleChange([isNaN(value) ? undefined : value, toValue]),
39
+ placeholder: "from",
40
+ value: fromValue !== null && fromValue !== void 0 ? fromValue : ''
41
+ }), /*#__PURE__*/React__default.createElement(Control, {
42
+ column: column,
43
+ onChange: value => handleChange([fromValue, isNaN(value) ? undefined : value]),
44
+ placeholder: "to",
45
+ value: toValue !== null && toValue !== void 0 ? toValue : ''
46
+ }));
47
+ }
48
+ return /*#__PURE__*/React__default.createElement(Control, {
49
+ column: column,
50
+ onChange: handleChange,
51
+ value: value
52
+ });
53
+ }
54
+ function Control(props) {
55
+ var _column$columnDef$met2, _column$columnDef$met3;
56
+ const {
57
+ column,
58
+ onChange,
59
+ value,
60
+ ...attributes
61
+ } = props;
62
+ const controlRenderer = (_column$columnDef$met2 = column.columnDef.meta) === null || _column$columnDef$met2 === void 0 ? void 0 : _column$columnDef$met2.control;
63
+ const dataType = (_column$columnDef$met3 = column.columnDef.meta) === null || _column$columnDef$met3 === void 0 ? void 0 : _column$columnDef$met3.dataType;
64
+ if (typeof controlRenderer === 'function') {
65
+ return controlRenderer({
66
+ ...attributes,
67
+ setValue: value => onChange(value),
68
+ value
69
+ });
70
+ } else if (controlRenderer === 'datepicker' || dataType === 'datetime') {
71
+ return /*#__PURE__*/React__default.createElement(Datepicker, Object.assign({}, attributes, {
72
+ onChange: event => onChange(event.detail),
73
+ value: value
74
+ }));
75
+ } else if (controlRenderer === 'switch' || dataType === 'boolean') {
76
+ return /*#__PURE__*/React__default.createElement(Switch, Object.assign({}, attributes, {
77
+ checked: Boolean(value),
78
+ onChange: onChange
79
+ }));
80
+ }
81
+ return /*#__PURE__*/React__default.createElement(Input, Object.assign({}, attributes, {
82
+ className: "flex-grow",
83
+ onChange: event => onChange(event.target.value),
84
+ value: String(value !== null && value !== void 0 ? value : '')
85
+ }));
86
+ }
87
+
88
+ export { FilterValue };
89
+ //# sourceMappingURL=FilterValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterValue.js","sources":["../../../../../../../../../../../../src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.tsx"],"sourcesContent":["import React from 'react';\nimport { Column as RTColumn } from '@tanstack/react-table';\nimport { Input } from '../../../../../../Input/Input';\nimport { Table3FilterComparator } from '../../../../../types';\nimport { Datepicker } from '../../../../../../Datepicker/Datepicker';\nimport { Switch } from '../../../../../../Switch/Switch';\n\nexport type FilterValueProps<TType = unknown> = {\n column: RTColumn<TType, unknown>;\n comparator: Table3FilterComparator;\n onChange: (value: any) => void;\n value: any;\n};\n\nexport function FilterValue<TType = unknown>(props: FilterValueProps<TType>) {\n const { column, comparator, onChange: handleChange, value } = props;\n\n if (comparator === Table3FilterComparator.IsEmpty || comparator === Table3FilterComparator.IsNotEmpty) {\n return null;\n }\n\n if (comparator === Table3FilterComparator.IsBetween) {\n const fromValue = Array.isArray(value) ? value[0] : undefined;\n const toValue = Array.isArray(value) ? value[1] : undefined;\n\n if (column.columnDef.meta?.dataType === 'datetime') {\n return (\n <div className=\"flex flex-grow items-center gap-2\">\n <Control column={column} onChange={value => handleChange([value, toValue])} value={fromValue} />\n <Control column={column} onChange={value => handleChange([fromValue, value])} value={toValue} />\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-grow items-center gap-2\">\n <Control\n column={column}\n onChange={value => handleChange([isNaN(value) ? undefined : value, toValue])}\n placeholder=\"from\"\n value={fromValue ?? ''}\n />\n <Control\n column={column}\n onChange={value => handleChange([fromValue, isNaN(value) ? undefined : value])}\n placeholder=\"to\"\n value={toValue ?? ''}\n />\n </div>\n );\n }\n\n return <Control column={column} onChange={handleChange} value={value} />;\n}\n\nfunction Control(props) {\n const { column, onChange, value, ...attributes } = props;\n\n const controlRenderer = column.columnDef.meta?.control;\n const dataType = column.columnDef.meta?.dataType;\n\n if (typeof controlRenderer === 'function') {\n return controlRenderer({\n ...attributes,\n setValue: value => onChange(value),\n value,\n });\n } else if (controlRenderer === 'datepicker' || dataType === 'datetime') {\n return <Datepicker {...attributes} onChange={event => onChange((event as any).detail)} value={value as Date} />;\n } else if (controlRenderer === 'switch' || dataType === 'boolean') {\n return <Switch {...attributes} checked={Boolean(value)} onChange={onChange} />;\n }\n\n return (\n <Input\n {...attributes}\n className=\"flex-grow\"\n onChange={event => onChange(event.target.value)}\n value={String(value ?? '')}\n />\n );\n}\n"],"names":["FilterValue","props","column","comparator","onChange","handleChange","value","Table3FilterComparator","IsEmpty","IsNotEmpty","IsBetween","fromValue","Array","isArray","undefined","toValue","columnDef","meta","dataType","React","className","Control","isNaN","placeholder","attributes","controlRenderer","control","setValue","Datepicker","event","detail","Switch","checked","Boolean","Input","target","String"],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import React__default from 'react';
2
+ import { IconButton } from '../../../../../../IconButton/IconButton.js';
3
+ import { useLocalization } from '../../../../../../Provider/Localization.js';
4
+ import { Input } from '../../../../../../Input/Input.js';
5
+ import { FilterColumn } from './FilterColumn.js';
6
+ import { FilterComparator } from './FilterComparator.js';
7
+ import { guessComparatorsBasedOnControl } from './Filter.js';
8
+
9
+ function Placeholder(props) {
10
+ const {
11
+ allColumns,
12
+ filters,
13
+ onCreate: handleCreate,
14
+ onRemove: handleRemove,
15
+ position
16
+ } = props;
17
+ const {
18
+ texts
19
+ } = useLocalization();
20
+ return /*#__PURE__*/React__default.createElement("div", {
21
+ className: "flex gap-2"
22
+ }, /*#__PURE__*/React__default.createElement("div", {
23
+ className: "flex w-14 flex-shrink-0 items-center justify-end pr-2 text-right"
24
+ }, position > 0 ? texts.table3.filters.conditions.and : texts.table3.filters.conditions.where), /*#__PURE__*/React__default.createElement(FilterColumn, {
25
+ allColumns: allColumns,
26
+ filters: filters,
27
+ onChange: handleCreate,
28
+ value: null
29
+ }), /*#__PURE__*/React__default.createElement(FilterComparator, {
30
+ disabled: true,
31
+ validComparators: guessComparatorsBasedOnControl()
32
+ }), /*#__PURE__*/React__default.createElement(Input, {
33
+ "aria-label": texts.table3.filters.emptyFilter.value,
34
+ className: "flex-grow",
35
+ disabled: true,
36
+ value: texts.table3.filters.emptyFilter.value
37
+ }), handleRemove ? /*#__PURE__*/React__default.createElement(IconButton, {
38
+ appearance: "discrete",
39
+ icon: "close",
40
+ onClick: handleRemove
41
+ }) : null);
42
+ }
43
+
44
+ export { Placeholder };
45
+ //# sourceMappingURL=Placeholder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Placeholder.js","sources":["../../../../../../../../../../../../src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.tsx"],"sourcesContent":["import React from 'react';\nimport { Column as RTColumn, ColumnFiltersState } from '@tanstack/react-table';\nimport { Select2Value } from '../../../../../../Select2/Select2';\nimport { useLocalization } from '../../../../../../Provider/Localization';\nimport { Input } from '../../../../../../Input/Input';\nimport { IconButton } from '../../../../../../IconButton/IconButton';\nimport { FilterColumn } from './FilterColumn';\nimport { FilterComparator } from './FilterComparator';\nimport { guessComparatorsBasedOnControl } from './Filter';\n\nexport type PlaceholderFilterProps<TType = unknown> = {\n allColumns: RTColumn<TType, unknown>[];\n filters: ColumnFiltersState;\n position: number;\n onCreate?: (value: Select2Value) => void;\n onRemove?: () => void;\n};\n\nexport function Placeholder<TType = unknown>(props: PlaceholderFilterProps<TType>) {\n const { allColumns, filters, onCreate: handleCreate, onRemove: handleRemove, position } = props;\n const { texts } = useLocalization();\n\n return (\n <div className=\"flex gap-2\">\n <div className=\"flex w-14 flex-shrink-0 items-center justify-end pr-2 text-right\">\n {position > 0 ? texts.table3.filters.conditions.and : texts.table3.filters.conditions.where}\n </div>\n <FilterColumn allColumns={allColumns} filters={filters} onChange={handleCreate} value={null} />\n <FilterComparator disabled validComparators={guessComparatorsBasedOnControl()} />\n <Input\n aria-label={texts.table3.filters.emptyFilter.value}\n className=\"flex-grow\"\n disabled\n value={texts.table3.filters.emptyFilter.value}\n />\n {handleRemove ? <IconButton appearance=\"discrete\" icon=\"close\" onClick={handleRemove} /> : null}\n </div>\n );\n}\n"],"names":["Placeholder","props","allColumns","filters","onCreate","handleCreate","onRemove","handleRemove","position","texts","useLocalization","React","className","table3","conditions","and","where","FilterColumn","onChange","value","FilterComparator","disabled","validComparators","guessComparatorsBasedOnControl","Input","emptyFilter","IconButton","appearance","icon","onClick"],"mappings":";;;;;;;;SAkBgBA,WAAW,CAAkBC,KAAoC;EAC7E,MAAM;IAAEC,UAAU;IAAEC,OAAO;IAAEC,QAAQ,EAAEC,YAAY;IAAEC,QAAQ,EAAEC,YAAY;IAAEC;GAAU,GAAGP,KAAK;EAC/F,MAAM;IAAEQ;GAAO,GAAGC,eAAe,EAAE;EAEnC,oBACIC;IAAKC,SAAS,EAAC;kBACXD;IAAKC,SAAS,EAAC;KACVJ,QAAQ,GAAG,CAAC,GAAGC,KAAK,CAACI,MAAM,CAACV,OAAO,CAACW,UAAU,CAACC,GAAG,GAAGN,KAAK,CAACI,MAAM,CAACV,OAAO,CAACW,UAAU,CAACE,KAAK,CACzF,eACNL,6BAACM,YAAY;IAACf,UAAU,EAAEA,UAAU;IAAEC,OAAO,EAAEA,OAAO;IAAEe,QAAQ,EAAEb,YAAY;IAAEc,KAAK,EAAE;IAAQ,eAC/FR,6BAACS,gBAAgB;IAACC,QAAQ;IAACC,gBAAgB,EAAEC,8BAA8B;IAAM,eACjFZ,6BAACa,KAAK;kBACUf,KAAK,CAACI,MAAM,CAACV,OAAO,CAACsB,WAAW,CAACN,KAAK;IAClDP,SAAS,EAAC,WAAW;IACrBS,QAAQ;IACRF,KAAK,EAAEV,KAAK,CAACI,MAAM,CAACV,OAAO,CAACsB,WAAW,CAACN;IAC1C,EACDZ,YAAY,gBAAGI,6BAACe,UAAU;IAACC,UAAU,EAAC,UAAU;IAACC,IAAI,EAAC,OAAO;IAACC,OAAO,EAAEtB;IAAgB,GAAG,IAAI,CAC7F;AAEd;;;;"}