@economic/taco 2.15.0 → 2.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/dist/components/Drawer/Drawer.d.ts +5 -1
  2. package/dist/components/Provider/Localization.d.ts +19 -0
  3. package/dist/components/SearchInput2/SearchInput2.d.ts +1 -0
  4. package/dist/components/Table3/Table3.d.ts +0 -2
  5. package/dist/components/Table3/components/alert/ErrorAlert.d.ts +10 -0
  6. package/dist/components/Table3/components/columns/cell/DisplayCell.d.ts +5 -2
  7. package/dist/components/Table3/components/columns/cell/EditingCell.d.ts +3 -0
  8. package/dist/components/Table3/components/columns/cell/EditingControl.d.ts +1 -1
  9. package/dist/components/Table3/components/columns/cell/Highlight.d.ts +2 -0
  10. package/dist/components/Table3/components/columns/header/Header.d.ts +1 -1
  11. package/dist/components/Table3/components/columns/internal/EditingActions.d.ts +1 -1
  12. package/dist/components/Table3/components/columns/styles.d.ts +2 -2
  13. package/dist/components/Table3/components/rows/Row.d.ts +5 -1
  14. package/dist/components/Table3/components/rows/RowContext.d.ts +1 -0
  15. package/dist/components/Table3/hooks/features/useEditing.d.ts +12 -11
  16. package/dist/components/Table3/hooks/features/{usePauseHoverState.d.ts → usePauseShortcuts.d.ts} +1 -2
  17. package/dist/components/Table3/hooks/features/useSearch.d.ts +3 -3
  18. package/dist/components/Table3/hooks/features/useValidation.d.ts +13 -0
  19. package/dist/components/Table3/hooks/useTable.d.ts +25 -20
  20. package/dist/components/Table3/types.d.ts +41 -19
  21. package/dist/components/Table3/util/editing.d.ts +6 -0
  22. package/dist/components/Table3/util/scrolling.d.ts +2 -0
  23. package/dist/esm/index.css +108 -33
  24. package/dist/esm/packages/taco/src/components/Banner/Banner.js +2 -2
  25. package/dist/esm/packages/taco/src/components/Banner/Banner.js.map +1 -1
  26. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js +4 -4
  27. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js.map +1 -1
  28. package/dist/esm/packages/taco/src/components/Combobox/Combobox.js +3 -3
  29. package/dist/esm/packages/taco/src/components/Combobox/Combobox.js.map +1 -1
  30. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +2 -1
  31. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
  32. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js +6 -6
  33. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js.map +1 -1
  34. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js +3 -3
  35. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js.map +1 -1
  36. package/dist/esm/packages/taco/src/components/Drawer/Drawer.js +7 -2
  37. package/dist/esm/packages/taco/src/components/Drawer/Drawer.js.map +1 -1
  38. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +7 -7
  39. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js.map +1 -1
  40. package/dist/esm/packages/taco/src/components/Field/Field.js +2 -2
  41. package/dist/esm/packages/taco/src/components/Field/Field.js.map +1 -1
  42. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Item.js +2 -2
  43. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Item.js.map +1 -1
  44. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js +4 -4
  45. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js.map +1 -1
  46. package/dist/esm/packages/taco/src/components/Header/components/Link.js +2 -2
  47. package/dist/esm/packages/taco/src/components/Header/components/Link.js.map +1 -1
  48. package/dist/esm/packages/taco/src/components/Icon/Icon.js +2 -2
  49. package/dist/esm/packages/taco/src/components/Icon/Icon.js.map +1 -1
  50. package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js +2 -2
  51. package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js.map +1 -1
  52. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js +6 -6
  53. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js.map +1 -1
  54. package/dist/esm/packages/taco/src/components/Menu/components/Item.js +4 -4
  55. package/dist/esm/packages/taco/src/components/Menu/components/Item.js.map +1 -1
  56. package/dist/esm/packages/taco/src/components/Navigation/Navigation.js +2 -2
  57. package/dist/esm/packages/taco/src/components/Navigation/Navigation.js.map +1 -1
  58. package/dist/esm/packages/taco/src/components/Navigation2/components/Link.js +3 -3
  59. package/dist/esm/packages/taco/src/components/Navigation2/components/Link.js.map +1 -1
  60. package/dist/esm/packages/taco/src/components/Navigation2/components/Section.js +2 -2
  61. package/dist/esm/packages/taco/src/components/Navigation2/components/Section.js.map +1 -1
  62. package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js +1 -1
  63. package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js.map +1 -1
  64. package/dist/esm/packages/taco/src/components/Pagination/PageNumbers.js +2 -2
  65. package/dist/esm/packages/taco/src/components/Pagination/PageNumbers.js.map +1 -1
  66. package/dist/esm/packages/taco/src/components/Pagination/Pagination.js +5 -5
  67. package/dist/esm/packages/taco/src/components/Pagination/Pagination.js.map +1 -1
  68. package/dist/esm/packages/taco/src/components/Popover/Popover.js +2 -2
  69. package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
  70. package/dist/esm/packages/taco/src/components/Provider/Localization.js +19 -0
  71. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  72. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js +2 -2
  73. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
  74. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +12 -8
  75. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -1
  76. package/dist/esm/packages/taco/src/components/Select/useSelect.js +2 -2
  77. package/dist/esm/packages/taco/src/components/Select/useSelect.js.map +1 -1
  78. package/dist/esm/packages/taco/src/components/Select2/Select2.js +7 -7
  79. package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
  80. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js +8 -8
  81. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js.map +1 -1
  82. package/dist/esm/packages/taco/src/components/Select2/components/Option.js +5 -5
  83. package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
  84. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +10 -10
  85. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
  86. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js +2 -2
  87. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
  88. package/dist/esm/packages/taco/src/components/Table/components/BaseTable.js +3 -3
  89. package/dist/esm/packages/taco/src/components/Table/components/BaseTable.js.map +1 -1
  90. package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js +2 -2
  91. package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js.map +1 -1
  92. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js +10 -10
  93. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  94. package/dist/esm/packages/taco/src/components/Table/util/renderColumn.js +2 -2
  95. package/dist/esm/packages/taco/src/components/Table/util/renderColumn.js.map +1 -1
  96. package/dist/esm/packages/taco/src/components/Table3/Table3.js +37 -30
  97. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  98. package/dist/esm/packages/taco/src/components/Table3/components/alert/ErrorAlert.js +154 -0
  99. package/dist/esm/packages/taco/src/components/Table3/components/alert/ErrorAlert.js.map +1 -0
  100. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js +54 -9
  101. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js.map +1 -1
  102. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js +9 -57
  103. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +1 -1
  104. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +72 -41
  105. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -1
  106. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js +41 -17
  107. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js.map +1 -1
  108. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Highlight.js +41 -0
  109. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Highlight.js.map +1 -0
  110. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/controls/TextareaControl.js +23 -14
  111. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/controls/TextareaControl.js.map +1 -1
  112. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js +3 -3
  113. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js.map +1 -1
  114. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Group.js +1 -1
  115. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Group.js.map +1 -1
  116. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +9 -9
  117. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -1
  118. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js +37 -6
  119. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js.map +1 -1
  120. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +12 -12
  121. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -1
  122. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js +2 -2
  123. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js.map +1 -1
  124. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js +63 -23
  125. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js.map +1 -1
  126. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js +3 -3
  127. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js.map +1 -1
  128. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +3 -3
  129. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +1 -1
  130. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js +2 -13
  131. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -1
  132. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js +67 -57
  133. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js.map +1 -1
  134. package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js +2 -1
  135. package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js.map +1 -1
  136. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js +2 -2
  137. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js.map +1 -1
  138. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +8 -6
  139. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -1
  140. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +23 -8
  141. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -1
  142. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js +2 -2
  143. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +1 -1
  144. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js +2 -2
  145. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js.map +1 -1
  146. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +16 -16
  147. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -1
  148. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +1 -0
  149. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -1
  150. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +53 -4
  151. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -1
  152. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js +8 -8
  153. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js.map +1 -1
  154. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js +185 -101
  155. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js.map +1 -1
  156. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseShortcuts.js +12 -0
  157. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseShortcuts.js.map +1 -0
  158. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js +4 -2
  159. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js.map +1 -1
  160. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useValidation.js +178 -0
  161. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useValidation.js.map +1 -0
  162. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js +3 -3
  163. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js.map +1 -1
  164. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +1 -49
  165. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -1
  166. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +1 -2
  167. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -1
  168. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js +0 -2
  169. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js.map +1 -1
  170. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +135 -111
  171. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -1
  172. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js +4 -4
  173. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js.map +1 -1
  174. package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -1
  175. package/dist/esm/packages/taco/src/components/Table3/util/editing.js +21 -1
  176. package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -1
  177. package/dist/esm/packages/taco/src/components/Table3/util/scrolling.js +53 -0
  178. package/dist/esm/packages/taco/src/components/Table3/util/scrolling.js.map +1 -0
  179. package/dist/esm/packages/taco/src/components/Tag/Tag.js +4 -4
  180. package/dist/esm/packages/taco/src/components/Tag/Tag.js.map +1 -1
  181. package/dist/esm/packages/taco/src/components/Toast/Toaster.js +2 -2
  182. package/dist/esm/packages/taco/src/components/Toast/Toaster.js.map +1 -1
  183. package/dist/esm/packages/taco/src/components/Tour/Tour.js +4 -4
  184. package/dist/esm/packages/taco/src/components/Tour/Tour.js.map +1 -1
  185. package/dist/esm/packages/taco/src/components/Treeview/Treeview.js +2 -2
  186. package/dist/esm/packages/taco/src/components/Treeview/Treeview.js.map +1 -1
  187. package/dist/esm/packages/taco/src/index.js +2 -1
  188. package/dist/esm/packages/taco/src/index.js.map +1 -1
  189. package/dist/esm/packages/taco/src/primitives/Table/types.js +10 -0
  190. package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -0
  191. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableColumnOrdering.js +8 -0
  192. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableColumnOrdering.js.map +1 -0
  193. package/dist/esm/packages/taco/src/{components/Table3/hooks/features/useFontSize.js → primitives/Table/useTable/features/useTableFontSize.js} +3 -3
  194. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableFontSize.js.map +1 -0
  195. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTablePrinting.js +14 -0
  196. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTablePrinting.js.map +1 -0
  197. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowActive.js +100 -0
  198. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowActive.js.map +1 -0
  199. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowClick.js +30 -0
  200. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowClick.js.map +1 -0
  201. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowGoto.js +9 -0
  202. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowGoto.js.map +1 -0
  203. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowHeight.js +13 -0
  204. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowHeight.js.map +1 -0
  205. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowSelection.js +32 -0
  206. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowSelection.js.map +1 -0
  207. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableServerLoading.js +11 -0
  208. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableServerLoading.js.map +1 -0
  209. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableDataListener.js +15 -0
  210. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableDataListener.js.map +1 -0
  211. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useFilteringStateListener.js → primitives/Table/useTable/listeners/useTableFilterListener.js} +3 -3
  212. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableFilterListener.js.map +1 -0
  213. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableFontSizeListener.js +40 -0
  214. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableFontSizeListener.js.map +1 -0
  215. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useRowSelectionListener.js → primitives/Table/useTable/listeners/useTableRowSelectionListener.js} +5 -6
  216. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableRowSelectionListener.js.map +1 -0
  217. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useServerLoadingListener.js → primitives/Table/useTable/listeners/useTableServerLoadingListener.js} +3 -3
  218. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableServerLoadingListener.js.map +1 -0
  219. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useShortcutsListener.js → primitives/Table/useTable/listeners/useTableShortcutsListener.js} +7 -7
  220. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableShortcutsListener.js.map +1 -0
  221. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useSortingStateListener.js → primitives/Table/useTable/listeners/useTableSortingListener.js} +6 -4
  222. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableSortingListener.js.map +1 -0
  223. package/dist/esm/packages/taco/src/{components/Table3/hooks/features/useColumnOrdering.js → primitives/Table/useTable/util/columns.js} +24 -15
  224. package/dist/esm/packages/taco/src/primitives/Table/useTable/util/columns.js.map +1 -0
  225. package/dist/esm/packages/taco/src/types.js +6 -0
  226. package/dist/esm/packages/taco/src/types.js.map +1 -0
  227. package/dist/esm/packages/taco/src/utils/date.js +0 -1
  228. package/dist/esm/packages/taco/src/utils/date.js.map +1 -1
  229. package/dist/index.css +108 -33
  230. package/dist/primitives/Table/types.d.ts +35 -0
  231. package/dist/primitives/Table/useTable/features/useTableColumnOrdering.d.ts +3 -0
  232. package/dist/primitives/Table/useTable/features/useTableFontSize.d.ts +7 -0
  233. package/dist/primitives/Table/useTable/features/useTablePrinting.d.ts +7 -0
  234. package/dist/primitives/Table/useTable/features/useTableRowActive.d.ts +12 -0
  235. package/dist/primitives/Table/useTable/features/useTableRowClick.d.ts +7 -0
  236. package/dist/primitives/Table/useTable/features/useTableRowGoto.d.ts +5 -0
  237. package/dist/primitives/Table/useTable/features/useTableRowHeight.d.ts +7 -0
  238. package/dist/primitives/Table/useTable/features/useTableRowSelection.d.ts +6 -0
  239. package/dist/primitives/Table/useTable/features/useTableServerLoading.d.ts +6 -0
  240. package/dist/primitives/Table/useTable/listeners/useTableDataListener.d.ts +2 -0
  241. package/dist/primitives/Table/useTable/listeners/useTableFilterListener.d.ts +3 -0
  242. package/dist/primitives/Table/useTable/listeners/useTableFontSizeListener.d.ts +2 -0
  243. package/dist/primitives/Table/useTable/listeners/useTableRowSelectionListener.d.ts +3 -0
  244. package/dist/primitives/Table/useTable/listeners/useTableServerLoadingListener.d.ts +3 -0
  245. package/dist/primitives/Table/useTable/listeners/useTableShortcutsListener.d.ts +3 -0
  246. package/dist/primitives/Table/useTable/listeners/useTableSortingListener.d.ts +3 -0
  247. package/dist/primitives/Table/useTable/util/columns.d.ts +4 -0
  248. package/dist/taco.cjs.development.js +2294 -1543
  249. package/dist/taco.cjs.development.js.map +1 -1
  250. package/dist/taco.cjs.production.min.js +1 -1
  251. package/dist/taco.cjs.production.min.js.map +1 -1
  252. package/dist/types.d.ts +5 -0
  253. package/package.json +3 -3
  254. package/types.json +13547 -12953
  255. package/dist/components/Table3/hooks/features/useColumnOrdering.d.ts +0 -6
  256. package/dist/components/Table3/hooks/features/useCurrentRow.d.ts +0 -11
  257. package/dist/components/Table3/hooks/features/useFontSize.d.ts +0 -7
  258. package/dist/components/Table3/hooks/features/usePrinting.d.ts +0 -8
  259. package/dist/components/Table3/hooks/features/useRowClick.d.ts +0 -6
  260. package/dist/components/Table3/hooks/features/useRowGoto.d.ts +0 -5
  261. package/dist/components/Table3/hooks/features/useRowHeight.d.ts +0 -7
  262. package/dist/components/Table3/hooks/features/useRowSelection.d.ts +0 -6
  263. package/dist/components/Table3/hooks/listeners/useCurrentRowListener.d.ts +0 -2
  264. package/dist/components/Table3/hooks/listeners/useFilteringStateListener.d.ts +0 -3
  265. package/dist/components/Table3/hooks/listeners/useRowSelectionListener.d.ts +0 -3
  266. package/dist/components/Table3/hooks/listeners/useServerLoadingListener.d.ts +0 -3
  267. package/dist/components/Table3/hooks/listeners/useShortcutsListener.d.ts +0 -3
  268. package/dist/components/Table3/hooks/listeners/useSortingStateListener.d.ts +0 -3
  269. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js.map +0 -1
  270. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js +0 -93
  271. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js.map +0 -1
  272. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js.map +0 -1
  273. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js +0 -22
  274. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js.map +0 -1
  275. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js +0 -14
  276. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js.map +0 -1
  277. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js +0 -25
  278. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js.map +0 -1
  279. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js +0 -9
  280. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js.map +0 -1
  281. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js +0 -27
  282. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js.map +0 -1
  283. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js +0 -32
  284. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js.map +0 -1
  285. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js +0 -15
  286. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js.map +0 -1
  287. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js.map +0 -1
  288. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js.map +0 -1
  289. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js.map +0 -1
  290. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js.map +0 -1
  291. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js.map +0 -1
@@ -36,6 +36,26 @@ const willRowMoveAfterSorting = (value, cell, rowIndex, rows, desc) => {
36
36
  }
37
37
  return ((_resortedRows$index = resortedRows[index]) === null || _resortedRows$index === void 0 ? void 0 : _resortedRows$index.id) !== cell.row.id;
38
38
  };
39
+ // Last focused cell state (not react state)
40
+ class LastCellIndex {
41
+ constructor() {
42
+ this._value = '0';
43
+ }
44
+ get value() {
45
+ return this._value;
46
+ }
47
+ set value(val) {
48
+ this._value = val;
49
+ }
50
+ }
51
+ // Returns index of a closest parent column
52
+ function getColumnIndex(element) {
53
+ if (element) {
54
+ var _element$closest;
55
+ return (_element$closest = element.closest('[role=cell]')) === null || _element$closest === void 0 ? void 0 : _element$closest.getAttribute('data-column-index');
56
+ }
57
+ return null;
58
+ }
39
59
 
40
- export { focusableSelector, focussableNodeNames, hasChanged, willRowMoveAfterSorting };
60
+ export { LastCellIndex, focusableSelector, focussableNodeNames, getColumnIndex, hasChanged, willRowMoveAfterSorting };
41
61
  //# sourceMappingURL=editing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editing.js","sources":["../../../../../../../../src/components/Table3/util/editing.ts"],"sourcesContent":["import { isDate } from 'date-fns';\nimport { isWeakEqual as isWeakEqualDate } from '../../../utils/date';\n\nexport const focussableNodeNames = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'DETAILS'];\nexport const focusableSelector = focussableNodeNames.join(', ');\n\nexport const hasChanged = (value, newValue) => {\n if (isDate(value) && isDate(newValue)) {\n return !isWeakEqualDate(value, newValue);\n } else if (Array.isArray(value)) {\n return JSON.stringify(value) !== JSON.stringify(newValue);\n }\n\n return value !== newValue;\n};\n\nexport const willRowMoveAfterSorting = (value, cell, rowIndex, rows, desc): boolean => {\n const miniSortRows = [{ ...cell.row, original: { ...cell.row.original, [cell.column.id]: value } }];\n // getValue is used by the built-in sort functons, so we need to make sure it returns the changed value\n miniSortRows[0].getValue = () => value;\n\n let index = 0;\n\n if (rowIndex > 0) {\n miniSortRows.unshift(rows[rowIndex - 1]);\n index = 1;\n }\n\n if (rowIndex < rows.length - 1) {\n miniSortRows.push(rows[rowIndex + 1]);\n }\n\n let resortedRows = [...miniSortRows].sort((a, b) => cell.column.getSortingFn()(a, b, cell.column.id));\n\n if (desc) {\n resortedRows = resortedRows.reverse();\n }\n\n return resortedRows[index]?.id !== cell.row.id;\n};\n"],"names":["focussableNodeNames","focusableSelector","join","hasChanged","value","newValue","isDate","isWeakEqualDate","Array","isArray","JSON","stringify","willRowMoveAfterSorting","cell","rowIndex","rows","desc","miniSortRows","row","original","column","id","getValue","index","unshift","length","push","resortedRows","sort","a","b","getSortingFn","reverse","_resortedRows$index"],"mappings":";;;MAGaA,mBAAmB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS;MAC9EC,iBAAiB,gBAAGD,mBAAmB,CAACE,IAAI,CAAC,IAAI;MAEjDC,UAAU,GAAGA,CAACC,KAAK,EAAEC,QAAQ;EACtC,IAAIC,MAAM,CAACF,KAAK,CAAC,IAAIE,MAAM,CAACD,QAAQ,CAAC,EAAE;IACnC,OAAO,CAACE,WAAe,CAACH,KAAK,EAAEC,QAAQ,CAAC;GAC3C,MAAM,IAAIG,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC,EAAE;IAC7B,OAAOM,IAAI,CAACC,SAAS,CAACP,KAAK,CAAC,KAAKM,IAAI,CAACC,SAAS,CAACN,QAAQ,CAAC;;EAG7D,OAAOD,KAAK,KAAKC,QAAQ;AAC7B;MAEaO,uBAAuB,GAAGA,CAACR,KAAK,EAAES,IAAI,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,IAAI;;EACrE,MAAMC,YAAY,GAAG,CAAC;IAAE,GAAGJ,IAAI,CAACK,GAAG;IAAEC,QAAQ,EAAE;MAAE,GAAGN,IAAI,CAACK,GAAG,CAACC,QAAQ;MAAE,CAACN,IAAI,CAACO,MAAM,CAACC,EAAE,GAAGjB;;GAAS,CAAC;;EAEnGa,YAAY,CAAC,CAAC,CAAC,CAACK,QAAQ,GAAG,MAAMlB,KAAK;EAEtC,IAAImB,KAAK,GAAG,CAAC;EAEb,IAAIT,QAAQ,GAAG,CAAC,EAAE;IACdG,YAAY,CAACO,OAAO,CAACT,IAAI,CAACD,QAAQ,GAAG,CAAC,CAAC,CAAC;IACxCS,KAAK,GAAG,CAAC;;EAGb,IAAIT,QAAQ,GAAGC,IAAI,CAACU,MAAM,GAAG,CAAC,EAAE;IAC5BR,YAAY,CAACS,IAAI,CAACX,IAAI,CAACD,QAAQ,GAAG,CAAC,CAAC,CAAC;;EAGzC,IAAIa,YAAY,GAAG,CAAC,GAAGV,YAAY,CAAC,CAACW,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKjB,IAAI,CAACO,MAAM,CAACW,YAAY,EAAE,CAACF,CAAC,EAAEC,CAAC,EAAEjB,IAAI,CAACO,MAAM,CAACC,EAAE,CAAC,CAAC;EAErG,IAAIL,IAAI,EAAE;IACNW,YAAY,GAAGA,YAAY,CAACK,OAAO,EAAE;;EAGzC,OAAO,EAAAC,mBAAA,GAAAN,YAAY,CAACJ,KAAK,CAAC,cAAAU,mBAAA,uBAAnBA,mBAAA,CAAqBZ,EAAE,MAAKR,IAAI,CAACK,GAAG,CAACG,EAAE;AAClD;;;;"}
1
+ {"version":3,"file":"editing.js","sources":["../../../../../../../../src/components/Table3/util/editing.ts"],"sourcesContent":["import { isDate } from 'date-fns';\nimport { isWeakEqual as isWeakEqualDate } from '../../../utils/date';\n\nexport const focussableNodeNames = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'DETAILS'];\nexport const focusableSelector = focussableNodeNames.join(', ');\n\nexport const hasChanged = (value, newValue) => {\n if (isDate(value) && isDate(newValue)) {\n return !isWeakEqualDate(value, newValue);\n } else if (Array.isArray(value)) {\n return JSON.stringify(value) !== JSON.stringify(newValue);\n }\n\n return value !== newValue;\n};\n\nexport const willRowMoveAfterSorting = (value, cell, rowIndex, rows, desc): boolean => {\n const miniSortRows = [{ ...cell.row, original: { ...cell.row.original, [cell.column.id]: value } }];\n // getValue is used by the built-in sort functons, so we need to make sure it returns the changed value\n miniSortRows[0].getValue = () => value;\n\n let index = 0;\n\n if (rowIndex > 0) {\n miniSortRows.unshift(rows[rowIndex - 1]);\n index = 1;\n }\n\n if (rowIndex < rows.length - 1) {\n miniSortRows.push(rows[rowIndex + 1]);\n }\n\n let resortedRows = [...miniSortRows].sort((a, b) => cell.column.getSortingFn()(a, b, cell.column.id));\n\n if (desc) {\n resortedRows = resortedRows.reverse();\n }\n\n return resortedRows[index]?.id !== cell.row.id;\n};\n// Last focused cell state (not react state)\nexport class LastCellIndex {\n _value: string | null | undefined = '0';\n get value() {\n return this._value;\n }\n set value(val: string | null | undefined) {\n this._value = val;\n }\n}\n\n// Returns index of a closest parent column\nexport function getColumnIndex(element: Element) {\n if (element) {\n return element.closest('[role=cell]')?.getAttribute('data-column-index');\n }\n\n return null;\n}\n"],"names":["focussableNodeNames","focusableSelector","join","hasChanged","value","newValue","isDate","isWeakEqualDate","Array","isArray","JSON","stringify","willRowMoveAfterSorting","cell","rowIndex","rows","desc","miniSortRows","row","original","column","id","getValue","index","unshift","length","push","resortedRows","sort","a","b","getSortingFn","reverse","_resortedRows$index","LastCellIndex","constructor","_value","val","getColumnIndex","element","_element$closest","closest","getAttribute"],"mappings":";;;MAGaA,mBAAmB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS;MAC9EC,iBAAiB,gBAAGD,mBAAmB,CAACE,IAAI,CAAC,IAAI;MAEjDC,UAAU,GAAGA,CAACC,KAAK,EAAEC,QAAQ;EACtC,IAAIC,MAAM,CAACF,KAAK,CAAC,IAAIE,MAAM,CAACD,QAAQ,CAAC,EAAE;IACnC,OAAO,CAACE,WAAe,CAACH,KAAK,EAAEC,QAAQ,CAAC;GAC3C,MAAM,IAAIG,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC,EAAE;IAC7B,OAAOM,IAAI,CAACC,SAAS,CAACP,KAAK,CAAC,KAAKM,IAAI,CAACC,SAAS,CAACN,QAAQ,CAAC;;EAG7D,OAAOD,KAAK,KAAKC,QAAQ;AAC7B;MAEaO,uBAAuB,GAAGA,CAACR,KAAK,EAAES,IAAI,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,IAAI;;EACrE,MAAMC,YAAY,GAAG,CAAC;IAAE,GAAGJ,IAAI,CAACK,GAAG;IAAEC,QAAQ,EAAE;MAAE,GAAGN,IAAI,CAACK,GAAG,CAACC,QAAQ;MAAE,CAACN,IAAI,CAACO,MAAM,CAACC,EAAE,GAAGjB;;GAAS,CAAC;;EAEnGa,YAAY,CAAC,CAAC,CAAC,CAACK,QAAQ,GAAG,MAAMlB,KAAK;EAEtC,IAAImB,KAAK,GAAG,CAAC;EAEb,IAAIT,QAAQ,GAAG,CAAC,EAAE;IACdG,YAAY,CAACO,OAAO,CAACT,IAAI,CAACD,QAAQ,GAAG,CAAC,CAAC,CAAC;IACxCS,KAAK,GAAG,CAAC;;EAGb,IAAIT,QAAQ,GAAGC,IAAI,CAACU,MAAM,GAAG,CAAC,EAAE;IAC5BR,YAAY,CAACS,IAAI,CAACX,IAAI,CAACD,QAAQ,GAAG,CAAC,CAAC,CAAC;;EAGzC,IAAIa,YAAY,GAAG,CAAC,GAAGV,YAAY,CAAC,CAACW,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKjB,IAAI,CAACO,MAAM,CAACW,YAAY,EAAE,CAACF,CAAC,EAAEC,CAAC,EAAEjB,IAAI,CAACO,MAAM,CAACC,EAAE,CAAC,CAAC;EAErG,IAAIL,IAAI,EAAE;IACNW,YAAY,GAAGA,YAAY,CAACK,OAAO,EAAE;;EAGzC,OAAO,EAAAC,mBAAA,GAAAN,YAAY,CAACJ,KAAK,CAAC,cAAAU,mBAAA,uBAAnBA,mBAAA,CAAqBZ,EAAE,MAAKR,IAAI,CAACK,GAAG,CAACG,EAAE;AAClD;AACA;MACaa,aAAa;EAA1BC;IACI,WAAM,GAA8B,GAAG;;EACvC,IAAI/B,KAAKA;IACL,OAAO,IAAI,CAACgC,MAAM;;EAEtB,IAAIhC,KAAKA,CAACiC,GAA8B;IACpC,IAAI,CAACD,MAAM,GAAGC,GAAG;;;AAIzB;SACgBC,cAAcA,CAACC,OAAgB;EAC3C,IAAIA,OAAO,EAAE;IAAA,IAAAC,gBAAA;IACT,QAAAA,gBAAA,GAAOD,OAAO,CAACE,OAAO,CAAC,aAAa,CAAC,cAAAD,gBAAA,uBAA9BA,gBAAA,CAAgCE,YAAY,CAAC,mBAAmB,CAAC;;EAG5E,OAAO,IAAI;AACf;;;;"}
@@ -0,0 +1,53 @@
1
+ // Determines the scroll distance required to display a specific cell in the table.
2
+ // Returns the scroll distance if scrolling is necessary; otherwise, returns null.
3
+ function getTableLeftScrollDistance(tableElement, cell, frozenColumnIndex, isEditing = false) {
4
+ var _Array$from;
5
+ const row = cell === null || cell === void 0 ? void 0 : cell.closest('[role="row"]');
6
+ // When editing is enabled, the action column overlays other columns.
7
+ // To account for it, incorporate a 'rightOffset' during table scrolling towards the right.
8
+ // 60px is the width of the action column and 10px is added to account for the shadow that it has.
9
+ const rightOffset = isEditing ? 70 : 0;
10
+ if (!row) {
11
+ return null;
12
+ }
13
+ const rowChildren = (_Array$from = Array.from(row.children)) !== null && _Array$from !== void 0 ? _Array$from : [];
14
+ const cellIndex = rowChildren.indexOf(cell);
15
+ if (cellIndex === -1) {
16
+ return null;
17
+ }
18
+ let scrollDistance = 0;
19
+ const EXTRA_SPACING = 0;
20
+ const tableRect = tableElement.getBoundingClientRect();
21
+ const cellRect = cell.getBoundingClientRect();
22
+ const tableShouldScrollRight = cellRect.right > tableRect.right - rightOffset;
23
+ const tableShouldScrollLeft = cellRect.left < tableRect.left;
24
+ // If column header is behind the frozen columns then scroll the parentHeader into view
25
+ if (frozenColumnIndex !== -1 && cellIndex > frozenColumnIndex) {
26
+ var _rowChildren$frozenCo;
27
+ const lastFrozenColumnRect = (_rowChildren$frozenCo = rowChildren[frozenColumnIndex]) === null || _rowChildren$frozenCo === void 0 ? void 0 : _rowChildren$frozenCo.getBoundingClientRect();
28
+ const isColumnBehindFrozenColumn = lastFrozenColumnRect.right > cellRect.left;
29
+ if (isColumnBehindFrozenColumn) {
30
+ scrollDistance = tableElement.scrollLeft - (lastFrozenColumnRect.right - cellRect.left);
31
+ return scrollDistance;
32
+ } else if (tableShouldScrollRight) {
33
+ scrollDistance = tableElement.scrollLeft + (cellRect.right - tableRect.right + EXTRA_SPACING) + rightOffset;
34
+ return scrollDistance;
35
+ }
36
+ // If column is not behind frozen columns and table doesn't have to be scrolled right to show
37
+ // the column then that means that the column is visible on the screen
38
+ } else {
39
+ if (tableShouldScrollLeft) {
40
+ scrollDistance = tableElement.scrollLeft - (tableRect.left - cellRect.left);
41
+ return scrollDistance;
42
+ } else if (tableShouldScrollRight) {
43
+ scrollDistance = tableElement.scrollLeft + (cellRect.right - tableRect.right + EXTRA_SPACING) + rightOffset;
44
+ return scrollDistance;
45
+ }
46
+ // If table doesn't have to be scrolled right or left to show the column then that means that
47
+ // the column is visible on the screen
48
+ }
49
+ return null;
50
+ }
51
+
52
+ export { getTableLeftScrollDistance };
53
+ //# sourceMappingURL=scrolling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrolling.js","sources":["../../../../../../../../src/components/Table3/util/scrolling.ts"],"sourcesContent":["import { Table3Ref } from '../types';\n\n// Determines the scroll distance required to display a specific cell in the table.\n// Returns the scroll distance if scrolling is necessary; otherwise, returns null.\nexport function getTableLeftScrollDistance(tableElement: Table3Ref, cell: Element, frozenColumnIndex: number, isEditing = false) {\n const row = cell?.closest('[role=\"row\"]');\n // When editing is enabled, the action column overlays other columns.\n // To account for it, incorporate a 'rightOffset' during table scrolling towards the right.\n // 60px is the width of the action column and 10px is added to account for the shadow that it has.\n const rightOffset = isEditing ? 70 : 0;\n\n if (!row) {\n return null;\n }\n\n const rowChildren = Array.from(row.children) ?? [];\n const cellIndex = rowChildren.indexOf(cell);\n\n if (cellIndex === -1) {\n return null;\n }\n\n let scrollDistance = 0;\n const EXTRA_SPACING = 0;\n const tableRect = tableElement.getBoundingClientRect();\n const cellRect = cell.getBoundingClientRect();\n const tableShouldScrollRight = cellRect.right > tableRect.right - rightOffset;\n const tableShouldScrollLeft = cellRect.left < tableRect.left;\n\n // If column header is behind the frozen columns then scroll the parentHeader into view\n if (frozenColumnIndex !== -1 && cellIndex > frozenColumnIndex) {\n const lastFrozenColumnRect = rowChildren[frozenColumnIndex]?.getBoundingClientRect();\n const isColumnBehindFrozenColumn = lastFrozenColumnRect.right > cellRect.left;\n\n if (isColumnBehindFrozenColumn) {\n scrollDistance = tableElement.scrollLeft - (lastFrozenColumnRect.right - cellRect.left);\n return scrollDistance;\n } else if (tableShouldScrollRight) {\n scrollDistance = tableElement.scrollLeft + (cellRect.right - tableRect.right + EXTRA_SPACING) + rightOffset;\n return scrollDistance;\n }\n // If column is not behind frozen columns and table doesn't have to be scrolled right to show\n // the column then that means that the column is visible on the screen\n } else {\n if (tableShouldScrollLeft) {\n scrollDistance = tableElement.scrollLeft - (tableRect.left - cellRect.left);\n return scrollDistance;\n } else if (tableShouldScrollRight) {\n scrollDistance = tableElement.scrollLeft + (cellRect.right - tableRect.right + EXTRA_SPACING) + rightOffset;\n return scrollDistance;\n }\n // If table doesn't have to be scrolled right or left to show the column then that means that\n // the column is visible on the screen\n }\n\n return null;\n}\n"],"names":["getTableLeftScrollDistance","tableElement","cell","frozenColumnIndex","isEditing","row","closest","rightOffset","rowChildren","_Array$from","Array","from","children","cellIndex","indexOf","scrollDistance","EXTRA_SPACING","tableRect","getBoundingClientRect","cellRect","tableShouldScrollRight","right","tableShouldScrollLeft","left","_rowChildren$frozenCo","lastFrozenColumnRect","isColumnBehindFrozenColumn","scrollLeft"],"mappings":"AAEA;AACA;SACgBA,0BAA0BA,CAACC,YAAuB,EAAEC,IAAa,EAAEC,iBAAyB,EAAEC,SAAS,GAAG,KAAK;;EAC3H,MAAMC,GAAG,GAAGH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEI,OAAO,CAAC,cAAc,CAAC;;;;EAIzC,MAAMC,WAAW,GAAGH,SAAS,GAAG,EAAE,GAAG,CAAC;EAEtC,IAAI,CAACC,GAAG,EAAE;IACN,OAAO,IAAI;;EAGf,MAAMG,WAAW,IAAAC,WAAA,GAAGC,KAAK,CAACC,IAAI,CAACN,GAAG,CAACO,QAAQ,CAAC,cAAAH,WAAA,cAAAA,WAAA,GAAI,EAAE;EAClD,MAAMI,SAAS,GAAGL,WAAW,CAACM,OAAO,CAACZ,IAAI,CAAC;EAE3C,IAAIW,SAAS,KAAK,CAAC,CAAC,EAAE;IAClB,OAAO,IAAI;;EAGf,IAAIE,cAAc,GAAG,CAAC;EACtB,MAAMC,aAAa,GAAG,CAAC;EACvB,MAAMC,SAAS,GAAGhB,YAAY,CAACiB,qBAAqB,EAAE;EACtD,MAAMC,QAAQ,GAAGjB,IAAI,CAACgB,qBAAqB,EAAE;EAC7C,MAAME,sBAAsB,GAAGD,QAAQ,CAACE,KAAK,GAAGJ,SAAS,CAACI,KAAK,GAAGd,WAAW;EAC7E,MAAMe,qBAAqB,GAAGH,QAAQ,CAACI,IAAI,GAAGN,SAAS,CAACM,IAAI;;EAG5D,IAAIpB,iBAAiB,KAAK,CAAC,CAAC,IAAIU,SAAS,GAAGV,iBAAiB,EAAE;IAAA,IAAAqB,qBAAA;IAC3D,MAAMC,oBAAoB,IAAAD,qBAAA,GAAGhB,WAAW,CAACL,iBAAiB,CAAC,cAAAqB,qBAAA,uBAA9BA,qBAAA,CAAgCN,qBAAqB,EAAE;IACpF,MAAMQ,0BAA0B,GAAGD,oBAAoB,CAACJ,KAAK,GAAGF,QAAQ,CAACI,IAAI;IAE7E,IAAIG,0BAA0B,EAAE;MAC5BX,cAAc,GAAGd,YAAY,CAAC0B,UAAU,IAAIF,oBAAoB,CAACJ,KAAK,GAAGF,QAAQ,CAACI,IAAI,CAAC;MACvF,OAAOR,cAAc;KACxB,MAAM,IAAIK,sBAAsB,EAAE;MAC/BL,cAAc,GAAGd,YAAY,CAAC0B,UAAU,IAAIR,QAAQ,CAACE,KAAK,GAAGJ,SAAS,CAACI,KAAK,GAAGL,aAAa,CAAC,GAAGT,WAAW;MAC3G,OAAOQ,cAAc;;;;GAI5B,MAAM;IACH,IAAIO,qBAAqB,EAAE;MACvBP,cAAc,GAAGd,YAAY,CAAC0B,UAAU,IAAIV,SAAS,CAACM,IAAI,GAAGJ,QAAQ,CAACI,IAAI,CAAC;MAC3E,OAAOR,cAAc;KACxB,MAAM,IAAIK,sBAAsB,EAAE;MAC/BL,cAAc,GAAGd,YAAY,CAAC0B,UAAU,IAAIR,QAAQ,CAACE,KAAK,GAAGJ,SAAS,CAACI,KAAK,GAAGL,aAAa,CAAC,GAAGT,WAAW;MAC3G,OAAOQ,cAAc;;;;;EAM7B,OAAO,IAAI;AACf;;;;"}
@@ -27,16 +27,16 @@ const Tag = /*#__PURE__*/React__default.forwardRef((props, ref) => {
27
27
  }), /*#__PURE__*/React__default.createElement("span", {
28
28
  className: "truncate px-2",
29
29
  ref: textRef
30
- }, icon ? typeof icon === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
30
+ }, icon ? typeof icon === 'string' ? ( /*#__PURE__*/React__default.createElement(Icon, {
31
31
  name: icon,
32
32
  className: "mr-1 -ml-1 -mt-0.5 !h-5 !w-5"
33
- }) : /*#__PURE__*/React__default.cloneElement(icon, {
33
+ })) : ( /*#__PURE__*/React__default.cloneElement(icon, {
34
34
  className: 'mr-1 -ml-1 -mt-0.5 !h-5 !w-5'
35
- }) : null, children), onDelete ? /*#__PURE__*/React__default.createElement(Icon, {
35
+ })) : null, children), onDelete ? ( /*#__PURE__*/React__default.createElement(Icon, {
36
36
  name: "close",
37
37
  onClick: onDelete,
38
38
  className: "-ml-1.5 !h-6 !w-5 flex-shrink-0 cursor-pointer rounded-r p-0.5 hover:bg-black/5"
39
- }) : null);
39
+ })) : null);
40
40
  });
41
41
 
42
42
  export { Tag };
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.js","sources":["../../../../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\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=\"mr-1 -ml-1 -mt-0.5 !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,gBACpBP,6BAACiB,IAAI;IAACC,IAAI,EAAEX,IAAI;IAAEM,SAAS,EAAC;IAAiC,gBAE7Db,cAAK,CAACmB,YAAY,CAACZ,IAAI,EAAE;IAAEM,SAAS,EAAE;GAAgC,CACzE,GACD,IAAI,EACPT,QAAQ,CACN,EACNK,QAAQ,gBACLT,6BAACiB,IAAI;IACDC,IAAI,EAAC,OAAO;IACZH,OAAO,EAAEN,QAAQ;IACjBI,SAAS,EAAC;IACZ,GACF,IAAI,CACL;AAEf,CAAC;;;;"}
1
+ {"version":3,"file":"Tag.js","sources":["../../../../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\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=\"mr-1 -ml-1 -mt-0.5 !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,kBACpBP,6BAACiB,IAAI;IAACC,IAAI,EAAEX,IAAI;IAAEM,SAAS,EAAC;IAAiC,mBAE7Db,cAAK,CAACmB,YAAY,CAACZ,IAAI,EAAE;IAAEM,SAAS,EAAE;GAAgC,CAAC,CAC1E,GACD,IAAI,EACPT,QAAQ,CACN,EACNK,QAAQ,kBACLT,6BAACiB,IAAI;IACDC,IAAI,EAAC,OAAO;IACZH,OAAO,EAAEN,QAAQ;IACjBI,SAAS,EAAC;IACZ,IACF,IAAI,CACL;AAEf,CAAC;;;;"}
@@ -117,7 +117,7 @@ const ToastProvider = ({
117
117
  role: "log"
118
118
  }, /*#__PURE__*/createElement(AnimatePresence, {
119
119
  initial: false
120
- }, toasts.map(toast => /*#__PURE__*/createElement(motion.div, {
120
+ }, toasts.map(toast => ( /*#__PURE__*/createElement(motion.div, {
121
121
  key: toast.id,
122
122
  transition: {
123
123
  type: 'spring',
@@ -143,7 +143,7 @@ const ToastProvider = ({
143
143
  }
144
144
  }, /*#__PURE__*/createElement(Toast, Object.assign({}, toast, {
145
145
  onClose: () => handleClose(toast.id)
146
- })))))));
146
+ }))))))));
147
147
  };
148
148
  const useToast = () => useContext(ToastContext);
149
149
 
@@ -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 { 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 <div\n id=\"yt-toast__container\"\n className=\"pointer-events-all absolute bottom-0 right-0 !left-auto 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 </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","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 { v4 as uuid } from 'uuid';\nimport { AnimatePresence, motion } from 'framer-motion';\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 <div\n id=\"yt-toast__container\"\n className=\"pointer-events-all absolute bottom-0 right-0 !left-auto 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 </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","className","role","AnimatePresence","initial","map","motion","div","key","transition","damping","stiffness","opacity","y","scale","animate","exit","duration","Toast","onClose","useToast"],"mappings":";;;;;AAMA,MAAMA,0BAA0B,GAAG,IAAI;AA+BvC,MAAMC,YAAY,gBAAGC,aAAmB,CAA0B,EAA6B,CAAC;AAQhG,MAAMC,4BAA4B,GAAGA,CACjCC,aAA8B,EAC9BC,EAAU,EACVC,OAAqB,EACrBC,OAAqB,EACrBC,KAAiB;EAEjB,MAAMC,UAAU,GAAG,CAAC,GAAGL,aAAa,CAAC;EACrC,MAAMM,kBAAkB,GAAGN,aAAa,CAACO,SAAS,CAACC,KAAK,IAAIC,IAAI,CAACC,SAAS,CAACF,KAAK,CAACN,OAAO,CAAC,KAAKO,IAAI,CAACC,SAAS,CAACR,OAAO,CAAC,CAAC;EAEtH,IAAII,kBAAkB,GAAG,CAAC,CAAC,EAAE;IACzBD,UAAU,CAACC,kBAAkB,CAAC,CAACK,eAAe,GAAGV,EAAE;IACnDI,UAAU,CAACC,kBAAkB,CAAC,CAACM,WAAW,GAAGC,IAAI,CAACC,GAAG,EAAE;GAC1D,MAAM;IACHT,UAAU,CAACU,IAAI,CAAC;MACZd,EAAE;MACFC,OAAO,EAAE,OAAOA,OAAO,KAAK,UAAU,GAAGA,OAAO,CAACE,KAAK,CAAC,GAAGF,OAAO;MACjEC;KACH,CAAC;;EAGN,OAAOE,UAAU;AACrB,CAAC;MAEYW,aAAa,GAAGA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;CAA2B;EACpE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGtB,QAAc,CAAkB,EAAE,CAAC;EAE/D,MAAMuB,WAAW,GAAIpB,EAAU;IAC3BmB,SAAS,CAACpB,aAAa,IAAIA,aAAa,CAACsB,MAAM,CAACd,KAAK,IAAIA,KAAK,CAACP,EAAE,KAAKA,EAAE,CAAC,CAAC;GAC7E;;;EAID,MAAMsB,OAAO,GAAGzB,WAAiB,CAAC,CAACI,OAAqB,EAAEC,OAAqB;IAC3E,MAAMF,EAAE,GAAGuB,EAAI,EAAE;IACjB,MAAMpB,KAAK,GAAGA,MAAYiB,WAAW,CAACpB,EAAE,CAAC;IAEzCmB,SAAS,CAACpB,aAAa,IAAID,4BAA4B,CAACC,aAAa,EAAEC,EAAE,EAAEC,OAAO,EAAEC,OAAO,EAAEC,KAAK,CAAC,CAAC;IAEpG,MAAMqB,MAAM,GAAGA,CAACvB,OAAqB,EAAEC,OAAqB;MACxDiB,SAAS,CAACpB,aAAa;QACnB,MAAMK,UAAU,GAAGL,aAAa,CAACsB,MAAM,CAACd,KAAK;UACzC,IAAIA,KAAK,CAACG,eAAe,EAAE;YACvB,OAAOH,KAAK,CAACG,eAAe,KAAKV,EAAE;;UAGvC,OAAOO,KAAK,CAACP,EAAE,KAAKA,EAAE;SACzB,CAAC;QACF,OAAOF,4BAA4B,CAACM,UAAU,EAAEmB,EAAI,EAAE,EAAEtB,OAAO,EAAEC,OAAO,EAAEC,KAAK,CAAC;OACnF,CAAC;KACL;IAED,MAAMsB,OAAO,GAAGA,CAACxB,OAAqB,EAAEC,OAAoC;MACxEsB,MAAM,CAACvB,OAAO,EAAE;QAAEyB,SAAS,EAAE/B,0BAA0B;QAAE,GAAGO,OAAO;QAAEyB,IAAI,EAAE;OAAW,CAAC;KAC1F;IACD,MAAMC,KAAK,GAAGA,CAAC3B,OAAqB,EAAEC,OAAoC;MACtEsB,MAAM,CAACvB,OAAO,EAAE;QAAE,GAAGC,OAAO;QAAEyB,IAAI,EAAE;OAAS,CAAC;KACjD;IACD,MAAME,OAAO,GAAGA,CAAC5B,OAAqB,EAAEC,OAAoC;MACxEsB,MAAM,CAACvB,OAAO,EAAE;QAAE,GAAGC,OAAO;QAAEyB,IAAI,EAAE;OAAW,CAAC;KACnD;IACD,MAAMG,WAAW,GAAGA,CAAC7B,OAAqB,EAAEC,OAAoC;MAC5EsB,MAAM,CAACvB,OAAO,EAAE;QAAE,GAAGC,OAAO;QAAEyB,IAAI,EAAE;OAAe,CAAC;KACvD;IACD,MAAMI,OAAO,GAAGA,CAAC9B,OAAqB,EAAEC,OAAoC;MACxEsB,MAAM,CAACvB,OAAO,EAAE;QAAE,GAAGC,OAAO;QAAEyB,IAAI,EAAE;OAAW,CAAC;KACnD;IAED,OAAO;MACHF,OAAO;MACPG,KAAK;MACLC,OAAO;MACPC,WAAW;MACXC,OAAO;MACP5B;KACH;GACJ,EAAE,EAAE,CAA4B;;EAGjCN,SAAe,CAAC;IACZyB,OAAO,CAACG,OAAO,GAAG,CAACxB,OAAqB,EAAEC,OAAoC,KAC1EoB,OAAO,CAACrB,OAAO,EAAE;MAAEyB,SAAS,EAAE/B,0BAA0B;MAAE,GAAGO,OAAO;MAAEyB,IAAI,EAAE;KAAW,CAAC;IAC5FL,OAAO,CAACM,KAAK,GAAG,CAAC3B,OAAqB,EAAEC,OAAoC,KACxEoB,OAAO,CAACrB,OAAO,EAAE;MAAE,GAAGC,OAAO;MAAEyB,IAAI,EAAE;KAAS,CAAC;IACnDL,OAAO,CAACO,OAAO,GAAG,CAAC5B,OAAqB,EAAEC,OAAoC,KAC1EoB,OAAO,CAACrB,OAAO,EAAE;MAAE,GAAGC,OAAO;MAAEyB,IAAI,EAAE;KAAW,CAAC;IACrDL,OAAO,CAACQ,WAAW,GAAG,CAAC7B,OAAqB,EAAEC,OAAoC,KAC9EoB,OAAO,CAACrB,OAAO,EAAE;MAAE,GAAGC,OAAO;MAAEyB,IAAI,EAAE;KAAe,CAAC;IACzDL,OAAO,CAACS,OAAO,GAAG,CAAC9B,OAAqB,EAAEC,OAAoC,KAC1EoB,OAAO,CAACrB,OAAO,EAAE;MAAE,GAAGC,OAAO;MAAEyB,IAAI,EAAE;KAAW,CAAC;GACxD,EAAE,EAAE,CAAC;EAEN,oBACI9B,cAACD,YAAY,CAACoC,QAAQ,oBAAKf,KAAK;IAAEgB,KAAK,EAAEX;MACpCN,QAAQ,eACTnB;IACIG,EAAE,EAAC,qBAAqB;IACxBkC,SAAS,EAAC,yHAAyH;IACnIC,IAAI,EAAC;kBACLtC,cAACuC,eAAe;IAACC,OAAO,EAAE;KACrBnB,MAAM,CAACoB,GAAG,CAAE/B,KAAoB,mBAC7BV,cAAC0C,MAAM,CAACC,GAAG;IACPC,GAAG,EAAElC,KAAK,CAACP,EAAE;IACb0C,UAAU,EAAE;MACRf,IAAI,EAAE,QAAQ;MACdgB,OAAO,EAAE,EAAE;MACXC,SAAS,EAAE;KACd;IACDP,OAAO,EAAE;MAAEQ,OAAO,EAAE,CAAC;MAAEC,CAAC,EAAE,EAAE;MAAEC,KAAK,EAAE;KAAK;IAC1CC,OAAO,EAAE;MAAEH,OAAO,EAAE,CAAC;MAAEC,CAAC,EAAE,CAAC;MAAEC,KAAK,EAAE;KAAG;IACvCE,IAAI,EAAE;MAAEJ,OAAO,EAAE,CAAC;MAAEE,KAAK,EAAE,GAAG;MAAEL,UAAU,EAAE;QAAEQ,QAAQ,EAAE;;;kBACxDrD,cAACsD,KAAK,oBAAK5C,KAAK;IAAE6C,OAAO,EAAEA,MAAMhC,WAAW,CAACb,KAAK,CAACP,EAAE;KAAK,CACjD,CAChB,CAAC,CACY,CAChB,CACc;AAEhC;MAEaqD,QAAQ,GAAGA,MAA+BxD,UAAgB,CAACD,YAAY;;;;"}
@@ -45,9 +45,9 @@ const Tooltip = ({
45
45
  className: "absolute top-0 right-0 mt-1 mr-1"
46
46
  })), step.title && /*#__PURE__*/createElement("h5", null, step.title), step.content, /*#__PURE__*/createElement(Group, {
47
47
  className: "mt-4 justify-end"
48
- }, index > 0 && /*#__PURE__*/createElement(Button, Object.assign({}, backProps, {
48
+ }, index > 0 && ( /*#__PURE__*/createElement(Button, Object.assign({}, backProps, {
49
49
  appearance: "discrete"
50
- }), locale.back), /*#__PURE__*/createElement(Button, Object.assign({}, primaryProps, {
50
+ }), locale.back)), /*#__PURE__*/createElement(Button, Object.assign({}, primaryProps, {
51
51
  appearance: "primary"
52
52
  }), continuous ? isLastStep ? `${locale.last} (${index + 1}/${size})` : `${locale.next} (${index + 1}/${size})` : locale.close)));
53
53
  };
@@ -110,10 +110,10 @@ const Tour = props => {
110
110
  floaterProps: {
111
111
  disableAnimation: true
112
112
  },
113
- tooltipComponent: tooltipProps => /*#__PURE__*/createElement(Tooltip, Object.assign({}, tooltipProps, {
113
+ tooltipComponent: tooltipProps => ( /*#__PURE__*/createElement(Tooltip, Object.assign({}, tooltipProps, {
114
114
  locale: tour,
115
115
  disableTourSkipOnEsc: disableTourSkipOnEsc
116
- })),
116
+ }))),
117
117
  locale: tour,
118
118
  spotlightPadding: 8,
119
119
  spotlightClicks: spotlightClicks,
@@ -1 +1 @@
1
- {"version":3,"file":"Tour.js","sources":["../../../../../../../src/components/Tour/Tour.tsx"],"sourcesContent":["import * as React from 'react';\nimport Joyride, { Step, CallBackProps, ACTIONS, LIFECYCLE, Placement, EVENTS, TooltipRenderProps } from 'react-joyride';\n\nimport { Button } from '../Button/Button';\nimport { Group } from '../Group/Group';\nimport { IconButton } from '../IconButton/IconButton';\nimport { useLocalization } from '../Provider/Localization';\n\nexport type TourTexts = {\n /** Text for back action button */\n back: string;\n /**\n * Text for close button.\n * This button is displayed if tour is not continuous - replacing the `Next` button.\n * It will pause the flow of the tour and close the tooltip\n */\n close: string;\n /**\n * Aria-label and title for close icon button in each step.\n * This button skips and completes the flow entirely\n */\n skip: string;\n /**\n * Text for last action button.\n * This button is displayed when user is on the last step of the tour\n */\n last: string;\n /**\n * Text for next action button.\n * This button is displayed if tour has more than one steps and is continuous\n */\n next: string;\n /** Aria label and title for beacon that will open the tour step */\n open: string;\n};\n\nexport type TourStepProps = {\n /** Content can be any valid react node, for e.g. a `div` */\n children: React.ReactNode;\n /** Define the position of the tour's popup relative to the element is presenting */\n position?: Placement;\n /** The css selector of the html element you want to include in a tour */\n selector: string;\n /**\n * Show beacon for step.\n * A beacon is a styled component which indicates the current element to be presented.\n * For more informations about how to create a beacon, read [Joyride](https://docs.react-joyride.com) docs\n */\n showBeacon?: boolean;\n /** Text displayed above the children/content of the popup */\n title: string;\n};\n\nconst Tooltip = ({\n continuous,\n index,\n isLastStep,\n step,\n backProps,\n primaryProps,\n skipProps,\n tooltipProps,\n size,\n locale,\n disableTourSkipOnEsc,\n}: TooltipRenderProps & { locale: TourTexts; disableTourSkipOnEsc?: boolean }) => {\n const skipButtonRef = React.useRef<HTMLButtonElement>(null);\n\n React.useEffect(() => {\n const onWindowKeyDown = (event: KeyboardEvent): void => {\n if (!disableTourSkipOnEsc) {\n if (event.key === 'Escape' && skipButtonRef.current !== null) {\n event.preventDefault();\n skipButtonRef.current.click();\n return;\n }\n }\n };\n\n window.addEventListener('keydown', onWindowKeyDown);\n\n return () => {\n window.removeEventListener('keydown', onWindowKeyDown);\n };\n }, []);\n\n return (\n <div {...tooltipProps} className=\"yt-tour__step w-88 relative rounded bg-white p-4\">\n <IconButton\n {...skipProps}\n ref={skipButtonRef}\n appearance=\"discrete\"\n icon=\"close\"\n title={locale.skip}\n aria-label={locale.skip}\n className=\"absolute top-0 right-0 mt-1 mr-1\"\n />\n {step.title && <h5>{step.title}</h5>}\n {step.content}\n <Group className=\"mt-4 justify-end\">\n {index > 0 && (\n <Button {...backProps} appearance=\"discrete\">\n {locale.back}\n </Button>\n )}\n <Button {...primaryProps} appearance=\"primary\">\n {continuous\n ? isLastStep\n ? `${locale.last} (${index + 1}/${size})`\n : `${locale.next} (${index + 1}/${size})`\n : locale.close}\n </Button>\n </Group>\n </div>\n );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const TourStep = (_props: TourStepProps): null => null;\n\nexport type TourProps = {\n /** Controls if [Joyride](https://docs.react-joyride.com) is active */\n autoStart?: boolean;\n /** Children should be one or more `Tour.Step` components */\n children: any;\n /** Are there more than one steps and should you be able to navigate between them using `Next` and `Previous` buttons */\n continuous?: boolean;\n /** Disable closing of tour when click on `Escape` */\n disableCloseOnEsc?: boolean;\n /** Don't close the presenting popup of the tour step when clicking outside it */\n disableOverlayClose?: boolean;\n /** Allows user to interact with the presented components (mouse and touch events) when the popup is visible */\n disableScrolling?: boolean;\n /* When user clicks on the close icon button, which will close the tour and complete the flow */\n onClose?: (step: TourStepProps) => void;\n /* When user completes the entire flow */\n onComplete?: Function;\n /** When step is ready */\n onReady?: (step: TourStepProps) => void;\n /* Allow mouse and touch events through the spotlight */\n spotlightClicks?: boolean;\n /* Stops the injection of custom overflow styles on parent container. Can be used to prevent remaining overflow styles after tour is done. */\n disableScrollParentFix?: boolean;\n /** The scroll distance from the element scrollTop value. */\n scrollOffset?: number;\n};\n\nexport const Tour = (props: TourProps) => {\n const {\n texts: { tour },\n } = useLocalization();\n\n const {\n autoStart: run,\n onComplete,\n onClose,\n onReady,\n spotlightClicks,\n disableCloseOnEsc: disableTourSkipOnEsc,\n disableScrollParentFix = false,\n scrollOffset,\n ...rest\n } = props;\n\n const steps = React.useMemo(() => {\n return React.Children.map(props.children, child => {\n const step: Step = {\n disableBeacon: !child.props.showBeacon,\n target: child.props.selector,\n placement: child.props.position,\n title: child.props.title,\n content: child.props.children,\n };\n return step;\n });\n }, [props.children]);\n\n const getStep = React.useCallback(\n (selector: string | HTMLElement) => props.children.find((child: any) => child.props.selector === selector)?.props,\n [props.children]\n );\n\n const callback = (state: CallBackProps) => {\n if (state.action === ACTIONS.SKIP && state.lifecycle === LIFECYCLE.COMPLETE) {\n if (onClose) {\n onClose(getStep(state.step.target));\n }\n }\n\n if (state.type === EVENTS.TOUR_END) {\n if (onComplete) {\n onComplete();\n }\n }\n\n if (state.lifecycle === LIFECYCLE.READY) {\n if (onReady) {\n onReady(getStep(state.step.target));\n }\n }\n };\n\n return (\n <Joyride\n {...rest}\n run={run}\n steps={steps}\n showProgress\n floaterProps={{\n disableAnimation: true,\n }}\n tooltipComponent={tooltipProps => (\n <Tooltip {...tooltipProps} locale={tour} disableTourSkipOnEsc={disableTourSkipOnEsc} />\n )}\n locale={tour}\n spotlightPadding={8}\n spotlightClicks={spotlightClicks}\n disableScrollParentFix={disableScrollParentFix}\n callback={callback}\n scrollOffset={scrollOffset}\n styles={{\n /** style beacon */\n options: {\n // tailwind.theme.colors.blue.300\n primaryColor: '#6ba4ff',\n },\n }}\n disableCloseOnEsc\n />\n );\n};\n\nTour.Step = TourStep;\n"],"names":["Tooltip","continuous","index","isLastStep","step","backProps","primaryProps","skipProps","tooltipProps","size","locale","disableTourSkipOnEsc","skipButtonRef","React","onWindowKeyDown","event","key","current","preventDefault","click","window","addEventListener","removeEventListener","className","IconButton","ref","appearance","icon","title","skip","content","Group","Button","back","last","next","close","TourStep","_props","Tour","props","texts","tour","useLocalization","autoStart","run","onComplete","onClose","onReady","spotlightClicks","disableCloseOnEsc","disableScrollParentFix","scrollOffset","rest","steps","map","children","child","disableBeacon","showBeacon","target","selector","placement","position","getStep","_props$children$find","find","callback","state","action","ACTIONS","SKIP","lifecycle","LIFECYCLE","COMPLETE","type","EVENTS","TOUR_END","READY","Joyride","showProgress","floaterProps","disableAnimation","tooltipComponent","spotlightPadding","styles","options","primaryColor","Step"],"mappings":"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"}
1
+ {"version":3,"file":"Tour.js","sources":["../../../../../../../src/components/Tour/Tour.tsx"],"sourcesContent":["import * as React from 'react';\nimport Joyride, { Step, CallBackProps, ACTIONS, LIFECYCLE, Placement, EVENTS, TooltipRenderProps } from 'react-joyride';\n\nimport { Button } from '../Button/Button';\nimport { Group } from '../Group/Group';\nimport { IconButton } from '../IconButton/IconButton';\nimport { useLocalization } from '../Provider/Localization';\n\nexport type TourTexts = {\n /** Text for back action button */\n back: string;\n /**\n * Text for close button.\n * This button is displayed if tour is not continuous - replacing the `Next` button.\n * It will pause the flow of the tour and close the tooltip\n */\n close: string;\n /**\n * Aria-label and title for close icon button in each step.\n * This button skips and completes the flow entirely\n */\n skip: string;\n /**\n * Text for last action button.\n * This button is displayed when user is on the last step of the tour\n */\n last: string;\n /**\n * Text for next action button.\n * This button is displayed if tour has more than one steps and is continuous\n */\n next: string;\n /** Aria label and title for beacon that will open the tour step */\n open: string;\n};\n\nexport type TourStepProps = {\n /** Content can be any valid react node, for e.g. a `div` */\n children: React.ReactNode;\n /** Define the position of the tour's popup relative to the element is presenting */\n position?: Placement;\n /** The css selector of the html element you want to include in a tour */\n selector: string;\n /**\n * Show beacon for step.\n * A beacon is a styled component which indicates the current element to be presented.\n * For more informations about how to create a beacon, read [Joyride](https://docs.react-joyride.com) docs\n */\n showBeacon?: boolean;\n /** Text displayed above the children/content of the popup */\n title: string;\n};\n\nconst Tooltip = ({\n continuous,\n index,\n isLastStep,\n step,\n backProps,\n primaryProps,\n skipProps,\n tooltipProps,\n size,\n locale,\n disableTourSkipOnEsc,\n}: TooltipRenderProps & { locale: TourTexts; disableTourSkipOnEsc?: boolean }) => {\n const skipButtonRef = React.useRef<HTMLButtonElement>(null);\n\n React.useEffect(() => {\n const onWindowKeyDown = (event: KeyboardEvent): void => {\n if (!disableTourSkipOnEsc) {\n if (event.key === 'Escape' && skipButtonRef.current !== null) {\n event.preventDefault();\n skipButtonRef.current.click();\n return;\n }\n }\n };\n\n window.addEventListener('keydown', onWindowKeyDown);\n\n return () => {\n window.removeEventListener('keydown', onWindowKeyDown);\n };\n }, []);\n\n return (\n <div {...tooltipProps} className=\"yt-tour__step w-88 relative rounded bg-white p-4\">\n <IconButton\n {...skipProps}\n ref={skipButtonRef}\n appearance=\"discrete\"\n icon=\"close\"\n title={locale.skip}\n aria-label={locale.skip}\n className=\"absolute top-0 right-0 mt-1 mr-1\"\n />\n {step.title && <h5>{step.title}</h5>}\n {step.content}\n <Group className=\"mt-4 justify-end\">\n {index > 0 && (\n <Button {...backProps} appearance=\"discrete\">\n {locale.back}\n </Button>\n )}\n <Button {...primaryProps} appearance=\"primary\">\n {continuous\n ? isLastStep\n ? `${locale.last} (${index + 1}/${size})`\n : `${locale.next} (${index + 1}/${size})`\n : locale.close}\n </Button>\n </Group>\n </div>\n );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const TourStep = (_props: TourStepProps): null => null;\n\nexport type TourProps = {\n /** Controls if [Joyride](https://docs.react-joyride.com) is active */\n autoStart?: boolean;\n /** Children should be one or more `Tour.Step` components */\n children: any;\n /** Are there more than one steps and should you be able to navigate between them using `Next` and `Previous` buttons */\n continuous?: boolean;\n /** Disable closing of tour when click on `Escape` */\n disableCloseOnEsc?: boolean;\n /** Don't close the presenting popup of the tour step when clicking outside it */\n disableOverlayClose?: boolean;\n /** Allows user to interact with the presented components (mouse and touch events) when the popup is visible */\n disableScrolling?: boolean;\n /* When user clicks on the close icon button, which will close the tour and complete the flow */\n onClose?: (step: TourStepProps) => void;\n /* When user completes the entire flow */\n onComplete?: Function;\n /** When step is ready */\n onReady?: (step: TourStepProps) => void;\n /* Allow mouse and touch events through the spotlight */\n spotlightClicks?: boolean;\n /* Stops the injection of custom overflow styles on parent container. Can be used to prevent remaining overflow styles after tour is done. */\n disableScrollParentFix?: boolean;\n /** The scroll distance from the element scrollTop value. */\n scrollOffset?: number;\n};\n\nexport const Tour = (props: TourProps) => {\n const {\n texts: { tour },\n } = useLocalization();\n\n const {\n autoStart: run,\n onComplete,\n onClose,\n onReady,\n spotlightClicks,\n disableCloseOnEsc: disableTourSkipOnEsc,\n disableScrollParentFix = false,\n scrollOffset,\n ...rest\n } = props;\n\n const steps = React.useMemo(() => {\n return React.Children.map(props.children, child => {\n const step: Step = {\n disableBeacon: !child.props.showBeacon,\n target: child.props.selector,\n placement: child.props.position,\n title: child.props.title,\n content: child.props.children,\n };\n return step;\n });\n }, [props.children]);\n\n const getStep = React.useCallback(\n (selector: string | HTMLElement) => props.children.find((child: any) => child.props.selector === selector)?.props,\n [props.children]\n );\n\n const callback = (state: CallBackProps) => {\n if (state.action === ACTIONS.SKIP && state.lifecycle === LIFECYCLE.COMPLETE) {\n if (onClose) {\n onClose(getStep(state.step.target));\n }\n }\n\n if (state.type === EVENTS.TOUR_END) {\n if (onComplete) {\n onComplete();\n }\n }\n\n if (state.lifecycle === LIFECYCLE.READY) {\n if (onReady) {\n onReady(getStep(state.step.target));\n }\n }\n };\n\n return (\n <Joyride\n {...rest}\n run={run}\n steps={steps}\n showProgress\n floaterProps={{\n disableAnimation: true,\n }}\n tooltipComponent={tooltipProps => (\n <Tooltip {...tooltipProps} locale={tour} disableTourSkipOnEsc={disableTourSkipOnEsc} />\n )}\n locale={tour}\n spotlightPadding={8}\n spotlightClicks={spotlightClicks}\n disableScrollParentFix={disableScrollParentFix}\n callback={callback}\n scrollOffset={scrollOffset}\n styles={{\n /** style beacon */\n options: {\n // tailwind.theme.colors.blue.300\n primaryColor: '#6ba4ff',\n },\n }}\n disableCloseOnEsc\n />\n );\n};\n\nTour.Step = TourStep;\n"],"names":["Tooltip","continuous","index","isLastStep","step","backProps","primaryProps","skipProps","tooltipProps","size","locale","disableTourSkipOnEsc","skipButtonRef","React","onWindowKeyDown","event","key","current","preventDefault","click","window","addEventListener","removeEventListener","className","IconButton","ref","appearance","icon","title","skip","content","Group","Button","back","last","next","close","TourStep","_props","Tour","props","texts","tour","useLocalization","autoStart","run","onComplete","onClose","onReady","spotlightClicks","disableCloseOnEsc","disableScrollParentFix","scrollOffset","rest","steps","map","children","child","disableBeacon","showBeacon","target","selector","placement","position","getStep","_props$children$find","find","callback","state","action","ACTIONS","SKIP","lifecycle","LIFECYCLE","COMPLETE","type","EVENTS","TOUR_END","READY","Joyride","showProgress","floaterProps","disableAnimation","tooltipComponent","spotlightPadding","styles","options","primaryColor","Step"],"mappings":"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"}
@@ -50,12 +50,12 @@ const TreeviewGroup = /*#__PURE__*/React__default.forwardRef(function TreeviewGr
50
50
  }, typeof title === 'function' ? title(expanded) : title), /*#__PURE__*/React__default.createElement("ul", {
51
51
  role: "group",
52
52
  className: listClassName
53
- }, React__default.Children.toArray(children).filter(item => !!item).map((item, i) => /*#__PURE__*/React__default.createElement("li", {
53
+ }, React__default.Children.toArray(children).filter(item => !!item).map((item, i) => ( /*#__PURE__*/React__default.createElement("li", {
54
54
  key: i,
55
55
  role: "none"
56
56
  }, /*#__PURE__*/React__default.cloneElement(item, {
57
57
  role: 'treeitem'
58
- })))));
58
+ }))))));
59
59
  });
60
60
  const Treeview = /*#__PURE__*/React__default.forwardRef(function Treeview(props, ref) {
61
61
  return /*#__PURE__*/React__default.createElement("div", Object.assign({}, props, {
@@ -1 +1 @@
1
- {"version":3,"file":"Treeview.js","sources":["../../../../../../../src/components/Treeview/Treeview.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nexport type TreeviewItemProps = React.LinkHTMLAttributes<HTMLAnchorElement>;\n\nconst TreeviewItem = React.forwardRef(function TreeviewItem(props: TreeviewItemProps, ref: React.Ref<HTMLAnchorElement>) {\n return <a {...props} ref={ref} />;\n});\n\nexport type TreeviewGroupProps = Omit<React.LinkHTMLAttributes<HTMLDivElement>, 'className' | 'onClick' | 'title'> & {\n /** Add a classname to the treeview */\n className?: string | ((expanded: boolean) => string);\n /**\n * Set wheter the region is expanded, showing the children, or collapsed.\n * Default value is `false`\n */\n expanded?: boolean;\n /** Region is expanded at mount and can't be collapsed */\n fixed?: boolean;\n /** Handler called when user clicks the title of the group */\n onClick?: (event: React.MouseEvent<HTMLDivElement>, expanded: boolean) => void;\n /** Text displayed in the group's header */\n title: React.ReactNode | ((expanded: boolean) => React.ReactNode);\n};\n\nconst TreeviewGroup = React.forwardRef(function TreeviewGroup(props: TreeviewGroupProps, ref: React.Ref<HTMLDivElement>) {\n const {\n children,\n className: externalClassName,\n expanded: initialExpanded = false,\n title,\n fixed,\n onClick,\n ...otherProps\n } = props;\n const [expanded, setExpanded] = React.useState(fixed || initialExpanded);\n\n React.useEffect(() => {\n if (!fixed) {\n setExpanded(fixed || initialExpanded);\n }\n }, [fixed, initialExpanded]);\n\n const listClassName = cn('flex-col mb-0', {\n flex: expanded,\n hidden: !expanded,\n });\n\n const itemProps = {\n ...otherProps,\n 'aria-expanded': expanded,\n role: 'treeitem',\n tabIndex: -1,\n };\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>): void => {\n const nextState = !expanded;\n\n if (!fixed) {\n setExpanded(nextState);\n }\n\n if (onClick) {\n onClick(event, nextState);\n }\n };\n\n const className = typeof externalClassName === 'function' ? externalClassName(expanded) : externalClassName;\n\n return (\n <div {...itemProps} className={className} ref={ref}>\n <div onClick={handleClick}>{typeof title === 'function' ? title(expanded) : title}</div>\n <ul role=\"group\" className={listClassName}>\n {React.Children.toArray(children)\n .filter(item => !!item)\n .map((item, i) => (\n <li key={i} role=\"none\">\n {React.cloneElement(item as React.ReactElement<any>, { role: 'treeitem' })}\n </li>\n ))}\n </ul>\n </div>\n );\n});\n\nexport type TreeviewProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport type ForwardedTreeviewWithStatics = React.ForwardRefExoticComponent<\n TreeviewProps & React.RefAttributes<HTMLDivElement>\n> & {\n /** Navigable link */\n Item: React.ForwardRefExoticComponent<TreeviewItemProps & React.RefAttributes<HTMLAnchorElement>>;\n /** Container for a set of related links, usually expandable */\n Group: React.ForwardRefExoticComponent<TreeviewGroupProps & React.RefAttributes<HTMLDivElement>>;\n};\n\nexport const Treeview = React.forwardRef(function Treeview(props: TreeviewProps, ref: React.Ref<HTMLDivElement>) {\n return <div {...props} ref={ref} role=\"tree\" />;\n}) as ForwardedTreeviewWithStatics;\n\nTreeview.Group = TreeviewGroup;\nTreeview.Item = TreeviewItem;\n"],"names":["TreeviewItem","React","forwardRef","props","ref","TreeviewGroup","children","className","externalClassName","expanded","initialExpanded","title","fixed","onClick","otherProps","setExpanded","useState","useEffect","listClassName","cn","flex","hidden","itemProps","role","tabIndex","handleClick","event","nextState","Children","toArray","filter","item","map","i","key","cloneElement","Treeview","Group","Item"],"mappings":";;;AAKA,MAAMA,YAAY,gBAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,YAAYA,CAACG,KAAwB,EAAEC,GAAiC;EACnH,oBAAOH,oDAAOE,KAAK;IAAEC,GAAG,EAAEA;KAAO;AACrC,CAAC,CAAC;AAkBF,MAAMC,aAAa,gBAAGJ,cAAK,CAACC,UAAU,CAAC,SAASG,aAAaA,CAACF,KAAyB,EAAEC,GAA8B;EACnH,MAAM;IACFE,QAAQ;IACRC,SAAS,EAAEC,iBAAiB;IAC5BC,QAAQ,EAAEC,eAAe,GAAG,KAAK;IACjCC,KAAK;IACLC,KAAK;IACLC,OAAO;IACP,GAAGC;GACN,GAAGX,KAAK;EACT,MAAM,CAACM,QAAQ,EAAEM,WAAW,CAAC,GAAGd,cAAK,CAACe,QAAQ,CAACJ,KAAK,IAAIF,eAAe,CAAC;EAExET,cAAK,CAACgB,SAAS,CAAC;IACZ,IAAI,CAACL,KAAK,EAAE;MACRG,WAAW,CAACH,KAAK,IAAIF,eAAe,CAAC;;GAE5C,EAAE,CAACE,KAAK,EAAEF,eAAe,CAAC,CAAC;EAE5B,MAAMQ,aAAa,GAAGC,EAAE,CAAC,eAAe,EAAE;IACtCC,IAAI,EAAEX,QAAQ;IACdY,MAAM,EAAE,CAACZ;GACZ,CAAC;EAEF,MAAMa,SAAS,GAAG;IACd,GAAGR,UAAU;IACb,eAAe,EAAEL,QAAQ;IACzBc,IAAI,EAAE,UAAU;IAChBC,QAAQ,EAAE,CAAC;GACd;EAED,MAAMC,WAAW,GAAIC,KAAuC;IACxD,MAAMC,SAAS,GAAG,CAAClB,QAAQ;IAE3B,IAAI,CAACG,KAAK,EAAE;MACRG,WAAW,CAACY,SAAS,CAAC;;IAG1B,IAAId,OAAO,EAAE;MACTA,OAAO,CAACa,KAAK,EAAEC,SAAS,CAAC;;GAEhC;EAED,MAAMpB,SAAS,GAAG,OAAOC,iBAAiB,KAAK,UAAU,GAAGA,iBAAiB,CAACC,QAAQ,CAAC,GAAGD,iBAAiB;EAE3G,oBACIP,sDAASqB,SAAS;IAAEf,SAAS,EAAEA,SAAS;IAAEH,GAAG,EAAEA;mBAC3CH;IAAKY,OAAO,EAAEY;KAAc,OAAOd,KAAK,KAAK,UAAU,GAAGA,KAAK,CAACF,QAAQ,CAAC,GAAGE,KAAK,CAAO,eACxFV;IAAIsB,IAAI,EAAC,OAAO;IAAChB,SAAS,EAAEW;KACvBjB,cAAK,CAAC2B,QAAQ,CAACC,OAAO,CAACvB,QAAQ,CAAC,CAC5BwB,MAAM,CAACC,IAAI,IAAI,CAAC,CAACA,IAAI,CAAC,CACtBC,GAAG,CAAC,CAACD,IAAI,EAAEE,CAAC,kBACThC;IAAIiC,GAAG,EAAED,CAAC;IAAEV,IAAI,EAAC;kBACZtB,cAAK,CAACkC,YAAY,CAACJ,IAA+B,EAAE;IAAER,IAAI,EAAE;GAAY,CAAC,CAEjF,CAAC,CACL,CACH;AAEd,CAAC,CAAC;MAaWa,QAAQ,gBAAGnC,cAAK,CAACC,UAAU,CAAC,SAASkC,QAAQA,CAACjC,KAAoB,EAAEC,GAA8B;EAC3G,oBAAOH,sDAASE,KAAK;IAAEC,GAAG,EAAEA,GAAG;IAAEmB,IAAI,EAAC;KAAS;AACnD,CAAC;AAEDa,QAAQ,CAACC,KAAK,GAAGhC,aAAa;AAC9B+B,QAAQ,CAACE,IAAI,GAAGtC,YAAY;;;;"}
1
+ {"version":3,"file":"Treeview.js","sources":["../../../../../../../src/components/Treeview/Treeview.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nexport type TreeviewItemProps = React.LinkHTMLAttributes<HTMLAnchorElement>;\n\nconst TreeviewItem = React.forwardRef(function TreeviewItem(props: TreeviewItemProps, ref: React.Ref<HTMLAnchorElement>) {\n return <a {...props} ref={ref} />;\n});\n\nexport type TreeviewGroupProps = Omit<React.LinkHTMLAttributes<HTMLDivElement>, 'className' | 'onClick' | 'title'> & {\n /** Add a classname to the treeview */\n className?: string | ((expanded: boolean) => string);\n /**\n * Set wheter the region is expanded, showing the children, or collapsed.\n * Default value is `false`\n */\n expanded?: boolean;\n /** Region is expanded at mount and can't be collapsed */\n fixed?: boolean;\n /** Handler called when user clicks the title of the group */\n onClick?: (event: React.MouseEvent<HTMLDivElement>, expanded: boolean) => void;\n /** Text displayed in the group's header */\n title: React.ReactNode | ((expanded: boolean) => React.ReactNode);\n};\n\nconst TreeviewGroup = React.forwardRef(function TreeviewGroup(props: TreeviewGroupProps, ref: React.Ref<HTMLDivElement>) {\n const {\n children,\n className: externalClassName,\n expanded: initialExpanded = false,\n title,\n fixed,\n onClick,\n ...otherProps\n } = props;\n const [expanded, setExpanded] = React.useState(fixed || initialExpanded);\n\n React.useEffect(() => {\n if (!fixed) {\n setExpanded(fixed || initialExpanded);\n }\n }, [fixed, initialExpanded]);\n\n const listClassName = cn('flex-col mb-0', {\n flex: expanded,\n hidden: !expanded,\n });\n\n const itemProps = {\n ...otherProps,\n 'aria-expanded': expanded,\n role: 'treeitem',\n tabIndex: -1,\n };\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>): void => {\n const nextState = !expanded;\n\n if (!fixed) {\n setExpanded(nextState);\n }\n\n if (onClick) {\n onClick(event, nextState);\n }\n };\n\n const className = typeof externalClassName === 'function' ? externalClassName(expanded) : externalClassName;\n\n return (\n <div {...itemProps} className={className} ref={ref}>\n <div onClick={handleClick}>{typeof title === 'function' ? title(expanded) : title}</div>\n <ul role=\"group\" className={listClassName}>\n {React.Children.toArray(children)\n .filter(item => !!item)\n .map((item, i) => (\n <li key={i} role=\"none\">\n {React.cloneElement(item as React.ReactElement<any>, { role: 'treeitem' })}\n </li>\n ))}\n </ul>\n </div>\n );\n});\n\nexport type TreeviewProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport type ForwardedTreeviewWithStatics = React.ForwardRefExoticComponent<\n TreeviewProps & React.RefAttributes<HTMLDivElement>\n> & {\n /** Navigable link */\n Item: React.ForwardRefExoticComponent<TreeviewItemProps & React.RefAttributes<HTMLAnchorElement>>;\n /** Container for a set of related links, usually expandable */\n Group: React.ForwardRefExoticComponent<TreeviewGroupProps & React.RefAttributes<HTMLDivElement>>;\n};\n\nexport const Treeview = React.forwardRef(function Treeview(props: TreeviewProps, ref: React.Ref<HTMLDivElement>) {\n return <div {...props} ref={ref} role=\"tree\" />;\n}) as ForwardedTreeviewWithStatics;\n\nTreeview.Group = TreeviewGroup;\nTreeview.Item = TreeviewItem;\n"],"names":["TreeviewItem","React","forwardRef","props","ref","TreeviewGroup","children","className","externalClassName","expanded","initialExpanded","title","fixed","onClick","otherProps","setExpanded","useState","useEffect","listClassName","cn","flex","hidden","itemProps","role","tabIndex","handleClick","event","nextState","Children","toArray","filter","item","map","i","key","cloneElement","Treeview","Group","Item"],"mappings":";;;AAKA,MAAMA,YAAY,gBAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,YAAYA,CAACG,KAAwB,EAAEC,GAAiC;EACnH,oBAAOH,oDAAOE,KAAK;IAAEC,GAAG,EAAEA;KAAO;AACrC,CAAC,CAAC;AAkBF,MAAMC,aAAa,gBAAGJ,cAAK,CAACC,UAAU,CAAC,SAASG,aAAaA,CAACF,KAAyB,EAAEC,GAA8B;EACnH,MAAM;IACFE,QAAQ;IACRC,SAAS,EAAEC,iBAAiB;IAC5BC,QAAQ,EAAEC,eAAe,GAAG,KAAK;IACjCC,KAAK;IACLC,KAAK;IACLC,OAAO;IACP,GAAGC;GACN,GAAGX,KAAK;EACT,MAAM,CAACM,QAAQ,EAAEM,WAAW,CAAC,GAAGd,cAAK,CAACe,QAAQ,CAACJ,KAAK,IAAIF,eAAe,CAAC;EAExET,cAAK,CAACgB,SAAS,CAAC;IACZ,IAAI,CAACL,KAAK,EAAE;MACRG,WAAW,CAACH,KAAK,IAAIF,eAAe,CAAC;;GAE5C,EAAE,CAACE,KAAK,EAAEF,eAAe,CAAC,CAAC;EAE5B,MAAMQ,aAAa,GAAGC,EAAE,CAAC,eAAe,EAAE;IACtCC,IAAI,EAAEX,QAAQ;IACdY,MAAM,EAAE,CAACZ;GACZ,CAAC;EAEF,MAAMa,SAAS,GAAG;IACd,GAAGR,UAAU;IACb,eAAe,EAAEL,QAAQ;IACzBc,IAAI,EAAE,UAAU;IAChBC,QAAQ,EAAE,CAAC;GACd;EAED,MAAMC,WAAW,GAAIC,KAAuC;IACxD,MAAMC,SAAS,GAAG,CAAClB,QAAQ;IAE3B,IAAI,CAACG,KAAK,EAAE;MACRG,WAAW,CAACY,SAAS,CAAC;;IAG1B,IAAId,OAAO,EAAE;MACTA,OAAO,CAACa,KAAK,EAAEC,SAAS,CAAC;;GAEhC;EAED,MAAMpB,SAAS,GAAG,OAAOC,iBAAiB,KAAK,UAAU,GAAGA,iBAAiB,CAACC,QAAQ,CAAC,GAAGD,iBAAiB;EAE3G,oBACIP,sDAASqB,SAAS;IAAEf,SAAS,EAAEA,SAAS;IAAEH,GAAG,EAAEA;mBAC3CH;IAAKY,OAAO,EAAEY;KAAc,OAAOd,KAAK,KAAK,UAAU,GAAGA,KAAK,CAACF,QAAQ,CAAC,GAAGE,KAAK,CAAO,eACxFV;IAAIsB,IAAI,EAAC,OAAO;IAAChB,SAAS,EAAEW;KACvBjB,cAAK,CAAC2B,QAAQ,CAACC,OAAO,CAACvB,QAAQ,CAAC,CAC5BwB,MAAM,CAACC,IAAI,IAAI,CAAC,CAACA,IAAI,CAAC,CACtBC,GAAG,CAAC,CAACD,IAAI,EAAEE,CAAC,oBACThC;IAAIiC,GAAG,EAAED,CAAC;IAAEV,IAAI,EAAC;kBACZtB,cAAK,CAACkC,YAAY,CAACJ,IAA+B,EAAE;IAAER,IAAI,EAAE;GAAY,CAAC,CACzE,CACR,CAAC,CACL,CACH;AAEd,CAAC,CAAC;MAaWa,QAAQ,gBAAGnC,cAAK,CAACC,UAAU,CAAC,SAASkC,QAAQA,CAACjC,KAAoB,EAAEC,GAA8B;EAC3G,oBAAOH,sDAASE,KAAK;IAAEC,GAAG,EAAEA,GAAG;IAAEmB,IAAI,EAAC;KAAS;AACnD,CAAC;AAEDa,QAAQ,CAACC,KAAK,GAAGhC,aAAa;AAC9B+B,QAAQ,CAACE,IAAI,GAAGtC,YAAY;;;;"}
@@ -66,8 +66,9 @@ export { useLazyEffect } from './hooks/useLazyEffect.js';
66
66
  export { Textarea } from './components/Textarea/Textarea.js';
67
67
  export { useMatchMedia } from './hooks/useMatchMedia.js';
68
68
  export { useIsLargeScreen } from './hooks/useIsLargeScreen.js';
69
+ export { fixedForwardRef } from './types.js';
69
70
  export { useTable3DataLoader } from './components/Table3/hooks/useTableDataLoader.js';
70
- export { Table3, fixedForwardRef } from './components/Table3/Table3.js';
71
+ export { Table3 } from './components/Table3/Table3.js';
71
72
  export { Tabs } from './components/Tabs/Tabs.js';
72
73
  export { Tour, TourStep } from './components/Tour/Tour.js';
73
74
  export { Header } from './components/Header/Header.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,10 @@
1
+ // settings
2
+ var TableFontSizes;
3
+ (function (TableFontSizes) {
4
+ TableFontSizes["small"] = "small";
5
+ TableFontSizes["medium"] = "medium";
6
+ TableFontSizes["large"] = "large";
7
+ })(TableFontSizes || (TableFontSizes = {}));
8
+
9
+ export { TableFontSizes };
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../../../../../src/primitives/Table/types.ts"],"sourcesContent":["import { ColumnFilter as ReactTableColumnFilter, ColumnSort as ReactTableColumnSort } from '@tanstack/react-table';\n\nexport type TableRef = HTMLDivElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n };\n};\n\n// settings\nexport enum TableFontSizes {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\nexport type TableFontSize = keyof typeof TableFontSizes;\n\n// columns\nexport type TableColumnFilter = ReactTableColumnFilter;\nexport type TableColumnSort = ReactTableColumnSort;\n\n// rows\nexport type TableRowClickHandler<TType = unknown> = (row: TType) => void;\nexport type TableRowGotoHandler = (\n column: string,\n query: string,\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined\n) => Promise<number>;\nexport type TableRowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type TableRowSelectHandler<TType = unknown> = (rows: TType[]) => void;\n\n// shortcuts\nexport type TableShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type TableShortcutHandlerObject<TType = unknown> = {\n handler: TableShortcutHandlerFn<TType>;\n meta?: boolean;\n shift?: boolean;\n};\n\n// table\nexport type TableFilterHandler = (filters: TableColumnFilter[]) => void;\nexport type TableScrollToIndexHandler = (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\nexport type TableServerLoadPageHandler = (\n pageIndex: number,\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type TableServerLoadAllHandler = (\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type TableShortcuts<TType = unknown> = Record<string, TableShortcutHandlerFn<TType> | TableShortcutHandlerObject<TType>>;\nexport type TableSortHandler = (sorting: TableColumnSort[]) => void;\n"],"names":["TableFontSizes"],"mappings":"AAWA;IACYA;AAAZ,WAAYA,cAAc;EACtBA,iCAAe;EACfA,mCAAiB;EACjBA,iCAAe;AACnB,CAAC,EAJWA,cAAc,KAAdA,cAAc;;;;"}
@@ -0,0 +1,8 @@
1
+ function useTableColumnOrdering(isEnabled = true) {
2
+ return {
3
+ isEnabled
4
+ };
5
+ }
6
+
7
+ export { useTableColumnOrdering };
8
+ //# sourceMappingURL=useTableColumnOrdering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableColumnOrdering.js","sources":["../../../../../../../../../src/primitives/Table/useTable/features/useTableColumnOrdering.ts"],"sourcesContent":["export function useTableColumnOrdering(isEnabled = true) {\n return {\n isEnabled,\n };\n}\n"],"names":["useTableColumnOrdering","isEnabled"],"mappings":"SAAgBA,sBAAsBA,CAACC,SAAS,GAAG,IAAI;EACnD,OAAO;IACHA;GACH;AACL;;;;"}
@@ -1,6 +1,6 @@
1
1
  import React__default from 'react';
2
2
 
3
- function useFontSize(isEnabled, defaultFontSize = 'medium') {
3
+ function useTableFontSize(isEnabled = false, defaultFontSize = 'medium') {
4
4
  const [size, setSize] = React__default.useState(defaultFontSize);
5
5
  return {
6
6
  isEnabled,
@@ -9,5 +9,5 @@ function useFontSize(isEnabled, defaultFontSize = 'medium') {
9
9
  };
10
10
  }
11
11
 
12
- export { useFontSize };
13
- //# sourceMappingURL=useFontSize.js.map
12
+ export { useTableFontSize };
13
+ //# sourceMappingURL=useTableFontSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableFontSize.js","sources":["../../../../../../../../../src/primitives/Table/useTable/features/useTableFontSize.ts"],"sourcesContent":["import React from 'react';\nimport { TableFontSize } from '../../types';\n\nexport function useTableFontSize(isEnabled = false, defaultFontSize: TableFontSize = 'medium') {\n const [size, setSize] = React.useState<TableFontSize>(defaultFontSize);\n\n return {\n isEnabled,\n size,\n setSize: isEnabled ? setSize : () => undefined,\n };\n}\n"],"names":["useTableFontSize","isEnabled","defaultFontSize","size","setSize","React","useState","undefined"],"mappings":";;SAGgBA,gBAAgBA,CAACC,SAAS,GAAG,KAAK,EAAEC,kBAAiC,QAAQ;EACzF,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAgBJ,eAAe,CAAC;EAEtE,OAAO;IACHD,SAAS;IACTE,IAAI;IACJC,OAAO,EAAEH,SAAS,GAAGG,OAAO,GAAG,MAAMG;GACxC;AACL;;;;"}
@@ -0,0 +1,14 @@
1
+ import React__default from 'react';
2
+
3
+ function useTablePrinting(isEnabled = false, defaultIsWarningVisible = true, id) {
4
+ const [isWarningVisibleForLargeDatasets, setIsWarningVisibleForLargeDatasets] = React__default.useState(defaultIsWarningVisible);
5
+ return {
6
+ isEnabled,
7
+ isPrinting: id.endsWith('_print'),
8
+ isWarningVisibleForLargeDatasets,
9
+ setIsWarningVisibleForLargeDatasets: isEnabled ? setIsWarningVisibleForLargeDatasets : () => undefined
10
+ };
11
+ }
12
+
13
+ export { useTablePrinting };
14
+ //# sourceMappingURL=useTablePrinting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTablePrinting.js","sources":["../../../../../../../../../src/primitives/Table/useTable/features/useTablePrinting.ts"],"sourcesContent":["import React from 'react';\n\nexport function useTablePrinting(isEnabled = false, defaultIsWarningVisible = true, id: string) {\n const [isWarningVisibleForLargeDatasets, setIsWarningVisibleForLargeDatasets] = React.useState(defaultIsWarningVisible);\n\n return {\n isEnabled,\n isPrinting: id.endsWith('_print'), // this is a very naive implementation\n isWarningVisibleForLargeDatasets,\n setIsWarningVisibleForLargeDatasets: isEnabled ? setIsWarningVisibleForLargeDatasets : () => undefined,\n };\n}\n"],"names":["useTablePrinting","isEnabled","defaultIsWarningVisible","id","isWarningVisibleForLargeDatasets","setIsWarningVisibleForLargeDatasets","React","useState","isPrinting","endsWith","undefined"],"mappings":";;SAEgBA,gBAAgBA,CAACC,SAAS,GAAG,KAAK,EAAEC,uBAAuB,GAAG,IAAI,EAAEC,EAAU;EAC1F,MAAM,CAACC,gCAAgC,EAAEC,mCAAmC,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAACL,uBAAuB,CAAC;EAEvH,OAAO;IACHD,SAAS;IACTO,UAAU,EAAEL,EAAE,CAACM,QAAQ,CAAC,QAAQ,CAAC;IACjCL,gCAAgC;IAChCC,mCAAmC,EAAEJ,SAAS,GAAGI,mCAAmC,GAAG,MAAMK;GAChG;AACL;;;;"}
@@ -0,0 +1,100 @@
1
+ import React__default from 'react';
2
+ import { useIsHoverStatePaused } from '../../../../hooks/useIsHoverStatePaused.js';
3
+
4
+ function focusFirstElementInActiveRow(tableRef) {
5
+ const selector = '[data-taco="table2-body"] [role="row"] [role="cell"]:first-child';
6
+ setTimeout(() => {
7
+ var _tableRef$current, _tableRef$current$que;
8
+ (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : (_tableRef$current$que = _tableRef$current.querySelector(selector)) === null || _tableRef$current$que === void 0 ? void 0 : _tableRef$current$que.focus();
9
+ }, 1);
10
+ }
11
+ function useTableRowActive(isEnabled = false, initialRowActiveIndex) {
12
+ const [rowActiveIndex, setRowActiveIndex] = React__default.useState(initialRowActiveIndex);
13
+ const [isHoverStatePaused, setHoverStatePaused] = useIsHoverStatePaused();
14
+ const move = (direction, length, scrollToIndex) => setRowActiveIndex(currentIndex => {
15
+ const nextIndex = currentIndex !== undefined ? getNextIndex(direction, currentIndex, length) : 0;
16
+ scrollToIndex(direction === -1 ? nextIndex : nextIndex + 3);
17
+ return nextIndex;
18
+ });
19
+ const onKeyDown = React__default.useCallback((event, length, scrollToIndex, tableRef) => {
20
+ if (!isEnabled || event.defaultPrevented) {
21
+ return;
22
+ }
23
+ if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
24
+ setHoverStatePaused(true);
25
+ }
26
+ if (event.key === 'ArrowUp') {
27
+ event.preventDefault();
28
+ if (event.ctrlKey || event.metaKey) {
29
+ const newIndex = 0;
30
+ setRowActiveIndex(newIndex);
31
+ scrollToIndex(newIndex);
32
+ } else {
33
+ move(-1, length, scrollToIndex);
34
+ }
35
+ if (tableRef) {
36
+ focusFirstElementInActiveRow(tableRef);
37
+ }
38
+ return;
39
+ } else if (event.key === 'ArrowDown') {
40
+ event.preventDefault();
41
+ if (event.ctrlKey || event.metaKey) {
42
+ const newIndex = length - 1;
43
+ setRowActiveIndex(newIndex);
44
+ scrollToIndex(newIndex);
45
+ } else {
46
+ move(+1, length, scrollToIndex);
47
+ }
48
+ if (tableRef) {
49
+ focusFirstElementInActiveRow(tableRef);
50
+ }
51
+ return;
52
+ }
53
+ }, [isEnabled]);
54
+ const onFocus = React__default.useCallback((event, length, scrollToIndex) => {
55
+ if (!isEnabled || event.isDefaultPrevented()) {
56
+ return;
57
+ }
58
+ if (rowActiveIndex === undefined && length > 0) {
59
+ // do it in the next tick, otherwise it prevents internal focus from working
60
+ // meaning you have to tab twice to get to the first focusable element
61
+ setTimeout(() => {
62
+ setRowActiveIndex(index => {
63
+ if (index === undefined) {
64
+ scrollToIndex(0);
65
+ return 0;
66
+ }
67
+ return index;
68
+ });
69
+ }, 1);
70
+ }
71
+ }, [rowActiveIndex, length, isEnabled]);
72
+ const onMouseCapture = React__default.useCallback((event, length) => {
73
+ if (!isEnabled || event.isDefaultPrevented()) {
74
+ return;
75
+ }
76
+ if (rowActiveIndex === undefined && length > 0) {
77
+ event.preventDefault();
78
+ event.stopPropagation();
79
+ }
80
+ }, [rowActiveIndex, length, isEnabled]);
81
+ return {
82
+ isEnabled,
83
+ rowActiveIndex,
84
+ setRowActiveIndex: isEnabled ? setRowActiveIndex : () => undefined,
85
+ isHoverStatePaused,
86
+ setHoverStatePaused: isEnabled ? setHoverStatePaused : () => undefined,
87
+ handleFocus: isEnabled ? onFocus : () => undefined,
88
+ handleKeyDown: isEnabled ? onKeyDown : () => undefined,
89
+ handleMouseCapture: isEnabled ? onMouseCapture : () => undefined
90
+ };
91
+ }
92
+ function getNextIndex(direction, currentIndex, length) {
93
+ if (direction === -1) {
94
+ return currentIndex - 1 > 0 ? currentIndex - 1 : 0;
95
+ }
96
+ return currentIndex + 1 < length ? currentIndex + 1 : currentIndex;
97
+ }
98
+
99
+ export { useTableRowActive };
100
+ //# sourceMappingURL=useTableRowActive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableRowActive.js","sources":["../../../../../../../../../src/primitives/Table/useTable/features/useTableRowActive.ts"],"sourcesContent":["import React from 'react';\nimport { TableRef, TableScrollToIndexHandler } from '../../types';\nimport { useIsHoverStatePaused } from '../../../../hooks/useIsHoverStatePaused';\n\nfunction focusFirstElementInActiveRow(tableRef: React.RefObject<TableRef>) {\n const selector = '[data-taco=\"table2-body\"] [role=\"row\"] [role=\"cell\"]:first-child';\n\n setTimeout(() => {\n (tableRef.current?.querySelector(selector) as HTMLElement)?.focus();\n }, 1);\n}\n\nexport function useTableRowActive(isEnabled = false, initialRowActiveIndex?: number) {\n const [rowActiveIndex, setRowActiveIndex] = React.useState<number | undefined>(initialRowActiveIndex);\n const [isHoverStatePaused, setHoverStatePaused] = useIsHoverStatePaused();\n\n const move = (direction: -1 | 1, length: number, scrollToIndex: TableScrollToIndexHandler) =>\n setRowActiveIndex(currentIndex => {\n const nextIndex = currentIndex !== undefined ? getNextIndex(direction, currentIndex, length) : 0;\n scrollToIndex(direction === -1 ? nextIndex : nextIndex + 3);\n return nextIndex;\n });\n\n const onKeyDown = React.useCallback(\n (\n event: KeyboardEvent,\n length: number,\n scrollToIndex: TableScrollToIndexHandler,\n tableRef?: React.RefObject<TableRef>\n ) => {\n if (!isEnabled || event.defaultPrevented) {\n return;\n }\n\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n setHoverStatePaused(true);\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n const newIndex = 0;\n setRowActiveIndex(newIndex);\n scrollToIndex(newIndex);\n } else {\n move(-1, length, scrollToIndex);\n }\n\n if (tableRef) {\n focusFirstElementInActiveRow(tableRef);\n }\n\n return;\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n const newIndex = length - 1;\n setRowActiveIndex(newIndex);\n scrollToIndex(newIndex);\n } else {\n move(+1, length, scrollToIndex);\n }\n\n if (tableRef) {\n focusFirstElementInActiveRow(tableRef);\n }\n\n return;\n }\n },\n [isEnabled]\n );\n\n const onFocus = React.useCallback(\n (event: React.FocusEvent, length: number, scrollToIndex: TableScrollToIndexHandler) => {\n if (!isEnabled || event.isDefaultPrevented()) {\n return;\n }\n\n if (rowActiveIndex === undefined && length > 0) {\n // do it in the next tick, otherwise it prevents internal focus from working\n // meaning you have to tab twice to get to the first focusable element\n setTimeout(() => {\n setRowActiveIndex(index => {\n if (index === undefined) {\n scrollToIndex(0);\n return 0;\n }\n return index;\n });\n }, 1);\n }\n },\n [rowActiveIndex, length, isEnabled]\n );\n\n const onMouseCapture = React.useCallback(\n (event: React.MouseEvent, length: number) => {\n if (!isEnabled || event.isDefaultPrevented()) {\n return;\n }\n\n if (rowActiveIndex === undefined && length > 0) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [rowActiveIndex, length, isEnabled]\n );\n\n return {\n isEnabled,\n rowActiveIndex,\n setRowActiveIndex: isEnabled ? setRowActiveIndex : () => undefined,\n isHoverStatePaused,\n setHoverStatePaused: isEnabled ? setHoverStatePaused : () => undefined,\n handleFocus: isEnabled ? onFocus : () => undefined,\n handleKeyDown: isEnabled ? onKeyDown : () => undefined,\n handleMouseCapture: isEnabled ? onMouseCapture : () => undefined,\n };\n}\n\nfunction getNextIndex(direction: -1 | 1, currentIndex: number, length: number) {\n if (direction === -1) {\n return currentIndex - 1 > 0 ? currentIndex - 1 : 0;\n }\n\n return currentIndex + 1 < length ? currentIndex + 1 : currentIndex;\n}\n"],"names":["focusFirstElementInActiveRow","tableRef","selector","setTimeout","_tableRef$current","current","_tableRef$current$que","querySelector","focus","useTableRowActive","isEnabled","initialRowActiveIndex","rowActiveIndex","setRowActiveIndex","React","useState","isHoverStatePaused","setHoverStatePaused","useIsHoverStatePaused","move","direction","length","scrollToIndex","currentIndex","nextIndex","undefined","getNextIndex","onKeyDown","useCallback","event","defaultPrevented","key","preventDefault","ctrlKey","metaKey","newIndex","onFocus","isDefaultPrevented","index","onMouseCapture","stopPropagation","handleFocus","handleKeyDown","handleMouseCapture"],"mappings":"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"}