@economic/taco 2.48.2 → 2.49.0-server.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (660) hide show
  1. package/dist/components/Calendar/Calendar.d.ts +0 -1
  2. package/dist/components/Report/Report.d.ts +1 -1
  3. package/dist/components/SearchInput2/SearchInput2.d.ts +2 -0
  4. package/dist/components/Table3/features/useEditingState.d.ts +11 -11
  5. package/dist/components/Table3/features/useTableEditing.d.ts +13 -13
  6. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +63 -0
  7. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  8. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js +17 -17
  9. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js.map +1 -1
  10. package/dist/esm/packages/taco/src/charts/components/Area/AreaChart.js +32 -24
  11. package/dist/esm/packages/taco/src/charts/components/Area/AreaChart.js.map +1 -1
  12. package/dist/esm/packages/taco/src/charts/components/Bar/BarChart.js +84 -61
  13. package/dist/esm/packages/taco/src/charts/components/Bar/BarChart.js.map +1 -1
  14. package/dist/esm/packages/taco/src/charts/components/Donut/ActiveShape.js +16 -15
  15. package/dist/esm/packages/taco/src/charts/components/Donut/ActiveShape.js.map +1 -1
  16. package/dist/esm/packages/taco/src/charts/components/Donut/CenteredLabel.js +12 -13
  17. package/dist/esm/packages/taco/src/charts/components/Donut/CenteredLabel.js.map +1 -1
  18. package/dist/esm/packages/taco/src/charts/components/Donut/DonutChart.js +104 -68
  19. package/dist/esm/packages/taco/src/charts/components/Donut/DonutChart.js.map +1 -1
  20. package/dist/esm/packages/taco/src/charts/components/Donut/Legend.js +39 -29
  21. package/dist/esm/packages/taco/src/charts/components/Donut/Legend.js.map +1 -1
  22. package/dist/esm/packages/taco/src/charts/components/Donut/util.js +2 -2
  23. package/dist/esm/packages/taco/src/charts/components/Donut/util.js.map +1 -1
  24. package/dist/esm/packages/taco/src/charts/components/Legend.js +46 -37
  25. package/dist/esm/packages/taco/src/charts/components/Legend.js.map +1 -1
  26. package/dist/esm/packages/taco/src/charts/components/Line/LineChart.js +32 -24
  27. package/dist/esm/packages/taco/src/charts/components/Line/LineChart.js.map +1 -1
  28. package/dist/esm/packages/taco/src/charts/components/ResponsiveContainer.js +5 -3
  29. package/dist/esm/packages/taco/src/charts/components/ResponsiveContainer.js.map +1 -1
  30. package/dist/esm/packages/taco/src/charts/components/Tooltip.js +26 -25
  31. package/dist/esm/packages/taco/src/charts/components/Tooltip.js.map +1 -1
  32. package/dist/esm/packages/taco/src/charts/utils/color.js +13 -12
  33. package/dist/esm/packages/taco/src/charts/utils/color.js.map +1 -1
  34. package/dist/esm/packages/taco/src/charts/utils/common.js +39 -26
  35. package/dist/esm/packages/taco/src/charts/utils/common.js.map +1 -1
  36. package/dist/esm/packages/taco/src/components/Accordion/Accordion.js +30 -31
  37. package/dist/esm/packages/taco/src/components/Accordion/Accordion.js.map +1 -1
  38. package/dist/esm/packages/taco/src/components/Alert/Alert.js +7 -9
  39. package/dist/esm/packages/taco/src/components/Alert/Alert.js.map +1 -1
  40. package/dist/esm/packages/taco/src/components/AlertDialog/AlertDialog.js +14 -13
  41. package/dist/esm/packages/taco/src/components/AlertDialog/AlertDialog.js.map +1 -1
  42. package/dist/esm/packages/taco/src/components/AlertDialog/Context.js +2 -2
  43. package/dist/esm/packages/taco/src/components/AlertDialog/Context.js.map +1 -1
  44. package/dist/esm/packages/taco/src/components/AlertDialog/components/Content.js +10 -9
  45. package/dist/esm/packages/taco/src/components/AlertDialog/components/Content.js.map +1 -1
  46. package/dist/esm/packages/taco/src/components/AlertDialog/components/Footer.js +4 -4
  47. package/dist/esm/packages/taco/src/components/AlertDialog/components/Footer.js.map +1 -1
  48. package/dist/esm/packages/taco/src/components/AlertDialog/components/Trigger.js +5 -6
  49. package/dist/esm/packages/taco/src/components/AlertDialog/components/Trigger.js.map +1 -1
  50. package/dist/esm/packages/taco/src/components/Backdrop/Backdrop.js +2 -2
  51. package/dist/esm/packages/taco/src/components/Backdrop/Backdrop.js.map +1 -1
  52. package/dist/esm/packages/taco/src/components/Badge/Badge.js +21 -25
  53. package/dist/esm/packages/taco/src/components/Badge/Badge.js.map +1 -1
  54. package/dist/esm/packages/taco/src/components/BadgeIcon/BadgeIcon.js +12 -14
  55. package/dist/esm/packages/taco/src/components/BadgeIcon/BadgeIcon.js.map +1 -1
  56. package/dist/esm/packages/taco/src/components/Banner/Banner.js +7 -10
  57. package/dist/esm/packages/taco/src/components/Banner/Banner.js.map +1 -1
  58. package/dist/esm/packages/taco/src/components/Banner/util.js +3 -3
  59. package/dist/esm/packages/taco/src/components/Banner/util.js.map +1 -1
  60. package/dist/esm/packages/taco/src/components/Button/Button.js +26 -28
  61. package/dist/esm/packages/taco/src/components/Button/Button.js.map +1 -1
  62. package/dist/esm/packages/taco/src/components/Button/util.js +25 -24
  63. package/dist/esm/packages/taco/src/components/Button/util.js.map +1 -1
  64. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js +80 -77
  65. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js.map +1 -1
  66. package/dist/esm/packages/taco/src/components/Card/Card.js +14 -15
  67. package/dist/esm/packages/taco/src/components/Card/Card.js.map +1 -1
  68. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +24 -22
  69. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
  70. package/dist/esm/packages/taco/src/components/Combobox/Combobox.js +21 -23
  71. package/dist/esm/packages/taco/src/components/Combobox/Combobox.js.map +1 -1
  72. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +76 -64
  73. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
  74. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js +60 -57
  75. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js.map +1 -1
  76. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +32 -40
  77. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
  78. package/dist/esm/packages/taco/src/components/Dialog/Context.js +4 -4
  79. package/dist/esm/packages/taco/src/components/Dialog/Context.js.map +1 -1
  80. package/dist/esm/packages/taco/src/components/Dialog/Dialog.js +54 -39
  81. package/dist/esm/packages/taco/src/components/Dialog/Dialog.js.map +1 -1
  82. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js +36 -38
  83. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js.map +1 -1
  84. package/dist/esm/packages/taco/src/components/Dialog/components/DialogDrawer.js +3 -3
  85. package/dist/esm/packages/taco/src/components/Dialog/components/DialogDrawer.js.map +1 -1
  86. package/dist/esm/packages/taco/src/components/Dialog/components/Extra.js +2 -2
  87. package/dist/esm/packages/taco/src/components/Dialog/components/Extra.js.map +1 -1
  88. package/dist/esm/packages/taco/src/components/Dialog/components/Trigger.js +5 -6
  89. package/dist/esm/packages/taco/src/components/Dialog/components/Trigger.js.map +1 -1
  90. package/dist/esm/packages/taco/src/components/Dialog/util.js +7 -3
  91. package/dist/esm/packages/taco/src/components/Dialog/util.js.map +1 -1
  92. package/dist/esm/packages/taco/src/components/Drawer/Context.js +5 -5
  93. package/dist/esm/packages/taco/src/components/Drawer/Context.js.map +1 -1
  94. package/dist/esm/packages/taco/src/components/Drawer/Drawer.js +61 -51
  95. package/dist/esm/packages/taco/src/components/Drawer/Drawer.js.map +1 -1
  96. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +134 -145
  97. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js.map +1 -1
  98. package/dist/esm/packages/taco/src/components/Drawer/components/Trigger.js +1 -1
  99. package/dist/esm/packages/taco/src/components/Drawer/components/Trigger.js.map +1 -1
  100. package/dist/esm/packages/taco/src/components/Drawer/util.js +5 -5
  101. package/dist/esm/packages/taco/src/components/Drawer/util.js.map +1 -1
  102. package/dist/esm/packages/taco/src/components/Field/Field.js +14 -12
  103. package/dist/esm/packages/taco/src/components/Field/Field.js.map +1 -1
  104. package/dist/esm/packages/taco/src/components/Form/Form.js +7 -6
  105. package/dist/esm/packages/taco/src/components/Form/Form.js.map +1 -1
  106. package/dist/esm/packages/taco/src/components/Group/Group.js +9 -7
  107. package/dist/esm/packages/taco/src/components/Group/Group.js.map +1 -1
  108. package/dist/esm/packages/taco/src/components/Hanger/Hanger.js +37 -36
  109. package/dist/esm/packages/taco/src/components/Hanger/Hanger.js.map +1 -1
  110. package/dist/esm/packages/taco/src/components/Header/Header.js +2 -2
  111. package/dist/esm/packages/taco/src/components/Header/Header.js.map +1 -1
  112. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Avatar.js +14 -10
  113. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Avatar.js.map +1 -1
  114. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Badge.js +5 -4
  115. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Badge.js.map +1 -1
  116. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Display.js +7 -9
  117. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Display.js.map +1 -1
  118. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Item.js +9 -9
  119. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Item.js.map +1 -1
  120. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js +66 -46
  121. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js.map +1 -1
  122. package/dist/esm/packages/taco/src/components/Header/components/Button.js +12 -8
  123. package/dist/esm/packages/taco/src/components/Header/components/Button.js.map +1 -1
  124. package/dist/esm/packages/taco/src/components/Header/components/Link.js +22 -18
  125. package/dist/esm/packages/taco/src/components/Header/components/Link.js.map +1 -1
  126. package/dist/esm/packages/taco/src/components/Header/components/Logo.js +4 -4
  127. package/dist/esm/packages/taco/src/components/Header/components/Logo.js.map +1 -1
  128. package/dist/esm/packages/taco/src/components/Header/components/MenuButton.js +2 -2
  129. package/dist/esm/packages/taco/src/components/Header/components/MenuButton.js.map +1 -1
  130. package/dist/esm/packages/taco/src/components/Header/components/PrimaryNavigation.js +10 -9
  131. package/dist/esm/packages/taco/src/components/Header/components/PrimaryNavigation.js.map +1 -1
  132. package/dist/esm/packages/taco/src/components/Header/components/SecondaryNavigation.js +2 -2
  133. package/dist/esm/packages/taco/src/components/Header/components/SecondaryNavigation.js.map +1 -1
  134. package/dist/esm/packages/taco/src/components/HoverCard/HoverCard.js +5 -7
  135. package/dist/esm/packages/taco/src/components/HoverCard/HoverCard.js.map +1 -1
  136. package/dist/esm/packages/taco/src/components/HoverCard/Primitives.js +1 -1
  137. package/dist/esm/packages/taco/src/components/HoverCard/Primitives.js.map +1 -1
  138. package/dist/esm/packages/taco/src/components/Icon/Icon.js +7 -7
  139. package/dist/esm/packages/taco/src/components/Icon/Icon.js.map +1 -1
  140. package/dist/esm/packages/taco/src/components/Icon/components/index.js +4 -4
  141. package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
  142. package/dist/esm/packages/taco/src/components/IconButton/IconButton.js +22 -23
  143. package/dist/esm/packages/taco/src/components/IconButton/IconButton.js.map +1 -1
  144. package/dist/esm/packages/taco/src/components/Input/Input.js +45 -44
  145. package/dist/esm/packages/taco/src/components/Input/Input.js.map +1 -1
  146. package/dist/esm/packages/taco/src/components/Input/util.js +8 -5
  147. package/dist/esm/packages/taco/src/components/Input/util.js.map +1 -1
  148. package/dist/esm/packages/taco/src/components/Layout/Layout.js +7 -5
  149. package/dist/esm/packages/taco/src/components/Layout/Layout.js.map +1 -1
  150. package/dist/esm/packages/taco/src/components/Layout/components/Content.js +2 -2
  151. package/dist/esm/packages/taco/src/components/Layout/components/Content.js.map +1 -1
  152. package/dist/esm/packages/taco/src/components/Layout/components/Context.js +4 -2
  153. package/dist/esm/packages/taco/src/components/Layout/components/Context.js.map +1 -1
  154. package/dist/esm/packages/taco/src/components/Layout/components/Page.js +2 -2
  155. package/dist/esm/packages/taco/src/components/Layout/components/Page.js.map +1 -1
  156. package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js +34 -27
  157. package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js.map +1 -1
  158. package/dist/esm/packages/taco/src/components/Layout/components/Top.js +9 -6
  159. package/dist/esm/packages/taco/src/components/Layout/components/Top.js.map +1 -1
  160. package/dist/esm/packages/taco/src/components/List/components/Button.js +1 -1
  161. package/dist/esm/packages/taco/src/components/List/components/Button.js.map +1 -1
  162. package/dist/esm/packages/taco/src/components/List/components/Collapsible.js +10 -7
  163. package/dist/esm/packages/taco/src/components/List/components/Collapsible.js.map +1 -1
  164. package/dist/esm/packages/taco/src/components/List/components/Group.js +1 -1
  165. package/dist/esm/packages/taco/src/components/List/components/Group.js.map +1 -1
  166. package/dist/esm/packages/taco/src/components/List/components/Item.js +15 -13
  167. package/dist/esm/packages/taco/src/components/List/components/Item.js.map +1 -1
  168. package/dist/esm/packages/taco/src/components/List/components/Link.js +3 -3
  169. package/dist/esm/packages/taco/src/components/List/components/Link.js.map +1 -1
  170. package/dist/esm/packages/taco/src/components/List/components/Toggle.js +29 -27
  171. package/dist/esm/packages/taco/src/components/List/components/Toggle.js.map +1 -1
  172. package/dist/esm/packages/taco/src/components/Listbox/Listbox.js +21 -26
  173. package/dist/esm/packages/taco/src/components/Listbox/Listbox.js.map +1 -1
  174. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js +82 -70
  175. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js.map +1 -1
  176. package/dist/esm/packages/taco/src/components/Listbox/useListbox.js +56 -51
  177. package/dist/esm/packages/taco/src/components/Listbox/useListbox.js.map +1 -1
  178. package/dist/esm/packages/taco/src/components/Listbox/useMultiListbox.js +83 -65
  179. package/dist/esm/packages/taco/src/components/Listbox/useMultiListbox.js.map +1 -1
  180. package/dist/esm/packages/taco/src/components/Listbox/useTypeahead.js +9 -10
  181. package/dist/esm/packages/taco/src/components/Listbox/useTypeahead.js.map +1 -1
  182. package/dist/esm/packages/taco/src/components/Listbox/util.js +78 -48
  183. package/dist/esm/packages/taco/src/components/Listbox/util.js.map +1 -1
  184. package/dist/esm/packages/taco/src/components/Menu/Context.js +2 -2
  185. package/dist/esm/packages/taco/src/components/Menu/Context.js.map +1 -1
  186. package/dist/esm/packages/taco/src/components/Menu/Menu.js +42 -26
  187. package/dist/esm/packages/taco/src/components/Menu/Menu.js.map +1 -1
  188. package/dist/esm/packages/taco/src/components/Menu/components/Checkbox.js +8 -8
  189. package/dist/esm/packages/taco/src/components/Menu/components/Checkbox.js.map +1 -1
  190. package/dist/esm/packages/taco/src/components/Menu/components/Content.js +27 -21
  191. package/dist/esm/packages/taco/src/components/Menu/components/Content.js.map +1 -1
  192. package/dist/esm/packages/taco/src/components/Menu/components/Header.js +3 -3
  193. package/dist/esm/packages/taco/src/components/Menu/components/Header.js.map +1 -1
  194. package/dist/esm/packages/taco/src/components/Menu/components/Item.js +32 -32
  195. package/dist/esm/packages/taco/src/components/Menu/components/Item.js.map +1 -1
  196. package/dist/esm/packages/taco/src/components/Menu/components/Link.js +10 -10
  197. package/dist/esm/packages/taco/src/components/Menu/components/Link.js.map +1 -1
  198. package/dist/esm/packages/taco/src/components/Menu/components/RadioGroup.js +15 -16
  199. package/dist/esm/packages/taco/src/components/Menu/components/RadioGroup.js.map +1 -1
  200. package/dist/esm/packages/taco/src/components/Menu/components/Separator.js +1 -1
  201. package/dist/esm/packages/taco/src/components/Menu/components/Separator.js.map +1 -1
  202. package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js +7 -7
  203. package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js.map +1 -1
  204. package/dist/esm/packages/taco/src/components/Menu/components/Trigger.js +5 -5
  205. package/dist/esm/packages/taco/src/components/Menu/components/Trigger.js.map +1 -1
  206. package/dist/esm/packages/taco/src/components/ModeSwitch/ModeSwitch.js +6 -6
  207. package/dist/esm/packages/taco/src/components/ModeSwitch/ModeSwitch.js.map +1 -1
  208. package/dist/esm/packages/taco/src/components/Navigation/Navigation.js +41 -36
  209. package/dist/esm/packages/taco/src/components/Navigation/Navigation.js.map +1 -1
  210. package/dist/esm/packages/taco/src/components/Navigation2/Navigation2.js +6 -6
  211. package/dist/esm/packages/taco/src/components/Navigation2/Navigation2.js.map +1 -1
  212. package/dist/esm/packages/taco/src/components/Navigation2/components/Content.js +6 -6
  213. package/dist/esm/packages/taco/src/components/Navigation2/components/Content.js.map +1 -1
  214. package/dist/esm/packages/taco/src/components/Navigation2/components/Group.js +14 -11
  215. package/dist/esm/packages/taco/src/components/Navigation2/components/Group.js.map +1 -1
  216. package/dist/esm/packages/taco/src/components/Navigation2/components/Link.js +31 -24
  217. package/dist/esm/packages/taco/src/components/Navigation2/components/Link.js.map +1 -1
  218. package/dist/esm/packages/taco/src/components/Navigation2/components/Section.js +7 -7
  219. package/dist/esm/packages/taco/src/components/Navigation2/components/Section.js.map +1 -1
  220. package/dist/esm/packages/taco/src/components/Navigation2/components/util.js +9 -7
  221. package/dist/esm/packages/taco/src/components/Navigation2/components/util.js.map +1 -1
  222. package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js +48 -51
  223. package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js.map +1 -1
  224. package/dist/esm/packages/taco/src/components/Pagination/PageNumbers.js +26 -23
  225. package/dist/esm/packages/taco/src/components/Pagination/PageNumbers.js.map +1 -1
  226. package/dist/esm/packages/taco/src/components/Pagination/Pagination.js +53 -39
  227. package/dist/esm/packages/taco/src/components/Pagination/Pagination.js.map +1 -1
  228. package/dist/esm/packages/taco/src/components/Pagination/usePagination.js +17 -7
  229. package/dist/esm/packages/taco/src/components/Pagination/usePagination.js.map +1 -1
  230. package/dist/esm/packages/taco/src/components/Pagination/usePaginationShortcuts.js +8 -9
  231. package/dist/esm/packages/taco/src/components/Pagination/usePaginationShortcuts.js.map +1 -1
  232. package/dist/esm/packages/taco/src/components/Popover/Popover.js +45 -43
  233. package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
  234. package/dist/esm/packages/taco/src/components/Popover/Primitives.js +1 -1
  235. package/dist/esm/packages/taco/src/components/Popover/Primitives.js.map +1 -1
  236. package/dist/esm/packages/taco/src/components/Popover/util.js +3 -1
  237. package/dist/esm/packages/taco/src/components/Popover/util.js.map +1 -1
  238. package/dist/esm/packages/taco/src/components/Progress/Progress.js +13 -11
  239. package/dist/esm/packages/taco/src/components/Progress/Progress.js.map +1 -1
  240. package/dist/esm/packages/taco/src/components/Provider/Localization.js +13 -12
  241. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  242. package/dist/esm/packages/taco/src/components/Provider/Provider.js +8 -8
  243. package/dist/esm/packages/taco/src/components/Provider/Provider.js.map +1 -1
  244. package/dist/esm/packages/taco/src/components/RadioGroup/RadioGroup.js +54 -47
  245. package/dist/esm/packages/taco/src/components/RadioGroup/RadioGroup.js.map +1 -1
  246. package/dist/esm/packages/taco/src/components/RadioGroup/util.js +7 -1
  247. package/dist/esm/packages/taco/src/components/RadioGroup/util.js.map +1 -1
  248. package/dist/esm/packages/taco/src/components/Report/Report.js +7 -5
  249. package/dist/esm/packages/taco/src/components/Report/Report.js.map +1 -1
  250. package/dist/esm/packages/taco/src/components/Report/useReport.js +1 -1
  251. package/dist/esm/packages/taco/src/components/Report/useReport.js.map +1 -1
  252. package/dist/esm/packages/taco/src/components/ScrollArea/ScrollArea.js +17 -13
  253. package/dist/esm/packages/taco/src/components/ScrollArea/ScrollArea.js.map +1 -1
  254. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js +11 -11
  255. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
  256. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +48 -40
  257. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -1
  258. package/dist/esm/packages/taco/src/components/Select/Select.js +28 -31
  259. package/dist/esm/packages/taco/src/components/Select/Select.js.map +1 -1
  260. package/dist/esm/packages/taco/src/components/Select/useSelect.js +79 -70
  261. package/dist/esm/packages/taco/src/components/Select/useSelect.js.map +1 -1
  262. package/dist/esm/packages/taco/src/components/Select2/Select2.js +154 -121
  263. package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
  264. package/dist/esm/packages/taco/src/components/Select2/components/Collection.js +2 -4
  265. package/dist/esm/packages/taco/src/components/Select2/components/Collection.js.map +1 -1
  266. package/dist/esm/packages/taco/src/components/Select2/components/Context.js +4 -2
  267. package/dist/esm/packages/taco/src/components/Select2/components/Context.js.map +1 -1
  268. package/dist/esm/packages/taco/src/components/Select2/components/Create.js +45 -41
  269. package/dist/esm/packages/taco/src/components/Select2/components/Create.js.map +1 -1
  270. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js +145 -129
  271. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js.map +1 -1
  272. package/dist/esm/packages/taco/src/components/Select2/components/Group.js +8 -8
  273. package/dist/esm/packages/taco/src/components/Select2/components/Group.js.map +1 -1
  274. package/dist/esm/packages/taco/src/components/Select2/components/Option.js +29 -30
  275. package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
  276. package/dist/esm/packages/taco/src/components/Select2/components/Search.js +9 -10
  277. package/dist/esm/packages/taco/src/components/Select2/components/Search.js.map +1 -1
  278. package/dist/esm/packages/taco/src/components/Select2/components/Title.js +2 -2
  279. package/dist/esm/packages/taco/src/components/Select2/components/Title.js.map +1 -1
  280. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +136 -128
  281. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
  282. package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js +32 -23
  283. package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js.map +1 -1
  284. package/dist/esm/packages/taco/src/components/Select2/utilities.js +13 -6
  285. package/dist/esm/packages/taco/src/components/Select2/utilities.js.map +1 -1
  286. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js +16 -13
  287. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
  288. package/dist/esm/packages/taco/src/components/Spinner/Spinner.js +17 -12
  289. package/dist/esm/packages/taco/src/components/Spinner/Spinner.js.map +1 -1
  290. package/dist/esm/packages/taco/src/components/Switch/Switch.js +14 -14
  291. package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
  292. package/dist/esm/packages/taco/src/components/Table/components/BaseTable.js +28 -23
  293. package/dist/esm/packages/taco/src/components/Table/components/BaseTable.js.map +1 -1
  294. package/dist/esm/packages/taco/src/components/Table/components/PaginatedTable.js +7 -3
  295. package/dist/esm/packages/taco/src/components/Table/components/PaginatedTable.js.map +1 -1
  296. package/dist/esm/packages/taco/src/components/Table/components/Table.js +22 -18
  297. package/dist/esm/packages/taco/src/components/Table/components/Table.js.map +1 -1
  298. package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js +100 -92
  299. package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js.map +1 -1
  300. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js +137 -119
  301. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  302. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowDraggable.js +55 -55
  303. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowDraggable.js.map +1 -1
  304. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowEditing.js +35 -41
  305. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowEditing.js.map +1 -1
  306. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowSelect.js +77 -71
  307. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowSelect.js.map +1 -1
  308. package/dist/esm/packages/taco/src/components/Table/hooks/useRowCreation.js +56 -30
  309. package/dist/esm/packages/taco/src/components/Table/hooks/useRowCreation.js.map +1 -1
  310. package/dist/esm/packages/taco/src/components/Table/hooks/useTable.js +151 -142
  311. package/dist/esm/packages/taco/src/components/Table/hooks/useTable.js.map +1 -1
  312. package/dist/esm/packages/taco/src/components/Table/hooks/useTableKeyboardNavigation.js +22 -20
  313. package/dist/esm/packages/taco/src/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
  314. package/dist/esm/packages/taco/src/components/Table/util/renderColumn.js +9 -12
  315. package/dist/esm/packages/taco/src/components/Table/util/renderColumn.js.map +1 -1
  316. package/dist/esm/packages/taco/src/components/Table/util/renderRow.js +41 -41
  317. package/dist/esm/packages/taco/src/components/Table/util/renderRow.js.map +1 -1
  318. package/dist/esm/packages/taco/src/components/Table/util/rowIndexPath.js +16 -14
  319. package/dist/esm/packages/taco/src/components/Table/util/rowIndexPath.js.map +1 -1
  320. package/dist/esm/packages/taco/src/components/Table/util/sortTypes.js +32 -26
  321. package/dist/esm/packages/taco/src/components/Table/util/sortTypes.js.map +1 -1
  322. package/dist/esm/packages/taco/src/components/Table/util.js +37 -30
  323. package/dist/esm/packages/taco/src/components/Table/util.js.map +1 -1
  324. package/dist/esm/packages/taco/src/components/Table3/Table3.js +12 -10
  325. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  326. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Cell.js +13 -14
  327. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Cell.js.map +1 -1
  328. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js +21 -23
  329. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js.map +1 -1
  330. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Editing/TextareaWithAutosizing.js +20 -17
  331. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Editing/TextareaWithAutosizing.js.map +1 -1
  332. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js +71 -75
  333. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
  334. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingDisplayCell.js +2 -2
  335. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingDisplayCell.js.map +1 -1
  336. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/util.js +19 -20
  337. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/util.js.map +1 -1
  338. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Internal/EditingActionsMenu.js +26 -25
  339. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Internal/EditingActionsMenu.js.map +1 -1
  340. package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js +60 -48
  341. package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js.map +1 -1
  342. package/dist/esm/packages/taco/src/components/Table3/components/Editing/DiscardChangesConfirmationDialog.js +7 -8
  343. package/dist/esm/packages/taco/src/components/Table3/components/Editing/DiscardChangesConfirmationDialog.js.map +1 -1
  344. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateNewRow.js +18 -19
  345. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateNewRow.js.map +1 -1
  346. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/SaveStatus.js +7 -10
  347. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/SaveStatus.js.map +1 -1
  348. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/TemporaryRow.js +38 -35
  349. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/TemporaryRow.js.map +1 -1
  350. package/dist/esm/packages/taco/src/components/Table3/components/Row/Row.js +15 -15
  351. package/dist/esm/packages/taco/src/components/Table3/components/Row/Row.js.map +1 -1
  352. package/dist/esm/packages/taco/src/components/Table3/components/Toolbar/Editing/Editing.js +8 -11
  353. package/dist/esm/packages/taco/src/components/Table3/components/Toolbar/Editing/Editing.js.map +1 -1
  354. package/dist/esm/packages/taco/src/components/Table3/features/useEditingState.js +181 -241
  355. package/dist/esm/packages/taco/src/components/Table3/features/useEditingState.js.map +1 -1
  356. package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js +55 -33
  357. package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js.map +1 -1
  358. package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js +33 -28
  359. package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js.map +1 -1
  360. package/dist/esm/packages/taco/src/components/Table3/useTable3.js +25 -19
  361. package/dist/esm/packages/taco/src/components/Table3/useTable3.js.map +1 -1
  362. package/dist/esm/packages/taco/src/components/Table3/util/editing.js +29 -35
  363. package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -1
  364. package/dist/esm/packages/taco/src/components/Tabs/Tabs.js +34 -35
  365. package/dist/esm/packages/taco/src/components/Tabs/Tabs.js.map +1 -1
  366. package/dist/esm/packages/taco/src/components/Tag/Tag.js +12 -12
  367. package/dist/esm/packages/taco/src/components/Tag/Tag.js.map +1 -1
  368. package/dist/esm/packages/taco/src/components/Textarea/Textarea.js +8 -11
  369. package/dist/esm/packages/taco/src/components/Textarea/Textarea.js.map +1 -1
  370. package/dist/esm/packages/taco/src/components/Toast/Toast.js +19 -20
  371. package/dist/esm/packages/taco/src/components/Toast/Toast.js.map +1 -1
  372. package/dist/esm/packages/taco/src/components/Toast/Toaster.js +117 -96
  373. package/dist/esm/packages/taco/src/components/Toast/Toaster.js.map +1 -1
  374. package/dist/esm/packages/taco/src/components/Toast/util.js +6 -4
  375. package/dist/esm/packages/taco/src/components/Toast/util.js.map +1 -1
  376. package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js +10 -9
  377. package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js.map +1 -1
  378. package/dist/esm/packages/taco/src/components/Tour/Tour.js +49 -46
  379. package/dist/esm/packages/taco/src/components/Tour/Tour.js.map +1 -1
  380. package/dist/esm/packages/taco/src/components/Treeview/Treeview.js +33 -27
  381. package/dist/esm/packages/taco/src/components/Treeview/Treeview.js.map +1 -1
  382. package/dist/esm/packages/taco/src/components/Truncate/Truncate.js +15 -13
  383. package/dist/esm/packages/taco/src/components/Truncate/Truncate.js.map +1 -1
  384. package/dist/esm/packages/taco/src/components/VisuallyHidden/VisuallyHidden.js +1 -1
  385. package/dist/esm/packages/taco/src/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  386. package/dist/esm/packages/taco/src/hooks/useBoundaryOverflowDetection.js +11 -6
  387. package/dist/esm/packages/taco/src/hooks/useBoundaryOverflowDetection.js.map +1 -1
  388. package/dist/esm/packages/taco/src/hooks/useBoundingClientRectListener.js +19 -13
  389. package/dist/esm/packages/taco/src/hooks/useBoundingClientRectListener.js.map +1 -1
  390. package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js +4 -4
  391. package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js.map +1 -1
  392. package/dist/esm/packages/taco/src/hooks/useId.js +4 -2
  393. package/dist/esm/packages/taco/src/hooks/useId.js.map +1 -1
  394. package/dist/esm/packages/taco/src/hooks/useIntersectionObserver.js +20 -18
  395. package/dist/esm/packages/taco/src/hooks/useIntersectionObserver.js.map +1 -1
  396. package/dist/esm/packages/taco/src/hooks/useIsFormControl.js +7 -5
  397. package/dist/esm/packages/taco/src/hooks/useIsFormControl.js.map +1 -1
  398. package/dist/esm/packages/taco/src/hooks/useIsHoverStatePaused.js +9 -5
  399. package/dist/esm/packages/taco/src/hooks/useIsHoverStatePaused.js.map +1 -1
  400. package/dist/esm/packages/taco/src/hooks/useIsLargeScreen.js +3 -1
  401. package/dist/esm/packages/taco/src/hooks/useIsLargeScreen.js.map +1 -1
  402. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js +2 -2
  403. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js.map +1 -1
  404. package/dist/esm/packages/taco/src/hooks/useLocalStorage.js +24 -22
  405. package/dist/esm/packages/taco/src/hooks/useLocalStorage.js.map +1 -1
  406. package/dist/esm/packages/taco/src/hooks/useMatchMedia.js +13 -6
  407. package/dist/esm/packages/taco/src/hooks/useMatchMedia.js.map +1 -1
  408. package/dist/esm/packages/taco/src/hooks/useMergedRef.js +3 -3
  409. package/dist/esm/packages/taco/src/hooks/useMergedRef.js.map +1 -1
  410. package/dist/esm/packages/taco/src/hooks/usePrevious.js +2 -2
  411. package/dist/esm/packages/taco/src/hooks/usePrevious.js.map +1 -1
  412. package/dist/esm/packages/taco/src/index.js +1 -0
  413. package/dist/esm/packages/taco/src/index.js.map +1 -1
  414. package/dist/esm/packages/taco/src/primitives/BubbleSelect.js +14 -14
  415. package/dist/esm/packages/taco/src/primitives/BubbleSelect.js.map +1 -1
  416. package/dist/esm/packages/taco/src/primitives/Button.js +15 -12
  417. package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
  418. package/dist/esm/packages/taco/src/primitives/Collection/components/Root.js +50 -44
  419. package/dist/esm/packages/taco/src/primitives/Collection/components/Root.js.map +1 -1
  420. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Context.js +4 -2
  421. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Context.js.map +1 -1
  422. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Group.js +9 -5
  423. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Group.js.map +1 -1
  424. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Option.js +16 -18
  425. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Option.js.map +1 -1
  426. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Root.js +47 -40
  427. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Root.js.map +1 -1
  428. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Title.js +9 -10
  429. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Title.js.map +1 -1
  430. package/dist/esm/packages/taco/src/primitives/Sortable/components/Container.js +22 -20
  431. package/dist/esm/packages/taco/src/primitives/Sortable/components/Container.js.map +1 -1
  432. package/dist/esm/packages/taco/src/primitives/Sortable/components/Item.js +24 -27
  433. package/dist/esm/packages/taco/src/primitives/Sortable/components/Item.js.map +1 -1
  434. package/dist/esm/packages/taco/src/primitives/Sortable/components/List.js +11 -10
  435. package/dist/esm/packages/taco/src/primitives/Sortable/components/List.js.map +1 -1
  436. package/dist/esm/packages/taco/src/primitives/Table/Core/Table.js +22 -19
  437. package/dist/esm/packages/taco/src/primitives/Table/Core/Table.js.map +1 -1
  438. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/Body.js +25 -22
  439. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/Body.js.map +1 -1
  440. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/EmptyStateBody.js +7 -7
  441. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/EmptyStateBody.js.map +1 -1
  442. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/util.js +30 -14
  443. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/util.js.map +1 -1
  444. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.js +18 -19
  445. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.js.map +1 -1
  446. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js +34 -34
  447. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js.map +1 -1
  448. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/Cell.js +10 -12
  449. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/Cell.js.map +1 -1
  450. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/util.js +19 -18
  451. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/util.js.map +1 -1
  452. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Actions.js +42 -40
  453. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Actions.js.map +1 -1
  454. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Drag.js +5 -7
  455. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Drag.js.map +1 -1
  456. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Expansion.js +19 -24
  457. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Expansion.js.map +1 -1
  458. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js +60 -56
  459. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js.map +1 -1
  460. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Footer.js +27 -23
  461. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Footer.js.map +1 -1
  462. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Summary.js +16 -17
  463. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Summary.js.map +1 -1
  464. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/Header.js +86 -87
  465. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/Header.js.map +1 -1
  466. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Goto.js +14 -11
  467. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Goto.js.map +1 -1
  468. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Menu.js +85 -58
  469. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Menu.js.map +1 -1
  470. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Resizer.js +18 -20
  471. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Resizer.js.map +1 -1
  472. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/SortIndicator.js +3 -3
  473. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/SortIndicator.js.map +1 -1
  474. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/util.js +11 -6
  475. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/util.js.map +1 -1
  476. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js +58 -49
  477. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js.map +1 -1
  478. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js +41 -43
  479. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js.map +1 -1
  480. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/Row.js +61 -19
  481. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/Row.js.map +1 -1
  482. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/RowContext.js +1 -1
  483. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/RowContext.js.map +1 -1
  484. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/Toolbar.js +11 -11
  485. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/Toolbar.js.map +1 -1
  486. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/FilterContext.js +1 -1
  487. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/FilterContext.js.map +1 -1
  488. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/Filters.js +23 -22
  489. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/Filters.js.map +1 -1
  490. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js +54 -39
  491. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js.map +1 -1
  492. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js +39 -37
  493. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js.map +1 -1
  494. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.js +20 -16
  495. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.js.map +1 -1
  496. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.js +16 -15
  497. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.js.map +1 -1
  498. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.js +50 -41
  499. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.js.map +1 -1
  500. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/util.js +13 -9
  501. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/util.js.map +1 -1
  502. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Print/Print.js +59 -51
  503. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Print/Print.js.map +1 -1
  504. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.js +71 -67
  505. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.js.map +1 -1
  506. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Search/Search.js +60 -34
  507. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Search/Search.js.map +1 -1
  508. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js +64 -44
  509. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js.map +1 -1
  510. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js +62 -51
  511. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js.map +1 -1
  512. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableGlobalShortcuts.js +7 -7
  513. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableGlobalShortcuts.js.map +1 -1
  514. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRef.js +13 -5
  515. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRef.js.map +1 -1
  516. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js +122 -79
  517. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js.map +1 -1
  518. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyle.js +15 -15
  519. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyle.js.map +1 -1
  520. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleColumnFreezing.js +31 -41
  521. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleColumnFreezing.js.map +1 -1
  522. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleGrid.js +31 -30
  523. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleGrid.js.map +1 -1
  524. package/dist/esm/packages/taco/src/primitives/Table/Core/listeners/useTableRowActiveListener.js +3 -3
  525. package/dist/esm/packages/taco/src/primitives/Table/Core/listeners/useTableRowActiveListener.js.map +1 -1
  526. package/dist/esm/packages/taco/src/primitives/Table/Core/useTable.js +14 -15
  527. package/dist/esm/packages/taco/src/primitives/Table/Core/useTable.js.map +1 -1
  528. package/dist/esm/packages/taco/src/primitives/Table/Core/util/rows.js +2 -2
  529. package/dist/esm/packages/taco/src/primitives/Table/Core/util/rows.js.map +1 -1
  530. package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -1
  531. package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader.js +47 -43
  532. package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader.js.map +1 -1
  533. package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader2.js +231 -0
  534. package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader2.js.map +1 -0
  535. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableColumnFreezing.js +11 -6
  536. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableColumnFreezing.js.map +1 -1
  537. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableColumnOrdering.js +5 -2
  538. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableColumnOrdering.js.map +1 -1
  539. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableFontSize.js +15 -5
  540. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableFontSize.js.map +1 -1
  541. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableFooter.js +5 -2
  542. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableFooter.js.map +1 -1
  543. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTablePrinting.js +26 -16
  544. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTablePrinting.js.map +1 -1
  545. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActions.js +9 -3
  546. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActions.js.map +1 -1
  547. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActive.js +43 -24
  548. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActive.js.map +1 -1
  549. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowClick.js +9 -6
  550. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowClick.js.map +1 -1
  551. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowDrag.js +9 -4
  552. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowDrag.js.map +1 -1
  553. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowDrop.js +5 -2
  554. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowDrop.js.map +1 -1
  555. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowExpansion.js +9 -3
  556. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowExpansion.js.map +1 -1
  557. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowGoto.js +5 -2
  558. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowGoto.js.map +1 -1
  559. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowGroups.js +1 -1
  560. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowGroups.js.map +1 -1
  561. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowHeight.js +15 -5
  562. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowHeight.js.map +1 -1
  563. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowSelection.js +14 -9
  564. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowSelection.js.map +1 -1
  565. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSearch.js +26 -13
  566. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSearch.js.map +1 -1
  567. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableServerLoading.js +43 -20
  568. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableServerLoading.js.map +1 -1
  569. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSettings.js +34 -24
  570. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSettings.js.map +1 -1
  571. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableDataListener.js +4 -4
  572. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableDataListener.js.map +1 -1
  573. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFilterListener.js +5 -3
  574. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFilterListener.js.map +1 -1
  575. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js +20 -16
  576. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js.map +1 -1
  577. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableRowHeightListener.js +2 -2
  578. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableRowHeightListener.js.map +1 -1
  579. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js +8 -6
  580. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js.map +1 -1
  581. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSearchListener.js +17 -16
  582. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSearchListener.js.map +1 -1
  583. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.js +8 -4
  584. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.js.map +1 -1
  585. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSettingsListener.js +8 -6
  586. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSettingsListener.js.map +1 -1
  587. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableShortcutsListener.js +17 -17
  588. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableShortcutsListener.js.map +1 -1
  589. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSortingListener.js +2 -2
  590. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSortingListener.js.map +1 -1
  591. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js +56 -56
  592. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js.map +1 -1
  593. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/columns.js +61 -29
  594. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/columns.js.map +1 -1
  595. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/dataTypes.js +8 -8
  596. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/dataTypes.js.map +1 -1
  597. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/filtering.js +33 -19
  598. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/filtering.js.map +1 -1
  599. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/presets.js +11 -11
  600. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/presets.js.map +1 -1
  601. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js +24 -20
  602. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js.map +1 -1
  603. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/settings.js +6 -7
  604. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/settings.js.map +1 -1
  605. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js +145 -107
  606. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -1
  607. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/sorting.js +3 -1
  608. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/sorting.js.map +1 -1
  609. package/dist/esm/packages/taco/src/types.js +1 -1
  610. package/dist/esm/packages/taco/src/types.js.map +1 -1
  611. package/dist/esm/packages/taco/src/utils/aria.js +2 -2
  612. package/dist/esm/packages/taco/src/utils/aria.js.map +1 -1
  613. package/dist/esm/packages/taco/src/utils/date.js +47 -23
  614. package/dist/esm/packages/taco/src/utils/date.js.map +1 -1
  615. package/dist/esm/packages/taco/src/utils/debounce.js +10 -4
  616. package/dist/esm/packages/taco/src/utils/debounce.js.map +1 -1
  617. package/dist/esm/packages/taco/src/utils/device.js +4 -2
  618. package/dist/esm/packages/taco/src/utils/device.js.map +1 -1
  619. package/dist/esm/packages/taco/src/utils/dom.js +29 -23
  620. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  621. package/dist/esm/packages/taco/src/utils/hooks/useDraggable.js +40 -38
  622. package/dist/esm/packages/taco/src/utils/hooks/useDraggable.js.map +1 -1
  623. package/dist/esm/packages/taco/src/utils/hooks/useDropTarget.js +9 -7
  624. package/dist/esm/packages/taco/src/utils/hooks/useDropTarget.js.map +1 -1
  625. package/dist/esm/packages/taco/src/utils/hooks/useListKeyboardNavigation.js +20 -9
  626. package/dist/esm/packages/taco/src/utils/hooks/useListKeyboardNavigation.js.map +1 -1
  627. package/dist/esm/packages/taco/src/utils/hooks/useListScrollTo.js +9 -9
  628. package/dist/esm/packages/taco/src/utils/hooks/useListScrollTo.js.map +1 -1
  629. package/dist/esm/packages/taco/src/utils/hooks/useOnClickOutside.js +8 -6
  630. package/dist/esm/packages/taco/src/utils/hooks/useOnClickOutside.js.map +1 -1
  631. package/dist/esm/packages/taco/src/utils/hooks/useTimer.js +16 -11
  632. package/dist/esm/packages/taco/src/utils/hooks/useTimer.js.map +1 -1
  633. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js +11 -6
  634. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js.map +1 -1
  635. package/dist/esm/packages/taco/src/utils/input.js +10 -7
  636. package/dist/esm/packages/taco/src/utils/input.js.map +1 -1
  637. package/dist/esm/packages/taco/src/utils/keyboard.js +10 -7
  638. package/dist/esm/packages/taco/src/utils/keyboard.js.map +1 -1
  639. package/dist/esm/packages/taco/src/utils/mergeRefs.js +2 -2
  640. package/dist/esm/packages/taco/src/utils/mergeRefs.js.map +1 -1
  641. package/dist/esm/packages/taco/src/utils/tailwind.js +5 -5
  642. package/dist/esm/packages/taco/src/utils/tailwind.js.map +1 -1
  643. package/dist/esm/packages/taco/tailwind.colors.js +1 -1
  644. package/dist/esm/packages/taco/tailwind.colors.js.map +1 -1
  645. package/dist/hooks/useLazyDebouncedEffect.d.ts +2 -0
  646. package/dist/index.d.ts +1 -0
  647. package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.d.ts +2 -2
  648. package/dist/primitives/Table/Core/components/Row/Row.d.ts +2 -0
  649. package/dist/primitives/Table/Core/features/useTableRenderer.d.ts +1 -1
  650. package/dist/primitives/Table/types.d.ts +10 -6
  651. package/dist/primitives/Table/useTableDataLoader2.d.ts +23 -0
  652. package/dist/primitives/Table/useTableManager/features/useTableSearch.d.ts +4 -2
  653. package/dist/primitives/Table/useTableManager/features/useTableServerLoading.d.ts +4 -1
  654. package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.d.ts +1 -2
  655. package/dist/primitives/Table/useTableManager/util/columns.d.ts +2 -1
  656. package/dist/taco.cjs.development.js +8213 -6946
  657. package/dist/taco.cjs.development.js.map +1 -1
  658. package/dist/taco.cjs.production.min.js +1 -1
  659. package/dist/taco.cjs.production.min.js.map +1 -1
  660. package/package.json +2 -3
@@ -1 +1 @@
1
- {"version":3,"file":"useTableDataLoader.js","sources":["../../../../../../../src/primitives/Table/useTableDataLoader.ts"],"sourcesContent":["import React from 'react';\nimport {\n TableColumnFilter,\n TableColumnSort,\n TableFilterHandler,\n TableServerLoadPageHandler,\n TableServerLoadAllHandler,\n TableSortHandler,\n TableSearchHandler,\n} from './types';\n\nexport const DEFAULT_PAGE_SIZE = 100;\n\nexport type useTableDataPageFetcher<TType = unknown> = (\n pageIndex: number,\n pageSize: number,\n sorting: TableColumnSort[],\n filters: TableColumnFilter[]\n) => Promise<{ data: TType[]; length: number }>;\n\nexport type useTableDataAllFetcher<TType = unknown> = (\n sorting: TableColumnSort[],\n filters: TableColumnFilter[]\n) => Promise<{ data: TType[]; length: number }>;\n\nexport type useTableDataLoaderOptions = { pageSize: number };\n\nexport type useTableDataLoaderValues<TType = unknown> = {\n data: TType[];\n length: number | undefined;\n loadAll: TableServerLoadAllHandler;\n loadPage: TableServerLoadPageHandler;\n onChangeFilter: TableFilterHandler;\n onChangeSearch: TableSearchHandler;\n onChangeSort: TableSortHandler;\n pageSize: number;\n};\n\nexport function useTableDataLoader<TType = unknown>(\n fetchPage: useTableDataPageFetcher<TType>,\n fetchAll: useTableDataAllFetcher<TType>,\n options: useTableDataLoaderOptions = { pageSize: DEFAULT_PAGE_SIZE }\n): [useTableDataLoaderValues<TType>, () => void] {\n const { pageSize } = options;\n\n // track the data length, we don't know it until the first request\n const length = React.useRef<number | undefined>(undefined);\n // data will be filled after the first request, then we'll update values in place\n const [data, setData] = React.useState<any[]>([]);\n // track which pages have been loaded to dedupe requests\n const _pendingPageRequests = React.useRef({});\n const _lastUsedSorting = React.useRef<TableColumnSort[]>([]);\n const _lastUsedFilters = React.useRef<TableColumnFilter[]>([]);\n const _lastUsedSearch = React.useRef<string>();\n const _lastUsedPageIndex = React.useRef<number>();\n const _forceReset = React.useRef(false);\n\n const loadPage = async (pageIndex: number, sorting: TableColumnSort[], filters: TableColumnFilter[]) => {\n let reset = false;\n\n // sorting or filters changed, reset everything\n if (\n _forceReset.current ||\n JSON.stringify(sorting) !== JSON.stringify(_lastUsedSorting.current) ||\n JSON.stringify(filters) !== JSON.stringify(_lastUsedFilters.current)\n ) {\n _pendingPageRequests.current = {};\n // nuke the dataset so that we \"start again\" after sorting\n reset = true;\n }\n\n if (_pendingPageRequests.current[pageIndex]) {\n // if page is already loaded/loading, abort, otherwise mark it as loading\n return;\n } else {\n _pendingPageRequests.current[pageIndex] = true;\n }\n\n _forceReset.current = false;\n // set the last page loaded (or tried to load), so that we can load it back again after resets\n _lastUsedPageIndex.current = pageIndex;\n // set the sorting so we can track if it changed between loads\n _lastUsedSorting.current = sorting;\n // set the filters so we can track if it changed between loads\n _lastUsedFilters.current = filters;\n\n try {\n const response = await fetchPage(pageIndex, pageSize, sorting, filters);\n\n // update state, here we do some \"magic\" to support \"load in place\"\n setData(currentData => {\n let nextData;\n\n // reset table state if:\n // - the length isn't set at all (first load)\n // - the client length and server length are different (the data changed)\n if (reset || length.current !== response.length) {\n length.current = response.length;\n nextData = Array(length.current).fill(undefined);\n } else {\n nextData = [...currentData];\n }\n\n const startIndex = pageIndex * pageSize;\n nextData.splice(startIndex, pageSize, ...response.data);\n return nextData;\n });\n } catch {\n //\n } finally {\n _pendingPageRequests.current[pageIndex] = false;\n }\n };\n\n const loadAll = async (sorting: TableColumnSort[], filters: TableColumnFilter[]) => {\n // set the sorting so we can track if it changed between loads\n _lastUsedSorting.current = sorting;\n // set the filters so we can track if it changed between loads\n _lastUsedFilters.current = filters;\n\n try {\n const response = await fetchAll(sorting, filters);\n length.current = response.length;\n\n setData(() => {\n let nextData;\n\n if (response.data.length !== response.length) {\n nextData = Array(response.length).fill(undefined);\n nextData.splice(0, response.data.length, ...response.data);\n } else {\n nextData = [...response.data];\n }\n\n return nextData;\n });\n } catch {\n //\n }\n };\n\n const invalidate = async () => {\n // empties the entire data array\n _forceReset.current = true;\n\n if (_lastUsedSearch.current) {\n // we're searching, which means we need to refetch all with the correct sorting applied\n return loadAll(_lastUsedSorting.current, _lastUsedFilters.current);\n } else {\n // load the last page that we scrolled to\n return loadPage(_lastUsedPageIndex.current ?? 0, _lastUsedSorting.current, _lastUsedFilters.current);\n }\n };\n\n // search works client side - it fetches all then works client side - so these handlers are a little \"weird\"\n // if a search is currently \"active\", we need to re load all because\n const handleSort = async (sorting: TableColumnSort[]) => {\n if (_lastUsedSearch.current) {\n // we're searching, which means we need to refetch all with the correct sorting applied\n loadAll(sorting, _lastUsedFilters.current);\n } else {\n // load the last page that we scrolled to\n loadPage(_lastUsedPageIndex.current ?? 0, sorting, _lastUsedFilters.current);\n }\n };\n const handleFilter = async (filters: TableColumnFilter[]) => {\n if (_lastUsedSearch.current) {\n // we're searching, which means we need to refetch all with the correct sorting applied\n loadAll(_lastUsedSorting.current, filters);\n } else {\n // load the last page that we scrolled to\n loadPage(_lastUsedPageIndex.current ?? 0, _lastUsedSorting.current, filters);\n }\n };\n const handleSearch = async (search: string | undefined) => {\n // set the search so we can track if it changed between loads\n _lastUsedSearch.current = search || undefined;\n // search works client side, and focusing the search field triggers a load of all so we don't actually\n // want to load anything when search gets changed, we just store the value for other handlers\n };\n\n return [\n {\n data,\n length: length.current,\n loadAll,\n loadPage,\n onChangeFilter: handleFilter,\n onChangeSearch: handleSearch,\n onChangeSort: handleSort,\n pageSize,\n },\n invalidate,\n ];\n}\n"],"names":["DEFAULT_PAGE_SIZE","useTableDataLoader","fetchPage","fetchAll","options","pageSize","length","React","useRef","undefined","data","setData","useState","_pendingPageRequests","_lastUsedSorting","_lastUsedFilters","_lastUsedSearch","_lastUsedPageIndex","_forceReset","loadPage","pageIndex","sorting","filters","reset","current","JSON","stringify","Promise","resolve","_temp","_finallyRethrows","_catch","then","response","currentData","nextData","Array","fill","startIndex","splice","_wasThrown","_result","e","reject","loadAll","_temp2","invalidate","_lastUsedPageIndex$cu","handleSort","_lastUsedPageIndex$cu2","handleFilter","_lastUsedPageIndex$cu3","handleSearch","search","onChangeFilter","onChangeSearch","onChangeSort"],"mappings":"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"}
1
+ {"version":3,"file":"useTableDataLoader.js","sources":["../../../../../../../src/primitives/Table/useTableDataLoader.ts"],"sourcesContent":["import React from 'react';\nimport {\n TableColumnFilter,\n TableColumnSort,\n TableFilterHandler,\n TableServerLoadPageHandler,\n TableServerLoadAllHandler,\n TableSortHandler,\n TableSearchHandler,\n} from './types';\n\nexport const DEFAULT_PAGE_SIZE = 100;\n\nexport type useTableDataPageFetcher<TType = unknown> = (\n pageIndex: number,\n pageSize: number,\n sorting: TableColumnSort[],\n filters: TableColumnFilter[]\n) => Promise<{ data: TType[]; length: number }>;\n\nexport type useTableDataAllFetcher<TType = unknown> = (\n sorting: TableColumnSort[],\n filters: TableColumnFilter[]\n) => Promise<{ data: TType[]; length: number }>;\n\nexport type useTableDataLoaderOptions = { pageSize: number };\n\nexport type useTableDataLoaderValues<TType = unknown> = {\n data: TType[];\n length: number | undefined;\n loadAll: TableServerLoadAllHandler;\n loadPage: TableServerLoadPageHandler;\n onChangeFilter: TableFilterHandler;\n onChangeSearch: TableSearchHandler;\n onChangeSort: TableSortHandler;\n pageSize: number;\n};\n\nexport function useTableDataLoader<TType = unknown>(\n fetchPage: useTableDataPageFetcher<TType>,\n fetchAll: useTableDataAllFetcher<TType>,\n options: useTableDataLoaderOptions = { pageSize: DEFAULT_PAGE_SIZE }\n): [useTableDataLoaderValues<TType>, () => void] {\n const { pageSize } = options;\n\n // track the data length, we don't know it until the first request\n const length = React.useRef<number | undefined>(undefined);\n // data will be filled after the first request, then we'll update values in place\n const [data, setData] = React.useState<TType[]>([]);\n // track which pages have been loaded to dedupe requests\n const _pendingPageRequests = React.useRef({});\n const _lastUsedSorting = React.useRef<TableColumnSort[]>([]);\n const _lastUsedFilters = React.useRef<TableColumnFilter[]>([]);\n const _lastUsedSearch = React.useRef<string>();\n const _lastUsedPageIndex = React.useRef<number>();\n const _forceReset = React.useRef(false);\n\n const loadPage = async (pageIndex: number, sorting: TableColumnSort[], filters: TableColumnFilter[]) => {\n let reset = false;\n\n // sorting or filters changed, reset everything\n if (\n _forceReset.current ||\n JSON.stringify(sorting) !== JSON.stringify(_lastUsedSorting.current) ||\n JSON.stringify(filters) !== JSON.stringify(_lastUsedFilters.current)\n ) {\n _pendingPageRequests.current = {};\n // nuke the dataset so that we \"start again\" after sorting\n reset = true;\n }\n\n if (_pendingPageRequests.current[pageIndex]) {\n // if page is already loaded/loading, abort, otherwise mark it as loading\n return;\n } else {\n _pendingPageRequests.current[pageIndex] = true;\n }\n\n _forceReset.current = false;\n // set the last page loaded (or tried to load), so that we can load it back again after resets\n _lastUsedPageIndex.current = pageIndex;\n // set the sorting so we can track if it changed between loads\n _lastUsedSorting.current = sorting;\n // set the filters so we can track if it changed between loads\n _lastUsedFilters.current = filters;\n\n try {\n const response = await fetchPage(pageIndex, pageSize, sorting, filters);\n\n // update state, here we do some \"magic\" to support \"load in place\"\n setData(currentData => {\n let nextData;\n\n // reset table state if:\n // - the length isn't set at all (first load)\n // - the client length and server length are different (the data changed)\n if (reset || length.current !== response.length) {\n length.current = response.length;\n nextData = Array(length.current).fill(undefined);\n } else {\n nextData = ([] as TType[]).concat(currentData);\n }\n\n const startIndex = pageIndex * pageSize;\n nextData.splice(startIndex, pageSize, ...response.data);\n return nextData;\n });\n } catch {\n //\n } finally {\n _pendingPageRequests.current[pageIndex] = false;\n }\n };\n\n const loadAll = async (sorting: TableColumnSort[], filters: TableColumnFilter[]) => {\n // set the sorting so we can track if it changed between loads\n _lastUsedSorting.current = sorting;\n // set the filters so we can track if it changed between loads\n _lastUsedFilters.current = filters;\n\n try {\n const response = await fetchAll(sorting, filters);\n length.current = response.length;\n\n setData(() => {\n let nextData;\n\n if (response.data.length !== response.length) {\n nextData = Array(response.length).fill(undefined);\n nextData.splice(0, response.data.length, ...response.data);\n } else {\n nextData = [...response.data];\n }\n\n return nextData;\n });\n } catch {\n //\n }\n };\n\n const invalidate = async () => {\n // empties the entire data array\n _forceReset.current = true;\n\n if (_lastUsedSearch.current) {\n // we're searching, which means we need to refetch all with the correct sorting applied\n return loadAll(_lastUsedSorting.current, _lastUsedFilters.current);\n } else {\n // load the last page that we scrolled to\n return loadPage(_lastUsedPageIndex.current ?? 0, _lastUsedSorting.current, _lastUsedFilters.current);\n }\n };\n\n // search works client side - it fetches all then works client side - so these handlers are a little \"weird\"\n // if a search is currently \"active\", we need to re load all because\n const handleSort = async (sorting: TableColumnSort[]) => {\n if (_lastUsedSearch.current) {\n // we're searching, which means we need to refetch all with the correct sorting applied\n return loadAll(sorting, _lastUsedFilters.current);\n } else {\n // load the last page that we scrolled to\n return loadPage(_lastUsedPageIndex.current ?? 0, sorting, _lastUsedFilters.current);\n }\n };\n const handleFilter = async (filters: TableColumnFilter[]) => {\n if (_lastUsedSearch.current) {\n // we're searching, which means we need to refetch all with the correct sorting applied\n return loadAll(_lastUsedSorting.current, filters);\n } else {\n // load the last page that we scrolled to\n return loadPage(_lastUsedPageIndex.current ?? 0, _lastUsedSorting.current, filters);\n }\n };\n const handleSearch = async (search: string | undefined) => {\n // set the search so we can track if it changed between loads\n _lastUsedSearch.current = search || undefined;\n // search works client side, and focusing the search field triggers a load of all so we don't actually\n // want to load anything when search gets changed, we just store the value for other handlers\n };\n\n return [\n {\n data,\n length: length.current,\n loadAll,\n loadPage,\n onChangeFilter: handleFilter,\n onChangeSearch: handleSearch,\n onChangeSort: handleSort,\n pageSize,\n },\n invalidate,\n ];\n}\n"],"names":["DEFAULT_PAGE_SIZE","useTableDataLoader","fetchPage","fetchAll","options","pageSize","_options","length","React","useRef","undefined","_React$useState","useState","data","setData","_pendingPageRequests","_lastUsedSorting","_lastUsedFilters","_lastUsedSearch","_lastUsedPageIndex","_forceReset","loadPage","pageIndex","sorting","filters","reset","current","JSON","stringify","Promise","resolve","_temp","_finallyRethrows","_catch","then","response","currentData","nextData","Array","fill","concat","startIndex","_nextData","splice","apply","_wasThrown","_result","e","reject","loadAll","_temp2","_nextData2","invalidate","_lastUsedPageIndex$cu","handleSort","_lastUsedPageIndex$cu2","handleFilter","_lastUsedPageIndex$cu3","handleSearch","search","onChangeFilter","onChangeSearch","onChangeSort"],"mappings":"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"}
@@ -0,0 +1,231 @@
1
+ import React__default from 'react';
2
+ import { extends as _extends } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
3
+ import { v4 } from 'uuid';
4
+ import { _catch, _finallyRethrows } from '../../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js';
5
+ import { DEFAULT_PAGE_SIZE } from './useTableDataLoader.js';
6
+
7
+ var DATASET_SIZE_MULTIPLIER = 15;
8
+ function useTableDataLoader2(fetchPage, fetchAll, options) {
9
+ var loadPage = function loadPage(pageIndex, sorting, filters, search, hiddenColumns, reset) {
10
+ if (reset === void 0) {
11
+ reset = false;
12
+ }
13
+ try {
14
+ // if a request is already pending for this page (and it's not a reset), skip it
15
+ if (_pendingPageRequests.current[pageIndex] && !reset) {
16
+ return Promise.resolve();
17
+ }
18
+ var hasChangedData = JSON.stringify(sorting) !== JSON.stringify(_lastUsedSorting.current) || JSON.stringify(filters) !== JSON.stringify(_lastUsedFilters.current) || search !== _lastUsedSearch.current;
19
+ // if the page is already loaded and has actual rows, abort
20
+ if (data.cache[pageIndex] && data.cache[pageIndex][0] && !hasChangedData && !reset) {
21
+ return Promise.resolve();
22
+ }
23
+ // create an id to track the update
24
+ var requestId = v4();
25
+ // set the page as loading, so that subsequent requests don't retrigger it
26
+ _pendingPageRequests.current[pageIndex] = true;
27
+ var _temp2 = _catch(function () {
28
+ _lastRequestId.current = requestId;
29
+ return Promise.resolve(fetchPage(pageIndex, pageSize, sorting, filters, search, hiddenColumns)).then(function (response) {
30
+ length.current = response.length;
31
+ // update state, here we do some "magic" to support "load in place"
32
+ setData(function (currentData) {
33
+ // if this request wasn't the last one, just return the current state to prevent weird updates
34
+ if (_lastRequestId.current !== requestId) {
35
+ return currentData;
36
+ }
37
+ var direction = getDirection(pageIndex, currentData.pages);
38
+ var nextPages = getPages(pageIndex, currentData.lastFetchedPage, reset ? [] : currentData.pages, direction);
39
+ // set values so we can track if they changed between loads
40
+ _lastUsedSorting.current = sorting;
41
+ _lastUsedFilters.current = filters;
42
+ _lastUsedSearch.current = search;
43
+ _lastUsedHiddenColumns.current = hiddenColumns;
44
+ // cache data as an object to prevent any duplicates for pages
45
+ var nextCache;
46
+ if (reset || hasChangedData || !direction) {
47
+ nextCache = nextPages.reduce(function (acc, p) {
48
+ var _extends2;
49
+ return _extends({}, acc, (_extends2 = {}, _extends2[p] = Array(pageSize).fill(undefined), _extends2));
50
+ }, {});
51
+ } else {
52
+ nextCache = _extends({}, currentData.cache);
53
+ }
54
+ nextCache[pageIndex] = response.data;
55
+ // cleanup "unloaded" pages
56
+ if (direction === 'forward' && currentData.rows.length >= DATASET_SIZE) {
57
+ delete nextCache[currentData.pages[0]];
58
+ } else if (direction === 'backward' && currentData.rows.length >= DATASET_SIZE) {
59
+ delete nextCache[currentData.pages[currentData.pages.length - 1]];
60
+ }
61
+ // remap rows from the cached data - do it here and not in render to save some performance
62
+ var rows = Object.values(nextCache).reduce(function (acc, p) {
63
+ return acc.concat(p);
64
+ }, []);
65
+ return {
66
+ cache: nextCache,
67
+ pages: nextPages,
68
+ rows: rows,
69
+ lastFetchedPage: pageIndex
70
+ };
71
+ });
72
+ // reset pending requests
73
+ delete _pendingPageRequests.current[pageIndex];
74
+ });
75
+ }, function () {});
76
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
77
+ } catch (e) {
78
+ return Promise.reject(e);
79
+ }
80
+ };
81
+ if (options === void 0) {
82
+ options = {
83
+ pageSize: DEFAULT_PAGE_SIZE
84
+ };
85
+ }
86
+ var _options = options,
87
+ pageSize = _options.pageSize;
88
+ var DATASET_SIZE = DATASET_SIZE_MULTIPLIER * pageSize;
89
+ // track the data length, we don't know it until the first request
90
+ var length = React__default.useRef(0);
91
+ // data will be filled after the first request
92
+ var _React$useState = React__default.useState({
93
+ rows: [],
94
+ pages: [],
95
+ cache: {},
96
+ lastFetchedPage: undefined
97
+ }),
98
+ data = _React$useState[0],
99
+ setData = _React$useState[1];
100
+ // track which pages have been loaded to dedupe requests
101
+ var _pendingPageRequests = React__default.useRef({});
102
+ // it's possible to spam updates, e.g. sort, so we don't set state if the last request wasn't the current oen
103
+ var _lastRequestId = React__default.useRef();
104
+ // store last used properties
105
+ var _lastUsedSorting = React__default.useRef([]);
106
+ var _lastUsedFilters = React__default.useRef([]);
107
+ var _lastUsedSearch = React__default.useRef();
108
+ var _lastUsedHiddenColumns = React__default.useRef([]);
109
+ var loadAll = function loadAll(sorting, filters, search, hiddenColumns) {
110
+ try {
111
+ // set values so we can track if they changed between loads
112
+ _lastUsedSorting.current = sorting;
113
+ _lastUsedFilters.current = filters;
114
+ _lastUsedSearch.current = search;
115
+ _lastUsedHiddenColumns.current = hiddenColumns;
116
+ var _temp = _finallyRethrows(function () {
117
+ return _catch(function () {
118
+ return Promise.resolve(fetchAll(sorting, filters, search, hiddenColumns)).then(function (response) {
119
+ length.current = response.length;
120
+ var pages = [];
121
+ var cache = {};
122
+ Array.from(Array(response.length / pageSize).keys()).forEach(function (index) {
123
+ pages.push(index);
124
+ var startIndex = index * pageSize;
125
+ cache[index] = response.data.slice(startIndex, startIndex + pageSize);
126
+ });
127
+ setData({
128
+ cache: cache,
129
+ pages: pages,
130
+ rows: response.data,
131
+ lastFetchedPage: undefined
132
+ });
133
+ });
134
+ }, function () {});
135
+ }, function (_wasThrown, _result) {
136
+ // reset pending requests
137
+ _pendingPageRequests.current = {};
138
+ if (_wasThrown) throw _result;
139
+ return _result;
140
+ });
141
+ return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
142
+ } catch (e) {
143
+ return Promise.reject(e);
144
+ }
145
+ };
146
+ var invalidate = function invalidate() {
147
+ try {
148
+ // reset stuff
149
+ _pendingPageRequests.current = {};
150
+ // load the current page again
151
+ return loadPage(getCurrentPage(data.pages), _lastUsedSorting.current, _lastUsedFilters.current, _lastUsedSearch.current, _lastUsedHiddenColumns.current, true);
152
+ } catch (e) {
153
+ return Promise.reject(e);
154
+ }
155
+ };
156
+ var handleSort = function handleSort(sorting) {
157
+ try {
158
+ // reset before loading the current page
159
+ _pendingPageRequests.current = {};
160
+ return loadPage(getCurrentPage(data.pages), sorting, _lastUsedFilters.current, _lastUsedSearch.current, _lastUsedHiddenColumns.current, true);
161
+ } catch (e) {
162
+ return Promise.reject(e);
163
+ }
164
+ };
165
+ var handleFilter = function handleFilter(filters, hiddenColumns) {
166
+ try {
167
+ // reset before loading the current page
168
+ _pendingPageRequests.current = {};
169
+ return loadPage(0, _lastUsedSorting.current, filters, _lastUsedSearch.current, hiddenColumns, true);
170
+ } catch (e) {
171
+ return Promise.reject(e);
172
+ }
173
+ };
174
+ var handleSearch = function handleSearch(search, hiddenColumns) {
175
+ try {
176
+ // reset before loading the current page
177
+ _pendingPageRequests.current = {};
178
+ return loadPage(0, _lastUsedSorting.current, _lastUsedFilters.current, search, hiddenColumns, true);
179
+ } catch (e) {
180
+ return Promise.reject(e);
181
+ }
182
+ };
183
+ return [{
184
+ data: data.rows,
185
+ pages: data.pages,
186
+ length: length.current,
187
+ loadAll: loadAll,
188
+ loadPage: loadPage,
189
+ onChangeFilter: handleFilter,
190
+ onChangeSearch: handleSearch,
191
+ onChangeSort: handleSort,
192
+ pageSize: pageSize,
193
+ _experimentalDataLoader2: true
194
+ }, invalidate];
195
+ }
196
+ function getCurrentPage(currentPages) {
197
+ if (currentPages.length <= 2) {
198
+ return currentPages[0];
199
+ }
200
+ // for even page lengths we can't know which is the current visible page - it could even be both
201
+ // so we load one of them and rely on the "load next/previous page" functionality in row
202
+ var middle = Math.floor(currentPages.length / 2);
203
+ return currentPages[middle];
204
+ }
205
+ function getDirection(pageIndex, currentPages) {
206
+ if (currentPages.length) {
207
+ if (pageIndex === currentPages[currentPages.length - 1] + 1) {
208
+ return 'forward';
209
+ } else if (pageIndex === currentPages[0] - 1 || currentPages.length === 2 && currentPages[0] !== 0 && pageIndex === currentPages[0]) {
210
+ return 'backward';
211
+ }
212
+ }
213
+ return undefined;
214
+ }
215
+ function getPages(pageIndex, lastUsedPageIndex, currentPages, direction) {
216
+ if (currentPages.length && (pageIndex === lastUsedPageIndex || currentPages.includes(pageIndex))) {
217
+ return currentPages;
218
+ }
219
+ if (direction === 'forward') {
220
+ var nextPages = currentPages.length === DATASET_SIZE_MULTIPLIER ? currentPages.slice(1) : currentPages;
221
+ return nextPages.concat(pageIndex);
222
+ }
223
+ if (direction === 'backward') {
224
+ var _nextPages = currentPages.length === DATASET_SIZE_MULTIPLIER ? currentPages.slice(0, -1) : currentPages;
225
+ return [pageIndex].concat(_nextPages);
226
+ }
227
+ return [pageIndex];
228
+ }
229
+
230
+ export { useTableDataLoader2 };
231
+ //# sourceMappingURL=useTableDataLoader2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableDataLoader2.js","sources":["../../../../../../../src/primitives/Table/useTableDataLoader2.ts"],"sourcesContent":["import React from 'react';\nimport { v4 as uuid } from 'uuid';\nimport {\n TableColumnFilter,\n TableColumnSort,\n TableFilterHandler,\n TableServerLoadPageHandler,\n TableServerLoadAllHandler,\n TableSortHandler,\n TableSearchHandler,\n} from './types';\nimport { DEFAULT_PAGE_SIZE, useTableDataLoaderOptions } from './useTableDataLoader';\n\nconst DATASET_SIZE_MULTIPLIER = 15;\n\nexport type useTableDataPageFetcher2<TType = unknown> = (\n pageIndex: number,\n pageSize: number,\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined,\n hiddenColumns: string[]\n) => Promise<{ data: TType[]; length: number }>;\n\nexport type useTableDataAllFetcher2<TType = unknown> = (\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined,\n hiddenColumns: string[]\n) => Promise<{ data: TType[]; length: number }>;\n\nexport type useTableDataLoaderValues2<TType = unknown> = {\n data: TType[];\n length: number | undefined;\n loadAll: TableServerLoadAllHandler;\n loadPage: TableServerLoadPageHandler;\n onChangeFilter: TableFilterHandler;\n onChangeSearch: TableSearchHandler;\n onChangeSort: TableSortHandler;\n pageSize: number;\n pages: number[];\n _experimentalDataLoader2: boolean;\n};\n\ntype Data<TType = unknown> = {\n rows: TType[];\n pages: number[];\n cache: Record<number, TType[]>;\n lastFetchedPage: number | undefined;\n};\ntype Direction = 'forward' | 'backward' | undefined;\n\nexport function useTableDataLoader2<TType = unknown>(\n fetchPage: useTableDataPageFetcher2<TType>,\n fetchAll: useTableDataAllFetcher2<TType>,\n options: useTableDataLoaderOptions = { pageSize: DEFAULT_PAGE_SIZE }\n): [useTableDataLoaderValues2<TType>, () => void] {\n const { pageSize } = options;\n const DATASET_SIZE = DATASET_SIZE_MULTIPLIER * pageSize;\n\n // track the data length, we don't know it until the first request\n const length = React.useRef<number>(0);\n // data will be filled after the first request\n const [data, setData] = React.useState<Data<TType>>({ rows: [], pages: [], cache: {}, lastFetchedPage: undefined });\n // track which pages have been loaded to dedupe requests\n const _pendingPageRequests = React.useRef({});\n // it's possible to spam updates, e.g. sort, so we don't set state if the last request wasn't the current oen\n const _lastRequestId = React.useRef<string | undefined>();\n // store last used properties\n const _lastUsedSorting = React.useRef<TableColumnSort[]>([]);\n const _lastUsedFilters = React.useRef<TableColumnFilter[]>([]);\n const _lastUsedSearch = React.useRef<string | undefined>();\n const _lastUsedHiddenColumns = React.useRef<string[]>([]);\n\n async function loadPage(\n pageIndex: number,\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined,\n hiddenColumns: string[],\n reset = false\n ) {\n // if a request is already pending for this page (and it's not a reset), skip it\n if (_pendingPageRequests.current[pageIndex] && !reset) {\n return;\n }\n\n const hasChangedData =\n JSON.stringify(sorting) !== JSON.stringify(_lastUsedSorting.current) ||\n JSON.stringify(filters) !== JSON.stringify(_lastUsedFilters.current) ||\n search !== _lastUsedSearch.current;\n\n // if the page is already loaded and has actual rows, abort\n if (data.cache[pageIndex] && data.cache[pageIndex][0] && !hasChangedData && !reset) {\n return;\n }\n\n // create an id to track the update\n const requestId = uuid();\n\n // set the page as loading, so that subsequent requests don't retrigger it\n _pendingPageRequests.current[pageIndex] = true;\n\n try {\n _lastRequestId.current = requestId;\n const response = await fetchPage(pageIndex, pageSize, sorting, filters, search, hiddenColumns);\n length.current = response.length;\n\n // update state, here we do some \"magic\" to support \"load in place\"\n setData(currentData => {\n // if this request wasn't the last one, just return the current state to prevent weird updates\n if (_lastRequestId.current !== requestId) {\n return currentData;\n }\n\n const direction = getDirection(pageIndex, currentData.pages);\n const nextPages = getPages(pageIndex, currentData.lastFetchedPage, reset ? [] : currentData.pages, direction);\n\n // set values so we can track if they changed between loads\n _lastUsedSorting.current = sorting;\n _lastUsedFilters.current = filters;\n _lastUsedSearch.current = search;\n _lastUsedHiddenColumns.current = hiddenColumns;\n\n // cache data as an object to prevent any duplicates for pages\n let nextCache: Record<number, TType[]>;\n\n if (reset || hasChangedData || !direction) {\n nextCache = nextPages.reduce((acc, p) => ({ ...acc, [p]: Array(pageSize).fill(undefined) }), {});\n } else {\n nextCache = { ...currentData.cache };\n }\n\n nextCache[pageIndex] = response.data;\n\n // cleanup \"unloaded\" pages\n if (direction === 'forward' && currentData.rows.length >= DATASET_SIZE) {\n delete nextCache[currentData.pages[0]];\n } else if (direction === 'backward' && currentData.rows.length >= DATASET_SIZE) {\n delete nextCache[currentData.pages[currentData.pages.length - 1]];\n }\n\n // remap rows from the cached data - do it here and not in render to save some performance\n const rows = Object.values(nextCache).reduce((acc, p) => acc.concat(p), []);\n\n return {\n cache: nextCache,\n pages: nextPages,\n rows: rows,\n lastFetchedPage: pageIndex,\n };\n });\n\n // reset pending requests\n delete _pendingPageRequests.current[pageIndex];\n } catch {\n //\n }\n }\n\n const loadAll = async (\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined,\n hiddenColumns: string[]\n ) => {\n // set values so we can track if they changed between loads\n _lastUsedSorting.current = sorting;\n _lastUsedFilters.current = filters;\n _lastUsedSearch.current = search;\n _lastUsedHiddenColumns.current = hiddenColumns;\n\n try {\n const response = await fetchAll(sorting, filters, search, hiddenColumns);\n length.current = response.length;\n\n const pages: number[] = [];\n const cache = {};\n\n Array.from(Array(response.length / pageSize).keys()).forEach(index => {\n pages.push(index);\n const startIndex = index * pageSize;\n cache[index] = response.data.slice(startIndex, startIndex + pageSize);\n });\n\n setData({\n cache,\n pages,\n rows: response.data,\n lastFetchedPage: undefined,\n });\n } catch {\n //\n } finally {\n // reset pending requests\n _pendingPageRequests.current = {};\n }\n };\n\n const invalidate = async () => {\n // reset stuff\n _pendingPageRequests.current = {};\n\n // load the current page again\n return loadPage(\n getCurrentPage(data.pages),\n _lastUsedSorting.current,\n _lastUsedFilters.current,\n _lastUsedSearch.current,\n _lastUsedHiddenColumns.current,\n true\n );\n };\n\n const handleSort = async (sorting: TableColumnSort[]) => {\n // reset before loading the current page\n _pendingPageRequests.current = {};\n\n return loadPage(\n getCurrentPage(data.pages),\n sorting,\n _lastUsedFilters.current,\n _lastUsedSearch.current,\n _lastUsedHiddenColumns.current,\n true\n );\n };\n const handleFilter = async (filters: TableColumnFilter[], hiddenColumns: string[]) => {\n // reset before loading the current page\n _pendingPageRequests.current = {};\n return loadPage(0, _lastUsedSorting.current, filters, _lastUsedSearch.current, hiddenColumns, true);\n };\n const handleSearch = async (search: string | undefined, hiddenColumns: string[]) => {\n // reset before loading the current page\n _pendingPageRequests.current = {};\n return loadPage(0, _lastUsedSorting.current, _lastUsedFilters.current, search, hiddenColumns, true);\n };\n\n return [\n {\n data: data.rows,\n pages: data.pages,\n length: length.current,\n loadAll,\n loadPage,\n onChangeFilter: handleFilter,\n onChangeSearch: handleSearch,\n onChangeSort: handleSort,\n pageSize,\n _experimentalDataLoader2: true,\n },\n invalidate,\n ];\n}\n\nfunction getCurrentPage(currentPages: number[]): number {\n if (currentPages.length <= 2) {\n return currentPages[0];\n }\n\n // for even page lengths we can't know which is the current visible page - it could even be both\n // so we load one of them and rely on the \"load next/previous page\" functionality in row\n const middle = Math.floor(currentPages.length / 2);\n return currentPages[middle];\n}\n\nfunction getDirection(pageIndex: number, currentPages: number[]): Direction {\n if (currentPages.length) {\n if (pageIndex === currentPages[currentPages.length - 1] + 1) {\n return 'forward';\n } else if (\n pageIndex === currentPages[0] - 1 ||\n (currentPages.length === 2 && currentPages[0] !== 0 && pageIndex === currentPages[0])\n ) {\n return 'backward';\n }\n }\n\n return undefined;\n}\n\nfunction getPages(pageIndex: number, lastUsedPageIndex: number | undefined, currentPages: number[], direction: Direction) {\n if (currentPages.length && (pageIndex === lastUsedPageIndex || currentPages.includes(pageIndex))) {\n return currentPages;\n }\n\n if (direction === 'forward') {\n const nextPages = currentPages.length === DATASET_SIZE_MULTIPLIER ? currentPages.slice(1) : currentPages;\n return nextPages.concat(pageIndex);\n }\n\n if (direction === 'backward') {\n const nextPages = currentPages.length === DATASET_SIZE_MULTIPLIER ? currentPages.slice(0, -1) : currentPages;\n return [pageIndex].concat(nextPages);\n }\n\n return [pageIndex];\n}\n"],"names":["DATASET_SIZE_MULTIPLIER","useTableDataLoader2","fetchPage","fetchAll","options","loadPage","pageIndex","sorting","filters","search","hiddenColumns","reset","_pendingPageRequests","current","Promise","resolve","hasChangedData","JSON","stringify","_lastUsedSorting","_lastUsedFilters","_lastUsedSearch","data","cache","requestId","uuid","_temp2","_catch","_lastRequestId","pageSize","then","response","length","setData","currentData","direction","getDirection","pages","nextPages","getPages","lastFetchedPage","_lastUsedHiddenColumns","nextCache","reduce","acc","p","_extends2","_extends","Array","fill","undefined","rows","DATASET_SIZE","Object","values","concat","e","reject","DEFAULT_PAGE_SIZE","_options","React","useRef","_React$useState","useState","loadAll","_temp","_finallyRethrows","from","keys","forEach","index","push","startIndex","slice","_wasThrown","_result","invalidate","getCurrentPage","handleSort","handleFilter","handleSearch","onChangeFilter","onChangeSearch","onChangeSort","_experimentalDataLoader2","currentPages","middle","Math","floor","lastUsedPageIndex","includes"],"mappings":"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"}
@@ -1,9 +1,14 @@
1
1
  import React__default from 'react';
2
2
 
3
3
  /* column freezing uses the native column pinning feature, this hook is really just a container for scrolled state */
4
- function useTableColumnFreezing(isEnabled = false) {
5
- const [isHorizontallyScrolled, setHorizontallyScrolled] = React__default.useState(false);
6
- const handleScroll = event => {
4
+ function useTableColumnFreezing(isEnabled) {
5
+ if (isEnabled === void 0) {
6
+ isEnabled = false;
7
+ }
8
+ var _React$useState = React__default.useState(false),
9
+ isHorizontallyScrolled = _React$useState[0],
10
+ setHorizontallyScrolled = _React$useState[1];
11
+ var handleScroll = function handleScroll(event) {
7
12
  if (event.currentTarget.scrollLeft > 0 && !isHorizontallyScrolled) {
8
13
  setHorizontallyScrolled(true);
9
14
  } else if (event.currentTarget.scrollLeft === 0 && isHorizontallyScrolled) {
@@ -11,9 +16,9 @@ function useTableColumnFreezing(isEnabled = false) {
11
16
  }
12
17
  };
13
18
  return {
14
- isEnabled,
15
- isHorizontallyScrolled,
16
- handleScroll
19
+ isEnabled: isEnabled,
20
+ isHorizontallyScrolled: isHorizontallyScrolled,
21
+ handleScroll: handleScroll
17
22
  };
18
23
  }
19
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"useTableColumnFreezing.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTableColumnFreezing.ts"],"sourcesContent":["import React from 'react';\n\n/* column freezing uses the native column pinning feature, this hook is really just a container for scrolled state */\nexport function useTableColumnFreezing(isEnabled = false) {\n const [isHorizontallyScrolled, setHorizontallyScrolled] = React.useState(false);\n\n const handleScroll = (event: React.MouseEvent<HTMLTableElement>) => {\n if (event.currentTarget.scrollLeft > 0 && !isHorizontallyScrolled) {\n setHorizontallyScrolled(true);\n } else if (event.currentTarget.scrollLeft === 0 && isHorizontallyScrolled) {\n setHorizontallyScrolled(false);\n }\n };\n\n return {\n isEnabled,\n isHorizontallyScrolled,\n handleScroll,\n };\n}\n"],"names":["useTableColumnFreezing","isEnabled","isHorizontallyScrolled","setHorizontallyScrolled","React","useState","handleScroll","event","currentTarget","scrollLeft"],"mappings":";;AAEA;SACgBA,sBAAsBA,CAACC,SAAS,GAAG,KAAK;EACpD,MAAM,CAACC,sBAAsB,EAAEC,uBAAuB,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EAE/E,MAAMC,YAAY,GAAIC,KAAyC;IAC3D,IAAIA,KAAK,CAACC,aAAa,CAACC,UAAU,GAAG,CAAC,IAAI,CAACP,sBAAsB,EAAE;MAC/DC,uBAAuB,CAAC,IAAI,CAAC;KAChC,MAAM,IAAII,KAAK,CAACC,aAAa,CAACC,UAAU,KAAK,CAAC,IAAIP,sBAAsB,EAAE;MACvEC,uBAAuB,CAAC,KAAK,CAAC;;GAErC;EAED,OAAO;IACHF,SAAS;IACTC,sBAAsB;IACtBI;GACH;AACL;;;;"}
1
+ {"version":3,"file":"useTableColumnFreezing.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTableColumnFreezing.ts"],"sourcesContent":["import React from 'react';\n\n/* column freezing uses the native column pinning feature, this hook is really just a container for scrolled state */\nexport function useTableColumnFreezing(isEnabled = false) {\n const [isHorizontallyScrolled, setHorizontallyScrolled] = React.useState(false);\n\n const handleScroll = (event: React.MouseEvent<HTMLTableElement>) => {\n if (event.currentTarget.scrollLeft > 0 && !isHorizontallyScrolled) {\n setHorizontallyScrolled(true);\n } else if (event.currentTarget.scrollLeft === 0 && isHorizontallyScrolled) {\n setHorizontallyScrolled(false);\n }\n };\n\n return {\n isEnabled,\n isHorizontallyScrolled,\n handleScroll,\n };\n}\n"],"names":["useTableColumnFreezing","isEnabled","_React$useState","React","useState","isHorizontallyScrolled","setHorizontallyScrolled","handleScroll","event","currentTarget","scrollLeft"],"mappings":";;AAEA;SACgBA,sBAAsBA,CAACC,SAAS;MAATA,SAAS;IAATA,SAAS,GAAG,KAAK;;EACpD,IAAAC,eAAA,GAA0DC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAAxEC,sBAAsB,GAAAH,eAAA;IAAEI,uBAAuB,GAAAJ,eAAA;EAEtD,IAAMK,YAAY,GAAG,SAAfA,YAAYA,CAAIC,KAAyC;IAC3D,IAAIA,KAAK,CAACC,aAAa,CAACC,UAAU,GAAG,CAAC,IAAI,CAACL,sBAAsB,EAAE;MAC/DC,uBAAuB,CAAC,IAAI,CAAC;KAChC,MAAM,IAAIE,KAAK,CAACC,aAAa,CAACC,UAAU,KAAK,CAAC,IAAIL,sBAAsB,EAAE;MACvEC,uBAAuB,CAAC,KAAK,CAAC;;GAErC;EAED,OAAO;IACHL,SAAS,EAATA,SAAS;IACTI,sBAAsB,EAAtBA,sBAAsB;IACtBE,YAAY,EAAZA;GACH;AACL;;;;"}
@@ -1,6 +1,9 @@
1
- function useTableColumnOrdering(isEnabled = false) {
1
+ function useTableColumnOrdering(isEnabled) {
2
+ if (isEnabled === void 0) {
3
+ isEnabled = false;
4
+ }
2
5
  return {
3
- isEnabled
6
+ isEnabled: isEnabled
4
7
  };
5
8
  }
6
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"useTableColumnOrdering.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTableColumnOrdering.ts"],"sourcesContent":["export function useTableColumnOrdering(isEnabled = false) {\n return {\n isEnabled,\n };\n}\n"],"names":["useTableColumnOrdering","isEnabled"],"mappings":"SAAgBA,sBAAsBA,CAACC,SAAS,GAAG,KAAK;EACpD,OAAO;IACHA;GACH;AACL;;;;"}
1
+ {"version":3,"file":"useTableColumnOrdering.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTableColumnOrdering.ts"],"sourcesContent":["export function useTableColumnOrdering(isEnabled = false) {\n return {\n isEnabled,\n };\n}\n"],"names":["useTableColumnOrdering","isEnabled"],"mappings":"SAAgBA,sBAAsBA,CAACC,SAAS;MAATA,SAAS;IAATA,SAAS,GAAG,KAAK;;EACpD,OAAO;IACHA,SAAS,EAATA;GACH;AACL;;;;"}
@@ -1,11 +1,21 @@
1
1
  import React__default from 'react';
2
2
 
3
- function useTableFontSize(isEnabled = false, defaultFontSize = 'medium') {
4
- const [size, setSize] = React__default.useState(defaultFontSize);
3
+ function useTableFontSize(isEnabled, defaultFontSize) {
4
+ if (isEnabled === void 0) {
5
+ isEnabled = false;
6
+ }
7
+ if (defaultFontSize === void 0) {
8
+ defaultFontSize = 'medium';
9
+ }
10
+ var _React$useState = React__default.useState(defaultFontSize),
11
+ size = _React$useState[0],
12
+ setSize = _React$useState[1];
5
13
  return {
6
- isEnabled,
7
- size,
8
- setSize: isEnabled ? setSize : () => undefined
14
+ isEnabled: isEnabled,
15
+ size: size,
16
+ setSize: isEnabled ? setSize : function () {
17
+ return undefined;
18
+ }
9
19
  };
10
20
  }
11
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"useTableFontSize.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTableFontSize.ts"],"sourcesContent":["import React from 'react';\nimport { FontSize } from '../../../../types';\n\nexport function useTableFontSize(isEnabled = false, defaultFontSize: FontSize = 'medium') {\n const [size, setSize] = React.useState<FontSize>(defaultFontSize);\n\n return {\n isEnabled,\n size,\n setSize: isEnabled ? setSize : () => undefined,\n };\n}\n"],"names":["useTableFontSize","isEnabled","defaultFontSize","size","setSize","React","useState","undefined"],"mappings":";;SAGgBA,gBAAgBA,CAACC,SAAS,GAAG,KAAK,EAAEC,kBAA4B,QAAQ;EACpF,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAWJ,eAAe,CAAC;EAEjE,OAAO;IACHD,SAAS;IACTE,IAAI;IACJC,OAAO,EAAEH,SAAS,GAAGG,OAAO,GAAG,MAAMG;GACxC;AACL;;;;"}
1
+ {"version":3,"file":"useTableFontSize.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTableFontSize.ts"],"sourcesContent":["import React from 'react';\nimport { FontSize } from '../../../../types';\n\nexport function useTableFontSize(isEnabled = false, defaultFontSize: FontSize = 'medium') {\n const [size, setSize] = React.useState<FontSize>(defaultFontSize);\n\n return {\n isEnabled,\n size,\n setSize: isEnabled ? setSize : () => undefined,\n };\n}\n"],"names":["useTableFontSize","isEnabled","defaultFontSize","_React$useState","React","useState","size","setSize","undefined"],"mappings":";;SAGgBA,gBAAgBA,CAACC,SAAS,EAAUC;MAAnBD,SAAS;IAATA,SAAS,GAAG,KAAK;;EAAA,IAAEC;IAAAA,kBAA4B,QAAQ;;EACpF,IAAAC,eAAA,GAAwBC,cAAK,CAACC,QAAQ,CAAWH,eAAe,CAAC;IAA1DI,IAAI,GAAAH,eAAA;IAAEI,OAAO,GAAAJ,eAAA;EAEpB,OAAO;IACHF,SAAS,EAATA,SAAS;IACTK,IAAI,EAAJA,IAAI;IACJC,OAAO,EAAEN,SAAS,GAAGM,OAAO,GAAG;MAAA,OAAMC,SAAS;;GACjD;AACL;;;;"}
@@ -1,6 +1,9 @@
1
- function useTableFooter(isEnabled = false) {
1
+ function useTableFooter(isEnabled) {
2
+ if (isEnabled === void 0) {
3
+ isEnabled = false;
4
+ }
2
5
  return {
3
- isEnabled
6
+ isEnabled: isEnabled
4
7
  };
5
8
  }
6
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"useTableFooter.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTableFooter.ts"],"sourcesContent":["export function useTableFooter(isEnabled = false) {\n return {\n isEnabled,\n };\n}\n"],"names":["useTableFooter","isEnabled"],"mappings":"SAAgBA,cAAcA,CAACC,SAAS,GAAG,KAAK;EAC5C,OAAO;IACHA;GACH;AACL;;;;"}
1
+ {"version":3,"file":"useTableFooter.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTableFooter.ts"],"sourcesContent":["export function useTableFooter(isEnabled = false) {\n return {\n isEnabled,\n };\n}\n"],"names":["useTableFooter","isEnabled"],"mappings":"SAAgBA,cAAcA,CAACC,SAAS;MAATA,SAAS;IAATA,SAAS,GAAG,KAAK;;EAC5C,OAAO;IACHA,SAAS,EAATA;GACH;AACL;;;;"}
@@ -1,33 +1,43 @@
1
1
  import React__default from 'react';
2
+ import { extends as _extends } from '../../../../../../../_virtual/_rollupPluginBabelHelpers.js';
2
3
  import { useTacoSettings } from '../../../../hooks/useTacoSettings.js';
3
4
  import { useLocalStorage } from '../../../../hooks/useLocalStorage.js';
4
5
 
5
- function useTablePrinting(isEnabled = false, tableId) {
6
- const [isPrinting, setIsPrinting] = React__default.useState(false);
7
- const [settings, setSetting] = useTablePrintingSettings(tableId);
6
+ function useTablePrinting(isEnabled, tableId) {
7
+ if (isEnabled === void 0) {
8
+ isEnabled = false;
9
+ }
10
+ var _React$useState = React__default.useState(false),
11
+ isPrinting = _React$useState[0],
12
+ setIsPrinting = _React$useState[1];
13
+ var _useTablePrintingSett = useTablePrintingSettings(tableId),
14
+ settings = _useTablePrintingSett[0],
15
+ setSetting = _useTablePrintingSett[1];
8
16
  return {
9
- isEnabled,
10
- isPrinting,
11
- setIsPrinting,
12
- settings,
13
- setSetting
17
+ isEnabled: isEnabled,
18
+ isPrinting: isPrinting,
19
+ setIsPrinting: setIsPrinting,
20
+ settings: settings,
21
+ setSetting: setSetting
14
22
  };
15
23
  }
16
- const DEFAULT_PRINT_SETTINGS = {
24
+ var DEFAULT_PRINT_SETTINGS = {
17
25
  size: 'A4',
18
26
  orientation: 'portrait',
19
27
  allRows: true,
20
28
  splitGroups: true
21
29
  };
22
30
  function useTablePrintingSettings(tableId) {
23
- const tacoSettings = useTacoSettings();
24
- const uniqueId = `taco.${tacoSettings.uniqueUserIdentifier}.table.${tableId}.print.settings`;
25
- const [persistedSettings, setPersistedSettings] = useLocalStorage(uniqueId, DEFAULT_PRINT_SETTINGS);
31
+ var tacoSettings = useTacoSettings();
32
+ var uniqueId = "taco." + tacoSettings.uniqueUserIdentifier + ".table." + tableId + ".print.settings";
33
+ var _useLocalStorage = useLocalStorage(uniqueId, DEFAULT_PRINT_SETTINGS),
34
+ persistedSettings = _useLocalStorage[0],
35
+ setPersistedSettings = _useLocalStorage[1];
26
36
  function setSetting(key, value) {
27
- setPersistedSettings(currentSettings => ({
28
- ...currentSettings,
29
- [key]: value
30
- }));
37
+ setPersistedSettings(function (currentSettings) {
38
+ var _extends2;
39
+ return _extends({}, currentSettings, (_extends2 = {}, _extends2[key] = value, _extends2));
40
+ });
31
41
  }
32
42
  return [persistedSettings, setSetting];
33
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useTablePrinting.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTablePrinting.ts"],"sourcesContent":["import React from 'react';\nimport { useTacoSettings } from '../../../../hooks/useTacoSettings';\nimport { useLocalStorage } from '../../../../hooks/useLocalStorage';\n\ntype TablePrintSettings = {\n allRows: boolean;\n orientation: 'portrait' | 'landscape';\n size: 'A3' | 'A4' | 'A5' | 'letter' | 'legal';\n splitGroups: boolean;\n};\n\nexport function useTablePrinting(isEnabled = false, tableId: string) {\n const [isPrinting, setIsPrinting] = React.useState(false);\n const [settings, setSetting] = useTablePrintingSettings(tableId);\n\n return {\n isEnabled,\n isPrinting,\n setIsPrinting,\n settings,\n setSetting,\n };\n}\n\nconst DEFAULT_PRINT_SETTINGS: TablePrintSettings = {\n size: 'A4',\n orientation: 'portrait',\n allRows: true,\n splitGroups: true,\n};\n\nfunction useTablePrintingSettings(tableId: string): [TablePrintSettings, (key: keyof TablePrintSettings, value: any) => void] {\n const tacoSettings = useTacoSettings();\n const uniqueId = `taco.${tacoSettings.uniqueUserIdentifier}.table.${tableId}.print.settings`;\n\n const [persistedSettings, setPersistedSettings] = useLocalStorage<TablePrintSettings>(uniqueId, DEFAULT_PRINT_SETTINGS);\n\n function setSetting(key: keyof TablePrintSettings, value: any) {\n setPersistedSettings(currentSettings => ({\n ...currentSettings,\n [key]: value,\n }));\n }\n\n return [persistedSettings, setSetting];\n}\n"],"names":["useTablePrinting","isEnabled","tableId","isPrinting","setIsPrinting","React","useState","settings","setSetting","useTablePrintingSettings","DEFAULT_PRINT_SETTINGS","size","orientation","allRows","splitGroups","tacoSettings","useTacoSettings","uniqueId","uniqueUserIdentifier","persistedSettings","setPersistedSettings","useLocalStorage","key","value","currentSettings"],"mappings":";;;;SAWgBA,gBAAgBA,CAACC,SAAS,GAAG,KAAK,EAAEC,OAAe;EAC/D,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM,CAACC,QAAQ,EAAEC,UAAU,CAAC,GAAGC,wBAAwB,CAACP,OAAO,CAAC;EAEhE,OAAO;IACHD,SAAS;IACTE,UAAU;IACVC,aAAa;IACbG,QAAQ;IACRC;GACH;AACL;AAEA,MAAME,sBAAsB,GAAuB;EAC/CC,IAAI,EAAE,IAAI;EACVC,WAAW,EAAE,UAAU;EACvBC,OAAO,EAAE,IAAI;EACbC,WAAW,EAAE;CAChB;AAED,SAASL,wBAAwBA,CAACP,OAAe;EAC7C,MAAMa,YAAY,GAAGC,eAAe,EAAE;EACtC,MAAMC,QAAQ,GAAG,QAAQF,YAAY,CAACG,oBAAoB,UAAUhB,OAAO,iBAAiB;EAE5F,MAAM,CAACiB,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGC,eAAe,CAAqBJ,QAAQ,EAAEP,sBAAsB,CAAC;EAEvH,SAASF,UAAUA,CAACc,GAA6B,EAAEC,KAAU;IACzDH,oBAAoB,CAACI,eAAe,KAAK;MACrC,GAAGA,eAAe;MAClB,CAACF,GAAG,GAAGC;KACV,CAAC,CAAC;;EAGP,OAAO,CAACJ,iBAAiB,EAAEX,UAAU,CAAC;AAC1C;;;;"}
1
+ {"version":3,"file":"useTablePrinting.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTablePrinting.ts"],"sourcesContent":["import React from 'react';\nimport { useTacoSettings } from '../../../../hooks/useTacoSettings';\nimport { useLocalStorage } from '../../../../hooks/useLocalStorage';\n\ntype TablePrintSettings = {\n allRows: boolean;\n orientation: 'portrait' | 'landscape';\n size: 'A3' | 'A4' | 'A5' | 'letter' | 'legal';\n splitGroups: boolean;\n};\n\nexport function useTablePrinting(isEnabled = false, tableId: string) {\n const [isPrinting, setIsPrinting] = React.useState(false);\n const [settings, setSetting] = useTablePrintingSettings(tableId);\n\n return {\n isEnabled,\n isPrinting,\n setIsPrinting,\n settings,\n setSetting,\n };\n}\n\nconst DEFAULT_PRINT_SETTINGS: TablePrintSettings = {\n size: 'A4',\n orientation: 'portrait',\n allRows: true,\n splitGroups: true,\n};\n\nfunction useTablePrintingSettings(tableId: string): [TablePrintSettings, (key: keyof TablePrintSettings, value: any) => void] {\n const tacoSettings = useTacoSettings();\n const uniqueId = `taco.${tacoSettings.uniqueUserIdentifier}.table.${tableId}.print.settings`;\n\n const [persistedSettings, setPersistedSettings] = useLocalStorage<TablePrintSettings>(uniqueId, DEFAULT_PRINT_SETTINGS);\n\n function setSetting(key: keyof TablePrintSettings, value: any) {\n setPersistedSettings(currentSettings => ({\n ...currentSettings,\n [key]: value,\n }));\n }\n\n return [persistedSettings, setSetting];\n}\n"],"names":["useTablePrinting","isEnabled","tableId","_React$useState","React","useState","isPrinting","setIsPrinting","_useTablePrintingSett","useTablePrintingSettings","settings","setSetting","DEFAULT_PRINT_SETTINGS","size","orientation","allRows","splitGroups","tacoSettings","useTacoSettings","uniqueId","uniqueUserIdentifier","_useLocalStorage","useLocalStorage","persistedSettings","setPersistedSettings","key","value","currentSettings","_extends2","_extends"],"mappings":";;;;;SAWgBA,gBAAgBA,CAACC,SAAS,EAAUC,OAAe;MAAlCD,SAAS;IAATA,SAAS,GAAG,KAAK;;EAC9C,IAAAE,eAAA,GAAoCC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAAlDC,UAAU,GAAAH,eAAA;IAAEI,aAAa,GAAAJ,eAAA;EAChC,IAAAK,qBAAA,GAA+BC,wBAAwB,CAACP,OAAO,CAAC;IAAzDQ,QAAQ,GAAAF,qBAAA;IAAEG,UAAU,GAAAH,qBAAA;EAE3B,OAAO;IACHP,SAAS,EAATA,SAAS;IACTK,UAAU,EAAVA,UAAU;IACVC,aAAa,EAAbA,aAAa;IACbG,QAAQ,EAARA,QAAQ;IACRC,UAAU,EAAVA;GACH;AACL;AAEA,IAAMC,sBAAsB,GAAuB;EAC/CC,IAAI,EAAE,IAAI;EACVC,WAAW,EAAE,UAAU;EACvBC,OAAO,EAAE,IAAI;EACbC,WAAW,EAAE;CAChB;AAED,SAASP,wBAAwBA,CAACP,OAAe;EAC7C,IAAMe,YAAY,GAAGC,eAAe,EAAE;EACtC,IAAMC,QAAQ,aAAWF,YAAY,CAACG,oBAAoB,eAAUlB,OAAO,oBAAiB;EAE5F,IAAAmB,gBAAA,GAAkDC,eAAe,CAAqBH,QAAQ,EAAEP,sBAAsB,CAAC;IAAhHW,iBAAiB,GAAAF,gBAAA;IAAEG,oBAAoB,GAAAH,gBAAA;EAE9C,SAASV,UAAUA,CAACc,GAA6B,EAAEC,KAAU;IACzDF,oBAAoB,CAAC,UAAAG,eAAe;MAAA,IAAAC,SAAA;MAAA,OAAAC,QAAA,KAC7BF,eAAe,GAAAC,SAAA,OAAAA,SAAA,CACjBH,GAAG,IAAGC,KAAK,EAAAE,SAAA;KACd,CAAC;;EAGP,OAAO,CAACL,iBAAiB,EAAEZ,UAAU,CAAC;AAC1C;;;;"}
@@ -1,7 +1,13 @@
1
- const DEFAULT_ROW_ACTIONS_LENGTH = 4;
2
- function useTableRowActions(isEnabled = false, rowActions, rowActionsLength = DEFAULT_ROW_ACTIONS_LENGTH) {
1
+ var DEFAULT_ROW_ACTIONS_LENGTH = 4;
2
+ function useTableRowActions(isEnabled, rowActions, rowActionsLength) {
3
+ if (isEnabled === void 0) {
4
+ isEnabled = false;
5
+ }
6
+ if (rowActionsLength === void 0) {
7
+ rowActionsLength = DEFAULT_ROW_ACTIONS_LENGTH;
8
+ }
3
9
  return {
4
- isEnabled,
10
+ isEnabled: isEnabled,
5
11
  rowActions: isEnabled ? rowActions : undefined,
6
12
  rowActionsLength: rowActions ? Math.min(rowActions.length, rowActionsLength) : 0
7
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useTableRowActions.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTableRowActions.ts"],"sourcesContent":["import { TableRowActionRenderer } from '../../types';\n\nconst DEFAULT_ROW_ACTIONS_LENGTH = 4;\n\nexport function useTableRowActions<TType = unknown>(\n isEnabled = false,\n rowActions?: TableRowActionRenderer<TType>[],\n rowActionsLength = DEFAULT_ROW_ACTIONS_LENGTH\n) {\n return {\n isEnabled,\n rowActions: isEnabled ? rowActions : undefined,\n rowActionsLength: rowActions ? Math.min(rowActions.length, rowActionsLength) : 0,\n };\n}\n"],"names":["DEFAULT_ROW_ACTIONS_LENGTH","useTableRowActions","isEnabled","rowActions","rowActionsLength","undefined","Math","min","length"],"mappings":"AAEA,MAAMA,0BAA0B,GAAG,CAAC;SAEpBC,kBAAkBA,CAC9BC,SAAS,GAAG,KAAK,EACjBC,UAA4C,EAC5CC,gBAAgB,GAAGJ,0BAA0B;EAE7C,OAAO;IACHE,SAAS;IACTC,UAAU,EAAED,SAAS,GAAGC,UAAU,GAAGE,SAAS;IAC9CD,gBAAgB,EAAED,UAAU,GAAGG,IAAI,CAACC,GAAG,CAACJ,UAAU,CAACK,MAAM,EAAEJ,gBAAgB,CAAC,GAAG;GAClF;AACL;;;;"}
1
+ {"version":3,"file":"useTableRowActions.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTableRowActions.ts"],"sourcesContent":["import { TableRowActionRenderer } from '../../types';\n\nconst DEFAULT_ROW_ACTIONS_LENGTH = 4;\n\nexport function useTableRowActions<TType = unknown>(\n isEnabled = false,\n rowActions?: TableRowActionRenderer<TType>[],\n rowActionsLength = DEFAULT_ROW_ACTIONS_LENGTH\n) {\n return {\n isEnabled,\n rowActions: isEnabled ? rowActions : undefined,\n rowActionsLength: rowActions ? Math.min(rowActions.length, rowActionsLength) : 0,\n };\n}\n"],"names":["DEFAULT_ROW_ACTIONS_LENGTH","useTableRowActions","isEnabled","rowActions","rowActionsLength","undefined","Math","min","length"],"mappings":"AAEA,IAAMA,0BAA0B,GAAG,CAAC;SAEpBC,kBAAkBA,CAC9BC,SAAS,EACTC,UAA4C,EAC5CC,gBAAgB;MAFhBF,SAAS;IAATA,SAAS,GAAG,KAAK;;EAAA,IAEjBE,gBAAgB;IAAhBA,gBAAgB,GAAGJ,0BAA0B;;EAE7C,OAAO;IACHE,SAAS,EAATA,SAAS;IACTC,UAAU,EAAED,SAAS,GAAGC,UAAU,GAAGE,SAAS;IAC9CD,gBAAgB,EAAED,UAAU,GAAGG,IAAI,CAACC,GAAG,CAACJ,UAAU,CAACK,MAAM,EAAEJ,gBAAgB,CAAC,GAAG;GAClF;AACL;;;;"}