@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 @@
1
+ {"version":3,"file":"virtualised.js","sources":["../../../../../../../../src/components/Table3/strategies/virtualised.tsx"],"sourcesContent":["import React from 'react';\nimport { flexRender, Row as RTRow, Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { useVirtual } from 'react-virtual';\nimport { Row } from '../components/rows/Row';\nimport { Table3Props, Table3RowExpansionRenderer, TableStrategy } from '../types';\nimport { ExpandedRow } from '../components/rows/ExpandedRow';\nimport { rowHeightSizeEstimates } from '../components/rows/styles';\nimport { SkeletonRow } from '../components/rows/SkeletonRow';\n\nfunction createBodyRenderer<TType = unknown>(\n props: Table3Props<TType>,\n rows: RTRow<TType>[],\n table: RTable<TType>,\n tableRef: React.RefObject<HTMLDivElement>,\n virtualiser: ReturnType<typeof useVirtual>,\n setExpandedRowSizes: React.Dispatch<React.SetStateAction<Record<string, number>>>\n) {\n return () => {\n if (rows.length) {\n const paddingTop = virtualiser.virtualItems.length > 0 ? virtualiser.virtualItems[0]?.start ?? 0 : 0;\n const paddingBottom =\n virtualiser.virtualItems.length > 0\n ? virtualiser.totalSize - (virtualiser.virtualItems[virtualiser.virtualItems.length - 1]?.end ?? 0)\n : 0;\n\n const createSetSizeHandler = (index: number) => (size: number) => {\n setExpandedRowSizes(sizes => {\n if (size !== sizes[index]) {\n return { ...sizes, [index]: size };\n }\n\n return sizes;\n });\n };\n\n return (\n <>\n {paddingTop ? <div style={{ height: paddingTop }} className=\"col-span-full\" /> : null}\n {virtualiser.virtualItems.map(virtualRow => {\n const row = rows[virtualRow.index];\n\n if (row.original === undefined && props.pageSize) {\n const pageIndex = (Math.floor(virtualRow.index / props.pageSize) * props.pageSize) / props.pageSize;\n\n return (\n <SkeletonRow<TType>\n key={row.id}\n columns={table.getVisibleLeafColumns()}\n loadPage={props.loadPage}\n pageIndex={pageIndex}\n table={table}\n />\n );\n }\n\n return (\n <React.Fragment key={row.id}>\n <Row<TType>\n index={virtualRow.index}\n isLastRow={virtualRow.index === rows.length - 1}\n row={row}\n table={table}\n tableRef={tableRef}>\n {row.getVisibleCells().map((cell, index) => (\n <React.Fragment key={cell.id}>\n {flexRender(cell.column.columnDef.cell, { ...cell.getContext(), index, tableRef })}\n </React.Fragment>\n ))}\n </Row>\n {row.getIsExpanded() ? (\n <ExpandedRow\n data={row.original}\n renderer={props.expandedRowRenderer as Table3RowExpansionRenderer}\n registerSize={createSetSizeHandler(virtualRow.index)}\n />\n ) : null}\n </React.Fragment>\n );\n })}\n {paddingBottom ? <div style={{ height: paddingBottom }} className=\"col-span-full\" /> : null}\n </>\n );\n }\n\n return null;\n };\n}\n\nexport function useTableRenderStrategy<TType = unknown>(\n props: Table3Props<TType>,\n table: RTable<TType>,\n tableRef: React.RefObject<HTMLDivElement>\n): TableStrategy {\n const meta = table.options.meta as TableMeta<TType>;\n const rows = table.getRowModel().rows;\n const expandedState = table.getState().expanded;\n\n const [expandedRowSizes, setExpandedRowSizes] = React.useState<Record<string, number>>({});\n\n const firstAvailableExpandedRowHeight = React.useMemo(() => {\n const values: number[] = Object.values(expandedRowSizes);\n return values.length ? values.reduce((a, b) => a + b, 0) / values.length : 0;\n }, [expandedRowSizes]);\n\n const estimateSize = React.useCallback(\n index => {\n const rowHeight = meta.rowHeight.height\n ? rowHeightSizeEstimates[meta.rowHeight.height]\n : rowHeightSizeEstimates.medium;\n\n if (expandedState === true || expandedState?.[index]) {\n return rowHeight + (expandedRowSizes[index] ?? firstAvailableExpandedRowHeight ?? 0);\n }\n\n return rowHeight;\n },\n [meta.rowHeight.height, expandedRowSizes, expandedState]\n );\n\n const virtualiser = useVirtual({\n parentRef: tableRef,\n size: rows.length,\n estimateSize,\n });\n\n const scrollToIndex = React.useCallback(\n (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => {\n if (tableRef.current) {\n if (index <= 0) {\n tableRef.current.scrollTo(tableRef.current.scrollLeft, 0);\n } else if (index >= rows.length - 1) {\n tableRef.current?.scrollTo(0, tableRef.current.scrollHeight);\n } else {\n virtualiser.scrollToIndex(index, options);\n }\n }\n },\n [rows.length, tableRef.current]\n );\n\n return {\n renderBody: createBodyRenderer(props, rows, table, tableRef, virtualiser, setExpandedRowSizes),\n scrollToIndex,\n };\n}\n"],"names":["createBodyRenderer","props","rows","table","tableRef","virtualiser","setExpandedRowSizes","length","paddingTop","virtualItems","start","paddingBottom","totalSize","end","createSetSizeHandler","index","size","sizes","React","style","height","className","map","virtualRow","row","original","undefined","pageSize","pageIndex","Math","floor","SkeletonRow","key","id","columns","getVisibleLeafColumns","loadPage","Fragment","Row","isLastRow","getVisibleCells","cell","flexRender","column","columnDef","getContext","getIsExpanded","ExpandedRow","data","renderer","expandedRowRenderer","registerSize","useTableRenderStrategy","meta","options","getRowModel","expandedState","getState","expanded","expandedRowSizes","useState","firstAvailableExpandedRowHeight","useMemo","values","Object","reduce","a","b","estimateSize","useCallback","rowHeight","rowHeightSizeEstimates","medium","useVirtual","parentRef","scrollToIndex","current","scrollTo","scrollLeft","scrollHeight","renderBody"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ var Table3FilterComparator;
2
+ (function (Table3FilterComparator) {
3
+ Table3FilterComparator[Table3FilterComparator["Contains"] = 0] = "Contains";
4
+ Table3FilterComparator[Table3FilterComparator["DoesNotContain"] = 1] = "DoesNotContain";
5
+ Table3FilterComparator[Table3FilterComparator["IsEqualTo"] = 2] = "IsEqualTo";
6
+ Table3FilterComparator[Table3FilterComparator["IsNotEqualTo"] = 3] = "IsNotEqualTo";
7
+ Table3FilterComparator[Table3FilterComparator["IsGreaterThan"] = 4] = "IsGreaterThan";
8
+ Table3FilterComparator[Table3FilterComparator["IsLessThan"] = 5] = "IsLessThan";
9
+ Table3FilterComparator[Table3FilterComparator["IsBetween"] = 6] = "IsBetween";
10
+ Table3FilterComparator[Table3FilterComparator["IsOneOf"] = 7] = "IsOneOf";
11
+ Table3FilterComparator[Table3FilterComparator["IsNoneOf"] = 8] = "IsNoneOf";
12
+ Table3FilterComparator[Table3FilterComparator["IsAllOf"] = 9] = "IsAllOf";
13
+ Table3FilterComparator[Table3FilterComparator["IsEmpty"] = 10] = "IsEmpty";
14
+ Table3FilterComparator[Table3FilterComparator["IsNotEmpty"] = 11] = "IsNotEmpty";
15
+ })(Table3FilterComparator || (Table3FilterComparator = {}));
16
+
17
+ export { Table3FilterComparator };
18
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../../../../../src/components/Table3/types.ts"],"sourcesContent":["import {\n ColumnFilter as RTColumnFilter,\n ColumnFiltersState,\n ColumnOrderState,\n ColumnPinningState,\n ColumnSizingState,\n ColumnSort as RTColumnSort,\n SortingState,\n VisibilityState,\n BuiltInSortingFn,\n} from '@tanstack/react-table';\nimport { MenuProps } from '../Menu/Menu';\n\nexport type SortDirection = 'asc' | 'desc';\nexport type SortFn<TType = unknown> = ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1) | BuiltInSortingFn | 'auto';\n\n// columns\nexport type Table3ColumnRenderer<TValue = unknown, TType = unknown> = (value: TValue, row: TType) => JSX.Element | string | null;\nexport type Table3ColumnFooterRenderer<TValue = unknown> = (values: TValue[]) => JSX.Element | string | null;\nexport type Table3ColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string);\nexport type ColumnAlignment = 'left' | 'center' | 'right';\nexport type ColumnDataType = 'auto' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';\nexport type Table3ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;\n\nexport type Table3ColumnControlProps = {\n className?: string;\n disabled?: boolean;\n invalid?: boolean;\n onBlur?: (value: any) => void;\n onFocus?: React.FocusEventHandler;\n readOnly?: boolean;\n ref: React.RefObject<HTMLElement>;\n setValue: (value: any) => void;\n value: any;\n};\nexport type Table3ColumnControlRenderer<TType = unknown> =\n | ((props: Table3ColumnControlProps, row?: TType) => JSX.Element)\n | 'datepicker'\n | 'input'\n | 'switch';\n\nexport type Table3ColumnProps<TType = unknown> = {\n accessor: string;\n align?: ColumnAlignment;\n className?: Table3ColumnClassNameHandler<TType>;\n control?: Table3ColumnControlRenderer<TType>;\n dataType?: ColumnDataType;\n defaultHidden?: boolean;\n defaultWidth?: number | 'grow';\n enableFiltering?: boolean;\n enableHiding?: boolean;\n enableOrdering?: boolean;\n enableResizing?: boolean;\n enableSearch?: boolean;\n enableSorting?: boolean;\n enableTruncate?: boolean;\n footer?: Table3ColumnFooterRenderer;\n header: string;\n headerClassName?: string;\n menu?: Table3ColumnHeaderMenu;\n renderer?: Table3ColumnRenderer<unknown, TType>;\n sort?: SortDirection;\n sortFn?: SortFn<TType>;\n tooltip?: string;\n};\n\n// rows\nexport type DeprecatedRowDensity = 'compact' | 'normal' | 'comfortable' | 'spacious';\nexport type Table3RowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type Table3FontSize = 'small' | 'medium' | 'large';\nexport type Table3RowClickHandler<TType = unknown> = (row: TType) => void;\nexport type Table3RowDragHandler<TType = unknown> = (\n rows: TType[],\n showPlaceholder: (string) => void,\n setDataTransfer: (data: string) => void\n) => void;\nexport type Table3RowDropHandler<TType = any> = (event: React.DragEvent, row: TType) => void;\nexport type Table3RowExpansionRenderer<TType = unknown> = (row: TType) => (() => JSX.Element) | null;\nexport type Table3RowSelectionHandler<TType = unknown> = (rows: TType[]) => void;\n\nexport type Table3RowActionRenderer<TType = unknown> = (row: TType) => JSX.Element;\n\n// table\nexport type Table3RenderStrategy = 'static' | 'virtual';\nexport type Table3Preset = 'display' | 'editable';\nexport type Table3Settings = {\n columnFilters?: ColumnFiltersState;\n columnFreezingIndex?: number;\n columnOrder?: ColumnOrderState;\n columnPinning?: ColumnPinningState;\n columnSizing?: ColumnSizingState;\n columnVisibility?: VisibilityState;\n excludeUnmatchedRecordsInSearch?: boolean;\n fontSize?: Table3FontSize;\n // deprecated - here to map existing settings across to new settings\n rowDensity?: DeprecatedRowDensity;\n rowHeight?: Table3RowHeight;\n sorting?: SortingState;\n};\nexport type Table3SettingsAdapter = (settings: Table3Settings) => void;\n\nexport enum Table3FilterComparator {\n Contains,\n DoesNotContain,\n IsEqualTo,\n IsNotEqualTo,\n IsGreaterThan,\n IsLessThan,\n IsBetween,\n IsOneOf,\n IsNoneOf,\n IsAllOf,\n IsEmpty,\n IsNotEmpty,\n}\n\nexport type Table3FilterValue = {\n comparator: Table3FilterComparator;\n value: any;\n};\n\nexport type Table3Filter = { id: string; value: Table3FilterValue };\n\nexport type ColumnFilter = RTColumnFilter;\nexport type Table3FilterHandler = (filters: ColumnFilter[]) => void;\nexport type Table3SearchHandler = (query: string | undefined) => Promise<void>;\nexport type Table3LoadPageHandler = (\n pageIndex: number,\n sorting: ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3LoadAllHandler = (sorting: ColumnSort[], filters: ColumnFilter[], search: string | undefined) => Promise<void>;\nexport type Table3RowGotoHandler = (\n column: string,\n query: string,\n sorting: ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<number>;\nexport type ColumnSort = RTColumnSort;\nexport type Table3SortHandler = (sorting: ColumnSort[]) => void;\nexport type TableStrategy = {\n renderBody: () => JSX.Element | JSX.Element[] | null;\n scrollToIndex: (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\n};\nexport type Table3ShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type Table3ShortcutHandlerObject<TType = unknown> = {\n handler: Table3ShortcutHandlerFn<TType>;\n meta?: boolean;\n shift?: boolean;\n};\nexport type Table3Shortcuts<TType = unknown> = Record<\n string,\n Table3ShortcutHandlerFn<TType> | Table3ShortcutHandlerObject<TType>\n>;\nexport type Table3SaveHandler<TType = unknown> = (data: TType) => Promise<void>;\n\nexport type Table3Options = {\n enableColumnFreezing: boolean;\n enableColumnHiding: boolean;\n enableColumnOrdering: boolean;\n enableColumnResizing: boolean;\n enableFontSize: boolean;\n enablePrinting: boolean;\n enableRowDrag: boolean;\n enableRowDrop: boolean;\n enableRowExpansion: boolean;\n enableRowGoto: boolean;\n enableRowHeight: boolean;\n enableRowSelection: boolean;\n enableRowSelectionSingle: boolean;\n enableEditing: boolean;\n enableFiltering: boolean;\n enableSearch: boolean;\n enableSorting: boolean;\n};\n\nexport type CommonTable3Props<TType = unknown> = Partial<Table3Options> & {\n actionsForRow?: Table3RowActionRenderer<TType>[];\n actionsForRowLength?: number;\n children: (React.ReactElement<Table3ColumnProps<TType>> | boolean | null | undefined)[];\n data: TType[];\n defaultColumnFreezingIndex?: number;\n defaultCurrentRowIndex?: number;\n defaultSettings?: Table3Settings;\n emptyState?: () => JSX.Element;\n expandedRowRenderer?: Table3RowExpansionRenderer<TType>;\n id: string;\n onChangeSettings?: Table3SettingsAdapter;\n onRowClick?: Table3RowClickHandler<TType>;\n onRowDrag?: Table3RowDragHandler<TType>;\n onRowDrop?: Table3RowDropHandler<TType>;\n onRowGoto?: Table3RowGotoHandler;\n onRowSelect?: Table3RowSelectionHandler<TType>;\n onFilter?: Table3FilterHandler;\n onSave?: Table3SaveHandler;\n onSearch?: Table3SearchHandler;\n onSort?: Table3SortHandler;\n preset?: Table3Preset;\n shortcuts?: Table3Shortcuts<TType>;\n toolbarLeft?: JSX.Element;\n toolbarRight?: JSX.Element;\n};\n\ninterface ClientTable3Props<TType = unknown> extends CommonTable3Props<TType> {\n length?: never;\n loadPage?: never;\n loadAll?: never;\n pageSize?: never;\n}\n\ninterface ServerTable3Props<TType = unknown> extends CommonTable3Props<TType> {\n length: number | undefined;\n loadPage: Table3LoadPageHandler;\n loadAll: Table3LoadAllHandler;\n pageSize?: number;\n}\n\nexport type Table3Props<TType = unknown> = ClientTable3Props<TType> | ServerTable3Props<TType>;\n\nexport type Table3Ref = HTMLDivElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n toggleEditing: (enabled: boolean | undefined) => void;\n };\n};\n\nexport type Table3Texts = {\n columns: {\n actions: {\n tooltip: string;\n };\n drag: {\n tooltip: string;\n };\n expansion: {\n collapse: string;\n collapseAll: string;\n expand: string;\n expandAll: string;\n };\n menu: {\n freezeFirstColumn: string;\n freezeUptoColumn: string;\n gotoRow: string;\n hideColumn: string;\n unfreezeColumns: string;\n };\n resize: {\n tooltip: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n };\n columnSettings: {\n button: string;\n noResults: string;\n search: string;\n tooltip: string;\n };\n editing: {\n actions: {\n tooltip: string;\n save: string;\n clear: string;\n exit: string;\n };\n buttons: {\n edit: {\n text: string;\n tooltip: string;\n };\n };\n rowIndicator: {\n rowWillMove: string;\n rowWillBeHidden: string;\n rowWillMoveReasonSearch: string;\n rowWillMoveReasonFilter: string;\n rowWillMoveReasonSorting: string;\n };\n saving: {\n progress: string;\n complete: string;\n };\n };\n filters: {\n button: string;\n buttons: {\n addFilter: string;\n clearFilters: string;\n };\n comparators: {\n contains: string;\n doesNotContain: string;\n isEqualTo: string;\n isNotEqualTo: string;\n isGreaterThan: string;\n isLessThan: string;\n isBetween: string;\n isOneOf: string;\n isNoneOf: string;\n isAllOf: string;\n isEmpty: string;\n isNotEmpty: string;\n };\n conditions: {\n and: string;\n where: string;\n };\n emptyFilter: {\n condition: string;\n value: string;\n };\n tooltip: string;\n total: string;\n };\n fontSize: {\n tooltip: string;\n sizes: {\n small: string;\n medium: string;\n large: string;\n };\n };\n footer: {\n summary: {\n count: string;\n records: string;\n selected: string;\n };\n };\n print: {\n error: string;\n loading: string;\n tooltip: string;\n };\n rowHeight: {\n tooltip: string;\n sizes: {\n short: string;\n medium: string;\n tall: string;\n extraTall: string;\n };\n };\n search: {\n excludeUnmatchedResults: string;\n placeholder: string;\n };\n};\n"],"names":["Table3FilterComparator"],"mappings":"IAqGYA;AAAZ,WAAYA,sBAAsB;EAC9BA,2EAAQ;EACRA,uFAAc;EACdA,6EAAS;EACTA,mFAAY;EACZA,qFAAa;EACbA,+EAAU;EACVA,6EAAS;EACTA,yEAAO;EACPA,2EAAQ;EACRA,yEAAO;EACPA,0EAAO;EACPA,gFAAU;AACd,CAAC,EAbWA,sBAAsB,KAAtBA,sBAAsB;;;;"}
@@ -0,0 +1,39 @@
1
+ import { isDate } from 'date-fns';
2
+
3
+ const isInternalColumn = id => id.startsWith('__');
4
+ const isFrozenColumn = (index, table) => {
5
+ const tableMeta = table.options.meta;
6
+ if (!tableMeta.columnFreezing.isEnabled || tableMeta.columnFreezing.frozenColumnIndex === undefined) {
7
+ return false;
8
+ }
9
+ return tableMeta.columnFreezing.frozenColumnIndex >= index;
10
+ };
11
+ const getCurrentRowCellElement = (index, table) => {
12
+ const cellSelector = `[data-current="true"] [data-column-index="${index}"`;
13
+ return table.querySelector(cellSelector);
14
+ };
15
+ function scrollColumnIntoView(columnIndex, frozenColumnIndex, column, table) {
16
+ if (frozenColumnIndex !== undefined && columnIndex > frozenColumnIndex) {
17
+ const lastFrozenColumnElement = getCurrentRowCellElement(frozenColumnIndex, table);
18
+ const highlightRef = column === null || column === void 0 ? void 0 : column.getBoundingClientRect();
19
+ const lastFrozenRect = lastFrozenColumnElement === null || lastFrozenColumnElement === void 0 ? void 0 : lastFrozenColumnElement.getBoundingClientRect();
20
+ // offset the width of frozen columns so that the column being scrolled to is not hidden behind them
21
+ if (highlightRef && lastFrozenRect && highlightRef.left < lastFrozenRect.left + lastFrozenRect.width) {
22
+ const pinnedColumnsWidth = lastFrozenRect.left + lastFrozenRect.width;
23
+ table === null || table === void 0 ? void 0 : table.scrollTo(highlightRef.left - pinnedColumnsWidth, table.scrollTop);
24
+ }
25
+ } else {
26
+ column.scrollIntoView({
27
+ block: 'nearest',
28
+ inline: 'nearest'
29
+ });
30
+ }
31
+ }
32
+ function isCellHighlighted(query, value, children) {
33
+ // if we just stringify date, we get the full object with "Greenwich Meantime" etc in
34
+ const highlightValue = isDate(value) ? children : value;
35
+ return String(highlightValue).toLocaleLowerCase().includes(query.toLocaleLowerCase());
36
+ }
37
+
38
+ export { getCurrentRowCellElement, isCellHighlighted, isFrozenColumn, isInternalColumn, scrollColumnIntoView };
39
+ //# sourceMappingURL=columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columns.js","sources":["../../../../../../../../src/components/Table3/util/columns.ts"],"sourcesContent":["import { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { isDate } from 'date-fns';\n\nexport const isInternalColumn = (id: string) => id.startsWith('__');\n\nexport const isFrozenColumn = <TType = unknown>(index: number, table: RTable<TType>) => {\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n if (!tableMeta.columnFreezing.isEnabled || tableMeta.columnFreezing.frozenColumnIndex === undefined) {\n return false;\n }\n\n return tableMeta.columnFreezing.frozenColumnIndex >= index;\n};\n\nexport const getCurrentRowCellElement = (index: number, table: HTMLElement) => {\n const cellSelector = `[data-current=\"true\"] [data-column-index=\"${index}\"`;\n return table.querySelector(cellSelector);\n};\n\nexport function scrollColumnIntoView(columnIndex: number, frozenColumnIndex: number, column: HTMLElement, table: HTMLElement) {\n if (frozenColumnIndex !== undefined && columnIndex > frozenColumnIndex) {\n const lastFrozenColumnElement = getCurrentRowCellElement(frozenColumnIndex, table);\n const highlightRef = column?.getBoundingClientRect();\n const lastFrozenRect = lastFrozenColumnElement?.getBoundingClientRect();\n\n // offset the width of frozen columns so that the column being scrolled to is not hidden behind them\n if (highlightRef && lastFrozenRect && highlightRef.left < lastFrozenRect.left + lastFrozenRect.width) {\n const pinnedColumnsWidth = lastFrozenRect.left + lastFrozenRect.width;\n table?.scrollTo(highlightRef.left - pinnedColumnsWidth, table.scrollTop);\n }\n } else {\n column.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n}\n\nexport function isCellHighlighted(query: string, value: unknown, children: JSX.Element | string | null) {\n // if we just stringify date, we get the full object with \"Greenwich Meantime\" etc in\n const highlightValue = isDate(value) ? children : value;\n return String(highlightValue).toLocaleLowerCase().includes(query.toLocaleLowerCase());\n}\n"],"names":["isInternalColumn","id","startsWith","isFrozenColumn","index","table","tableMeta","options","meta","columnFreezing","isEnabled","frozenColumnIndex","undefined","getCurrentRowCellElement","cellSelector","querySelector","scrollColumnIntoView","columnIndex","column","lastFrozenColumnElement","highlightRef","getBoundingClientRect","lastFrozenRect","left","width","pinnedColumnsWidth","scrollTo","scrollTop","scrollIntoView","block","inline","isCellHighlighted","query","value","children","highlightValue","isDate","String","toLocaleLowerCase","includes"],"mappings":";;MAGaA,gBAAgB,GAAIC,EAAU,IAAKA,EAAE,CAACC,UAAU,CAAC,IAAI;MAErDC,cAAc,GAAG,CAAkBC,KAAa,EAAEC,KAAoB;EAC/E,MAAMC,SAAS,GAAGD,KAAK,CAACE,OAAO,CAACC,IAAwB;EAExD,IAAI,CAACF,SAAS,CAACG,cAAc,CAACC,SAAS,IAAIJ,SAAS,CAACG,cAAc,CAACE,iBAAiB,KAAKC,SAAS,EAAE;IACjG,OAAO,KAAK;;EAGhB,OAAON,SAAS,CAACG,cAAc,CAACE,iBAAiB,IAAIP,KAAK;AAC9D;MAEaS,wBAAwB,GAAG,CAACT,KAAa,EAAEC,KAAkB;EACtE,MAAMS,YAAY,gDAAgDV,QAAQ;EAC1E,OAAOC,KAAK,CAACU,aAAa,CAACD,YAAY,CAAC;AAC5C;SAEgBE,oBAAoB,CAACC,WAAmB,EAAEN,iBAAyB,EAAEO,MAAmB,EAAEb,KAAkB;EACxH,IAAIM,iBAAiB,KAAKC,SAAS,IAAIK,WAAW,GAAGN,iBAAiB,EAAE;IACpE,MAAMQ,uBAAuB,GAAGN,wBAAwB,CAACF,iBAAiB,EAAEN,KAAK,CAAC;IAClF,MAAMe,YAAY,GAAGF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG,qBAAqB,EAAE;IACpD,MAAMC,cAAc,GAAGH,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,CAAEE,qBAAqB,EAAE;;IAGvE,IAAID,YAAY,IAAIE,cAAc,IAAIF,YAAY,CAACG,IAAI,GAAGD,cAAc,CAACC,IAAI,GAAGD,cAAc,CAACE,KAAK,EAAE;MAClG,MAAMC,kBAAkB,GAAGH,cAAc,CAACC,IAAI,GAAGD,cAAc,CAACE,KAAK;MACrEnB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEqB,QAAQ,CAACN,YAAY,CAACG,IAAI,GAAGE,kBAAkB,EAAEpB,KAAK,CAACsB,SAAS,CAAC;;GAE/E,MAAM;IACHT,MAAM,CAACU,cAAc,CAAC;MAAEC,KAAK,EAAE,SAAS;MAAEC,MAAM,EAAE;KAAW,CAAC;;AAEtE;SAEgBC,iBAAiB,CAACC,KAAa,EAAEC,KAAc,EAAEC,QAAqC;;EAElG,MAAMC,cAAc,GAAGC,MAAM,CAACH,KAAK,CAAC,GAAGC,QAAQ,GAAGD,KAAK;EACvD,OAAOI,MAAM,CAACF,cAAc,CAAC,CAACG,iBAAiB,EAAE,CAACC,QAAQ,CAACP,KAAK,CAACM,iBAAiB,EAAE,CAAC;AACzF;;;;"}
@@ -1,6 +1,8 @@
1
1
  import { isDate } from 'date-fns';
2
- import { isWeakEqual } from '../../../../utils/date.js';
2
+ import { isWeakEqual } from '../../../utils/date.js';
3
3
 
4
+ const focussableNodeNames = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'DETAILS'];
5
+ const focusableSelector = /*#__PURE__*/focussableNodeNames.join(', ');
4
6
  const hasChanged = (value, newValue) => {
5
7
  if (isDate(value) && isDate(newValue)) {
6
8
  return !isWeakEqual(value, newValue);
@@ -10,6 +12,7 @@ const hasChanged = (value, newValue) => {
10
12
  return value !== newValue;
11
13
  };
12
14
  const willRowMoveAfterSorting = (value, cell, rowIndex, rows, desc) => {
15
+ var _resortedRows$index;
13
16
  const miniSortRows = [{
14
17
  ...cell.row,
15
18
  original: {
@@ -31,9 +34,8 @@ const willRowMoveAfterSorting = (value, cell, rowIndex, rows, desc) => {
31
34
  if (desc) {
32
35
  resortedRows = resortedRows.reverse();
33
36
  }
34
- return resortedRows[index].id !== cell.row.id;
37
+ return ((_resortedRows$index = resortedRows[index]) === null || _resortedRows$index === void 0 ? void 0 : _resortedRows$index.id) !== cell.row.id;
35
38
  };
36
- const clickableNodeNames = ['INPUT', 'BUTTON', 'A', 'SELECT', 'OPTION', 'LABEL', 'TEXTAREA', 'DETAILS'];
37
39
 
38
- export { clickableNodeNames, hasChanged, willRowMoveAfterSorting };
39
- //# sourceMappingURL=utils.js.map
40
+ export { focusableSelector, focussableNodeNames, hasChanged, willRowMoveAfterSorting };
41
+ //# sourceMappingURL=editing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editing.js","sources":["../../../../../../../../src/components/Table3/util/editing.ts"],"sourcesContent":["import { isDate } from 'date-fns';\nimport { isWeakEqual as isWeakEqualDate } from '../../../utils/date';\n\nexport const focussableNodeNames = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'DETAILS'];\nexport const focusableSelector = focussableNodeNames.join(', ');\n\nexport const hasChanged = (value, newValue) => {\n if (isDate(value) && isDate(newValue)) {\n return !isWeakEqualDate(value, newValue);\n } else if (Array.isArray(value)) {\n return JSON.stringify(value) !== JSON.stringify(newValue);\n }\n\n return value !== newValue;\n};\n\nexport const willRowMoveAfterSorting = (value, cell, rowIndex, rows, desc): boolean => {\n const miniSortRows = [{ ...cell.row, original: { ...cell.row.original, [cell.column.id]: value } }];\n // getValue is used by the built-in sort functons, so we need to make sure it returns the changed value\n miniSortRows[0].getValue = () => value;\n\n let index = 0;\n\n if (rowIndex > 0) {\n miniSortRows.unshift(rows[rowIndex - 1]);\n index = 1;\n }\n\n if (rowIndex < rows.length - 1) {\n miniSortRows.push(rows[rowIndex + 1]);\n }\n\n let resortedRows = [...miniSortRows].sort((a, b) => cell.column.getSortingFn()(a, b, cell.column.id));\n\n if (desc) {\n resortedRows = resortedRows.reverse();\n }\n\n return resortedRows[index]?.id !== cell.row.id;\n};\n"],"names":["focussableNodeNames","focusableSelector","join","hasChanged","value","newValue","isDate","isWeakEqualDate","Array","isArray","JSON","stringify","willRowMoveAfterSorting","cell","rowIndex","rows","desc","miniSortRows","row","original","column","id","getValue","index","unshift","length","push","resortedRows","sort","a","b","getSortingFn","reverse"],"mappings":";;;MAGaA,mBAAmB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS;MAC9EC,iBAAiB,gBAAGD,mBAAmB,CAACE,IAAI,CAAC,IAAI;MAEjDC,UAAU,GAAG,CAACC,KAAK,EAAEC,QAAQ;EACtC,IAAIC,MAAM,CAACF,KAAK,CAAC,IAAIE,MAAM,CAACD,QAAQ,CAAC,EAAE;IACnC,OAAO,CAACE,WAAe,CAACH,KAAK,EAAEC,QAAQ,CAAC;GAC3C,MAAM,IAAIG,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC,EAAE;IAC7B,OAAOM,IAAI,CAACC,SAAS,CAACP,KAAK,CAAC,KAAKM,IAAI,CAACC,SAAS,CAACN,QAAQ,CAAC;;EAG7D,OAAOD,KAAK,KAAKC,QAAQ;AAC7B;MAEaO,uBAAuB,GAAG,CAACR,KAAK,EAAES,IAAI,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,IAAI;;EACrE,MAAMC,YAAY,GAAG,CAAC;IAAE,GAAGJ,IAAI,CAACK,GAAG;IAAEC,QAAQ,EAAE;MAAE,GAAGN,IAAI,CAACK,GAAG,CAACC,QAAQ;MAAE,CAACN,IAAI,CAACO,MAAM,CAACC,EAAE,GAAGjB;;GAAS,CAAC;;EAEnGa,YAAY,CAAC,CAAC,CAAC,CAACK,QAAQ,GAAG,MAAMlB,KAAK;EAEtC,IAAImB,KAAK,GAAG,CAAC;EAEb,IAAIT,QAAQ,GAAG,CAAC,EAAE;IACdG,YAAY,CAACO,OAAO,CAACT,IAAI,CAACD,QAAQ,GAAG,CAAC,CAAC,CAAC;IACxCS,KAAK,GAAG,CAAC;;EAGb,IAAIT,QAAQ,GAAGC,IAAI,CAACU,MAAM,GAAG,CAAC,EAAE;IAC5BR,YAAY,CAACS,IAAI,CAACX,IAAI,CAACD,QAAQ,GAAG,CAAC,CAAC,CAAC;;EAGzC,IAAIa,YAAY,GAAG,CAAC,GAAGV,YAAY,CAAC,CAACW,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKjB,IAAI,CAACO,MAAM,CAACW,YAAY,EAAE,CAACF,CAAC,EAAEC,CAAC,EAAEjB,IAAI,CAACO,MAAM,CAACC,EAAE,CAAC,CAAC;EAErG,IAAIL,IAAI,EAAE;IACNW,YAAY,GAAGA,YAAY,CAACK,OAAO,EAAE;;EAGzC,OAAO,wBAAAL,YAAY,CAACJ,KAAK,CAAC,wDAAnB,oBAAqBF,EAAE,MAAKR,IAAI,CAACK,GAAG,CAACG,EAAE;AAClD;;;;"}
@@ -1,29 +1,31 @@
1
1
  import { isDate, isBefore, isAfter } from 'date-fns';
2
2
  import { isWeakEqual as isWeakEqual$1 } from '../../../utils/date.js';
3
- import { Table2FilterComparator } from '../types.js';
3
+ import { Table3FilterComparator } from '../types.js';
4
4
 
5
5
  const toLowerCase = value => String(value !== null && value !== void 0 ? value : '').toLocaleLowerCase();
6
6
  const isWeakContains = (left, right) => toLowerCase(left).includes(toLowerCase(right));
7
7
  const isWeakEqual = (left, right) => toLowerCase(left) === toLowerCase(right);
8
- const globalFilterFn = (value, query) => isWeakContains(value, query);
8
+ function globalFilterFn(value, query) {
9
+ return isWeakContains(value, query);
10
+ }
9
11
  // the filter type is only settable on the column definition, which would re-render all columns
10
12
  // so instead we store it in the filter value, but that means we also have to destructure that
11
13
  // before we filter - that's why this custom filter function exists
12
- const columnFilterFn = (value, filter) => {
14
+ function columnFilterFn(value, filter) {
13
15
  try {
14
- if (filter.comparator === Table2FilterComparator.IsEmpty || filter.comparator === Table2FilterComparator.IsNotEmpty) {
16
+ if (filter.comparator === Table3FilterComparator.IsEmpty || filter.comparator === Table3FilterComparator.IsNotEmpty) {
15
17
  const isEmpty = value === undefined || value === null || value === '';
16
- return filter.comparator === Table2FilterComparator.IsEmpty ? isEmpty : !isEmpty;
18
+ return filter.comparator === Table3FilterComparator.IsEmpty ? isEmpty : !isEmpty;
17
19
  }
18
20
  if (filter.value === undefined || filter.value === null || filter.value === '') {
19
21
  return true;
20
22
  }
21
23
  switch (filter.comparator) {
22
- case Table2FilterComparator.Contains:
24
+ case Table3FilterComparator.Contains:
23
25
  return isWeakContains(value, filter.value);
24
- case Table2FilterComparator.DoesNotContain:
26
+ case Table3FilterComparator.DoesNotContain:
25
27
  return !isWeakContains(value, filter.value);
26
- case Table2FilterComparator.IsEqualTo:
28
+ case Table3FilterComparator.IsEqualTo:
27
29
  {
28
30
  if (isDate(value)) {
29
31
  return isDate(filter.value) && isWeakEqual$1(value, filter.value);
@@ -32,7 +34,7 @@ const columnFilterFn = (value, filter) => {
32
34
  }
33
35
  return isWeakEqual(value, filter.value);
34
36
  }
35
- case Table2FilterComparator.IsNotEqualTo:
37
+ case Table3FilterComparator.IsNotEqualTo:
36
38
  {
37
39
  if (isDate(value)) {
38
40
  return isDate(filter.value) && isWeakEqual$1(value, filter.value) === false;
@@ -41,7 +43,7 @@ const columnFilterFn = (value, filter) => {
41
43
  }
42
44
  return !isWeakEqual(value, filter.value);
43
45
  }
44
- case Table2FilterComparator.IsGreaterThan:
46
+ case Table3FilterComparator.IsGreaterThan:
45
47
  {
46
48
  if (isDate(value)) {
47
49
  return isDate(filter.value) && isAfter(value, filter.value);
@@ -50,7 +52,7 @@ const columnFilterFn = (value, filter) => {
50
52
  return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber > filter.value;
51
53
  }
52
54
  }
53
- case Table2FilterComparator.IsLessThan:
55
+ case Table3FilterComparator.IsLessThan:
54
56
  {
55
57
  if (isDate(value)) {
56
58
  return isDate(filter.value) && isBefore(value, filter.value);
@@ -59,7 +61,7 @@ const columnFilterFn = (value, filter) => {
59
61
  return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber < filter.value;
60
62
  }
61
63
  }
62
- case Table2FilterComparator.IsBetween:
64
+ case Table3FilterComparator.IsBetween:
63
65
  {
64
66
  const [fromValue, toValue] = filter.value;
65
67
  if (isDate(value)) {
@@ -82,11 +84,11 @@ const columnFilterFn = (value, filter) => {
82
84
  return true;
83
85
  }
84
86
  }
85
- case Table2FilterComparator.IsOneOf:
87
+ case Table3FilterComparator.IsOneOf:
86
88
  return Array.isArray(filter.value) ? filter.value.includes(value) : false;
87
- case Table2FilterComparator.IsNoneOf:
89
+ case Table3FilterComparator.IsNoneOf:
88
90
  return Array.isArray(filter.value) ? filter.value.includes(value) === false : false;
89
- case Table2FilterComparator.IsAllOf:
91
+ case Table3FilterComparator.IsAllOf:
90
92
  return Array.isArray(filter.value) && Array.isArray(value) ? filter.value.filter(v => value.includes(v)).length === filter.value.length : false;
91
93
  }
92
94
  return false;
@@ -94,7 +96,7 @@ const columnFilterFn = (value, filter) => {
94
96
  console.error(e);
95
97
  return true;
96
98
  }
97
- };
99
+ }
98
100
 
99
101
  export { columnFilterFn, globalFilterFn };
100
- //# sourceMappingURL=filterFn.js.map
102
+ //# sourceMappingURL=filtering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtering.js","sources":["../../../../../../../../src/components/Table3/util/filtering.ts"],"sourcesContent":["import { isDate, isAfter as isAfterDate, isBefore as isBeforeDate } from 'date-fns';\nimport { isWeakEqual as isWeakEqualDate } from '../../../utils/date';\nimport { Table3FilterValue, Table3FilterComparator } from '../types';\n\nconst toLowerCase = (value: string | number) => String(value ?? '').toLocaleLowerCase();\nconst isWeakContains = (left: string | number, right: string | number) => toLowerCase(left).includes(toLowerCase(right));\nconst isWeakEqual = (left: string | number, right: string | number) => toLowerCase(left) === toLowerCase(right);\n\nexport function globalFilterFn(value: string, query: string) {\n return isWeakContains(value, query);\n}\n\n// the filter type is only settable on the column definition, which would re-render all columns\n// so instead we store it in the filter value, but that means we also have to destructure that\n// before we filter - that's why this custom filter function exists\nexport function columnFilterFn(value: any, filter: Table3FilterValue) {\n try {\n if (filter.comparator === Table3FilterComparator.IsEmpty || filter.comparator === Table3FilterComparator.IsNotEmpty) {\n const isEmpty = value === undefined || value === null || value === '';\n return filter.comparator === Table3FilterComparator.IsEmpty ? isEmpty : !isEmpty;\n }\n\n if (filter.value === undefined || filter.value === null || filter.value === '') {\n return true;\n }\n\n switch (filter.comparator) {\n case Table3FilterComparator.Contains:\n return isWeakContains(value, filter.value);\n\n case Table3FilterComparator.DoesNotContain:\n return !isWeakContains(value, filter.value);\n\n case Table3FilterComparator.IsEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && isWeakEqualDate(value, filter.value);\n } else if (typeof filter.value === 'boolean') {\n return value === filter.value;\n }\n\n return isWeakEqual(value, filter.value);\n }\n\n case Table3FilterComparator.IsNotEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && isWeakEqualDate(value, filter.value) === false;\n } else if (typeof filter.value === 'boolean') {\n return value !== filter.value;\n }\n\n return !isWeakEqual(value, filter.value);\n }\n\n case Table3FilterComparator.IsGreaterThan: {\n if (isDate(value)) {\n return isDate(filter.value) && isAfterDate(value, filter.value);\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber > filter.value;\n }\n }\n\n case Table3FilterComparator.IsLessThan: {\n if (isDate(value)) {\n return isDate(filter.value) && isBeforeDate(value, filter.value);\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber < filter.value;\n }\n }\n\n case Table3FilterComparator.IsBetween: {\n const [fromValue, toValue] = filter.value;\n\n if (isDate(value)) {\n if (isDate(fromValue) && isBeforeDate(value, fromValue)) {\n return false;\n } else if (isDate(toValue) && isAfterDate(value, toValue)) {\n return false;\n }\n\n return true;\n } else {\n const valueAsNumber = parseInt(value);\n\n if (isNaN(valueAsNumber)) {\n return false;\n }\n\n if (fromValue !== undefined && valueAsNumber < fromValue) {\n return false;\n } else if (toValue !== undefined && valueAsNumber > toValue) {\n return false;\n }\n\n return true;\n }\n }\n\n case Table3FilterComparator.IsOneOf:\n return Array.isArray(filter.value) ? filter.value.includes(value) : false;\n\n case Table3FilterComparator.IsNoneOf:\n return Array.isArray(filter.value) ? filter.value.includes(value) === false : false;\n\n case Table3FilterComparator.IsAllOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.filter(v => value.includes(v)).length === filter.value.length\n : false;\n }\n\n return false;\n } catch (e) {\n console.error(e);\n return true;\n }\n}\n"],"names":["toLowerCase","value","String","toLocaleLowerCase","isWeakContains","left","right","includes","isWeakEqual","globalFilterFn","query","columnFilterFn","filter","comparator","Table3FilterComparator","IsEmpty","IsNotEmpty","isEmpty","undefined","Contains","DoesNotContain","IsEqualTo","isDate","isWeakEqualDate","IsNotEqualTo","IsGreaterThan","isAfterDate","valueAsNumber","parseInt","isNaN","IsLessThan","isBeforeDate","IsBetween","fromValue","toValue","IsOneOf","Array","isArray","IsNoneOf","IsAllOf","v","length","e","console","error"],"mappings":"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"}
@@ -1,14 +1,19 @@
1
1
  import React__default from 'react';
2
2
  import { createShortcutKeyDownHandler } from '../utils/keyboard.js';
3
3
 
4
- const useGlobalKeyDown = (key, handler) => {
4
+ const useGlobalKeyDown = (shortcut, handler) => {
5
5
  React__default.useEffect(() => {
6
- const handleKeyDown = createShortcutKeyDownHandler(key, handler);
7
- document.addEventListener('keydown', handleKeyDown);
6
+ let handleKeyDown;
7
+ if (shortcut) {
8
+ handleKeyDown = createShortcutKeyDownHandler(shortcut, handler);
9
+ document.addEventListener('keydown', handleKeyDown);
10
+ }
8
11
  return () => {
9
- document.removeEventListener('keydown', handleKeyDown);
12
+ if (handleKeyDown) {
13
+ document.removeEventListener('keydown', handleKeyDown);
14
+ }
10
15
  };
11
- }, [handler]);
16
+ }, [shortcut]);
12
17
  };
13
18
 
14
19
  export { useGlobalKeyDown };
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalKeyDown.js","sources":["../../../../../../src/hooks/useGlobalKeyDown.ts"],"sourcesContent":["import React from 'react';\nimport { createShortcutKeyDownHandler, KeyDownHandlerOptions } from '../utils/keyboard';\n\nexport const useGlobalKeyDown = (key: string | KeyDownHandlerOptions, handler: (event: KeyboardEvent) => void) => {\n React.useEffect(() => {\n const handleKeyDown = createShortcutKeyDownHandler(key, handler as (event: KeyboardEvent | React.KeyboardEvent) => void);\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [handler]);\n};\n"],"names":["useGlobalKeyDown","key","handler","React","useEffect","handleKeyDown","createShortcutKeyDownHandler","document","addEventListener","removeEventListener"],"mappings":";;;MAGaA,gBAAgB,GAAG,CAACC,GAAmC,EAAEC,OAAuC;EACzGC,cAAK,CAACC,SAAS,CAAC;IACZ,MAAMC,aAAa,GAAGC,4BAA4B,CAACL,GAAG,EAAEC,OAA+D,CAAC;IACxHK,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEH,aAAa,CAAC;IAEnD,OAAO;MACHE,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEJ,aAAa,CAAC;KACzD;GACJ,EAAE,CAACH,OAAO,CAAC,CAAC;AACjB;;;;"}
1
+ {"version":3,"file":"useGlobalKeyDown.js","sources":["../../../../../../src/hooks/useGlobalKeyDown.ts"],"sourcesContent":["import React from 'react';\nimport { createShortcutKeyDownHandler, KeyDownHandlerOptions } from '../utils/keyboard';\n\nexport const useGlobalKeyDown = (\n shortcut: string | KeyDownHandlerOptions | undefined,\n handler: (event: KeyboardEvent) => void\n) => {\n React.useEffect(() => {\n let handleKeyDown;\n\n if (shortcut) {\n handleKeyDown = createShortcutKeyDownHandler(\n shortcut,\n handler as (event: KeyboardEvent | React.KeyboardEvent) => void\n );\n\n document.addEventListener('keydown', handleKeyDown);\n }\n\n return () => {\n if (handleKeyDown) {\n document.removeEventListener('keydown', handleKeyDown);\n }\n };\n }, [shortcut]);\n};\n"],"names":["useGlobalKeyDown","shortcut","handler","React","useEffect","handleKeyDown","createShortcutKeyDownHandler","document","addEventListener","removeEventListener"],"mappings":";;;MAGaA,gBAAgB,GAAG,CAC5BC,QAAoD,EACpDC,OAAuC;EAEvCC,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIC,aAAa;IAEjB,IAAIJ,QAAQ,EAAE;MACVI,aAAa,GAAGC,4BAA4B,CACxCL,QAAQ,EACRC,OAA+D,CAClE;MAEDK,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEH,aAAa,CAAC;;IAGvD,OAAO;MACH,IAAIA,aAAa,EAAE;QACfE,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEJ,aAAa,CAAC;;KAE7D;GACJ,EAAE,CAACJ,QAAQ,CAAC,CAAC;AAClB;;;;"}
@@ -0,0 +1,16 @@
1
+ import React__default from 'react';
2
+
3
+ // augments useEffect to not run on the initial mount
4
+ function useLazyEffect(effect, deps) {
5
+ const readyRef = React__default.useRef(false);
6
+ React__default.useEffect(() => {
7
+ if (readyRef.current) {
8
+ effect();
9
+ } else {
10
+ readyRef.current = true;
11
+ }
12
+ }, deps);
13
+ }
14
+
15
+ export { useLazyEffect };
16
+ //# sourceMappingURL=useLazyEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLazyEffect.js","sources":["../../../../../../src/hooks/useLazyEffect.ts"],"sourcesContent":["import React from 'react';\n\n// augments useEffect to not run on the initial mount\nexport function useLazyEffect(effect: React.EffectCallback, deps?: React.DependencyList | undefined) {\n const readyRef = React.useRef(false);\n\n React.useEffect(() => {\n if (readyRef.current) {\n effect();\n } else {\n readyRef.current = true;\n }\n }, deps);\n}\n"],"names":["useLazyEffect","effect","deps","readyRef","React","useRef","useEffect","current"],"mappings":";;AAEA;SACgBA,aAAa,CAACC,MAA4B,EAAEC,IAAuC;EAC/F,MAAMC,QAAQ,GAAGC,cAAK,CAACC,MAAM,CAAC,KAAK,CAAC;EAEpCD,cAAK,CAACE,SAAS,CAAC;IACZ,IAAIH,QAAQ,CAACI,OAAO,EAAE;MAClBN,MAAM,EAAE;KACX,MAAM;MACHE,QAAQ,CAACI,OAAO,GAAG,IAAI;;GAE9B,EAAEL,IAAI,CAAC;AACZ;;;;"}
@@ -8,8 +8,8 @@ export { AlertDialog } from './components/AlertDialog/AlertDialog.js';
8
8
  export { Accordion } from './components/Accordion/Accordion.js';
9
9
  export { VisuallyHidden } from './components/VisuallyHidden/VisuallyHidden.js';
10
10
  export { Badge } from './components/Badge/Badge.js';
11
- export { createShortcutKeyDownHandler, isMacOs } from './utils/keyboard.js';
12
11
  export { useMergedRef } from './hooks/useMergedRef.js';
12
+ export { createShortcutKeyDownHandler, isMacOs } from './utils/keyboard.js';
13
13
  export { Tooltip } from './components/Tooltip/Tooltip.js';
14
14
  export { Base, IconButton } from './components/IconButton/IconButton.js';
15
15
  export { LocalizationContext, LocalizationProvider, defaultLocalisationTexts, defaultLocalizationContext, useLocalization } from './components/Provider/Localization.js';
@@ -50,6 +50,7 @@ export { Progress } from './components/Progress/Progress.js';
50
50
  export { ToastProvider, useToast } from './components/Toast/Toaster.js';
51
51
  export { Provider } from './components/Provider/Provider.js';
52
52
  export { SearchInput } from './components/SearchInput/SearchInput.js';
53
+ export { SearchInput2 } from './components/SearchInput2/SearchInput2.js';
53
54
  import * as Collection from './primitives/Collection/Collection.js';
54
55
  export { Collection as CollectionPrimitive };
55
56
  export { Tag } from './components/Tag/Tag.js';
@@ -60,8 +61,9 @@ export { PaginatedTable } from './components/Table/components/PaginatedTable.js'
60
61
  export { WindowedTable } from './components/Table/components/WindowedTable.js';
61
62
  export { convertRowIndexPathToNumberArray, getByRowIndexPath, getParentRowIndexPath, setByRowIndexPath } from './components/Table/util/rowIndexPath.js';
62
63
  export { insertChildTableRow, removeChildTableRow, useTableRowCreation } from './components/Table/hooks/useRowCreation.js';
63
- export { useBoundaryOverflowDetection } from './hooks/useBoundaryOverflowDetection.js';
64
- export { Table2 } from './components/Table2/Table2.js';
64
+ export { useLazyEffect } from './hooks/useLazyEffect.js';
65
+ export { useTableData } from './components/Table3/hooks/useTableData.js';
66
+ export { Table3 } from './components/Table3/Table3.js';
65
67
  export { Tabs } from './components/Tabs/Tabs.js';
66
68
  export { Textarea } from './components/Textarea/Textarea.js';
67
69
  export { Tour, TourStep } from './components/Tour/Tour.js';
@@ -71,5 +73,6 @@ export { useIsLargeScreen } from './hooks/useIsLargeScreen.js';
71
73
  export { Layout } from './components/Layout/Layout.js';
72
74
  export { getNavigationLinkClasses } from './components/Navigation2/components/Link.js';
73
75
  export { Navigation2 } from './components/Navigation2/Navigation2.js';
76
+ export { useBoundaryOverflowDetection } from './hooks/useBoundaryOverflowDetection.js';
74
77
  export { useOnClickOutside } from './utils/hooks/useOnClickOutside.js';
75
78
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
- import { forwardRef, useEffect, createElement, Children } from 'react';
2
- import { createShortcutKeyDownHandler } from '../utils/keyboard.js';
1
+ import { forwardRef, createElement, Children } from 'react';
3
2
  import { useMergedRef } from '../hooks/useMergedRef.js';
3
+ import { useGlobalKeyDown } from '../hooks/useGlobalKeyDown.js';
4
4
 
5
5
  const Button = /*#__PURE__*/forwardRef(function Button(props, ref) {
6
6
  const {
@@ -11,21 +11,10 @@ const Button = /*#__PURE__*/forwardRef(function Button(props, ref) {
11
11
  ...otherProps
12
12
  } = props;
13
13
  const internalRef = useMergedRef(ref);
14
- useEffect(() => {
15
- let handleKeyDown;
16
- if (shortcut) {
17
- handleKeyDown = createShortcutKeyDownHandler(shortcut, () => {
18
- var _internalRef$current;
19
- (_internalRef$current = internalRef.current) === null || _internalRef$current === void 0 ? void 0 : _internalRef$current.click();
20
- });
21
- document.addEventListener('keydown', handleKeyDown);
22
- }
23
- return () => {
24
- if (handleKeyDown) {
25
- document.removeEventListener('keydown', handleKeyDown);
26
- }
27
- };
28
- }, [shortcut]);
14
+ useGlobalKeyDown(shortcut, () => {
15
+ var _internalRef$current;
16
+ (_internalRef$current = internalRef.current) === null || _internalRef$current === void 0 ? void 0 : _internalRef$current.click();
17
+ });
29
18
  const Tag = props.href ? 'a' : 'button';
30
19
  return /*#__PURE__*/createElement(Tag, Object.assign({}, otherProps, {
31
20
  "aria-disabled": disabled ? 'true' : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../../../../src/primitives/Button.tsx"],"sourcesContent":["import * as React from 'react';\nimport { KeyDownHandlerOptions, createShortcutKeyDownHandler } from '../utils/keyboard';\nimport { useMergedRef } from '../hooks/useMergedRef';\n\ntype ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement | HTMLAnchorElement> & {\n /** Content should be a text */\n children: React.ReactNode;\n /** Provides url for buttons being used as a link */\n href?: string;\n shortcut?: string | KeyDownHandlerOptions;\n /** Provides target for buttons being used as a link */\n target?: '_self' | '_blank' | '_parent' | '_top';\n};\n\nconst Button = React.forwardRef(function Button(props: ButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>) {\n const { disabled, shortcut, target, type = 'button', ...otherProps } = props;\n const internalRef = useMergedRef<HTMLButtonElement | HTMLAnchorElement>(ref);\n\n React.useEffect(() => {\n let handleKeyDown;\n\n if (shortcut) {\n handleKeyDown = createShortcutKeyDownHandler(shortcut, () => {\n internalRef.current?.click();\n });\n\n document.addEventListener('keydown', handleKeyDown);\n }\n\n return () => {\n if (handleKeyDown) {\n document.removeEventListener('keydown', handleKeyDown);\n }\n };\n }, [shortcut]);\n\n const Tag = props.href ? 'a' : 'button';\n\n return (\n <Tag\n {...otherProps}\n aria-disabled={disabled ? 'true' : undefined}\n disabled={disabled}\n target={Tag === 'a' ? target : undefined}\n type={Tag !== 'a' ? type : undefined}\n ref={internalRef as any}>\n {React.Children.count(props.children) > 1\n ? React.Children.map(props.children, child => (typeof child === 'string' ? <span>{child}</span> : child))\n : props.children}\n </Tag>\n );\n});\n\nexport { Button };\nexport type { ButtonProps };\n"],"names":["Button","React","props","ref","disabled","shortcut","target","type","otherProps","internalRef","useMergedRef","handleKeyDown","createShortcutKeyDownHandler","current","click","document","addEventListener","removeEventListener","Tag","href","undefined","count","children","map","child"],"mappings":";;;;MAcMA,MAAM,gBAAGC,UAAgB,CAAC,SAASD,MAAM,CAACE,KAAkB,EAAEC,GAAqD;EACrH,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,IAAI,GAAG,QAAQ;IAAE,GAAGC;GAAY,GAAGN,KAAK;EAC5E,MAAMO,WAAW,GAAGC,YAAY,CAAwCP,GAAG,CAAC;EAE5EF,SAAe,CAAC;IACZ,IAAIU,aAAa;IAEjB,IAAIN,QAAQ,EAAE;MACVM,aAAa,GAAGC,4BAA4B,CAACP,QAAQ,EAAE;;QACnD,wBAAAI,WAAW,CAACI,OAAO,yDAAnB,qBAAqBC,KAAK,EAAE;OAC/B,CAAC;MAEFC,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEL,aAAa,CAAC;;IAGvD,OAAO;MACH,IAAIA,aAAa,EAAE;QACfI,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEN,aAAa,CAAC;;KAE7D;GACJ,EAAE,CAACN,QAAQ,CAAC,CAAC;EAEd,MAAMa,GAAG,GAAGhB,KAAK,CAACiB,IAAI,GAAG,GAAG,GAAG,QAAQ;EAEvC,oBACIlB,cAACiB,GAAG,oBACIV,UAAU;qBACCJ,QAAQ,GAAG,MAAM,GAAGgB,SAAS;IAC5ChB,QAAQ,EAAEA,QAAQ;IAClBE,MAAM,EAAEY,GAAG,KAAK,GAAG,GAAGZ,MAAM,GAAGc,SAAS;IACxCb,IAAI,EAAEW,GAAG,KAAK,GAAG,GAAGX,IAAI,GAAGa,SAAS;IACpCjB,GAAG,EAAEM;MACJR,QAAc,CAACoB,KAAK,CAACnB,KAAK,CAACoB,QAAQ,CAAC,GAAG,CAAC,GACnCrB,QAAc,CAACsB,GAAG,CAACrB,KAAK,CAACoB,QAAQ,EAAEE,KAAK,IAAK,OAAOA,KAAK,KAAK,QAAQ,gBAAGvB,4BAAOuB,KAAK,CAAQ,GAAGA,KAAM,CAAC,GACvGtB,KAAK,CAACoB,QAAQ,CAClB;AAEd,CAAC;;;;"}
1
+ {"version":3,"file":"Button.js","sources":["../../../../../../src/primitives/Button.tsx"],"sourcesContent":["import * as React from 'react';\nimport { KeyDownHandlerOptions } from '../utils/keyboard';\nimport { useMergedRef } from '../hooks/useMergedRef';\nimport { useGlobalKeyDown } from '../hooks/useGlobalKeyDown';\n\ntype ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement | HTMLAnchorElement> & {\n /** Content should be a text */\n children: React.ReactNode;\n /** Provides url for buttons being used as a link */\n href?: string;\n shortcut?: string | KeyDownHandlerOptions;\n /** Provides target for buttons being used as a link */\n target?: '_self' | '_blank' | '_parent' | '_top';\n};\n\nconst Button = React.forwardRef(function Button(props: ButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>) {\n const { disabled, shortcut, target, type = 'button', ...otherProps } = props;\n const internalRef = useMergedRef<HTMLButtonElement | HTMLAnchorElement>(ref);\n\n useGlobalKeyDown(shortcut, () => {\n internalRef.current?.click();\n });\n\n const Tag = props.href ? 'a' : 'button';\n\n return (\n <Tag\n {...otherProps}\n aria-disabled={disabled ? 'true' : undefined}\n disabled={disabled}\n target={Tag === 'a' ? target : undefined}\n type={Tag !== 'a' ? type : undefined}\n ref={internalRef as any}>\n {React.Children.count(props.children) > 1\n ? React.Children.map(props.children, child => (typeof child === 'string' ? <span>{child}</span> : child))\n : props.children}\n </Tag>\n );\n});\n\nexport { Button };\nexport type { ButtonProps };\n"],"names":["Button","React","props","ref","disabled","shortcut","target","type","otherProps","internalRef","useMergedRef","useGlobalKeyDown","current","click","Tag","href","undefined","count","children","map","child"],"mappings":";;;;MAeMA,MAAM,gBAAGC,UAAgB,CAAC,SAASD,MAAM,CAACE,KAAkB,EAAEC,GAAqD;EACrH,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,IAAI,GAAG,QAAQ;IAAE,GAAGC;GAAY,GAAGN,KAAK;EAC5E,MAAMO,WAAW,GAAGC,YAAY,CAAwCP,GAAG,CAAC;EAE5EQ,gBAAgB,CAACN,QAAQ,EAAE;;IACvB,wBAAAI,WAAW,CAACG,OAAO,yDAAnB,qBAAqBC,KAAK,EAAE;GAC/B,CAAC;EAEF,MAAMC,GAAG,GAAGZ,KAAK,CAACa,IAAI,GAAG,GAAG,GAAG,QAAQ;EAEvC,oBACId,cAACa,GAAG,oBACIN,UAAU;qBACCJ,QAAQ,GAAG,MAAM,GAAGY,SAAS;IAC5CZ,QAAQ,EAAEA,QAAQ;IAClBE,MAAM,EAAEQ,GAAG,KAAK,GAAG,GAAGR,MAAM,GAAGU,SAAS;IACxCT,IAAI,EAAEO,GAAG,KAAK,GAAG,GAAGP,IAAI,GAAGS,SAAS;IACpCb,GAAG,EAAEM;MACJR,QAAc,CAACgB,KAAK,CAACf,KAAK,CAACgB,QAAQ,CAAC,GAAG,CAAC,GACnCjB,QAAc,CAACkB,GAAG,CAACjB,KAAK,CAACgB,QAAQ,EAAEE,KAAK,IAAK,OAAOA,KAAK,KAAK,QAAQ,gBAAGnB,4BAAOmB,KAAK,CAAQ,GAAGA,KAAM,CAAC,GACvGlB,KAAK,CAACgB,QAAQ,CAClB;AAEd,CAAC;;;;"}
@@ -1,4 +1,3 @@
1
- const isOverflowing = element => element !== null ? element.scrollWidth > element.offsetWidth : false;
2
1
  const getIndexOfFirstChildOverflowingParent = (element, overscan = 0) => {
3
2
  let index = 0;
4
3
  let boundaryChildIndex = null;
@@ -15,5 +14,5 @@ const getIndexOfFirstChildOverflowingParent = (element, overscan = 0) => {
15
14
  return boundaryChildIndex;
16
15
  };
17
16
 
18
- export { getIndexOfFirstChildOverflowingParent, isOverflowing };
17
+ export { getIndexOfFirstChildOverflowingParent };
19
18
  //# sourceMappingURL=dom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sources":["../../../../../../src/utils/dom.ts"],"sourcesContent":["export const isOverflowing = (element: HTMLElement | null) =>\n element !== null ? element.scrollWidth > element.offsetWidth : false;\n\nexport const getIndexOfFirstChildOverflowingParent = (element: HTMLElement, overscan = 0) => {\n let index = 0;\n let boundaryChildIndex: number | null = null;\n const clientRect = element.getBoundingClientRect();\n\n for (const child of Array.from(element.children)) {\n const right = child.getBoundingClientRect().right - clientRect.left;\n const width = clientRect.width - overscan;\n\n if (right > width) {\n boundaryChildIndex = index;\n break;\n }\n index++;\n }\n\n return boundaryChildIndex;\n};\n"],"names":["isOverflowing","element","scrollWidth","offsetWidth","getIndexOfFirstChildOverflowingParent","overscan","index","boundaryChildIndex","clientRect","getBoundingClientRect","child","Array","from","children","right","left","width"],"mappings":"MAAaA,aAAa,GAAIC,OAA2B,IACrDA,OAAO,KAAK,IAAI,GAAGA,OAAO,CAACC,WAAW,GAAGD,OAAO,CAACE,WAAW,GAAG;MAEtDC,qCAAqC,GAAG,CAACH,OAAoB,EAAEI,QAAQ,GAAG,CAAC;EACpF,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,kBAAkB,GAAkB,IAAI;EAC5C,MAAMC,UAAU,GAAGP,OAAO,CAACQ,qBAAqB,EAAE;EAElD,KAAK,MAAMC,KAAK,IAAIC,KAAK,CAACC,IAAI,CAACX,OAAO,CAACY,QAAQ,CAAC,EAAE;IAC9C,MAAMC,KAAK,GAAGJ,KAAK,CAACD,qBAAqB,EAAE,CAACK,KAAK,GAAGN,UAAU,CAACO,IAAI;IACnE,MAAMC,KAAK,GAAGR,UAAU,CAACQ,KAAK,GAAGX,QAAQ;IAEzC,IAAIS,KAAK,GAAGE,KAAK,EAAE;MACfT,kBAAkB,GAAGD,KAAK;MAC1B;;IAEJA,KAAK,EAAE;;EAGX,OAAOC,kBAAkB;AAC7B;;;;"}
1
+ {"version":3,"file":"dom.js","sources":["../../../../../../src/utils/dom.ts"],"sourcesContent":["export const isOverflowing = (element: HTMLElement | null) =>\n element !== null ? element.scrollWidth > element.offsetWidth : false;\n\nexport const getIndexOfFirstChildOverflowingParent = (element: HTMLElement, overscan = 0) => {\n let index = 0;\n let boundaryChildIndex: number | null = null;\n const clientRect = element.getBoundingClientRect();\n\n for (const child of Array.from(element.children)) {\n const right = child.getBoundingClientRect().right - clientRect.left;\n const width = clientRect.width - overscan;\n\n if (right > width) {\n boundaryChildIndex = index;\n break;\n }\n index++;\n }\n\n return boundaryChildIndex;\n};\n"],"names":["getIndexOfFirstChildOverflowingParent","element","overscan","index","boundaryChildIndex","clientRect","getBoundingClientRect","child","Array","from","children","right","left","width"],"mappings":"MAGaA,qCAAqC,GAAG,CAACC,OAAoB,EAAEC,QAAQ,GAAG,CAAC;EACpF,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,kBAAkB,GAAkB,IAAI;EAC5C,MAAMC,UAAU,GAAGJ,OAAO,CAACK,qBAAqB,EAAE;EAElD,KAAK,MAAMC,KAAK,IAAIC,KAAK,CAACC,IAAI,CAACR,OAAO,CAACS,QAAQ,CAAC,EAAE;IAC9C,MAAMC,KAAK,GAAGJ,KAAK,CAACD,qBAAqB,EAAE,CAACK,KAAK,GAAGN,UAAU,CAACO,IAAI;IACnE,MAAMC,KAAK,GAAGR,UAAU,CAACQ,KAAK,GAAGX,QAAQ;IAEzC,IAAIS,KAAK,GAAGE,KAAK,EAAE;MACfT,kBAAkB,GAAGD,KAAK;MAC1B;;IAEJA,KAAK,EAAE;;EAGX,OAAOC,kBAAkB;AAC7B;;;;"}
@@ -37,6 +37,19 @@ const setInputValueByRef = (input, value, event = 'change') => {
37
37
  // 'change' instead of 'input', see https://github.com/facebook/react/issues/11488#issuecomment-381590324
38
38
  input.dispatchEvent(createCustomEvent(event));
39
39
  };
40
+ const deselectInputValue = input => {
41
+ var _input$setSelectionRa, _input$value, _input$value2;
42
+ // input type="number" doesn't support "setSelectionRange",
43
+ // easiest way is to switch input type to text, deselect value, and switch it back to number.
44
+ const isNumber = input.type === 'number';
45
+ if (isNumber) {
46
+ input.type = 'text';
47
+ }
48
+ (_input$setSelectionRa = input.setSelectionRange) === null || _input$setSelectionRa === void 0 ? void 0 : _input$setSelectionRa.call(input, (_input$value = input.value) === null || _input$value === void 0 ? void 0 : _input$value.length, (_input$value2 = input.value) === null || _input$value2 === void 0 ? void 0 : _input$value2.length);
49
+ if (isNumber) {
50
+ input.type = 'number';
51
+ }
52
+ };
40
53
 
41
- export { createCustomEvent, createCustomKeyboardEvent, setInputValueByRef };
54
+ export { createCustomEvent, createCustomKeyboardEvent, deselectInputValue, setInputValueByRef };
42
55
  //# sourceMappingURL=input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sources":["../../../../../../src/utils/input.ts"],"sourcesContent":["// returns a custom event compatible with all browsers\nexport const createCustomEvent = (eventType: string) => {\n let customEvent;\n\n if (typeof Event === 'function') {\n customEvent = new Event(eventType, { bubbles: true });\n } else {\n customEvent = document.createEvent('Event');\n customEvent.initEvent(eventType, true, true);\n }\n return customEvent;\n};\n\n// returns a custom keyboard event compatible with all browsers\nexport const createCustomKeyboardEvent = (event: React.KeyboardEvent<HTMLInputElement>) => {\n let customKeyboardEvent;\n\n if (typeof KeyboardEvent === 'function') {\n customKeyboardEvent = new KeyboardEvent(event.type, event as any);\n } else {\n customKeyboardEvent = document.createEvent('Event') as any;\n customKeyboardEvent.initEvent(event.type, true, true);\n customKeyboardEvent.key = event.key;\n customKeyboardEvent.charCode = event.charCode;\n }\n\n return customKeyboardEvent;\n};\n\nexport const setInputValueByRef = (input: HTMLInputElement | null, value: string | undefined, event = 'change'): void => {\n if (!input) {\n return;\n }\n\n const previousValue = input.value;\n input.value = value || '';\n\n const tracker = (input as any)._valueTracker;\n\n if (tracker) {\n tracker.setValue(previousValue);\n }\n\n // 'change' instead of 'input', see https://github.com/facebook/react/issues/11488#issuecomment-381590324\n input.dispatchEvent(createCustomEvent(event));\n};\n"],"names":["createCustomEvent","eventType","customEvent","Event","bubbles","document","createEvent","initEvent","createCustomKeyboardEvent","event","customKeyboardEvent","KeyboardEvent","type","key","charCode","setInputValueByRef","input","value","previousValue","tracker","_valueTracker","setValue","dispatchEvent"],"mappings":"AAAA;MACaA,iBAAiB,GAAIC,SAAiB;EAC/C,IAAIC,WAAW;EAEf,IAAI,OAAOC,KAAK,KAAK,UAAU,EAAE;IAC7BD,WAAW,GAAG,IAAIC,KAAK,CAACF,SAAS,EAAE;MAAEG,OAAO,EAAE;KAAM,CAAC;GACxD,MAAM;IACHF,WAAW,GAAGG,QAAQ,CAACC,WAAW,CAAC,OAAO,CAAC;IAC3CJ,WAAW,CAACK,SAAS,CAACN,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;;EAEhD,OAAOC,WAAW;AACtB;AAEA;MACaM,yBAAyB,GAAIC,KAA4C;EAClF,IAAIC,mBAAmB;EAEvB,IAAI,OAAOC,aAAa,KAAK,UAAU,EAAE;IACrCD,mBAAmB,GAAG,IAAIC,aAAa,CAACF,KAAK,CAACG,IAAI,EAAEH,KAAY,CAAC;GACpE,MAAM;IACHC,mBAAmB,GAAGL,QAAQ,CAACC,WAAW,CAAC,OAAO,CAAQ;IAC1DI,mBAAmB,CAACH,SAAS,CAACE,KAAK,CAACG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACrDF,mBAAmB,CAACG,GAAG,GAAGJ,KAAK,CAACI,GAAG;IACnCH,mBAAmB,CAACI,QAAQ,GAAGL,KAAK,CAACK,QAAQ;;EAGjD,OAAOJ,mBAAmB;AAC9B;MAEaK,kBAAkB,GAAG,CAACC,KAA8B,EAAEC,KAAyB,EAAER,KAAK,GAAG,QAAQ;EAC1G,IAAI,CAACO,KAAK,EAAE;IACR;;EAGJ,MAAME,aAAa,GAAGF,KAAK,CAACC,KAAK;EACjCD,KAAK,CAACC,KAAK,GAAGA,KAAK,IAAI,EAAE;EAEzB,MAAME,OAAO,GAAIH,KAAa,CAACI,aAAa;EAE5C,IAAID,OAAO,EAAE;IACTA,OAAO,CAACE,QAAQ,CAACH,aAAa,CAAC;;;EAInCF,KAAK,CAACM,aAAa,CAACtB,iBAAiB,CAACS,KAAK,CAAC,CAAC;AACjD;;;;"}
1
+ {"version":3,"file":"input.js","sources":["../../../../../../src/utils/input.ts"],"sourcesContent":["// returns a custom event compatible with all browsers\nexport const createCustomEvent = (eventType: string) => {\n let customEvent;\n\n if (typeof Event === 'function') {\n customEvent = new Event(eventType, { bubbles: true });\n } else {\n customEvent = document.createEvent('Event');\n customEvent.initEvent(eventType, true, true);\n }\n return customEvent;\n};\n\n// returns a custom keyboard event compatible with all browsers\nexport const createCustomKeyboardEvent = (event: React.KeyboardEvent<HTMLInputElement>) => {\n let customKeyboardEvent;\n\n if (typeof KeyboardEvent === 'function') {\n customKeyboardEvent = new KeyboardEvent(event.type, event as any);\n } else {\n customKeyboardEvent = document.createEvent('Event') as any;\n customKeyboardEvent.initEvent(event.type, true, true);\n customKeyboardEvent.key = event.key;\n customKeyboardEvent.charCode = event.charCode;\n }\n\n return customKeyboardEvent;\n};\n\nexport const setInputValueByRef = (input: HTMLInputElement | null, value: string | undefined, event = 'change'): void => {\n if (!input) {\n return;\n }\n\n const previousValue = input.value;\n input.value = value || '';\n\n const tracker = (input as any)._valueTracker;\n\n if (tracker) {\n tracker.setValue(previousValue);\n }\n\n // 'change' instead of 'input', see https://github.com/facebook/react/issues/11488#issuecomment-381590324\n input.dispatchEvent(createCustomEvent(event));\n};\n\nexport const deselectInputValue = (input: HTMLInputElement) => {\n // input type=\"number\" doesn't support \"setSelectionRange\",\n // easiest way is to switch input type to text, deselect value, and switch it back to number.\n const isNumber = input.type === 'number';\n if (isNumber) {\n input.type = 'text';\n }\n input.setSelectionRange?.(input.value?.length, input.value?.length);\n if (isNumber) {\n input.type = 'number';\n }\n};\n"],"names":["createCustomEvent","eventType","customEvent","Event","bubbles","document","createEvent","initEvent","createCustomKeyboardEvent","event","customKeyboardEvent","KeyboardEvent","type","key","charCode","setInputValueByRef","input","value","previousValue","tracker","_valueTracker","setValue","dispatchEvent","deselectInputValue","isNumber","setSelectionRange","length"],"mappings":"AAAA;MACaA,iBAAiB,GAAIC,SAAiB;EAC/C,IAAIC,WAAW;EAEf,IAAI,OAAOC,KAAK,KAAK,UAAU,EAAE;IAC7BD,WAAW,GAAG,IAAIC,KAAK,CAACF,SAAS,EAAE;MAAEG,OAAO,EAAE;KAAM,CAAC;GACxD,MAAM;IACHF,WAAW,GAAGG,QAAQ,CAACC,WAAW,CAAC,OAAO,CAAC;IAC3CJ,WAAW,CAACK,SAAS,CAACN,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;;EAEhD,OAAOC,WAAW;AACtB;AAEA;MACaM,yBAAyB,GAAIC,KAA4C;EAClF,IAAIC,mBAAmB;EAEvB,IAAI,OAAOC,aAAa,KAAK,UAAU,EAAE;IACrCD,mBAAmB,GAAG,IAAIC,aAAa,CAACF,KAAK,CAACG,IAAI,EAAEH,KAAY,CAAC;GACpE,MAAM;IACHC,mBAAmB,GAAGL,QAAQ,CAACC,WAAW,CAAC,OAAO,CAAQ;IAC1DI,mBAAmB,CAACH,SAAS,CAACE,KAAK,CAACG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACrDF,mBAAmB,CAACG,GAAG,GAAGJ,KAAK,CAACI,GAAG;IACnCH,mBAAmB,CAACI,QAAQ,GAAGL,KAAK,CAACK,QAAQ;;EAGjD,OAAOJ,mBAAmB;AAC9B;MAEaK,kBAAkB,GAAG,CAACC,KAA8B,EAAEC,KAAyB,EAAER,KAAK,GAAG,QAAQ;EAC1G,IAAI,CAACO,KAAK,EAAE;IACR;;EAGJ,MAAME,aAAa,GAAGF,KAAK,CAACC,KAAK;EACjCD,KAAK,CAACC,KAAK,GAAGA,KAAK,IAAI,EAAE;EAEzB,MAAME,OAAO,GAAIH,KAAa,CAACI,aAAa;EAE5C,IAAID,OAAO,EAAE;IACTA,OAAO,CAACE,QAAQ,CAACH,aAAa,CAAC;;;EAInCF,KAAK,CAACM,aAAa,CAACtB,iBAAiB,CAACS,KAAK,CAAC,CAAC;AACjD;MAEac,kBAAkB,GAAIP,KAAuB;;;;EAGtD,MAAMQ,QAAQ,GAAGR,KAAK,CAACJ,IAAI,KAAK,QAAQ;EACxC,IAAIY,QAAQ,EAAE;IACVR,KAAK,CAACJ,IAAI,GAAG,MAAM;;EAEvB,yBAAAI,KAAK,CAACS,iBAAiB,0DAAvB,2BAAAT,KAAK,kBAAqBA,KAAK,CAACC,KAAK,iDAAX,aAAaS,MAAM,mBAAEV,KAAK,CAACC,KAAK,kDAAX,cAAaS,MAAM,CAAC;EACnE,IAAIF,QAAQ,EAAE;IACVR,KAAK,CAACJ,IAAI,GAAG,QAAQ;;AAE7B;;;;"}
@@ -1,2 +1,2 @@
1
1
  import { KeyDownHandlerOptions } from '../utils/keyboard';
2
- export declare const useGlobalKeyDown: (key: string | KeyDownHandlerOptions, handler: (event: KeyboardEvent) => void) => void;
2
+ export declare const useGlobalKeyDown: (shortcut: string | KeyDownHandlerOptions | undefined, handler: (event: KeyboardEvent) => void) => void;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare function useLazyEffect(effect: React.EffectCallback, deps?: React.DependencyList | undefined): void;