@economic/taco 2.16.0 → 2.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (261) hide show
  1. package/dist/components/Table3/Table3.d.ts +0 -2
  2. package/dist/components/Table3/components/columns/cell/EditingControl.d.ts +1 -1
  3. package/dist/components/Table3/components/columns/header/Header.d.ts +1 -1
  4. package/dist/components/Table3/components/columns/styles.d.ts +2 -2
  5. package/dist/components/Table3/components/rows/Row.d.ts +3 -1
  6. package/dist/components/Table3/hooks/features/useSearch.d.ts +1 -3
  7. package/dist/components/Table3/hooks/useTable.d.ts +21 -20
  8. package/dist/components/Table3/types.d.ts +15 -18
  9. package/dist/components/Table3/util/scrolling.d.ts +2 -0
  10. package/dist/esm/packages/taco/src/components/Banner/Banner.js +2 -2
  11. package/dist/esm/packages/taco/src/components/Banner/Banner.js.map +1 -1
  12. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js +4 -4
  13. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js.map +1 -1
  14. package/dist/esm/packages/taco/src/components/Combobox/Combobox.js +3 -3
  15. package/dist/esm/packages/taco/src/components/Combobox/Combobox.js.map +1 -1
  16. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +2 -1
  17. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
  18. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js +6 -6
  19. package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js.map +1 -1
  20. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js +3 -3
  21. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js.map +1 -1
  22. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +7 -7
  23. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js.map +1 -1
  24. package/dist/esm/packages/taco/src/components/Field/Field.js +2 -2
  25. package/dist/esm/packages/taco/src/components/Field/Field.js.map +1 -1
  26. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Item.js +2 -2
  27. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Item.js.map +1 -1
  28. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js +4 -4
  29. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js.map +1 -1
  30. package/dist/esm/packages/taco/src/components/Header/components/Link.js +2 -2
  31. package/dist/esm/packages/taco/src/components/Header/components/Link.js.map +1 -1
  32. package/dist/esm/packages/taco/src/components/Icon/Icon.js +2 -2
  33. package/dist/esm/packages/taco/src/components/Icon/Icon.js.map +1 -1
  34. package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js +2 -2
  35. package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js.map +1 -1
  36. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js +6 -6
  37. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js.map +1 -1
  38. package/dist/esm/packages/taco/src/components/Menu/components/Item.js +4 -4
  39. package/dist/esm/packages/taco/src/components/Menu/components/Item.js.map +1 -1
  40. package/dist/esm/packages/taco/src/components/Navigation/Navigation.js +2 -2
  41. package/dist/esm/packages/taco/src/components/Navigation/Navigation.js.map +1 -1
  42. package/dist/esm/packages/taco/src/components/Navigation2/components/Link.js +3 -3
  43. package/dist/esm/packages/taco/src/components/Navigation2/components/Link.js.map +1 -1
  44. package/dist/esm/packages/taco/src/components/Navigation2/components/Section.js +2 -2
  45. package/dist/esm/packages/taco/src/components/Navigation2/components/Section.js.map +1 -1
  46. package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js +1 -1
  47. package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js.map +1 -1
  48. package/dist/esm/packages/taco/src/components/Pagination/PageNumbers.js +2 -2
  49. package/dist/esm/packages/taco/src/components/Pagination/PageNumbers.js.map +1 -1
  50. package/dist/esm/packages/taco/src/components/Pagination/Pagination.js +5 -5
  51. package/dist/esm/packages/taco/src/components/Pagination/Pagination.js.map +1 -1
  52. package/dist/esm/packages/taco/src/components/Popover/Popover.js +2 -2
  53. package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
  54. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js +2 -2
  55. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
  56. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +8 -8
  57. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -1
  58. package/dist/esm/packages/taco/src/components/Select/useSelect.js +2 -2
  59. package/dist/esm/packages/taco/src/components/Select/useSelect.js.map +1 -1
  60. package/dist/esm/packages/taco/src/components/Select2/Select2.js +7 -7
  61. package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
  62. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js +8 -8
  63. package/dist/esm/packages/taco/src/components/Select2/components/Edit.js.map +1 -1
  64. package/dist/esm/packages/taco/src/components/Select2/components/Option.js +5 -5
  65. package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
  66. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +10 -10
  67. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
  68. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js +2 -2
  69. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
  70. package/dist/esm/packages/taco/src/components/Table/components/BaseTable.js +3 -3
  71. package/dist/esm/packages/taco/src/components/Table/components/BaseTable.js.map +1 -1
  72. package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js +2 -2
  73. package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js.map +1 -1
  74. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js +10 -10
  75. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  76. package/dist/esm/packages/taco/src/components/Table/util/renderColumn.js +2 -2
  77. package/dist/esm/packages/taco/src/components/Table/util/renderColumn.js.map +1 -1
  78. package/dist/esm/packages/taco/src/components/Table3/Table3.js +30 -29
  79. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  80. package/dist/esm/packages/taco/src/components/Table3/components/alert/ErrorAlert.js +3 -3
  81. package/dist/esm/packages/taco/src/components/Table3/components/alert/ErrorAlert.js.map +1 -1
  82. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js +6 -6
  83. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js.map +1 -1
  84. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js +2 -2
  85. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +1 -1
  86. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +13 -14
  87. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -1
  88. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js +27 -3
  89. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js.map +1 -1
  90. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/controls/TextareaControl.js +2 -2
  91. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/controls/TextareaControl.js.map +1 -1
  92. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js +2 -2
  93. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js.map +1 -1
  94. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Group.js +1 -1
  95. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Group.js.map +1 -1
  96. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +9 -9
  97. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -1
  98. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js +37 -6
  99. package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js.map +1 -1
  100. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +12 -12
  101. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -1
  102. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js +2 -2
  103. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js.map +1 -1
  104. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js +7 -7
  105. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js.map +1 -1
  106. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js +3 -3
  107. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js.map +1 -1
  108. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +3 -3
  109. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +1 -1
  110. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js +2 -13
  111. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -1
  112. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js +32 -30
  113. package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js.map +1 -1
  114. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js +2 -2
  115. package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js.map +1 -1
  116. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +8 -6
  117. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -1
  118. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +15 -7
  119. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -1
  120. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js +2 -2
  121. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +1 -1
  122. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js +2 -2
  123. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js.map +1 -1
  124. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +16 -16
  125. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -1
  126. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +1 -0
  127. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -1
  128. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +10 -8
  129. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -1
  130. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js +8 -8
  131. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js.map +1 -1
  132. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js +1 -2
  133. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js.map +1 -1
  134. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js +3 -3
  135. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js.map +1 -1
  136. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +1 -49
  137. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -1
  138. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +0 -1
  139. package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -1
  140. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js +0 -2
  141. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js.map +1 -1
  142. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +127 -109
  143. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -1
  144. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js +3 -3
  145. package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js.map +1 -1
  146. package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -1
  147. package/dist/esm/packages/taco/src/components/Table3/util/scrolling.js +53 -0
  148. package/dist/esm/packages/taco/src/components/Table3/util/scrolling.js.map +1 -0
  149. package/dist/esm/packages/taco/src/components/Tag/Tag.js +4 -4
  150. package/dist/esm/packages/taco/src/components/Tag/Tag.js.map +1 -1
  151. package/dist/esm/packages/taco/src/components/Toast/Toaster.js +2 -2
  152. package/dist/esm/packages/taco/src/components/Toast/Toaster.js.map +1 -1
  153. package/dist/esm/packages/taco/src/components/Tour/Tour.js +4 -4
  154. package/dist/esm/packages/taco/src/components/Tour/Tour.js.map +1 -1
  155. package/dist/esm/packages/taco/src/components/Treeview/Treeview.js +2 -2
  156. package/dist/esm/packages/taco/src/components/Treeview/Treeview.js.map +1 -1
  157. package/dist/esm/packages/taco/src/index.js +2 -1
  158. package/dist/esm/packages/taco/src/index.js.map +1 -1
  159. package/dist/esm/packages/taco/src/primitives/Table/types.js +10 -0
  160. package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -0
  161. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableColumnOrdering.js +8 -0
  162. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableColumnOrdering.js.map +1 -0
  163. package/dist/esm/packages/taco/src/{components/Table3/hooks/features/useFontSize.js → primitives/Table/useTable/features/useTableFontSize.js} +3 -3
  164. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableFontSize.js.map +1 -0
  165. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTablePrinting.js +14 -0
  166. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTablePrinting.js.map +1 -0
  167. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowActive.js +100 -0
  168. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowActive.js.map +1 -0
  169. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowClick.js +30 -0
  170. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowClick.js.map +1 -0
  171. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowGoto.js +9 -0
  172. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowGoto.js.map +1 -0
  173. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowHeight.js +13 -0
  174. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowHeight.js.map +1 -0
  175. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowSelection.js +32 -0
  176. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowSelection.js.map +1 -0
  177. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableServerLoading.js +11 -0
  178. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableServerLoading.js.map +1 -0
  179. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableDataListener.js +15 -0
  180. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableDataListener.js.map +1 -0
  181. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useFilteringStateListener.js → primitives/Table/useTable/listeners/useTableFilterListener.js} +3 -3
  182. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableFilterListener.js.map +1 -0
  183. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableFontSizeListener.js +40 -0
  184. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableFontSizeListener.js.map +1 -0
  185. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useRowSelectionListener.js → primitives/Table/useTable/listeners/useTableRowSelectionListener.js} +5 -6
  186. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableRowSelectionListener.js.map +1 -0
  187. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useServerLoadingListener.js → primitives/Table/useTable/listeners/useTableServerLoadingListener.js} +3 -3
  188. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableServerLoadingListener.js.map +1 -0
  189. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useShortcutsListener.js → primitives/Table/useTable/listeners/useTableShortcutsListener.js} +7 -7
  190. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableShortcutsListener.js.map +1 -0
  191. package/dist/esm/packages/taco/src/{components/Table3/hooks/listeners/useSortingStateListener.js → primitives/Table/useTable/listeners/useTableSortingListener.js} +6 -4
  192. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableSortingListener.js.map +1 -0
  193. package/dist/esm/packages/taco/src/{components/Table3/hooks/features/useColumnOrdering.js → primitives/Table/useTable/util/columns.js} +24 -15
  194. package/dist/esm/packages/taco/src/primitives/Table/useTable/util/columns.js.map +1 -0
  195. package/dist/esm/packages/taco/src/types.js +6 -0
  196. package/dist/esm/packages/taco/src/types.js.map +1 -0
  197. package/dist/esm/packages/taco/src/utils/date.js +0 -1
  198. package/dist/esm/packages/taco/src/utils/date.js.map +1 -1
  199. package/dist/primitives/Table/types.d.ts +35 -0
  200. package/dist/primitives/Table/useTable/features/useTableColumnOrdering.d.ts +3 -0
  201. package/dist/primitives/Table/useTable/features/useTableFontSize.d.ts +7 -0
  202. package/dist/primitives/Table/useTable/features/useTablePrinting.d.ts +7 -0
  203. package/dist/primitives/Table/useTable/features/useTableRowActive.d.ts +12 -0
  204. package/dist/primitives/Table/useTable/features/useTableRowClick.d.ts +7 -0
  205. package/dist/primitives/Table/useTable/features/useTableRowGoto.d.ts +5 -0
  206. package/dist/primitives/Table/useTable/features/useTableRowHeight.d.ts +7 -0
  207. package/dist/primitives/Table/useTable/features/useTableRowSelection.d.ts +6 -0
  208. package/dist/primitives/Table/useTable/features/useTableServerLoading.d.ts +6 -0
  209. package/dist/primitives/Table/useTable/listeners/useTableDataListener.d.ts +2 -0
  210. package/dist/primitives/Table/useTable/listeners/useTableFilterListener.d.ts +3 -0
  211. package/dist/primitives/Table/useTable/listeners/useTableFontSizeListener.d.ts +2 -0
  212. package/dist/primitives/Table/useTable/listeners/useTableRowSelectionListener.d.ts +3 -0
  213. package/dist/primitives/Table/useTable/listeners/useTableServerLoadingListener.d.ts +3 -0
  214. package/dist/primitives/Table/useTable/listeners/useTableShortcutsListener.d.ts +3 -0
  215. package/dist/primitives/Table/useTable/listeners/useTableSortingListener.d.ts +3 -0
  216. package/dist/primitives/Table/useTable/util/columns.d.ts +4 -0
  217. package/dist/taco.cjs.development.js +827 -711
  218. package/dist/taco.cjs.development.js.map +1 -1
  219. package/dist/taco.cjs.production.min.js +1 -1
  220. package/dist/taco.cjs.production.min.js.map +1 -1
  221. package/dist/types.d.ts +5 -0
  222. package/package.json +3 -3
  223. package/types.json +11267 -13766
  224. package/dist/components/Table3/hooks/features/useColumnOrdering.d.ts +0 -6
  225. package/dist/components/Table3/hooks/features/useCurrentRow.d.ts +0 -11
  226. package/dist/components/Table3/hooks/features/useFontSize.d.ts +0 -7
  227. package/dist/components/Table3/hooks/features/usePauseHoverState.d.ts +0 -6
  228. package/dist/components/Table3/hooks/features/usePrinting.d.ts +0 -8
  229. package/dist/components/Table3/hooks/features/useRowClick.d.ts +0 -6
  230. package/dist/components/Table3/hooks/features/useRowGoto.d.ts +0 -5
  231. package/dist/components/Table3/hooks/features/useRowHeight.d.ts +0 -7
  232. package/dist/components/Table3/hooks/features/useRowSelection.d.ts +0 -6
  233. package/dist/components/Table3/hooks/listeners/useCurrentRowListener.d.ts +0 -2
  234. package/dist/components/Table3/hooks/listeners/useFilteringStateListener.d.ts +0 -3
  235. package/dist/components/Table3/hooks/listeners/useRowSelectionListener.d.ts +0 -3
  236. package/dist/components/Table3/hooks/listeners/useServerLoadingListener.d.ts +0 -3
  237. package/dist/components/Table3/hooks/listeners/useShortcutsListener.d.ts +0 -3
  238. package/dist/components/Table3/hooks/listeners/useSortingStateListener.d.ts +0 -3
  239. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js.map +0 -1
  240. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js +0 -93
  241. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js.map +0 -1
  242. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js.map +0 -1
  243. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js +0 -22
  244. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js.map +0 -1
  245. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js +0 -14
  246. package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js.map +0 -1
  247. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js +0 -25
  248. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js.map +0 -1
  249. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js +0 -9
  250. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js.map +0 -1
  251. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js +0 -27
  252. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js.map +0 -1
  253. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js +0 -32
  254. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js.map +0 -1
  255. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js +0 -15
  256. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js.map +0 -1
  257. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js.map +0 -1
  258. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js.map +0 -1
  259. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js.map +0 -1
  260. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js.map +0 -1
  261. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js.map +0 -1
@@ -36,8 +36,8 @@ var get = _interopDefault(require('lodash/get'));
36
36
  var compact = _interopDefault(require('lodash/compact'));
37
37
  var pullAt = _interopDefault(require('lodash/pullAt'));
38
38
  var reactTable$1 = require('@tanstack/react-table');
39
- var _ = _interopDefault(require('lodash'));
40
39
  var ReactDOM = _interopDefault(require('react-dom'));
40
+ var _ = _interopDefault(require('lodash'));
41
41
  var reactVirtual = require('react-virtual');
42
42
  var core = require('@dnd-kit/core');
43
43
  var SortablePrimitive = require('@dnd-kit/sortable');
@@ -3627,14 +3627,14 @@ const Icon = /*#__PURE__*/React__default.forwardRef(function Icon(props, ref) {
3627
3627
  const className = cn('inline-flex h-[1.715em] w-[1.715em] flex-shrink-0', props.className, {
3628
3628
  'p-[3px]': (_props$className = props.className) === null || _props$className === void 0 ? void 0 : _props$className.includes('rounded-full')
3629
3629
  });
3630
- return Component ? /*#__PURE__*/React__default.createElement(Component, Object.assign({}, otherProps, {
3630
+ return Component ? ( /*#__PURE__*/React__default.createElement(Component, Object.assign({}, otherProps, {
3631
3631
  className: className,
3632
3632
  "data-taco": "icon",
3633
3633
  "data-icon-name": name,
3634
3634
  focusable: "false",
3635
3635
  ref: ref,
3636
3636
  role: "img"
3637
- })) : null;
3637
+ }))) : null;
3638
3638
  });
3639
3639
 
3640
3640
  const BadgeIcon = /*#__PURE__*/React.forwardRef(function Badge(props, ref) {
@@ -4571,13 +4571,13 @@ const Banner = /*#__PURE__*/React.forwardRef(function Banner(props, ref) {
4571
4571
  className: className,
4572
4572
  "data-taco": "banner",
4573
4573
  ref: ref
4574
- }, getBannerIcon(state), children, onClose ? /*#__PURE__*/React.createElement(IconButton, {
4574
+ }, getBannerIcon(state), children, onClose ? ( /*#__PURE__*/React.createElement(IconButton, {
4575
4575
  "aria-label": texts.banner.close,
4576
4576
  className: "ml-auto -mr-2 self-start",
4577
4577
  icon: "close",
4578
4578
  appearance: "discrete",
4579
4579
  onClick: onClose
4580
- }) : null);
4580
+ })) : null);
4581
4581
  });
4582
4582
 
4583
4583
  const Base$1 = /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref) {
@@ -4661,18 +4661,18 @@ const Navbar = /*#__PURE__*/React.memo(({
4661
4661
  name: "month",
4662
4662
  onChange: handleChange,
4663
4663
  value: value.getMonth()
4664
- }, months.map((month, i) => /*#__PURE__*/React.createElement("option", {
4664
+ }, months.map((month, i) => ( /*#__PURE__*/React.createElement("option", {
4665
4665
  key: month,
4666
4666
  value: i
4667
- }, month))), /*#__PURE__*/React.createElement("select", {
4667
+ }, month)))), /*#__PURE__*/React.createElement("select", {
4668
4668
  className: "h-8 px-2",
4669
4669
  name: "year",
4670
4670
  onChange: handleChange,
4671
4671
  value: value.getFullYear()
4672
- }, years.map(year => /*#__PURE__*/React.createElement("option", {
4672
+ }, years.map(year => ( /*#__PURE__*/React.createElement("option", {
4673
4673
  key: year,
4674
4674
  value: year
4675
- }, String(year))))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Tooltip, {
4675
+ }, String(year)))))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Tooltip, {
4676
4676
  title: actions.previousMonth
4677
4677
  }, /*#__PURE__*/React.createElement(IconButton, {
4678
4678
  appearance: "discrete",
@@ -5278,17 +5278,17 @@ const ScrollableList = /*#__PURE__*/React.forwardRef(function ScrollableList(pro
5278
5278
  };
5279
5279
  return /*#__PURE__*/React.createElement("ul", Object.assign({}, list, {
5280
5280
  "data-taco": "scrollable-list"
5281
- }), loading ? /*#__PURE__*/React.createElement("li", {
5281
+ }), loading ? ( /*#__PURE__*/React.createElement("li", {
5282
5282
  className: "yt-list__empty"
5283
5283
  }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(Spinner, {
5284
5284
  delay: 0
5285
- })), /*#__PURE__*/React.createElement("span", null, texts.listbox.loading)) : options.length ? options.map(({
5285
+ })), /*#__PURE__*/React.createElement("span", null, texts.listbox.loading))) : options.length ? options.map(({
5286
5286
  children,
5287
5287
  icon,
5288
5288
  ...optionProps
5289
- }) => /*#__PURE__*/React.createElement("li", Object.assign({}, optionProps), icon, /*#__PURE__*/React.createElement("span", {
5289
+ }) => ( /*#__PURE__*/React.createElement("li", Object.assign({}, optionProps), icon, /*#__PURE__*/React.createElement("span", {
5290
5290
  className: "flex-grow truncate text-left"
5291
- }, children), multiselect && /*#__PURE__*/React.createElement(Checkbox
5291
+ }, children), multiselect && ( /*#__PURE__*/React.createElement(Checkbox
5292
5292
  // In multiselect variant, this checkbox only acts as visual representation of item being selected,
5293
5293
  // so need to be taken out of screen reader scope.
5294
5294
  , {
@@ -5297,9 +5297,9 @@ const ScrollableList = /*#__PURE__*/React.forwardRef(function ScrollableList(pro
5297
5297
  checked: optionProps['aria-selected'],
5298
5298
  onChange: () => null,
5299
5299
  className: "pointer-events-none ml-2 self-center p-px"
5300
- }))) : /*#__PURE__*/React.createElement("li", {
5300
+ }))))) : ( /*#__PURE__*/React.createElement("li", {
5301
5301
  className: "yt-list__empty"
5302
- }, /*#__PURE__*/React.createElement("span", null, texts.listbox.empty)));
5302
+ }, /*#__PURE__*/React.createElement("span", null, texts.listbox.empty))));
5303
5303
  });
5304
5304
 
5305
5305
  // returns a custom event compatible with all browsers
@@ -5577,7 +5577,8 @@ const useCombobox = ({
5577
5577
  event.preventDefault();
5578
5578
  return;
5579
5579
  }
5580
- if (onChange && event.target.value !== value) {
5580
+ // event.target.value is always a string so it is important to cast value to a string before checking the equality
5581
+ if (onChange && event.target.value !== String(value)) {
5581
5582
  const item = findByValue(flattenedData, event.target.value);
5582
5583
  event.detail = sanitizeItem(item);
5583
5584
  const parents = getOptionParents(flattenedData, item === null || item === void 0 ? void 0 : item.path);
@@ -5756,7 +5757,7 @@ const Combobox = /*#__PURE__*/React.forwardRef(function Combobox(props, ref) {
5756
5757
  ref: ref
5757
5758
  }), /*#__PURE__*/React.createElement(Input, Object.assign({}, input, {
5758
5759
  autoComplete: "off",
5759
- button: props.inline ? /*#__PURE__*/React.createElement(IconButton
5760
+ button: props.inline ? ( /*#__PURE__*/React.createElement(IconButton
5760
5761
  // In case of inline combobox, this icon button acts only as visual chevron representation,
5761
5762
  // so should be taken out of screen reader scope.
5762
5763
  , {
@@ -5770,7 +5771,7 @@ const Combobox = /*#__PURE__*/React.forwardRef(function Combobox(props, ref) {
5770
5771
  (_input$ref$current = input.ref.current) === null || _input$ref$current === void 0 ? void 0 : _input$ref$current.focus();
5771
5772
  },
5772
5773
  tabIndex: -1
5773
- }) : dialog ? /*#__PURE__*/React.createElement(IconButton, {
5774
+ })) : dialog ? ( /*#__PURE__*/React.createElement(IconButton, {
5774
5775
  "aria-label": texts.combobox.tooltip,
5775
5776
  icon: "list-search",
5776
5777
  disabled: props.readOnly || props.disabled,
@@ -5784,7 +5785,7 @@ const Combobox = /*#__PURE__*/React.forwardRef(function Combobox(props, ref) {
5784
5785
  ref: button.ref,
5785
5786
  tabIndex: -1,
5786
5787
  tooltip: texts.combobox.tooltip
5787
- }) : undefined
5788
+ })) : undefined
5788
5789
  })))), /*#__PURE__*/React.createElement(PopoverPrimitive.Portal, null, /*#__PURE__*/React.createElement(PopoverPrimitive.Content, {
5789
5790
  align: "start",
5790
5791
  onOpenAutoFocus: event => {
@@ -5854,7 +5855,6 @@ const parseFromCustomString = (date = '', mask = 'dd.mm.yy') => {
5854
5855
  Object.is(day, NaN) ? currentDate.getDate() : day, /* hours */12, /* minutes */0 // set to midday to avoid UTC offset causing dates to be mismatched server side
5855
5856
  );
5856
5857
  };
5857
-
5858
5858
  const parseFromISOString = date => {
5859
5859
  const tempDate = new Date(date);
5860
5860
  return dateFns.isValid(tempDate) ? parseFromCustomString(format(new Date(date))) : undefined;
@@ -6025,10 +6025,10 @@ const Content$3 = /*#__PURE__*/React.forwardRef(function PopoverContent(props, r
6025
6025
  className: "text-white"
6026
6026
  })));
6027
6027
  });
6028
- const Close$1 = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(PopoverPrimitive.Close, Object.assign({}, props, {
6028
+ const Close$1 = /*#__PURE__*/React.forwardRef((props, ref) => ( /*#__PURE__*/React.createElement(PopoverPrimitive.Close, Object.assign({}, props, {
6029
6029
  ref: ref,
6030
6030
  asChild: true
6031
- })));
6031
+ }))));
6032
6032
  const Popover = /*#__PURE__*/React.forwardRef(function Popover(props, ref) {
6033
6033
  const {
6034
6034
  anchor,
@@ -6086,20 +6086,20 @@ const Datepicker = /*#__PURE__*/React.forwardRef(function Datepicker(props, ref)
6086
6086
  disabled: input.disabled || input.readOnly,
6087
6087
  icon: "calendar",
6088
6088
  tabIndex: -1,
6089
- popover: props => /*#__PURE__*/React.createElement(Popover, Object.assign({}, props), /*#__PURE__*/React.createElement(Popover.Content, null, ({
6089
+ popover: props => ( /*#__PURE__*/React.createElement(Popover, Object.assign({}, props), /*#__PURE__*/React.createElement(Popover.Content, null, ({
6090
6090
  close
6091
- }) => /*#__PURE__*/React.createElement("div", {
6091
+ }) => ( /*#__PURE__*/React.createElement("div", {
6092
6092
  className: "-m-3 flex"
6093
6093
  }, /*#__PURE__*/React.createElement(Calendar$1, Object.assign({}, calendar, {
6094
6094
  onChange: (date, event) => {
6095
6095
  calendar.onChange(date, event);
6096
6096
  close();
6097
6097
  }
6098
- })), shortcuts && /*#__PURE__*/React.createElement("div", {
6098
+ })), shortcuts && ( /*#__PURE__*/React.createElement("div", {
6099
6099
  className: "border-grey-300 flex flex-col border-l"
6100
6100
  }, /*#__PURE__*/React.createElement("span", {
6101
6101
  className: "m-4 mb-3 flex h-8 w-32 items-center text-xs font-semibold"
6102
- }, shortcutsText !== null && shortcutsText !== void 0 ? shortcutsText : texts.datepicker.shortcuts), /*#__PURE__*/React.createElement("ul", null, shortcuts.map(shortcut => /*#__PURE__*/React.createElement("li", {
6102
+ }, shortcutsText !== null && shortcutsText !== void 0 ? shortcutsText : texts.datepicker.shortcuts), /*#__PURE__*/React.createElement("ul", null, shortcuts.map(shortcut => ( /*#__PURE__*/React.createElement("li", {
6103
6103
  key: shortcut.text
6104
6104
  }, /*#__PURE__*/React.createElement("button", {
6105
6105
  type: "button",
@@ -6109,7 +6109,7 @@ const Datepicker = /*#__PURE__*/React.forwardRef(function Datepicker(props, ref)
6109
6109
  shortcut.onClick(event);
6110
6110
  close();
6111
6111
  }
6112
- }, shortcut.text)))), handleReset && /*#__PURE__*/React.createElement("button", {
6112
+ }, shortcut.text))))), handleReset && ( /*#__PURE__*/React.createElement("button", {
6113
6113
  type: "button",
6114
6114
  className: "mx-auto my-4 mt-auto inline-flex cursor-pointer border-none bg-transparent text-xs text-blue-500 hover:text-blue-300",
6115
6115
  onClick: event => {
@@ -6117,7 +6117,7 @@ const Datepicker = /*#__PURE__*/React.forwardRef(function Datepicker(props, ref)
6117
6117
  handleReset(event);
6118
6118
  close();
6119
6119
  }
6120
- }, texts.datepicker.clear))))),
6120
+ }, texts.datepicker.clear))))))))),
6121
6121
  tooltip: texts.datepicker.calendar
6122
6122
  })
6123
6123
  })));
@@ -6293,13 +6293,13 @@ const Content$4 = /*#__PURE__*/React.forwardRef(function DialogContent(props, re
6293
6293
  }), /*#__PURE__*/React.createElement("div", {
6294
6294
  className: containerClassName,
6295
6295
  "data-taco": "dialog"
6296
- }, output, dialog.draggable && /*#__PURE__*/React.createElement("div", Object.assign({}, dragHandleProps, {
6296
+ }, output, dialog.draggable && ( /*#__PURE__*/React.createElement("div", Object.assign({}, dragHandleProps, {
6297
6297
  role: "button",
6298
6298
  draggable: true,
6299
6299
  "aria-grabbed": dragging,
6300
6300
  "aria-label": texts.dialog.drag,
6301
6301
  className: "yt-dialog__drag absolute-center-x bg-grey-100 top-1.5 h-3 w-24 cursor-move rounded text-center"
6302
- })), dialog.showCloseButton ? /*#__PURE__*/React.createElement(DialogPrimitive.Close, {
6302
+ }))), dialog.showCloseButton ? ( /*#__PURE__*/React.createElement(DialogPrimitive.Close, {
6303
6303
  onClick: dialog.onClose,
6304
6304
  asChild: true
6305
6305
  }, /*#__PURE__*/React.createElement(IconButton, {
@@ -6307,7 +6307,7 @@ const Content$4 = /*#__PURE__*/React.forwardRef(function DialogContent(props, re
6307
6307
  "aria-label": texts.dialog.close,
6308
6308
  className: "absolute top-0 right-0 mt-2 mr-2",
6309
6309
  icon: "close"
6310
- })) : null), dialog.elements.drawer, dialog.elements.extra))));
6310
+ }))) : null), dialog.elements.drawer, dialog.elements.extra))));
6311
6311
  });
6312
6312
 
6313
6313
  const DialogDrawer = /*#__PURE__*/React.forwardRef(function DialogDrawer(props, ref) {
@@ -6633,11 +6633,11 @@ const Portal = props => {
6633
6633
  }
6634
6634
  return /*#__PURE__*/React__default.createElement(DialogPrimitive.Portal, Object.assign({}, otherProps, {
6635
6635
  container: outlet !== null && outlet !== void 0 ? outlet : undefined
6636
- }), variant === 'overlay' ? /*#__PURE__*/React__default.createElement(DialogPrimitive.Overlay, {
6636
+ }), variant === 'overlay' ? ( /*#__PURE__*/React__default.createElement(DialogPrimitive.Overlay, {
6637
6637
  forceMount: true
6638
6638
  }, /*#__PURE__*/React__default.createElement(Backdrop, {
6639
6639
  className: backdropClassNames
6640
- })) : null, children);
6640
+ }))) : null, children);
6641
6641
  };
6642
6642
  const UntrappedFocusDrawerContent = /*#__PURE__*/React__default.forwardRef(function EmbeddedDrawerContent(props, ref) {
6643
6643
  const {
@@ -6758,19 +6758,19 @@ const DrawerContent = /*#__PURE__*/React__default.forwardRef(function Content(pr
6758
6758
  }), dragging ? /*#__PURE__*/React__default.createElement("div", {
6759
6759
  "data-testid": "resize-hit-area",
6760
6760
  className: "fixed bottom-0 left-0 right-0 top-0"
6761
- }) : null), showCloseButton ? /*#__PURE__*/React__default.createElement(Close$3, null, /*#__PURE__*/React__default.createElement(IconButton, {
6761
+ }) : null), showCloseButton ? ( /*#__PURE__*/React__default.createElement(Close$3, null, /*#__PURE__*/React__default.createElement(IconButton, {
6762
6762
  appearance: "discrete",
6763
6763
  "aria-label": texts.drawer.close,
6764
6764
  className: "absolute right-0 top-0 mr-2 mt-4",
6765
6765
  icon: "close"
6766
- })) : null);
6766
+ }))) : null);
6767
6767
  const styleProp = {
6768
6768
  ...style,
6769
6769
  ...{
6770
6770
  width: resizedWidth
6771
6771
  }
6772
6772
  };
6773
- return focusTrap ? /*#__PURE__*/React__default.createElement(DialogPrimitive.Content, Object.assign({
6773
+ return focusTrap ? ( /*#__PURE__*/React__default.createElement(DialogPrimitive.Content, Object.assign({
6774
6774
  forceMount: true
6775
6775
  }, otherProps, {
6776
6776
  className: contentClassName,
@@ -6779,12 +6779,12 @@ const DrawerContent = /*#__PURE__*/React__default.forwardRef(function Content(pr
6779
6779
  onCloseAutoFocus: handleCloseAutoFocus,
6780
6780
  ref: ref,
6781
6781
  style: styleProp
6782
- }), content) : /*#__PURE__*/React__default.createElement(UntrappedFocusDrawerContent, {
6782
+ }), content)) : ( /*#__PURE__*/React__default.createElement(UntrappedFocusDrawerContent, {
6783
6783
  onEscape: handleEscapeKeyDown,
6784
6784
  className: contentClassName,
6785
6785
  style: styleProp,
6786
6786
  ref: ref
6787
- }, content);
6787
+ }, content));
6788
6788
  });
6789
6789
  const Content$5 = /*#__PURE__*/React__default.forwardRef(function Content(props, externalRef) {
6790
6790
  const {
@@ -6947,14 +6947,14 @@ const Field = /*#__PURE__*/React.forwardRef(function Field(props, ref) {
6947
6947
  className: className,
6948
6948
  "data-taco": "label",
6949
6949
  ref: ref
6950
- }), children, message && /*#__PURE__*/React.createElement(Tooltip, {
6950
+ }), children, message && ( /*#__PURE__*/React.createElement(Tooltip, {
6951
6951
  title: message,
6952
6952
  hide: !isMessageTrucated
6953
6953
  }, /*#__PURE__*/React.createElement("span", {
6954
6954
  className: messageClassName,
6955
6955
  ref: messageRef,
6956
6956
  role: invalid ? 'alert' : undefined
6957
- }, message)));
6957
+ }, message))));
6958
6958
  });
6959
6959
 
6960
6960
  const Form = /*#__PURE__*/React.forwardRef(function Form(props, ref) {
@@ -7614,20 +7614,20 @@ const Shortcut = ({
7614
7614
  const texts = getShortcutText(keys);
7615
7615
  return /*#__PURE__*/React__default.createElement("span", Object.assign({}, props, {
7616
7616
  className: className
7617
- }), texts.map(key => /*#__PURE__*/React__default.createElement("kbd", {
7617
+ }), texts.map(key => ( /*#__PURE__*/React__default.createElement("kbd", {
7618
7618
  key: key,
7619
7619
  className: "font-display text-grey-700 [[data-taco=tooltip]_&]:bg-grey-300/[0.25] rounded-sm bg-black/[0.09] px-1 text-center font-bold [[data-taco=tooltip]_&]:text-white"
7620
- }, key)));
7620
+ }, key))));
7621
7621
  };
7622
7622
 
7623
7623
  const Icon$1 = ({
7624
7624
  name
7625
- }) => /*#__PURE__*/React.createElement("span", {
7625
+ }) => ( /*#__PURE__*/React.createElement("span", {
7626
7626
  className: "absolute left-0 ml-1"
7627
7627
  }, /*#__PURE__*/React.createElement(Icon, {
7628
7628
  className: "-ml-px -mt-px !h-5 !w-5",
7629
7629
  name: name
7630
- }));
7630
+ })));
7631
7631
  const useItemStyling = ({
7632
7632
  disabled,
7633
7633
  indented,
@@ -7699,12 +7699,12 @@ const Item$1 = /*#__PURE__*/React.forwardRef(function MenuItem(props, ref) {
7699
7699
  ref: ref
7700
7700
  }), icon ? /*#__PURE__*/React.createElement(Icon$1, {
7701
7701
  name: icon
7702
- }) : null, props.children, shortcut ? /*#__PURE__*/React.createElement("span", {
7702
+ }) : null, props.children, shortcut ? ( /*#__PURE__*/React.createElement("span", {
7703
7703
  className: "ml-auto pl-5"
7704
7704
  }, /*#__PURE__*/React.createElement(Shortcut, {
7705
7705
  keys: shortcut,
7706
7706
  className: "text-grey-700"
7707
- })) : null);
7707
+ }))) : null);
7708
7708
  if (typeof dialog === 'function') {
7709
7709
  button = dialog({
7710
7710
  trigger: button,
@@ -8085,12 +8085,12 @@ const TreeviewGroup = /*#__PURE__*/React__default.forwardRef(function TreeviewGr
8085
8085
  }, typeof title === 'function' ? title(expanded) : title), /*#__PURE__*/React__default.createElement("ul", {
8086
8086
  role: "group",
8087
8087
  className: listClassName
8088
- }, React__default.Children.toArray(children).filter(item => !!item).map((item, i) => /*#__PURE__*/React__default.createElement("li", {
8088
+ }, React__default.Children.toArray(children).filter(item => !!item).map((item, i) => ( /*#__PURE__*/React__default.createElement("li", {
8089
8089
  key: i,
8090
8090
  role: "none"
8091
8091
  }, /*#__PURE__*/React__default.cloneElement(item, {
8092
8092
  role: 'treeitem'
8093
- })))));
8093
+ }))))));
8094
8094
  });
8095
8095
  const Treeview = /*#__PURE__*/React__default.forwardRef(function Treeview(props, ref) {
8096
8096
  return /*#__PURE__*/React__default.createElement("div", Object.assign({}, props, {
@@ -8222,10 +8222,10 @@ const Menu$2 = /*#__PURE__*/React__default.forwardRef(function Menu(props, ref)
8222
8222
  return /*#__PURE__*/React__default.createElement(Treeview, Object.assign({}, props, {
8223
8223
  className: cn('divide-grey-100 flex flex-grow flex-col divide-y-2 overflow-y-auto', props.className),
8224
8224
  ref: ref
8225
- }), scrollableAreas.map((area, i) => Array.isArray(area) ? /*#__PURE__*/React__default.createElement("div", {
8225
+ }), scrollableAreas.map((area, i) => Array.isArray(area) ? ( /*#__PURE__*/React__default.createElement("div", {
8226
8226
  className: "divide-grey-100 flex h-0 flex-auto flex-shrink-0 flex-grow flex-col divide-y-2 overflow-y-auto",
8227
8227
  key: i
8228
- }, area) : area));
8228
+ }, area)) : area));
8229
8229
  });
8230
8230
  Menu$2.Group = MenuGroup;
8231
8231
  const Navigation = /*#__PURE__*/React__default.forwardRef(function Navigation(props, ref) {
@@ -8349,7 +8349,7 @@ const OverflowGroup = /*#__PURE__*/React__default.forwardRef(function OverflowGr
8349
8349
  })), hiddenChildren.length ? /*#__PURE__*/React__default.cloneElement(button, {
8350
8350
  className: cn('sticky right-0 order-[99]', button.props.className),
8351
8351
  'data-observer-ignore': true,
8352
- menu: menuProps => /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, hiddenChildren.map(sanitizeButtonPropsForMenuItem))),
8352
+ menu: menuProps => ( /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, hiddenChildren.map(sanitizeButtonPropsForMenuItem)))),
8353
8353
  ref: buttonRefCallback
8354
8354
  }) : null);
8355
8355
  });
@@ -8382,14 +8382,14 @@ const PageNumbers = ({
8382
8382
  const {
8383
8383
  texts
8384
8384
  } = useLocalization();
8385
- return /*#__PURE__*/React.createElement(React.Fragment, null, range.map(pageNumber => /*#__PURE__*/React.createElement(Button$1, {
8385
+ return /*#__PURE__*/React.createElement(React.Fragment, null, range.map(pageNumber => ( /*#__PURE__*/React.createElement(Button$1, {
8386
8386
  appearance: pageNumber === currentPageIndex + 1 ? 'primary' : 'default',
8387
8387
  "aria-current": pageNumber === currentPageIndex + 1 ? 'page' : undefined,
8388
8388
  key: pageNumber,
8389
8389
  onClick: () => handleClick(pageNumber - 1),
8390
8390
  "aria-label": texts.pagination.actions.pageX.replace('[X]', String(pageNumber)),
8391
8391
  tooltip: texts.pagination.actions.pageX.replace('[X]', String(pageNumber))
8392
- }, pageNumber)));
8392
+ }, pageNumber))));
8393
8393
  };
8394
8394
 
8395
8395
  const useSelect = ({
@@ -8500,9 +8500,9 @@ const useSelect = ({
8500
8500
  } else {
8501
8501
  const item = findByValue(flattenedData, value);
8502
8502
  if (item) {
8503
- text = item.icon ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.cloneElement(item.icon, {
8503
+ text = item.icon ? ( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.cloneElement(item.icon, {
8504
8504
  className: cn(item.icon.props.className, 'mr-1 -mt-px')
8505
- }), item.text) : item.text;
8505
+ }), item.text)) : item.text;
8506
8506
  }
8507
8507
  }
8508
8508
  }
@@ -8748,7 +8748,7 @@ const Pagination = /*#__PURE__*/React.forwardRef(function Pagination(props, ref)
8748
8748
  className: className,
8749
8749
  "data-taco": "pagination",
8750
8750
  ref: ref
8751
- }), showPageSize && /*#__PURE__*/React.createElement("span", {
8751
+ }), showPageSize && ( /*#__PURE__*/React.createElement("span", {
8752
8752
  className: "mr-4"
8753
8753
  }, getShowingLabel(length, pageIndex, pageSize, texts), /*#__PURE__*/React.createElement(Select, {
8754
8754
  "aria-label": texts.pagination.pageSize,
@@ -8762,7 +8762,7 @@ const Pagination = /*#__PURE__*/React.forwardRef(function Pagination(props, ref)
8762
8762
  setPageSize(Number(event.target.value));
8763
8763
  },
8764
8764
  value: pageSize
8765
- })), showPageControls && /*#__PURE__*/React.createElement(Group, {
8765
+ }))), showPageControls && ( /*#__PURE__*/React.createElement(Group, {
8766
8766
  as: "nav",
8767
8767
  "aria-label": texts.pagination.label
8768
8768
  }, /*#__PURE__*/React.createElement(IconButton, {
@@ -8779,11 +8779,11 @@ const Pagination = /*#__PURE__*/React.forwardRef(function Pagination(props, ref)
8779
8779
  onClick: () => setPageIndex(pageIndex - 1),
8780
8780
  "aria-label": showShortcutTexts ? texts.pagination.actions.previousPageWithShortcut : texts.pagination.actions.previousPage,
8781
8781
  tooltip: showShortcutTexts ? texts.pagination.actions.previousPageWithShortcut : texts.pagination.actions.previousPage
8782
- }), showPageNumbers && pageCount > 0 && /*#__PURE__*/React.createElement(PageNumbers, {
8782
+ }), showPageNumbers && pageCount > 0 && ( /*#__PURE__*/React.createElement(PageNumbers, {
8783
8783
  pageCount: pageCount,
8784
8784
  currentPageIndex: pageIndex,
8785
8785
  onClick: setPageIndex
8786
- }), /*#__PURE__*/React.createElement(IconButton, {
8786
+ })), /*#__PURE__*/React.createElement(IconButton, {
8787
8787
  appearance: "default",
8788
8788
  disabled: !canNextPage,
8789
8789
  icon: "arrow-right",
@@ -8797,7 +8797,7 @@ const Pagination = /*#__PURE__*/React.forwardRef(function Pagination(props, ref)
8797
8797
  onClick: () => setPageIndex(pageCount - 1),
8798
8798
  "aria-label": showShortcutTexts ? texts.pagination.actions.lastPageWithShortcut : texts.pagination.actions.lastPage,
8799
8799
  tooltip: showShortcutTexts ? texts.pagination.actions.lastPageWithShortcut : texts.pagination.actions.lastPage
8800
- })));
8800
+ }))));
8801
8801
  });
8802
8802
 
8803
8803
  const Progress = ({
@@ -9045,7 +9045,7 @@ const ToastProvider = ({
9045
9045
  role: "log"
9046
9046
  }, /*#__PURE__*/React.createElement(framerMotion.AnimatePresence, {
9047
9047
  initial: false
9048
- }, toasts.map(toast => /*#__PURE__*/React.createElement(framerMotion.motion.div, {
9048
+ }, toasts.map(toast => ( /*#__PURE__*/React.createElement(framerMotion.motion.div, {
9049
9049
  key: toast.id,
9050
9050
  transition: {
9051
9051
  type: 'spring',
@@ -9071,7 +9071,7 @@ const ToastProvider = ({
9071
9071
  }
9072
9072
  }, /*#__PURE__*/React.createElement(Toast, Object.assign({}, toast, {
9073
9073
  onClose: () => handleClose(toast.id)
9074
- })))))));
9074
+ }))))))));
9075
9075
  };
9076
9076
  const useToast = () => React.useContext(ToastContext);
9077
9077
 
@@ -9128,7 +9128,7 @@ const SearchInput = /*#__PURE__*/React.forwardRef(function SearchInput({
9128
9128
  placeholder: texts.searchInput.placeholder
9129
9129
  }, props, {
9130
9130
  onKeyDown: handleKeyDown,
9131
- postfix: /*#__PURE__*/React.createElement(React.Fragment, null, props.disabled || props.readOnly || !props.value ? null : /*#__PURE__*/React.createElement(IconButton, {
9131
+ postfix: /*#__PURE__*/React.createElement(React.Fragment, null, props.disabled || props.readOnly || !props.value ? null : ( /*#__PURE__*/React.createElement(IconButton, {
9132
9132
  "aria-hidden": true,
9133
9133
  "aria-label": texts.searchInput.clear,
9134
9134
  className: "group-peer-focus:visible group-peer-hover:visible !text-grey-700 invisible mr-0.5 !h-5 !min-h-[theme(spacing.4)] !w-5 !min-w-[theme(spacing.4)] text-xs hover:visible group-hover:visible",
@@ -9137,7 +9137,7 @@ const SearchInput = /*#__PURE__*/React.forwardRef(function SearchInput({
9137
9137
  rounded: true,
9138
9138
  tabIndex: -1,
9139
9139
  tooltip: texts.searchInput.clear
9140
- }), /*#__PURE__*/React.createElement(IconButton, {
9140
+ })), /*#__PURE__*/React.createElement(IconButton, {
9141
9141
  "aria-label": texts.searchInput.button,
9142
9142
  icon: "search",
9143
9143
  className: "group-peer-focus:!border-transparent group-peer-focus:group-peer-active:!border-transparent -mr-2 !border-transparent !bg-transparent focus:!border-transparent",
@@ -9233,9 +9233,9 @@ const SearchInput2 = /*#__PURE__*/React__default.forwardRef(function SearchInput
9233
9233
  icon: "close",
9234
9234
  onMouseDown: handleClear,
9235
9235
  tabIndex: -1,
9236
- tooltip: focused ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, texts.searchInput.clear, " ", /*#__PURE__*/React__default.createElement(Shortcut, {
9236
+ tooltip: focused ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, texts.searchInput.clear, " ", /*#__PURE__*/React__default.createElement(Shortcut, {
9237
9237
  keys: "Escape"
9238
- })) : texts.searchInput.clear
9238
+ }))) : texts.searchInput.clear
9239
9239
  });
9240
9240
  }
9241
9241
  if (hasFind && isActive) {
@@ -9243,28 +9243,28 @@ const SearchInput2 = /*#__PURE__*/React__default.forwardRef(function SearchInput
9243
9243
  className: "text-grey-700 flex h-4 items-center border-r border-black/[0.25] pr-2"
9244
9244
  }, loading ? /*#__PURE__*/React__default.createElement(Spinner, {
9245
9245
  className: "h-4 w-4"
9246
- }) : `${findCurrent !== null && findCurrent !== void 0 ? findCurrent : 0}/${findTotal !== null && findTotal !== void 0 ? findTotal : 0}`), findCurrent ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(IconButton, {
9246
+ }) : `${findCurrent !== null && findCurrent !== void 0 ? findCurrent : 0}/${findTotal !== null && findTotal !== void 0 ? findTotal : 0}`), findCurrent ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(IconButton, {
9247
9247
  "aria-label": texts.searchInput.findPrevious,
9248
9248
  className: "scale-75 !bg-transparent hover:!bg-black/[0.08] [&>svg]:scale-125",
9249
9249
  icon: "chevron-up",
9250
9250
  onMouseDown: handleClickFindPrevious,
9251
9251
  tabIndex: -1,
9252
- tooltip: focused ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, texts.searchInput.findPrevious, " ", /*#__PURE__*/React__default.createElement(Shortcut, {
9252
+ tooltip: focused ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, texts.searchInput.findPrevious, " ", /*#__PURE__*/React__default.createElement(Shortcut, {
9253
9253
  keys: {
9254
9254
  shift: true,
9255
9255
  key: 'Enter'
9256
9256
  }
9257
- })) : texts.searchInput.findPrevious
9257
+ }))) : texts.searchInput.findPrevious
9258
9258
  }), /*#__PURE__*/React__default.createElement(IconButton, {
9259
9259
  "aria-label": texts.searchInput.findNext,
9260
9260
  className: "scale-75 !bg-transparent hover:!bg-black/[0.08] [&>svg]:scale-125",
9261
9261
  icon: "chevron-down",
9262
9262
  onMouseDown: handleClickFindNext,
9263
9263
  tabIndex: -1,
9264
- tooltip: focused ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, texts.searchInput.findNext, " ", /*#__PURE__*/React__default.createElement(Shortcut, {
9264
+ tooltip: focused ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, texts.searchInput.findNext, " ", /*#__PURE__*/React__default.createElement(Shortcut, {
9265
9265
  keys: "Enter"
9266
- })) : texts.searchInput.findNext
9267
- })) : null, postfix);
9266
+ }))) : texts.searchInput.findNext
9267
+ }))) : null, postfix);
9268
9268
  }
9269
9269
  } else if (shortcut && !focused && !value) {
9270
9270
  postfix = /*#__PURE__*/React__default.createElement(Shortcut, {
@@ -9670,16 +9670,16 @@ const Tag$1 = /*#__PURE__*/React__default.forwardRef((props, ref) => {
9670
9670
  }), /*#__PURE__*/React__default.createElement("span", {
9671
9671
  className: "truncate px-2",
9672
9672
  ref: textRef
9673
- }, icon ? typeof icon === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
9673
+ }, icon ? typeof icon === 'string' ? ( /*#__PURE__*/React__default.createElement(Icon, {
9674
9674
  name: icon,
9675
9675
  className: "mr-1 -ml-1 -mt-0.5 !h-5 !w-5"
9676
- }) : /*#__PURE__*/React__default.cloneElement(icon, {
9676
+ })) : ( /*#__PURE__*/React__default.cloneElement(icon, {
9677
9677
  className: 'mr-1 -ml-1 -mt-0.5 !h-5 !w-5'
9678
- }) : null, children), onDelete ? /*#__PURE__*/React__default.createElement(Icon, {
9678
+ })) : null, children), onDelete ? ( /*#__PURE__*/React__default.createElement(Icon, {
9679
9679
  name: "close",
9680
9680
  onClick: onDelete,
9681
9681
  className: "-ml-1.5 !h-6 !w-5 flex-shrink-0 cursor-pointer rounded-r p-0.5 hover:bg-black/5"
9682
- }) : null);
9682
+ })) : null);
9683
9683
  });
9684
9684
 
9685
9685
  const createOptionClassName = (shouldPauseHoverState = false) => cn('group mb-px flex w-full text-sm flex-shrink-0 font-normal cursor-pointer items-center rounded bg-white px-2 leading-8 text-black aria-hidden:hidden gap-1.5 bg-white aria-current:wcag-grey-200 aria-disabled:text-black/25 aria-disabled:pointer-events-none', {
@@ -9838,9 +9838,9 @@ const EditPopover = props => {
9838
9838
  className: "focus:!shadow-none"
9839
9839
  }, ({
9840
9840
  close
9841
- }) => /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
9841
+ }) => ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
9842
9842
  className: "flex w-32 flex-col space-y-2"
9843
- }, onEdit ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Field, {
9843
+ }, onEdit ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Field, {
9844
9844
  className: cn('!min-h-fit', {
9845
9845
  '!pb-0': !validationError
9846
9846
  }),
@@ -9852,23 +9852,23 @@ const EditPopover = props => {
9852
9852
  onKeyDown: handleInputKeyDown(close),
9853
9853
  ref: ref,
9854
9854
  value: name
9855
- })), initialColor ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("h5", null, "Colours"), /*#__PURE__*/React__default.createElement(Colours, {
9855
+ })), initialColor ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("h5", null, "Colours"), /*#__PURE__*/React__default.createElement(Colours, {
9856
9856
  color: color,
9857
9857
  onChangeColor: setColor,
9858
9858
  onKeyDown: preventKeyDownPropagation
9859
- })) : null, /*#__PURE__*/React__default.createElement(Group, null, /*#__PURE__*/React__default.createElement(Button$1, {
9859
+ }))) : null, /*#__PURE__*/React__default.createElement(Group, null, /*#__PURE__*/React__default.createElement(Button$1, {
9860
9860
  onClick: close
9861
9861
  }, texts.select2.cancel), /*#__PURE__*/React__default.createElement(Button$1, {
9862
9862
  appearance: "primary",
9863
9863
  onClick: handleSave(close)
9864
- }, texts.select2.save))) : null, onEdit && onDelete ? /*#__PURE__*/React__default.createElement("hr", null) : null, onDelete ? /*#__PURE__*/React__default.createElement("button", {
9864
+ }, texts.select2.save)))) : null, onEdit && onDelete ? /*#__PURE__*/React__default.createElement("hr", null) : null, onDelete ? ( /*#__PURE__*/React__default.createElement("button", {
9865
9865
  className: "hover:text-grey-700 flex items-center justify-start gap-1",
9866
9866
  onClick: handleDelete(close),
9867
9867
  onKeyDown: preventKeyDownPropagation
9868
9868
  }, /*#__PURE__*/React__default.createElement(Icon, {
9869
9869
  className: "!h-5 !w-5",
9870
9870
  name: "delete-permanently"
9871
- }), " ", texts.select2.delete) : null))));
9871
+ }), " ", texts.select2.delete)) : null)))));
9872
9872
  };
9873
9873
  const Colours = props => {
9874
9874
  const {
@@ -9887,7 +9887,7 @@ const Colours = props => {
9887
9887
  onKeyDown: onKeyDown,
9888
9888
  onValueChange: color => onChangeColor(color),
9889
9889
  value: color
9890
- }, AVAILABLE_COLORS.map(availableColor => /*#__PURE__*/React__default.createElement(RadioGroupPrimitive.Item, {
9890
+ }, AVAILABLE_COLORS.map(availableColor => ( /*#__PURE__*/React__default.createElement(RadioGroupPrimitive.Item, {
9891
9891
  "aria-label": color,
9892
9892
  className: cn('flex h-6 w-6 cursor-pointer items-center justify-center rounded', getSubtleColorShadeClasses(availableColor)),
9893
9893
  key: availableColor,
@@ -9898,7 +9898,7 @@ const Colours = props => {
9898
9898
  }, /*#__PURE__*/React__default.createElement(Icon, {
9899
9899
  name: "tick",
9900
9900
  className: "!h-5 !w-5"
9901
- })))));
9901
+ }))))));
9902
9902
  };
9903
9903
 
9904
9904
  const mobiles = /iPhone|iPad|iPod|Android/i;
@@ -9959,14 +9959,14 @@ const Option$1 = /*#__PURE__*/React__default.forwardRef(function Select2Option(p
9959
9959
  onClick: handleClick,
9960
9960
  onKeyDown: handleKeyDown,
9961
9961
  ref: ref
9962
- }), hasValue ? /*#__PURE__*/React__default.createElement(Icon, {
9962
+ }), hasValue ? ( /*#__PURE__*/React__default.createElement(Icon, {
9963
9963
  name: "tick",
9964
9964
  className: "pointer-events-none invisible -mx-0.5 !h-4 !w-4 group-aria-selected:visible"
9965
- }) : null, isTag ? /*#__PURE__*/React__default.createElement(Tag$1, {
9965
+ })) : null, isTag ? ( /*#__PURE__*/React__default.createElement(Tag$1, {
9966
9966
  className: "pointer-events-none my-1",
9967
9967
  color: color,
9968
9968
  icon: prefix
9969
- }, children) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, prefix ? typeof prefix === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
9969
+ }, children)) : ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, prefix ? typeof prefix === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
9970
9970
  name: prefix
9971
9971
  }) : prefix : null, /*#__PURE__*/React__default.createElement("span", {
9972
9972
  className: "flex w-full justify-between"
@@ -9978,7 +9978,7 @@ const Option$1 = /*#__PURE__*/React__default.forwardRef(function Select2Option(p
9978
9978
  className: "flex flex-col self-center"
9979
9979
  }, postfix ? typeof postfix === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
9980
9980
  name: postfix
9981
- }) : postfix : null))), popover ? /*#__PURE__*/React__default.createElement(IconButton, {
9981
+ }) : postfix : null)))), popover ? ( /*#__PURE__*/React__default.createElement(IconButton, {
9982
9982
  icon: "ellipsis-vertical",
9983
9983
  appearance: "discrete",
9984
9984
  className: cn('group-aria-current:visible invisible -mr-1 ml-auto !h-5 min-h-[theme(spacing.6)] !w-5 min-w-[theme(spacing.6)] hover:!bg-black/[.08] focus:!shadow-none group-hover:visible', {
@@ -9991,7 +9991,7 @@ const Option$1 = /*#__PURE__*/React__default.forwardRef(function Select2Option(p
9991
9991
  },
9992
9992
  popover: popover,
9993
9993
  tabIndex: -1
9994
- }) : null);
9994
+ })) : null);
9995
9995
  });
9996
9996
 
9997
9997
  const Group$2 = /*#__PURE__*/React__default.forwardRef(function Select2Group(props, ref) {
@@ -10090,7 +10090,7 @@ const Button$2 = /*#__PURE__*/React__default.forwardRef(function Select2TriggerB
10090
10090
  disabled: disabled,
10091
10091
  onClick: handleClick,
10092
10092
  ref: ref,
10093
- role: "combobox",
10093
+ role: "button",
10094
10094
  tabIndex: disabled || readOnly ? -1 : tabIndex,
10095
10095
  type: "button"
10096
10096
  }), children, /*#__PURE__*/React__default.createElement(Icon, {
@@ -10131,10 +10131,10 @@ const Single = /*#__PURE__*/React__default.forwardRef(function Select2TriggerSin
10131
10131
  readOnly: readOnly
10132
10132
  }, currentValue.props.children);
10133
10133
  } else {
10134
- output = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, currentValue.props.prefix ? typeof currentValue.props.prefix === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
10134
+ output = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, currentValue.props.prefix ? typeof currentValue.props.prefix === 'string' ? ( /*#__PURE__*/React__default.createElement(Icon, {
10135
10135
  name: currentValue.props.prefix,
10136
10136
  className: "mr-1 !h-5 !w-5"
10137
- }) : currentValue.props.prefix : null, currentValue.props.children);
10137
+ })) : currentValue.props.prefix : null, currentValue.props.children);
10138
10138
  }
10139
10139
  }
10140
10140
  return /*#__PURE__*/React__default.createElement(Button$2, Object.assign({}, buttonProps, {
@@ -10171,12 +10171,12 @@ const Multiple = /*#__PURE__*/React__default.forwardRef(function Select2TriggerM
10171
10171
  className: "my-1 flex max-h-[5.5rem] flex-col"
10172
10172
  }, /*#__PURE__*/React__default.createElement("div", {
10173
10173
  className: "flex flex-wrap gap-1"
10174
- }, valuesAsChildren.length === 0 ? /*#__PURE__*/React__default.createElement("div", {
10174
+ }, valuesAsChildren.length === 0 ? ( /*#__PURE__*/React__default.createElement("div", {
10175
10175
  className: cn({
10176
10176
  'text-grey-700': disabled,
10177
10177
  'text-grey-500': !disabled
10178
10178
  })
10179
- }, placeholder) : valuesAsChildren.map(child => /*#__PURE__*/React__default.createElement(Tag$1, {
10179
+ }, placeholder)) : valuesAsChildren.map(child => ( /*#__PURE__*/React__default.createElement(Tag$1, {
10180
10180
  key: String(child.props.value),
10181
10181
  className: "truncate",
10182
10182
  color: tags ? child.props.color : undefined,
@@ -10190,7 +10190,7 @@ const Multiple = /*#__PURE__*/React__default.forwardRef(function Select2TriggerM
10190
10190
  }
10191
10191
  },
10192
10192
  readOnly: readOnly
10193
- }, child.props.children))));
10193
+ }, child.props.children)))));
10194
10194
  } else {
10195
10195
  content = /*#__PURE__*/React__default.createElement(MultipleValue, {
10196
10196
  key: String(open),
@@ -10235,12 +10235,12 @@ const MultipleValue = ({
10235
10235
  }, /*#__PURE__*/React__default.createElement("div", {
10236
10236
  className: "flex gap-1 truncate",
10237
10237
  ref: el => setContentRef(el)
10238
- }, valuesAsChildren.length === 0 ? /*#__PURE__*/React__default.createElement("div", {
10238
+ }, valuesAsChildren.length === 0 ? ( /*#__PURE__*/React__default.createElement("div", {
10239
10239
  className: cn({
10240
10240
  'text-grey-700': disabled,
10241
10241
  'text-grey-500': !disabled
10242
10242
  })
10243
- }, placeholder) : valuesAsChildren.map((child, index) => {
10243
+ }, placeholder)) : valuesAsChildren.map((child, index) => {
10244
10244
  const tag = /*#__PURE__*/React__default.createElement(Tag$1, {
10245
10245
  key: String(child.props.value),
10246
10246
  className: cn('cursor-pointer', {
@@ -10260,11 +10260,11 @@ const MultipleValue = ({
10260
10260
  }, tag);
10261
10261
  }
10262
10262
  return tag;
10263
- })), boundaryIndex !== undefined && boundaryIndex !== null && boundaryIndex < valuesAsChildren.length - 1 ? /*#__PURE__*/React__default.createElement(Tooltip, {
10263
+ })), boundaryIndex !== undefined && boundaryIndex !== null && boundaryIndex < valuesAsChildren.length - 1 ? ( /*#__PURE__*/React__default.createElement(Tooltip, {
10264
10264
  title: valuesAsChildren.slice(boundaryIndex + 1).map(child => child ? String(child.props.children) : '').join(', ')
10265
10265
  }, /*#__PURE__*/React__default.createElement(Badge, {
10266
10266
  className: "flex-shrink-0"
10267
- }, "+", valuesAsChildren.length - (boundaryIndex + 1))) : null);
10267
+ }, "+", valuesAsChildren.length - (boundaryIndex + 1)))) : null);
10268
10268
  };
10269
10269
  const matchesValue = value => child => {
10270
10270
  if (Array.isArray(value)) {
@@ -10750,13 +10750,13 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
10750
10750
  style: {
10751
10751
  minWidth: dimensions !== null && dimensions !== void 0 && dimensions.width ? `${dimensions.width}px` : undefined
10752
10752
  }
10753
- }, flattenedChildren.length > 0 || onCreate ? /*#__PURE__*/React__default.createElement(Search$1, {
10753
+ }, flattenedChildren.length > 0 || onCreate ? ( /*#__PURE__*/React__default.createElement(Search$1, {
10754
10754
  placeholder: onCreate ? texts.select2.searchOrCreate : texts.select2.search,
10755
10755
  ref: searchRef
10756
- }) : null, flattenedChildren.length <= 0 ? /*#__PURE__*/React__default.createElement("div", {
10756
+ })) : null, flattenedChildren.length <= 0 ? ( /*#__PURE__*/React__default.createElement("div", {
10757
10757
  className: "text-grey-700 -mt-0.5 flex h-8 items-center px-2",
10758
10758
  role: "presentation"
10759
- }, "No results found...") : /*#__PURE__*/React__default.createElement(Root$1, {
10759
+ }, "No results found...")) : ( /*#__PURE__*/React__default.createElement(Root$1, {
10760
10760
  className: "flex flex-col gap-0.5",
10761
10761
  customSelector: ":scope > button",
10762
10762
  disabled: disabled,
@@ -10767,10 +10767,10 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
10767
10767
  setValue: setValue,
10768
10768
  tabIndex: -1,
10769
10769
  value: value
10770
- }, searchQuery === '' ? /*#__PURE__*/React__default.createElement(Collection$1, null, initialChildren) : /*#__PURE__*/React__default.createElement(Collection$1, null, filteredChildren), onCreate ? /*#__PURE__*/React__default.createElement(Create, {
10770
+ }, searchQuery === '' ? ( /*#__PURE__*/React__default.createElement(Collection$1, null, initialChildren)) : ( /*#__PURE__*/React__default.createElement(Collection$1, null, filteredChildren)), onCreate ? /*#__PURE__*/React__default.createElement(Create, {
10771
10771
  onCreate: onCreate,
10772
10772
  options: flattenedChildren
10773
- }) : null))))));
10773
+ }) : null)))))));
10774
10774
  });
10775
10775
  Select2.Option = Option$1;
10776
10776
  Select2.Group = Group$2;
@@ -10803,10 +10803,10 @@ const ControlledHiddenField = props => {
10803
10803
  value: bubbleValue
10804
10804
  }, emptyValue !== undefined ? /*#__PURE__*/React__default.createElement("option", {
10805
10805
  value: emptyValue
10806
- }) : null, options.map(option => /*#__PURE__*/React__default.createElement("option", {
10806
+ }) : null, options.map(option => ( /*#__PURE__*/React__default.createElement("option", {
10807
10807
  key: String(option),
10808
10808
  value: String(option)
10809
- })));
10809
+ }))));
10810
10810
  }
10811
10811
  return null;
10812
10812
  };
@@ -11213,7 +11213,7 @@ const useRowActions = (inlineEditingUniqueId, handlers, actions, rowExpansionRen
11213
11213
  }
11214
11214
  const sanitizedRow = sanitizeRowProps(row, rowExpansionRenderer);
11215
11215
  const [primaryActions, secondaryActions] = getActions(actions, sanitizedRow);
11216
- const output = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, handlers.onRowCreate && /*#__PURE__*/React__default.createElement(IconButton, {
11216
+ const output = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, handlers.onRowCreate && ( /*#__PURE__*/React__default.createElement(IconButton, {
11217
11217
  appearance: "discrete",
11218
11218
  icon: "circle-plus",
11219
11219
  "aria-label": texts.table.newSubRow,
@@ -11228,7 +11228,7 @@ const useRowActions = (inlineEditingUniqueId, handlers, actions, rowExpansionRen
11228
11228
  }
11229
11229
  handlers.onRowCreate(sanitizedRow, event);
11230
11230
  }
11231
- }), (inlineEditing || handlers.onRowEdit) && /*#__PURE__*/React__default.createElement(IconButton, {
11231
+ })), (inlineEditing || handlers.onRowEdit) && ( /*#__PURE__*/React__default.createElement(IconButton, {
11232
11232
  appearance: "discrete",
11233
11233
  icon: "edit",
11234
11234
  "aria-label": texts.table.edit,
@@ -11244,7 +11244,7 @@ const useRowActions = (inlineEditingUniqueId, handlers, actions, rowExpansionRen
11244
11244
  handlers.onRowEdit(sanitizedRow, event);
11245
11245
  }
11246
11246
  }
11247
- }), handlers.onRowCopy && /*#__PURE__*/React__default.createElement(IconButton, {
11247
+ })), handlers.onRowCopy && ( /*#__PURE__*/React__default.createElement(IconButton, {
11248
11248
  appearance: "discrete",
11249
11249
  icon: "copy",
11250
11250
  "aria-label": texts.table.copy,
@@ -11256,7 +11256,7 @@ const useRowActions = (inlineEditingUniqueId, handlers, actions, rowExpansionRen
11256
11256
  row.setActive();
11257
11257
  handlers.onRowCopy(sanitizedRow, event);
11258
11258
  }
11259
- }), handlers.onRowDelete && /*#__PURE__*/React__default.createElement(IconButton, {
11259
+ })), handlers.onRowDelete && ( /*#__PURE__*/React__default.createElement(IconButton, {
11260
11260
  appearance: "discrete",
11261
11261
  icon: "delete",
11262
11262
  "aria-label": texts.table.del,
@@ -11268,12 +11268,12 @@ const useRowActions = (inlineEditingUniqueId, handlers, actions, rowExpansionRen
11268
11268
  row.setActive();
11269
11269
  handlers.onRowDelete(sanitizedRow, event);
11270
11270
  }
11271
- }), primaryActions.map((action, index) => /*#__PURE__*/React__default.createElement(IconButton, Object.assign({}, getActionProps(action, sanitizedRow), {
11271
+ })), primaryActions.map((action, index) => ( /*#__PURE__*/React__default.createElement(IconButton, Object.assign({}, getActionProps(action, sanitizedRow), {
11272
11272
  key: index,
11273
11273
  appearance: "discrete",
11274
11274
  icon: typeof action.icon === 'function' ? action.icon(sanitizedRow) : action.icon,
11275
11275
  tooltip: typeof action.tooltip === 'function' ? action.tooltip(sanitizedRow) : action.tooltip
11276
- }))), secondaryActions.length ? /*#__PURE__*/React__default.createElement(Menu$1, null, /*#__PURE__*/React__default.createElement(Menu$1.Trigger, null, /*#__PURE__*/React__default.createElement(IconButton, {
11276
+ })))), secondaryActions.length ? ( /*#__PURE__*/React__default.createElement(Menu$1, null, /*#__PURE__*/React__default.createElement(Menu$1.Trigger, null, /*#__PURE__*/React__default.createElement(IconButton, {
11277
11277
  appearance: "discrete",
11278
11278
  icon: "ellipsis-vertical",
11279
11279
  "aria-label": texts.table.actions,
@@ -11283,10 +11283,10 @@ const useRowActions = (inlineEditingUniqueId, handlers, actions, rowExpansionRen
11283
11283
  event.stopPropagation();
11284
11284
  row.setActive();
11285
11285
  }
11286
- })), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, secondaryActions.map((action, index) => /*#__PURE__*/React__default.createElement(Menu$1.Item, Object.assign({
11286
+ })), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, secondaryActions.map((action, index) => ( /*#__PURE__*/React__default.createElement(Menu$1.Item, Object.assign({
11287
11287
  key: index,
11288
11288
  icon: typeof action.icon === 'function' ? action.icon(sanitizedRow) : action.icon
11289
- }, getActionProps(action, sanitizedRow)), typeof action.text === 'function' ? action.text(sanitizedRow) : action.text)))) : null);
11289
+ }, getActionProps(action, sanitizedRow)), typeof action.text === 'function' ? action.text(sanitizedRow) : action.text)))))) : null);
11290
11290
  if (windowed) {
11291
11291
  return /*#__PURE__*/React__default.createElement("div", {
11292
11292
  className: actionGroupClassName
@@ -11297,10 +11297,10 @@ const useRowActions = (inlineEditingUniqueId, handlers, actions, rowExpansionRen
11297
11297
  }, ({
11298
11298
  inView,
11299
11299
  ref
11300
- }) => /*#__PURE__*/React__default.createElement("div", {
11300
+ }) => ( /*#__PURE__*/React__default.createElement("div", {
11301
11301
  className: actionGroupClassName,
11302
11302
  ref: ref
11303
- }, inView ? output : null));
11303
+ }, inView ? output : null)));
11304
11304
  }
11305
11305
  }]);
11306
11306
  }
@@ -11934,10 +11934,10 @@ const Column = ({
11934
11934
  "data-taco": "table-column"
11935
11935
  }), /*#__PURE__*/React__default.createElement("span", {
11936
11936
  className: "truncate"
11937
- }, cell.render('Header')), cell.isSorted ? /*#__PURE__*/React__default.createElement(Icon, {
11937
+ }, cell.render('Header')), cell.isSorted ? ( /*#__PURE__*/React__default.createElement(Icon, {
11938
11938
  name: cell.isSortedDesc ? 'chevron-down-solid' : 'chevron-up-solid',
11939
11939
  className: "-mt-0.5"
11940
- }) : null);
11940
+ })) : null);
11941
11941
  };
11942
11942
 
11943
11943
  const DefaultEmptyState = () => null;
@@ -11966,15 +11966,15 @@ const BaseTable = /*#__PURE__*/React__default.forwardRef(function BaseTable(prop
11966
11966
  role: "rowgroup",
11967
11967
  className: "yt-table__head",
11968
11968
  ref: headerRef
11969
- }, headerGroups === null || headerGroups === void 0 ? void 0 : headerGroups.map((headerGroup, index) => /*#__PURE__*/React__default.createElement("div", {
11969
+ }, headerGroups === null || headerGroups === void 0 ? void 0 : headerGroups.map((headerGroup, index) => ( /*#__PURE__*/React__default.createElement("div", {
11970
11970
  key: index,
11971
11971
  role: "row",
11972
11972
  className: "border-grey-300 flex h-auto min-h-[2.5rem] w-full select-none border-t-0 border-b-2 font-bold"
11973
- }, headerGroup.headers.map((cell, index) => /*#__PURE__*/React__default.createElement(Column, {
11973
+ }, headerGroup.headers.map((cell, index) => ( /*#__PURE__*/React__default.createElement(Column, {
11974
11974
  key: index,
11975
11975
  index: index,
11976
11976
  cell: cell
11977
- }))))), /*#__PURE__*/React__default.createElement("div", {
11977
+ }))))))), /*#__PURE__*/React__default.createElement("div", {
11978
11978
  role: "rowgroup",
11979
11979
  className: "yt-table__body",
11980
11980
  ref: bodyRef
@@ -12172,14 +12172,14 @@ const WindowedTable = /*#__PURE__*/React__default.forwardRef(function WindowedTa
12172
12172
  }, ({
12173
12173
  onItemsRendered,
12174
12174
  ref
12175
- }) => /*#__PURE__*/React__default.createElement(reactWindow.VariableSizeList, Object.assign({}, listProps, {
12175
+ }) => ( /*#__PURE__*/React__default.createElement(reactWindow.VariableSizeList, Object.assign({}, listProps, {
12176
12176
  itemCount: length,
12177
12177
  onItemsRendered: onItemsRendered,
12178
12178
  ref: list => {
12179
12179
  ref(list);
12180
12180
  setRowsRef(list);
12181
12181
  }
12182
- }), VariableRow));
12182
+ }), VariableRow)));
12183
12183
  } else {
12184
12184
  list = /*#__PURE__*/React__default.createElement(reactWindow.VariableSizeList, Object.assign({}, listProps, {
12185
12185
  itemCount: rows.length,
@@ -12346,6 +12346,57 @@ function GotoPopover(props) {
12346
12346
  })));
12347
12347
  }
12348
12348
 
12349
+ // Determines the scroll distance required to display a specific cell in the table.
12350
+ // Returns the scroll distance if scrolling is necessary; otherwise, returns null.
12351
+ function getTableLeftScrollDistance(tableElement, cell, frozenColumnIndex, isEditing = false) {
12352
+ var _Array$from;
12353
+ const row = cell === null || cell === void 0 ? void 0 : cell.closest('[role="row"]');
12354
+ // When editing is enabled, the action column overlays other columns.
12355
+ // To account for it, incorporate a 'rightOffset' during table scrolling towards the right.
12356
+ // 60px is the width of the action column and 10px is added to account for the shadow that it has.
12357
+ const rightOffset = isEditing ? 70 : 0;
12358
+ if (!row) {
12359
+ return null;
12360
+ }
12361
+ const rowChildren = (_Array$from = Array.from(row.children)) !== null && _Array$from !== void 0 ? _Array$from : [];
12362
+ const cellIndex = rowChildren.indexOf(cell);
12363
+ if (cellIndex === -1) {
12364
+ return null;
12365
+ }
12366
+ let scrollDistance = 0;
12367
+ const EXTRA_SPACING = 0;
12368
+ const tableRect = tableElement.getBoundingClientRect();
12369
+ const cellRect = cell.getBoundingClientRect();
12370
+ const tableShouldScrollRight = cellRect.right > tableRect.right - rightOffset;
12371
+ const tableShouldScrollLeft = cellRect.left < tableRect.left;
12372
+ // If column header is behind the frozen columns then scroll the parentHeader into view
12373
+ if (frozenColumnIndex !== -1 && cellIndex > frozenColumnIndex) {
12374
+ var _rowChildren$frozenCo;
12375
+ const lastFrozenColumnRect = (_rowChildren$frozenCo = rowChildren[frozenColumnIndex]) === null || _rowChildren$frozenCo === void 0 ? void 0 : _rowChildren$frozenCo.getBoundingClientRect();
12376
+ const isColumnBehindFrozenColumn = lastFrozenColumnRect.right > cellRect.left;
12377
+ if (isColumnBehindFrozenColumn) {
12378
+ scrollDistance = tableElement.scrollLeft - (lastFrozenColumnRect.right - cellRect.left);
12379
+ return scrollDistance;
12380
+ } else if (tableShouldScrollRight) {
12381
+ scrollDistance = tableElement.scrollLeft + (cellRect.right - tableRect.right + EXTRA_SPACING) + rightOffset;
12382
+ return scrollDistance;
12383
+ }
12384
+ // If column is not behind frozen columns and table doesn't have to be scrolled right to show
12385
+ // the column then that means that the column is visible on the screen
12386
+ } else {
12387
+ if (tableShouldScrollLeft) {
12388
+ scrollDistance = tableElement.scrollLeft - (tableRect.left - cellRect.left);
12389
+ return scrollDistance;
12390
+ } else if (tableShouldScrollRight) {
12391
+ scrollDistance = tableElement.scrollLeft + (cellRect.right - tableRect.right + EXTRA_SPACING) + rightOffset;
12392
+ return scrollDistance;
12393
+ }
12394
+ // If table doesn't have to be scrolled right or left to show the column then that means that
12395
+ // the column is visible on the screen
12396
+ }
12397
+ return null;
12398
+ }
12399
+
12349
12400
  function isGotoAvailable(table, header) {
12350
12401
  if (isInternalColumn(header.id)) {
12351
12402
  return false;
@@ -12381,6 +12432,34 @@ function Menu$3(props) {
12381
12432
  } = useLocalization();
12382
12433
  const [popover, setPopover] = React__default.useState(undefined);
12383
12434
  const [sortDirectionState, setSortDirectionState] = React__default.useState(sortDirection);
12435
+ const ref = React__default.useRef(null);
12436
+ const gotoShortcut = 'g';
12437
+ React__default.useEffect(() => {
12438
+ const {
12439
+ frozenColumnIndex: externalFrozenColumnIndex = -1,
12440
+ frozenInternalColumnCount = 0
12441
+ } = tableMeta.columnFreezing;
12442
+ const handler = createShortcutKeyDownHandler(gotoShortcut, () => {
12443
+ // Only execute the below code if the header menu has goto menu item
12444
+ if (handleGoto) {
12445
+ var _ref$current;
12446
+ const tableElement = tableMeta.tableRef.current;
12447
+ const frozenColumnIndex = externalFrozenColumnIndex > -1 ? externalFrozenColumnIndex + frozenInternalColumnCount : frozenInternalColumnCount - 1;
12448
+ const parentHeader = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.closest('[role="columnheader"]');
12449
+ if (!tableElement || !parentHeader) {
12450
+ return;
12451
+ }
12452
+ const leftScrollDistance = getTableLeftScrollDistance(tableElement, parentHeader, frozenColumnIndex);
12453
+ if (leftScrollDistance !== null) {
12454
+ tableElement.scrollLeft = leftScrollDistance;
12455
+ }
12456
+ }
12457
+ },
12458
+ // Prevents the stopping of event propagation
12459
+ false);
12460
+ document.addEventListener('keydown', handler);
12461
+ return () => document.removeEventListener('keydown', handler);
12462
+ }, [tableMeta.columnFreezing.frozenColumnIndex, handleGoto]);
12384
12463
  const handleSortMenuRadioGroupChange = newSortDirection => {
12385
12464
  setSortDirectionState(newSortDirection);
12386
12465
  handleSortToggle(newSortDirection);
@@ -12397,7 +12476,7 @@ function Menu$3(props) {
12397
12476
  const _temp = _finallyRethrows(function () {
12398
12477
  return _catch(function () {
12399
12478
  return Promise.resolve(handleGoto(query)).then(function (index) {
12400
- tableMeta.currentRow.setCurrentRowIndex(index);
12479
+ tableMeta.rowActive.setRowActiveIndex(index);
12401
12480
  scrollToIndex(index + 2, {
12402
12481
  align: 'center'
12403
12482
  });
@@ -12440,7 +12519,7 @@ function Menu$3(props) {
12440
12519
  if (canSort) {
12441
12520
  menuItems.push( /*#__PURE__*/React__default.createElement(Menu$1.Item, {
12442
12521
  icon: "sort-by",
12443
- subMenu: () => /*#__PURE__*/React__default.createElement(Menu$1.SubMenu, null, /*#__PURE__*/React__default.createElement(Menu$1.RadioGroup, {
12522
+ subMenu: () => ( /*#__PURE__*/React__default.createElement(Menu$1.SubMenu, null, /*#__PURE__*/React__default.createElement(Menu$1.RadioGroup, {
12444
12523
  onChange: handleSortMenuRadioGroupChange,
12445
12524
  value: sortDirectionState
12446
12525
  }, /*#__PURE__*/React__default.createElement(Menu$1.RadioGroup.Item, {
@@ -12449,14 +12528,14 @@ function Menu$3(props) {
12449
12528
  value: SORT_DIRECTION.DESC
12450
12529
  }, texts.table3.columns.menu.sortingOrder.descending), /*#__PURE__*/React__default.createElement(Menu$1.RadioGroup.Item, {
12451
12530
  value: false
12452
- }, texts.table3.columns.menu.sortingOrder.unsorted)))
12531
+ }, texts.table3.columns.menu.sortingOrder.unsorted))))
12453
12532
  }, texts.table3.columns.menu.sorting));
12454
12533
  }
12455
12534
  if (handleGoto) {
12456
12535
  menuItems.push( /*#__PURE__*/React__default.createElement(Menu$1.Item, {
12457
12536
  icon: "move",
12458
12537
  onClick: () => setPopover('goto'),
12459
- shortcut: "g"
12538
+ shortcut: gotoShortcut
12460
12539
  }, texts.table3.columns.menu.gotoRow, "..."));
12461
12540
  }
12462
12541
  if (canFreeze) {
@@ -12495,9 +12574,10 @@ function Menu$3(props) {
12495
12574
  return /*#__PURE__*/React__default.createElement(IconButton, {
12496
12575
  className: className,
12497
12576
  icon: "more",
12498
- menu: popoverElement ? undefined : menuProps => /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, memoedMenuItems)),
12577
+ menu: popoverElement ? undefined : menuProps => ( /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, memoedMenuItems))),
12499
12578
  popover: popoverElement,
12500
- onClickCapture: event => event.preventDefault()
12579
+ onClickCapture: event => event.preventDefault(),
12580
+ ref: ref
12501
12581
  });
12502
12582
  }
12503
12583
 
@@ -12607,7 +12687,7 @@ function Header$1(props) {
12607
12687
  }
12608
12688
  return undefined;
12609
12689
  }, [hasGoto, JSON.stringify(sorting), JSON.stringify(filters), search]);
12610
- const memoedProps = {
12690
+ const headerContentProps = {
12611
12691
  align: columnMeta.align,
12612
12692
  canFreeze: tableMeta.columnFreezing.isEnabled,
12613
12693
  canHide: column.getCanHide(),
@@ -12621,7 +12701,7 @@ function Header$1(props) {
12621
12701
  index: header.index,
12622
12702
  isFrozen: isFrozenColumn(header, table),
12623
12703
  isPlaceholder: header.isPlaceholder,
12624
- isPrinting: tableMeta.isPrinting,
12704
+ isPrinting: tableMeta.printing.isPrinting,
12625
12705
  isResizing: column.getIsResizing(),
12626
12706
  length: table.getRowModel().rows.length,
12627
12707
  meta: columnMeta,
@@ -12634,9 +12714,9 @@ function Header$1(props) {
12634
12714
  sortDirection: column.getIsSorted(),
12635
12715
  table
12636
12716
  };
12637
- return /*#__PURE__*/React__default.createElement(MemoedHeader, Object.assign({}, memoedProps));
12717
+ return /*#__PURE__*/React__default.createElement(HeaderContent, Object.assign({}, headerContentProps));
12638
12718
  }
12639
- const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(props) {
12719
+ function HeaderContent(props) {
12640
12720
  var _meta$tooltip;
12641
12721
  const {
12642
12722
  align,
@@ -12703,16 +12783,16 @@ const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(prop
12703
12783
  "data-column-index": index,
12704
12784
  role: "columnheader",
12705
12785
  ref: setInternalRef
12706
- }), isPlaceholder ? null : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isInternalColumn(id) ? children : /*#__PURE__*/React__default.createElement(Tooltip, {
12786
+ }), isPlaceholder ? null : ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isInternalColumn(id) ? children : ( /*#__PURE__*/React__default.createElement(Tooltip, {
12707
12787
  title: String((_meta$tooltip = meta === null || meta === void 0 ? void 0 : meta.tooltip) !== null && _meta$tooltip !== void 0 ? _meta$tooltip : children),
12708
12788
  placement: "top"
12709
12789
  }, /*#__PURE__*/React__default.createElement("span", {
12710
12790
  className: cn({
12711
12791
  truncate: !isPrinting
12712
12792
  })
12713
- }, children)), canSort ? /*#__PURE__*/React__default.createElement(SortIndicator, {
12793
+ }, children))), canSort ? /*#__PURE__*/React__default.createElement(SortIndicator, {
12714
12794
  direction: sortDirection
12715
- }) : null, hasMenu ? /*#__PURE__*/React__default.createElement(Menu$3, {
12795
+ }) : null, hasMenu ? ( /*#__PURE__*/React__default.createElement(Menu$3, {
12716
12796
  canFreeze: canFreeze,
12717
12797
  canHide: canHide,
12718
12798
  canSort: canSort,
@@ -12728,11 +12808,11 @@ const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(prop
12728
12808
  scrollToIndex: scrollToIndex,
12729
12809
  sortDirection: sortDirection,
12730
12810
  table: table
12731
- }) : null), hasSeparator ? /*#__PURE__*/React__default.createElement(HeaderSeparator, null) : null, !isPlaceholder && canResize ? /*#__PURE__*/React__default.createElement(Resizer, {
12811
+ })) : null)), hasSeparator ? /*#__PURE__*/React__default.createElement(HeaderSeparator, null) : null, !isPlaceholder && canResize ? /*#__PURE__*/React__default.createElement(Resizer, {
12732
12812
  isResizing: isResizing,
12733
12813
  onResize: handleResize
12734
12814
  }) : null);
12735
- });
12815
+ }
12736
12816
  function HeaderSeparator() {
12737
12817
  return /*#__PURE__*/React__default.createElement("div", {
12738
12818
  "data-taco": "header-separator",
@@ -12853,13 +12933,13 @@ const MemoedDisplayCell = /*#__PURE__*/React__default.memo(function MemoedDispla
12853
12933
  role: "cell",
12854
12934
  // cells must be focusable (but not included in tabbing - hence -1)
12855
12935
  tabIndex: -1
12856
- }, highlighted ? /*#__PURE__*/React__default.createElement(Highlight, {
12936
+ }, highlighted ? ( /*#__PURE__*/React__default.createElement(Highlight, {
12857
12937
  className: layoutClassName,
12858
12938
  current: highlightedAsCurrent,
12859
12939
  frozenColumnIndex: frozenColumnIndex,
12860
12940
  index: index,
12861
12941
  tableRef: tableRef
12862
- }, content) : content);
12942
+ }, content)) : content);
12863
12943
  });
12864
12944
 
12865
12945
  function Footer$3(props) {
@@ -12901,9 +12981,9 @@ const MemoedFooter = /*#__PURE__*/React__default.memo(function MemoedFooter(prop
12901
12981
  "data-align": align,
12902
12982
  "data-column-index": index,
12903
12983
  role: "columnheader"
12904
- }, typeof meta.footer === 'function' ? /*#__PURE__*/React__default.createElement("span", {
12984
+ }, typeof meta.footer === 'function' ? ( /*#__PURE__*/React__default.createElement("span", {
12905
12985
  className: "flex-grow truncate"
12906
- }, meta.footer(table.getRowModel().rows.map(row => row.original[id]))) : null);
12986
+ }, meta.footer(table.getRowModel().rows.map(row => row.original[id])))) : null);
12907
12987
  });
12908
12988
 
12909
12989
  const FONT_SIZE = {
@@ -12936,7 +13016,7 @@ const MemoedCell = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
12936
13016
  actions,
12937
13017
  actionsLength,
12938
13018
  fontSize,
12939
- isCurrentRow,
13019
+ isActiveRow,
12940
13020
  isEditing,
12941
13021
  isResizingColumn,
12942
13022
  isHoverStatePaused,
@@ -12966,7 +13046,7 @@ const MemoedCell = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
12966
13046
  let content;
12967
13047
  // We don't want to show actions in edit mode, since we have editing actions,
12968
13048
  // which is shown in edit mode instead.
12969
- if (actions !== null && actions !== void 0 && actions.length && !isEditing && (isCurrentRow || isHovered && !isHoverStatePaused && !isResizingColumn)) {
13049
+ if (actions !== null && actions !== void 0 && actions.length && !isEditing && (isActiveRow || isHovered && !isHoverStatePaused && !isResizingColumn)) {
12970
13050
  const visibleActions = actions.map(action => action(row.original)).filter(action => !!action);
12971
13051
  const actionsOnRow = visibleActions.length === actionsLength ? visibleActions : visibleActions.slice(0, actionsLength - 1);
12972
13052
  const actionsInMenu = visibleActions.slice(visibleActions.length === actionsLength ? actionsLength : actionsLength - 1);
@@ -12984,23 +13064,23 @@ const MemoedCell = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
12984
13064
  return /*#__PURE__*/React__default.cloneElement(button, {
12985
13065
  appearance: 'transparent',
12986
13066
  key: index,
12987
- tabIndex: isCurrentRow ? 0 : -1,
12988
- tooltip: button.props.shortcut ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, tooltip, /*#__PURE__*/React__default.createElement(Shortcut, {
13067
+ tabIndex: isActiveRow ? 0 : -1,
13068
+ tooltip: button.props.shortcut ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, tooltip, /*#__PURE__*/React__default.createElement(Shortcut, {
12989
13069
  className: "ml-2",
12990
13070
  keys: button.props.shortcut
12991
- })) : tooltip
13071
+ }))) : tooltip
12992
13072
  });
12993
- }), actionsInMenu.length ? /*#__PURE__*/React__default.createElement(IconButton, {
13073
+ }), actionsInMenu.length ? ( /*#__PURE__*/React__default.createElement(IconButton, {
12994
13074
  appearance: "transparent",
12995
13075
  "aria-label": texts.table3.columns.actions.tooltip,
12996
13076
  icon: "more",
12997
- tabIndex: isCurrentRow ? 0 : -1,
12998
- menu: menuProps => /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, actionsInMenu.map((action, i) => /*#__PURE__*/React__default.createElement(Menu$1.Item, Object.assign({
13077
+ tabIndex: isActiveRow ? 0 : -1,
13078
+ menu: menuProps => ( /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, actionsInMenu.map((action, i) => ( /*#__PURE__*/React__default.createElement(Menu$1.Item, Object.assign({
12999
13079
  key: i
13000
13080
  }, action.props, {
13001
13081
  shortcut: action.props.shortcut
13002
- }), action.props['aria-label']))))
13003
- }) : null);
13082
+ }), action.props['aria-label']))))))
13083
+ })) : null);
13004
13084
  }
13005
13085
  return /*#__PURE__*/React__default.createElement(DisplayCell, Object.assign({}, props), content);
13006
13086
  });
@@ -13013,10 +13093,10 @@ function Cell(context) {
13013
13093
  actions: tableMeta.rowActions.actionsForRow,
13014
13094
  actionsLength: tableMeta.rowActions.actionsForRowLength,
13015
13095
  fontSize: tableMeta.fontSize.size,
13016
- isCurrentRow: tableMeta.currentRow.currentRowIndex === rowIndex,
13096
+ isActiveRow: tableMeta.rowActive.rowActiveIndex === rowIndex,
13017
13097
  isEditing: tableMeta.editing.isEditing,
13018
13098
  isResizingColumn: !!context.table.getState().columnSizingInfo.isResizingColumn,
13019
- isHoverStatePaused: !!tableMeta.hoverState.isPaused
13099
+ isHoverStatePaused: !!tableMeta.rowActive.isHoverStatePaused
13020
13100
  }));
13021
13101
  }
13022
13102
  function createRowActionsColumn() {
@@ -13091,6 +13171,64 @@ function getCellValueAsString(value, dataType) {
13091
13171
  return String(value);
13092
13172
  }
13093
13173
 
13174
+ // settings
13175
+ var TableFontSizes;
13176
+ (function (TableFontSizes) {
13177
+ TableFontSizes["small"] = "small";
13178
+ TableFontSizes["medium"] = "medium";
13179
+ TableFontSizes["large"] = "large";
13180
+ })(TableFontSizes || (TableFontSizes = {}));
13181
+
13182
+ // column widths
13183
+ const getCellMinWidth = (fontSize = 'medium') => {
13184
+ switch (fontSize) {
13185
+ case TableFontSizes.small:
13186
+ return 57;
13187
+ case TableFontSizes.large:
13188
+ return 83;
13189
+ default:
13190
+ case TableFontSizes.medium:
13191
+ return 72;
13192
+ }
13193
+ };
13194
+ // ordering
13195
+ function ensureOrdering(columns, internalColumnsPinnedToTheRight, settingsOrder) {
13196
+ // internal columns come with a defined order
13197
+ const internalColumns = columns.filter(column => {
13198
+ var _column$id;
13199
+ return ((_column$id = column.id) === null || _column$id === void 0 ? void 0 : _column$id.startsWith('__')) && !internalColumnsPinnedToTheRight.includes(column.id);
13200
+ }).map(column => column.id);
13201
+ // columns with ordering disabled should be moved to the front
13202
+ const orderingDisabled = [];
13203
+ const orderingEnabled = [];
13204
+ let orderedColumns = columns;
13205
+ // if settings is defined, make sure the columns that are actual children are sorted by it
13206
+ if (Array.isArray(settingsOrder)) {
13207
+ orderedColumns = columns.slice().sort(
13208
+ // the magic >>> 0 here ensures that columns that aren't found in settings, but are children, are pushed to the end
13209
+ (a, b) => (settingsOrder.indexOf(a.id) >>> 0) - (settingsOrder.indexOf(b.id) >>> 0));
13210
+ }
13211
+ orderedColumns.forEach(column => {
13212
+ var _column$id2, _column$meta;
13213
+ if ((_column$id2 = column.id) !== null && _column$id2 !== void 0 && _column$id2.startsWith('__')) {
13214
+ return;
13215
+ }
13216
+ if ((_column$meta = column.meta) !== null && _column$meta !== void 0 && _column$meta.enableOrdering) {
13217
+ orderingEnabled.push(column.id);
13218
+ } else {
13219
+ orderingDisabled.push(column.id);
13220
+ }
13221
+ });
13222
+ const order = [...internalColumns, ...orderingDisabled, ...orderingEnabled];
13223
+ // actions should always be last, enforce that
13224
+ internalColumnsPinnedToTheRight.forEach(id => {
13225
+ if (columns.findIndex(column => column.id === id) > -1) {
13226
+ order.push(id);
13227
+ }
13228
+ });
13229
+ return order;
13230
+ }
13231
+
13094
13232
  const PRINT_MIN_COLUMN_SIZE = 20; // while printing, it accounts for minimum width each column can take
13095
13233
  const getCellAlignmentClasses = (alignment = 'left') => {
13096
13234
  return cn({
@@ -13099,18 +13237,7 @@ const getCellAlignmentClasses = (alignment = 'left') => {
13099
13237
  'justify-center text-center': alignment === 'center'
13100
13238
  });
13101
13239
  };
13102
- const getFontBasedMinColumnSize = fontSize => {
13103
- // The minimum column size are based on the minimum usuable width of Datepicker
13104
- switch (fontSize) {
13105
- case FONT_SIZE.small:
13106
- return 57;
13107
- case FONT_SIZE.large:
13108
- return 83;
13109
- default:
13110
- case FONT_SIZE.medium:
13111
- return 72;
13112
- }
13113
- };
13240
+ const getFontBasedMinColumnSize = getCellMinWidth;
13114
13241
  // Hiding input number spin buttons
13115
13242
  const getInputAppearanceClassnames = () => {
13116
13243
  return cn('[appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none');
@@ -13175,62 +13302,65 @@ const useCssGrid = (table, isPrintTable = false, actionsForRowLength = 0, fontSi
13175
13302
  };
13176
13303
  };
13177
13304
 
13178
- function useCurrentRow(defaultCurrentRowIndex) {
13179
- const [currentRowIndex, setCurrentRowIndex] = React__default.useState(defaultCurrentRowIndex);
13180
- const move = (direction, length, scrollToIndex) => setCurrentRowIndex(currentIndex => {
13305
+ function focusFirstElementInActiveRow(tableRef) {
13306
+ const selector = '[data-taco="table2-body"] [role="row"] [role="cell"]:first-child';
13307
+ setTimeout(() => {
13308
+ var _tableRef$current, _tableRef$current$que;
13309
+ (_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();
13310
+ }, 1);
13311
+ }
13312
+ function useTableRowActive$1(isEnabled = false, initialRowActiveIndex) {
13313
+ const [rowActiveIndex, setRowActiveIndex] = React__default.useState(initialRowActiveIndex);
13314
+ const [isHoverStatePaused, setHoverStatePaused] = useIsHoverStatePaused();
13315
+ const move = (direction, length, scrollToIndex) => setRowActiveIndex(currentIndex => {
13181
13316
  const nextIndex = currentIndex !== undefined ? getNextIndex(direction, currentIndex, length) : 0;
13182
13317
  scrollToIndex(direction === -1 ? nextIndex : nextIndex + 3);
13183
13318
  return nextIndex;
13184
13319
  });
13185
- const moveUp = (length, callback) => move(-1, length, callback);
13186
- const moveDown = (length, callback) => move(1, length, callback);
13187
- const focusFirstElementInCurrentRow = tableRef => {
13188
- setTimeout(() => {
13189
- var _tableRef$current, _tableRef$current$que;
13190
- (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : (_tableRef$current$que = _tableRef$current.querySelector('[data-taco="table2-body"] [role="row"] [role="cell"]:first-child')) === null || _tableRef$current$que === void 0 ? void 0 : _tableRef$current$que.focus();
13191
- }, 1);
13192
- };
13193
- const onKeyDown = React__default.useCallback((event, length, scrollToIndex, isEditing, tableRef) => {
13194
- if (event.defaultPrevented) {
13320
+ const onKeyDown = React__default.useCallback((event, length, scrollToIndex, tableRef) => {
13321
+ if (!isEnabled || event.defaultPrevented) {
13195
13322
  return;
13196
13323
  }
13324
+ if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
13325
+ setHoverStatePaused(true);
13326
+ }
13197
13327
  if (event.key === 'ArrowUp') {
13198
13328
  event.preventDefault();
13199
13329
  if (event.ctrlKey || event.metaKey) {
13200
13330
  const newIndex = 0;
13201
- setCurrentRowIndex(newIndex);
13331
+ setRowActiveIndex(newIndex);
13202
13332
  scrollToIndex(newIndex);
13203
13333
  } else {
13204
- moveUp(length, scrollToIndex);
13334
+ move(-1, length, scrollToIndex);
13205
13335
  }
13206
- if (!isEditing) {
13207
- focusFirstElementInCurrentRow(tableRef);
13336
+ if (tableRef) {
13337
+ focusFirstElementInActiveRow(tableRef);
13208
13338
  }
13209
13339
  return;
13210
13340
  } else if (event.key === 'ArrowDown') {
13211
13341
  event.preventDefault();
13212
13342
  if (event.ctrlKey || event.metaKey) {
13213
13343
  const newIndex = length - 1;
13214
- setCurrentRowIndex(newIndex);
13344
+ setRowActiveIndex(newIndex);
13215
13345
  scrollToIndex(newIndex);
13216
13346
  } else {
13217
- moveDown(length, scrollToIndex);
13347
+ move(+1, length, scrollToIndex);
13218
13348
  }
13219
- if (!isEditing) {
13220
- focusFirstElementInCurrentRow(tableRef);
13349
+ if (tableRef) {
13350
+ focusFirstElementInActiveRow(tableRef);
13221
13351
  }
13222
13352
  return;
13223
13353
  }
13224
- }, []);
13354
+ }, [isEnabled]);
13225
13355
  const onFocus = React__default.useCallback((event, length, scrollToIndex) => {
13226
- if (event.isDefaultPrevented()) {
13356
+ if (!isEnabled || event.isDefaultPrevented()) {
13227
13357
  return;
13228
13358
  }
13229
- if (currentRowIndex === undefined && length > 0) {
13359
+ if (rowActiveIndex === undefined && length > 0) {
13230
13360
  // do it in the next tick, otherwise it prevents internal focus from working
13231
13361
  // meaning you have to tab twice to get to the first focusable element
13232
13362
  setTimeout(() => {
13233
- setCurrentRowIndex(index => {
13363
+ setRowActiveIndex(index => {
13234
13364
  if (index === undefined) {
13235
13365
  scrollToIndex(0);
13236
13366
  return 0;
@@ -13239,46 +13369,32 @@ function useCurrentRow(defaultCurrentRowIndex) {
13239
13369
  });
13240
13370
  }, 1);
13241
13371
  }
13242
- }, [currentRowIndex, length]);
13372
+ }, [rowActiveIndex, length, isEnabled]);
13243
13373
  const onMouseCapture = React__default.useCallback((event, length) => {
13244
- if (event.isDefaultPrevented()) {
13374
+ if (!isEnabled || event.isDefaultPrevented()) {
13245
13375
  return;
13246
13376
  }
13247
- if (currentRowIndex === undefined && length > 0) {
13377
+ if (rowActiveIndex === undefined && length > 0) {
13248
13378
  event.preventDefault();
13249
13379
  event.stopPropagation();
13250
13380
  }
13251
- }, [currentRowIndex, length]);
13381
+ }, [rowActiveIndex, length, isEnabled]);
13252
13382
  return {
13253
- currentRowIndex,
13254
- setCurrentRowIndex,
13255
- handleFocus: onFocus,
13256
- handleKeyDown: onKeyDown,
13257
- handleMouseCapture: onMouseCapture
13383
+ isEnabled,
13384
+ rowActiveIndex,
13385
+ setRowActiveIndex: isEnabled ? setRowActiveIndex : () => undefined,
13386
+ isHoverStatePaused,
13387
+ setHoverStatePaused: isEnabled ? setHoverStatePaused : () => undefined,
13388
+ handleFocus: isEnabled ? onFocus : () => undefined,
13389
+ handleKeyDown: isEnabled ? onKeyDown : () => undefined,
13390
+ handleMouseCapture: isEnabled ? onMouseCapture : () => undefined
13258
13391
  };
13259
13392
  }
13260
- const getNextIndex = (direction, currentIndex, length) => {
13393
+ function getNextIndex(direction, currentIndex, length) {
13261
13394
  if (direction === -1) {
13262
13395
  return currentIndex - 1 > 0 ? currentIndex - 1 : 0;
13263
13396
  }
13264
13397
  return currentIndex + 1 < length ? currentIndex + 1 : currentIndex;
13265
- };
13266
-
13267
- function usePauseHoverState() {
13268
- const [isHoverStatePaused, setHoverStatePaused] = useIsHoverStatePaused();
13269
- const onKeyDown = React__default.useCallback(event => {
13270
- if (event.defaultPrevented) {
13271
- return;
13272
- }
13273
- if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
13274
- setHoverStatePaused(true);
13275
- }
13276
- }, []);
13277
- return {
13278
- isPaused: isHoverStatePaused,
13279
- pause: setHoverStatePaused,
13280
- handleKeyDown: onKeyDown
13281
- };
13282
13398
  }
13283
13399
 
13284
13400
  const DEFAULT_ALL_DISABLED = {
@@ -13379,22 +13495,8 @@ function useTablePreset(props) {
13379
13495
  };
13380
13496
  }
13381
13497
 
13382
- function convertDeprecatedRowDensityToRowHeight(rowHeight) {
13383
- switch (rowHeight) {
13384
- case 'compact':
13385
- return 'short';
13386
- case 'normal':
13387
- return 'medium';
13388
- case 'comfortable':
13389
- return 'tall';
13390
- case 'spacious':
13391
- return 'extra-tall';
13392
- default:
13393
- return rowHeight;
13394
- }
13395
- }
13396
- function useRowHeight(isEnabled, defaultRowHeight = 'medium') {
13397
- const [height, setHeight] = React__default.useState(convertDeprecatedRowDensityToRowHeight(defaultRowHeight));
13498
+ function useTableRowHeight(isEnabled = false, defaultRowHeight = 'medium') {
13499
+ const [height, setHeight] = React__default.useState(defaultRowHeight);
13398
13500
  return {
13399
13501
  isEnabled,
13400
13502
  height,
@@ -13402,7 +13504,7 @@ function useRowHeight(isEnabled, defaultRowHeight = 'medium') {
13402
13504
  };
13403
13505
  }
13404
13506
 
13405
- function useFontSize(isEnabled, defaultFontSize = 'medium') {
13507
+ function useTableFontSize(isEnabled = false, defaultFontSize = 'medium') {
13406
13508
  const [size, setSize] = React__default.useState(defaultFontSize);
13407
13509
  return {
13408
13510
  isEnabled,
@@ -13423,11 +13525,10 @@ function useLazyEffect(effect, deps) {
13423
13525
  }, deps);
13424
13526
  }
13425
13527
 
13426
- function useRowSelectionListener(table, onRowSelect) {
13427
- const rowSelection = table.getState().rowSelection;
13528
+ function useTableRowSelectionListener(table, onRowSelect) {
13529
+ const selectedRows = table.getSelectedRowModel().rows;
13428
13530
  useLazyEffect(() => {
13429
13531
  if (table.options.enableRowSelection && typeof onRowSelect === 'function') {
13430
- const selectedRows = table.getSelectedRowModel().rows;
13431
13532
  if (table.options.enableMultiRowSelection) {
13432
13533
  onRowSelect(selectedRows.map(row => row.original));
13433
13534
  } else {
@@ -13435,7 +13536,7 @@ function useRowSelectionListener(table, onRowSelect) {
13435
13536
  onRowSelect((_ref = [(_selectedRows$ = selectedRows[0]) === null || _selectedRows$ === void 0 ? void 0 : _selectedRows$.original]) !== null && _ref !== void 0 ? _ref : []);
13436
13537
  }
13437
13538
  }
13438
- }, [table.options.enableRowSelection, rowSelection]);
13539
+ }, [table.options.enableRowSelection, table.options.enableMultiRowSelection, selectedRows]);
13439
13540
  }
13440
13541
 
13441
13542
  function useRowDrag(isEnabled) {
@@ -13450,52 +13551,6 @@ function useRowDrag(isEnabled) {
13450
13551
  function useSettingsStateListener(table, onChangeSettings) {
13451
13552
  const meta = table.options.meta;
13452
13553
  const state = table.getState();
13453
- const prevFontSize = React__default.useRef(meta.fontSize.size);
13454
- React__default.useEffect(() => {
13455
- const newFontSize = meta.fontSize.size;
13456
- const oldFontSize = prevFontSize.current;
13457
- const {
13458
- small,
13459
- medium,
13460
- large
13461
- } = FONT_SIZE;
13462
- let columnSizeChange = 0;
13463
- switch (`${oldFontSize}-${newFontSize}`) {
13464
- case `${small}-${medium}`:
13465
- columnSizeChange = 8;
13466
- break;
13467
- case `${small}-${large}`:
13468
- columnSizeChange = 16;
13469
- break;
13470
- case `${medium}-${small}`:
13471
- columnSizeChange = -8;
13472
- break;
13473
- case `${medium}-${large}`:
13474
- columnSizeChange = 8;
13475
- break;
13476
- case `${large}-${small}`:
13477
- columnSizeChange = -16;
13478
- break;
13479
- case `${large}-${medium}`:
13480
- columnSizeChange = -8;
13481
- break;
13482
- default:
13483
- columnSizeChange = 0;
13484
- break;
13485
- }
13486
- prevFontSize.current = newFontSize;
13487
- if (columnSizeChange === 0) {
13488
- return;
13489
- }
13490
- table.setColumnSizing(sizes => {
13491
- const minColumnSize = getFontBasedMinColumnSize(newFontSize);
13492
- return Object.fromEntries(Object.entries(sizes).map(([columnName, prevColumnSize]) => {
13493
- // Prevents width value in the setting to go below the minColumnSize
13494
- const newSize = Math.max(minColumnSize, prevColumnSize + columnSizeChange);
13495
- return [columnName, newSize];
13496
- }));
13497
- });
13498
- }, [meta.fontSize.size]);
13499
13554
  React__default.useEffect(() => {
13500
13555
  let handler;
13501
13556
  if (typeof onChangeSettings === 'function') {
@@ -13504,7 +13559,7 @@ function useSettingsStateListener(table, onChangeSettings) {
13504
13559
  }, 250);
13505
13560
  }
13506
13561
  return () => clearTimeout(handler);
13507
- }, [meta.columnFreezing.frozenColumnIndex, state.columnOrder, state.columnSizing, state.columnVisibility, meta.search.excludeUnmatchedResults, meta.fontSize.size, meta.rowHeight.height, meta.printing.printWarningDialogVisibility, state.sorting]);
13562
+ }, [meta.columnFreezing.frozenColumnIndex, state.columnOrder, state.columnSizing, state.columnVisibility, meta.search.excludeUnmatchedResults, meta.fontSize.size, meta.rowHeight.height, meta.printing.isWarningVisibleForLargeDatasets, state.sorting]);
13508
13563
  }
13509
13564
 
13510
13565
  var Table3FilterComparator;
@@ -13642,12 +13697,14 @@ function columnFilterFn(value, filter) {
13642
13697
  // we use a listener, and not the internal "controlled" change handlers because we don't actually want consumers
13643
13698
  // to control the state outside the table. this listener is really here to let the consumer make a server request
13644
13699
  // and provide the server with the sorting state, so that it can sort server side
13645
- function useSortingStateListener(table, onSort) {
13700
+ function useTableSortingListener$1(table, onSort) {
13646
13701
  const sorting = table.getState().sorting;
13647
13702
  useLazyEffect(() => {
13648
- table.resetRowSelection();
13649
13703
  if (table.options.enableSorting && typeof onSort === 'function') {
13650
13704
  onSort(sorting);
13705
+ if (table.options.enableRowSelection) {
13706
+ table.resetRowSelection();
13707
+ }
13651
13708
  }
13652
13709
  }, [table.options.enableSorting, sorting]);
13653
13710
  }
@@ -13655,7 +13712,7 @@ function useSortingStateListener(table, onSort) {
13655
13712
  // we use a listener, and not the internal "controlled" change handlers because we don't actually want consumers
13656
13713
  // to control the state outside the table. this listener is really here to let the consumer make a server request
13657
13714
  // and provide the server with the filtering state, so that it can filter server side
13658
- function useFilteringStateListener(table, onFilter) {
13715
+ function useTableFilterListener(table, onFilter) {
13659
13716
  const columnFilters = table.getState().columnFilters;
13660
13717
  useLazyEffect(() => {
13661
13718
  if (table.options.enableColumnFilters && typeof onFilter === 'function') {
@@ -13667,13 +13724,13 @@ function useFilteringStateListener(table, onFilter) {
13667
13724
  }, [table.options.enableColumnFilters, columnFilters]);
13668
13725
  }
13669
13726
 
13670
- function useCurrentRowListener(table) {
13727
+ function useTableDataListener(table) {
13671
13728
  const meta = table.options.meta;
13672
13729
  const rows = table.getRowModel().rows;
13673
- React__default.useEffect(() => {
13674
- const currentRowIndex = meta.currentRow.currentRowIndex;
13675
- if (currentRowIndex !== undefined && currentRowIndex > rows.length) {
13676
- meta.currentRow.setCurrentRowIndex(0);
13730
+ useLazyEffect(() => {
13731
+ const rowActiveIndex = meta.rowActive.rowActiveIndex;
13732
+ if (rowActiveIndex !== undefined && rowActiveIndex > rows.length) {
13733
+ meta.rowActive.setRowActiveIndex(0);
13677
13734
  }
13678
13735
  }, [rows.length]);
13679
13736
  }
@@ -13774,20 +13831,20 @@ function useColumnFreezingStyle(tableId, table) {
13774
13831
  return style;
13775
13832
  }
13776
13833
 
13777
- function useRowSelection() {
13834
+ function useTableRowSelection(isEnabled = false) {
13778
13835
  const lastSelectedRowIndex = React__default.useRef();
13779
13836
  const onKeyDown = React__default.useCallback((event, table) => {
13780
- if (!table.options.enableRowSelection || event.defaultPrevented) {
13837
+ if (!isEnabled || !table.options.enableRowSelection || event.defaultPrevented) {
13781
13838
  return;
13782
13839
  }
13783
13840
  const rows = table.getRowModel().rows;
13784
13841
  const tableMeta = table.options.meta;
13785
13842
  if (event.key === ' ') {
13786
13843
  event.preventDefault();
13787
- const currentRowIndex = tableMeta.currentRow.currentRowIndex;
13788
- if (currentRowIndex !== undefined) {
13789
- var _rows$currentRowIndex;
13790
- (_rows$currentRowIndex = rows[currentRowIndex]) === null || _rows$currentRowIndex === void 0 ? void 0 : _rows$currentRowIndex.toggleSelected();
13844
+ const rowActiveIndex = tableMeta.rowActive.rowActiveIndex;
13845
+ if (rowActiveIndex !== undefined) {
13846
+ var _rows$rowActiveIndex;
13847
+ (_rows$rowActiveIndex = rows[rowActiveIndex]) === null || _rows$rowActiveIndex === void 0 ? void 0 : _rows$rowActiveIndex.toggleSelected();
13791
13848
  }
13792
13849
  return;
13793
13850
  } else if ((event.ctrlKey || event.metaKey) && event.key === 'a') {
@@ -13795,34 +13852,127 @@ function useRowSelection() {
13795
13852
  table.toggleAllRowsSelected();
13796
13853
  return;
13797
13854
  }
13798
- }, []);
13855
+ }, [isEnabled]);
13799
13856
  return {
13800
- handleKeyDown: onKeyDown,
13857
+ handleKeyDown: isEnabled ? onKeyDown : () => undefined,
13801
13858
  lastSelectedRowIndex
13802
13859
  };
13803
13860
  }
13804
13861
 
13805
- function useRowClick(onRowClick) {
13806
- const onKeyDown = React__default.useCallback((event, table) => {
13807
- if (typeof onRowClick !== 'function' || event.defaultPrevented) {
13862
+ function useTableServerLoading(loadPage, loadAll) {
13863
+ const isEnabled = !!loadPage && !!loadAll;
13864
+ return {
13865
+ isEnabled,
13866
+ loadPage,
13867
+ loadAll
13868
+ };
13869
+ }
13870
+
13871
+ function useTableRowClick(isEnabled = false, onRowClick) {
13872
+ const handleKeyDown = React__default.useCallback(function (event, data) {
13873
+ if (!isEnabled || typeof onRowClick !== 'function' || event.defaultPrevented) {
13808
13874
  return;
13809
13875
  }
13810
- const rows = table.getRowModel().rows;
13811
- const tableMeta = table.options.meta;
13812
- if (event.key === 'Enter') {
13876
+ if (data && event.key === 'Enter') {
13813
13877
  event.preventDefault();
13814
- if (onRowClick && tableMeta.currentRow.currentRowIndex !== undefined) {
13815
- onRowClick(rows[tableMeta.currentRow.currentRowIndex].original);
13816
- }
13878
+ onRowClick(data);
13879
+ return;
13880
+ }
13881
+ }, [isEnabled, onRowClick]);
13882
+ const handleClick = React__default.useCallback(function (event, data) {
13883
+ if (!isEnabled || typeof onRowClick !== 'function' || event.defaultPrevented) {
13817
13884
  return;
13818
13885
  }
13819
- }, [onRowClick]);
13886
+ event.preventDefault();
13887
+ onRowClick(data);
13888
+ return;
13889
+ }, [isEnabled, onRowClick]);
13890
+ return {
13891
+ isEnabled,
13892
+ handleClick,
13893
+ handleKeyDown
13894
+ };
13895
+ }
13896
+
13897
+ function useTableColumnOrdering(isEnabled = true) {
13898
+ return {
13899
+ isEnabled
13900
+ };
13901
+ }
13902
+
13903
+ function useRowDrop(isEnabled, handler) {
13820
13904
  return {
13821
- handleKeyDown: onKeyDown,
13822
- handleClick: onRowClick
13905
+ isEnabled,
13906
+ handleDrop: isEnabled && handler ? handler : () => undefined
13823
13907
  };
13824
13908
  }
13825
13909
 
13910
+ var IndicatorReason;
13911
+ (function (IndicatorReason) {
13912
+ IndicatorReason["SEARCH"] = "SEARCH";
13913
+ IndicatorReason["SORTING"] = "SORTING";
13914
+ IndicatorReason["FILTER"] = "FILTER";
13915
+ })(IndicatorReason || (IndicatorReason = {}));
13916
+ const useIndicatorText = reason => {
13917
+ let title = '';
13918
+ let description = '';
13919
+ const {
13920
+ texts
13921
+ } = useLocalization();
13922
+ switch (reason) {
13923
+ case IndicatorReason.FILTER:
13924
+ title = texts.table3.editing.rowIndicator.rowWillBeHidden;
13925
+ description = texts.table3.editing.rowIndicator.rowWillMoveReasonFilter;
13926
+ break;
13927
+ case IndicatorReason.SEARCH:
13928
+ title = texts.table3.editing.rowIndicator.rowWillBeHidden;
13929
+ description = texts.table3.editing.rowIndicator.rowWillMoveReasonSearch;
13930
+ break;
13931
+ case IndicatorReason.SORTING:
13932
+ title = texts.table3.editing.rowIndicator.rowWillMove;
13933
+ description = texts.table3.editing.rowIndicator.rowWillMoveReasonSorting;
13934
+ break;
13935
+ }
13936
+ return {
13937
+ title,
13938
+ description
13939
+ };
13940
+ };
13941
+ const Indicator = ({
13942
+ reason,
13943
+ columnName,
13944
+ mountNode,
13945
+ validationErrors
13946
+ }) => {
13947
+ const container = React__default.useMemo(() => {
13948
+ const element = document.createElement('div');
13949
+ element.className += 'rounded-b-md items-center wcag-blue-500 absolute left-0 top-full ml-1 whitespace-nowrap px-1 py-0.5 text-xs font-bold shadow-sm';
13950
+ return element;
13951
+ }, []);
13952
+ const indicatorText = useIndicatorText(reason);
13953
+ const hasValidationErrorsInRow = !!validationErrors;
13954
+ React__default.useEffect(() => {
13955
+ // mountNode could be null when rows are filtered
13956
+ // Pinned columns has z-20 class assigned, which overlaps indicator element, need to add z-21 to overlap pinned columns.
13957
+ mountNode === null || mountNode === void 0 ? void 0 : mountNode.classList.add('!z-[21]', 'relative');
13958
+ mountNode === null || mountNode === void 0 ? void 0 : mountNode.appendChild(container);
13959
+ return () => {
13960
+ mountNode === null || mountNode === void 0 ? void 0 : mountNode.classList.remove('!z-[21]', 'relative');
13961
+ mountNode === null || mountNode === void 0 ? void 0 : mountNode.removeChild(container);
13962
+ };
13963
+ }, [hasValidationErrorsInRow, mountNode]);
13964
+ // Using react portal inside a react tree component is an unorthodox way, but in order to avoid much code refactoring
13965
+ // and being able to use Taco Tooltip component in side the visual indicator, portal is used.
13966
+ return /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React__default.createElement(Tooltip, {
13967
+ title: indicatorText.description.replace('[COLUMN]', columnName)
13968
+ }, /*#__PURE__*/React__default.createElement("span", {
13969
+ className: "flex gap-1 hover:cursor-pointer"
13970
+ }, /*#__PURE__*/React__default.createElement(Icon, {
13971
+ name: "info",
13972
+ className: "!h-4 !w-4 rounded-full bg-white !p-0 text-blue-500"
13973
+ }), indicatorText.title)), container);
13974
+ };
13975
+
13826
13976
  const focussableNodeNames = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'DETAILS'];
13827
13977
  const focusableSelector = /*#__PURE__*/focussableNodeNames.join(', ');
13828
13978
  const hasChanged = (value, newValue) => {
@@ -13888,7 +14038,7 @@ function Row$1(props) {
13888
14038
  var _tableMeta$validation, _tableMeta$validation2;
13889
14039
  const focusManager = focus.useFocusManager();
13890
14040
  const tableMeta = props.table.options.meta;
13891
- const isCurrentRow = tableMeta.currentRow.currentRowIndex === props.index;
14041
+ const isActiveRow = tableMeta.rowActive.rowActiveIndex === props.index;
13892
14042
  const isDraggingRow = tableMeta.rowDrag.dragging[props.row.id];
13893
14043
  const isFirstRow = props.index === 0;
13894
14044
  // we use non-css hovered state to determine whether to render actions or not, for performance
@@ -13899,7 +14049,7 @@ function Row$1(props) {
13899
14049
  return;
13900
14050
  }
13901
14051
  if (event.key === 'Tab') {
13902
- tableMeta.hoverState.pause(true);
14052
+ tableMeta.rowActive.setHoverStatePaused(true);
13903
14053
  let focusedElement;
13904
14054
  if (event.shiftKey) {
13905
14055
  // looping backwards
@@ -13911,7 +14061,7 @@ function Row$1(props) {
13911
14061
  // there are no previous elements to focus, go up a row or go outside the table
13912
14062
  if (!isFirstRow) {
13913
14063
  event.preventDefault();
13914
- tableMeta.currentRow.setCurrentRowIndex(props.index - 1);
14064
+ tableMeta.rowActive.setRowActiveIndex(props.index - 1);
13915
14065
  setTimeout(() => focusManager.focusLast(FOCUS_MANAGER_OPTIONS), 1);
13916
14066
  }
13917
14067
  }
@@ -13925,7 +14075,7 @@ function Row$1(props) {
13925
14075
  // there are no next elements to focus, go down a row or go outside the table
13926
14076
  if (!props.isLastRow) {
13927
14077
  event.preventDefault();
13928
- tableMeta.currentRow.setCurrentRowIndex(props.index + 1);
14078
+ tableMeta.rowActive.setRowActiveIndex(props.index + 1);
13929
14079
  setTimeout(() => focusManager.focusFirst(FOCUS_MANAGER_OPTIONS), 1);
13930
14080
  }
13931
14081
  }
@@ -13936,22 +14086,24 @@ function Row$1(props) {
13936
14086
  // rows are heavily memoized because performance in our table is critical
13937
14087
  // be careful and selective about props that you pass to the row
13938
14088
  const memoedProps = {
14089
+ data: props.row.original,
13939
14090
  // aria-grabbed is being deprecated but there is no current alternative api, we use it until there is
13940
14091
  'aria-grabbed': isDraggingRow ? true : tableMeta.rowDrag.isEnabled ? false : undefined,
13941
- 'data-current': isCurrentRow,
14092
+ 'data-current': isActiveRow,
13942
14093
  'data-selected': props.row.getIsSelected(),
13943
14094
  'data-invalid': hasError,
13944
14095
  draggable: tableMeta.rowDrag.isEnabled,
13945
14096
  index: props.index,
13946
14097
  onClick: tableMeta.rowClick.handleClick,
13947
- onDrop: tableMeta.rowDrop.isEnabled ? tableMeta.rowDrop.handleDrop : undefined,
13948
- onKeyDown: handleKeyDown
14098
+ onDrop: tableMeta.rowDrop.isEnabled ? tableMeta.rowDrop.handleDrop : undefined
13949
14099
  };
13950
- let output = /*#__PURE__*/React__default.createElement(MemoedRow, Object.assign({}, props, memoedProps));
13951
- if (tableMeta.editing.isEditing && (isCurrentRow || isHovered && !tableMeta.hoverState.isPaused)) {
14100
+ let output = /*#__PURE__*/React__default.createElement(MemoedRow, Object.assign({}, props, memoedProps, {
14101
+ onKeyDown: handleKeyDown
14102
+ }));
14103
+ if (tableMeta.editing.isEditing && (isActiveRow || isHovered && !tableMeta.rowActive.isHoverStatePaused)) {
13952
14104
  output = /*#__PURE__*/React__default.createElement(EditingRow, Object.assign({}, props, memoedProps, {
13953
14105
  isFirstRow: isFirstRow,
13954
- setCurrentRowIndex: tableMeta.currentRow.setCurrentRowIndex
14106
+ setActiveRowIndex: tableMeta.rowActive.setRowActiveIndex
13955
14107
  }));
13956
14108
  }
13957
14109
  // we store the row index in context because in a virtualised table the row index and the
@@ -13987,7 +14139,7 @@ function EditingRow(props) {
13987
14139
  isFirstRow,
13988
14140
  isLastRow,
13989
14141
  onKeyDown,
13990
- setCurrentRowIndex,
14142
+ setActiveRowIndex,
13991
14143
  virtualiser,
13992
14144
  ...attributes
13993
14145
  } = props;
@@ -13996,14 +14148,14 @@ function EditingRow(props) {
13996
14148
  const handleClickCapture = event => {
13997
14149
  lastCellIndex.value = getColumnIndex(event.target);
13998
14150
  };
13999
- const handleArrowLeftKey = event => {
14151
+ const handleNavigationBackwards = event => {
14000
14152
  let focusedElement;
14001
- if (event.key === 'ArrowLeft') {
14153
+ if (event.key === 'ArrowLeft' || event.key === 'Tab' && event.shiftKey) {
14002
14154
  // We need to perform special behaviour when focus reaches the end of the row,
14003
14155
  // so we don't need default browser behaviour.
14004
14156
  event.stopPropagation();
14005
14157
  event.preventDefault();
14006
- tableMeta.hoverState.pause(true);
14158
+ tableMeta.rowActive.setHoverStatePaused(true);
14007
14159
  // "CTRL + ArrowLeft" or "META + ArrowLeft" should focus first focusable element of the row
14008
14160
  if (event.ctrlKey || event.metaKey) {
14009
14161
  event.target.blur();
@@ -14018,8 +14170,8 @@ function EditingRow(props) {
14018
14170
  // there are no previous elements to focus, go up a row (if there are rows above)
14019
14171
  if (!isFirstRow || !event.currentTarget.contains(focusedElement)) {
14020
14172
  event.preventDefault();
14021
- tableMeta.hoverState.pause(true);
14022
- tableMeta.currentRow.setCurrentRowIndex(props.index - 1);
14173
+ tableMeta.rowActive.setHoverStatePaused(true);
14174
+ tableMeta.rowActive.setRowActiveIndex(props.index - 1);
14023
14175
  setTimeout(() => {
14024
14176
  focusedElement = focusManager.focusLast(FOCUS_MANAGER_OPTIONS);
14025
14177
  // Need to update lastIndex when row got changed and last element got selected.
@@ -14030,14 +14182,14 @@ function EditingRow(props) {
14030
14182
  }
14031
14183
  }
14032
14184
  };
14033
- const handleArrowRightKey = event => {
14185
+ const handleNavigationForward = event => {
14034
14186
  let focusedElement;
14035
- if (event.key === 'ArrowRight') {
14187
+ if (event.key === 'ArrowRight' || event.key === 'Tab' && !event.shiftKey) {
14036
14188
  // We need to perform special behaviour when focus reaches the end of the row,
14037
14189
  // so we don't need default browser behaviour.
14038
14190
  event.stopPropagation();
14039
14191
  event.preventDefault();
14040
- tableMeta.hoverState.pause(true);
14192
+ tableMeta.rowActive.setHoverStatePaused(true);
14041
14193
  // "CTRL + ArrowRight" or "META + ArrowRight" should focus last focusable element of the row
14042
14194
  if (event.ctrlKey || event.metaKey) {
14043
14195
  event.target.blur();
@@ -14052,8 +14204,8 @@ function EditingRow(props) {
14052
14204
  // there are no next elements to focus, go down a row or go outside the table
14053
14205
  if (!props.isLastRow && !event.currentTarget.contains(focusedElement)) {
14054
14206
  event.preventDefault();
14055
- tableMeta.hoverState.pause(true);
14056
- tableMeta.currentRow.setCurrentRowIndex(props.index + 1);
14207
+ tableMeta.rowActive.setHoverStatePaused(true);
14208
+ tableMeta.rowActive.setRowActiveIndex(props.index + 1);
14057
14209
  setTimeout(() => {
14058
14210
  focusedElement = focusManager.focusFirst(FOCUS_MANAGER_OPTIONS);
14059
14211
  // Need to update lastIndex when row got changed and last element got selected.
@@ -14066,22 +14218,21 @@ function EditingRow(props) {
14066
14218
  };
14067
14219
  React__default.useEffect(() => {
14068
14220
  // if some row stuck in hovered state, we heed to unhover it when hover state is paused
14069
- if (tableMeta.hoverState.isPaused) {
14221
+ if (tableMeta.rowActive.isHoverStatePaused) {
14070
14222
  unhoverPreviousRow(props.tableRef);
14071
14223
  }
14072
- }, [tableMeta.hoverState.isPaused]);
14224
+ }, [tableMeta.rowActive.isHoverStatePaused]);
14073
14225
  const handleKeyDown = event => {
14074
14226
  if (event.isDefaultPrevented() || event.isPropagationStopped() || tableMeta.editing.detailModeEditing || tableMeta.shortcutsState.isPaused) {
14075
14227
  return;
14076
14228
  }
14077
- onKeyDown(event); // handles tab behaviour
14078
- handleArrowLeftKey(event);
14079
- handleArrowRightKey(event);
14229
+ handleNavigationBackwards(event);
14230
+ handleNavigationForward(event);
14080
14231
  };
14081
14232
  // this ensures we focus either on a field or on the same column when keyboard navigating up/down
14082
14233
  React__default.useEffect(() => {
14083
14234
  // When table in searching state, whe should prevent editing control to be focused, because it will cause search field to loose focus.
14084
- if (tableMeta.currentRow.currentRowIndex === props.index && !tableMeta.search.isSearching) {
14235
+ if (tableMeta.rowActive.rowActiveIndex === props.index && !tableMeta.search.isSearching) {
14085
14236
  if (lastCellIndex.value !== null) {
14086
14237
  var _props$tableRef$curre;
14087
14238
  const lastCellElement = (_props$tableRef$curre = props.tableRef.current) === null || _props$tableRef$curre === void 0 ? void 0 : _props$tableRef$curre.querySelector(`[role="row"][data-current="true"] [data-column-index="${lastCellIndex.value}"]`);
@@ -14101,7 +14252,7 @@ function EditingRow(props) {
14101
14252
  // Need to subscribe to current row index and check is it a current row,
14102
14253
  // for a situation where hovered row is the next row after current row...
14103
14254
  // In this case row will not be re-rendered if user switch to next row, because hovered row also renders EditingRow.
14104
- }, [tableMeta.currentRow.currentRowIndex, tableMeta.search.isSearching]);
14255
+ }, [tableMeta.rowActive.rowActiveIndex, tableMeta.search.isSearching]);
14105
14256
  return /*#__PURE__*/React__default.createElement(MemoedRow, Object.assign({}, attributes, {
14106
14257
  onClickCapture: handleClickCapture,
14107
14258
  onKeyDown: handleKeyDown
@@ -14110,6 +14261,7 @@ function EditingRow(props) {
14110
14261
  const clickableElements = ['input', 'button', 'a', 'select', 'option', 'label', 'textarea'];
14111
14262
  const MemoedRow = /*#__PURE__*/React__default.memo(function MemoedRow(props) {
14112
14263
  const {
14264
+ data,
14113
14265
  index,
14114
14266
  isLastRow: _1,
14115
14267
  measureRef,
@@ -14140,7 +14292,7 @@ const MemoedRow = /*#__PURE__*/React__default.memo(function MemoedRow(props) {
14140
14292
  onClickCapture(event);
14141
14293
  }
14142
14294
  // do this in the next frame, otherwise it remounts the row and prevents row actions on hover from being clickable
14143
- requestAnimationFrame(() => tableMeta.currentRow.setCurrentRowIndex(index));
14295
+ requestAnimationFrame(() => tableMeta.rowActive.setRowActiveIndex(index));
14144
14296
  };
14145
14297
  const handleClick = event => {
14146
14298
  if (typeof onClick === 'function') {
@@ -14149,7 +14301,7 @@ const MemoedRow = /*#__PURE__*/React__default.memo(function MemoedRow(props) {
14149
14301
  if (!((_ref$current2 = ref.current) !== null && _ref$current2 !== void 0 && _ref$current2.contains(event.target)) || clickableElements.includes(clickedElement.tagName.toLowerCase()) || clickedElement.closest(clickableElements.map(tag => `[role=row] ${tag}`).join(','))) {
14150
14302
  return;
14151
14303
  }
14152
- onClick(row.original);
14304
+ onClick(event, data);
14153
14305
  }
14154
14306
  };
14155
14307
  const handleMouseEnter = () => {
@@ -14476,7 +14628,7 @@ const MemoedCell$1 = /*#__PURE__*/React__default.memo(function MemoedCell(props)
14476
14628
  var _column$columnDef$met;
14477
14629
  const {
14478
14630
  hasChanges,
14479
- isCurrentRow,
14631
+ isActiveRow,
14480
14632
  row,
14481
14633
  editing,
14482
14634
  rowIdentifier,
@@ -14525,13 +14677,13 @@ const MemoedCell$1 = /*#__PURE__*/React__default.memo(function MemoedCell(props)
14525
14677
  }));
14526
14678
  }
14527
14679
  }
14528
- if (editing.isEditing && isCurrentRow) {
14680
+ if (editing.isEditing && isActiveRow) {
14529
14681
  content = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, content, /*#__PURE__*/React__default.createElement(IconButton, {
14530
14682
  ref: edititngActionsRef,
14531
14683
  appearance: "transparent",
14532
14684
  "aria-label": texts.table3.editing.actions.tooltip,
14533
14685
  icon: "more",
14534
- menu: menuProps => /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, /*#__PURE__*/React__default.createElement(Menu$1.Item, {
14686
+ menu: menuProps => ( /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, /*#__PURE__*/React__default.createElement(Menu$1.Item, {
14535
14687
  icon: "tick",
14536
14688
  disabled: !hasChanges,
14537
14689
  onClick: () => editing.saveChangesIfNeeded()
@@ -14542,8 +14694,8 @@ const MemoedCell$1 = /*#__PURE__*/React__default.memo(function MemoedCell(props)
14542
14694
  }, texts.table3.editing.actions.clear), /*#__PURE__*/React__default.createElement(Menu$1.Item, {
14543
14695
  icon: "undo",
14544
14696
  onClick: () => editing.toggleEditing(false)
14545
- }, texts.table3.editing.actions.exit))),
14546
- tabIndex: isCurrentRow ? 0 : -1
14697
+ }, texts.table3.editing.actions.exit)))),
14698
+ tabIndex: isActiveRow ? 0 : -1
14547
14699
  }), /*#__PURE__*/React__default.createElement(Dialog, {
14548
14700
  size: "xs",
14549
14701
  open: clearConfirmationOpen,
@@ -14569,7 +14721,7 @@ const MemoedCell$1 = /*#__PURE__*/React__default.memo(function MemoedCell(props)
14569
14721
  }, texts.table3.editing.clearChangesConfirmationDialog.confirm)))))));
14570
14722
  }
14571
14723
  const contentClassName = cn('flex items-center justify-end text-right', {
14572
- '-mb-2 -mt-2': isCurrentRow
14724
+ '-mb-2 -mt-2': isActiveRow
14573
14725
  });
14574
14726
  return /*#__PURE__*/React__default.createElement(DisplayCell, Object.assign({}, props, {
14575
14727
  className: cn({
@@ -14587,7 +14739,7 @@ function Cell$1(props) {
14587
14739
  const changeset = tableMeta.editing.changes ? Object.keys(tableMeta.editing.changes) : [];
14588
14740
  return /*#__PURE__*/React__default.createElement(MemoedCell$1, Object.assign({}, props, {
14589
14741
  hasChanges: changeset.indexOf(props.row.id) >= 0,
14590
- isCurrentRow: tableMeta.currentRow.currentRowIndex === rowIndex,
14742
+ isActiveRow: tableMeta.rowActive.rowActiveIndex === rowIndex,
14591
14743
  editing: tableMeta.editing
14592
14744
  }));
14593
14745
  }
@@ -14616,119 +14768,6 @@ function createRowEditingActionsColumn(rowIdentifier) {
14616
14768
  };
14617
14769
  }
14618
14770
 
14619
- function useColumnOrdering(options) {
14620
- return {
14621
- isEnabled: options.enableColumnOrdering
14622
- };
14623
- }
14624
- function ensureOrdering(columns, settingsOrder) {
14625
- // internal column come with a defined order
14626
- const internalColumns = columns.filter(column => {
14627
- var _column$id;
14628
- return ((_column$id = column.id) === null || _column$id === void 0 ? void 0 : _column$id.startsWith('__')) && column.id !== COLUMN_ID && column.id !== COLUMN_ID$1;
14629
- }).map(column => column.id);
14630
- // columns with ordering disabled should be moved to the front
14631
- const orderingDisabled = [];
14632
- const orderingEnabled = [];
14633
- let orderedColumns = columns;
14634
- // if settings is defined, make sure the columns that are actual children are sorted by it
14635
- if (Array.isArray(settingsOrder)) {
14636
- orderedColumns = columns.slice().sort(
14637
- // the magic >>> 0 here ensures that columns that aren't found in settings, but are children, are pushed to the end
14638
- (a, b) => (settingsOrder.indexOf(a.id) >>> 0) - (settingsOrder.indexOf(b.id) >>> 0));
14639
- }
14640
- orderedColumns.forEach(column => {
14641
- var _column$id2, _column$meta;
14642
- if ((_column$id2 = column.id) !== null && _column$id2 !== void 0 && _column$id2.startsWith('__')) {
14643
- return;
14644
- }
14645
- if ((_column$meta = column.meta) !== null && _column$meta !== void 0 && _column$meta.enableOrdering) {
14646
- orderingEnabled.push(column.id);
14647
- } else {
14648
- orderingDisabled.push(column.id);
14649
- }
14650
- });
14651
- const order = [...internalColumns, ...orderingDisabled, ...orderingEnabled];
14652
- // actions should always be last, enforce that
14653
- if (columns.findIndex(column => column.id === COLUMN_ID || column.id === COLUMN_ID$1) > -1) {
14654
- order.push(COLUMN_ID);
14655
- }
14656
- return order;
14657
- }
14658
-
14659
- function useRowDrop(isEnabled, handler) {
14660
- return {
14661
- isEnabled,
14662
- handleDrop: isEnabled && handler ? handler : () => undefined
14663
- };
14664
- }
14665
-
14666
- var IndicatorReason;
14667
- (function (IndicatorReason) {
14668
- IndicatorReason["SEARCH"] = "SEARCH";
14669
- IndicatorReason["SORTING"] = "SORTING";
14670
- IndicatorReason["FILTER"] = "FILTER";
14671
- })(IndicatorReason || (IndicatorReason = {}));
14672
- const useIndicatorText = reason => {
14673
- let title = '';
14674
- let description = '';
14675
- const {
14676
- texts
14677
- } = useLocalization();
14678
- switch (reason) {
14679
- case IndicatorReason.FILTER:
14680
- title = texts.table3.editing.rowIndicator.rowWillBeHidden;
14681
- description = texts.table3.editing.rowIndicator.rowWillMoveReasonFilter;
14682
- break;
14683
- case IndicatorReason.SEARCH:
14684
- title = texts.table3.editing.rowIndicator.rowWillBeHidden;
14685
- description = texts.table3.editing.rowIndicator.rowWillMoveReasonSearch;
14686
- break;
14687
- case IndicatorReason.SORTING:
14688
- title = texts.table3.editing.rowIndicator.rowWillMove;
14689
- description = texts.table3.editing.rowIndicator.rowWillMoveReasonSorting;
14690
- break;
14691
- }
14692
- return {
14693
- title,
14694
- description
14695
- };
14696
- };
14697
- const Indicator = ({
14698
- reason,
14699
- columnName,
14700
- mountNode,
14701
- validationErrors
14702
- }) => {
14703
- const container = React__default.useMemo(() => {
14704
- const element = document.createElement('div');
14705
- element.className += 'rounded-b-md items-center wcag-blue-500 absolute left-0 top-full ml-1 whitespace-nowrap px-1 py-0.5 text-xs font-bold shadow-sm';
14706
- return element;
14707
- }, []);
14708
- const indicatorText = useIndicatorText(reason);
14709
- const hasValidationErrorsInRow = !!validationErrors;
14710
- React__default.useEffect(() => {
14711
- // mountNode could be null when rows are filtered
14712
- // Pinned columns has z-20 class assigned, which overlaps indicator element, need to add z-21 to overlap pinned columns.
14713
- mountNode === null || mountNode === void 0 ? void 0 : mountNode.classList.add('!z-[21]', 'relative');
14714
- mountNode === null || mountNode === void 0 ? void 0 : mountNode.appendChild(container);
14715
- return () => {
14716
- mountNode === null || mountNode === void 0 ? void 0 : mountNode.classList.remove('!z-[21]', 'relative');
14717
- mountNode === null || mountNode === void 0 ? void 0 : mountNode.removeChild(container);
14718
- };
14719
- }, [hasValidationErrorsInRow, mountNode]);
14720
- // Using react portal inside a react tree component is an unorthodox way, but in order to avoid much code refactoring
14721
- // and being able to use Taco Tooltip component in side the visual indicator, portal is used.
14722
- return /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React__default.createElement(Tooltip, {
14723
- title: indicatorText.description.replace('[COLUMN]', columnName)
14724
- }, /*#__PURE__*/React__default.createElement("span", {
14725
- className: "flex gap-1 hover:cursor-pointer"
14726
- }, /*#__PURE__*/React__default.createElement(Icon, {
14727
- name: "info",
14728
- className: "!h-4 !w-4 rounded-full bg-white !p-0 text-blue-500"
14729
- }), indicatorText.title)), container);
14730
- };
14731
-
14732
14771
  const Textarea = /*#__PURE__*/React.forwardRef(function Textarea(props, ref) {
14733
14772
  const {
14734
14773
  defaultValue: _,
@@ -14788,7 +14827,7 @@ const TextareaControl = /*#__PURE__*/React__default.forwardRef(function Textarea
14788
14827
  column,
14789
14828
  isCellInDetailMode,
14790
14829
  align,
14791
- isCurrentRow,
14830
+ isActiveRow,
14792
14831
  value,
14793
14832
  fontSize,
14794
14833
  ...attributes
@@ -14882,7 +14921,7 @@ const TextareaControl = /*#__PURE__*/React__default.forwardRef(function Textarea
14882
14921
  '!yt-focus-dark': isCellInDetailMode,
14883
14922
  [`h-[${minMaxHeight.min}px]`]: !isCellInDetailMode && (columnMeta === null || columnMeta === void 0 ? void 0 : columnMeta.enableTruncate),
14884
14923
  // Only allow resizing when focused and truncation enabled
14885
- 'focus:resize-y': isCurrentRow && (columnMeta === null || columnMeta === void 0 ? void 0 : columnMeta.enableTruncate)
14924
+ 'focus:resize-y': isActiveRow && (columnMeta === null || columnMeta === void 0 ? void 0 : columnMeta.enableTruncate)
14886
14925
  }),
14887
14926
  ref: ref,
14888
14927
  value: String(value !== null && value !== void 0 ? value : '')
@@ -14902,7 +14941,7 @@ const EditingControl = /*#__PURE__*/React__default.forwardRef(function Control(p
14902
14941
  value,
14903
14942
  cell,
14904
14943
  error,
14905
- isCurrentRow,
14944
+ isActiveRow,
14906
14945
  ...attributes
14907
14946
  } = props;
14908
14947
  const tableMeta = table.options.meta;
@@ -14980,11 +15019,30 @@ const EditingControl = /*#__PURE__*/React__default.forwardRef(function Control(p
14980
15019
  tableMeta.editing.setDetailModeEditing(true);
14981
15020
  }
14982
15021
  };
15022
+ const handleFocus = event => {
15023
+ var _event$target;
15024
+ const {
15025
+ frozenColumnIndex: externalFrozenColumnIndex = -1,
15026
+ frozenInternalColumnCount = 0
15027
+ } = tableMeta.columnFreezing;
15028
+ const tableElement = tableMeta.tableRef.current;
15029
+ const frozenColumnIndex = externalFrozenColumnIndex > -1 ? externalFrozenColumnIndex + frozenInternalColumnCount : frozenInternalColumnCount - 1;
15030
+ const cell = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.closest('[role="cell"]');
15031
+ if (!tableElement || !cell) {
15032
+ return;
15033
+ }
15034
+ const isEditing = true;
15035
+ const leftScrollDistance = getTableLeftScrollDistance(tableElement, cell, frozenColumnIndex, isEditing);
15036
+ if (leftScrollDistance !== null) {
15037
+ tableElement.scrollLeft = leftScrollDistance;
15038
+ }
15039
+ };
14983
15040
  if (typeof controlRenderer === 'function') {
14984
15041
  return controlRenderer({
14985
15042
  ...attributes,
14986
- ref: refCallback,
14987
15043
  invalid: !!error,
15044
+ onFocus: handleFocus,
15045
+ ref: refCallback,
14988
15046
  setValue: nextValue => {
14989
15047
  if (nextValue !== value) {
14990
15048
  handleChange(nextValue);
@@ -15008,6 +15066,7 @@ const EditingControl = /*#__PURE__*/React__default.forwardRef(function Control(p
15008
15066
  '[&_input]:!yt-focus-dark': isCellInDetailMode
15009
15067
  }),
15010
15068
  onChange: handleDatepickerChange,
15069
+ onFocus: handleFocus,
15011
15070
  onKeyDown: handleInputKeyDown,
15012
15071
  ref: refCallback,
15013
15072
  value: value
@@ -15016,12 +15075,14 @@ const EditingControl = /*#__PURE__*/React__default.forwardRef(function Control(p
15016
15075
  return /*#__PURE__*/React__default.createElement(Switch, Object.assign({}, attributes, {
15017
15076
  checked: Boolean(value),
15018
15077
  onChange: handleChange,
15078
+ onFocus: handleFocus,
15019
15079
  ref: refCallback
15020
15080
  }));
15021
15081
  } else if (controlRenderer === 'textarea') {
15022
15082
  return /*#__PURE__*/React__default.createElement(TextareaControl, Object.assign({}, props, {
15023
15083
  invalid: !!error,
15024
15084
  isCellInDetailMode: isCellInDetailMode,
15085
+ onFocus: handleFocus,
15025
15086
  onKeyDown: handleInputKeyDown,
15026
15087
  ref: refCallback,
15027
15088
  fontSize: tableMeta.fontSize.size
@@ -15035,6 +15096,7 @@ const EditingControl = /*#__PURE__*/React__default.forwardRef(function Control(p
15035
15096
  onChange: event => {
15036
15097
  handleChange(event.target.value);
15037
15098
  },
15099
+ onFocus: handleFocus,
15038
15100
  onKeyDown: handleInputKeyDown,
15039
15101
  ref: refCallback,
15040
15102
  type: isNumber ? 'number' : undefined,
@@ -15060,7 +15122,7 @@ function EditingCell(props) {
15060
15122
  }));
15061
15123
  }
15062
15124
  const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditingCell(props) {
15063
- var _tableMeta$editing$ge, _tableMeta$editing$ro, _rows$currentRowIndex, _column$columnDef$met;
15125
+ var _tableMeta$editing$ge, _tableMeta$editing$ro, _rows$tableMeta$rowAc, _column$columnDef$met;
15064
15126
  const {
15065
15127
  cell,
15066
15128
  column,
@@ -15118,22 +15180,21 @@ const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditin
15118
15180
  // row move indicator
15119
15181
  const moveReason = ((_tableMeta$editing$ro = tableMeta.editing.rowMoveReason) === null || _tableMeta$editing$ro === void 0 ? void 0 : _tableMeta$editing$ro[cell.column.id]) || null;
15120
15182
  const rows = table.getRowModel().rows;
15121
- const currentRowIndex = tableMeta.currentRow.currentRowIndex;
15122
- const isCurrentRow = currentRowIndex !== undefined && ((_rows$currentRowIndex = rows[currentRowIndex]) === null || _rows$currentRowIndex === void 0 ? void 0 : _rows$currentRowIndex.id) === row.id;
15183
+ const isActiveRow = tableMeta.rowActive.rowActiveIndex !== undefined && ((_rows$tableMeta$rowAc = rows[tableMeta.rowActive.rowActiveIndex]) === null || _rows$tableMeta$rowAc === void 0 ? void 0 : _rows$tableMeta$rowAc.id) === row.id;
15123
15184
  const mountNode = React__default.useMemo(() => {
15124
- if (moveReason !== null && isCurrentRow && !error) {
15185
+ if (moveReason !== null && isActiveRow && !error) {
15125
15186
  var _cellRef$current2, _cellRef$current2$par;
15126
15187
  return (_cellRef$current2 = cellRef.current) === null || _cellRef$current2 === void 0 ? void 0 : (_cellRef$current2$par = _cellRef$current2.parentElement) === null || _cellRef$current2$par === void 0 ? void 0 : _cellRef$current2$par.firstChild;
15127
15188
  }
15128
15189
  return null;
15129
- }, [moveReason, isCurrentRow, error, cellRef]);
15190
+ }, [moveReason, isActiveRow, error, cellRef]);
15130
15191
  const removeMoveReason = () => {
15131
15192
  tableMeta.editing.removeRowMoveReason();
15132
15193
  };
15133
15194
  React__default.useEffect(() => {
15134
15195
  // To avoid reseting move reason on another row hover,
15135
15196
  // we need to check for changes only if value got changed in the current row.
15136
- if (!isCurrentRow || error) {
15197
+ if (!isActiveRow || error) {
15137
15198
  if (tableMeta.editing.rowMoveReason) {
15138
15199
  removeMoveReason();
15139
15200
  }
@@ -15148,7 +15209,7 @@ const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditin
15148
15209
  removeMoveReason();
15149
15210
  }
15150
15211
  return removeMoveReason;
15151
- }, [value, tableMeta.currentRow.currentRowIndex, tableMeta.search.excludeUnmatchedResults, error]);
15212
+ }, [value, tableMeta.rowActive.rowActiveIndex, tableMeta.search.excludeUnmatchedResults, error]);
15152
15213
  const controlRenderer = (_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.control;
15153
15214
  const className = cn('py-[calc(var(--table3-cell-padding-y)_-_0.06rem)]', {
15154
15215
  // Textarea control is positioned absolute, when column is in enableTruncate mode, so the cell need to be positioned relative
@@ -15175,15 +15236,15 @@ const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditin
15175
15236
  value: value,
15176
15237
  cell: cell,
15177
15238
  error: error,
15178
- tabIndex: isCurrentRow ? 0 : -1,
15179
- isCurrentRow: isCurrentRow
15239
+ tabIndex: isActiveRow ? 0 : -1,
15240
+ isActiveRow: isActiveRow
15180
15241
  }));
15181
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, moveReason !== null && mountNode && !error ? /*#__PURE__*/React__default.createElement(Indicator, {
15242
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, moveReason !== null && mountNode && !error ? ( /*#__PURE__*/React__default.createElement(Indicator, {
15182
15243
  reason: moveReason,
15183
15244
  columnName: String(cell.column.columnDef.header),
15184
15245
  mountNode: mountNode,
15185
15246
  validationErrors: []
15186
- }) : null, /*#__PURE__*/React__default.createElement("div", {
15247
+ })) : null, /*#__PURE__*/React__default.createElement("div", {
15187
15248
  className: !highlighted ? className : undefined,
15188
15249
  "data-align": columnMeta.align,
15189
15250
  "data-column-index": index,
@@ -15192,13 +15253,13 @@ const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditin
15192
15253
  ref: cellRef,
15193
15254
  "data-invalid": !!error,
15194
15255
  "data-highlighted": highlighted
15195
- }, highlighted ? /*#__PURE__*/React__default.createElement(Highlight, {
15256
+ }, highlighted ? ( /*#__PURE__*/React__default.createElement(Highlight, {
15196
15257
  current: highlightedAsCurrent,
15197
15258
  className: className,
15198
15259
  frozenColumnIndex: tableMeta.columnFreezing.frozenColumnIndex,
15199
15260
  index: index,
15200
15261
  tableRef: tableRef
15201
- }, content) : content));
15262
+ }, content)) : content));
15202
15263
  });
15203
15264
  function getRowMoveReason(table, rowIndex, rowValues, cell, newValue, excludeUnmatchedResults) {
15204
15265
  var _table$getState$sorti;
@@ -15225,7 +15286,7 @@ function getRowMoveReason(table, rowIndex, rowValues, cell, newValue, excludeUnm
15225
15286
  }
15226
15287
 
15227
15288
  function Cell$2(props) {
15228
- var _rows$currentRowIndex;
15289
+ var _rows$rowActiveIndex;
15229
15290
  const {
15230
15291
  column,
15231
15292
  row,
@@ -15243,8 +15304,8 @@ function Cell$2(props) {
15243
15304
  const columnMeta = column.columnDef.meta;
15244
15305
  const rowErrors = tableMeta.validation.errors ? tableMeta.validation.errors[row.id] : null;
15245
15306
  const isColumnError = hasError && rowErrors && !!rowErrors[column.id];
15246
- const currentRowIndex = tableMeta.currentRow.currentRowIndex;
15247
- const isCurrentRow = currentRowIndex !== undefined && ((_rows$currentRowIndex = rows[currentRowIndex]) === null || _rows$currentRowIndex === void 0 ? void 0 : _rows$currentRowIndex.id) === row.id;
15307
+ const rowActiveIndex = tableMeta.rowActive.rowActiveIndex;
15308
+ const isActiveRow = rowActiveIndex !== undefined && ((_rows$rowActiveIndex = rows[rowActiveIndex]) === null || _rows$rowActiveIndex === void 0 ? void 0 : _rows$rowActiveIndex.id) === row.id;
15248
15309
  let value = getValue();
15249
15310
  // When row has changes we always need to show the editing state value, end revert it to original value only when row got saved successfully.
15250
15311
  // Otherwise it might confuse user because it will look like display value is getting reverted everytime user leaves the row.
@@ -15269,8 +15330,8 @@ function Cell$2(props) {
15269
15330
  if (!tableMeta.search.isHighlightingEnabled || !memoedHighlight || tableMeta.search.currentHighlightColumnIndex === undefined) {
15270
15331
  return false;
15271
15332
  }
15272
- const [currentRowIndex, currentColumnIndex] = tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex];
15273
- if (currentRowIndex === rowIndex && currentColumnIndex === index) {
15333
+ const [rowActiveIndex, currentColumnIndex] = tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex];
15334
+ if (rowActiveIndex === rowIndex && currentColumnIndex === index) {
15274
15335
  return true;
15275
15336
  }
15276
15337
  return false;
@@ -15279,7 +15340,7 @@ function Cell$2(props) {
15279
15340
  highlighted: memoedHighlight,
15280
15341
  highlightedAsCurrent: memoedHighlightCurrent
15281
15342
  };
15282
- if (tableMeta.editing.isEditing && columnMeta.control && (isCurrentRow || isHoveredRow && !tableMeta.hoverState.isPaused ||
15343
+ if (tableMeta.editing.isEditing && columnMeta.control && (isActiveRow || isHoveredRow && !tableMeta.rowActive.isHoverStatePaused ||
15283
15344
  // When cell has error, we renderimg it in edit mode (UX reqirement)
15284
15345
  isColumnError)) {
15285
15346
  return /*#__PURE__*/React__default.createElement(EditingCell, Object.assign({}, props, highlightProps));
@@ -15326,7 +15387,7 @@ const Cell$3 = /*#__PURE__*/React__default.memo(function MemoedCell(context) {
15326
15387
  rowIndex
15327
15388
  } = React__default.useContext(RowContext);
15328
15389
  const tableMeta = context.table.options.meta;
15329
- const isCurrentRow = tableMeta.currentRow.currentRowIndex === rowIndex;
15390
+ const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;
15330
15391
  const isSelected = context.row.getIsSelected();
15331
15392
  const title = isSelected ? texts.table3.columns.select.deselect : texts.table3.columns.select.select;
15332
15393
  if (context.table.options.enableMultiRowSelection) {
@@ -15353,7 +15414,7 @@ const Cell$3 = /*#__PURE__*/React__default.memo(function MemoedCell(context) {
15353
15414
  onClick: handleClick,
15354
15415
  // this is necessary to remove console spam from eslint
15355
15416
  onChange: () => false,
15356
- tabIndex: isCurrentRow ? 0 : -1
15417
+ tabIndex: isActiveRow ? 0 : -1
15357
15418
  })));
15358
15419
  } else {
15359
15420
  const className = cn('!mt-0', getRadioClassnames());
@@ -15379,7 +15440,7 @@ const Cell$3 = /*#__PURE__*/React__default.memo(function MemoedCell(context) {
15379
15440
  // we memo because we don't want the row re-rendering and removing focus from the checkbox
15380
15441
  // we can't default to the standard comparison because we need currentRow off the table meta
15381
15442
  // and we don't really care about re-rendering in any other scenario
15382
- return newTableMeta.currentRow.currentRowIndex === oldTableMeta.currentRow.currentRowIndex && newProps.row.getIsSelected() !== oldProps.row.getIsSelected();
15443
+ return newTableMeta.rowActive.rowActiveIndex === oldTableMeta.rowActive.rowActiveIndex && newProps.row.getIsSelected() !== oldProps.row.getIsSelected();
15383
15444
  });
15384
15445
  function createRowSelectionColumn(hasDrag, hasExpansion) {
15385
15446
  const size = hasDrag && hasExpansion ? 22 : 40;
@@ -15434,7 +15495,7 @@ function Header$3(context) {
15434
15495
  const MemoedCell$2 = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
15435
15496
  const {
15436
15497
  expandedRowRenderer,
15437
- isCurrentRow,
15498
+ isActiveRow,
15438
15499
  isExpanded,
15439
15500
  row,
15440
15501
  table
@@ -15451,7 +15512,7 @@ const MemoedCell$2 = /*#__PURE__*/React__default.memo(function MemoedCell(props)
15451
15512
  row.toggleExpanded();
15452
15513
  };
15453
15514
  const title = isExpanded ? texts.table3.columns.expansion.collapse : texts.table3.columns.expansion.expand;
15454
- const tabIndex = isCurrentRow && !tableMeta.editing.isEditing ? 0 : -1;
15515
+ const tabIndex = isActiveRow && !tableMeta.editing.isEditing ? 0 : -1;
15455
15516
  content = /*#__PURE__*/React__default.createElement(Tooltip, {
15456
15517
  title: title
15457
15518
  }, /*#__PURE__*/React__default.createElement(IconButton, {
@@ -15476,7 +15537,7 @@ function Cell$4(props) {
15476
15537
  const tableMeta = context.table.options.meta;
15477
15538
  return /*#__PURE__*/React__default.createElement(MemoedCell$2, Object.assign({}, context, {
15478
15539
  expandedRowRenderer: expandedRowRenderer,
15479
- isCurrentRow: tableMeta.currentRow.currentRowIndex === rowIndex,
15540
+ isActiveRow: tableMeta.rowActive.rowActiveIndex === rowIndex,
15480
15541
  isExpanded: context.row.getIsExpanded()
15481
15542
  }));
15482
15543
  }
@@ -15559,10 +15620,10 @@ function createRowDragColumn(onRowDrag) {
15559
15620
  return {
15560
15621
  id: COLUMN_ID$4,
15561
15622
  header: Header$1,
15562
- cell: context => /*#__PURE__*/React__default.createElement(Cell$5, Object.assign({}, context, {
15623
+ cell: context => ( /*#__PURE__*/React__default.createElement(Cell$5, Object.assign({}, context, {
15563
15624
  isSelected: context.row.getIsSelected(),
15564
15625
  onRowDrag: onRowDrag
15565
- })),
15626
+ }))),
15566
15627
  footer: Footer$3,
15567
15628
  meta: {
15568
15629
  align: 'center',
@@ -15597,7 +15658,7 @@ function Group$3(props) {
15597
15658
  hasSeparator,
15598
15659
  id: header.id,
15599
15660
  index: header.index,
15600
- isPrinting: tableMeta.isPrinting,
15661
+ isPrinting: tableMeta.printing.isPrinting,
15601
15662
  length: table.getRowModel().rows.length,
15602
15663
  meta: columnMeta,
15603
15664
  table
@@ -15747,7 +15808,6 @@ function useConvertChildrenToColumns(props, options, editing) {
15747
15808
  // compiler cannot get filtering out undefined items, so using the type casting here
15748
15809
  .filter(child => !!child); // need to remove undefined array items after processing the children
15749
15810
  }
15750
-
15751
15811
  const columns = processChildren(props.children);
15752
15812
  if (options.enableRowExpansion && props.expandedRowRenderer) {
15753
15813
  columns.unshift(columnHelper.display(createRowExpansionColumn(props.expandedRowRenderer)));
@@ -15773,25 +15833,25 @@ function useConvertChildrenToColumns(props, options, editing) {
15773
15833
  }, [editing.isEditing]);
15774
15834
  }
15775
15835
 
15776
- function usePrinting(isEnabled, loadAll, showWarningWhenPrintingLargeDataset = true) {
15777
- const [printWarningDialogVisibility, setPrintWarningDialogVisibility] = React__default.useState(showWarningWhenPrintingLargeDataset);
15836
+ function useTablePrinting(isEnabled = false, defaultIsWarningVisible = true, id) {
15837
+ const [isWarningVisibleForLargeDatasets, setIsWarningVisibleForLargeDatasets] = React__default.useState(defaultIsWarningVisible);
15778
15838
  return {
15779
15839
  isEnabled,
15780
- loadAll,
15781
- printWarningDialogVisibility,
15782
- setPrintWarningDialogVisibility: isEnabled ? setPrintWarningDialogVisibility : () => undefined
15840
+ isPrinting: id.endsWith('_print'),
15841
+ isWarningVisibleForLargeDatasets,
15842
+ setIsWarningVisibleForLargeDatasets: isEnabled ? setIsWarningVisibleForLargeDatasets : () => undefined
15783
15843
  };
15784
15844
  }
15785
15845
 
15786
- function useShortcutsListener(table, shortcuts) {
15846
+ function useTableShortcutsListener(table, shortcuts) {
15787
15847
  const meta = table.options.meta;
15788
15848
  const rows = table.getRowModel().rows;
15789
15849
  React__default.useEffect(() => {
15790
15850
  const shortcutKeys = Object.keys(shortcuts !== null && shortcuts !== void 0 ? shortcuts : {});
15791
15851
  const globalHandlers = [];
15792
15852
  // convert the shortcut into the correct format to register it
15793
- if (shortcuts && shortcutKeys.length && meta.currentRow.currentRowIndex !== undefined) {
15794
- const currentRow = rows[meta.currentRow.currentRowIndex];
15853
+ if (shortcuts && shortcutKeys.length && meta.rowActive.rowActiveIndex !== undefined) {
15854
+ const rowActive = rows[meta.rowActive.rowActiveIndex];
15795
15855
  shortcutKeys.forEach(key => {
15796
15856
  const handler = shortcuts[key];
15797
15857
  let keyDownHandler;
@@ -15812,7 +15872,7 @@ function useShortcutsListener(table, shortcuts) {
15812
15872
  }
15813
15873
  globalHandlers.push(createShortcutKeyDownHandler(keyDownHandlerOptions, event => {
15814
15874
  event.preventDefault();
15815
- keyDownHandler(currentRow === null || currentRow === void 0 ? void 0 : currentRow.original);
15875
+ keyDownHandler(rowActive === null || rowActive === void 0 ? void 0 : rowActive.original);
15816
15876
  }));
15817
15877
  });
15818
15878
  }
@@ -15824,17 +15884,17 @@ function useShortcutsListener(table, shortcuts) {
15824
15884
  document.removeEventListener('keydown', handler);
15825
15885
  });
15826
15886
  };
15827
- }, [shortcuts, meta.currentRow.currentRowIndex, rows.length]);
15887
+ }, [shortcuts, meta.rowActive.rowActiveIndex, rows.length]);
15828
15888
  }
15829
15889
 
15830
- function useRowGoto(isEnabled, handler) {
15890
+ function useTableRowGoto(isEnabled = false, handler) {
15831
15891
  return {
15832
15892
  isEnabled,
15833
15893
  handleGoto: isEnabled && handler ? handler : () => undefined
15834
15894
  };
15835
15895
  }
15836
15896
 
15837
- function useServerLoadingListener(table, loadPage) {
15897
+ function useTableServerLoadingListener(table, loadPage) {
15838
15898
  const sorting = table.getState().sorting;
15839
15899
  const columnFilters = table.getState().columnFilters;
15840
15900
  const search = table.getState().globalFilter;
@@ -15855,7 +15915,7 @@ function useEditingStateListener(table) {
15855
15915
  meta.editing.saveChangesIfNeeded();
15856
15916
  });
15857
15917
  }
15858
- }, [meta.currentRow.currentRowIndex]);
15918
+ }, [meta.rowActive.rowActiveIndex]);
15859
15919
  // save if editing gets toggled off
15860
15920
  React__default.useEffect(() => {
15861
15921
  if (meta.editing.isEnabled) {
@@ -15863,14 +15923,14 @@ function useEditingStateListener(table) {
15863
15923
  requestAnimationFrame(() => {
15864
15924
  meta.editing.saveChangesIfNeeded();
15865
15925
  });
15866
- } else if (meta.currentRow.currentRowIndex === undefined) {
15867
- meta.currentRow.setCurrentRowIndex(0);
15926
+ } else if (meta.rowActive.rowActiveIndex === undefined) {
15927
+ meta.rowActive.setRowActiveIndex(0);
15868
15928
  }
15869
15929
  }
15870
15930
  }, [meta.editing.isEditing]);
15871
15931
  }
15872
15932
 
15873
- function useSearch(isEnabled, excludeUnmatchedResultsInSearch = false, loadAll) {
15933
+ function useSearch(isEnabled, excludeUnmatchedResultsInSearch = false) {
15874
15934
  const [isSearching, setIsSearching] = React__default.useState(false);
15875
15935
  const [query, setQuery] = React__default.useState();
15876
15936
  const [enableHighlighting, setEnableHighlighting] = React__default.useState(true);
@@ -15890,7 +15950,6 @@ function useSearch(isEnabled, excludeUnmatchedResultsInSearch = false, loadAll)
15890
15950
  setHighlightedColumnIndexes,
15891
15951
  currentHighlightColumnIndex,
15892
15952
  setCurrentHighlightColumnIndex,
15893
- loadAll,
15894
15953
  isSearching,
15895
15954
  setIsSearching
15896
15955
  };
@@ -16147,91 +16206,72 @@ function usePauseShortcuts() {
16147
16206
  };
16148
16207
  }
16149
16208
 
16150
- function useTable$1(props) {
16151
- var _ref, _defaultSettings$colu, _defaultSettings$rowH, _props$length;
16152
- // options
16153
- const options = useTablePreset(props);
16154
- const tableOptions = {
16155
- enableColumnFilters: options.enableFiltering,
16156
- enableColumnResizing: options.enableColumnResizing,
16157
- enableExpanding: options.enableRowExpansion,
16158
- enableGlobalFilter: options.enableSearch,
16159
- enableHiding: options.enableColumnHiding,
16160
- enableRowSelection: options.enableRowSelection,
16161
- enableMultiRowSelection: !options.enableRowSelectionSingle,
16162
- enableSorting: options.enableSorting
16163
- };
16164
- // resizing
16165
- if (tableOptions.enableColumnResizing) {
16166
- tableOptions.columnResizeMode = 'onChange';
16167
- }
16168
- // filtering
16169
- if (tableOptions.enableColumnFilters) {
16170
- if (!props.onFilter) {
16171
- tableOptions.filterFns = {
16172
- tacoFilter: (row, columnId, filter) => columnFilterFn(row.getValue(columnId), filter)
16173
- };
16174
- tableOptions.getFilteredRowModel = reactTable$1.getFilteredRowModel();
16175
- }
16176
- // we don't tableOptions.manualFiltering = true; because it breaks global filtering, server filtering still works :shrug:
16177
- }
16178
- // search
16179
- if (tableOptions.enableGlobalFilter) {
16180
- // search is always client side, since we call loadAll when searching
16181
- tableOptions.globalFilterFn = (row, columnId, searchQuery) => {
16182
- try {
16183
- if (row.original) {
16184
- const cell = row.getAllCells().find(cell => cell.column.id === columnId);
16185
- const columnMeta = cell === null || cell === void 0 ? void 0 : cell.column.columnDef.meta;
16186
- if (cell && cell.column.getIsVisible() && columnMeta !== null && columnMeta !== void 0 && columnMeta.enableSearch) {
16187
- const cellValue = getCellValueAsString(row.original[columnId], columnMeta === null || columnMeta === void 0 ? void 0 : columnMeta.dataType);
16188
- if (cellValue !== undefined) {
16189
- return globalFilterFn(cellValue, searchQuery);
16190
- }
16191
- }
16192
- return false;
16193
- }
16194
- } catch {
16195
- //
16196
- }
16197
- return false;
16198
- };
16199
- tableOptions.getFilteredRowModel = reactTable$1.getFilteredRowModel();
16200
- tableOptions.getColumnCanGlobalFilter = column => {
16201
- var _column$columnDef$met;
16202
- return (_column$columnDef$met = column.columnDef.meta.enableSearch) !== null && _column$columnDef$met !== void 0 ? _column$columnDef$met : true;
16203
- };
16204
- }
16205
- // sorting
16206
- if (options.enableSorting) {
16207
- if (props.onSort) {
16208
- tableOptions.manualSorting = true;
16209
- // onSort is called as a listener to let the consumer update their data, so we don't use onSortingChange
16210
- } else {
16211
- tableOptions.getSortedRowModel = reactTable$1.getSortedRowModel();
16212
- }
16209
+ function useTableFontSizeListener(table) {
16210
+ const meta = table.options.meta;
16211
+ const previousFontSizeRef = React__default.useRef(meta.fontSize.size);
16212
+ useLazyEffect(() => {
16213
+ const cellWidthDifference = getCellWidthDifference(`${previousFontSizeRef.current}-${meta.fontSize.size}`);
16214
+ table.setColumnSizing(sizes => {
16215
+ const minColumnSize = getCellMinWidth(meta.fontSize.size);
16216
+ return Object.fromEntries(Object.entries(sizes).map(([columnName, prevColumnSize]) => {
16217
+ // Prevents width value in the setting to go below the minColumnSize
16218
+ const newSize = Math.max(minColumnSize, prevColumnSize + cellWidthDifference);
16219
+ return [columnName, newSize];
16220
+ }));
16221
+ });
16222
+ previousFontSizeRef.current = meta.fontSize.size;
16223
+ }, [meta.fontSize.size]);
16224
+ }
16225
+ function getCellWidthDifference(fontSizeKey) {
16226
+ switch (fontSizeKey) {
16227
+ case `${TableFontSizes.small}-${TableFontSizes.medium}`:
16228
+ case `${TableFontSizes.medium}-${TableFontSizes.large}`:
16229
+ return 8;
16230
+ case `${TableFontSizes.medium}-${TableFontSizes.small}`:
16231
+ case `${TableFontSizes.large}-${TableFontSizes.medium}`:
16232
+ return -8;
16233
+ case `${TableFontSizes.small}-${TableFontSizes.large}`:
16234
+ return 16;
16235
+ case `${TableFontSizes.large}-${TableFontSizes.small}`:
16236
+ return -16;
16237
+ default:
16238
+ return 0;
16213
16239
  }
16214
- const [defaultSettings, setSettings] = useSettings(props.id, props.defaultSettings, props.onChangeSettings);
16215
- // custom features
16216
- const columnFreezing = useColumnFreezing( // temporarily see if deprecated frozenColumnCount is there
16217
- (_ref = (_defaultSettings$colu = defaultSettings.columnFreezingIndex) !== null && _defaultSettings$colu !== void 0 ? _defaultSettings$colu : defaultSettings === null || defaultSettings === void 0 ? void 0 : defaultSettings.frozenColumnCount) !== null && _ref !== void 0 ? _ref : props.defaultColumnFreezingIndex, options);
16218
- const columnOrdering = useColumnOrdering(options);
16219
- const currentRow = useCurrentRow(props.defaultCurrentRowIndex);
16240
+ }
16241
+
16242
+ function useTable$1(props, ref) {
16243
+ var _settings$columnFreez, _props$length;
16244
+ // load any persisted table settings and merge them with any defaults
16245
+ const [settings, setSettings] = useSettings(props.id, props.defaultSettings, props.onChangeSettings);
16246
+ // configure table3 options
16247
+ const options = useTablePreset(props);
16248
+ // configure react-table built-in features
16249
+ const tableOptions = configureReactTableOptions(props, options);
16250
+ // configure custom features
16251
+ const columnFreezing = useColumnFreezing((_settings$columnFreez = settings.columnFreezingIndex) !== null && _settings$columnFreez !== void 0 ? _settings$columnFreez : props.defaultColumnFreezingIndex, options);
16252
+ // can't change due to rename to "active row"
16220
16253
  const validation = useValidation(props.onCellValidate, props.onRowValidate);
16254
+ // not relevant to common table
16221
16255
  const editing = useEditing(options.enableEditing, validation, props.onSave);
16222
- const fontSize = useFontSize(options.enableFontSize, defaultSettings.fontSize);
16223
- const hoverState = usePauseHoverState();
16224
- const printing = usePrinting(options.enablePrinting, props.loadAll, defaultSettings.showWarningWhenPrintingLargeDataset);
16256
+ // needs to be moved
16225
16257
  const rowActions = useRowActions$1(props.actionsForRow, props.actionsForRowLength);
16226
- const rowClick = useRowClick(props.onRowClick);
16258
+ // not relevant to common table
16227
16259
  const rowDrag = useRowDrag(options.enableRowDrag);
16260
+ // not relevant to common table
16228
16261
  const rowDrop = useRowDrop(options.enableRowDrop, props.onRowDrop);
16229
- const rowGoto = useRowGoto(options.enableRowGoto, props.onRowGoto);
16230
- const rowHeight = useRowHeight(options.enableRowHeight, // temporarily see if deprecated rowDensity is there
16231
- (_defaultSettings$rowH = defaultSettings.rowHeight) !== null && _defaultSettings$rowH !== void 0 ? _defaultSettings$rowH : defaultSettings === null || defaultSettings === void 0 ? void 0 : defaultSettings.rowDensity);
16232
- const rowSelection = useRowSelection();
16233
- const search = useSearch(options.enableSearch, defaultSettings.excludeUnmatchedRecordsInSearch, props.loadAll);
16262
+ // haven't migrated load all/server loading yet
16263
+ const search = useSearch(options.enableSearch, settings.excludeUnmatchedRecordsInSearch);
16234
16264
  const shortcutsState = usePauseShortcuts();
16265
+ // custom features - shared/migrated
16266
+ const columnOrdering = useTableColumnOrdering(options.enableColumnOrdering);
16267
+ const fontSize = useTableFontSize(options.enableFontSize, settings.fontSize);
16268
+ const printing = useTablePrinting(options.enablePrinting, settings.showWarningWhenPrintingLargeDataset, props.id);
16269
+ const rowActive = useTableRowActive$1(true, props.defaultCurrentRowIndex);
16270
+ const rowClick = useTableRowClick(true, props.onRowClick);
16271
+ const rowGoto = useTableRowGoto(options.enableRowGoto, props.onRowGoto);
16272
+ const rowHeight = useTableRowHeight(options.enableRowHeight, settings.rowHeight);
16273
+ const rowSelection = useTableRowSelection(options.enableRowSelection);
16274
+ const server = useTableServerLoading(props.loadPage, props.loadAll);
16235
16275
  // columns
16236
16276
  const {
16237
16277
  columns,
@@ -16241,13 +16281,13 @@ function useTable$1(props) {
16241
16281
  } = useConvertChildrenToColumns(props, options, editing);
16242
16282
  // built-in features
16243
16283
  const initialState = React__default.useMemo(() => {
16244
- var _defaultSettings$colu2, _defaultSettings$colu3, _props$defaultSetting, _props$defaultSetting3;
16284
+ var _settings$columnSizin, _settings$columnVisib, _props$defaultSetting, _props$defaultSetting3;
16245
16285
  const sanitizeSortedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);
16246
16286
  const state = {
16247
- columnOrder: ensureOrdering(columns, defaultSettings.columnOrder),
16248
- columnSizing: (_defaultSettings$colu2 = defaultSettings.columnSizing) !== null && _defaultSettings$colu2 !== void 0 ? _defaultSettings$colu2 : defaultColumnSizing,
16249
- columnVisibility: (_defaultSettings$colu3 = defaultSettings.columnVisibility) !== null && _defaultSettings$colu3 !== void 0 ? _defaultSettings$colu3 : defaultColumnVisibility,
16250
- sorting: defaultSettings.sorting ? defaultSettings.sorting.filter(sanitizeSortedColumns) : defaultSorting
16287
+ columnOrder: ensureOrdering(columns, [COLUMN_ID, COLUMN_ID$1], settings.columnOrder),
16288
+ columnSizing: (_settings$columnSizin = settings.columnSizing) !== null && _settings$columnSizin !== void 0 ? _settings$columnSizin : defaultColumnSizing,
16289
+ columnVisibility: (_settings$columnVisib = settings.columnVisibility) !== null && _settings$columnVisib !== void 0 ? _settings$columnVisib : defaultColumnVisibility,
16290
+ sorting: settings.sorting ? settings.sorting.filter(sanitizeSortedColumns) : defaultSorting
16251
16291
  };
16252
16292
  // we don't save these outside the table, but they need to be here for print to inherit them - see PrintButton.tsx
16253
16293
  if ((_props$defaultSetting = props.defaultSettings) !== null && _props$defaultSetting !== void 0 && _props$defaultSetting.columnFilters) {
@@ -16270,7 +16310,7 @@ function useTable$1(props) {
16270
16310
  excludeUnmatchedRecordsInSearch: search.excludeUnmatchedResults,
16271
16311
  fontSize: fontSize.isEnabled ? fontSize.size : undefined,
16272
16312
  rowHeight: rowHeight.isEnabled ? rowHeight.height : undefined,
16273
- showWarningWhenPrintingLargeDataset: printing.printWarningDialogVisibility,
16313
+ showWarningWhenPrintingLargeDataset: printing.isWarningVisibleForLargeDatasets,
16274
16314
  sorting: state.sorting
16275
16315
  };
16276
16316
  };
@@ -16284,16 +16324,15 @@ function useTable$1(props) {
16284
16324
  meta: {
16285
16325
  columnFreezing,
16286
16326
  columnOrdering,
16287
- currentRow,
16288
16327
  editing,
16289
16328
  enableFooter: options.enableFooter,
16290
16329
  fontSize,
16291
16330
  getSettings,
16292
- hoverState,
16293
16331
  isPrinting: props.id.endsWith('_print'),
16294
16332
  isUsingServer: !!props.loadPage,
16295
16333
  printing,
16296
16334
  rowActions: rowActions,
16335
+ rowActive,
16297
16336
  rowClick: rowClick,
16298
16337
  rowDrag,
16299
16338
  rowDrop,
@@ -16301,24 +16340,91 @@ function useTable$1(props) {
16301
16340
  rowHeight,
16302
16341
  rowSelection,
16303
16342
  search,
16343
+ server,
16304
16344
  shortcutsState,
16345
+ tableRef: ref,
16305
16346
  validation
16306
16347
  }
16307
16348
  });
16308
16349
  // listeners
16309
- useCurrentRowListener(table);
16310
16350
  useEditingStateListener(table);
16311
- useFilteringStateListener(table, props.onFilter);
16312
- useRowSelectionListener(table, props.onRowSelect);
16313
16351
  useSettingsStateListener(table, setSettings);
16314
- useShortcutsListener(table, props.shortcuts);
16315
- useServerLoadingListener(table, props.loadPage);
16316
- useSortingStateListener(table, props.onSort);
16352
+ // listeners - shared/migrated
16353
+ useTableDataListener(table);
16354
+ useTableFilterListener(table, props.onFilter);
16355
+ useTableFontSizeListener(table);
16356
+ useTableRowSelectionListener(table, props.onRowSelect);
16357
+ useTableServerLoadingListener(table, props.loadPage);
16358
+ useTableShortcutsListener(table, props.shortcuts);
16359
+ useTableSortingListener$1(table, props.onSort);
16317
16360
  return {
16318
16361
  table,
16319
16362
  length: (_props$length = props.length) !== null && _props$length !== void 0 ? _props$length : props.data.length
16320
16363
  };
16321
16364
  }
16365
+ function configureReactTableOptions(props, options) {
16366
+ const tableOptions = {
16367
+ enableColumnFilters: options.enableFiltering,
16368
+ enableColumnResizing: options.enableColumnResizing,
16369
+ enableExpanding: options.enableRowExpansion,
16370
+ enableGlobalFilter: options.enableSearch,
16371
+ enableHiding: options.enableColumnHiding,
16372
+ enableRowSelection: options.enableRowSelection,
16373
+ enableMultiRowSelection: !options.enableRowSelectionSingle,
16374
+ enableSorting: options.enableSorting
16375
+ };
16376
+ // resizing
16377
+ if (tableOptions.enableColumnResizing) {
16378
+ tableOptions.columnResizeMode = 'onChange';
16379
+ }
16380
+ // filtering
16381
+ if (tableOptions.enableColumnFilters) {
16382
+ if (!props.onFilter) {
16383
+ tableOptions.filterFns = {
16384
+ tacoFilter: (row, columnId, filter) => columnFilterFn(row.getValue(columnId), filter)
16385
+ };
16386
+ tableOptions.getFilteredRowModel = reactTable$1.getFilteredRowModel();
16387
+ }
16388
+ // we don't tableOptions.manualFiltering = true; because it breaks global filtering, server filtering still works :shrug:
16389
+ }
16390
+ // search
16391
+ if (tableOptions.enableGlobalFilter) {
16392
+ // search is always client side, since we call loadAll when searching
16393
+ tableOptions.globalFilterFn = (row, columnId, searchQuery) => {
16394
+ try {
16395
+ if (row.original) {
16396
+ const cell = row.getAllCells().find(cell => cell.column.id === columnId);
16397
+ const columnMeta = cell === null || cell === void 0 ? void 0 : cell.column.columnDef.meta;
16398
+ if (cell && cell.column.getIsVisible() && columnMeta !== null && columnMeta !== void 0 && columnMeta.enableSearch) {
16399
+ const cellValue = getCellValueAsString(row.original[columnId], columnMeta === null || columnMeta === void 0 ? void 0 : columnMeta.dataType);
16400
+ if (cellValue !== undefined) {
16401
+ return globalFilterFn(cellValue, searchQuery);
16402
+ }
16403
+ }
16404
+ return false;
16405
+ }
16406
+ } catch {
16407
+ //
16408
+ }
16409
+ return false;
16410
+ };
16411
+ tableOptions.getFilteredRowModel = reactTable$1.getFilteredRowModel();
16412
+ tableOptions.getColumnCanGlobalFilter = column => {
16413
+ var _column$columnDef$met;
16414
+ return (_column$columnDef$met = column.columnDef.meta.enableSearch) !== null && _column$columnDef$met !== void 0 ? _column$columnDef$met : true;
16415
+ };
16416
+ }
16417
+ // sorting
16418
+ if (options.enableSorting) {
16419
+ if (props.onSort) {
16420
+ tableOptions.manualSorting = true;
16421
+ // onSort is called as a listener to let the consumer update their data, so we don't use onSortingChange
16422
+ } else {
16423
+ tableOptions.getSortedRowModel = reactTable$1.getSortedRowModel();
16424
+ }
16425
+ }
16426
+ return tableOptions;
16427
+ }
16322
16428
 
16323
16429
  const ExpandedRow = /*#__PURE__*/React__default.memo(function ExpandedRow(props) {
16324
16430
  var _renderer;
@@ -16383,9 +16489,9 @@ function SkeletonRow(props) {
16383
16489
  } = props;
16384
16490
  return /*#__PURE__*/React__default.createElement("div", {
16385
16491
  className: "contents"
16386
- }, columns.map(column => /*#__PURE__*/React__default.createElement(SkeletonCell, Object.assign({
16492
+ }, columns.map(column => ( /*#__PURE__*/React__default.createElement(SkeletonCell, Object.assign({
16387
16493
  key: column.id
16388
- }, otherProps))));
16494
+ }, otherProps)))));
16389
16495
  }
16390
16496
 
16391
16497
  // Note - latest react-virtual requires an inner container, and that doesn't work with css grid,
@@ -16434,17 +16540,17 @@ function createBodyRenderer(props, rows, table, tableRef, virtualiser, setExpand
16434
16540
  row: row,
16435
16541
  table: table,
16436
16542
  tableRef: tableRef
16437
- }, row.getVisibleCells().map((cell, index) => /*#__PURE__*/React__default.createElement(React__default.Fragment, {
16543
+ }, row.getVisibleCells().map((cell, index) => ( /*#__PURE__*/React__default.createElement(React__default.Fragment, {
16438
16544
  key: cell.id
16439
16545
  }, reactTable$1.flexRender(cell.column.columnDef.cell, {
16440
16546
  ...cell.getContext(),
16441
16547
  index,
16442
16548
  tableRef
16443
- })))), row.getIsExpanded() ? /*#__PURE__*/React__default.createElement(ExpandedRow, {
16549
+ }))))), row.getIsExpanded() ? ( /*#__PURE__*/React__default.createElement(ExpandedRow, {
16444
16550
  data: row.original,
16445
16551
  renderer: props.expandedRowRenderer,
16446
16552
  registerSize: createSetSizeHandler(virtualRow.index)
16447
- }) : null);
16553
+ })) : null);
16448
16554
  }), paddingBottom ? /*#__PURE__*/React__default.createElement("div", {
16449
16555
  style: {
16450
16556
  height: paddingBottom
@@ -16563,10 +16669,10 @@ function Search$2(props) {
16563
16669
  tableMeta.search.setIsSearching(true);
16564
16670
  // load all data if that is possible
16565
16671
  const _temp = function () {
16566
- if (tableMeta.search.loadAll && loading === LoadingState.Incomplete) {
16672
+ if (tableMeta.server.loadAll && loading === LoadingState.Incomplete) {
16567
16673
  setLoading(LoadingState.Loading);
16568
16674
  // don't pass the search query because we need all data - not filtered data
16569
- return Promise.resolve(tableMeta.search.loadAll(table.getState().sorting, table.getState().columnFilters, undefined)).then(function () {
16675
+ return Promise.resolve(tableMeta.server.loadAll(table.getState().sorting, table.getState().columnFilters, undefined)).then(function () {
16570
16676
  setLoading(LoadingState.Completed);
16571
16677
  });
16572
16678
  }
@@ -16584,14 +16690,16 @@ function Search$2(props) {
16584
16690
  setQuery(String(query !== null && query !== void 0 ? query : ''));
16585
16691
  };
16586
16692
  const handleClear = () => {
16587
- var _rows$rowIndex;
16588
- const [rowIndex, cellIndex] = tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex || 0];
16693
+ const [rowIndex = null, cellIndex = null] = tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex || 0];
16589
16694
  const rows = table.getRowModel().rows;
16590
- const rowId = ((_rows$rowIndex = rows[rowIndex]) === null || _rows$rowIndex === void 0 ? void 0 : _rows$rowIndex.id) || null;
16591
16695
  tableMeta.search.setQuery('');
16592
16696
  // Need to save row id and cell index, to be able to find the row in the table with updated indexes, after global filter will be reset.
16593
16697
  lastCellIndex.value = String(cellIndex);
16594
- setRowIdToNavigate(rowId);
16698
+ if (rowIndex !== null) {
16699
+ var _rows$rowIndex;
16700
+ const rowId = ((_rows$rowIndex = rows[rowIndex]) === null || _rows$rowIndex === void 0 ? void 0 : _rows$rowIndex.id) || null;
16701
+ setRowIdToNavigate(rowId);
16702
+ }
16595
16703
  };
16596
16704
  const handleKeyDown = event => {
16597
16705
  if (event.key === 'Escape') {
@@ -16608,7 +16716,7 @@ function Search$2(props) {
16608
16716
  const rows = table.getRowModel().rows;
16609
16717
  const rowIndex = rows.findIndex(row => row.id === rowIdToNavigate);
16610
16718
  tableMeta.search.setIsSearching(false);
16611
- tableMeta.currentRow.setCurrentRowIndex(rowIndex);
16719
+ tableMeta.rowActive.setRowActiveIndex(rowIndex);
16612
16720
  scrollTo(rowIndex);
16613
16721
  setRowIdToNavigate(null);
16614
16722
  }
@@ -16710,7 +16818,7 @@ function resetHighlightedColumnIndexes(enabled, value, table) {
16710
16818
  tableMeta.search.setCurrentHighlightColumnIndex(undefined);
16711
16819
  }
16712
16820
  if (firstRowIndex !== undefined) {
16713
- tableMeta.currentRow.setCurrentRowIndex(firstRowIndex);
16821
+ tableMeta.rowActive.setRowActiveIndex(firstRowIndex);
16714
16822
  }
16715
16823
  return firstRowIndex;
16716
16824
  }
@@ -16744,12 +16852,12 @@ function FilterColumn(props) {
16744
16852
  return /*#__PURE__*/React__default.createElement(Select2.Option, {
16745
16853
  key: column.id,
16746
16854
  value: column.id,
16747
- postfix: !column.getIsVisible() ? /*#__PURE__*/React__default.createElement(Tooltip, {
16855
+ postfix: !column.getIsVisible() ? ( /*#__PURE__*/React__default.createElement(Tooltip, {
16748
16856
  title: texts.table3.filters.hiddenColumn
16749
16857
  }, /*#__PURE__*/React__default.createElement(Icon, {
16750
16858
  name: "eye-off",
16751
16859
  className: "text-grey-500 !h-5 !w-5"
16752
- })) : undefined,
16860
+ }))) : undefined,
16753
16861
  disabled: column.id !== value && (!column.getCanFilter() || !!filters.find(f => f.id === column.id))
16754
16862
  }, ((_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.header) + (column.parent ? ` (${(_column$parent = column.parent) === null || _column$parent === void 0 ? void 0 : (_column$parent$column = _column$parent.columnDef.meta) === null || _column$parent$column === void 0 ? void 0 : _column$parent$column.header})` : ''));
16755
16863
  }))));
@@ -16776,10 +16884,10 @@ function FilterComparator(props) {
16776
16884
  disabled: !column,
16777
16885
  onChange: handleChange,
16778
16886
  value: value
16779
- }), validComparators.map(comparator => /*#__PURE__*/React__default.createElement(Select2.Option, {
16887
+ }), validComparators.map(comparator => ( /*#__PURE__*/React__default.createElement(Select2.Option, {
16780
16888
  key: comparator,
16781
16889
  value: comparator
16782
- }, getComparatorText(comparator, texts, column))));
16890
+ }, getComparatorText(comparator, texts, column)))));
16783
16891
  }
16784
16892
  function guessComparatorsBasedOnControl(column) {
16785
16893
  var _column$columnDef$met;
@@ -17174,6 +17282,12 @@ function FiltersButton(props) {
17174
17282
  setFilters([]);
17175
17283
  setPlaceholderCount(1);
17176
17284
  };
17285
+ const handleClose = React__default.useCallback(open => {
17286
+ if (!open) {
17287
+ setFilters(appliedFilters);
17288
+ setPlaceholderCount(appliedFilters.length === 0 ? 1 : 0);
17289
+ }
17290
+ }, [appliedFilters]);
17177
17291
  // Because filters can be reset from outside
17178
17292
  React__default.useEffect(() => {
17179
17293
  if (appliedFilters.length === 0) {
@@ -17186,7 +17300,9 @@ function FiltersButton(props) {
17186
17300
  className: cn({
17187
17301
  '!wcag-blue-100': appliedFilters.length
17188
17302
  }),
17189
- popover: popoverProps => /*#__PURE__*/React__default.createElement(Popover, Object.assign({}, popoverProps), /*#__PURE__*/React__default.createElement(Popover.Content, null, /*#__PURE__*/React__default.createElement("div", {
17303
+ popover: popoverProps => ( /*#__PURE__*/React__default.createElement(Popover, Object.assign({}, popoverProps, {
17304
+ onChange: handleClose
17305
+ }), /*#__PURE__*/React__default.createElement(Popover.Content, null, /*#__PURE__*/React__default.createElement("div", {
17190
17306
  className: "flex w-[40rem] flex-col gap-4"
17191
17307
  }, /*#__PURE__*/React__default.createElement("div", {
17192
17308
  className: "flex h-8"
@@ -17198,7 +17314,7 @@ function FiltersButton(props) {
17198
17314
  className: "text-grey-700 mb-0 mr-auto mt-px inline-flex"
17199
17315
  }, texts.table3.filters.total.replace('[CURRENT]', new Intl.NumberFormat(locale).format(table.getFilteredRowModel().rows.length)).replace('[TOTAL]', new Intl.NumberFormat(locale).format(total))))), /*#__PURE__*/React__default.createElement("div", {
17200
17316
  className: "flex flex-col gap-2"
17201
- }, filters.map((filter, index) => /*#__PURE__*/React__default.createElement(Filter$1, {
17317
+ }, filters.map((filter, index) => ( /*#__PURE__*/React__default.createElement(Filter$1, {
17202
17318
  key: `filter_${index}`,
17203
17319
  allColumns: allColumns,
17204
17320
  filter: filter,
@@ -17206,14 +17322,14 @@ function FiltersButton(props) {
17206
17322
  position: index,
17207
17323
  onChange: handleChangeFilter,
17208
17324
  onRemove: handleRemoveFilter
17209
- })), [...Array(placeholderCount)].map((_, index) => /*#__PURE__*/React__default.createElement(Placeholder, {
17325
+ }))), [...Array(placeholderCount)].map((_, index) => ( /*#__PURE__*/React__default.createElement(Placeholder, {
17210
17326
  key: `placeholder_${index}`,
17211
17327
  allColumns: allColumns,
17212
17328
  filters: filters,
17213
17329
  position: filters.length + index,
17214
17330
  onCreate: handleCreateFilterFromPlaceholder,
17215
17331
  onRemove: placeholderCount > 1 || filters.length > 0 ? handleRemovePlaceholder : undefined
17216
- })), /*#__PURE__*/React__default.createElement("div", {
17332
+ }))), /*#__PURE__*/React__default.createElement("div", {
17217
17333
  className: "justify-start"
17218
17334
  }, /*#__PURE__*/React__default.createElement(Button$1, {
17219
17335
  appearance: "discrete",
@@ -17225,16 +17341,16 @@ function FiltersButton(props) {
17225
17341
  }, "Clear"), /*#__PURE__*/React__default.createElement(Button$1, {
17226
17342
  appearance: "primary",
17227
17343
  onClick: handleApply
17228
- }, "Apply"))))),
17344
+ }, "Apply")))))),
17229
17345
  ref,
17230
- tooltip: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, texts.table3.filters.tooltip, /*#__PURE__*/React__default.createElement(Shortcut, {
17346
+ tooltip: ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, texts.table3.filters.tooltip, /*#__PURE__*/React__default.createElement(Shortcut, {
17231
17347
  className: "ml-2",
17232
17348
  keys: {
17233
17349
  key: 'f',
17234
17350
  meta: true,
17235
17351
  shift: true
17236
17352
  }
17237
- }))
17353
+ })))
17238
17354
  };
17239
17355
  if (!isLargeScreen && !appliedFilters.length) {
17240
17356
  return /*#__PURE__*/React__default.createElement(IconButton, Object.assign({}, buttonProps, {
@@ -17561,14 +17677,14 @@ function PrintButton(props) {
17561
17677
  texts
17562
17678
  } = useLocalization();
17563
17679
  const toast = useToast();
17564
- const [isPrinting, setIsPrinting] = React__default.useState(false);
17680
+ const [isCurrentlyPrinting, setIsCurrentlyPrinting] = React__default.useState(false);
17565
17681
  const [showWarningDialog, setShowWarningDialog] = React__default.useState(false);
17566
17682
  const loadingToastRef = React__default.useRef(null);
17567
17683
  const buttonRef = React__default.useRef(null);
17568
17684
  const tableMeta = table.options.meta;
17569
17685
  const state = table.getState();
17570
17686
  const {
17571
- printWarningDialogVisibility
17687
+ isWarningVisibleForLargeDatasets
17572
17688
  } = tableMeta.printing;
17573
17689
  // When changing printTableId, update packages/taco/src/components/Table3/Table3.tsx file and other usages where
17574
17690
  // printTableId is used to figure out whether the table is a print table or not.
@@ -17621,8 +17737,8 @@ function PrintButton(props) {
17621
17737
  const restoreTableDataWithoutSearch = function () {
17622
17738
  try {
17623
17739
  const _temp = _catch(function () {
17624
- var _tableMeta$printing$l, _tableMeta$printing;
17625
- return Promise.resolve((_tableMeta$printing$l = (_tableMeta$printing = tableMeta.printing).loadAll) === null || _tableMeta$printing$l === void 0 ? void 0 : _tableMeta$printing$l.call(_tableMeta$printing, table.getState().sorting, table.getState().columnFilters, undefined)).then(function () {});
17740
+ var _tableMeta$server$loa, _tableMeta$server;
17741
+ return Promise.resolve((_tableMeta$server$loa = (_tableMeta$server = tableMeta.server).loadAll) === null || _tableMeta$server$loa === void 0 ? void 0 : _tableMeta$server$loa.call(_tableMeta$server, table.getState().sorting, table.getState().columnFilters, undefined)).then(function () {});
17626
17742
  }, function (error) {
17627
17743
  handleLoadingError(error);
17628
17744
  });
@@ -17635,11 +17751,11 @@ function PrintButton(props) {
17635
17751
  try {
17636
17752
  function _temp3() {
17637
17753
  var _loadingToastRef$curr2;
17638
- setIsPrinting(false);
17754
+ setIsCurrentlyPrinting(false);
17639
17755
  (_loadingToastRef$curr2 = loadingToastRef.current) === null || _loadingToastRef$curr2 === void 0 ? void 0 : _loadingToastRef$curr2.close();
17640
17756
  }
17641
17757
  const _temp2 = function () {
17642
- if (tableMeta.printing.loadAll && excludeUnmatchedResults) {
17758
+ if (tableMeta.server.loadAll && excludeUnmatchedResults) {
17643
17759
  return Promise.resolve(restoreTableDataWithoutSearch()).then(function () {});
17644
17760
  }
17645
17761
  }();
@@ -17657,11 +17773,11 @@ function PrintButton(props) {
17657
17773
  let _exit = false;
17658
17774
  function _temp6(_result3) {
17659
17775
  if (_exit) return _result3;
17660
- if (hasNonSafeCellCount && printWarningDialogVisibility) {
17776
+ if (hasNonSafeCellCount && isWarningVisibleForLargeDatasets) {
17661
17777
  setShowWarningDialog(true);
17662
17778
  } else {
17663
17779
  // only set printing (mount the iframe) when the data has loaded, it prevents repaint performance slow downs
17664
- setIsPrinting(true);
17780
+ setIsCurrentlyPrinting(true);
17665
17781
  }
17666
17782
  }
17667
17783
  loadingToastRef.current = toast.loading(texts.table3.print.loading);
@@ -17670,7 +17786,7 @@ function PrintButton(props) {
17670
17786
  // if loadAll is not defined, just print with what we've got
17671
17787
  // don't compare length to data.length because the api might be choosing not to return all for performance
17672
17788
  const _temp5 = function () {
17673
- if (!tableMeta.printing.loadAll) {
17789
+ if (!tableMeta.server.loadAll) {
17674
17790
  const {
17675
17791
  data
17676
17792
  } = tableProps;
@@ -17678,7 +17794,7 @@ function PrintButton(props) {
17678
17794
  hasNonSafeCellCount = cellCount > SAFE_PRINT_CELL_COUNT;
17679
17795
  } else {
17680
17796
  const _temp4 = _catch(function () {
17681
- return Promise.resolve(tableMeta.printing.loadAll(table.getState().sorting, table.getState().columnFilters,
17797
+ return Promise.resolve(tableMeta.server.loadAll(table.getState().sorting, table.getState().columnFilters,
17682
17798
  // We need to pass search query to the server when printing, to be able to render correct data set in iFrame,
17683
17799
  // But in "display" table, search is performed only on client side, so we'll need to request data again without search query,
17684
17800
  // when printing will be finished.
@@ -17705,12 +17821,12 @@ function PrintButton(props) {
17705
17821
  }
17706
17822
  };
17707
17823
  const handleWarningDialogAccept = () => {
17708
- setIsPrinting(true);
17824
+ setIsCurrentlyPrinting(true);
17709
17825
  };
17710
17826
  const handleWarningDialogCancel = function () {
17711
17827
  try {
17712
17828
  const _temp7 = function () {
17713
- if (tableMeta.printing.loadAll && excludeUnmatchedResults) {
17829
+ if (tableMeta.server.loadAll && excludeUnmatchedResults) {
17714
17830
  return Promise.resolve(restoreTableDataWithoutSearch()).then(function () {});
17715
17831
  }
17716
17832
  }();
@@ -17725,22 +17841,22 @@ function PrintButton(props) {
17725
17841
  setShowWarningDialog(false);
17726
17842
  };
17727
17843
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(IconButton, {
17728
- disabled: isPrinting,
17844
+ disabled: isCurrentlyPrinting,
17729
17845
  icon: "print",
17730
17846
  onClick: handlePrint,
17731
17847
  "aria-label": texts.table3.print.tooltip,
17732
17848
  tooltip: texts.table3.print.tooltip,
17733
17849
  ref: buttonRef
17734
- }), isPrinting && iframeTableProps.data !== null && /*#__PURE__*/React__default.createElement(PrintIFrame, {
17850
+ }), isCurrentlyPrinting && iframeTableProps.data !== null && ( /*#__PURE__*/React__default.createElement(PrintIFrame, {
17735
17851
  onAfterPrint: handleAfterPrint,
17736
17852
  onBeforePrint: handleBeforePrint,
17737
17853
  tableProps: iframeTableProps
17738
- }), /*#__PURE__*/React__default.createElement(WarningDialog, {
17854
+ })), /*#__PURE__*/React__default.createElement(WarningDialog, {
17739
17855
  open: showWarningDialog,
17740
17856
  onAccept: handleWarningDialogAccept,
17741
17857
  onClose: handleWarningDialogClose,
17742
17858
  onCancel: handleWarningDialogCancel,
17743
- onVisibilityChange: tableMeta.printing.setPrintWarningDialogVisibility
17859
+ onVisibilityChange: tableMeta.printing.setIsWarningVisibleForLargeDatasets
17744
17860
  }));
17745
17861
  }
17746
17862
 
@@ -17948,17 +18064,17 @@ function ColumnSettingsPopover(props) {
17948
18064
  })) {
17949
18065
  return;
17950
18066
  }
17951
- table.setColumnOrder(currentOrder => ensureOrdering(allColumns, SortablePrimitive.arrayMove(currentOrder, currentOrder.findIndex(c => c === activeId), currentOrder.findIndex(c => c === overId))));
18067
+ table.setColumnOrder(currentOrder => ensureOrdering(allColumns, [COLUMN_ID, COLUMN_ID$1], SortablePrimitive.arrayMove(currentOrder, currentOrder.findIndex(c => c === activeId), currentOrder.findIndex(c => c === overId))));
17952
18068
  };
17953
18069
  return /*#__PURE__*/React__default.createElement(Popover, Object.assign({}, popoverProps, {
17954
18070
  anchor: trigger
17955
18071
  }), /*#__PURE__*/React__default.createElement(Popover.Content, null, /*#__PURE__*/React__default.createElement("div", {
17956
18072
  className: "flex max-w-sm flex-col gap-2"
17957
- }, table.options.enableHiding ? /*#__PURE__*/React__default.createElement(Input, {
18073
+ }, table.options.enableHiding ? ( /*#__PURE__*/React__default.createElement(Input, {
17958
18074
  onChange: event => setQuery(event.target.value),
17959
18075
  placeholder: texts.table3.columnSettings.search,
17960
18076
  value: query
17961
- }) : null, tableMeta.columnOrdering.isEnabled && columns.length && !(query !== null && query !== void 0 && query.length) ? /*#__PURE__*/React__default.createElement(Container, {
18077
+ })) : null, tableMeta.columnOrdering.isEnabled && columns.length && !(query !== null && query !== void 0 && query.length) ? ( /*#__PURE__*/React__default.createElement(Container, {
17962
18078
  reorder: handleReorder
17963
18079
  }, /*#__PURE__*/React__default.createElement(List$1, {
17964
18080
  id: "columns",
@@ -17974,12 +18090,12 @@ function ColumnSettingsPopover(props) {
17974
18090
  column: column,
17975
18091
  draggable: (_column$columnDef$met5 = column.columnDef.meta) === null || _column$columnDef$met5 === void 0 ? void 0 : _column$columnDef$met5.enableOrdering
17976
18092
  }));
17977
- }))) : /*#__PURE__*/React__default.createElement("div", {
18093
+ })))) : ( /*#__PURE__*/React__default.createElement("div", {
17978
18094
  className: listClassName
17979
18095
  }, columns.length ? columns.map(column => /*#__PURE__*/React__default.createElement(Column$1, {
17980
18096
  column: column,
17981
18097
  key: column.id
17982
- })) : texts.table3.columnSettings.noResults))));
18098
+ })) : texts.table3.columnSettings.noResults)))));
17983
18099
  }
17984
18100
 
17985
18101
  function SettingsButton(props) {
@@ -18000,11 +18116,11 @@ function SettingsButton(props) {
18000
18116
  case 'columnSettings':
18001
18117
  {
18002
18118
  if (hasColumnSettings) {
18003
- popoverElement = props => /*#__PURE__*/React__default.createElement(ColumnSettingsPopover, Object.assign({}, props, {
18119
+ popoverElement = props => ( /*#__PURE__*/React__default.createElement(ColumnSettingsPopover, Object.assign({}, props, {
18004
18120
  open: true,
18005
18121
  onChange: handleClosePopover,
18006
18122
  table: table
18007
- }));
18123
+ })));
18008
18124
  }
18009
18125
  }
18010
18126
  }
@@ -18012,25 +18128,25 @@ function SettingsButton(props) {
18012
18128
  return /*#__PURE__*/React__default.createElement(IconButton, {
18013
18129
  "aria-label": texts.table3.otherOptions.tooltip,
18014
18130
  icon: "sliders",
18015
- menu: popoverElement ? undefined : menuProps => /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, {
18131
+ menu: popoverElement ? undefined : menuProps => ( /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, {
18016
18132
  align: "end"
18017
- }, table.options.enableHiding || tableMeta.columnOrdering.isEnabled ? /*#__PURE__*/React__default.createElement(Menu$1.Item, {
18133
+ }, table.options.enableHiding || tableMeta.columnOrdering.isEnabled ? ( /*#__PURE__*/React__default.createElement(Menu$1.Item, {
18018
18134
  icon: "columns",
18019
18135
  onClick: () => setPopover('columnSettings')
18020
- }, texts.table3.columnSettings.button) : null, tableMeta.rowHeight.isEnabled || tableMeta.fontSize.isEnabled ? /*#__PURE__*/React__default.createElement(Menu$1.Separator, null) : null, tableMeta.rowHeight.isEnabled ? /*#__PURE__*/React__default.createElement(Menu$1.Item, {
18136
+ }, texts.table3.columnSettings.button)) : null, tableMeta.rowHeight.isEnabled || tableMeta.fontSize.isEnabled ? /*#__PURE__*/React__default.createElement(Menu$1.Separator, null) : null, tableMeta.rowHeight.isEnabled ? ( /*#__PURE__*/React__default.createElement(Menu$1.Item, {
18021
18137
  icon: `height-${tableMeta.rowHeight.height}`,
18022
18138
  subMenu: () => /*#__PURE__*/React__default.createElement(RowHeight, {
18023
18139
  table: table
18024
18140
  })
18025
- }, texts.table3.rowHeight.tooltip) : null, tableMeta.fontSize.isEnabled ? /*#__PURE__*/React__default.createElement(Menu$1.Item, {
18141
+ }, texts.table3.rowHeight.tooltip)) : null, tableMeta.fontSize.isEnabled ? ( /*#__PURE__*/React__default.createElement(Menu$1.Item, {
18026
18142
  icon: "font-size",
18027
18143
  subMenu: () => /*#__PURE__*/React__default.createElement(FontSize$1, {
18028
18144
  table: table
18029
18145
  })
18030
- }, texts.table3.fontSize.tooltip) : null, customSettings ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Menu$1.Separator, null), customSettings.map(customSetting => {
18146
+ }, texts.table3.fontSize.tooltip)) : null, customSettings ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Menu$1.Separator, null), customSettings.map(customSetting => {
18031
18147
  const props = tableMeta.getSettings();
18032
18148
  return customSetting(props);
18033
- })) : null)),
18149
+ }))) : null))),
18034
18150
  popover: popoverElement,
18035
18151
  onClickCapture: event => event.preventDefault(),
18036
18152
  tooltip: texts.table3.otherOptions.tooltip
@@ -18155,7 +18271,6 @@ const getCellHeightPadding = (height, fontSize) => {
18155
18271
  // py-1.5
18156
18272
  }
18157
18273
  }
18158
-
18159
18274
  case 'tall':
18160
18275
  {
18161
18276
  switch (fontSize) {
@@ -18202,7 +18317,6 @@ const getCellWidthPadding = fontSize => {
18202
18317
  // py-1.5
18203
18318
  }
18204
18319
  };
18205
-
18206
18320
  const useCssVars = (height, fontSize) => {
18207
18321
  const style = {
18208
18322
  '--table3-cell-padding-x': getCellWidthPadding(fontSize),
@@ -18268,7 +18382,7 @@ function ErrorAlert(props) {
18268
18382
  };
18269
18383
  // Navigate to row and focus first invalid cell
18270
18384
  const navigateToRow = rowIndex => {
18271
- tableMeta.currentRow.setCurrentRowIndex(rowIndex);
18385
+ tableMeta.rowActive.setRowActiveIndex(rowIndex);
18272
18386
  scrollToIndex(rowIndex, {
18273
18387
  align: 'center'
18274
18388
  });
@@ -18319,7 +18433,7 @@ function ErrorAlert(props) {
18319
18433
  const getCoreRow = React__default.useCallback(rowId => coreRows.find(coreRow => coreRow.id === rowId), [coreRows]);
18320
18434
  return /*#__PURE__*/React__default.createElement("div", {
18321
18435
  className: "mb-4"
18322
- }, errorsRowIds.length ? /*#__PURE__*/React__default.createElement(Alert, {
18436
+ }, errorsRowIds.length ? ( /*#__PURE__*/React__default.createElement(Alert, {
18323
18437
  state: "error",
18324
18438
  className: "mb-1"
18325
18439
  }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("b", null, errorsRowIds.length, " ", texts.table3.validation.alert.unsavedEntries(errorsRowIds.length)), ' '), rowIdentifierHeader || texts.table3.validation.index, ' ', errorsRowIds.map((rowId, index) => {
@@ -18334,7 +18448,7 @@ function ErrorAlert(props) {
18334
18448
  }, rowIdentifier ? coreRow === null || coreRow === void 0 ? void 0 : coreRow.original[rowIdentifier] : coreRow === null || coreRow === void 0 ? void 0 : coreRow.index), /*#__PURE__*/React__default.createElement("span", {
18335
18449
  key: `${rowId}_comma`
18336
18450
  }, index < errorsRowIds.length - 1 ? ',' : ''));
18337
- }), texts.table3.validation.alert.incompleteAndHavntBeenSaved(errorsRowIds.length)) : null, /*#__PURE__*/React__default.createElement(FilterResetDialog, {
18451
+ }), texts.table3.validation.alert.incompleteAndHavntBeenSaved(errorsRowIds.length))) : null, /*#__PURE__*/React__default.createElement(FilterResetDialog, {
18338
18452
  open: resetFiltersConfirmationOpen,
18339
18453
  onClose: () => {
18340
18454
  setResetFiltersConfirmationOpen(false);
@@ -18376,6 +18490,8 @@ function FilterResetDialog(props) {
18376
18490
  }, texts.table3.validation.resetFiltersDialog.confirm)))));
18377
18491
  }
18378
18492
 
18493
+ const fixedForwardRef = React__default.forwardRef;
18494
+
18379
18495
  function useTable3DataLoader(fetch, fetchAll, options = {
18380
18496
  pageSize: 100
18381
18497
  }) {
@@ -18509,21 +18625,19 @@ function Group$4(_) {
18509
18625
  return null;
18510
18626
  }
18511
18627
  Group$4.displayName = 'Table3Group';
18512
- // Cast the old forwardRef to the new one
18513
- const fixedForwardRef = React__default.forwardRef;
18514
18628
  const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
18515
18629
  const {
18516
18630
  emptyState: EmptyState,
18517
18631
  customSettings,
18518
18632
  toolbarLeft,
18519
18633
  toolbarRight,
18520
- defaultCurrentRowIndex
18634
+ defaultCurrentRowIndex: defaultRowActiveIndex
18521
18635
  } = props;
18522
18636
  const internalRef = useMergedRef(ref);
18523
18637
  const {
18524
18638
  table,
18525
18639
  length
18526
- } = useTable$1(props);
18640
+ } = useTable$1(props, internalRef);
18527
18641
  useTableRefInstanceSetup(table, internalRef);
18528
18642
  React__default.useEffect(() => {
18529
18643
  if (props.autoFocus) {
@@ -18542,8 +18656,8 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
18542
18656
  // On a very first render, the tanstack table rendered without any rows,
18543
18657
  // so we delaying default row scrolling logic with using of requestAnimation frame
18544
18658
  const animationFrameId = requestAnimationFrame(() => {
18545
- if (defaultCurrentRowIndex) {
18546
- scrollToIndex(defaultCurrentRowIndex, {
18659
+ if (defaultRowActiveIndex) {
18660
+ scrollToIndex(defaultRowActiveIndex, {
18547
18661
  align: 'center'
18548
18662
  });
18549
18663
  }
@@ -18562,9 +18676,12 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
18562
18676
  if (eventOriginatedFromCombobox || dialog && !(dialog !== null && dialog !== void 0 && dialog.contains(internalRef.current)) || tableMeta.shortcutsState.isPaused) {
18563
18677
  return;
18564
18678
  }
18565
- tableMeta.hoverState.handleKeyDown(event);
18566
- tableMeta.currentRow.handleKeyDown(event, table.getRowModel().rows.length, scrollToIndex, tableMeta.editing.isEditing, internalRef);
18567
- tableMeta.rowClick.handleKeyDown(event, table);
18679
+ const rows = table.getRowModel().rows;
18680
+ tableMeta.rowActive.handleKeyDown(event, rows.length, scrollToIndex, tableMeta.editing.isEditing ? undefined : internalRef);
18681
+ if (tableMeta.rowActive.rowActiveIndex !== undefined) {
18682
+ var _rows$tableMeta$rowAc;
18683
+ tableMeta.rowClick.handleKeyDown(event, (_rows$tableMeta$rowAc = rows[tableMeta.rowActive.rowActiveIndex]) === null || _rows$tableMeta$rowAc === void 0 ? void 0 : _rows$tableMeta$rowAc.original);
18684
+ }
18568
18685
  tableMeta.rowSelection.handleKeyDown(event, table);
18569
18686
  tableMeta.editing.handleKeyDown(event);
18570
18687
  };
@@ -18576,16 +18693,16 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
18576
18693
  // See https://github.com/e-conomic/taco/blob/dev/packages/taco/src/components/Table3/strategies/virtualised.tsx#L143
18577
18694
  // scrollToIndex function changes when row count changes, so it is important to update handlers with new
18578
18695
  // scrollToIndex function.
18579
- [scrollToIndex, tableMeta.editing.isEditing, internalRef.current]);
18696
+ [scrollToIndex, tableMeta.editing.isEditing, internalRef.current, tableMeta.rowActive.rowActiveIndex]);
18580
18697
  const handleBlur = tableMeta.editing.isEnabled ? event => {
18581
18698
  tableMeta.editing.handleBlur(event);
18582
18699
  } : undefined;
18583
- const handleFocus = tableMeta.currentRow.currentRowIndex === undefined ? event => {
18584
- tableMeta.currentRow.handleFocus(event, table.getRowModel().rows.length, scrollToIndex);
18700
+ const handleFocus = tableMeta.rowActive.rowActiveIndex === undefined ? event => {
18701
+ tableMeta.rowActive.handleFocus(event, table.getRowModel().rows.length, scrollToIndex);
18585
18702
  } : undefined;
18586
18703
  // mouse capture fires before focus, so we can prevent propagation and stop double setting of the active row
18587
- const handleMouseCapture = tableMeta.currentRow.currentRowIndex === undefined ? event => {
18588
- tableMeta.currentRow.handleMouseCapture(event, table.getRowModel().rows.length);
18704
+ const handleMouseCapture = tableMeta.rowActive.rowActiveIndex === undefined ? event => {
18705
+ tableMeta.rowActive.handleMouseCapture(event, table.getRowModel().rows.length);
18589
18706
  } : undefined;
18590
18707
  const handleScroll = function (event) {
18591
18708
  try {
@@ -18604,7 +18721,7 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
18604
18721
  // if the table is a print table or not.
18605
18722
  const {
18606
18723
  style: cssGridStyle
18607
- } = useCssGrid(table, tableMeta.isPrinting, tableMeta.rowActions.actionsForRowLength, tableMeta.fontSize.size);
18724
+ } = useCssGrid(table, tableMeta.printing.isPrinting, tableMeta.rowActions.actionsForRowLength, tableMeta.fontSize.size);
18608
18725
  const {
18609
18726
  style: cssVars
18610
18727
  } = useCssVars(tableMeta.rowHeight.height, tableMeta.fontSize.size);
@@ -18618,12 +18735,11 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
18618
18735
  const columnFreezingStyle = useColumnFreezingStyle(props.id, table);
18619
18736
  const headerOffsetStyle = useHeaderOffsetStyle(props.id, table);
18620
18737
  const isServerLoadingAndNotReady = tableMeta.isUsingServer && props.length === undefined;
18621
- const isPrinting = tableMeta.isPrinting;
18622
18738
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, columnFreezingStyle ? /*#__PURE__*/React__default.createElement("style", {
18623
18739
  "data-taco": "table3-column-freezing-styles"
18624
- }, columnFreezingStyle) : null, headerOffsetStyle && !isPrinting ? /*#__PURE__*/React__default.createElement("style", {
18740
+ }, columnFreezingStyle) : null, headerOffsetStyle && !tableMeta.printing.isPrinting ? ( /*#__PURE__*/React__default.createElement("style", {
18625
18741
  "data-taco": "table3-column-header-offset-styles"
18626
- }, headerOffsetStyle) : null, /*#__PURE__*/React__default.createElement(Toolbar, {
18742
+ }, headerOffsetStyle)) : null, /*#__PURE__*/React__default.createElement(Toolbar, {
18627
18743
  table: table,
18628
18744
  tableProps: props,
18629
18745
  total: length,
@@ -18642,7 +18758,7 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
18642
18758
  "data-font-size": tableMeta.fontSize.size,
18643
18759
  "data-editing": tableMeta.editing.isEditing,
18644
18760
  "data-horizontally-scrolled": tableMeta.columnFreezing.horizontallyScrolled,
18645
- "data-pause-hover": tableMeta === null || tableMeta === void 0 ? void 0 : tableMeta.hoverState.isPaused,
18761
+ "data-pause-hover": tableMeta === null || tableMeta === void 0 ? void 0 : tableMeta.rowActive.isHoverStatePaused,
18646
18762
  "data-resizing": !!state.columnSizingInfo.isResizingColumn,
18647
18763
  "data-taco": "table2",
18648
18764
  onBlur: handleBlur,
@@ -18652,11 +18768,11 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
18652
18768
  role: "table",
18653
18769
  style: style,
18654
18770
  tabIndex: -1
18655
- }, isServerLoadingAndNotReady ? null : /*#__PURE__*/React__default.createElement("div", {
18771
+ }, isServerLoadingAndNotReady ? null : ( /*#__PURE__*/React__default.createElement("div", {
18656
18772
  className: "group/header contents",
18657
18773
  "data-taco": "table2-header",
18658
18774
  role: "rowgroup"
18659
- }, table.getHeaderGroups().map(headerGroup => /*#__PURE__*/React__default.createElement("div", {
18775
+ }, table.getHeaderGroups().map(headerGroup => ( /*#__PURE__*/React__default.createElement("div", {
18660
18776
  className: "contents",
18661
18777
  key: headerGroup.id,
18662
18778
  role: "row"
@@ -18672,7 +18788,7 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
18672
18788
  scrollToIndex,
18673
18789
  hasSeparator
18674
18790
  }));
18675
- })))), table.getRowModel().rows.length ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(focus.FocusScope, {
18791
+ })))))), table.getRowModel().rows.length ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(focus.FocusScope, {
18676
18792
  autoFocus: tableMeta.editing.isEditing
18677
18793
  }, /*#__PURE__*/React__default.createElement("div", {
18678
18794
  onMouseDownCapture: handleMouseCapture,
@@ -18682,25 +18798,25 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
18682
18798
  ref: bodyRef
18683
18799
  }, renderBody())), /*#__PURE__*/React__default.createElement("div", {
18684
18800
  className: "border-grey-300 col-span-full translate-y-px border-t"
18685
- }), tableMeta.enableFooter ? /*#__PURE__*/React__default.createElement("div", {
18801
+ }), tableMeta.enableFooter ? ( /*#__PURE__*/React__default.createElement("div", {
18686
18802
  className: "group/footer contents",
18687
18803
  "data-taco": "table2-footer",
18688
18804
  role: "rowgroup"
18689
18805
  },
18690
18806
  // Render the footer cell only for individual columns, excluding column groups.
18691
- table.getFooterGroups().slice(0, 1).map(footerGroup => /*#__PURE__*/React__default.createElement("div", {
18807
+ table.getFooterGroups().slice(0, 1).map(footerGroup => ( /*#__PURE__*/React__default.createElement("div", {
18692
18808
  className: "contents",
18693
18809
  key: footerGroup.id,
18694
18810
  role: "row"
18695
- }, footerGroup.headers.map(footer => /*#__PURE__*/React__default.createElement(React__default.Fragment, {
18811
+ }, footerGroup.headers.map(footer => ( /*#__PURE__*/React__default.createElement(React__default.Fragment, {
18696
18812
  key: footer.id
18697
- }, reactTable$1.flexRender(footer.column.columnDef.footer, footer.getContext()))))), length ? /*#__PURE__*/React__default.createElement(Summary, {
18813
+ }, reactTable$1.flexRender(footer.column.columnDef.footer, footer.getContext()))))))), length ? ( /*#__PURE__*/React__default.createElement(Summary, {
18698
18814
  currentLength: table.getRowModel().rows.length,
18699
18815
  length: length,
18700
18816
  table: table
18701
- }) : null) : null) : /*#__PURE__*/React__default.createElement("div", {
18817
+ })) : null)) : null)) : ( /*#__PURE__*/React__default.createElement("div", {
18702
18818
  className: "col-span-full min-h-[theme(spacing.8)]"
18703
- }, EmptyState ? /*#__PURE__*/React__default.createElement(EmptyState, null) : null)));
18819
+ }, EmptyState ? /*#__PURE__*/React__default.createElement(EmptyState, null) : null))));
18704
18820
  });
18705
18821
  const Table3 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
18706
18822
  const stringifiedChildren = String(props.children);
@@ -18837,9 +18953,9 @@ const Tooltip$1 = ({
18837
18953
  className: "absolute top-0 right-0 mt-1 mr-1"
18838
18954
  })), step.title && /*#__PURE__*/React.createElement("h5", null, step.title), step.content, /*#__PURE__*/React.createElement(Group, {
18839
18955
  className: "mt-4 justify-end"
18840
- }, index > 0 && /*#__PURE__*/React.createElement(Button$1, Object.assign({}, backProps, {
18956
+ }, index > 0 && ( /*#__PURE__*/React.createElement(Button$1, Object.assign({}, backProps, {
18841
18957
  appearance: "discrete"
18842
- }), locale.back), /*#__PURE__*/React.createElement(Button$1, Object.assign({}, primaryProps, {
18958
+ }), locale.back)), /*#__PURE__*/React.createElement(Button$1, Object.assign({}, primaryProps, {
18843
18959
  appearance: "primary"
18844
18960
  }), continuous ? isLastStep ? `${locale.last} (${index + 1}/${size})` : `${locale.next} (${index + 1}/${size})` : locale.close)));
18845
18961
  };
@@ -18902,10 +19018,10 @@ const Tour = props => {
18902
19018
  floaterProps: {
18903
19019
  disableAnimation: true
18904
19020
  },
18905
- tooltipComponent: tooltipProps => /*#__PURE__*/React.createElement(Tooltip$1, Object.assign({}, tooltipProps, {
19021
+ tooltipComponent: tooltipProps => ( /*#__PURE__*/React.createElement(Tooltip$1, Object.assign({}, tooltipProps, {
18906
19022
  locale: tour,
18907
19023
  disableTourSkipOnEsc: disableTourSkipOnEsc
18908
- })),
19024
+ }))),
18909
19025
  locale: tour,
18910
19026
  spotlightPadding: 8,
18911
19027
  spotlightClicks: spotlightClicks,
@@ -18959,11 +19075,11 @@ const Link$1 = /*#__PURE__*/React__default.forwardRef(function Link(props, ref)
18959
19075
  tabIndex: 0
18960
19076
  }), icon ? /*#__PURE__*/React__default.createElement(Icon, {
18961
19077
  name: icon
18962
- }) : null, children, isNew ? /*#__PURE__*/React__default.createElement(Badge, {
19078
+ }) : null, children, isNew ? ( /*#__PURE__*/React__default.createElement(Badge, {
18963
19079
  color: "blue",
18964
19080
  small: true,
18965
19081
  className: "absolute right-0 top-0 -mr-2.5 -mt-1.5 !h-3 !px-0.5 text-[0.55rem] font-normal"
18966
- }, texts.header.new) : null);
19082
+ }, texts.header.new)) : null);
18967
19083
  if (tooltip) {
18968
19084
  return /*#__PURE__*/React__default.createElement(Tooltip, {
18969
19085
  title: tooltip
@@ -19159,10 +19275,10 @@ const AgreementItem = props => {
19159
19275
  title: agreement.name
19160
19276
  }, /*#__PURE__*/React__default.createElement("span", {
19161
19277
  className: "truncate"
19162
- }, agreement.name), ' ', agreement.secure ? /*#__PURE__*/React__default.createElement(Icon, {
19278
+ }, agreement.name), ' ', agreement.secure ? ( /*#__PURE__*/React__default.createElement(Icon, {
19163
19279
  name: "secure-tick",
19164
19280
  className: "ml-1 mt-0.5 mb-0.5 !h-4 !w-4 flex-shrink-0 flex-grow-0"
19165
- }) : null), /*#__PURE__*/React__default.createElement("span", {
19281
+ })) : null), /*#__PURE__*/React__default.createElement("span", {
19166
19282
  className: "text-grey-100 whitespace-nowrap text-xs"
19167
19283
  }, agreement.number, " ", agreement.userId, " ", /*#__PURE__*/React__default.createElement(AgreementBadge, {
19168
19284
  agreement: agreement
@@ -19248,10 +19364,10 @@ function AgreementSelector(props) {
19248
19364
  }, /*#__PURE__*/React__default.createElement(AgreementDisplay, {
19249
19365
  currentAgreement: currentAgreement,
19250
19366
  fallbackImageSrc: fallbackImageSrc
19251
- }, agreements ? /*#__PURE__*/React__default.createElement(Icon, {
19367
+ }, agreements ? ( /*#__PURE__*/React__default.createElement(Icon, {
19252
19368
  className: "ml-auto hidden flex-shrink-0 flex-grow-0 text-white xl:flex",
19253
19369
  name: open ? 'chevron-up' : 'chevron-down'
19254
- }) : null)), /*#__PURE__*/React__default.createElement(PopoverPrimitive.Content, {
19370
+ })) : null)), /*#__PURE__*/React__default.createElement(PopoverPrimitive.Content, {
19255
19371
  className: "z-[996] mt-2 flex h-[calc(100vh_-_theme(spacing.16))] w-64 flex-col gap-1 bg-blue-900"
19256
19372
  }, /*#__PURE__*/React__default.createElement(SearchInput, {
19257
19373
  autoFocus: true,
@@ -19273,10 +19389,10 @@ function AgreementSelector(props) {
19273
19389
  }, filterBySearchValue(search)(agreement) ? button : null, agreement.clients.filter(agreement => filterClientAgreement(agreement, search, filterBySearchValue(search))).map(clientAgreement => createAgreementButton(clientAgreement, fallbackImageSrc, handleChangeAgreement, isCurrentAgreement(clientAgreement, currentAgreement))));
19274
19390
  }
19275
19391
  return button;
19276
- })), handleAddAgreement ? /*#__PURE__*/React__default.createElement(Button$1, {
19392
+ })), handleAddAgreement ? ( /*#__PURE__*/React__default.createElement(Button$1, {
19277
19393
  className: "focus-visible:!yt-focus-dark my-1 mx-2 !h-9 shrink-0 !bg-white/[0.08] !text-white hover:!bg-white/[0.16]",
19278
19394
  onClick: handleAddAgreement
19279
- }, texts.header.addAgreement) : null, /*#__PURE__*/React__default.createElement("hr", {
19395
+ }, texts.header.addAgreement)) : null, /*#__PURE__*/React__default.createElement("hr", {
19280
19396
  className: "my-0 h-px w-full bg-white/[0.08]"
19281
19397
  }), /*#__PURE__*/React__default.createElement("a", {
19282
19398
  className: "focus-visible:yt-focus-dark mx-2 mb-2 flex h-8 shrink-0 items-center justify-center rounded text-white hover:cursor-pointer hover:text-white hover:underline focus-visible:outline-none",
@@ -19420,7 +19536,7 @@ const Sidebar = /*#__PURE__*/React__default.forwardRef(function LayoutSidebar(pr
19420
19536
  "aria-hidden": !isVisible,
19421
19537
  className: className,
19422
19538
  ref: ref
19423
- }), content), /*#__PURE__*/React__default.createElement(framerMotion.AnimatePresence, null, showBackdrop && /*#__PURE__*/React__default.createElement(SidebarBackdrop, {
19539
+ }), content), /*#__PURE__*/React__default.createElement(framerMotion.AnimatePresence, null, showBackdrop && ( /*#__PURE__*/React__default.createElement(SidebarBackdrop, {
19424
19540
  initial: {
19425
19541
  opacity: 0
19426
19542
  },
@@ -19432,7 +19548,7 @@ const Sidebar = /*#__PURE__*/React__default.forwardRef(function LayoutSidebar(pr
19432
19548
  },
19433
19549
  className: "z-[1]",
19434
19550
  onClick: () => setSidebarOpen(false)
19435
- })));
19551
+ }))));
19436
19552
  });
19437
19553
 
19438
19554
  const Top = props => {
@@ -19560,7 +19676,7 @@ const Link$2 = /*#__PURE__*/React__default.forwardRef(function Link(props, ref)
19560
19676
  name: icon
19561
19677
  }) : null, /*#__PURE__*/React__default.createElement("span", {
19562
19678
  className: "flex flex-grow items-center truncate"
19563
- }, children), menu ? /*#__PURE__*/React__default.createElement(IconButton, {
19679
+ }, children), menu ? ( /*#__PURE__*/React__default.createElement(IconButton, {
19564
19680
  appearance: "discrete",
19565
19681
  icon: "more",
19566
19682
  "aria-label": "More",
@@ -19573,12 +19689,12 @@ const Link$2 = /*#__PURE__*/React__default.forwardRef(function Link(props, ref)
19573
19689
  event.preventDefault();
19574
19690
  event.stopPropagation();
19575
19691
  }
19576
- }) : null, total !== undefined ? /*#__PURE__*/React__default.createElement(Badge, {
19692
+ })) : null, total !== undefined ? ( /*#__PURE__*/React__default.createElement(Badge, {
19577
19693
  className: cn('flex-shrink-0 flex-grow-0 !font-normal', {
19578
19694
  'group-hover:hidden [[aria-expanded="true"]+&]:hidden ': menu
19579
19695
  }),
19580
19696
  color: "transparent"
19581
- }, total) : null));
19697
+ }, total)) : null));
19582
19698
  });
19583
19699
 
19584
19700
  const Section = /*#__PURE__*/React__default.forwardRef(function Navigation2(props, ref) {
@@ -19593,9 +19709,9 @@ const Section = /*#__PURE__*/React__default.forwardRef(function Navigation2(prop
19593
19709
  "data-taco": "navigation2-section",
19594
19710
  ref: ref,
19595
19711
  role: "none"
19596
- }), heading ? /*#__PURE__*/React__default.createElement("span", {
19712
+ }), heading ? ( /*#__PURE__*/React__default.createElement("span", {
19597
19713
  className: "text-grey-500 mb-px truncate pl-5 text-xs font-bold uppercase leading-8 lg:hidden"
19598
- }, heading) : null, /*#__PURE__*/React__default.createElement("ul", {
19714
+ }, heading)) : null, /*#__PURE__*/React__default.createElement("ul", {
19599
19715
  className: "mb-0 flex flex-col gap-y-px"
19600
19716
  }, children));
19601
19717
  });