@economic/taco 1.40.3 → 2.0.0-alpha.173

Sign up to get free protection for your applications and to get access to all the features.
Files changed (435) 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/IconButton/IconButton.d.ts +3 -3
  4. package/dist/components/Input/Input.d.ts +1 -1
  5. package/dist/components/Menu/Menu.d.ts +2 -0
  6. package/dist/components/Menu/components/Item.d.ts +6 -1
  7. package/dist/components/Menu/components/Link.d.ts +1 -1
  8. package/dist/components/Menu/components/SubMenu.d.ts +8 -0
  9. package/dist/components/Navigation2/components/Link.d.ts +1 -1
  10. package/dist/components/Popover/Popover.d.ts +3 -0
  11. package/dist/components/Provider/Localization.d.ts +55 -20
  12. package/dist/components/RadioGroup/util.d.ts +1 -0
  13. package/dist/components/SearchInput/SearchInput.d.ts +2 -0
  14. package/dist/components/SearchInput2/SearchInput2.d.ts +23 -0
  15. package/dist/components/Select2/components/Option.d.ts +1 -1
  16. package/dist/components/Select2/components/Search.d.ts +1 -1
  17. package/dist/components/Table3/Table3.d.ts +11 -0
  18. package/dist/components/Table3/components/columns/cell/Cell.d.ts +6 -0
  19. package/dist/components/Table3/components/columns/cell/DisplayCell.d.ts +22 -0
  20. package/dist/components/Table3/components/columns/cell/EditingCell.d.ts +7 -0
  21. package/dist/components/Table3/components/columns/footer/Footer.d.ts +14 -0
  22. package/dist/components/Table3/components/columns/footer/Summary.d.ts +7 -0
  23. package/dist/components/Table3/components/columns/header/Goto.d.ts +6 -0
  24. package/dist/components/Table3/components/columns/header/Header.d.ts +27 -0
  25. package/dist/components/Table3/components/columns/header/Menu.d.ts +16 -0
  26. package/dist/components/Table3/components/columns/header/Resizer.d.ts +7 -0
  27. package/dist/components/Table3/components/columns/header/SortIndicator.d.ts +12 -0
  28. package/dist/components/Table3/components/columns/internal/Actions.d.ts +4 -0
  29. package/dist/components/Table3/components/columns/internal/Drag.d.ts +4 -0
  30. package/dist/components/Table3/components/columns/internal/EditingActions.d.ts +8 -0
  31. package/dist/components/Table3/components/columns/internal/Expansion.d.ts +4 -0
  32. package/dist/components/Table3/components/columns/internal/Selection.d.ts +4 -0
  33. package/dist/components/Table3/components/columns/styles.d.ts +4 -0
  34. package/dist/components/Table3/components/rows/ExpandedRow.d.ts +8 -0
  35. package/dist/components/Table3/components/rows/Row.d.ts +21 -0
  36. package/dist/components/Table3/components/rows/RowContext.d.ts +9 -0
  37. package/dist/components/Table3/components/rows/SkeletonRow.d.ts +10 -0
  38. package/dist/components/Table3/components/rows/styles.d.ts +6 -0
  39. package/dist/components/{Table2/components/ColumnSettingsButton.d.ts → Table3/components/toolbar/ColumnSettings.d.ts} +1 -1
  40. package/dist/components/Table3/components/toolbar/EditButton.d.ts +7 -0
  41. package/dist/components/Table3/components/toolbar/Filter/filters/Filters.d.ts +7 -0
  42. package/dist/components/Table3/components/toolbar/Filter/filters/components/Comparator.d.ts +11 -0
  43. package/dist/components/Table3/components/toolbar/Filter/filters/components/Filter.d.ts +13 -0
  44. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.d.ts +8 -0
  45. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.d.ts +7 -0
  46. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterValue.d.ts +10 -0
  47. package/dist/components/Table3/components/toolbar/Filter/filters/components/Placeholder.d.ts +11 -0
  48. package/dist/components/Table3/components/toolbar/FontSize.d.ts +7 -0
  49. package/dist/components/Table3/components/toolbar/PrintButton/PrintButton.d.ts +8 -0
  50. package/dist/components/Table3/components/toolbar/PrintButton/PrintIFrame.d.ts +8 -0
  51. package/dist/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.d.ts +1 -0
  52. package/dist/components/Table3/components/toolbar/RowHeight.d.ts +7 -0
  53. package/dist/components/Table3/components/toolbar/Search.d.ts +8 -0
  54. package/dist/components/Table3/components/toolbar/Toolbar.d.ts +12 -0
  55. package/dist/components/Table3/hooks/features/useColumnFreezing.d.ts +12 -0
  56. package/dist/components/Table3/hooks/features/useColumnOrdering.d.ts +6 -0
  57. package/dist/components/Table3/hooks/features/useCurrentRow.d.ts +9 -0
  58. package/dist/components/Table3/hooks/features/useEditing.d.ts +31 -0
  59. package/dist/components/Table3/hooks/features/useFontSize.d.ts +7 -0
  60. package/dist/components/Table3/hooks/features/usePauseHoverState.d.ts +6 -0
  61. package/dist/components/Table3/hooks/features/usePrinting.d.ts +5 -0
  62. package/dist/components/Table3/hooks/features/useRowClick.d.ts +7 -0
  63. package/dist/components/Table3/hooks/features/useRowDrag.d.ts +6 -0
  64. package/dist/components/Table3/hooks/features/useRowDrop.d.ts +5 -0
  65. package/dist/components/Table3/hooks/features/useRowGoto.d.ts +5 -0
  66. package/dist/components/Table3/hooks/features/useRowHeight.d.ts +7 -0
  67. package/dist/components/Table3/hooks/features/useRowSelection.d.ts +6 -0
  68. package/dist/components/Table3/hooks/features/useSearch.d.ts +16 -0
  69. package/dist/components/Table3/hooks/listeners/useCurrentRowListener.d.ts +2 -0
  70. package/dist/components/Table3/hooks/listeners/useEditingStateListener.d.ts +2 -0
  71. package/dist/components/Table3/hooks/listeners/useFilteringStateListener.d.ts +3 -0
  72. package/dist/components/Table3/hooks/listeners/useRowSelectionListener.d.ts +3 -0
  73. package/dist/components/Table3/hooks/listeners/useSearchStateListener.d.ts +3 -0
  74. package/dist/components/Table3/hooks/listeners/useServerLoadingListener.d.ts +3 -0
  75. package/dist/components/Table3/hooks/listeners/useSettingsStateListener.d.ts +3 -0
  76. package/dist/components/Table3/hooks/listeners/useShortcutsListener.d.ts +3 -0
  77. package/dist/components/Table3/hooks/listeners/useSortingStateListener.d.ts +3 -0
  78. package/dist/components/Table3/hooks/useConvertChildrenToColumns.d.ts +9 -0
  79. package/dist/components/Table3/hooks/useCssGrid.d.ts +5 -0
  80. package/dist/components/Table3/hooks/useCssVars.d.ts +6 -0
  81. package/dist/components/Table3/hooks/useTable.d.ts +63 -0
  82. package/dist/components/Table3/hooks/useTableData.d.ts +23 -0
  83. package/dist/components/Table3/hooks/useTablePreset.d.ts +2 -0
  84. package/dist/components/Table3/hooks/useTableRefInstanceSetup.d.ts +4 -0
  85. package/dist/components/Table3/strategies/index.d.ts +4 -0
  86. package/dist/components/Table3/strategies/virtualised.d.ts +4 -0
  87. package/dist/components/Table3/types.d.ts +311 -0
  88. package/dist/components/Table3/util/columns.d.ts +7 -0
  89. package/dist/components/{Table2/components/column/utils.d.ts → Table3/util/editing.d.ts} +2 -1
  90. package/dist/components/Table3/util/filtering.d.ts +3 -0
  91. package/dist/components/Tabs/Tabs.d.ts +2 -0
  92. package/dist/components/Tag/Tag.d.ts +1 -1
  93. package/dist/esm/index.css +130 -2
  94. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js +2 -2
  95. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js.map +1 -1
  96. package/dist/esm/packages/taco/src/components/Alert/Alert.js +1 -0
  97. package/dist/esm/packages/taco/src/components/Alert/Alert.js.map +1 -1
  98. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +3 -1
  99. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
  100. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +4 -1
  101. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
  102. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +1 -1
  103. package/dist/esm/packages/taco/src/components/Icon/components/FontSize.js +19 -0
  104. package/dist/esm/packages/taco/src/components/Icon/components/FontSize.js.map +1 -0
  105. package/dist/esm/packages/taco/src/components/Icon/components/{DensitySpacious.js → HeightExtraTall.js} +4 -4
  106. package/dist/esm/packages/taco/src/components/Icon/components/{DensitySpacious.js.map → HeightExtraTall.js.map} +1 -1
  107. package/dist/esm/packages/taco/src/components/Icon/components/{DensityNormal.js → HeightMedium.js} +4 -4
  108. package/dist/esm/packages/taco/src/components/Icon/components/HeightMedium.js.map +1 -0
  109. package/dist/esm/packages/taco/src/components/Icon/components/{DensityCompact.js → HeightShort.js} +4 -4
  110. package/dist/esm/packages/taco/src/components/Icon/components/HeightShort.js.map +1 -0
  111. package/dist/esm/packages/taco/src/components/Icon/components/{DensityComfortable.js → HeightTall.js} +4 -4
  112. package/dist/esm/packages/taco/src/components/Icon/components/HeightTall.js.map +1 -0
  113. package/dist/esm/packages/taco/src/components/Icon/components/index.js +10 -8
  114. package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
  115. package/dist/esm/packages/taco/src/components/IconButton/IconButton.js.map +1 -1
  116. package/dist/esm/packages/taco/src/components/Input/Input.js +1 -1
  117. package/dist/esm/packages/taco/src/components/Input/Input.js.map +1 -1
  118. package/dist/esm/packages/taco/src/components/Menu/Menu.js +2 -0
  119. package/dist/esm/packages/taco/src/components/Menu/Menu.js.map +1 -1
  120. package/dist/esm/packages/taco/src/components/Menu/components/Item.js +20 -2
  121. package/dist/esm/packages/taco/src/components/Menu/components/Item.js.map +1 -1
  122. package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js +22 -0
  123. package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js.map +1 -0
  124. package/dist/esm/packages/taco/src/components/Popover/Popover.js +11 -3
  125. package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
  126. package/dist/esm/packages/taco/src/components/Provider/Localization.js +56 -21
  127. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  128. package/dist/esm/packages/taco/src/components/RadioGroup/RadioGroup.js +2 -7
  129. package/dist/esm/packages/taco/src/components/RadioGroup/RadioGroup.js.map +1 -1
  130. package/dist/esm/packages/taco/src/components/RadioGroup/util.js +14 -0
  131. package/dist/esm/packages/taco/src/components/RadioGroup/util.js.map +1 -0
  132. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js +4 -0
  133. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
  134. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +196 -0
  135. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -0
  136. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js +3 -1
  137. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
  138. package/dist/esm/packages/taco/src/components/Switch/Switch.js +3 -1
  139. package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
  140. package/dist/esm/packages/taco/src/components/Table3/Table3.js +145 -0
  141. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -0
  142. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js +27 -0
  143. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js.map +1 -0
  144. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js +128 -0
  145. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +1 -0
  146. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +283 -0
  147. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -0
  148. package/dist/esm/packages/taco/src/components/{Table2/components/column → Table3/components/columns/cell}/Indicator.js +14 -13
  149. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Indicator.js.map +1 -0
  150. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js +50 -0
  151. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js.map +1 -0
  152. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js +30 -0
  153. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js.map +1 -0
  154. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js +27 -0
  155. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js.map +1 -0
  156. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +134 -0
  157. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -0
  158. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js +156 -0
  159. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js.map +1 -0
  160. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js +42 -0
  161. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js.map +1 -0
  162. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js +38 -0
  163. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js.map +1 -0
  164. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +108 -0
  165. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -0
  166. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js +86 -0
  167. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js.map +1 -0
  168. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js +124 -0
  169. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js.map +1 -0
  170. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js +103 -0
  171. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js.map +1 -0
  172. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +121 -0
  173. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +1 -0
  174. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js +17 -0
  175. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -0
  176. package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js +27 -0
  177. package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js.map +1 -0
  178. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js +255 -0
  179. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js.map +1 -0
  180. package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js +13 -0
  181. package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js.map +1 -0
  182. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js +43 -0
  183. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js.map +1 -0
  184. package/dist/esm/packages/taco/src/components/Table3/components/rows/styles.js +9 -0
  185. package/dist/esm/packages/taco/src/components/Table3/components/rows/styles.js.map +1 -0
  186. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +105 -0
  187. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -0
  188. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js +45 -0
  189. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js.map +1 -0
  190. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +148 -0
  191. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -0
  192. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js +107 -0
  193. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js.map +1 -0
  194. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js +28 -0
  195. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +1 -0
  196. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js +60 -0
  197. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js.map +1 -0
  198. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js +89 -0
  199. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js.map +1 -0
  200. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js +45 -0
  201. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js.map +1 -0
  202. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js +25 -0
  203. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js.map +1 -0
  204. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +99 -0
  205. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -0
  206. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +223 -0
  207. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -0
  208. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js +88 -0
  209. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js.map +1 -0
  210. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js +26 -0
  211. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js.map +1 -0
  212. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +137 -0
  213. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -0
  214. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js +85 -0
  215. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js.map +1 -0
  216. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js +87 -0
  217. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js.map +1 -0
  218. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js +45 -0
  219. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js.map +1 -0
  220. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js +52 -0
  221. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js.map +1 -0
  222. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js +197 -0
  223. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js.map +1 -0
  224. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js +13 -0
  225. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js.map +1 -0
  226. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js +19 -0
  227. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js.map +1 -0
  228. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js +9 -0
  229. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js.map +1 -0
  230. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js +25 -0
  231. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js.map +1 -0
  232. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js +13 -0
  233. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js.map +1 -0
  234. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js +9 -0
  235. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js.map +1 -0
  236. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js +9 -0
  237. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js.map +1 -0
  238. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js +27 -0
  239. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js.map +1 -0
  240. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js +29 -0
  241. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js.map +1 -0
  242. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js +27 -0
  243. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js.map +1 -0
  244. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js +14 -0
  245. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js.map +1 -0
  246. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js +24 -0
  247. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js.map +1 -0
  248. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js +19 -0
  249. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js.map +1 -0
  250. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js +19 -0
  251. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js.map +1 -0
  252. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js +51 -0
  253. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js.map +1 -0
  254. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js +16 -0
  255. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js.map +1 -0
  256. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +26 -0
  257. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -0
  258. package/dist/esm/packages/taco/src/components/{Table2/hooks/useTableShortcuts.js → Table3/hooks/listeners/useShortcutsListener.js} +9 -6
  259. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js.map +1 -0
  260. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js +17 -0
  261. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js.map +1 -0
  262. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +116 -0
  263. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -0
  264. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js +56 -0
  265. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js.map +1 -0
  266. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js +61 -0
  267. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js.map +1 -0
  268. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +154 -0
  269. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -0
  270. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableData.js +128 -0
  271. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableData.js.map +1 -0
  272. package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js +98 -0
  273. package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js.map +1 -0
  274. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js +19 -0
  275. package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js.map +1 -0
  276. package/dist/esm/packages/taco/src/components/Table3/strategies/index.js +8 -0
  277. package/dist/esm/packages/taco/src/components/Table3/strategies/index.js.map +1 -0
  278. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js +113 -0
  279. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js.map +1 -0
  280. package/dist/esm/packages/taco/src/components/Table3/types.js +18 -0
  281. package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -0
  282. package/dist/esm/packages/taco/src/components/Table3/util/columns.js +39 -0
  283. package/dist/esm/packages/taco/src/components/Table3/util/columns.js.map +1 -0
  284. package/dist/esm/packages/taco/src/components/{Table2/components/column/utils.js → Table3/util/editing.js} +7 -5
  285. package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -0
  286. package/dist/esm/packages/taco/src/components/{Table2/utilities/filterFn.js → Table3/util/filtering.js} +19 -17
  287. package/dist/esm/packages/taco/src/components/Table3/util/filtering.js.map +1 -0
  288. package/dist/esm/packages/taco/src/components/Tabs/Tabs.js +9 -1
  289. package/dist/esm/packages/taco/src/components/Tabs/Tabs.js.map +1 -1
  290. package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js +10 -5
  291. package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js.map +1 -1
  292. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js +16 -0
  293. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js.map +1 -0
  294. package/dist/esm/packages/taco/src/index.js +6 -3
  295. package/dist/esm/packages/taco/src/index.js.map +1 -1
  296. package/dist/esm/packages/taco/src/primitives/Button.js +6 -17
  297. package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
  298. package/dist/esm/packages/taco/src/utils/dom.js +1 -2
  299. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  300. package/dist/esm/packages/taco/src/utils/input.js +14 -1
  301. package/dist/esm/packages/taco/src/utils/input.js.map +1 -1
  302. package/dist/hooks/useGlobalKeyDown.d.ts +1 -1
  303. package/dist/hooks/useLazyEffect.d.ts +2 -0
  304. package/dist/index.css +130 -2
  305. package/dist/index.d.ts +3 -1
  306. package/dist/taco.cjs.development.js +4654 -3365
  307. package/dist/taco.cjs.development.js.map +1 -1
  308. package/dist/taco.cjs.production.min.js +1 -1
  309. package/dist/taco.cjs.production.min.js.map +1 -1
  310. package/dist/utils/input.d.ts +1 -0
  311. package/package.json +8 -10
  312. package/tailwind.config.js +0 -1
  313. package/types.json +1874 -1408
  314. package/dist/components/Table2/Table2.d.ts +0 -130
  315. package/dist/components/Table2/components/BatchActionsMenu.d.ts +0 -10
  316. package/dist/components/Table2/components/EditModeButton.d.ts +0 -8
  317. package/dist/components/Table2/components/RowDensityButton.d.ts +0 -7
  318. package/dist/components/Table2/components/Search.d.ts +0 -3
  319. package/dist/components/Table2/components/ShortcutsGuideButton.d.ts +0 -7
  320. package/dist/components/Table2/components/column/Base.d.ts +0 -14
  321. package/dist/components/Table2/components/column/Cell.d.ts +0 -15
  322. package/dist/components/Table2/components/column/Footer.d.ts +0 -9
  323. package/dist/components/Table2/components/column/Header.d.ts +0 -11
  324. package/dist/components/Table2/components/column/ValidationError.d.ts +0 -5
  325. package/dist/components/Table2/components/filters/FiltersButton.d.ts +0 -7
  326. package/dist/components/Table2/components/filters/components/Column.d.ts +0 -11
  327. package/dist/components/Table2/components/filters/components/ColumnFilter.d.ts +0 -10
  328. package/dist/components/Table2/components/filters/components/Comparator.d.ts +0 -11
  329. package/dist/components/Table2/components/filters/components/EmptyFilter.d.ts +0 -13
  330. package/dist/components/Table2/components/filters/components/InferredControl.d.ts +0 -10
  331. package/dist/components/Table2/components/row/Context.d.ts +0 -24
  332. package/dist/components/Table2/components/row/ExpandedRow.d.ts +0 -6
  333. package/dist/components/Table2/components/row/Row.d.ts +0 -2
  334. package/dist/components/Table2/hooks/listeners/useActiveCellStateListener.d.ts +0 -3
  335. package/dist/components/Table2/hooks/listeners/useActiveRowStateListener.d.ts +0 -3
  336. package/dist/components/Table2/hooks/listeners/useColumnOffsetStateListener.d.ts +0 -3
  337. package/dist/components/Table2/hooks/listeners/useFilterStateListener.d.ts +0 -3
  338. package/dist/components/Table2/hooks/listeners/useRowSelectionListener.d.ts +0 -3
  339. package/dist/components/Table2/hooks/listeners/useSettingsStateListener.d.ts +0 -3
  340. package/dist/components/Table2/hooks/useActiveCell.d.ts +0 -26
  341. package/dist/components/Table2/hooks/useActiveRow.d.ts +0 -10
  342. package/dist/components/Table2/hooks/useColumnDefinitions.d.ts +0 -37
  343. package/dist/components/Table2/hooks/useEditMode.d.ts +0 -28
  344. package/dist/components/Table2/hooks/useGridTemplate.d.ts +0 -2
  345. package/dist/components/Table2/hooks/useTable.d.ts +0 -46
  346. package/dist/components/Table2/hooks/useTableShortcuts.d.ts +0 -2
  347. package/dist/components/Table2/hooks/useVirtualiser.d.ts +0 -23
  348. package/dist/components/Table2/types.d.ts +0 -148
  349. package/dist/components/Table2/utilities/cell.d.ts +0 -14
  350. package/dist/components/Table2/utilities/columns.d.ts +0 -16
  351. package/dist/components/Table2/utilities/filterFn.d.ts +0 -3
  352. package/dist/esm/packages/taco/src/components/Icon/components/DensityComfortable.js.map +0 -1
  353. package/dist/esm/packages/taco/src/components/Icon/components/DensityCompact.js.map +0 -1
  354. package/dist/esm/packages/taco/src/components/Icon/components/DensityNormal.js.map +0 -1
  355. package/dist/esm/packages/taco/src/components/Table2/Table2.js +0 -422
  356. package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +0 -1
  357. package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js +0 -83
  358. package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js.map +0 -1
  359. package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js +0 -116
  360. package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js.map +0 -1
  361. package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js +0 -81
  362. package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js.map +0 -1
  363. package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js +0 -35
  364. package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js.map +0 -1
  365. package/dist/esm/packages/taco/src/components/Table2/components/Search.js +0 -62
  366. package/dist/esm/packages/taco/src/components/Table2/components/Search.js.map +0 -1
  367. package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js +0 -32
  368. package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js.map +0 -1
  369. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +0 -600
  370. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +0 -1
  371. package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js +0 -32
  372. package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js.map +0 -1
  373. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js +0 -243
  374. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js.map +0 -1
  375. package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js.map +0 -1
  376. package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js +0 -30
  377. package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js.map +0 -1
  378. package/dist/esm/packages/taco/src/components/Table2/components/column/utils.js.map +0 -1
  379. package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +0 -155
  380. package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js.map +0 -1
  381. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js +0 -31
  382. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js.map +0 -1
  383. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js +0 -129
  384. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js.map +0 -1
  385. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js +0 -68
  386. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js.map +0 -1
  387. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js +0 -63
  388. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js.map +0 -1
  389. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js +0 -99
  390. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js.map +0 -1
  391. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js +0 -58
  392. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js.map +0 -1
  393. package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js +0 -36
  394. package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js.map +0 -1
  395. package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js +0 -43
  396. package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js.map +0 -1
  397. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js +0 -19
  398. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js.map +0 -1
  399. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js +0 -28
  400. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js.map +0 -1
  401. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useFilterStateListener.js +0 -12
  402. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useFilterStateListener.js.map +0 -1
  403. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js +0 -18
  404. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js.map +0 -1
  405. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js +0 -25
  406. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js.map +0 -1
  407. package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js +0 -33
  408. package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js.map +0 -1
  409. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +0 -122
  410. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +0 -1
  411. package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js +0 -112
  412. package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js.map +0 -1
  413. package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js +0 -34
  414. package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js.map +0 -1
  415. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js +0 -222
  416. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +0 -1
  417. package/dist/esm/packages/taco/src/components/Table2/hooks/useTableShortcuts.js.map +0 -1
  418. package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js +0 -48
  419. package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js.map +0 -1
  420. package/dist/esm/packages/taco/src/components/Table2/types.js +0 -18
  421. package/dist/esm/packages/taco/src/components/Table2/types.js.map +0 -1
  422. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js +0 -41
  423. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js.map +0 -1
  424. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +0 -387
  425. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +0 -1
  426. package/dist/esm/packages/taco/src/components/Table2/utilities/filterFn.js.map +0 -1
  427. package/dist/esm/packages/taco/src/components/Truncate/Truncate.js +0 -32
  428. package/dist/esm/packages/taco/src/components/Truncate/Truncate.js.map +0 -1
  429. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js +0 -20
  430. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js.map +0 -1
  431. /package/dist/components/Icon/components/{DensityComfortable.d.ts → FontSize.d.ts} +0 -0
  432. /package/dist/components/Icon/components/{DensityCompact.d.ts → HeightExtraTall.d.ts} +0 -0
  433. /package/dist/components/Icon/components/{DensityNormal.d.ts → HeightMedium.d.ts} +0 -0
  434. /package/dist/components/Icon/components/{DensitySpacious.d.ts → HeightShort.d.ts} +0 -0
  435. /package/dist/components/{Table2/components/column → Table3/components/columns/cell}/Indicator.d.ts +0 -0
@@ -0,0 +1,283 @@
1
+ import React__default from 'react';
2
+ import cn from 'classnames';
3
+ import { Input } from '../../../../Input/Input.js';
4
+ import { deselectInputValue } from '../../../../../utils/input.js';
5
+ import { Datepicker } from '../../../../Datepicker/Datepicker.js';
6
+ import { Switch } from '../../../../Switch/Switch.js';
7
+ import { getCurrentRowCellElement } from '../../../util/columns.js';
8
+ import { getInputAppearanceClassnames, getCellAlignmentClasses } from '../styles.js';
9
+ import { globalFilterFn, columnFilterFn } from '../../../util/filtering.js';
10
+ import _ from 'lodash-es';
11
+ import { EDITING_ACTIONS_WIDTH } from '../internal/EditingActions.js';
12
+ import { Indicator, IndicatorReason } from './Indicator.js';
13
+ import { hasChanged, willRowMoveAfterSorting } from '../../../util/editing.js';
14
+
15
+ function EditingCell(props) {
16
+ return /*#__PURE__*/React__default.createElement(MemoedEditingCell, Object.assign({}, props));
17
+ }
18
+ const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditingCell(props) {
19
+ var _tableMeta$editing$ge, _tableMeta$editing$ro, _rows$tableMeta$curre;
20
+ const {
21
+ cell,
22
+ column,
23
+ index,
24
+ getValue,
25
+ table,
26
+ tableRef,
27
+ row
28
+ } = props;
29
+ const tableMeta = table.options.meta;
30
+ const columnMeta = column.columnDef.meta;
31
+ const cellRef = React__default.useRef(null);
32
+ const controlRef = React__default.useRef(null);
33
+ const handleChange = value => tableMeta.editing.setCellValue(cell, value);
34
+ const value = (_tableMeta$editing$ge = tableMeta.editing.getCellValue(cell)) !== null && _tableMeta$editing$ge !== void 0 ? _tableMeta$editing$ge : getValue();
35
+ const handleFocus = event => {
36
+ var _event$target;
37
+ // Check if cell is hidden behind pinned columns or edititng actions, and scroll to it.
38
+ const frozenColumnIndex = tableMeta.columnFreezing.frozenColumnIndex;
39
+ const tableElement = tableRef.current;
40
+ if (tableElement && frozenColumnIndex !== undefined && index > frozenColumnIndex) {
41
+ var _cellRef$current;
42
+ const lastFrozenColumnElement = getCurrentRowCellElement(frozenColumnIndex, tableElement);
43
+ const cellRect = (_cellRef$current = cellRef.current) === null || _cellRef$current === void 0 ? void 0 : _cellRef$current.getBoundingClientRect();
44
+ const lastFrozenRect = lastFrozenColumnElement === null || lastFrozenColumnElement === void 0 ? void 0 : lastFrozenColumnElement.getBoundingClientRect();
45
+ const tableRect = tableElement.getBoundingClientRect();
46
+ // Check for pinned columns overlap
47
+ if (cellRect && lastFrozenRect && cellRect.left < lastFrozenRect.left + lastFrozenRect.width) {
48
+ const pinnedColumnsWidth = lastFrozenRect.left + lastFrozenRect.width;
49
+ tableElement.scrollTo(cellRect.left - pinnedColumnsWidth, tableElement.scrollTop);
50
+ // Check for editing actions overlap
51
+ } else if (cellRect && tableRect && cellRect.right > tableRect.right - EDITING_ACTIONS_WIDTH) {
52
+ const spaceBetweenCellAndEditingActions = 10;
53
+ tableElement.scrollTo(
54
+ // Need to take into account if table has been already scrolled.
55
+ tableElement.scrollLeft + EDITING_ACTIONS_WIDTH + spaceBetweenCellAndEditingActions, tableElement.scrollTop);
56
+ }
57
+ }
58
+ if ((_event$target = event.target) !== null && _event$target !== void 0 && _event$target.select) {
59
+ requestAnimationFrame(() => {
60
+ event.target.select();
61
+ });
62
+ }
63
+ };
64
+ const handleBlur = () => {
65
+ tableMeta.editing.setDetailModeEditing(false);
66
+ };
67
+ // row move indicator
68
+ const moveReason = (_tableMeta$editing$ro = tableMeta.editing.rowMoveReason[cell.column.id]) !== null && _tableMeta$editing$ro !== void 0 ? _tableMeta$editing$ro : null;
69
+ const rows = table.getRowModel().rows;
70
+ const isCurrentRow = ((_rows$tableMeta$curre = rows[tableMeta.currentRow.currentRowIndex]) === null || _rows$tableMeta$curre === void 0 ? void 0 : _rows$tableMeta$curre.id) === row.id;
71
+ const mountNode = React__default.useMemo(() => {
72
+ if (moveReason) {
73
+ var _cellRef$current2, _cellRef$current2$par;
74
+ return (_cellRef$current2 = cellRef.current) === null || _cellRef$current2 === void 0 ? void 0 : (_cellRef$current2$par = _cellRef$current2.parentElement) === null || _cellRef$current2$par === void 0 ? void 0 : _cellRef$current2$par.firstChild;
75
+ }
76
+ return null;
77
+ }, [moveReason, cellRef]);
78
+ const removeMoveReason = () => {
79
+ tableMeta.editing.removeRowMoveReason(cell.column.id);
80
+ };
81
+ React__default.useEffect(() => {
82
+ // To avoid reseting move reason on another row hover,
83
+ // we need to check for changes only if value got changed in the current row.
84
+ if (!isCurrentRow) {
85
+ return;
86
+ }
87
+ if (hasChanged(getValue(), value)) {
88
+ const moveReason = getRowMoveReason(table, row.index, row.original, cell, value);
89
+ tableMeta.editing.setRowMoveReason({
90
+ [cell.column.id]: moveReason
91
+ });
92
+ } else {
93
+ removeMoveReason();
94
+ }
95
+ return removeMoveReason;
96
+ }, [value]);
97
+ const className = cn('!px-2 py-[var(--table3-row-padding)]',
98
+ // component overrides - grayscale for editing hover
99
+ '[[role="row"][data-current="false"]:hover_&>*]:!grayscale [[role="row"][data-current="false"]:hover_&_.bg-white]:!bg-grey-100', typeof columnMeta.className === 'function' ? columnMeta.className(row.original) : columnMeta.className);
100
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, moveReason !== null && mountNode && /*#__PURE__*/React__default.createElement(Indicator, {
101
+ reason: moveReason,
102
+ columnName: String(cell.column.columnDef.header),
103
+ mountNode: mountNode,
104
+ validationErrors: []
105
+ }), /*#__PURE__*/React__default.createElement("div", {
106
+ className: className,
107
+ "data-column-index": index,
108
+ role: "cell",
109
+ ref: cellRef
110
+ }, /*#__PURE__*/React__default.createElement(Control, {
111
+ align: columnMeta.align,
112
+ column: cell.column,
113
+ data: cell.row.original,
114
+ initialValue: getValue(),
115
+ onBlur: handleBlur,
116
+ onFocus: handleFocus,
117
+ onChange: handleChange,
118
+ ref: controlRef,
119
+ table: table,
120
+ tableRef: tableRef,
121
+ value: value,
122
+ cell: cell
123
+ })));
124
+ });
125
+ const Control = /*#__PURE__*/React__default.forwardRef(function Control(props, ref) {
126
+ var _column$columnDef$met, _ref$current;
127
+ const {
128
+ align,
129
+ column,
130
+ data,
131
+ initialValue,
132
+ onChange: handleChange,
133
+ table,
134
+ tableRef,
135
+ value,
136
+ cell,
137
+ ...attributes
138
+ } = props;
139
+ const tableMeta = table.options.meta;
140
+ const controlRenderer = (_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.control;
141
+ const isCellInDetailMode = tableMeta.editing.detailModeEditing && (ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.contains(document.activeElement));
142
+ const handleKeyDown = event => {
143
+ const target = event.target;
144
+ if (target.readOnly) {
145
+ return;
146
+ }
147
+ // prevent row arrow shortcuts triggering when in detail mode
148
+ if (tableMeta.editing.detailModeEditing && (event.key === 'ArrowUp' || event.key === 'ArrowDown')) {
149
+ event.preventDefault();
150
+ event.stopPropagation();
151
+ }
152
+ if (event.key === 'Escape') {
153
+ event.preventDefault();
154
+ // Revert to initial value if escape was pressed in detail mode.
155
+ if (tableMeta.editing.detailModeEditing) {
156
+ tableMeta.editing.setDetailModeEditing(false);
157
+ if (value !== initialValue) {
158
+ // Before reseting to initial value, we need to check if edited row with cell initial value is the same as original row,
159
+ // and in this case we need to completely remove row from editing state to avoid saving the same data as original.
160
+ const changedRow = tableMeta.editing.changes ? tableMeta.editing.changes[cell.row.id] : {};
161
+ const rowEdtitingDataWithInitialValue = {
162
+ ...changedRow,
163
+ [cell.column.id]: initialValue
164
+ };
165
+ if (_.isEqual(cell.row.original, rowEdtitingDataWithInitialValue)) {
166
+ tableMeta.editing.resetChange(cell.row.id);
167
+ } else {
168
+ handleChange(initialValue);
169
+ }
170
+ }
171
+ } else {
172
+ var _tableRef$current;
173
+ tableMeta.editing.toggleEditing(false);
174
+ (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.focus();
175
+ }
176
+ return;
177
+ }
178
+ // Should enable/disable editing mode if Enter was clicked
179
+ if (event.key === 'Enter') {
180
+ event.preventDefault();
181
+ if (!tableMeta.editing.detailModeEditing) {
182
+ deselectInputValue(target);
183
+ } else {
184
+ var _target$select;
185
+ target === null || target === void 0 ? void 0 : (_target$select = target.select) === null || _target$select === void 0 ? void 0 : _target$select.call(target);
186
+ }
187
+ // Ketydown "Enter" should toggle edititng mode
188
+ tableMeta.editing.setDetailModeEditing(!tableMeta.editing.detailModeEditing);
189
+ return;
190
+ }
191
+ };
192
+ const handleDatepickerChange = event => {
193
+ // When datepicker looses focus, it triggers change event, even if date wasn't changed,
194
+ // so adding additional check here to prevent adding change to the edititng state.
195
+ const originalDate = cell.row.original[cell.column.id];
196
+ const changedDate = event.detail;
197
+ if (hasChanged(originalDate, changedDate)) {
198
+ handleChange(changedDate);
199
+ }
200
+ };
201
+ if (typeof controlRenderer === 'function') {
202
+ return controlRenderer({
203
+ ...attributes,
204
+ ref,
205
+ setValue: nextValue => {
206
+ if (nextValue !== value) {
207
+ handleChange(nextValue);
208
+ }
209
+ },
210
+ value
211
+ }, data);
212
+ } else if (controlRenderer === 'datepicker') {
213
+ const handleDatepickerKeyDown = event => {
214
+ handleKeyDown(event);
215
+ if (/^[a-z0-9]$/i.test(event.key)) {
216
+ tableMeta.editing.setDetailModeEditing(true);
217
+ return;
218
+ }
219
+ };
220
+ return /*#__PURE__*/React__default.createElement(Datepicker, Object.assign({}, attributes, {
221
+ className: cn({
222
+ '[&_input]:!yt-focus-dark': isCellInDetailMode
223
+ }),
224
+ onChange: handleDatepickerChange,
225
+ onKeyDown: handleDatepickerKeyDown,
226
+ ref: ref,
227
+ value: value
228
+ }));
229
+ } else if (controlRenderer === 'switch') {
230
+ return /*#__PURE__*/React__default.createElement(Switch, Object.assign({}, attributes, {
231
+ className: "mx-2 mt-1.5",
232
+ checked: Boolean(value),
233
+ onChange: handleChange,
234
+ ref: ref
235
+ }));
236
+ }
237
+ const isNumber = typeof value === 'number';
238
+ const handleInputKeyDown = event => {
239
+ handleKeyDown(event);
240
+ // Switching to editing mode, when key pressed any alphabetical character or number
241
+ if (/^[a-z0-9]$/i.test(event.key)) {
242
+ tableMeta.editing.setDetailModeEditing(true);
243
+ return;
244
+ }
245
+ };
246
+ return /*#__PURE__*/React__default.createElement(Input, Object.assign({}, attributes, {
247
+ className: cn(getInputAppearanceClassnames(), getCellAlignmentClasses(align), {
248
+ '!yt-focus-dark': isCellInDetailMode
249
+ }),
250
+ onChange: event => {
251
+ handleChange(event.target.value);
252
+ },
253
+ onKeyDown: handleInputKeyDown,
254
+ ref: ref,
255
+ type: isNumber ? 'number' : undefined,
256
+ value: isNumber ? value : String(value !== null && value !== void 0 ? value : '')
257
+ }));
258
+ });
259
+ function getRowMoveReason(table, rowIndex, rowValues, cell, newValue) {
260
+ var _table$getState$sorti;
261
+ let rowMoveReason = null;
262
+ const {
263
+ globalFilter
264
+ } = table.getState();
265
+ const isFilteredByGlobalFilter = Object.values({
266
+ ...rowValues,
267
+ [cell.id]: newValue
268
+ }).some(cellValue =>
269
+ // Global filter can be undefined when there is no text being searched so we pass an empty string to
270
+ // globalFilterFn as query in that case.
271
+ globalFilterFn(String(cellValue), globalFilter ? String(globalFilter) : ''));
272
+ if (!isFilteredByGlobalFilter) {
273
+ rowMoveReason = IndicatorReason.SEARCH;
274
+ } else if (cell.column.getIsFiltered() && !columnFilterFn(newValue, cell.column.getFilterValue())) {
275
+ rowMoveReason = IndicatorReason.FILTER;
276
+ } else if (!rowMoveReason && cell.column.getIsSorted() && willRowMoveAfterSorting(newValue, cell, rowIndex, table.getRowModel().rows, !!((_table$getState$sorti = table.getState().sorting.find(s => s.id === cell.column.id)) !== null && _table$getState$sorti !== void 0 && _table$getState$sorti.desc))) {
277
+ rowMoveReason = IndicatorReason.SORTING;
278
+ }
279
+ return rowMoveReason;
280
+ }
281
+
282
+ export { EditingCell };
283
+ //# sourceMappingURL=EditingCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditingCell.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/cell/EditingCell.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport _ from 'lodash';\nimport { TableMeta, CellContext, ColumnMeta, Cell as RTCell, Table as RTTable } from '@tanstack/react-table';\nimport { Input } from '../../../../Input/Input';\nimport { Switch } from '../../../../Switch/Switch';\nimport { Datepicker } from '../../../../Datepicker/Datepicker';\nimport { getCellAlignmentClasses, getInputAppearanceClassnames } from '../styles';\nimport { Indicator, IndicatorReason } from './Indicator';\nimport { columnFilterFn, globalFilterFn } from '../../../util/filtering';\nimport { Table3FilterValue } from '../../../types';\nimport { hasChanged, willRowMoveAfterSorting } from '../../../util/editing';\nimport { getCurrentRowCellElement } from '../../../util/columns';\nimport { deselectInputValue } from '../../../../../utils/input';\nimport { EDITING_ACTIONS_WIDTH } from '../internal/EditingActions';\n\nexport type EditingCellProps<TType = unknown> = CellContext<TType, unknown> & {\n children?: string | JSX.Element;\n};\n\nexport function EditingCell<TType = unknown>(props: EditingCellProps<TType>) {\n return <MemoedEditingCell<TType> {...props} />;\n}\n\n// Memoization\nexport type MemoedEditingCellProps<TType = unknown> = EditingCellProps<TType>;\n\nconst MemoedEditingCell = React.memo(function MemoedEditingCell<TType = unknown>(props: MemoedEditingCellProps<TType>) {\n const { cell, column, index, getValue, table, tableRef, row } = props;\n const tableMeta = table.options.meta as TableMeta<unknown>;\n const columnMeta = column.columnDef.meta as ColumnMeta<TType, unknown>;\n\n const cellRef = React.useRef<HTMLDivElement>(null);\n const controlRef = React.useRef<HTMLElement>(null);\n\n const handleChange = (value: unknown) => tableMeta.editing.setCellValue(cell, value);\n const value = tableMeta.editing.getCellValue(cell) ?? getValue();\n\n const handleFocus = event => {\n // Check if cell is hidden behind pinned columns or edititng actions, and scroll to it.\n const frozenColumnIndex = tableMeta.columnFreezing.frozenColumnIndex;\n const tableElement = tableRef.current;\n\n if (tableElement && frozenColumnIndex !== undefined && index > frozenColumnIndex) {\n const lastFrozenColumnElement = getCurrentRowCellElement(frozenColumnIndex, tableElement);\n const cellRect = cellRef.current?.getBoundingClientRect();\n const lastFrozenRect = lastFrozenColumnElement?.getBoundingClientRect();\n const tableRect = tableElement.getBoundingClientRect();\n\n // Check for pinned columns overlap\n if (cellRect && lastFrozenRect && cellRect.left < lastFrozenRect.left + lastFrozenRect.width) {\n const pinnedColumnsWidth = lastFrozenRect.left + lastFrozenRect.width;\n tableElement.scrollTo(cellRect.left - pinnedColumnsWidth, tableElement.scrollTop);\n // Check for editing actions overlap\n } else if (cellRect && tableRect && cellRect.right > tableRect.right - EDITING_ACTIONS_WIDTH) {\n const spaceBetweenCellAndEditingActions = 10;\n tableElement.scrollTo(\n // Need to take into account if table has been already scrolled.\n tableElement.scrollLeft + EDITING_ACTIONS_WIDTH + spaceBetweenCellAndEditingActions,\n tableElement.scrollTop\n );\n }\n }\n\n if (event.target?.select) {\n requestAnimationFrame(() => {\n event.target.select();\n });\n }\n };\n\n const handleBlur = () => {\n tableMeta.editing.setDetailModeEditing(false);\n };\n\n // row move indicator\n const moveReason = tableMeta.editing.rowMoveReason[cell.column.id] ?? null;\n const rows = table.getRowModel().rows;\n const isCurrentRow = rows[tableMeta.currentRow.currentRowIndex]?.id === row.id;\n const mountNode = React.useMemo(() => {\n if (moveReason) {\n return cellRef.current?.parentElement?.firstChild as Element | null;\n }\n return null;\n }, [moveReason, cellRef]);\n\n const removeMoveReason = () => {\n tableMeta.editing.removeRowMoveReason(cell.column.id);\n };\n\n React.useEffect(() => {\n // To avoid reseting move reason on another row hover,\n // we need to check for changes only if value got changed in the current row.\n if (!isCurrentRow) {\n return;\n }\n\n if (hasChanged(getValue(), value)) {\n const moveReason = getRowMoveReason(table, row.index, row.original, cell, value);\n tableMeta.editing.setRowMoveReason({ [cell.column.id]: moveReason });\n } else {\n removeMoveReason();\n }\n return removeMoveReason;\n }, [value]);\n\n const className = cn(\n '!px-2 py-[var(--table3-row-padding)]',\n // component overrides - grayscale for editing hover\n '[[role=\"row\"][data-current=\"false\"]:hover_&>*]:!grayscale [[role=\"row\"][data-current=\"false\"]:hover_&_.bg-white]:!bg-grey-100',\n typeof columnMeta.className === 'function' ? columnMeta.className(row.original) : columnMeta.className\n );\n\n return (\n <>\n {moveReason !== null && mountNode && (\n <Indicator\n reason={moveReason}\n columnName={String(cell.column.columnDef.header)}\n mountNode={mountNode}\n validationErrors={[]}\n />\n )}\n <div className={className} data-column-index={index} role=\"cell\" ref={cellRef}>\n <Control\n align={columnMeta.align}\n column={cell.column}\n data={cell.row.original}\n initialValue={getValue()}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onChange={handleChange}\n ref={controlRef}\n table={table}\n tableRef={tableRef}\n value={value}\n cell={cell}\n />\n </div>\n </>\n );\n}) as <TType = unknown>(props: MemoedEditingCellProps<TType>) => JSX.Element;\n\nconst Control = React.forwardRef<HTMLElement, any>(function Control(props, ref) {\n const { align, column, data, initialValue, onChange: handleChange, table, tableRef, value, cell, ...attributes } = props;\n const tableMeta = table.options.meta as TableMeta<unknown>;\n\n const controlRenderer = column.columnDef.meta?.control;\n\n const isCellInDetailMode =\n tableMeta.editing.detailModeEditing && (ref as React.RefObject<HTMLElement>)?.current?.contains(document.activeElement);\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n const target = event.target as HTMLInputElement;\n\n if (target.readOnly) {\n return;\n }\n\n // prevent row arrow shortcuts triggering when in detail mode\n if (tableMeta.editing.detailModeEditing && (event.key === 'ArrowUp' || event.key === 'ArrowDown')) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n\n // Revert to initial value if escape was pressed in detail mode.\n if (tableMeta.editing.detailModeEditing) {\n tableMeta.editing.setDetailModeEditing(false);\n\n if (value !== initialValue) {\n // Before reseting to initial value, we need to check if edited row with cell initial value is the same as original row,\n // and in this case we need to completely remove row from editing state to avoid saving the same data as original.\n const changedRow: any = tableMeta.editing.changes ? tableMeta.editing.changes[cell.row.id] : {};\n const rowEdtitingDataWithInitialValue = { ...changedRow, [cell.column.id]: initialValue };\n if (_.isEqual(cell.row.original, rowEdtitingDataWithInitialValue)) {\n tableMeta.editing.resetChange(cell.row.id);\n } else {\n handleChange(initialValue);\n }\n }\n } else {\n tableMeta.editing.toggleEditing(false);\n tableRef.current?.focus();\n }\n\n return;\n }\n\n // Should enable/disable editing mode if Enter was clicked\n if (event.key === 'Enter') {\n event.preventDefault();\n\n if (!tableMeta.editing.detailModeEditing) {\n deselectInputValue(target);\n } else {\n target?.select?.();\n }\n\n // Ketydown \"Enter\" should toggle edititng mode\n tableMeta.editing.setDetailModeEditing(!tableMeta.editing.detailModeEditing);\n\n return;\n }\n };\n\n const handleDatepickerChange = event => {\n // When datepicker looses focus, it triggers change event, even if date wasn't changed,\n // so adding additional check here to prevent adding change to the edititng state.\n const originalDate = cell.row.original[cell.column.id];\n const changedDate = (event as any).detail;\n if (hasChanged(originalDate, changedDate)) {\n handleChange(changedDate);\n }\n };\n\n if (typeof controlRenderer === 'function') {\n return controlRenderer(\n {\n ...attributes,\n ref,\n setValue: nextValue => {\n if (nextValue !== value) {\n handleChange(nextValue);\n }\n },\n value,\n },\n data\n );\n } else if (controlRenderer === 'datepicker') {\n const handleDatepickerKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n handleKeyDown(event);\n\n if (/^[a-z0-9]$/i.test(event.key)) {\n tableMeta.editing.setDetailModeEditing(true);\n return;\n }\n };\n\n return (\n <Datepicker\n {...attributes}\n className={cn({\n '[&_input]:!yt-focus-dark': isCellInDetailMode,\n })}\n onChange={handleDatepickerChange}\n onKeyDown={handleDatepickerKeyDown}\n ref={ref}\n value={value as Date}\n />\n );\n } else if (controlRenderer === 'switch') {\n return <Switch {...attributes} className=\"mx-2 mt-1.5\" checked={Boolean(value)} onChange={handleChange} ref={ref} />;\n }\n\n const isNumber = typeof value === 'number';\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n handleKeyDown(event);\n\n // Switching to editing mode, when key pressed any alphabetical character or number\n if (/^[a-z0-9]$/i.test(event.key)) {\n tableMeta.editing.setDetailModeEditing(true);\n return;\n }\n };\n\n return (\n <Input\n {...attributes}\n className={cn(getInputAppearanceClassnames(), getCellAlignmentClasses(align), {\n '!yt-focus-dark': isCellInDetailMode,\n })}\n onChange={event => {\n handleChange(event.target.value);\n }}\n onKeyDown={handleInputKeyDown}\n ref={ref as React.Ref<HTMLInputElement>}\n type={isNumber ? 'number' : undefined}\n value={isNumber ? value : String(value ?? '')}\n />\n );\n});\n\nfunction getRowMoveReason<TType>(\n table: RTTable<any>,\n rowIndex: number,\n rowValues: TType,\n cell: RTCell<any, unknown>,\n newValue: any\n) {\n let rowMoveReason: IndicatorReason | null = null;\n const { globalFilter } = table.getState();\n\n const isFilteredByGlobalFilter = Object.values<unknown>({ ...rowValues, [cell.id]: newValue }).some(cellValue =>\n // Global filter can be undefined when there is no text being searched so we pass an empty string to\n // globalFilterFn as query in that case.\n globalFilterFn(String(cellValue), globalFilter ? String(globalFilter) : '')\n );\n\n if (!isFilteredByGlobalFilter) {\n rowMoveReason = IndicatorReason.SEARCH;\n } else if (cell.column.getIsFiltered() && !columnFilterFn(newValue, cell.column.getFilterValue() as Table3FilterValue)) {\n rowMoveReason = IndicatorReason.FILTER;\n } else if (\n !rowMoveReason &&\n cell.column.getIsSorted() &&\n willRowMoveAfterSorting(\n newValue,\n cell,\n rowIndex,\n table.getRowModel().rows,\n !!table.getState().sorting.find(s => s.id === cell.column.id)?.desc\n )\n ) {\n rowMoveReason = IndicatorReason.SORTING;\n }\n\n return rowMoveReason;\n}\n"],"names":["EditingCell","props","React","MemoedEditingCell","memo","cell","column","index","getValue","table","tableRef","row","tableMeta","options","meta","columnMeta","columnDef","cellRef","useRef","controlRef","handleChange","value","editing","setCellValue","getCellValue","handleFocus","event","frozenColumnIndex","columnFreezing","tableElement","current","undefined","lastFrozenColumnElement","getCurrentRowCellElement","cellRect","getBoundingClientRect","lastFrozenRect","tableRect","left","width","pinnedColumnsWidth","scrollTo","scrollTop","right","EDITING_ACTIONS_WIDTH","spaceBetweenCellAndEditingActions","scrollLeft","target","select","requestAnimationFrame","handleBlur","setDetailModeEditing","moveReason","rowMoveReason","id","rows","getRowModel","isCurrentRow","currentRow","currentRowIndex","mountNode","useMemo","parentElement","firstChild","removeMoveReason","removeRowMoveReason","useEffect","hasChanged","getRowMoveReason","original","setRowMoveReason","className","cn","Indicator","reason","columnName","String","header","validationErrors","role","ref","Control","align","data","initialValue","onBlur","onFocus","onChange","forwardRef","attributes","controlRenderer","control","isCellInDetailMode","detailModeEditing","contains","document","activeElement","handleKeyDown","readOnly","key","preventDefault","stopPropagation","changedRow","changes","rowEdtitingDataWithInitialValue","_","isEqual","resetChange","toggleEditing","focus","deselectInputValue","handleDatepickerChange","originalDate","changedDate","detail","setValue","nextValue","handleDatepickerKeyDown","test","Datepicker","onKeyDown","Switch","checked","Boolean","isNumber","handleInputKeyDown","Input","getInputAppearanceClassnames","getCellAlignmentClasses","type","rowIndex","rowValues","newValue","globalFilter","getState","isFilteredByGlobalFilter","Object","values","some","cellValue","globalFilterFn","IndicatorReason","SEARCH","getIsFiltered","columnFilterFn","getFilterValue","FILTER","getIsSorted","willRowMoveAfterSorting","sorting","find","s","desc","SORTING"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import React__default from 'react';
2
- import { Icon } from '../../../Icon/Icon.js';
3
- import { Tooltip } from '../../../Tooltip/Tooltip.js';
4
- import { useLocalization } from '../../../Provider/Localization.js';
2
+ import { Icon } from '../../../../Icon/Icon.js';
3
+ import { Tooltip } from '../../../../Tooltip/Tooltip.js';
4
+ import { useLocalization } from '../../../../Provider/Localization.js';
5
5
  import ReactDOM from 'react-dom';
6
6
 
7
7
  var IndicatorReason;
@@ -18,16 +18,16 @@ const useIndicatorText = reason => {
18
18
  } = useLocalization();
19
19
  switch (reason) {
20
20
  case IndicatorReason.FILTER:
21
- title = texts.table2.editing.rowIndicator.rowWillBeHidden;
22
- description = texts.table2.editing.rowIndicator.rowWillMoveReasonFilter;
21
+ title = texts.table3.editing.rowIndicator.rowWillBeHidden;
22
+ description = texts.table3.editing.rowIndicator.rowWillMoveReasonFilter;
23
23
  break;
24
24
  case IndicatorReason.SEARCH:
25
- title = texts.table2.editing.rowIndicator.rowWillBeHidden;
26
- description = texts.table2.editing.rowIndicator.rowWillMoveReasonSearch;
25
+ title = texts.table3.editing.rowIndicator.rowWillBeHidden;
26
+ description = texts.table3.editing.rowIndicator.rowWillMoveReasonSearch;
27
27
  break;
28
28
  case IndicatorReason.SORTING:
29
- title = texts.table2.editing.rowIndicator.rowWillMove;
30
- description = texts.table2.editing.rowIndicator.rowWillMoveReasonSorting;
29
+ title = texts.table3.editing.rowIndicator.rowWillMove;
30
+ description = texts.table3.editing.rowIndicator.rowWillMoveReasonSorting;
31
31
  break;
32
32
  }
33
33
  return {
@@ -43,20 +43,21 @@ const Indicator = ({
43
43
  }) => {
44
44
  const container = React__default.useMemo(() => {
45
45
  const element = document.createElement('div');
46
- element.className += 'z-[3] rounded-b-md items-center wcag-blue-500 absolute left-0 top-full ml-1 whitespace-nowrap px-1 py-0.5 text-xs font-bold shadow-sm';
46
+ element.className += 'rounded-b-md items-center wcag-blue-500 absolute left-0 top-full ml-1 whitespace-nowrap px-1 py-0.5 text-xs font-bold shadow-sm';
47
47
  return element;
48
48
  }, []);
49
49
  const indicatorText = useIndicatorText(reason);
50
50
  const hasValidationErrorsInRow = !!validationErrors;
51
51
  React__default.useEffect(() => {
52
52
  // mountNode could be null when rows are filtered
53
- mountNode === null || mountNode === void 0 ? void 0 : mountNode.classList.add('relative');
53
+ // Pinned columns has z-20 class assigned, which overlaps indicator element, need to add z-21 to overlap pinned columns.
54
+ mountNode === null || mountNode === void 0 ? void 0 : mountNode.classList.add('!z-[21]', 'relative');
54
55
  mountNode === null || mountNode === void 0 ? void 0 : mountNode.appendChild(container);
55
56
  return () => {
56
- mountNode === null || mountNode === void 0 ? void 0 : mountNode.classList.remove('relative');
57
+ mountNode === null || mountNode === void 0 ? void 0 : mountNode.classList.remove('!z-[21]', 'relative');
57
58
  mountNode === null || mountNode === void 0 ? void 0 : mountNode.removeChild(container);
58
59
  };
59
- }, [hasValidationErrorsInRow]);
60
+ }, [hasValidationErrorsInRow, mountNode]);
60
61
  // Using react portal inside a react tree component is an unorthodox way, but in order to avoid much code refactoring
61
62
  // and being able to use Taco Tooltip component in side the visual indicator, portal is used.
62
63
  return /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React__default.createElement(Tooltip, {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Indicator.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/cell/Indicator.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Tooltip } from '../../../../Tooltip/Tooltip';\nimport { Icon } from '../../../../Icon/Icon';\n\nexport enum IndicatorReason {\n SEARCH = 'SEARCH',\n SORTING = 'SORTING',\n FILTER = 'FILTER',\n}\n\nexport const useIndicatorText = reason => {\n let title = '';\n let description = '';\n\n const { texts } = useLocalization();\n\n switch (reason) {\n case IndicatorReason.FILTER:\n title = texts.table3.editing.rowIndicator.rowWillBeHidden;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonFilter;\n break;\n case IndicatorReason.SEARCH:\n title = texts.table3.editing.rowIndicator.rowWillBeHidden;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonSearch;\n break;\n case IndicatorReason.SORTING:\n title = texts.table3.editing.rowIndicator.rowWillMove;\n description = texts.table3.editing.rowIndicator.rowWillMoveReasonSorting;\n break;\n }\n\n return { title, description };\n};\n\nexport type IndicatorProps = {\n reason: IndicatorReason;\n columnName: string;\n mountNode: Element | null;\n validationErrors: any;\n};\nexport const Indicator = ({ reason, columnName, mountNode, validationErrors }: IndicatorProps) => {\n const container = React.useMemo(() => {\n const element = document.createElement('div');\n element.className +=\n 'rounded-b-md items-center wcag-blue-500 absolute left-0 top-full ml-1 whitespace-nowrap px-1 py-0.5 text-xs font-bold shadow-sm';\n\n return element;\n }, []);\n\n const indicatorText = useIndicatorText(reason);\n\n const hasValidationErrorsInRow = !!validationErrors;\n\n React.useEffect(() => {\n // mountNode could be null when rows are filtered\n // Pinned columns has z-20 class assigned, which overlaps indicator element, need to add z-21 to overlap pinned columns.\n mountNode?.classList.add('!z-[21]', 'relative');\n mountNode?.appendChild(container);\n\n return () => {\n mountNode?.classList.remove('!z-[21]', 'relative');\n mountNode?.removeChild(container);\n };\n }, [hasValidationErrorsInRow, mountNode]);\n\n // Using react portal inside a react tree component is an unorthodox way, but in order to avoid much code refactoring\n // and being able to use Taco Tooltip component in side the visual indicator, portal is used.\n return ReactDOM.createPortal(\n <Tooltip title={indicatorText.description.replace('[COLUMN]', columnName)}>\n <span className=\"flex gap-1 hover:cursor-pointer\">\n <Icon name=\"info\" className=\"!h-4 !w-4 rounded-full bg-white !p-0 text-blue-500\" />\n {indicatorText.title}\n </span>\n </Tooltip>,\n container\n );\n};\n"],"names":["IndicatorReason","useIndicatorText","reason","title","description","texts","useLocalization","FILTER","table3","editing","rowIndicator","rowWillBeHidden","rowWillMoveReasonFilter","SEARCH","rowWillMoveReasonSearch","SORTING","rowWillMove","rowWillMoveReasonSorting","Indicator","columnName","mountNode","validationErrors","container","React","useMemo","element","document","createElement","className","indicatorText","hasValidationErrorsInRow","useEffect","classList","add","appendChild","remove","removeChild","ReactDOM","createPortal","Tooltip","replace","Icon","name"],"mappings":";;;;;;IAMYA;AAAZ,WAAYA,eAAe;EACvBA,oCAAiB;EACjBA,sCAAmB;EACnBA,oCAAiB;AACrB,CAAC,EAJWA,eAAe,KAAfA,eAAe;MAMdC,gBAAgB,GAAGC,MAAM;EAClC,IAAIC,KAAK,GAAG,EAAE;EACd,IAAIC,WAAW,GAAG,EAAE;EAEpB,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EAEnC,QAAQJ,MAAM;IACV,KAAKF,eAAe,CAACO,MAAM;MACvBJ,KAAK,GAAGE,KAAK,CAACG,MAAM,CAACC,OAAO,CAACC,YAAY,CAACC,eAAe;MACzDP,WAAW,GAAGC,KAAK,CAACG,MAAM,CAACC,OAAO,CAACC,YAAY,CAACE,uBAAuB;MACvE;IACJ,KAAKZ,eAAe,CAACa,MAAM;MACvBV,KAAK,GAAGE,KAAK,CAACG,MAAM,CAACC,OAAO,CAACC,YAAY,CAACC,eAAe;MACzDP,WAAW,GAAGC,KAAK,CAACG,MAAM,CAACC,OAAO,CAACC,YAAY,CAACI,uBAAuB;MACvE;IACJ,KAAKd,eAAe,CAACe,OAAO;MACxBZ,KAAK,GAAGE,KAAK,CAACG,MAAM,CAACC,OAAO,CAACC,YAAY,CAACM,WAAW;MACrDZ,WAAW,GAAGC,KAAK,CAACG,MAAM,CAACC,OAAO,CAACC,YAAY,CAACO,wBAAwB;MACxE;;EAGR,OAAO;IAAEd,KAAK;IAAEC;GAAa;AACjC;MAQac,SAAS,GAAG,CAAC;EAAEhB,MAAM;EAAEiB,UAAU;EAAEC,SAAS;EAAEC;CAAkC;EACzF,MAAMC,SAAS,GAAGC,cAAK,CAACC,OAAO,CAAC;IAC5B,MAAMC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;IAC7CF,OAAO,CAACG,SAAS,IACb,iIAAiI;IAErI,OAAOH,OAAO;GACjB,EAAE,EAAE,CAAC;EAEN,MAAMI,aAAa,GAAG5B,gBAAgB,CAACC,MAAM,CAAC;EAE9C,MAAM4B,wBAAwB,GAAG,CAAC,CAACT,gBAAgB;EAEnDE,cAAK,CAACQ,SAAS,CAAC;;;IAGZX,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEY,SAAS,CAACC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/Cb,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEc,WAAW,CAACZ,SAAS,CAAC;IAEjC,OAAO;MACHF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEY,SAAS,CAACG,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;MAClDf,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEgB,WAAW,CAACd,SAAS,CAAC;KACpC;GACJ,EAAE,CAACQ,wBAAwB,EAAEV,SAAS,CAAC,CAAC;;;EAIzC,oBAAOiB,QAAQ,CAACC,YAAY,eACxBf,6BAACgB,OAAO;IAACpC,KAAK,EAAE0B,aAAa,CAACzB,WAAW,CAACoC,OAAO,CAAC,UAAU,EAAErB,UAAU;kBACpEI;IAAMK,SAAS,EAAC;kBACZL,6BAACkB,IAAI;IAACC,IAAI,EAAC,MAAM;IAACd,SAAS,EAAC;IAAuD,EAClFC,aAAa,CAAC1B,KAAK,CACjB,CACD,EACVmB,SAAS,CACZ;AACL;;;;"}
@@ -0,0 +1,50 @@
1
+ import React__default from 'react';
2
+ import cn from 'classnames';
3
+ import { isFrozenColumn } from '../../../util/columns.js';
4
+
5
+ function Footer(props) {
6
+ const {
7
+ column,
8
+ header,
9
+ table
10
+ } = props;
11
+ const meta = React__default.useMemo(() => column.columnDef.meta, []);
12
+ // Footers are heavily memoized because performance in our table is critical
13
+ // be careful and selective about props that you pass to the Footer
14
+ const memoedProps = {
15
+ align: meta.align,
16
+ id: header.id,
17
+ index: header.index,
18
+ isFrozen: isFrozenColumn(header.index, table),
19
+ meta,
20
+ table
21
+ };
22
+ return /*#__PURE__*/React__default.createElement(MemoedFooter, Object.assign({}, memoedProps));
23
+ }
24
+ const MemoedFooter = /*#__PURE__*/React__default.memo(function MemoedFooter(props) {
25
+ const {
26
+ align,
27
+ id,
28
+ index,
29
+ isFrozen,
30
+ meta,
31
+ table
32
+ } = props;
33
+ const className = cn('sticky bottom-0 border-t-2 font-bold h-10 box-content items-center group/column relative', {
34
+ 'z-30': isFrozen
35
+ });
36
+ if (table.options.debugAll) {
37
+ console.log('footer render', id);
38
+ }
39
+ return /*#__PURE__*/React__default.createElement("div", {
40
+ className: className,
41
+ "data-align": align,
42
+ "data-column-index": index,
43
+ role: "cell"
44
+ }, typeof meta.footer === 'function' ? /*#__PURE__*/React__default.createElement("span", {
45
+ className: "flex-grow truncate"
46
+ }, meta.footer(table.getRowModel().rows.map(row => row.original[id]))) : null);
47
+ });
48
+
49
+ export { Footer };
50
+ //# sourceMappingURL=Footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/footer/Footer.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { ColumnMeta, HeaderContext } from '@tanstack/react-table';\nimport { isFrozenColumn } from '../../../util/columns';\nimport { ColumnAlignment, Table3ColumnFooterRenderer } from '../../../types';\n\nexport type FooterProps<TType = unknown> = HeaderContext<TType, unknown> & {\n renderer?: Table3ColumnFooterRenderer<TType>;\n};\n\nexport function Footer<TType = unknown>(props: FooterProps<TType>) {\n const { column, header, table } = props;\n const meta = React.useMemo(() => column.columnDef.meta, []) as ColumnMeta<TType, unknown>;\n\n // Footers are heavily memoized because performance in our table is critical\n // be careful and selective about props that you pass to the Footer\n const memoedProps = {\n align: meta.align,\n id: header.id,\n index: header.index,\n isFrozen: isFrozenColumn(header.index, table),\n meta,\n table,\n };\n\n return <MemoedFooter<TType> {...memoedProps} />;\n}\n\n// Memoization\nexport type MemoedFooterProps<TType = unknown> = Omit<FooterProps<TType>, 'header' | 'column' | 'scrollToIndex'> & {\n align?: ColumnAlignment;\n id: string;\n index: number;\n isFrozen: boolean;\n meta: ColumnMeta<TType, unknown>;\n};\n\nconst MemoedFooter = React.memo(function MemoedFooter<TType = unknown>(props: MemoedFooterProps<TType>) {\n const { align, id, index, isFrozen, meta, table } = props;\n\n const className = cn('sticky bottom-0 border-t-2 font-bold h-10 box-content items-center group/column relative', {\n 'z-30': isFrozen,\n });\n\n if (table.options.debugAll) {\n console.log('footer render', id);\n }\n\n return (\n <div className={className} data-align={align} data-column-index={index} role=\"cell\">\n {typeof meta.footer === 'function' ? (\n <span className=\"flex-grow truncate\">{meta.footer(table.getRowModel().rows.map(row => row.original[id]))}</span>\n ) : null}\n </div>\n );\n}) as <TType = unknown>(props: MemoedFooterProps<TType>) => JSX.Element;\n"],"names":["Footer","props","column","header","table","meta","React","useMemo","columnDef","memoedProps","align","id","index","isFrozen","isFrozenColumn","MemoedFooter","memo","className","cn","options","debugAll","console","log","role","footer","getRowModel","rows","map","row","original"],"mappings":";;;;SAUgBA,MAAM,CAAkBC,KAAyB;EAC7D,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC;GAAO,GAAGH,KAAK;EACvC,MAAMI,IAAI,GAAGC,cAAK,CAACC,OAAO,CAAC,MAAML,MAAM,CAACM,SAAS,CAACH,IAAI,EAAE,EAAE,CAA+B;;;EAIzF,MAAMI,WAAW,GAAG;IAChBC,KAAK,EAAEL,IAAI,CAACK,KAAK;IACjBC,EAAE,EAAER,MAAM,CAACQ,EAAE;IACbC,KAAK,EAAET,MAAM,CAACS,KAAK;IACnBC,QAAQ,EAAEC,cAAc,CAACX,MAAM,CAACS,KAAK,EAAER,KAAK,CAAC;IAC7CC,IAAI;IACJD;GACH;EAED,oBAAOE,6BAACS,YAAY,oBAAYN,WAAW,EAAI;AACnD;AAWA,MAAMM,YAAY,gBAAGT,cAAK,CAACU,IAAI,CAAC,SAASD,YAAY,CAAkBd,KAA+B;EAClG,MAAM;IAAES,KAAK;IAAEC,EAAE;IAAEC,KAAK;IAAEC,QAAQ;IAAER,IAAI;IAAED;GAAO,GAAGH,KAAK;EAEzD,MAAMgB,SAAS,GAAGC,EAAE,CAAC,0FAA0F,EAAE;IAC7G,MAAM,EAAEL;GACX,CAAC;EAEF,IAAIT,KAAK,CAACe,OAAO,CAACC,QAAQ,EAAE;IACxBC,OAAO,CAACC,GAAG,CAAC,eAAe,EAAEX,EAAE,CAAC;;EAGpC,oBACIL;IAAKW,SAAS,EAAEA,SAAS;kBAAcP,KAAK;yBAAqBE,KAAK;IAAEW,IAAI,EAAC;KACxE,OAAOlB,IAAI,CAACmB,MAAM,KAAK,UAAU,gBAC9BlB;IAAMW,SAAS,EAAC;KAAsBZ,IAAI,CAACmB,MAAM,CAACpB,KAAK,CAACqB,WAAW,EAAE,CAACC,IAAI,CAACC,GAAG,CAACC,GAAG,IAAIA,GAAG,CAACC,QAAQ,CAAClB,EAAE,CAAC,CAAC,CAAC,CAAQ,GAChH,IAAI,CACN;AAEd,CAAC,CAAsE;;;;"}
@@ -0,0 +1,30 @@
1
+ import React__default from 'react';
2
+ import { useLocalization } from '../../../../Provider/Localization.js';
3
+
4
+ function Summary(props) {
5
+ const {
6
+ length,
7
+ table
8
+ } = props;
9
+ const {
10
+ locale,
11
+ texts
12
+ } = useLocalization();
13
+ let label;
14
+ let count;
15
+ // row selection
16
+ const rowsSelectedLength = table.getIsAllRowsSelected() ? length : table.getSelectedRowModel().rows.length;
17
+ if (rowsSelectedLength > 0) {
18
+ label = texts.table3.footer.summary.selected;
19
+ count = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("strong", null, new Intl.NumberFormat(locale).format(rowsSelectedLength)), "\u00A0", texts.table3.footer.summary.count, "\u00A0", /*#__PURE__*/React__default.createElement("strong", null, length));
20
+ } else {
21
+ label = texts.table3.footer.summary.records;
22
+ count = /*#__PURE__*/React__default.createElement("strong", null, new Intl.NumberFormat(locale).format(length));
23
+ }
24
+ return /*#__PURE__*/React__default.createElement("div", {
25
+ className: "sticky bottom-0 left-0 z-40 -mt-10 flex h-10 w-fit items-center whitespace-nowrap bg-white px-4 !pr-3 shadow-[6px_0px_6px_theme(colors.white)]"
26
+ }, label, "\u00A0", count);
27
+ }
28
+
29
+ export { Summary };
30
+ //# sourceMappingURL=Summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Summary.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/footer/Summary.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable } from '@tanstack/react-table';\nimport { useLocalization } from '../../../../Provider/Localization';\n\nexport type FooterSummaryProps<TType = unknown> = {\n length: number;\n table: RTable<TType>;\n};\n\nexport function Summary<TType = unknown>(props: FooterSummaryProps<TType>) {\n const { length, table } = props;\n const { locale, texts } = useLocalization();\n\n let label;\n let count;\n\n // row selection\n const rowsSelectedLength = table.getIsAllRowsSelected() ? length : table.getSelectedRowModel().rows.length;\n\n if (rowsSelectedLength > 0) {\n label = texts.table3.footer.summary.selected;\n count = (\n <>\n <strong>{new Intl.NumberFormat(locale).format(rowsSelectedLength)}</strong>&nbsp;\n {texts.table3.footer.summary.count}&nbsp;\n <strong>{length}</strong>\n </>\n );\n } else {\n label = texts.table3.footer.summary.records;\n count = <strong>{new Intl.NumberFormat(locale).format(length)}</strong>;\n }\n\n return (\n <div className=\"sticky bottom-0 left-0 z-40 -mt-10 flex h-10 w-fit items-center whitespace-nowrap bg-white px-4 !pr-3 shadow-[6px_0px_6px_theme(colors.white)]\">\n {label}&nbsp;{count}\n </div>\n );\n}\n"],"names":["Summary","props","length","table","locale","texts","useLocalization","label","count","rowsSelectedLength","getIsAllRowsSelected","getSelectedRowModel","rows","table3","footer","summary","selected","React","Intl","NumberFormat","format","records","className"],"mappings":";;;SASgBA,OAAO,CAAkBC,KAAgC;EACrE,MAAM;IAAEC,MAAM;IAAEC;GAAO,GAAGF,KAAK;EAC/B,MAAM;IAAEG,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EAE3C,IAAIC,KAAK;EACT,IAAIC,KAAK;;EAGT,MAAMC,kBAAkB,GAAGN,KAAK,CAACO,oBAAoB,EAAE,GAAGR,MAAM,GAAGC,KAAK,CAACQ,mBAAmB,EAAE,CAACC,IAAI,CAACV,MAAM;EAE1G,IAAIO,kBAAkB,GAAG,CAAC,EAAE;IACxBF,KAAK,GAAGF,KAAK,CAACQ,MAAM,CAACC,MAAM,CAACC,OAAO,CAACC,QAAQ;IAC5CR,KAAK,gBACDS,yEACIA,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACf,MAAM,CAAC,CAACgB,MAAM,CAACX,kBAAkB,CAAC,CAAU,YAC1EJ,KAAK,CAACQ,MAAM,CAACC,MAAM,CAACC,OAAO,CAACP,KAAK,yBAClCS,6CAASf,MAAM,CAAU,CAEhC;GACJ,MAAM;IACHK,KAAK,GAAGF,KAAK,CAACQ,MAAM,CAACC,MAAM,CAACC,OAAO,CAACM,OAAO;IAC3Cb,KAAK,gBAAGS,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACf,MAAM,CAAC,CAACgB,MAAM,CAAClB,MAAM,CAAC,CAAU;;EAG3E,oBACIe;IAAKK,SAAS,EAAC;KACVf,KAAK,YAAQC,KAAK,CACjB;AAEd;;;;"}
@@ -0,0 +1,27 @@
1
+ import React__default from 'react';
2
+ import { useLocalization } from '../../../../Provider/Localization.js';
3
+ import { Popover } from '../../../../Popover/Popover.js';
4
+ import { SearchInput } from '../../../../SearchInput/SearchInput.js';
5
+
6
+ function GotoPopover(props) {
7
+ const {
8
+ onGoto: handleGoto,
9
+ trigger,
10
+ ...popoverProps
11
+ } = props;
12
+ const {
13
+ texts
14
+ } = useLocalization();
15
+ const handleSearch = value => handleGoto(value);
16
+ return /*#__PURE__*/React__default.createElement(Popover, Object.assign({}, popoverProps, {
17
+ anchor: trigger
18
+ }), /*#__PURE__*/React__default.createElement(Popover.Content, null, /*#__PURE__*/React__default.createElement(SearchInput, {
19
+ "aria-label": texts.table3.columns.menu.gotoRow,
20
+ name: "query",
21
+ onSearch: handleSearch,
22
+ placeholder: `${texts.table3.columns.menu.gotoRow}...`
23
+ })));
24
+ }
25
+
26
+ export { GotoPopover };
27
+ //# sourceMappingURL=Goto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Goto.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/header/Goto.tsx"],"sourcesContent":["import React from 'react';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Popover, PopoverProps } from '../../../../Popover/Popover';\nimport { SearchInput } from '../../../../SearchInput/SearchInput';\n\nexport type GotoProps = PopoverProps & {\n onGoto: (query: string) => Promise<void>;\n};\nexport function GotoPopover(props: GotoProps) {\n const { onGoto: handleGoto, trigger, ...popoverProps } = props;\n const { texts } = useLocalization();\n\n const handleSearch = value => handleGoto(value);\n\n return (\n <Popover {...popoverProps} anchor={trigger}>\n <Popover.Content>\n <SearchInput\n aria-label={texts.table3.columns.menu.gotoRow}\n name=\"query\"\n onSearch={handleSearch}\n placeholder={`${texts.table3.columns.menu.gotoRow}...`}\n />\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["GotoPopover","props","onGoto","handleGoto","trigger","popoverProps","texts","useLocalization","handleSearch","value","React","Popover","anchor","Content","SearchInput","table3","columns","menu","gotoRow","name","onSearch","placeholder"],"mappings":";;;;;SAQgBA,WAAW,CAACC,KAAgB;EACxC,MAAM;IAAEC,MAAM,EAAEC,UAAU;IAAEC,OAAO;IAAE,GAAGC;GAAc,GAAGJ,KAAK;EAC9D,MAAM;IAAEK;GAAO,GAAGC,eAAe,EAAE;EAEnC,MAAMC,YAAY,GAAGC,KAAK,IAAIN,UAAU,CAACM,KAAK,CAAC;EAE/C,oBACIC,6BAACC,OAAO,oBAAKN,YAAY;IAAEO,MAAM,EAAER;mBAC/BM,6BAACC,OAAO,CAACE,OAAO,qBACZH,6BAACI,WAAW;kBACIR,KAAK,CAACS,MAAM,CAACC,OAAO,CAACC,IAAI,CAACC,OAAO;IAC7CC,IAAI,EAAC,OAAO;IACZC,QAAQ,EAAEZ,YAAY;IACtBa,WAAW,KAAKf,KAAK,CAACS,MAAM,CAACC,OAAO,CAACC,IAAI,CAACC;IAC5C,CACY,CACZ;AAElB;;;;"}