@economic/taco 2.45.0-alpha.3 → 2.45.0-alpha.30

Sign up to get free protection for your applications and to get access to all the features.
Files changed (315) hide show
  1. package/dist/charts/components/Area/AreaChart.d.ts +19 -0
  2. package/dist/charts/components/Bar/BarChart.d.ts +20 -0
  3. package/dist/charts/components/Donut/ActiveShape.d.ts +8 -0
  4. package/dist/charts/components/Donut/CenteredLabel.d.ts +11 -0
  5. package/dist/charts/components/Donut/DonutChart.d.ts +21 -0
  6. package/dist/charts/components/Donut/Legend.d.ts +13 -0
  7. package/dist/charts/components/Donut/util.d.ts +2 -0
  8. package/dist/charts/components/Legend.d.ts +16 -0
  9. package/dist/charts/components/Line/LineChart.d.ts +18 -0
  10. package/dist/charts/components/ResponsiveContainer.d.ts +5 -0
  11. package/dist/charts/components/Tooltip.d.ts +10 -0
  12. package/dist/charts/components/types.d.ts +5 -0
  13. package/dist/charts/utils/color.d.ts +3 -0
  14. package/dist/charts/utils/common.d.ts +37 -0
  15. package/dist/components/Alert/Alert.d.ts +1 -1
  16. package/dist/components/Hanger/Hanger.d.ts +1 -0
  17. package/dist/components/Icon/components/Autopay.d.ts +3 -0
  18. package/dist/components/Icon/components/AutopayPaused.d.ts +3 -0
  19. package/dist/components/Icon/components/Experiment.d.ts +3 -0
  20. package/dist/components/Icon/components/Person.d.ts +3 -0
  21. package/dist/components/Icon/components/PersonSolid.d.ts +3 -0
  22. package/dist/components/Icon/components/Wallet.d.ts +3 -0
  23. package/dist/components/Icon/components/index.d.ts +1 -1
  24. package/dist/components/Input/Input.d.ts +1 -1
  25. package/dist/components/Listbox/util.d.ts +1 -1
  26. package/dist/components/Menu/components/Item.d.ts +1 -1
  27. package/dist/components/Menu/components/Link.d.ts +1 -1
  28. package/dist/components/Navigation2/components/Link.d.ts +1 -1
  29. package/dist/components/RadioGroup/RadioGroup.d.ts +3 -3
  30. package/dist/components/Report/Report.d.ts +4 -2
  31. package/dist/components/SearchInput2/SearchInput2.d.ts +2 -0
  32. package/dist/components/Select2/components/Option.d.ts +4 -4
  33. package/dist/components/Select2/components/Search.d.ts +1 -1
  34. package/dist/components/Table3/Table3.d.ts +4 -5
  35. package/dist/components/Table3/components/Row/Editing/CreateNewRow.d.ts +1 -3
  36. package/dist/components/Table3/components/Row/Editing/TemporaryRow.d.ts +1 -0
  37. package/dist/components/Table3/features/useEditingState.d.ts +23 -18
  38. package/dist/components/Table3/features/useTableEditing.d.ts +24 -19
  39. package/dist/components/Table3/types.d.ts +2 -0
  40. package/dist/components/Table3/util/editing.d.ts +3 -0
  41. package/dist/components/Tag/Tag.d.ts +1 -1
  42. package/dist/esm/index.css +148 -16
  43. package/dist/esm/packages/taco/src/charts/components/Area/AreaChart.js +67 -0
  44. package/dist/esm/packages/taco/src/charts/components/Area/AreaChart.js.map +1 -0
  45. package/dist/esm/packages/taco/src/charts/components/Bar/BarChart.js +120 -0
  46. package/dist/esm/packages/taco/src/charts/components/Bar/BarChart.js.map +1 -0
  47. package/dist/esm/packages/taco/src/charts/components/Donut/ActiveShape.js +47 -0
  48. package/dist/esm/packages/taco/src/charts/components/Donut/ActiveShape.js.map +1 -0
  49. package/dist/esm/packages/taco/src/charts/components/Donut/CenteredLabel.js +27 -0
  50. package/dist/esm/packages/taco/src/charts/components/Donut/CenteredLabel.js.map +1 -0
  51. package/dist/esm/packages/taco/src/charts/components/Donut/DonutChart.js +170 -0
  52. package/dist/esm/packages/taco/src/charts/components/Donut/DonutChart.js.map +1 -0
  53. package/dist/esm/packages/taco/src/charts/components/Donut/Legend.js +165 -0
  54. package/dist/esm/packages/taco/src/charts/components/Donut/Legend.js.map +1 -0
  55. package/dist/esm/packages/taco/src/charts/components/Donut/util.js +5 -0
  56. package/dist/esm/packages/taco/src/charts/components/Donut/util.js.map +1 -0
  57. package/dist/esm/packages/taco/src/charts/components/Legend.js +146 -0
  58. package/dist/esm/packages/taco/src/charts/components/Legend.js.map +1 -0
  59. package/dist/esm/packages/taco/src/charts/components/Line/LineChart.js +65 -0
  60. package/dist/esm/packages/taco/src/charts/components/Line/LineChart.js.map +1 -0
  61. package/dist/esm/packages/taco/src/charts/components/ResponsiveContainer.js +10 -0
  62. package/dist/esm/packages/taco/src/charts/components/ResponsiveContainer.js.map +1 -0
  63. package/dist/esm/packages/taco/src/charts/components/Tooltip.js +44 -0
  64. package/dist/esm/packages/taco/src/charts/components/Tooltip.js.map +1 -0
  65. package/dist/esm/packages/taco/src/charts/utils/color.js +24 -0
  66. package/dist/esm/packages/taco/src/charts/utils/color.js.map +1 -0
  67. package/dist/esm/packages/taco/src/charts/utils/common.js +34 -0
  68. package/dist/esm/packages/taco/src/charts/utils/common.js.map +1 -0
  69. package/dist/esm/packages/taco/src/components/Accordion/Accordion.js +6 -14
  70. package/dist/esm/packages/taco/src/components/Accordion/Accordion.js.map +1 -1
  71. package/dist/esm/packages/taco/src/components/Alert/Alert.js +2 -0
  72. package/dist/esm/packages/taco/src/components/Alert/Alert.js.map +1 -1
  73. package/dist/esm/packages/taco/src/components/Badge/Badge.js +9 -6
  74. package/dist/esm/packages/taco/src/components/Badge/Badge.js.map +1 -1
  75. package/dist/esm/packages/taco/src/components/Banner/util.js +5 -0
  76. package/dist/esm/packages/taco/src/components/Banner/util.js.map +1 -1
  77. package/dist/esm/packages/taco/src/components/Button/Button.js +2 -1
  78. package/dist/esm/packages/taco/src/components/Button/Button.js.map +1 -1
  79. package/dist/esm/packages/taco/src/components/Card/Card.js +2 -2
  80. package/dist/esm/packages/taco/src/components/Card/Card.js.map +1 -1
  81. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +3 -2
  82. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
  83. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +9 -6
  84. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
  85. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js +13 -0
  86. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js.map +1 -1
  87. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +10 -1
  88. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
  89. package/dist/esm/packages/taco/src/components/Dialog/Dialog.js.map +1 -1
  90. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js +4 -2
  91. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js.map +1 -1
  92. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +2 -2
  93. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js.map +1 -1
  94. package/dist/esm/packages/taco/src/components/Hanger/Hanger.js +4 -2
  95. package/dist/esm/packages/taco/src/components/Hanger/Hanger.js.map +1 -1
  96. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js +2 -4
  97. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js.map +1 -1
  98. package/dist/esm/packages/taco/src/components/Icon/components/Autopay.js +19 -0
  99. package/dist/esm/packages/taco/src/components/Icon/components/Autopay.js.map +1 -0
  100. package/dist/esm/packages/taco/src/components/Icon/components/AutopayPaused.js +19 -0
  101. package/dist/esm/packages/taco/src/components/Icon/components/AutopayPaused.js.map +1 -0
  102. package/dist/esm/packages/taco/src/components/Icon/components/Experiment.js +20 -0
  103. package/dist/esm/packages/taco/src/components/Icon/components/Experiment.js.map +1 -0
  104. package/dist/esm/packages/taco/src/components/Icon/components/Person.js +19 -0
  105. package/dist/esm/packages/taco/src/components/Icon/components/Person.js.map +1 -0
  106. package/dist/esm/packages/taco/src/components/Icon/components/PersonSolid.js +19 -0
  107. package/dist/esm/packages/taco/src/components/Icon/components/PersonSolid.js.map +1 -0
  108. package/dist/esm/packages/taco/src/components/Icon/components/Wallet.js +19 -0
  109. package/dist/esm/packages/taco/src/components/Icon/components/Wallet.js.map +1 -0
  110. package/dist/esm/packages/taco/src/components/Icon/components/index.js +12 -0
  111. package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
  112. package/dist/esm/packages/taco/src/components/Input/util.js +1 -1
  113. package/dist/esm/packages/taco/src/components/Input/util.js.map +1 -1
  114. package/dist/esm/packages/taco/src/components/Listbox/util.js +1 -7
  115. package/dist/esm/packages/taco/src/components/Listbox/util.js.map +1 -1
  116. package/dist/esm/packages/taco/src/components/Menu/components/Content.js +5 -0
  117. package/dist/esm/packages/taco/src/components/Menu/components/Content.js.map +1 -1
  118. package/dist/esm/packages/taco/src/components/RadioGroup/RadioGroup.js.map +1 -1
  119. package/dist/esm/packages/taco/src/components/Report/Report.js +2 -3
  120. package/dist/esm/packages/taco/src/components/Report/Report.js.map +1 -1
  121. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +6 -3
  122. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -1
  123. package/dist/esm/packages/taco/src/components/Select/Select.js.map +1 -1
  124. package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
  125. package/dist/esm/packages/taco/src/components/Select2/components/Create.js +10 -11
  126. package/dist/esm/packages/taco/src/components/Select2/components/Create.js.map +1 -1
  127. package/dist/esm/packages/taco/src/components/Select2/components/Option.js +7 -5
  128. package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
  129. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +56 -19
  130. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
  131. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js +1 -1
  132. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
  133. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js +1 -1
  134. package/dist/esm/packages/taco/src/components/Table3/Table3.js +23 -12
  135. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  136. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js +58 -35
  137. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
  138. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Internal/EditingActionsMenu.js +2 -1
  139. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Internal/EditingActionsMenu.js.map +1 -1
  140. package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js +18 -10
  141. package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js.map +1 -1
  142. package/dist/esm/packages/taco/src/components/Table3/components/Editing/DiscardChangesConfirmationDialog.js +0 -1
  143. package/dist/esm/packages/taco/src/components/Table3/components/Editing/DiscardChangesConfirmationDialog.js.map +1 -1
  144. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateNewRow.js +6 -38
  145. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateNewRow.js.map +1 -1
  146. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/TemporaryRow.js +7 -6
  147. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/TemporaryRow.js.map +1 -1
  148. package/dist/esm/packages/taco/src/components/Table3/components/Toolbar/Editing/Editing.js +4 -0
  149. package/dist/esm/packages/taco/src/components/Table3/components/Toolbar/Editing/Editing.js.map +1 -1
  150. package/dist/esm/packages/taco/src/components/Table3/features/useEditingState.js +81 -81
  151. package/dist/esm/packages/taco/src/components/Table3/features/useEditingState.js.map +1 -1
  152. package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js +69 -14
  153. package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js.map +1 -1
  154. package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js +16 -22
  155. package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js.map +1 -1
  156. package/dist/esm/packages/taco/src/components/Table3/useTable3.js +8 -6
  157. package/dist/esm/packages/taco/src/components/Table3/useTable3.js.map +1 -1
  158. package/dist/esm/packages/taco/src/components/Table3/util/editing.js +9 -1
  159. package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -1
  160. package/dist/esm/packages/taco/src/components/Tag/Tag.js +6 -4
  161. package/dist/esm/packages/taco/src/components/Tag/Tag.js.map +1 -1
  162. package/dist/esm/packages/taco/src/components/Toast/Toaster.js +16 -2
  163. package/dist/esm/packages/taco/src/components/Toast/Toaster.js.map +1 -1
  164. package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js +2 -2
  165. package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js.map +1 -1
  166. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js +1 -1
  167. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js.map +1 -1
  168. package/dist/esm/packages/taco/src/index.js +6 -1
  169. package/dist/esm/packages/taco/src/index.js.map +1 -1
  170. package/dist/esm/packages/taco/src/primitives/BubbleSelect.js +1 -1
  171. package/dist/esm/packages/taco/src/primitives/BubbleSelect.js.map +1 -1
  172. package/dist/esm/packages/taco/src/primitives/Collection/components/Root.js +5 -3
  173. package/dist/esm/packages/taco/src/primitives/Collection/components/Root.js.map +1 -1
  174. package/dist/esm/packages/taco/src/primitives/Sortable/components/Item.js.map +1 -1
  175. package/dist/esm/packages/taco/src/primitives/Table/Core/Table.js +8 -10
  176. package/dist/esm/packages/taco/src/primitives/Table/Core/Table.js.map +1 -1
  177. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/Body.js +2 -0
  178. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/Body.js.map +1 -1
  179. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/EmptyStateBody.js +15 -2
  180. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/EmptyStateBody.js.map +1 -1
  181. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Actions.js +4 -3
  182. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Actions.js.map +1 -1
  183. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Drag.js +7 -0
  184. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Drag.js.map +1 -1
  185. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Expansion.js +11 -0
  186. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Expansion.js.map +1 -1
  187. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js +10 -7
  188. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js.map +1 -1
  189. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Footer.js +23 -6
  190. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Footer.js.map +1 -1
  191. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Summary.js +7 -6
  192. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Summary.js.map +1 -1
  193. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/Header.js +20 -6
  194. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/Header.js.map +1 -1
  195. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Menu.js +3 -1
  196. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Menu.js.map +1 -1
  197. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js +1 -1
  198. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js.map +1 -1
  199. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js +24 -22
  200. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js.map +1 -1
  201. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/Row.js +44 -5
  202. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/Row.js.map +1 -1
  203. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/RowContext.js +3 -2
  204. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/RowContext.js.map +1 -1
  205. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/FilterContext.js +6 -0
  206. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/FilterContext.js.map +1 -0
  207. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js +5 -3
  208. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js.map +1 -1
  209. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js +0 -2
  210. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js.map +1 -1
  211. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.js +2 -1
  212. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.js.map +1 -1
  213. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.js +4 -0
  214. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.js.map +1 -1
  215. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.js +3 -1
  216. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.js.map +1 -1
  217. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Print/Print.js +3 -1
  218. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Print/Print.js.map +1 -1
  219. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Search/Search.js +26 -4
  220. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Search/Search.js.map +1 -1
  221. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableGlobalShortcuts.js +2 -2
  222. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableGlobalShortcuts.js.map +1 -1
  223. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js +43 -12
  224. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js.map +1 -1
  225. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleGrid.js +2 -2
  226. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleGrid.js.map +1 -1
  227. package/dist/esm/packages/taco/src/primitives/Table/Core/useTable.js +1 -1
  228. package/dist/esm/packages/taco/src/primitives/Table/Core/useTable.js.map +1 -1
  229. package/dist/esm/packages/taco/src/primitives/Table/types.js +3 -7
  230. package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -1
  231. package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader.js +13 -12
  232. package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader.js.map +1 -1
  233. package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader2.js +224 -0
  234. package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader2.js.map +1 -0
  235. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActions.js +11 -0
  236. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActions.js.map +1 -1
  237. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActive.js +1 -1
  238. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActive.js.map +1 -1
  239. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowExpansion.js +2 -1
  240. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowExpansion.js.map +1 -1
  241. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSearch.js +3 -2
  242. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSearch.js.map +1 -1
  243. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableServerLoading.js +18 -8
  244. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableServerLoading.js.map +1 -1
  245. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableDataListener.js +3 -4
  246. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableDataListener.js.map +1 -1
  247. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFilterListener.js +3 -1
  248. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFilterListener.js.map +1 -1
  249. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js +2 -1
  250. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js.map +1 -1
  251. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js +4 -4
  252. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js.map +1 -1
  253. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSearchListener.js +14 -13
  254. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSearchListener.js.map +1 -1
  255. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.js +7 -3
  256. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.js.map +1 -1
  257. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js +6 -5
  258. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js.map +1 -1
  259. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/columns.js +4 -1
  260. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/columns.js.map +1 -1
  261. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/dataTypes.js +6 -2
  262. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/dataTypes.js.map +1 -1
  263. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/filtering.js +6 -0
  264. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/filtering.js.map +1 -1
  265. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/presets.js +7 -1
  266. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/presets.js.map +1 -1
  267. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js +7 -1
  268. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js.map +1 -1
  269. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js +20 -5
  270. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -1
  271. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/sorting.js.map +1 -1
  272. package/dist/esm/packages/taco/src/types.js.map +1 -1
  273. package/dist/esm/packages/taco/src/utils/dom.js +12 -1
  274. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  275. package/dist/esm/packages/taco/src/utils/tailwind.js +2 -0
  276. package/dist/esm/packages/taco/src/utils/tailwind.js.map +1 -1
  277. package/dist/esm/packages/taco/tailwind.colors.js +122 -0
  278. package/dist/esm/packages/taco/tailwind.colors.js.map +1 -0
  279. package/dist/hooks/useLazyDebouncedEffect.d.ts +2 -0
  280. package/dist/index.css +148 -16
  281. package/dist/index.d.ts +6 -0
  282. package/dist/primitives/Table/Core/Table.d.ts +1 -0
  283. package/dist/primitives/Table/Core/components/Body/EmptyStateBody.d.ts +1 -0
  284. package/dist/primitives/Table/Core/components/Body/util.d.ts +4 -4
  285. package/dist/primitives/Table/Core/components/Footer/Footer.d.ts +2 -2
  286. package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.d.ts +2 -2
  287. package/dist/primitives/Table/Core/components/Row/Row.d.ts +2 -0
  288. package/dist/primitives/Table/Core/components/Row/RowContext.d.ts +2 -1
  289. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/FilterContext.d.ts +3 -0
  290. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.d.ts +0 -1
  291. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.d.ts +0 -3
  292. package/dist/primitives/Table/Core/features/useTableRenderer.d.ts +1 -1
  293. package/dist/primitives/Table/Core/types.d.ts +1 -0
  294. package/dist/primitives/Table/types.d.ts +23 -15
  295. package/dist/primitives/Table/useTableDataLoader.d.ts +2 -2
  296. package/dist/primitives/Table/useTableDataLoader2.d.ts +23 -0
  297. package/dist/primitives/Table/useTableManager/features/useTableRowActions.d.ts +2 -0
  298. package/dist/primitives/Table/useTableManager/features/useTableRowExpansion.d.ts +2 -1
  299. package/dist/primitives/Table/useTableManager/features/useTableSearch.d.ts +4 -2
  300. package/dist/primitives/Table/useTableManager/features/useTableServerLoading.d.ts +6 -3
  301. package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.d.ts +1 -1
  302. package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.d.ts +1 -2
  303. package/dist/primitives/Table/useTableManager/useTableManager.d.ts +2 -1
  304. package/dist/primitives/Table/useTableManager/util/columns.d.ts +2 -1
  305. package/dist/primitives/Table/useTableManager/util/dataTypes.d.ts +1 -1
  306. package/dist/taco.cjs.development.js +2036 -520
  307. package/dist/taco.cjs.development.js.map +1 -1
  308. package/dist/taco.cjs.production.min.js +1 -1
  309. package/dist/taco.cjs.production.min.js.map +1 -1
  310. package/dist/types.d.ts +1 -1
  311. package/dist/utils/dom.d.ts +2 -2
  312. package/package.json +9 -7
  313. package/tailwind.colors.js +121 -0
  314. package/tailwind.config.js +4 -2
  315. package/dist/components/Table3/components/Row/Editing/CreateRowButton.d.ts +0 -11
@@ -2,7 +2,61 @@ import React__default from 'react';
2
2
  import { isTemporaryRow } from '../util/editing.js';
3
3
  import { usePendingChangesState } from './useEditingState.js';
4
4
 
5
- function useTableEditing(isEnabled = false, handleSave, handleChange, rowIdentityAccessor, validator) {
5
+ function useTableEditing(isEnabled = false, handleSave, handleChange, handleCreate, handleDiscard, rowIdentityAccessor, validator) {
6
+ const createRow = function (table, row) {
7
+ try {
8
+ let _exit = false;
9
+ function _temp2(_result) {
10
+ if (_exit) return _result;
11
+ const changeset = row !== null && row !== void 0 ? row : handleCreate();
12
+ try {
13
+ if (changeset) {
14
+ // set the active row to the new row before toggling editing on
15
+ const temporaryRows = tableMeta.editing.temporaryRows;
16
+ const nextRowIndex = temporaryRows.length ? tableMeta.length + 1 : tableMeta.length;
17
+ const newRowId = pendingChangesFns.insertTemporaryRow(changeset, nextRowIndex);
18
+ // prep the row
19
+ table.setRowPinning(currentState => {
20
+ var _ref, _currentState$bottom;
21
+ return {
22
+ ...currentState,
23
+ bottom: (_ref = (_currentState$bottom = currentState.bottom) !== null && _currentState$bottom !== void 0 ? _currentState$bottom : []) === null || _ref === void 0 ? void 0 : _ref.concat(newRowId)
24
+ };
25
+ });
26
+ // prep editing mode
27
+ toggleDetailedMode(false);
28
+ setLastFocusedCellIndex(undefined);
29
+ // wait until set states have run
30
+ requestAnimationFrame(() => {
31
+ tableMeta.rowActive.setRowActiveIndex(nextRowIndex);
32
+ table.resetRowSelection();
33
+ if (!tableMeta.editing.isEditing) {
34
+ setEditing(true);
35
+ }
36
+ });
37
+ }
38
+ } catch (error) {
39
+ console.error(error);
40
+ }
41
+ }
42
+ if (!handleCreate) {
43
+ return Promise.resolve();
44
+ }
45
+ const tableMeta = table.options.meta;
46
+ const _temp = function () {
47
+ if (tableMeta.rowActive.rowActiveIndex !== undefined) {
48
+ return Promise.resolve(tableMeta.editing.saveChanges(table)).then(function (saved) {
49
+ if (!saved) {
50
+ _exit = true;
51
+ }
52
+ });
53
+ }
54
+ }();
55
+ return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
56
+ } catch (e) {
57
+ return Promise.reject(e);
58
+ }
59
+ };
6
60
  // used to switch the table into editing mode
7
61
  const [isEditing, setEditing] = React__default.useState(false);
8
62
  // used to switch the editing between "detailed" mode
@@ -11,26 +65,26 @@ function useTableEditing(isEnabled = false, handleSave, handleChange, rowIdentit
11
65
  const createRowButtonRef = React__default.useRef(null);
12
66
  // store the last focused cell, so that up/down arrow key navigation remains in the same column
13
67
  const [lastFocusedCellIndex, setLastFocusedCellIndex] = React__default.useState(undefined);
14
- const pendingChangesFns = usePendingChangesState(handleSave, handleChange, rowIdentityAccessor, validator);
68
+ const pendingChangesFns = usePendingChangesState(handleSave, handleChange, handleDiscard, rowIdentityAccessor, validator);
15
69
  function toggleEditing(enabled, table, scrollToIndex) {
16
- var _tableMeta$rowActive$, _table$getRowModel$ro;
17
- if (!enabled) {
18
- // save
19
- pendingChangesFns.saveChanges(table);
70
+ const tableMeta = table.options.meta;
71
+ if (enabled) {
72
+ var _tableMeta$rowActive$, _table$getRowModel$ro;
73
+ const index = (_tableMeta$rowActive$ = tableMeta.rowActive.rowActiveIndex) !== null && _tableMeta$rowActive$ !== void 0 ? _tableMeta$rowActive$ : 0;
74
+ if (tableMeta.rowActive.rowActiveIndex === undefined) {
75
+ tableMeta.rowActive.setRowActiveIndex(index);
76
+ }
77
+ if (!isTemporaryRow((_table$getRowModel$ro = table.getRowModel().rows[index]) === null || _table$getRowModel$ro === void 0 ? void 0 : _table$getRowModel$ro.id)) {
78
+ scrollToIndex(index);
79
+ }
80
+ } else if (!enabled) {
20
81
  // reset detailed mode
21
82
  toggleDetailedMode(false);
22
83
  // reset the last index back to the first focusable element, when editing gets turned off
23
84
  setLastFocusedCellIndex(undefined);
24
85
  }
25
- const tableMeta = table.options.meta;
26
- const index = (_tableMeta$rowActive$ = tableMeta.rowActive.rowActiveIndex) !== null && _tableMeta$rowActive$ !== void 0 ? _tableMeta$rowActive$ : 0;
27
- if (tableMeta.rowActive.rowActiveIndex === undefined) {
28
- tableMeta.rowActive.setRowActiveIndex(index);
29
- }
30
86
  setEditing(enabled);
31
- if (!isTemporaryRow((_table$getRowModel$ro = table.getRowModel().rows[index]) === null || _table$getRowModel$ro === void 0 ? void 0 : _table$getRowModel$ro.id)) {
32
- scrollToIndex(index);
33
- }
87
+ pendingChangesFns.saveChanges(table);
34
88
  }
35
89
  return {
36
90
  isEnabled,
@@ -40,6 +94,7 @@ function useTableEditing(isEnabled = false, handleSave, handleChange, rowIdentit
40
94
  toggleEditing: isEnabled ? toggleEditing : () => undefined,
41
95
  lastFocusedCellIndex,
42
96
  setLastFocusedCellIndex,
97
+ createRow,
43
98
  createRowButtonRef,
44
99
  ...pendingChangesFns
45
100
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useTableEditing.js","sources":["../../../../../../../../src/components/Table3/features/useTableEditing.ts"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { Table3EditingChangeHandler, Table3EditingSaveHandler, Table3EditingValidatorFn } from '../types';\nimport { usePendingChangesState } from './useEditingState';\nimport { isTemporaryRow } from '../util/editing';\n\nexport function useTableEditing<TType = unknown>(\n isEnabled = false,\n handleSave: Table3EditingSaveHandler<TType> | undefined,\n handleChange: Table3EditingChangeHandler<TType> | undefined,\n rowIdentityAccessor: keyof TType | undefined,\n validator: Table3EditingValidatorFn<TType> | undefined\n) {\n // used to switch the table into editing mode\n const [isEditing, setEditing] = React.useState(false);\n\n // used to switch the editing between \"detailed\" mode\n const [isDetailedMode, toggleDetailedMode] = React.useState(false);\n\n // used to contain ref to the create button\n const createRowButtonRef = React.useRef<HTMLButtonElement>(null);\n\n // store the last focused cell, so that up/down arrow key navigation remains in the same column\n const [lastFocusedCellIndex, setLastFocusedCellIndex] = React.useState<number | undefined>(undefined);\n\n const pendingChangesFns = usePendingChangesState<TType>(\n handleSave,\n handleChange,\n rowIdentityAccessor as keyof TType,\n validator\n );\n\n function toggleEditing<T extends TType>(\n enabled: React.SetStateAction<boolean>,\n table: ReactTable<T>,\n scrollToIndex: (index: number) => void\n ) {\n if (!enabled) {\n // save\n pendingChangesFns.saveChanges(table);\n // reset detailed mode\n toggleDetailedMode(false);\n // reset the last index back to the first focusable element, when editing gets turned off\n setLastFocusedCellIndex(undefined);\n }\n\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const index = tableMeta.rowActive.rowActiveIndex ?? 0;\n\n if (tableMeta.rowActive.rowActiveIndex === undefined) {\n tableMeta.rowActive.setRowActiveIndex(index);\n }\n\n setEditing(enabled);\n\n if (!isTemporaryRow(table.getRowModel().rows[index]?.id)) {\n scrollToIndex(index);\n }\n }\n\n return {\n isEnabled,\n isEditing,\n isDetailedMode,\n toggleDetailedMode: isEnabled ? toggleDetailedMode : () => undefined,\n toggleEditing: isEnabled ? toggleEditing : () => undefined,\n lastFocusedCellIndex,\n setLastFocusedCellIndex,\n createRowButtonRef,\n ...pendingChangesFns,\n };\n}\n"],"names":["useTableEditing","isEnabled","handleSave","handleChange","rowIdentityAccessor","validator","isEditing","setEditing","React","useState","isDetailedMode","toggleDetailedMode","createRowButtonRef","useRef","lastFocusedCellIndex","setLastFocusedCellIndex","undefined","pendingChangesFns","usePendingChangesState","toggleEditing","enabled","table","scrollToIndex","saveChanges","tableMeta","options","meta","index","_tableMeta$rowActive$","rowActive","rowActiveIndex","setRowActiveIndex","isTemporaryRow","_table$getRowModel$ro","getRowModel","rows","id"],"mappings":";;;;SAMgBA,eAAeA,CAC3BC,SAAS,GAAG,KAAK,EACjBC,UAAuD,EACvDC,YAA2D,EAC3DC,mBAA4C,EAC5CC,SAAsD;;EAGtD,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;;EAGrD,MAAM,CAACC,cAAc,EAAEC,kBAAkB,CAAC,GAAGH,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;;EAGlE,MAAMG,kBAAkB,GAAGJ,cAAK,CAACK,MAAM,CAAoB,IAAI,CAAC;;EAGhE,MAAM,CAACC,oBAAoB,EAAEC,uBAAuB,CAAC,GAAGP,cAAK,CAACC,QAAQ,CAAqBO,SAAS,CAAC;EAErG,MAAMC,iBAAiB,GAAGC,sBAAsB,CAC5ChB,UAAU,EACVC,YAAY,EACZC,mBAAkC,EAClCC,SAAS,CACZ;EAED,SAASc,aAAaA,CAClBC,OAAsC,EACtCC,KAAoB,EACpBC,aAAsC;;IAEtC,IAAI,CAACF,OAAO,EAAE;;MAEVH,iBAAiB,CAACM,WAAW,CAACF,KAAK,CAAC;;MAEpCV,kBAAkB,CAAC,KAAK,CAAC;;MAEzBI,uBAAuB,CAACC,SAAS,CAAC;;IAGtC,MAAMQ,SAAS,GAAGH,KAAK,CAACI,OAAO,CAACC,IAA6B;IAC7D,MAAMC,KAAK,IAAAC,qBAAA,GAAGJ,SAAS,CAACK,SAAS,CAACC,cAAc,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,CAAC;IAErD,IAAIJ,SAAS,CAACK,SAAS,CAACC,cAAc,KAAKd,SAAS,EAAE;MAClDQ,SAAS,CAACK,SAAS,CAACE,iBAAiB,CAACJ,KAAK,CAAC;;IAGhDpB,UAAU,CAACa,OAAO,CAAC;IAEnB,IAAI,CAACY,cAAc,EAAAC,qBAAA,GAACZ,KAAK,CAACa,WAAW,EAAE,CAACC,IAAI,CAACR,KAAK,CAAC,cAAAM,qBAAA,uBAA/BA,qBAAA,CAAiCG,EAAE,CAAC,EAAE;MACtDd,aAAa,CAACK,KAAK,CAAC;;;EAI5B,OAAO;IACH1B,SAAS;IACTK,SAAS;IACTI,cAAc;IACdC,kBAAkB,EAAEV,SAAS,GAAGU,kBAAkB,GAAG,MAAMK,SAAS;IACpEG,aAAa,EAAElB,SAAS,GAAGkB,aAAa,GAAG,MAAMH,SAAS;IAC1DF,oBAAoB;IACpBC,uBAAuB;IACvBH,kBAAkB;IAClB,GAAGK;GACN;AACL;;;;"}
1
+ {"version":3,"file":"useTableEditing.js","sources":["../../../../../../../../src/components/Table3/features/useTableEditing.ts"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport {\n Table3EditingChangeHandler,\n Table3EditingCreateHandler,\n Table3EditingDiscardHandler,\n Table3EditingSaveHandler,\n Table3EditingValidatorFn,\n} from '../types';\nimport { usePendingChangesState } from './useEditingState';\nimport { isTemporaryRow } from '../util/editing';\nimport _ from 'lodash';\n\nexport function useTableEditing<TType = unknown>(\n isEnabled = false,\n handleSave: Table3EditingSaveHandler<TType> | undefined,\n handleChange: Table3EditingChangeHandler<TType> | undefined,\n handleCreate: Table3EditingCreateHandler<TType> | undefined,\n handleDiscard: Table3EditingDiscardHandler | undefined,\n rowIdentityAccessor: keyof TType | undefined,\n validator: Table3EditingValidatorFn<TType> | undefined\n) {\n // used to switch the table into editing mode\n const [isEditing, setEditing] = React.useState(false);\n\n // used to switch the editing between \"detailed\" mode\n const [isDetailedMode, toggleDetailedMode] = React.useState(false);\n\n // used to contain ref to the create button\n const createRowButtonRef = React.useRef<HTMLButtonElement>(null);\n\n // store the last focused cell, so that up/down arrow key navigation remains in the same column\n const [lastFocusedCellIndex, setLastFocusedCellIndex] = React.useState<number | undefined>(undefined);\n\n const pendingChangesFns = usePendingChangesState<TType>(\n handleSave,\n handleChange,\n handleDiscard,\n rowIdentityAccessor as keyof TType,\n validator\n );\n\n function toggleEditing<T extends TType>(\n enabled: React.SetStateAction<boolean>,\n table: ReactTable<T>,\n scrollToIndex: (index: number) => void\n ) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n if (enabled) {\n const index = tableMeta.rowActive.rowActiveIndex ?? 0;\n\n if (tableMeta.rowActive.rowActiveIndex === undefined) {\n tableMeta.rowActive.setRowActiveIndex(index);\n }\n\n if (!isTemporaryRow(table.getRowModel().rows[index]?.id)) {\n scrollToIndex(index);\n }\n } else if (!enabled) {\n // reset detailed mode\n toggleDetailedMode(false);\n // reset the last index back to the first focusable element, when editing gets turned off\n setLastFocusedCellIndex(undefined);\n }\n\n setEditing(enabled);\n pendingChangesFns.saveChanges(table);\n }\n\n async function createRow<T extends TType>(table: ReactTable<T>, row?: Partial<T>) {\n if (!handleCreate) {\n return;\n }\n\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n const saved = await tableMeta.editing.saveChanges(table);\n\n if (!saved) {\n return;\n }\n }\n\n const changeset = row ?? handleCreate();\n\n try {\n if (changeset) {\n // set the active row to the new row before toggling editing on\n const temporaryRows = tableMeta.editing.temporaryRows as TType[];\n const nextRowIndex = temporaryRows.length ? tableMeta.length + 1 : tableMeta.length;\n\n const newRowId = pendingChangesFns.insertTemporaryRow(changeset, nextRowIndex);\n\n // prep the row\n table.setRowPinning(currentState => ({\n ...currentState,\n bottom: (currentState.bottom ?? [])?.concat(newRowId),\n }));\n\n // prep editing mode\n toggleDetailedMode(false);\n setLastFocusedCellIndex(undefined);\n\n // wait until set states have run\n requestAnimationFrame(() => {\n tableMeta.rowActive.setRowActiveIndex(nextRowIndex);\n table.resetRowSelection();\n\n if (!tableMeta.editing.isEditing) {\n setEditing(true);\n }\n });\n }\n } catch (error) {\n console.error(error);\n }\n }\n\n return {\n isEnabled,\n isEditing,\n isDetailedMode,\n toggleDetailedMode: isEnabled ? toggleDetailedMode : () => undefined,\n toggleEditing: isEnabled ? toggleEditing : () => undefined,\n lastFocusedCellIndex,\n setLastFocusedCellIndex,\n createRow,\n createRowButtonRef,\n ...pendingChangesFns,\n };\n}\n"],"names":["useTableEditing","isEnabled","handleSave","handleChange","handleCreate","handleDiscard","rowIdentityAccessor","validator","createRow","table","row","changeset","temporaryRows","tableMeta","editing","nextRowIndex","length","newRowId","pendingChangesFns","insertTemporaryRow","setRowPinning","currentState","_ref","_currentState$bottom","bottom","concat","toggleDetailedMode","setLastFocusedCellIndex","undefined","requestAnimationFrame","rowActive","setRowActiveIndex","resetRowSelection","isEditing","setEditing","error","console","Promise","resolve","options","meta","_temp","rowActiveIndex","saveChanges","then","saved","_exit","_temp2","e","reject","React","useState","isDetailedMode","createRowButtonRef","useRef","lastFocusedCellIndex","usePendingChangesState","toggleEditing","enabled","scrollToIndex","_tableMeta$rowActive$","_table$getRowModel$ro","index","isTemporaryRow","getRowModel","rows","id"],"mappings":";;;;SAagBA,eAAeA,CAC3BC,SAAS,GAAG,KAAK,EACjBC,UAAuD,EACvDC,YAA2D,EAC3DC,YAA2D,EAC3DC,aAAsD,EACtDC,mBAA4C,EAC5CC,SAAsD;QAkDvCC,SAAS,aAAkBC,KAAoB,EAAEC,GAAgB;IAAA;;;;QAe5E,MAAMC,SAAS,GAAGD,GAAG,aAAHA,GAAG,cAAHA,GAAG,GAAIN,YAAY,EAAE;QAEvC,IAAI;UACA,IAAIO,SAAS,EAAE;;YAEX,MAAMC,aAAa,GAAGC,SAAS,CAACC,OAAO,CAACF,aAAwB;YAChE,MAAMG,YAAY,GAAGH,aAAa,CAACI,MAAM,GAAGH,SAAS,CAACG,MAAM,GAAG,CAAC,GAAGH,SAAS,CAACG,MAAM;YAEnF,MAAMC,QAAQ,GAAGC,iBAAiB,CAACC,kBAAkB,CAACR,SAAS,EAAEI,YAAY,CAAC;;YAG9EN,KAAK,CAACW,aAAa,CAACC,YAAY;cAAA,IAAAC,IAAA,EAAAC,oBAAA;cAAA,OAAK;gBACjC,GAAGF,YAAY;gBACfG,MAAM,GAAAF,IAAA,IAAAC,oBAAA,GAAGF,YAAY,CAACG,MAAM,cAAAD,oBAAA,cAAAA,oBAAA,GAAI,EAAE,cAAAD,IAAA,uBAA1BA,IAAA,CAA6BG,MAAM,CAACR,QAAQ;eACvD;aAAC,CAAC;;YAGHS,kBAAkB,CAAC,KAAK,CAAC;YACzBC,uBAAuB,CAACC,SAAS,CAAC;;YAGlCC,qBAAqB,CAAC;cAClBhB,SAAS,CAACiB,SAAS,CAACC,iBAAiB,CAAChB,YAAY,CAAC;cACnDN,KAAK,CAACuB,iBAAiB,EAAE;cAEzB,IAAI,CAACnB,SAAS,CAACC,OAAO,CAACmB,SAAS,EAAE;gBAC9BC,UAAU,CAAC,IAAI,CAAC;;aAEvB,CAAC;;SAET,CAAC,OAAOC,KAAK,EAAE;UACZC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;;;MA7CxB,IAAI,CAAC/B,YAAY,EAAE;QACf,OAAAiC,OAAA,CAAAC,OAAA;;MAGJ,MAAMzB,SAAS,GAAGJ,KAAK,CAAC8B,OAAO,CAACC,IAA6B;MAAC,MAAAC,KAAA;QAAA,IAE1D5B,SAAS,CAACiB,SAAS,CAACY,cAAc,KAAKd,SAAS;UAAA,OAAAS,OAAA,CAAAC,OAAA,CAC5BzB,SAAS,CAACC,OAAO,CAAC6B,WAAW,CAAClC,KAAK,CAAC,EAAAmC,IAAA,WAAlDC,KAAK;YAAA,IAEP,CAACA,KAAK;cAAAC,KAAA;;;;;MAAA,OAAAT,OAAA,CAAAC,OAAA,CAAAG,KAAA,IAAAA,KAAA,CAAAG,IAAA,GAAAH,KAAA,CAAAG,IAAA,CAAAG,MAAA,IAAAA,MAAA,CAAAN,KAAA;KAsCjB,QAAAO,CAAA;MAAA,OAAAX,OAAA,CAAAY,MAAA,CAAAD,CAAA;;;;EA/FD,MAAM,CAACf,SAAS,EAAEC,UAAU,CAAC,GAAGgB,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;;EAGrD,MAAM,CAACC,cAAc,EAAE1B,kBAAkB,CAAC,GAAGwB,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;;EAGlE,MAAME,kBAAkB,GAAGH,cAAK,CAACI,MAAM,CAAoB,IAAI,CAAC;;EAGhE,MAAM,CAACC,oBAAoB,EAAE5B,uBAAuB,CAAC,GAAGuB,cAAK,CAACC,QAAQ,CAAqBvB,SAAS,CAAC;EAErG,MAAMV,iBAAiB,GAAGsC,sBAAsB,CAC5CtD,UAAU,EACVC,YAAY,EACZE,aAAa,EACbC,mBAAkC,EAClCC,SAAS,CACZ;EAED,SAASkD,aAAaA,CAClBC,OAAsC,EACtCjD,KAAoB,EACpBkD,aAAsC;IAEtC,MAAM9C,SAAS,GAAGJ,KAAK,CAAC8B,OAAO,CAACC,IAA6B;IAE7D,IAAIkB,OAAO,EAAE;MAAA,IAAAE,qBAAA,EAAAC,qBAAA;MACT,MAAMC,KAAK,IAAAF,qBAAA,GAAG/C,SAAS,CAACiB,SAAS,CAACY,cAAc,cAAAkB,qBAAA,cAAAA,qBAAA,GAAI,CAAC;MAErD,IAAI/C,SAAS,CAACiB,SAAS,CAACY,cAAc,KAAKd,SAAS,EAAE;QAClDf,SAAS,CAACiB,SAAS,CAACC,iBAAiB,CAAC+B,KAAK,CAAC;;MAGhD,IAAI,CAACC,cAAc,EAAAF,qBAAA,GAACpD,KAAK,CAACuD,WAAW,EAAE,CAACC,IAAI,CAACH,KAAK,CAAC,cAAAD,qBAAA,uBAA/BA,qBAAA,CAAiCK,EAAE,CAAC,EAAE;QACtDP,aAAa,CAACG,KAAK,CAAC;;KAE3B,MAAM,IAAI,CAACJ,OAAO,EAAE;;MAEjBhC,kBAAkB,CAAC,KAAK,CAAC;;MAEzBC,uBAAuB,CAACC,SAAS,CAAC;;IAGtCM,UAAU,CAACwB,OAAO,CAAC;IACnBxC,iBAAiB,CAACyB,WAAW,CAAClC,KAAK,CAAC;;EAqDxC,OAAO;IACHR,SAAS;IACTgC,SAAS;IACTmB,cAAc;IACd1B,kBAAkB,EAAEzB,SAAS,GAAGyB,kBAAkB,GAAG,MAAME,SAAS;IACpE6B,aAAa,EAAExD,SAAS,GAAGwD,aAAa,GAAG,MAAM7B,SAAS;IAC1D2B,oBAAoB;IACpB5B,uBAAuB;IACvBnB,SAAS;IACT6C,kBAAkB;IAClB,GAAGnC;GACN;AACL;;;;"}
@@ -9,15 +9,14 @@ import { shortcut } from '../util/editing.js';
9
9
  function useTableEditingListener(table, tableRef, scrollToIndex) {
10
10
  const tableMeta = table.options.meta;
11
11
  const localization = useLocalization();
12
- // save when the row changes
13
- // store the last row active index, otherwise everytime tableMeta.editing.saveChanges changes the hook runs again
14
- const lastRowActiveIndexRef = React__default.useRef(tableMeta.rowActive.rowActiveIndex);
15
12
  useLazyEffect(() => {
16
- if (tableMeta.editing.isEditing && lastRowActiveIndexRef.current !== undefined && tableMeta.rowActive.rowActiveIndex !== lastRowActiveIndexRef.current) {
17
- lastRowActiveIndexRef.current = tableMeta.rowActive.rowActiveIndex;
18
- tableMeta.editing.saveChanges(table);
19
- }
20
- }, [tableMeta.rowActive.rowActiveIndex, tableMeta.editing.saveChanges]);
13
+ return () => {
14
+ if (tableMeta.editing.isEditing && tableMeta.rowActive.rowActiveIndex !== undefined) {
15
+ var _table$getRowModel$ro;
16
+ tableMeta.editing.saveChanges(table, (_table$getRowModel$ro = table.getRowModel().rows[tableMeta.rowActive.rowActiveIndex]) === null || _table$getRowModel$ro === void 0 ? void 0 : _table$getRowModel$ro.id);
17
+ }
18
+ };
19
+ }, [tableMeta.rowActive.rowActiveIndex]);
21
20
  // show a warning if the user navigates away without triggering save, such as using the browser back/forward button
22
21
  const hasChanges = tableMeta.editing.hasChanges();
23
22
  React__default.useEffect(() => {
@@ -43,9 +42,9 @@ function useTableEditingListener(table, tableRef, scrollToIndex) {
43
42
  const onClickOutside = event => {
44
43
  if (tableMeta.editing.isEditing) {
45
44
  const element = event.target;
46
- const insideTable = element.getAttribute('data-taco') === 'backdrop' || element.getAttribute('data-table') === 'editing-toggle' || isElementInsideOrTriggeredFromContainer(element, tableRef.current);
45
+ const isTableOrIsInsideTable = element.tagName === 'TABLE' || element.tagName === 'TBODY' || element.getAttribute('data-taco') === 'backdrop' || element.getAttribute('data-table') === 'editing-toggle' || !document.body.contains(element) || isElementInsideOrTriggeredFromContainer(element, tableRef.current);
47
46
  // users can click the white space below rows which could be inside the table, but a valid scenario to save
48
- if (!insideTable || element.tagName === 'TABLE' || element.tagName === 'TBODY') {
47
+ if (!isTableOrIsInsideTable) {
49
48
  tableMeta.editing.saveChanges(table);
50
49
  }
51
50
  }
@@ -53,18 +52,13 @@ function useTableEditingListener(table, tableRef, scrollToIndex) {
53
52
  document.addEventListener('click', onClickOutside);
54
53
  return () => document.removeEventListener('click', onClickOutside);
55
54
  }, [tableMeta.editing.isEditing, tableMeta.editing.saveChanges]);
56
- const rows = table.getRowModel().rows;
57
- // make sure pending changes are removed for rows that no longer exist
58
- useLazyEffect(() => {
59
- const pendingChanges = tableMeta.editing.getErrorsShownInAlert();
60
- pendingChanges.forEach(pendingChange => {
61
- try {
62
- table.getRow(pendingChange.rowId);
63
- } catch {
64
- tableMeta.editing.discardChanges(pendingChange.rowId, table);
65
- }
66
- });
67
- }, [rows.length]);
55
+ React__default.useEffect(() => {
56
+ if (tableMeta.editing.isEnabled) {
57
+ tableMeta.rowActions.registerHandler('cleanup', rowId => {
58
+ tableMeta.editing.discardChanges(rowId, table);
59
+ });
60
+ }
61
+ }, []);
68
62
  // shortcuts
69
63
  useGlobalKeyDown(tableMeta.editing.isEnabled ? shortcut : undefined, event => {
70
64
  event.preventDefault();
@@ -1 +1 @@
1
- {"version":3,"file":"useTableEditingListener.js","sources":["../../../../../../../../src/components/Table3/listeners/useTableEditingListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useLazyEffect } from '../../../hooks/useLazyEffect';\nimport { isElementInsideOrTriggeredFromContainer } from '../../../utils/dom';\nimport { TableRef } from '../../../primitives/Table/types';\nimport { resetHighlightedColumnIndexes } from '../../../primitives/Table/useTableManager/util/search';\nimport { useLocalization } from '../../Provider/Localization';\nimport { useGlobalKeyDown } from '../../../hooks/useGlobalKeyDown';\nimport { shortcut } from '../util/editing';\n\nexport function useTableEditingListener<TType = unknown>(\n table: ReactTable<TType>,\n tableRef: React.RefObject<TableRef>,\n scrollToIndex: (index: number) => void\n) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const localization = useLocalization();\n\n // save when the row changes\n // store the last row active index, otherwise everytime tableMeta.editing.saveChanges changes the hook runs again\n const lastRowActiveIndexRef = React.useRef<number | undefined>(tableMeta.rowActive.rowActiveIndex);\n\n useLazyEffect(() => {\n if (\n tableMeta.editing.isEditing &&\n lastRowActiveIndexRef.current !== undefined &&\n tableMeta.rowActive.rowActiveIndex !== lastRowActiveIndexRef.current\n ) {\n lastRowActiveIndexRef.current = tableMeta.rowActive.rowActiveIndex;\n tableMeta.editing.saveChanges(table);\n }\n }, [tableMeta.rowActive.rowActiveIndex, tableMeta.editing.saveChanges]);\n\n // show a warning if the user navigates away without triggering save, such as using the browser back/forward button\n const hasChanges = tableMeta.editing.hasChanges();\n\n React.useEffect(() => {\n function showUnsavedChangesWarning(event: BeforeUnloadEvent) {\n if (tableMeta.editing.isEditing && hasChanges) {\n event.returnValue = true;\n return true;\n }\n\n return false;\n }\n\n window.addEventListener('beforeunload', showUnsavedChangesWarning);\n\n return () => {\n window.removeEventListener('beforeunload', showUnsavedChangesWarning);\n };\n }, [tableMeta.editing.isEditing, hasChanges]);\n\n const hasSavedChanges = tableMeta.editing.hasSaved();\n\n useLazyEffect(() => {\n if (hasSavedChanges) {\n resetHighlightedColumnIndexes(table.getState().globalFilter, table, localization);\n }\n }, [hasSavedChanges]);\n\n React.useEffect(() => {\n const onClickOutside = (event: MouseEvent) => {\n if (tableMeta.editing.isEditing) {\n const element = event.target as Element;\n const insideTable =\n element.getAttribute('data-taco') === 'backdrop' ||\n element.getAttribute('data-table') === 'editing-toggle' ||\n isElementInsideOrTriggeredFromContainer(element, tableRef.current);\n\n // users can click the white space below rows which could be inside the table, but a valid scenario to save\n if (!insideTable || element.tagName === 'TABLE' || element.tagName === 'TBODY') {\n tableMeta.editing.saveChanges(table);\n }\n }\n };\n\n document.addEventListener('click', onClickOutside);\n\n return () => document.removeEventListener('click', onClickOutside);\n }, [tableMeta.editing.isEditing, tableMeta.editing.saveChanges]);\n\n const rows = table.getRowModel().rows;\n\n // make sure pending changes are removed for rows that no longer exist\n useLazyEffect(() => {\n const pendingChanges = tableMeta.editing.getErrorsShownInAlert();\n\n pendingChanges.forEach(pendingChange => {\n try {\n table.getRow(pendingChange.rowId);\n } catch {\n tableMeta.editing.discardChanges(pendingChange.rowId, table);\n }\n });\n }, [rows.length]);\n\n // shortcuts\n useGlobalKeyDown(tableMeta.editing.isEnabled ? shortcut : undefined, (event: KeyboardEvent) => {\n event.preventDefault();\n tableMeta.editing.toggleEditing(!tableMeta.editing.isEditing, table, scrollToIndex);\n });\n\n useGlobalKeyDown(tableMeta.editing.isEditing ? { key: 's', meta: true, shift: false } : undefined, event => {\n event.preventDefault();\n tableMeta.editing.saveChanges(table);\n });\n}\n"],"names":["useTableEditingListener","table","tableRef","scrollToIndex","tableMeta","options","meta","localization","useLocalization","lastRowActiveIndexRef","React","useRef","rowActive","rowActiveIndex","useLazyEffect","editing","isEditing","current","undefined","saveChanges","hasChanges","useEffect","showUnsavedChangesWarning","event","returnValue","window","addEventListener","removeEventListener","hasSavedChanges","hasSaved","resetHighlightedColumnIndexes","getState","globalFilter","onClickOutside","element","target","insideTable","getAttribute","isElementInsideOrTriggeredFromContainer","tagName","document","rows","getRowModel","pendingChanges","getErrorsShownInAlert","forEach","pendingChange","getRow","rowId","discardChanges","length","useGlobalKeyDown","isEnabled","shortcut","preventDefault","toggleEditing","key","shift"],"mappings":"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"}
1
+ {"version":3,"file":"useTableEditingListener.js","sources":["../../../../../../../../src/components/Table3/listeners/useTableEditingListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useLazyEffect } from '../../../hooks/useLazyEffect';\nimport { isElementInsideOrTriggeredFromContainer } from '../../../utils/dom';\nimport { TableRef } from '../../../primitives/Table/types';\nimport { resetHighlightedColumnIndexes } from '../../../primitives/Table/useTableManager/util/search';\nimport { useLocalization } from '../../Provider/Localization';\nimport { useGlobalKeyDown } from '../../../hooks/useGlobalKeyDown';\nimport { shortcut } from '../util/editing';\n\nexport function useTableEditingListener<TType = unknown>(\n table: ReactTable<TType>,\n tableRef: React.RefObject<TableRef>,\n scrollToIndex: (index: number) => void\n) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const localization = useLocalization();\n\n useLazyEffect(() => {\n return () => {\n if (tableMeta.editing.isEditing && tableMeta.rowActive.rowActiveIndex !== undefined) {\n tableMeta.editing.saveChanges(table, table.getRowModel().rows[tableMeta.rowActive.rowActiveIndex]?.id);\n }\n };\n }, [tableMeta.rowActive.rowActiveIndex]);\n\n // show a warning if the user navigates away without triggering save, such as using the browser back/forward button\n const hasChanges = tableMeta.editing.hasChanges();\n\n React.useEffect(() => {\n function showUnsavedChangesWarning(event: BeforeUnloadEvent) {\n if (tableMeta.editing.isEditing && hasChanges) {\n event.returnValue = true;\n return true;\n }\n\n return false;\n }\n\n window.addEventListener('beforeunload', showUnsavedChangesWarning);\n\n return () => {\n window.removeEventListener('beforeunload', showUnsavedChangesWarning);\n };\n }, [tableMeta.editing.isEditing, hasChanges]);\n\n const hasSavedChanges = tableMeta.editing.hasSaved();\n\n useLazyEffect(() => {\n if (hasSavedChanges) {\n resetHighlightedColumnIndexes(table.getState().globalFilter, table, localization);\n }\n }, [hasSavedChanges]);\n\n React.useEffect(() => {\n const onClickOutside = (event: MouseEvent) => {\n if (tableMeta.editing.isEditing) {\n const element = event.target as Element;\n const isTableOrIsInsideTable =\n element.tagName === 'TABLE' ||\n element.tagName === 'TBODY' ||\n element.getAttribute('data-taco') === 'backdrop' ||\n element.getAttribute('data-table') === 'editing-toggle' ||\n !document.body.contains(element) ||\n isElementInsideOrTriggeredFromContainer(element, tableRef.current);\n\n // users can click the white space below rows which could be inside the table, but a valid scenario to save\n if (!isTableOrIsInsideTable) {\n tableMeta.editing.saveChanges(table);\n }\n }\n };\n\n document.addEventListener('click', onClickOutside);\n\n return () => document.removeEventListener('click', onClickOutside);\n }, [tableMeta.editing.isEditing, tableMeta.editing.saveChanges]);\n\n React.useEffect(() => {\n if (tableMeta.editing.isEnabled) {\n tableMeta.rowActions.registerHandler('cleanup', (rowId: string) => {\n tableMeta.editing.discardChanges(rowId, table);\n });\n }\n }, []);\n\n // shortcuts\n useGlobalKeyDown(tableMeta.editing.isEnabled ? shortcut : undefined, (event: KeyboardEvent) => {\n event.preventDefault();\n tableMeta.editing.toggleEditing(!tableMeta.editing.isEditing, table, scrollToIndex);\n });\n\n useGlobalKeyDown(tableMeta.editing.isEditing ? { key: 's', meta: true, shift: false } : undefined, event => {\n event.preventDefault();\n tableMeta.editing.saveChanges(table);\n });\n}\n"],"names":["useTableEditingListener","table","tableRef","scrollToIndex","tableMeta","options","meta","localization","useLocalization","useLazyEffect","editing","isEditing","rowActive","rowActiveIndex","undefined","_table$getRowModel$ro","saveChanges","getRowModel","rows","id","hasChanges","React","useEffect","showUnsavedChangesWarning","event","returnValue","window","addEventListener","removeEventListener","hasSavedChanges","hasSaved","resetHighlightedColumnIndexes","getState","globalFilter","onClickOutside","element","target","isTableOrIsInsideTable","tagName","getAttribute","document","body","contains","isElementInsideOrTriggeredFromContainer","current","isEnabled","rowActions","registerHandler","rowId","discardChanges","useGlobalKeyDown","shortcut","preventDefault","toggleEditing","key","shift"],"mappings":"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"}
@@ -11,7 +11,7 @@ const RENDERERS = {
11
11
  cell: Cell
12
12
  };
13
13
  function useTable3(props, ref) {
14
- const editing = useTableEditing(props.enableEditing, props.onEditingSave, props.onEditingChange, props.rowIdentityAccessor, props.validator);
14
+ const editing = useTableEditing(props.enableEditing, props.onEditingSave, props.onEditingChange, props.onEditingCreate, props.onEditingDiscard, props.rowIdentityAccessor, props.validator);
15
15
  const creationEnabled = editing.isEnabled && !!props.onEditingCreate;
16
16
  // this gives me the performance heeby jeebies, but can't think of a better way to internalise the state
17
17
  const data = React__default.useMemo(() => {
@@ -26,20 +26,19 @@ function useTable3(props, ref) {
26
26
  data,
27
27
  enableRowActions: editing.isEditing ? true : props.enableRowActions,
28
28
  // Display EditingActionMenu instead of row actions while editing
29
- rowActions: editing.isEditing ? [(_, rowId, table) => {
29
+ rowActions: editing.isEditing ? [(_, rowId, __, table) => {
30
30
  const tableMeta = table.options.meta;
31
31
  return /*#__PURE__*/React__default.createElement(EditingActionsMenu, {
32
32
  hasChanges: editing.hasChanges(rowId),
33
33
  hasErrors: editing.hasRowErrors(rowId),
34
34
  onDiscard: () => {
35
+ editing.discardChanges(rowId, table);
35
36
  if (editing.temporaryRows.length) {
36
- tableMeta.rowActive.setRowActiveIndex(undefined);
37
- setTimeout(() => {
37
+ requestAnimationFrame(() => {
38
38
  var _editing$createRowBut;
39
39
  return (_editing$createRowBut = editing.createRowButtonRef.current) === null || _editing$createRowBut === void 0 ? void 0 : _editing$createRowBut.focus();
40
- }, 50);
40
+ });
41
41
  }
42
- editing.discardChanges(rowId, table);
43
42
  },
44
43
  onEditingSave: function () {
45
44
  try {
@@ -64,6 +63,9 @@ function useTable3(props, ref) {
64
63
  React__default.useEffect(() => {
65
64
  if (table.ref.current) {
66
65
  table.ref.current.instance.toggleEditing = enabled => table.meta.editing.toggleEditing(enabled !== null && enabled !== void 0 ? enabled : editing => !editing, table.instance, table.renderer.scrollToIndex);
66
+ if (props.onEditingCreate) {
67
+ table.ref.current.instance.createRow = row => table.meta.editing.createRow(table.instance, row);
68
+ }
67
69
  }
68
70
  }, [table.ref.current]);
69
71
  return table;
@@ -1 +1 @@
1
- {"version":3,"file":"useTable3.js","sources":["../../../../../../../src/components/Table3/useTable3.tsx"],"sourcesContent":["import React from 'react';\nimport { RowData, Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useTable } from '../../primitives/Table/Core/useTable';\nimport { useTableEditingListener } from './listeners/useTableEditingListener';\nimport { useTableEditing } from './features/useTableEditing';\nimport { Table3Props, Table3Ref } from './types';\nimport { TableRowActionRenderer } from '../../primitives/Table/types';\nimport { Cell } from './components/Columns/Cell/Cell';\nimport { EditingActionsMenu } from './components/Columns/Internal/EditingActionsMenu';\nimport { Row } from './components/Row/Row';\nimport { useTableRenderOptions } from '../../primitives/Table/Core/types';\n\nexport const RENDERERS = {\n row: Row,\n cell: Cell,\n};\n\ndeclare module '@tanstack/table-core' {\n interface TableMeta<TData extends RowData> {\n editing: ReturnType<typeof useTableEditing>;\n }\n}\n\ntype Table3Meta = {\n editing: ReturnType<typeof useTableEditing>;\n};\n\nexport function useTable3<TType>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const editing = useTableEditing(\n props.enableEditing,\n props.onEditingSave,\n props.onEditingChange,\n props.rowIdentityAccessor,\n props.validator\n );\n const creationEnabled = editing.isEnabled && !!props.onEditingCreate;\n\n // this gives me the performance heeby jeebies, but can't think of a better way to internalise the state\n const data: TType[] = React.useMemo(() => {\n if (editing.temporaryRows.length) {\n return (props.data ?? []).concat(editing.temporaryRows as TType[]);\n }\n\n return props.data;\n }, [JSON.stringify(props.data), editing.temporaryRows.length]);\n\n const extendedProps: Table3Props<TType> = {\n ...props,\n data,\n enableRowActions: editing.isEditing ? true : props.enableRowActions,\n // Display EditingActionMenu instead of row actions while editing\n rowActions: editing.isEditing\n ? ([\n (_, rowId, table: ReactTable<TType>) => {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n return (\n <EditingActionsMenu\n hasChanges={editing.hasChanges(rowId)}\n hasErrors={editing.hasRowErrors(rowId)}\n onDiscard={() => {\n if (editing.temporaryRows.length) {\n tableMeta.rowActive.setRowActiveIndex(undefined);\n setTimeout(() => editing.createRowButtonRef.current?.focus(), 50);\n }\n\n editing.discardChanges(rowId, table);\n }}\n onEditingSave={async () => {\n await editing.saveChanges(table, rowId);\n }}\n isLastRow={!creationEnabled && tableMeta.rowActive.rowActiveIndex === tableMeta.length - 1}\n />\n );\n },\n ] as TableRowActionRenderer<TType>[])\n : props.rowActions,\n };\n const meta = { editing };\n\n const options: useTableRenderOptions = {\n virtualiserPaddingEndOffset:\n props.enableEditing && props.onEditingCreate ? (editing.hasTemporaryRowErrors() ? 1.4 : 1) : 0,\n };\n\n const table = useTable<TType, Table3Meta>(extendedProps, ref, RENDERERS, meta, options);\n\n // listeners\n useTableEditingListener<TType>(table.instance, table.ref, table.renderer.scrollToIndex);\n\n React.useEffect(() => {\n if (table.ref.current) {\n (table.ref.current as Table3Ref).instance.toggleEditing = (enabled: boolean | undefined) =>\n table.meta.editing.toggleEditing(enabled ?? (editing => !editing), table.instance, table.renderer.scrollToIndex);\n }\n }, [table.ref.current]);\n\n return table;\n}\n"],"names":["RENDERERS","row","Row","cell","Cell","useTable3","props","ref","editing","useTableEditing","enableEditing","onEditingSave","onEditingChange","rowIdentityAccessor","validator","creationEnabled","isEnabled","onEditingCreate","data","React","useMemo","temporaryRows","length","_props$data","concat","JSON","stringify","extendedProps","enableRowActions","isEditing","rowActions","_","rowId","table","tableMeta","options","meta","EditingActionsMenu","hasChanges","hasErrors","hasRowErrors","onDiscard","rowActive","setRowActiveIndex","undefined","setTimeout","_editing$createRowBut","createRowButtonRef","current","focus","discardChanges","saveChanges","then","e","Promise","reject","isLastRow","rowActiveIndex","virtualiserPaddingEndOffset","hasTemporaryRowErrors","useTable","useTableEditingListener","instance","renderer","scrollToIndex","useEffect","toggleEditing","enabled"],"mappings":";;;;;;;;MAYaA,SAAS,GAAG;EACrBC,GAAG,EAAEC,GAAG;EACRC,IAAI,EAAEC;;SAaMC,SAASA,CAAQC,KAAyB,EAAEC,GAAyB;EACjF,MAAMC,OAAO,GAAGC,eAAe,CAC3BH,KAAK,CAACI,aAAa,EACnBJ,KAAK,CAACK,aAAa,EACnBL,KAAK,CAACM,eAAe,EACrBN,KAAK,CAACO,mBAAmB,EACzBP,KAAK,CAACQ,SAAS,CAClB;EACD,MAAMC,eAAe,GAAGP,OAAO,CAACQ,SAAS,IAAI,CAAC,CAACV,KAAK,CAACW,eAAe;;EAGpE,MAAMC,IAAI,GAAYC,cAAK,CAACC,OAAO,CAAC;IAChC,IAAIZ,OAAO,CAACa,aAAa,CAACC,MAAM,EAAE;MAAA,IAAAC,WAAA;MAC9B,OAAO,EAAAA,WAAA,GAACjB,KAAK,CAACY,IAAI,cAAAK,WAAA,cAAAA,WAAA,GAAI,EAAE,EAAEC,MAAM,CAAChB,OAAO,CAACa,aAAwB,CAAC;;IAGtE,OAAOf,KAAK,CAACY,IAAI;GACpB,EAAE,CAACO,IAAI,CAACC,SAAS,CAACpB,KAAK,CAACY,IAAI,CAAC,EAAEV,OAAO,CAACa,aAAa,CAACC,MAAM,CAAC,CAAC;EAE9D,MAAMK,aAAa,GAAuB;IACtC,GAAGrB,KAAK;IACRY,IAAI;IACJU,gBAAgB,EAAEpB,OAAO,CAACqB,SAAS,GAAG,IAAI,GAAGvB,KAAK,CAACsB,gBAAgB;;IAEnEE,UAAU,EAAEtB,OAAO,CAACqB,SAAS,GACtB,CACG,CAACE,CAAC,EAAEC,KAAK,EAAEC,KAAwB;MAC/B,MAAMC,SAAS,GAAGD,KAAK,CAACE,OAAO,CAACC,IAA6B;MAC7D,oBACIjB,6BAACkB,kBAAkB;QACfC,UAAU,EAAE9B,OAAO,CAAC8B,UAAU,CAACN,KAAK,CAAC;QACrCO,SAAS,EAAE/B,OAAO,CAACgC,YAAY,CAACR,KAAK,CAAC;QACtCS,SAAS,EAAEA;UACP,IAAIjC,OAAO,CAACa,aAAa,CAACC,MAAM,EAAE;YAC9BY,SAAS,CAACQ,SAAS,CAACC,iBAAiB,CAACC,SAAS,CAAC;YAChDC,UAAU,CAAC;cAAA,IAAAC,qBAAA;cAAA,QAAAA,qBAAA,GAAMtC,OAAO,CAACuC,kBAAkB,CAACC,OAAO,cAAAF,qBAAA,uBAAlCA,qBAAA,CAAoCG,KAAK,EAAE;eAAE,EAAE,CAAC;;UAGrEzC,OAAO,CAAC0C,cAAc,CAAClB,KAAK,EAAEC,KAAK,CAAC;SACvC;QACDtB,aAAa;UAAA;mCACHH,OAAO,CAAC2C,WAAW,CAAClB,KAAK,EAAED,KAAK,CAAC,EAAAoB,IAAA;WAC1C,QAAAC,CAAA;YAAA,OAAAC,OAAA,CAAAC,MAAA,CAAAF,CAAA;;;QACDG,SAAS,EAAE,CAACzC,eAAe,IAAImB,SAAS,CAACQ,SAAS,CAACe,cAAc,KAAKvB,SAAS,CAACZ,MAAM,GAAG;QAC3F;KAET,CACgC,GACrChB,KAAK,CAACwB;GACf;EACD,MAAMM,IAAI,GAAG;IAAE5B;GAAS;EAExB,MAAM2B,OAAO,GAA0B;IACnCuB,2BAA2B,EACvBpD,KAAK,CAACI,aAAa,IAAIJ,KAAK,CAACW,eAAe,GAAIT,OAAO,CAACmD,qBAAqB,EAAE,GAAG,GAAG,GAAG,CAAC,GAAI;GACpG;EAED,MAAM1B,KAAK,GAAG2B,QAAQ,CAAoBjC,aAAa,EAAEpB,GAAG,EAAEP,SAAS,EAAEoC,IAAI,EAAED,OAAO,CAAC;;EAGvF0B,uBAAuB,CAAQ5B,KAAK,CAAC6B,QAAQ,EAAE7B,KAAK,CAAC1B,GAAG,EAAE0B,KAAK,CAAC8B,QAAQ,CAACC,aAAa,CAAC;EAEvF7C,cAAK,CAAC8C,SAAS,CAAC;IACZ,IAAIhC,KAAK,CAAC1B,GAAG,CAACyC,OAAO,EAAE;MAClBf,KAAK,CAAC1B,GAAG,CAACyC,OAAqB,CAACc,QAAQ,CAACI,aAAa,GAAIC,OAA4B,IACnFlC,KAAK,CAACG,IAAI,CAAC5B,OAAO,CAAC0D,aAAa,CAACC,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAK3D,OAAO,IAAI,CAACA,OAAO,EAAGyB,KAAK,CAAC6B,QAAQ,EAAE7B,KAAK,CAAC8B,QAAQ,CAACC,aAAa,CAAC;;GAE3H,EAAE,CAAC/B,KAAK,CAAC1B,GAAG,CAACyC,OAAO,CAAC,CAAC;EAEvB,OAAOf,KAAK;AAChB;;;;"}
1
+ {"version":3,"file":"useTable3.js","sources":["../../../../../../../src/components/Table3/useTable3.tsx"],"sourcesContent":["import React from 'react';\nimport { RowData, Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useTable } from '../../primitives/Table/Core/useTable';\nimport { useTableEditingListener } from './listeners/useTableEditingListener';\nimport { useTableEditing } from './features/useTableEditing';\nimport { Table3Props, Table3Ref } from './types';\nimport { TableRowActionRenderer } from '../../primitives/Table/types';\nimport { Cell } from './components/Columns/Cell/Cell';\nimport { EditingActionsMenu } from './components/Columns/Internal/EditingActionsMenu';\nimport { Row } from './components/Row/Row';\nimport { useTableRenderOptions } from '../../primitives/Table/Core/types';\n\nexport const RENDERERS = {\n row: Row,\n cell: Cell,\n};\n\ndeclare module '@tanstack/table-core' {\n interface TableMeta<TData extends RowData> {\n editing: ReturnType<typeof useTableEditing>;\n }\n}\n\ntype Table3Meta = {\n editing: ReturnType<typeof useTableEditing>;\n};\n\nexport function useTable3<TType>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const editing = useTableEditing(\n props.enableEditing,\n props.onEditingSave,\n props.onEditingChange,\n props.onEditingCreate,\n props.onEditingDiscard,\n props.rowIdentityAccessor,\n props.validator\n );\n const creationEnabled = editing.isEnabled && !!props.onEditingCreate;\n\n // this gives me the performance heeby jeebies, but can't think of a better way to internalise the state\n const data: TType[] = React.useMemo(() => {\n if (editing.temporaryRows.length) {\n return (props.data ?? []).concat(editing.temporaryRows as TType[]);\n }\n\n return props.data;\n }, [JSON.stringify(props.data), editing.temporaryRows.length]);\n\n const extendedProps: Table3Props<TType> = {\n ...props,\n data,\n enableRowActions: editing.isEditing ? true : props.enableRowActions,\n // Display EditingActionMenu instead of row actions while editing\n rowActions: editing.isEditing\n ? ([\n (_, rowId: string, __, table: ReactTable<TType>) => {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n return (\n <EditingActionsMenu\n hasChanges={editing.hasChanges(rowId)}\n hasErrors={editing.hasRowErrors(rowId)}\n onDiscard={() => {\n editing.discardChanges(rowId, table);\n\n if (editing.temporaryRows.length) {\n requestAnimationFrame(() => editing.createRowButtonRef.current?.focus());\n }\n }}\n onEditingSave={async () => {\n await editing.saveChanges(table, rowId);\n }}\n isLastRow={!creationEnabled && tableMeta.rowActive.rowActiveIndex === tableMeta.length - 1}\n />\n );\n },\n ] as TableRowActionRenderer<TType>[])\n : props.rowActions,\n };\n\n const meta = { editing };\n\n const options: useTableRenderOptions = {\n virtualiserPaddingEndOffset:\n props.enableEditing && props.onEditingCreate ? (editing.hasTemporaryRowErrors() ? 1.4 : 1) : 0,\n };\n\n const table = useTable<TType, Table3Meta>(extendedProps, ref, RENDERERS, meta, options);\n\n // listeners\n useTableEditingListener<TType>(table.instance, table.ref, table.renderer.scrollToIndex);\n\n React.useEffect(() => {\n if (table.ref.current) {\n (table.ref.current as Table3Ref).instance.toggleEditing = (enabled: boolean | undefined) =>\n table.meta.editing.toggleEditing(enabled ?? (editing => !editing), table.instance, table.renderer.scrollToIndex);\n\n if (props.onEditingCreate) {\n (table.ref.current as Table3Ref).instance.createRow = (row: unknown) =>\n table.meta.editing.createRow(table.instance, row as Partial<TType>);\n }\n }\n }, [table.ref.current]);\n\n return table;\n}\n"],"names":["RENDERERS","row","Row","cell","Cell","useTable3","props","ref","editing","useTableEditing","enableEditing","onEditingSave","onEditingChange","onEditingCreate","onEditingDiscard","rowIdentityAccessor","validator","creationEnabled","isEnabled","data","React","useMemo","temporaryRows","length","_props$data","concat","JSON","stringify","extendedProps","enableRowActions","isEditing","rowActions","_","rowId","__","table","tableMeta","options","meta","EditingActionsMenu","hasChanges","hasErrors","hasRowErrors","onDiscard","discardChanges","requestAnimationFrame","_editing$createRowBut","createRowButtonRef","current","focus","saveChanges","then","e","Promise","reject","isLastRow","rowActive","rowActiveIndex","virtualiserPaddingEndOffset","hasTemporaryRowErrors","useTable","useTableEditingListener","instance","renderer","scrollToIndex","useEffect","toggleEditing","enabled","createRow"],"mappings":"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"}
@@ -93,6 +93,14 @@ const shortcut = {
93
93
  meta: true,
94
94
  shift: false
95
95
  };
96
+ function isTableScrolled(ref) {
97
+ if (ref.current) {
98
+ var _ref$current, _ref$current$querySel, _ref$current2, _ref$current2$querySe;
99
+ const height = parseFloat(((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : (_ref$current$querySel = _ref$current.querySelector('tbody')) === null || _ref$current$querySel === void 0 ? void 0 : _ref$current$querySel.style.height) || '0') + parseFloat(((_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : (_ref$current2$querySe = _ref$current2.querySelector('tbody')) === null || _ref$current2$querySe === void 0 ? void 0 : _ref$current2$querySe.style.paddingBottom) || '0');
100
+ return height > ref.current.scrollHeight;
101
+ }
102
+ return false;
103
+ }
96
104
 
97
- export { TEMPORARY_ROW_ID_PREFIX, isTemporaryRow, shortcut, willRowMove };
105
+ export { TEMPORARY_ROW_ID_PREFIX, isTableScrolled, isTemporaryRow, shortcut, willRowMove };
98
106
  //# sourceMappingURL=editing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editing.js","sources":["../../../../../../../../src/components/Table3/util/editing.ts"],"sourcesContent":["import { Cell as ReactTableCell, Row as ReactTableRow, Table as ReactTable } from '@tanstack/react-table';\nimport { TableFilterValue } from '../../../primitives/Table/types';\nimport { columnFilterFn } from '../../../primitives/Table/useTableManager/util/filtering';\nimport { globalFilterFn } from '../../../primitives/Table/useTableManager/util/search';\nimport { Localization } from '../../Provider/Localization';\n\nexport function willRowMove<TType = unknown>(\n cell: ReactTableCell<TType, unknown>,\n change: unknown,\n rowIndex: number,\n localization: Localization\n) {\n const { table } = cell.getContext();\n\n if (willRowMoveAfterSearch<TType>(cell, change, table, localization)) {\n return 'search';\n } else if (willRowMoveAfterFilter<TType>(cell, change)) {\n return 'filter';\n } else if (willRowMoveAfterSorting<TType>(cell, change, rowIndex)) {\n return 'sorting';\n }\n\n return undefined;\n}\n\nfunction willRowMoveAfterSearch<TType = unknown>(\n cell: ReactTableCell<TType, unknown>,\n change: unknown,\n table: ReactTable<TType>,\n localization: Localization\n) {\n const searchQuery = table.getState().globalFilter;\n\n if (!table.options.enableGlobalFilter || !searchQuery) {\n return false;\n }\n\n const rowWithChange = { ...cell.row, original: { ...cell.row.original, [cell.column.id]: change } };\n return !globalFilterFn(rowWithChange, cell.column.id, searchQuery, localization);\n}\n\nfunction willRowMoveAfterFilter<TType = unknown>(cell: ReactTableCell<TType, unknown>, change: unknown) {\n if (!cell.column.getIsFiltered()) {\n return false;\n }\n\n return !columnFilterFn(change, cell.column.getFilterValue() as TableFilterValue);\n}\n\nfunction willRowMoveAfterSorting<TType = unknown>(cell: ReactTableCell<TType, unknown>, change: unknown, rowIndex: number) {\n if (!cell.column.getIsSorted()) {\n return false;\n }\n\n const { table } = cell.getContext();\n const rows = table.getRowModel().rows;\n\n const miniSortRows: ReactTableRow<TType>[] = [\n {\n ...cell.row,\n original: {\n ...cell.row.original,\n [cell.column.id]: change,\n },\n getValue: () => change as any,\n },\n ];\n\n let index = 0;\n\n if (rowIndex > 0) {\n miniSortRows.unshift(rows[rowIndex - 1]);\n index = 1;\n }\n\n if (rowIndex < rows.length - 1) {\n miniSortRows.push(rows[rowIndex + 1]);\n }\n\n const sortRows = (rowA: ReactTableRow<TType>, rowB: ReactTableRow<TType>) => {\n const sortFn = cell.column.getSortingFn();\n const sortUndefined = cell.column.columnDef.sortUndefined;\n\n if (!table.options.manualSorting && sortUndefined) {\n const aValue = rowA.getValue(cell.column.id);\n const bValue = rowB.getValue(cell.column.id);\n\n const aUndefined = aValue === undefined;\n const bUndefined = bValue === undefined;\n\n if (aUndefined || bUndefined) {\n if (sortUndefined === 'first') return aUndefined ? -1 : 1;\n if (sortUndefined === 'last') return aUndefined ? 1 : -1;\n\n return aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined;\n }\n }\n\n return sortFn(rowA, rowB, cell.column.id);\n };\n\n const resortedRows = [...miniSortRows].sort(sortRows as any);\n\n if (cell.column.getIsSorted() === 'desc') {\n resortedRows.reverse();\n }\n\n return resortedRows[index]?.id !== cell.row.id;\n}\n\nexport const TEMPORARY_ROW_ID_PREFIX = 'temp-';\n\nexport function isTemporaryRow(rowId: string) {\n if (rowId === undefined) {\n return false;\n }\n\n return String(rowId).startsWith(TEMPORARY_ROW_ID_PREFIX);\n}\n\nexport const shortcut = { key: 'e', meta: true, shift: false };\n"],"names":["willRowMove","cell","change","rowIndex","localization","table","getContext","willRowMoveAfterSearch","willRowMoveAfterFilter","willRowMoveAfterSorting","undefined","searchQuery","getState","globalFilter","options","enableGlobalFilter","rowWithChange","row","original","column","id","globalFilterFn","getIsFiltered","columnFilterFn","getFilterValue","getIsSorted","rows","getRowModel","miniSortRows","getValue","index","unshift","length","push","sortRows","rowA","rowB","sortFn","getSortingFn","sortUndefined","columnDef","manualSorting","aValue","bValue","aUndefined","bUndefined","resortedRows","sort","reverse","_resortedRows$index","TEMPORARY_ROW_ID_PREFIX","isTemporaryRow","rowId","String","startsWith","shortcut","key","meta","shift"],"mappings":"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"}
1
+ {"version":3,"file":"editing.js","sources":["../../../../../../../../src/components/Table3/util/editing.ts"],"sourcesContent":["import React from 'react';\nimport { Cell as ReactTableCell, Row as ReactTableRow, Table as ReactTable } from '@tanstack/react-table';\nimport { TableFilterValue, TableRef } from '../../../primitives/Table/types';\nimport { columnFilterFn } from '../../../primitives/Table/useTableManager/util/filtering';\nimport { globalFilterFn } from '../../../primitives/Table/useTableManager/util/search';\nimport { Localization } from '../../Provider/Localization';\n\nexport function willRowMove<TType = unknown>(\n cell: ReactTableCell<TType, unknown>,\n change: unknown,\n rowIndex: number,\n localization: Localization\n) {\n const { table } = cell.getContext();\n\n if (willRowMoveAfterSearch<TType>(cell, change, table, localization)) {\n return 'search';\n } else if (willRowMoveAfterFilter<TType>(cell, change)) {\n return 'filter';\n } else if (willRowMoveAfterSorting<TType>(cell, change, rowIndex)) {\n return 'sorting';\n }\n\n return undefined;\n}\n\nfunction willRowMoveAfterSearch<TType = unknown>(\n cell: ReactTableCell<TType, unknown>,\n change: unknown,\n table: ReactTable<TType>,\n localization: Localization\n) {\n const searchQuery = table.getState().globalFilter;\n\n if (!table.options.enableGlobalFilter || !searchQuery) {\n return false;\n }\n\n const rowWithChange = { ...cell.row, original: { ...cell.row.original, [cell.column.id]: change } };\n return !globalFilterFn(rowWithChange, cell.column.id, searchQuery, localization);\n}\n\nfunction willRowMoveAfterFilter<TType = unknown>(cell: ReactTableCell<TType, unknown>, change: unknown) {\n if (!cell.column.getIsFiltered()) {\n return false;\n }\n\n return !columnFilterFn(change, cell.column.getFilterValue() as TableFilterValue);\n}\n\nfunction willRowMoveAfterSorting<TType = unknown>(cell: ReactTableCell<TType, unknown>, change: unknown, rowIndex: number) {\n if (!cell.column.getIsSorted()) {\n return false;\n }\n\n const { table } = cell.getContext();\n const rows = table.getRowModel().rows;\n\n const miniSortRows: ReactTableRow<TType>[] = [\n {\n ...cell.row,\n original: {\n ...cell.row.original,\n [cell.column.id]: change,\n },\n getValue: () => change as any,\n },\n ];\n\n let index = 0;\n\n if (rowIndex > 0) {\n miniSortRows.unshift(rows[rowIndex - 1]);\n index = 1;\n }\n\n if (rowIndex < rows.length - 1) {\n miniSortRows.push(rows[rowIndex + 1]);\n }\n\n const sortRows = (rowA: ReactTableRow<TType>, rowB: ReactTableRow<TType>) => {\n const sortFn = cell.column.getSortingFn();\n const sortUndefined = cell.column.columnDef.sortUndefined;\n\n if (!table.options.manualSorting && sortUndefined) {\n const aValue = rowA.getValue(cell.column.id);\n const bValue = rowB.getValue(cell.column.id);\n\n const aUndefined = aValue === undefined;\n const bUndefined = bValue === undefined;\n\n if (aUndefined || bUndefined) {\n if (sortUndefined === 'first') return aUndefined ? -1 : 1;\n if (sortUndefined === 'last') return aUndefined ? 1 : -1;\n\n return aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined;\n }\n }\n\n return sortFn(rowA, rowB, cell.column.id);\n };\n\n const resortedRows = [...miniSortRows].sort(sortRows as any);\n\n if (cell.column.getIsSorted() === 'desc') {\n resortedRows.reverse();\n }\n\n return resortedRows[index]?.id !== cell.row.id;\n}\n\nexport const TEMPORARY_ROW_ID_PREFIX = 'temp-';\n\nexport function isTemporaryRow(rowId: string) {\n if (rowId === undefined) {\n return false;\n }\n\n return String(rowId).startsWith(TEMPORARY_ROW_ID_PREFIX);\n}\n\nexport const shortcut = { key: 'e', meta: true, shift: false };\n\nexport function isTableScrolled(ref: React.RefObject<TableRef>) {\n if (ref.current) {\n const height =\n parseFloat(ref.current?.querySelector('tbody')?.style.height || '0') +\n parseFloat(ref.current?.querySelector('tbody')?.style.paddingBottom || '0');\n\n return height > ref.current.scrollHeight;\n }\n\n return false;\n}\n"],"names":["willRowMove","cell","change","rowIndex","localization","table","getContext","willRowMoveAfterSearch","willRowMoveAfterFilter","willRowMoveAfterSorting","undefined","searchQuery","getState","globalFilter","options","enableGlobalFilter","rowWithChange","row","original","column","id","globalFilterFn","getIsFiltered","columnFilterFn","getFilterValue","getIsSorted","rows","getRowModel","miniSortRows","getValue","index","unshift","length","push","sortRows","rowA","rowB","sortFn","getSortingFn","sortUndefined","columnDef","manualSorting","aValue","bValue","aUndefined","bUndefined","resortedRows","sort","reverse","_resortedRows$index","TEMPORARY_ROW_ID_PREFIX","isTemporaryRow","rowId","String","startsWith","shortcut","key","meta","shift","isTableScrolled","ref","current","_ref$current","_ref$current$querySel","_ref$current2","_ref$current2$querySe","height","parseFloat","querySelector","style","paddingBottom","scrollHeight"],"mappings":"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"}
@@ -25,14 +25,16 @@ const Tag = /*#__PURE__*/React__default.forwardRef((props, ref) => {
25
25
  ref: ref,
26
26
  "data-taco": "tag"
27
27
  }), /*#__PURE__*/React__default.createElement("span", {
28
- className: "truncate px-2",
28
+ className: "flex items-center truncate px-2",
29
29
  ref: textRef
30
30
  }, icon ? typeof icon === 'string' ? (/*#__PURE__*/React__default.createElement(Icon, {
31
31
  name: icon,
32
- className: "-ml-1 -mt-0.5 mr-1 !h-5 !w-5"
32
+ className: "-ml-1 mr-1 !h-5 !w-5"
33
33
  })) : (/*#__PURE__*/React__default.cloneElement(icon, {
34
- className: 'mr-1 -ml-1 -mt-0.5 !h-5 !w-5'
35
- })) : null, children), onDelete ? (/*#__PURE__*/React__default.createElement(Icon, {
34
+ className: cn(icon.props.className, 'mr-1 -ml-1')
35
+ })) : null, /*#__PURE__*/React__default.createElement("span", {
36
+ className: "truncate"
37
+ }, children)), onDelete ? (/*#__PURE__*/React__default.createElement(Icon, {
36
38
  name: "close",
37
39
  onClick: onDelete,
38
40
  className: "-ml-1.5 !h-6 !w-5 flex-shrink-0 cursor-pointer rounded-r p-0.5 hover:bg-black/5"
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.js","sources":["../../../../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'clsx';\nimport { Icon, IconName, IconProps } from '../Icon/Icon';\nimport { Color } from '../../types';\nimport { getSubtleColorShadeClasses } from '../../utils/tailwind';\n\nexport type TagProps = Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> & {\n children: string;\n color?: Color;\n disabled?: boolean;\n icon?: React.ReactElement<IconProps> | IconName;\n readOnly?: boolean;\n onDelete?: (event: React.MouseEvent<SVGSVGElement>) => void;\n};\n\nexport const Tag = React.forwardRef<HTMLSpanElement, TagProps>((props, ref) => {\n const { children, color, disabled, icon, readOnly, onDelete, ...otherProps } = props;\n const textRef = React.useRef<HTMLDivElement>(null);\n\n const className = cn(\n 'inline-flex items-center rounded h-6 cursor-default',\n {\n 'opacity-50': disabled,\n 'hover:bg-opacity-75': !disabled,\n 'cursor-pointer': !!otherProps.onClick,\n 'pointer-events-none': disabled || readOnly,\n },\n getSubtleColorShadeClasses(color),\n props.className\n );\n\n return (\n <span {...otherProps} className={className} ref={ref} data-taco=\"tag\">\n <span className=\"truncate px-2\" ref={textRef}>\n {icon ? (\n typeof icon === 'string' ? (\n <Icon name={icon} className=\"-ml-1 -mt-0.5 mr-1 !h-5 !w-5\" />\n ) : (\n React.cloneElement(icon, { className: 'mr-1 -ml-1 -mt-0.5 !h-5 !w-5' })\n )\n ) : null}\n {children}\n </span>\n {onDelete ? (\n <Icon\n name=\"close\"\n onClick={onDelete}\n className=\"-ml-1.5 !h-6 !w-5 flex-shrink-0 cursor-pointer rounded-r p-0.5 hover:bg-black/5\"\n />\n ) : null}\n </span>\n );\n});\n"],"names":["Tag","React","forwardRef","props","ref","children","color","disabled","icon","readOnly","onDelete","otherProps","textRef","useRef","className","cn","onClick","getSubtleColorShadeClasses","Icon","name","cloneElement"],"mappings":";;;;;MAeaA,GAAG,gBAAGC,cAAK,CAACC,UAAU,CAA4B,CAACC,KAAK,EAAEC,GAAG;EACtE,MAAM;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC;GAAY,GAAGR,KAAK;EACpF,MAAMS,OAAO,GAAGX,cAAK,CAACY,MAAM,CAAiB,IAAI,CAAC;EAElD,MAAMC,SAAS,GAAGC,EAAE,CAChB,qDAAqD,EACrD;IACI,YAAY,EAAER,QAAQ;IACtB,qBAAqB,EAAE,CAACA,QAAQ;IAChC,gBAAgB,EAAE,CAAC,CAACI,UAAU,CAACK,OAAO;IACtC,qBAAqB,EAAET,QAAQ,IAAIE;GACtC,EACDQ,0BAA0B,CAACX,KAAK,CAAC,EACjCH,KAAK,CAACW,SAAS,CAClB;EAED,oBACIb,uDAAUU,UAAU;IAAEG,SAAS,EAAEA,SAAS;IAAEV,GAAG,EAAEA,GAAG;iBAAY;mBAC5DH;IAAMa,SAAS,EAAC,eAAe;IAACV,GAAG,EAAEQ;KAChCJ,IAAI,GACD,OAAOA,IAAI,KAAK,QAAQ,iBACpBP,6BAACiB,IAAI;IAACC,IAAI,EAAEX,IAAI;IAAEM,SAAS,EAAC;IAAiC,kBAE7Db,cAAK,CAACmB,YAAY,CAACZ,IAAI,EAAE;IAAEM,SAAS,EAAE;GAAgC,CAAC,CAC1E,GACD,IAAI,EACPT,QAAQ,CACN,EACNK,QAAQ,iBACLT,6BAACiB,IAAI;IACDC,IAAI,EAAC,OAAO;IACZH,OAAO,EAAEN,QAAQ;IACjBI,SAAS,EAAC;IACZ,IACF,IAAI,CACL;AAEf,CAAC;;;;"}
1
+ {"version":3,"file":"Tag.js","sources":["../../../../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'clsx';\nimport { Icon, IconName, IconProps } from '../Icon/Icon';\nimport { Color } from '../../types';\nimport { getSubtleColorShadeClasses } from '../../utils/tailwind';\n\nexport type TagProps = Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> & {\n children: string;\n color?: Color;\n disabled?: boolean;\n icon?: React.ReactElement<IconProps> | IconName;\n readOnly?: boolean;\n onDelete?: (event: React.MouseEvent<SVGSVGElement>) => void;\n};\n\nexport const Tag = React.forwardRef<HTMLSpanElement, TagProps>((props, ref) => {\n const { children, color, disabled, icon, readOnly, onDelete, ...otherProps } = props;\n const textRef = React.useRef<HTMLDivElement>(null);\n\n const className = cn(\n 'inline-flex items-center rounded h-6 cursor-default',\n {\n 'opacity-50': disabled,\n 'hover:bg-opacity-75': !disabled,\n 'cursor-pointer': !!otherProps.onClick,\n 'pointer-events-none': disabled || readOnly,\n },\n getSubtleColorShadeClasses(color),\n props.className\n );\n\n return (\n <span {...otherProps} className={className} ref={ref} data-taco=\"tag\">\n <span className=\"flex items-center truncate px-2\" ref={textRef}>\n {icon ? (\n typeof icon === 'string' ? (\n <Icon name={icon} className=\"-ml-1 mr-1 !h-5 !w-5\" />\n ) : (\n React.cloneElement(icon, {\n className: cn(icon.props.className, 'mr-1 -ml-1'),\n })\n )\n ) : null}\n <span className=\"truncate\">{children}</span>\n </span>\n {onDelete ? (\n <Icon\n name=\"close\"\n onClick={onDelete}\n className=\"-ml-1.5 !h-6 !w-5 flex-shrink-0 cursor-pointer rounded-r p-0.5 hover:bg-black/5\"\n />\n ) : null}\n </span>\n );\n});\n"],"names":["Tag","React","forwardRef","props","ref","children","color","disabled","icon","readOnly","onDelete","otherProps","textRef","useRef","className","cn","onClick","getSubtleColorShadeClasses","Icon","name","cloneElement"],"mappings":";;;;;MAeaA,GAAG,gBAAGC,cAAK,CAACC,UAAU,CAA4B,CAACC,KAAK,EAAEC,GAAG;EACtE,MAAM;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC;GAAY,GAAGR,KAAK;EACpF,MAAMS,OAAO,GAAGX,cAAK,CAACY,MAAM,CAAiB,IAAI,CAAC;EAElD,MAAMC,SAAS,GAAGC,EAAE,CAChB,qDAAqD,EACrD;IACI,YAAY,EAAER,QAAQ;IACtB,qBAAqB,EAAE,CAACA,QAAQ;IAChC,gBAAgB,EAAE,CAAC,CAACI,UAAU,CAACK,OAAO;IACtC,qBAAqB,EAAET,QAAQ,IAAIE;GACtC,EACDQ,0BAA0B,CAACX,KAAK,CAAC,EACjCH,KAAK,CAACW,SAAS,CAClB;EAED,oBACIb,uDAAUU,UAAU;IAAEG,SAAS,EAAEA,SAAS;IAAEV,GAAG,EAAEA,GAAG;iBAAY;mBAC5DH;IAAMa,SAAS,EAAC,iCAAiC;IAACV,GAAG,EAAEQ;KAClDJ,IAAI,GACD,OAAOA,IAAI,KAAK,QAAQ,iBACpBP,6BAACiB,IAAI;IAACC,IAAI,EAAEX,IAAI;IAAEM,SAAS,EAAC;IAAyB,kBAErDb,cAAK,CAACmB,YAAY,CAACZ,IAAI,EAAE;IACrBM,SAAS,EAAEC,EAAE,CAACP,IAAI,CAACL,KAAK,CAACW,SAAS,EAAE,YAAY;GACnD,CAAC,CACL,GACD,IAAI,eACRb;IAAMa,SAAS,EAAC;KAAYT,QAAQ,CAAQ,CACzC,EACNK,QAAQ,iBACLT,6BAACiB,IAAI;IACDC,IAAI,EAAC,OAAO;IACZH,OAAO,EAAEN,QAAQ;IACjBI,SAAS,EAAC;IACZ,IACF,IAAI,CACL;AAEf,CAAC;;;;"}
@@ -1,7 +1,7 @@
1
- import { useState, useCallback, useEffect, createElement, useContext, createContext } from 'react';
1
+ import { useState, useCallback, useEffect, createElement, useContext, createContext, useLayoutEffect } from 'react';
2
2
  import { v4 } from 'uuid';
3
3
  import { AnimatePresence, motion } from 'framer-motion';
4
- import { Portal } from '@radix-ui/react-portal';
4
+ import ReactDOM from 'react-dom';
5
5
  import { Toast } from './Toast.js';
6
6
 
7
7
  const DEFAULT_AUTO_CLOSE_TIMEOUT = 7500;
@@ -21,6 +21,20 @@ const insertToastWithoutDuplicates = (currentToasts, id, content, options, close
21
21
  }
22
22
  return nextToasts;
23
23
  };
24
+ const Portal = props => {
25
+ var _globalThis$document;
26
+ const {
27
+ children,
28
+ container: containerProp,
29
+ ...portalProps
30
+ } = props;
31
+ const [mounted, setMounted] = useState(false);
32
+ useLayoutEffect(() => setMounted(true), []);
33
+ const container = containerProp || mounted && (globalThis === null || globalThis === void 0 ? void 0 : (_globalThis$document = globalThis.document) === null || _globalThis$document === void 0 ? void 0 : _globalThis$document.body);
34
+ return container ? /*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/createElement("div", Object.assign({}, portalProps, {
35
+ "data-taco": "portal"
36
+ }), children), container) : null;
37
+ };
24
38
  const ToastProvider = ({
25
39
  children,
26
40
  ...props
@@ -1 +1 @@
1
- {"version":3,"file":"Toaster.js","sources":["../../../../../../../src/components/Toast/Toaster.tsx"],"sourcesContent":["import * as React from 'react';\nimport { v4 as uuid } from 'uuid';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { Portal } from '@radix-ui/react-portal';\n\nimport { ToastOptions, Toast, ToastProps, ToastContent } from './Toast';\nimport './Toast.css';\n\nconst DEFAULT_AUTO_CLOSE_TIMEOUT = 7500;\n\ntype ToastCreator<T> = (content: ToastContent | ((close: () => void) => ToastContent), options?: ToastOptions) => T;\n\nexport interface Toaster<T> extends ToastCreator<T> {\n success: ToastCreator<T>;\n error: ToastCreator<T>;\n warning: ToastCreator<T>;\n information: ToastCreator<T>;\n loading: ToastCreator<T>;\n}\n\nexport interface ToastReference {\n /** Show a success toast */\n success: ToastCreator<void>;\n /** Show an error toast */\n error: ToastCreator<void>;\n /** Show a warning toast */\n warning: ToastCreator<void>;\n /** Show an information toast */\n information: ToastCreator<void>;\n /** Show a loading toast */\n loading: ToastCreator<void>;\n /**\n * Close an existing toast.\n * The toast function returns a reference to the active toast,\n * allowing you to programmatically close it when needed\n */\n close: () => void;\n}\n\nconst ToastContext = React.createContext<Toaster<ToastReference>>({} as Toaster<ToastReference>);\n\nexport interface ToastProviderProps {\n children: React.ReactNode;\n}\n\ntype InternalToast = Omit<ToastProps, 'onClose'>;\n\nconst insertToastWithoutDuplicates = (\n currentToasts: InternalToast[],\n id: string,\n content: ToastContent,\n options: ToastOptions,\n close: () => void\n): InternalToast[] => {\n const nextToasts = [...currentToasts];\n const existingToastIndex = currentToasts.findIndex(toast => JSON.stringify(toast.content) === JSON.stringify(content));\n\n if (existingToastIndex > -1) {\n nextToasts[existingToastIndex].lastDuplicateId = id;\n nextToasts[existingToastIndex].lastUpdated = Date.now();\n } else {\n nextToasts.push({\n id,\n content: typeof content === 'function' ? content(close) : content,\n options,\n });\n }\n\n return nextToasts;\n};\n\nexport const ToastProvider = ({ children, ...props }: ToastProviderProps): JSX.Element => {\n const [toasts, setToasts] = React.useState<InternalToast[]>([]);\n\n const handleClose = (id: string): void => {\n setToasts(currentToasts => currentToasts.filter(toast => toast.id !== id));\n };\n\n // memoize (useCallback) this function,\n // it is the value of the context provider and we don't want it to trigger state tree re-renders on provider children\n const toaster = React.useCallback((content: ToastContent, options: ToastOptions): ToastReference => {\n const id = uuid();\n const close = (): void => handleClose(id);\n\n setToasts(currentToasts => insertToastWithoutDuplicates(currentToasts, id, content, options, close));\n\n const update = (content: ToastContent, options: ToastOptions): void => {\n setToasts(currentToasts => {\n const nextToasts = currentToasts.filter(toast => {\n if (toast.lastDuplicateId) {\n return toast.lastDuplicateId !== id;\n }\n\n return toast.id !== id;\n });\n return insertToastWithoutDuplicates(nextToasts, uuid(), content, options, close);\n });\n };\n\n const success = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { autoClose: DEFAULT_AUTO_CLOSE_TIMEOUT, ...options, type: 'success' });\n };\n const error = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'error' });\n };\n const warning = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'warning' });\n };\n const information = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'information' });\n };\n const loading = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'loading' });\n };\n\n return {\n success,\n error,\n warning,\n information,\n loading,\n close,\n };\n }, []) as Toaster<ToastReference>;\n\n // no need to rebind these every render, do them once in an effect\n React.useEffect(() => {\n toaster.success = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { autoClose: DEFAULT_AUTO_CLOSE_TIMEOUT, ...options, type: 'success' });\n toaster.error = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'error' });\n toaster.warning = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'warning' });\n toaster.information = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'information' });\n toaster.loading = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'loading' });\n }, []);\n\n return (\n <ToastContext.Provider {...props} value={toaster}>\n {children}\n <Portal>\n <div\n id=\"yt-toast__container\"\n className=\"pointer-events-all absolute !left-auto bottom-0 right-0 z-[1000] mb-4 mr-4 flex max-w-md flex-col items-end justify-end\"\n role=\"log\">\n <AnimatePresence initial={false}>\n {toasts.map((toast: InternalToast) => (\n <motion.div\n key={toast.id}\n transition={{\n type: 'spring',\n damping: 20,\n stiffness: 300,\n }}\n initial={{ opacity: 0, y: 10, scale: 0.5 }}\n animate={{ opacity: 1, y: 0, scale: 1 }}\n exit={{ opacity: 0, scale: 0.5, transition: { duration: 0.2 } }}>\n <Toast {...toast} onClose={() => handleClose(toast.id)} />\n </motion.div>\n ))}\n </AnimatePresence>\n </div>\n </Portal>\n </ToastContext.Provider>\n );\n};\n\nexport const useToast = (): Toaster<ToastReference> => React.useContext(ToastContext);\n"],"names":["DEFAULT_AUTO_CLOSE_TIMEOUT","ToastContext","React","insertToastWithoutDuplicates","currentToasts","id","content","options","close","nextToasts","existingToastIndex","findIndex","toast","JSON","stringify","lastDuplicateId","lastUpdated","Date","now","push","ToastProvider","children","props","toasts","setToasts","handleClose","filter","toaster","uuid","update","success","autoClose","type","error","warning","information","loading","Provider","value","Portal","className","role","AnimatePresence","initial","map","motion","div","key","transition","damping","stiffness","opacity","y","scale","animate","exit","duration","Toast","onClose","useToast"],"mappings":"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"}
1
+ {"version":3,"file":"Toaster.js","sources":["../../../../../../../src/components/Toast/Toaster.tsx"],"sourcesContent":["import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { v4 as uuid } from 'uuid';\nimport { AnimatePresence, motion } from 'framer-motion';\n\nimport { ToastOptions, Toast, ToastProps, ToastContent } from './Toast';\nimport './Toast.css';\n\nconst DEFAULT_AUTO_CLOSE_TIMEOUT = 7500;\n\ntype ToastCreator<T> = (content: ToastContent | ((close: () => void) => ToastContent), options?: ToastOptions) => T;\n\nexport interface Toaster<T> extends ToastCreator<T> {\n success: ToastCreator<T>;\n error: ToastCreator<T>;\n warning: ToastCreator<T>;\n information: ToastCreator<T>;\n loading: ToastCreator<T>;\n}\n\nexport interface ToastReference {\n /** Show a success toast */\n success: ToastCreator<void>;\n /** Show an error toast */\n error: ToastCreator<void>;\n /** Show a warning toast */\n warning: ToastCreator<void>;\n /** Show an information toast */\n information: ToastCreator<void>;\n /** Show a loading toast */\n loading: ToastCreator<void>;\n /**\n * Close an existing toast.\n * The toast function returns a reference to the active toast,\n * allowing you to programmatically close it when needed\n */\n close: () => void;\n}\n\nconst ToastContext = React.createContext<Toaster<ToastReference>>({} as Toaster<ToastReference>);\n\nexport interface ToastProviderProps {\n children: React.ReactNode;\n}\n\ntype InternalToast = Omit<ToastProps, 'onClose'>;\n\nconst insertToastWithoutDuplicates = (\n currentToasts: InternalToast[],\n id: string,\n content: ToastContent,\n options: ToastOptions,\n close: () => void\n): InternalToast[] => {\n const nextToasts = [...currentToasts];\n const existingToastIndex = currentToasts.findIndex(toast => JSON.stringify(toast.content) === JSON.stringify(content));\n\n if (existingToastIndex > -1) {\n nextToasts[existingToastIndex].lastDuplicateId = id;\n nextToasts[existingToastIndex].lastUpdated = Date.now();\n } else {\n nextToasts.push({\n id,\n content: typeof content === 'function' ? content(close) : content,\n options,\n });\n }\n\n return nextToasts;\n};\n\ntype PortalProps = React.ComponentPropsWithRef<'div'> & {\n container?: Element | DocumentFragment | null;\n};\n\nconst Portal = (props: PortalProps) => {\n const { children, container: containerProp, ...portalProps } = props;\n\n const [mounted, setMounted] = React.useState(false);\n React.useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || (mounted && globalThis?.document?.body);\n\n return container\n ? ReactDOM.createPortal(\n <div {...portalProps} data-taco=\"portal\">\n {children}\n </div>,\n container\n )\n : null;\n};\n\nexport const ToastProvider = ({ children, ...props }: ToastProviderProps): JSX.Element => {\n const [toasts, setToasts] = React.useState<InternalToast[]>([]);\n\n const handleClose = (id: string): void => {\n setToasts(currentToasts => currentToasts.filter(toast => toast.id !== id));\n };\n\n // memoize (useCallback) this function,\n // it is the value of the context provider and we don't want it to trigger state tree re-renders on provider children\n const toaster = React.useCallback((content: ToastContent, options: ToastOptions): ToastReference => {\n const id = uuid();\n const close = (): void => handleClose(id);\n\n setToasts(currentToasts => insertToastWithoutDuplicates(currentToasts, id, content, options, close));\n\n const update = (content: ToastContent, options: ToastOptions): void => {\n setToasts(currentToasts => {\n const nextToasts = currentToasts.filter(toast => {\n if (toast.lastDuplicateId) {\n return toast.lastDuplicateId !== id;\n }\n\n return toast.id !== id;\n });\n return insertToastWithoutDuplicates(nextToasts, uuid(), content, options, close);\n });\n };\n\n const success = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { autoClose: DEFAULT_AUTO_CLOSE_TIMEOUT, ...options, type: 'success' });\n };\n const error = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'error' });\n };\n const warning = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'warning' });\n };\n const information = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'information' });\n };\n const loading = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): void => {\n update(content, { ...options, type: 'loading' });\n };\n\n return {\n success,\n error,\n warning,\n information,\n loading,\n close,\n };\n }, []) as Toaster<ToastReference>;\n\n // no need to rebind these every render, do them once in an effect\n React.useEffect(() => {\n toaster.success = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { autoClose: DEFAULT_AUTO_CLOSE_TIMEOUT, ...options, type: 'success' });\n toaster.error = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'error' });\n toaster.warning = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'warning' });\n toaster.information = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'information' });\n toaster.loading = (content: ToastContent, options?: Omit<ToastOptions, 'type'>): ToastReference =>\n toaster(content, { ...options, type: 'loading' });\n }, []);\n\n return (\n <ToastContext.Provider {...props} value={toaster}>\n {children}\n <Portal>\n <div\n id=\"yt-toast__container\"\n className=\"pointer-events-all absolute !left-auto bottom-0 right-0 z-[1000] mb-4 mr-4 flex max-w-md flex-col items-end justify-end\"\n role=\"log\">\n <AnimatePresence initial={false}>\n {toasts.map((toast: InternalToast) => (\n <motion.div\n key={toast.id}\n transition={{\n type: 'spring',\n damping: 20,\n stiffness: 300,\n }}\n initial={{ opacity: 0, y: 10, scale: 0.5 }}\n animate={{ opacity: 1, y: 0, scale: 1 }}\n exit={{ opacity: 0, scale: 0.5, transition: { duration: 0.2 } }}>\n <Toast {...toast} onClose={() => handleClose(toast.id)} />\n </motion.div>\n ))}\n </AnimatePresence>\n </div>\n </Portal>\n </ToastContext.Provider>\n );\n};\n\nexport const useToast = (): Toaster<ToastReference> => React.useContext(ToastContext);\n"],"names":["DEFAULT_AUTO_CLOSE_TIMEOUT","ToastContext","React","insertToastWithoutDuplicates","currentToasts","id","content","options","close","nextToasts","existingToastIndex","findIndex","toast","JSON","stringify","lastDuplicateId","lastUpdated","Date","now","push","Portal","props","children","container","containerProp","portalProps","mounted","setMounted","globalThis","_globalThis$document","document","body","ReactDOM","createPortal","ToastProvider","toasts","setToasts","handleClose","filter","toaster","uuid","update","success","autoClose","type","error","warning","information","loading","Provider","value","className","role","AnimatePresence","initial","map","motion","div","key","transition","damping","stiffness","opacity","y","scale","animate","exit","duration","Toast","onClose","useToast"],"mappings":"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"}
@@ -25,13 +25,13 @@ const Tooltip = /*#__PURE__*/forwardRef(function Tooltip(props, ref) {
25
25
  side: placement,
26
26
  sideOffset: 3
27
27
  }), /*#__PURE__*/createElement("div", {
28
- className: "xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900 px-2 py-1 text-xs font-bold text-white print:hidden",
28
+ className: "xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded bg-blue-900 px-2 py-1 text-xs text-white print:hidden",
29
29
  "data-taco": "tooltip",
30
30
  style: {
31
31
  transformOrigin: 'var(--radix-tooltip-content-transform-origin)'
32
32
  }
33
33
  }, /*#__PURE__*/createElement(Arrow, {
34
- className: "-mt-px fill-blue-900/90 stroke-blue-900/90"
34
+ className: "-mt-px fill-blue-900 stroke-blue-900"
35
35
  }), title))));
36
36
  });
37
37