@economic/taco 2.45.0-alpha.0 → 2.45.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/dist/charts/components/Area/AreaChart.d.ts +19 -0
  2. package/dist/charts/components/Bar/BarChart.d.ts +20 -0
  3. package/dist/charts/components/Donut/ActiveShape.d.ts +8 -0
  4. package/dist/charts/components/Donut/CenteredLabel.d.ts +11 -0
  5. package/dist/charts/components/Donut/DonutChart.d.ts +21 -0
  6. package/dist/charts/components/Donut/Legend.d.ts +13 -0
  7. package/dist/charts/components/Donut/util.d.ts +2 -0
  8. package/dist/charts/components/Legend.d.ts +16 -0
  9. package/dist/charts/components/Line/LineChart.d.ts +18 -0
  10. package/dist/charts/components/ResponsiveContainer.d.ts +5 -0
  11. package/dist/charts/components/Tooltip.d.ts +10 -0
  12. package/dist/charts/components/types.d.ts +5 -0
  13. package/dist/charts/utils/color.d.ts +3 -0
  14. package/dist/charts/utils/common.d.ts +37 -0
  15. package/dist/components/Alert/Alert.d.ts +1 -1
  16. package/dist/components/Banner/util.d.ts +0 -1
  17. package/dist/components/Icon/components/Autopay.d.ts +3 -0
  18. package/dist/components/Icon/components/AutopayPaused.d.ts +3 -0
  19. package/dist/components/Icon/components/Experiment.d.ts +3 -0
  20. package/dist/components/Icon/components/Person.d.ts +3 -0
  21. package/dist/components/Icon/components/PersonSolid.d.ts +3 -0
  22. package/dist/components/Icon/components/Wallet.d.ts +3 -0
  23. package/dist/components/Icon/components/index.d.ts +1 -1
  24. package/dist/components/Input/Input.d.ts +1 -1
  25. package/dist/components/Layout/components/Top.d.ts +3 -3
  26. package/dist/components/Menu/components/Item.d.ts +1 -1
  27. package/dist/components/Menu/components/Link.d.ts +1 -1
  28. package/dist/components/Navigation2/components/Link.d.ts +1 -1
  29. package/dist/components/Pagination/PageNumbers.d.ts +0 -1
  30. package/dist/components/Popover/Popover.d.ts +1 -1
  31. package/dist/components/Provider/Localization.d.ts +2 -0
  32. package/dist/components/RadioGroup/RadioGroup.d.ts +3 -3
  33. package/dist/components/Report/Report.d.ts +1 -1
  34. package/dist/components/Select2/components/Option.d.ts +4 -4
  35. package/dist/components/Select2/components/Search.d.ts +1 -7
  36. package/dist/components/Select2/utilities.d.ts +2 -0
  37. package/dist/components/Table3/Table3.d.ts +2 -14
  38. package/dist/components/Table3/components/Columns/Cell/EditingDisplayCell.d.ts +0 -1
  39. package/dist/components/Table3/components/Columns/Internal/EditingActionsMenu.d.ts +3 -4
  40. package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.d.ts +7 -0
  41. package/dist/components/Table3/components/Row/Editing/CreateNewRow.d.ts +13 -0
  42. package/dist/components/Table3/components/Row/Editing/TemporaryRow.d.ts +12 -0
  43. package/dist/components/Table3/features/useEditingState.d.ts +29 -0
  44. package/dist/components/Table3/features/useTableEditing.d.ts +28 -37
  45. package/dist/components/Table3/listeners/useTableEditingListener.d.ts +1 -1
  46. package/dist/components/Table3/types.d.ts +24 -8
  47. package/dist/components/Table3/useTable3.d.ts +6 -0
  48. package/dist/components/Table3/util/editing.d.ts +10 -1
  49. package/dist/components/Tag/Tag.d.ts +1 -1
  50. package/dist/esm/index.css +76 -10
  51. package/dist/esm/packages/taco/src/charts/components/Area/AreaChart.js +67 -0
  52. package/dist/esm/packages/taco/src/charts/components/Area/AreaChart.js.map +1 -0
  53. package/dist/esm/packages/taco/src/charts/components/Bar/BarChart.js +120 -0
  54. package/dist/esm/packages/taco/src/charts/components/Bar/BarChart.js.map +1 -0
  55. package/dist/esm/packages/taco/src/charts/components/Donut/ActiveShape.js +47 -0
  56. package/dist/esm/packages/taco/src/charts/components/Donut/ActiveShape.js.map +1 -0
  57. package/dist/esm/packages/taco/src/charts/components/Donut/CenteredLabel.js +27 -0
  58. package/dist/esm/packages/taco/src/charts/components/Donut/CenteredLabel.js.map +1 -0
  59. package/dist/esm/packages/taco/src/charts/components/Donut/DonutChart.js +170 -0
  60. package/dist/esm/packages/taco/src/charts/components/Donut/DonutChart.js.map +1 -0
  61. package/dist/esm/packages/taco/src/charts/components/Donut/Legend.js +164 -0
  62. package/dist/esm/packages/taco/src/charts/components/Donut/Legend.js.map +1 -0
  63. package/dist/esm/packages/taco/src/charts/components/Donut/util.js +5 -0
  64. package/dist/esm/packages/taco/src/charts/components/Donut/util.js.map +1 -0
  65. package/dist/esm/packages/taco/src/charts/components/Legend.js +145 -0
  66. package/dist/esm/packages/taco/src/charts/components/Legend.js.map +1 -0
  67. package/dist/esm/packages/taco/src/charts/components/Line/LineChart.js +65 -0
  68. package/dist/esm/packages/taco/src/charts/components/Line/LineChart.js.map +1 -0
  69. package/dist/esm/packages/taco/src/charts/components/ResponsiveContainer.js +10 -0
  70. package/dist/esm/packages/taco/src/charts/components/ResponsiveContainer.js.map +1 -0
  71. package/dist/esm/packages/taco/src/charts/components/Tooltip.js +44 -0
  72. package/dist/esm/packages/taco/src/charts/components/Tooltip.js.map +1 -0
  73. package/dist/esm/packages/taco/src/charts/utils/color.js +24 -0
  74. package/dist/esm/packages/taco/src/charts/utils/color.js.map +1 -0
  75. package/dist/esm/packages/taco/src/charts/utils/common.js +34 -0
  76. package/dist/esm/packages/taco/src/charts/utils/common.js.map +1 -0
  77. package/dist/esm/packages/taco/src/components/Accordion/Accordion.js +6 -14
  78. package/dist/esm/packages/taco/src/components/Accordion/Accordion.js.map +1 -1
  79. package/dist/esm/packages/taco/src/components/Alert/Alert.js +2 -0
  80. package/dist/esm/packages/taco/src/components/Alert/Alert.js.map +1 -1
  81. package/dist/esm/packages/taco/src/components/Badge/Badge.js +9 -6
  82. package/dist/esm/packages/taco/src/components/Badge/Badge.js.map +1 -1
  83. package/dist/esm/packages/taco/src/components/Banner/util.js +5 -0
  84. package/dist/esm/packages/taco/src/components/Banner/util.js.map +1 -1
  85. package/dist/esm/packages/taco/src/components/Button/Button.js +2 -1
  86. package/dist/esm/packages/taco/src/components/Button/Button.js.map +1 -1
  87. package/dist/esm/packages/taco/src/components/Button/util.js +1 -1
  88. package/dist/esm/packages/taco/src/components/Button/util.js.map +1 -1
  89. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +8 -5
  90. package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
  91. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +1 -0
  92. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
  93. package/dist/esm/packages/taco/src/components/Dialog/Dialog.js.map +1 -1
  94. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js +2 -4
  95. package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js.map +1 -1
  96. package/dist/esm/packages/taco/src/components/Icon/components/Autopay.js +19 -0
  97. package/dist/esm/packages/taco/src/components/Icon/components/Autopay.js.map +1 -0
  98. package/dist/esm/packages/taco/src/components/Icon/components/AutopayPaused.js +19 -0
  99. package/dist/esm/packages/taco/src/components/Icon/components/AutopayPaused.js.map +1 -0
  100. package/dist/esm/packages/taco/src/components/Icon/components/Experiment.js +20 -0
  101. package/dist/esm/packages/taco/src/components/Icon/components/Experiment.js.map +1 -0
  102. package/dist/esm/packages/taco/src/components/Icon/components/Person.js +19 -0
  103. package/dist/esm/packages/taco/src/components/Icon/components/Person.js.map +1 -0
  104. package/dist/esm/packages/taco/src/components/Icon/components/PersonSolid.js +19 -0
  105. package/dist/esm/packages/taco/src/components/Icon/components/PersonSolid.js.map +1 -0
  106. package/dist/esm/packages/taco/src/components/Icon/components/Wallet.js +19 -0
  107. package/dist/esm/packages/taco/src/components/Icon/components/Wallet.js.map +1 -0
  108. package/dist/esm/packages/taco/src/components/Icon/components/index.js +12 -0
  109. package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
  110. package/dist/esm/packages/taco/src/components/Input/util.js +1 -1
  111. package/dist/esm/packages/taco/src/components/Input/util.js.map +1 -1
  112. package/dist/esm/packages/taco/src/components/Layout/components/Top.js +2 -2
  113. package/dist/esm/packages/taco/src/components/Layout/components/Top.js.map +1 -1
  114. package/dist/esm/packages/taco/src/components/Listbox/util.js +1 -7
  115. package/dist/esm/packages/taco/src/components/Listbox/util.js.map +1 -1
  116. package/dist/esm/packages/taco/src/components/Menu/components/Content.js +5 -0
  117. package/dist/esm/packages/taco/src/components/Menu/components/Content.js.map +1 -1
  118. package/dist/esm/packages/taco/src/components/ModeSwitch/ModeSwitch.js +2 -2
  119. package/dist/esm/packages/taco/src/components/ModeSwitch/ModeSwitch.js.map +1 -1
  120. package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
  121. package/dist/esm/packages/taco/src/components/Provider/Localization.js +5 -3
  122. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  123. package/dist/esm/packages/taco/src/components/RadioGroup/RadioGroup.js.map +1 -1
  124. package/dist/esm/packages/taco/src/components/Select2/Select2.js +50 -45
  125. package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
  126. package/dist/esm/packages/taco/src/components/Select2/components/Option.js +8 -6
  127. package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
  128. package/dist/esm/packages/taco/src/components/Select2/components/Search.js +3 -13
  129. package/dist/esm/packages/taco/src/components/Select2/components/Search.js.map +1 -1
  130. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +75 -20
  131. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
  132. package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js +1 -10
  133. package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js.map +1 -1
  134. package/dist/esm/packages/taco/src/components/Select2/utilities.js +11 -1
  135. package/dist/esm/packages/taco/src/components/Select2/utilities.js.map +1 -1
  136. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js +1 -1
  137. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
  138. package/dist/esm/packages/taco/src/components/Switch/Switch.js +1 -1
  139. package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
  140. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowSelect.js.map +1 -1
  141. package/dist/esm/packages/taco/src/components/Table3/Table3.js +22 -7
  142. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  143. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js +1 -2
  144. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js.map +1 -1
  145. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js +42 -14
  146. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
  147. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Internal/EditingActionsMenu.js +7 -39
  148. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Internal/EditingActionsMenu.js.map +1 -1
  149. package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js +19 -12
  150. package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js.map +1 -1
  151. package/dist/esm/packages/taco/src/components/Table3/components/Editing/DiscardChangesConfirmationDialog.js +34 -0
  152. package/dist/esm/packages/taco/src/components/Table3/components/Editing/DiscardChangesConfirmationDialog.js.map +1 -0
  153. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateNewRow.js +73 -0
  154. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateNewRow.js.map +1 -0
  155. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/SaveStatus.js +2 -14
  156. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/SaveStatus.js.map +1 -1
  157. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/TemporaryRow.js +96 -0
  158. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/TemporaryRow.js.map +1 -0
  159. package/dist/esm/packages/taco/src/components/Table3/components/Row/Row.js +39 -6
  160. package/dist/esm/packages/taco/src/components/Table3/components/Row/Row.js.map +1 -1
  161. package/dist/esm/packages/taco/src/components/Table3/components/Toolbar/Editing/Editing.js +4 -17
  162. package/dist/esm/packages/taco/src/components/Table3/components/Toolbar/Editing/Editing.js.map +1 -1
  163. package/dist/esm/packages/taco/src/components/Table3/features/useEditingState.js +527 -0
  164. package/dist/esm/packages/taco/src/components/Table3/features/useEditingState.js.map +1 -0
  165. package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js +71 -399
  166. package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js.map +1 -1
  167. package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js +44 -34
  168. package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js.map +1 -1
  169. package/dist/esm/packages/taco/src/components/Table3/useTable3.js +46 -14
  170. package/dist/esm/packages/taco/src/components/Table3/useTable3.js.map +1 -1
  171. package/dist/esm/packages/taco/src/components/Table3/util/editing.js +19 -23
  172. package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -1
  173. package/dist/esm/packages/taco/src/components/Tag/Tag.js +6 -4
  174. package/dist/esm/packages/taco/src/components/Tag/Tag.js.map +1 -1
  175. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js +1 -1
  176. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js.map +1 -1
  177. package/dist/esm/packages/taco/src/index.js +5 -1
  178. package/dist/esm/packages/taco/src/index.js.map +1 -1
  179. package/dist/esm/packages/taco/src/primitives/BubbleSelect.js +1 -1
  180. package/dist/esm/packages/taco/src/primitives/BubbleSelect.js.map +1 -1
  181. package/dist/esm/packages/taco/src/primitives/Collection/components/Root.js +20 -4
  182. package/dist/esm/packages/taco/src/primitives/Collection/components/Root.js.map +1 -1
  183. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Option.js +0 -4
  184. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Option.js.map +1 -1
  185. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Root.js +1 -0
  186. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Root.js.map +1 -1
  187. package/dist/esm/packages/taco/src/primitives/Sortable/components/Item.js.map +1 -1
  188. package/dist/esm/packages/taco/src/primitives/Table/Core/Table.js +13 -9
  189. package/dist/esm/packages/taco/src/primitives/Table/Core/Table.js.map +1 -1
  190. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/EmptyStateBody.js +15 -2
  191. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/EmptyStateBody.js.map +1 -1
  192. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js +30 -17
  193. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js.map +1 -1
  194. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Actions.js +9 -6
  195. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Actions.js.map +1 -1
  196. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Drag.js +7 -0
  197. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Drag.js.map +1 -1
  198. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Expansion.js +11 -0
  199. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Expansion.js.map +1 -1
  200. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js +3 -3
  201. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js.map +1 -1
  202. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Footer.js +7 -2
  203. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Footer.js.map +1 -1
  204. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js +6 -3
  205. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js.map +1 -1
  206. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/Row.js +6 -2
  207. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/Row.js.map +1 -1
  208. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/RowContext.js +2 -0
  209. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/RowContext.js.map +1 -1
  210. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/FilterContext.js +6 -0
  211. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/FilterContext.js.map +1 -0
  212. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js +5 -3
  213. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js.map +1 -1
  214. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js +0 -2
  215. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js.map +1 -1
  216. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.js +2 -1
  217. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.js.map +1 -1
  218. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.js +11 -2
  219. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.js.map +1 -1
  220. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Search/Search.js +1 -2
  221. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Search/Search.js.map +1 -1
  222. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js +34 -8
  223. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js.map +1 -1
  224. package/dist/esm/packages/taco/src/primitives/Table/Core/useTable.js +2 -2
  225. package/dist/esm/packages/taco/src/primitives/Table/Core/useTable.js.map +1 -1
  226. package/dist/esm/packages/taco/src/primitives/Table/types.js +1 -7
  227. package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -1
  228. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowExpansion.js +2 -1
  229. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowExpansion.js.map +1 -1
  230. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowSelection.js +2 -1
  231. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowSelection.js.map +1 -1
  232. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSearch.js +3 -3
  233. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSearch.js.map +1 -1
  234. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableServerLoading.js +12 -7
  235. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableServerLoading.js.map +1 -1
  236. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js +2 -1
  237. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js.map +1 -1
  238. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSearchListener.js +1 -1
  239. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSearchListener.js.map +1 -1
  240. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js +3 -3
  241. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js.map +1 -1
  242. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/dataTypes.js +6 -2
  243. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/dataTypes.js.map +1 -1
  244. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/presets.js +7 -1
  245. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/presets.js.map +1 -1
  246. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js +7 -1
  247. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js.map +1 -1
  248. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js +19 -3
  249. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -1
  250. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/sorting.js.map +1 -1
  251. package/dist/esm/packages/taco/src/types.js.map +1 -1
  252. package/dist/esm/packages/taco/src/utils/dom.js +35 -13
  253. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  254. package/dist/esm/packages/taco/src/utils/tailwind.js +2 -0
  255. package/dist/esm/packages/taco/src/utils/tailwind.js.map +1 -1
  256. package/dist/esm/packages/taco/tailwind.colors.js +122 -0
  257. package/dist/esm/packages/taco/tailwind.colors.js.map +1 -0
  258. package/dist/index.css +76 -10
  259. package/dist/index.d.ts +5 -0
  260. package/dist/primitives/Collection/components/Root.d.ts +3 -1
  261. package/dist/primitives/Table/Core/Table.d.ts +1 -0
  262. package/dist/primitives/Table/Core/components/Body/EmptyStateBody.d.ts +1 -0
  263. package/dist/primitives/Table/Core/components/Body/util.d.ts +4 -4
  264. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.d.ts +3 -1
  265. package/dist/primitives/Table/Core/components/Footer/Footer.d.ts +1 -1
  266. package/dist/primitives/Table/Core/components/Row/RowContext.d.ts +2 -0
  267. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/FilterContext.d.ts +3 -0
  268. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.d.ts +0 -1
  269. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.d.ts +0 -3
  270. package/dist/primitives/Table/Core/features/useTableRenderer.d.ts +2 -2
  271. package/dist/primitives/Table/Core/features/useTableStyle.d.ts +3 -3
  272. package/dist/primitives/Table/Core/types.d.ts +5 -0
  273. package/dist/primitives/Table/Core/useTable.d.ts +2 -2
  274. package/dist/primitives/Table/types.d.ts +3 -7
  275. package/dist/primitives/Table/useTableManager/features/useTableRowExpansion.d.ts +2 -1
  276. package/dist/primitives/Table/useTableManager/features/useTableServerLoading.d.ts +3 -3
  277. package/dist/primitives/Table/useTableManager/types.d.ts +0 -1
  278. package/dist/primitives/Table/useTableManager/useTableManager.d.ts +1 -1
  279. package/dist/primitives/Table/useTableManager/util/dataTypes.d.ts +1 -1
  280. package/dist/taco.cjs.development.js +2349 -881
  281. package/dist/taco.cjs.development.js.map +1 -1
  282. package/dist/taco.cjs.production.min.js +1 -1
  283. package/dist/taco.cjs.production.min.js.map +1 -1
  284. package/dist/types.d.ts +1 -1
  285. package/dist/utils/dom.d.ts +2 -1
  286. package/package.json +20 -19
  287. package/tailwind.colors.js +121 -0
  288. package/tailwind.config.js +3 -2
  289. package/dist/components/Table3/components/Row/Editing/CreateRowButton.d.ts +0 -11
  290. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateRowButton.js +0 -90
  291. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateRowButton.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Localization.js","sources":["../../../../../../../src/components/Provider/Localization.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Locale } from '../../types';\nimport { CalendarTexts } from '../Calendar/Calendar';\nimport { ComboboxTexts } from '../Combobox/Combobox';\nimport { DialogTexts } from '../Dialog/Dialog';\nimport { PaginationTexts } from '../Pagination/Pagination';\nimport { ListboxTexts } from '../Listbox/Listbox';\nimport { ToastsTexts } from '../Toast/Toast';\nimport { DatepickerTexts } from '../Datepicker/Datepicker';\nimport { HeaderTexts } from '../Header/Header';\nimport { HangerTexts } from '../Hanger/Hanger';\nimport { SelectTexts } from '../Select/Select';\nimport { TourTexts } from '../Tour/Tour';\nimport { LegacyTableTexts } from '../Table/Table';\nimport { Table3Texts } from '../Table3/types';\nimport { SearchInputTexts } from '../SearchInput/SearchInput';\nimport { Select2Texts } from '../Select2/Select2';\nimport { BannerTexts } from '../Banner/Banner';\nimport { DrawerTexts } from '../Drawer/Drawer';\nimport { TableTexts } from '../../primitives/Table/types';\n\nexport type LocalizationTexts = {\n /** Localized texts and aria-labels for [Banner](component:banner) component */\n banner: BannerTexts;\n /** Localized texts and aria-labels for [Calendar](component:calendar) component */\n calendar: CalendarTexts;\n /** Localized texts and aria-labels for [Combobox](component:combobox) component */\n combobox: ComboboxTexts;\n /** Localized texts and aria-labels for [DatePicker](component:datepicker) component */\n datepicker: DatepickerTexts;\n /** Localized texts and aria-labels for [Dialog](component:dialog) component */\n dialog: DialogTexts;\n /** Localized texts and aria-labels for [Hanger](component:hanger) component */\n hanger: HangerTexts;\n /** Localized texts and aria-labels for [Header](component:header) component */\n header: HeaderTexts;\n /** Localized texts and aria-labels for [Listbox](component:listbox) component */\n listbox: ListboxTexts;\n /** Localized texts and aria-labels for [Pagination](component:pagination) component */\n pagination: PaginationTexts;\n /** Localized texts and aria-labels for [Table](component:table) component */\n legacyTable: LegacyTableTexts;\n /** Localized texts and aria-labels for [Table](primitive:table) component */\n table: TableTexts;\n /** Localized texts and aria-labels for [Table3](component:table3) component */\n table3: Table3Texts;\n /** Localized texts and aria-labels for [SearchInput](component:searchinput) component */\n searchInput: SearchInputTexts;\n /** Localized texts and aria-labels for [Select](component:select) component */\n select: SelectTexts;\n /** Localized texts and aria-labels for [Select2](component:select2) component */\n select2: Select2Texts;\n /** Localized texts and aria-labels for [Toast](component:toast) component */\n toasts: ToastsTexts;\n /** Localized texts and aria-labels for [Tour](component:tour) component */\n tour: TourTexts;\n /** Localized texts and aria-labels for [Drawer](component:drawer) component */\n drawer: DrawerTexts;\n};\n\nexport type Localization = {\n /**\n * Provide the language code used in application.\n * Default value is `en-GB`\n */\n locale: Locale;\n /** Provide the texts and aria-labels for components used within the provider */\n texts: LocalizationTexts;\n /** Provide the formatting */\n formatting: {\n /** Default value is `dd.mm.yy` */\n date: string;\n };\n};\n\nexport const defaultLocalisationTexts = {\n banner: {\n close: 'Close',\n },\n calendar: {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n weekdaysShort: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n weekdays: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],\n actions: {\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n previousYear: 'Previous year',\n nextYear: 'Next year',\n today: 'Today',\n },\n },\n combobox: {\n tooltip: 'Search in list',\n },\n datepicker: {\n calendar: 'Calendar',\n clear: 'Clear',\n expand: 'Show calendar',\n shortcuts: 'Shortcuts',\n },\n dialog: {\n close: 'Close',\n drag: 'Drag',\n },\n hanger: {\n close: 'Close',\n },\n header: {\n addAgreement: 'Add agreement',\n logout: 'Log off',\n more: 'More',\n new: 'New',\n search: 'Search for agreement...',\n },\n listbox: {\n loading: 'Loading results...',\n empty: 'No results found',\n allOption: 'All',\n },\n pagination: {\n label: 'Pagination',\n pageSize: 'Items per page',\n showingXofYofTotal: 'Showing [X] - [Y] of [total]',\n actions: {\n firstPage: 'Goto first page',\n firstPageWithShortcut: 'Goto first page (Home)',\n previousPage: 'Goto previous page',\n previousPageWithShortcut: 'Goto previous page (Page Up)',\n nextPage: 'Goto next page',\n nextPageWithShortcut: 'Goto next page (Page Down)',\n lastPage: 'Goto last page',\n lastPageWithShortcut: 'Goto last page (End)',\n pageX: 'Goto page [X]',\n },\n },\n legacyTable: {\n actions: 'Other actions',\n edit: 'Edit (e)',\n copy: 'Copy (c)',\n del: 'Delete (del)',\n newSubRow: 'New row (shift + n)',\n loading: 'Loading...',\n },\n table: {\n columns: {\n actions: {\n tooltip: 'Row actions',\n },\n drag: {\n tooltip: 'Drag row',\n },\n expansion: {\n collapse: 'Collapse row',\n collapseAll: 'Collapse all rows',\n expand: 'Expand row',\n expandAll: 'Expand all rows',\n },\n menu: {\n editFilter: 'Edit filter',\n filter: 'Filter',\n freezeFirstColumn: 'Freeze the first column',\n freezeUptoColumn: `Freeze first [TOTAL] columns`,\n gotoRow: 'Go to',\n hideColumn: 'Hide column',\n unfreezeColumns: 'Unfreeze all columns',\n sorting: 'Sorting',\n sortingOrder: {\n ascending: 'Ascending order',\n descending: 'Descending order',\n unsorted: 'No sorting',\n },\n },\n resize: {\n tooltip: 'Resize column',\n },\n select: {\n deselect: 'Deselect row',\n deselectAll: 'Deselect all rows',\n select: 'Select row',\n selectAll: 'Select all rows',\n },\n },\n columnSettings: {\n search: 'Search column...',\n tooltip: 'Column settings',\n button: 'Column settings',\n noResults: 'No results',\n },\n filters: {\n button: 'Filters',\n buttons: {\n addFilter: 'Add new filter',\n clearFilters: 'Clear all filters',\n cancel: 'Cancel',\n clear: 'Clear',\n apply: 'Apply',\n },\n comparators: {\n contains: 'Contains',\n doesNotContain: 'Does not contain',\n isEqualTo: 'Is',\n isNotEqualTo: 'Is not',\n isGreaterThan: 'Is greater than',\n isLessThan: 'Is less than',\n isBetween: 'Is between',\n isOneOf: 'Is one of',\n isNoneOf: 'Is none of',\n isAllOf: 'Is all of',\n isEmpty: 'Is empty',\n isNotEmpty: 'Is not empty',\n isBefore: 'Is before',\n isAfter: 'Is after',\n isOnOrBefore: 'Is on or before',\n isOnOrAfter: 'Is on or after',\n isLessThanOrEqualTo: 'Is less than or equal to',\n isGreaterThanOrEqualTo: 'Is greater than or equal to',\n hasAnyOf: 'Has any of',\n hasAllOf: 'Has all of',\n hasNoneOf: 'Has none of',\n },\n conditions: {\n and: 'And',\n where: 'Where',\n },\n emptyFilter: {\n condition: 'Condition',\n value: 'Value',\n },\n hiddenColumn: 'Hidden column',\n hiddenGroupedColumn: 'Hidden grouped column',\n tooltip: 'Apply filters',\n total: 'Viewing [CURRENT] of [TOTAL]',\n },\n fontSize: {\n tooltip: 'Font size',\n sizes: {\n small: 'Small',\n medium: 'Medium',\n large: 'Large',\n },\n },\n footer: {\n summary: {\n count: 'of',\n records: 'Records:',\n selected: 'Records selected:',\n },\n },\n print: {\n error: 'An error occurred while creating a print preview',\n loading: 'Creating a print preview',\n tooltip: 'Print',\n warningDialog: {\n title: 'Extra loading time',\n description:\n 'Please note that printing a large amount of data may result in a slightly longer waiting time due to data loading.',\n checkboxVisibilityLabel: \"Don't show again\",\n cancelButtonText: 'Cancel',\n printButtonText: 'Print',\n },\n settingsDialog: {\n title: 'Print settings',\n size: 'Paper size',\n sizeA5: 'A5',\n sizeA4: 'A4',\n sizeA3: 'A3',\n sizeLetter: 'Letter',\n sizeLegal: 'Legal',\n orientation: 'Paper orientation',\n orientationLandscape: 'Landscape',\n orientationPortrait: 'Portrait',\n rows: 'Print rows',\n rowsAll: 'All',\n rowsSelected: 'Selected',\n layout: 'Page layout',\n layoutSplitGroups: 'New page for each [COLUMN]',\n },\n },\n rowHeight: {\n tooltip: 'Row height',\n sizes: {\n short: 'Short',\n medium: 'Medium',\n tall: 'Tall',\n extraTall: 'Extra tall',\n },\n },\n search: {\n excludeUnmatchedResults: 'Show only search results',\n placeholder: 'Search...',\n },\n otherOptions: {\n tooltip: 'Table settings',\n },\n },\n table3: {\n editing: {\n actions: {\n tooltip: 'Row actions',\n save: 'Save',\n clear: 'Clear changes',\n exit: 'Exit edit mode',\n },\n buttons: {\n edit: {\n tooltip: 'Edit table',\n },\n create: {\n label: 'New',\n },\n },\n clearChangesConfirmationDialog: {\n title: 'Discard changes',\n description: 'Are you sure you want to discard changes? Your changes will be lost.',\n cancel: 'Continue editing',\n confirm: 'Discard',\n },\n rowIndicator: {\n rowWillMove: 'Row will move due to sorting',\n rowWillBeHidden: 'Row will hide due to filtering',\n rowWillMoveReasonSearch:\n 'Due to a search filter applied to this table, this row will be hidden as soon as you select another row',\n rowWillMoveReasonFilter:\n \"Due to a filter applied to the column '[COLUMN]', this row will be hidden as soon as you select another row\",\n rowWillMoveReasonSorting:\n \"Due to sorting applied to the column '[COLUMN]', this row will move position as soon as you select another row\",\n },\n saving: {\n progress: 'Saving...',\n complete: 'Saved',\n },\n validation: {\n alert: {\n titleOne: '[COUNT] unsaved entry:',\n titlePlural: '[COUNT] unsaved entries:',\n messageOne: \"[COLUMN] [ROW] is incomplete and hasn't been saved.\",\n messagePlural: \"[COLUMN] [ROW] are incomplete and haven't been saved.\",\n messageRow: 'Row',\n messageAnd: 'and',\n },\n resetFiltersDialog: {\n title: 'Row is hidden',\n description: 'The row is hidden due to filtering.',\n cancel: 'Cancel',\n confirm: 'Remove filters',\n },\n },\n },\n },\n searchInput: {\n button: 'Search',\n findNext: 'Next',\n findPrevious: 'Previous',\n placeholder: 'Search...',\n clear: 'Clear',\n },\n select: {\n allOptionsSelected: 'All',\n },\n select2: {\n allSelect: 'Select all',\n allDeselect: 'Deselect all',\n cancel: 'Cancel',\n chooseColor: 'Pick a color',\n create: 'Create',\n delete: 'Delete',\n save: 'Save',\n search: 'Search...',\n searchOrCreate: 'Search or create...',\n selectAll: 'Select all',\n selectAllResults: 'Select all results',\n deselectAll: 'Deselect all',\n deselectAllResults: 'Deselect all results',\n },\n toasts: {\n dismiss: 'Dismiss',\n },\n tour: {\n back: 'Back',\n close: 'Close',\n skip: 'Close and complete',\n last: 'Done',\n next: 'Next',\n open: 'Open',\n },\n drawer: {\n close: 'Close',\n back: 'Back',\n },\n};\n\nexport const defaultLocalizationContext: Localization = {\n locale: 'en-GB',\n texts: defaultLocalisationTexts,\n formatting: {\n date: 'dd.mm.yy',\n },\n};\n\nexport const LocalizationContext = React.createContext<Localization>(defaultLocalizationContext);\nexport interface LocalizationProviderProps {\n children: React.ReactNode;\n localization?: Localization;\n}\nexport const LocalizationProvider: React.FC<LocalizationProviderProps> = ({ localization, children }) => {\n return (\n <LocalizationContext.Provider value={localization ?? defaultLocalizationContext}>{children}</LocalizationContext.Provider>\n );\n};\n\nexport const useLocalization = () => React.useContext(LocalizationContext);\n"],"names":["defaultLocalisationTexts","banner","close","calendar","months","weekdaysShort","weekdays","actions","previousMonth","nextMonth","previousYear","nextYear","today","combobox","tooltip","datepicker","clear","expand","shortcuts","dialog","drag","hanger","header","addAgreement","logout","more","new","search","listbox","loading","empty","allOption","pagination","label","pageSize","showingXofYofTotal","firstPage","firstPageWithShortcut","previousPage","previousPageWithShortcut","nextPage","nextPageWithShortcut","lastPage","lastPageWithShortcut","pageX","legacyTable","edit","copy","del","newSubRow","table","columns","expansion","collapse","collapseAll","expandAll","menu","editFilter","filter","freezeFirstColumn","freezeUptoColumn","gotoRow","hideColumn","unfreezeColumns","sorting","sortingOrder","ascending","descending","unsorted","resize","select","deselect","deselectAll","selectAll","columnSettings","button","noResults","filters","buttons","addFilter","clearFilters","cancel","apply","comparators","contains","doesNotContain","isEqualTo","isNotEqualTo","isGreaterThan","isLessThan","isBetween","isOneOf","isNoneOf","isAllOf","isEmpty","isNotEmpty","isBefore","isAfter","isOnOrBefore","isOnOrAfter","isLessThanOrEqualTo","isGreaterThanOrEqualTo","hasAnyOf","hasAllOf","hasNoneOf","conditions","and","where","emptyFilter","condition","value","hiddenColumn","hiddenGroupedColumn","total","fontSize","sizes","small","medium","large","footer","summary","count","records","selected","print","error","warningDialog","title","description","checkboxVisibilityLabel","cancelButtonText","printButtonText","settingsDialog","size","sizeA5","sizeA4","sizeA3","sizeLetter","sizeLegal","orientation","orientationLandscape","orientationPortrait","rows","rowsAll","rowsSelected","layout","layoutSplitGroups","rowHeight","short","tall","extraTall","excludeUnmatchedResults","placeholder","otherOptions","table3","editing","save","exit","create","clearChangesConfirmationDialog","confirm","rowIndicator","rowWillMove","rowWillBeHidden","rowWillMoveReasonSearch","rowWillMoveReasonFilter","rowWillMoveReasonSorting","saving","progress","complete","validation","alert","titleOne","titlePlural","messageOne","messagePlural","messageRow","messageAnd","resetFiltersDialog","searchInput","findNext","findPrevious","allOptionsSelected","select2","allSelect","allDeselect","chooseColor","delete","searchOrCreate","selectAllResults","deselectAllResults","toasts","dismiss","tour","back","skip","last","next","open","drawer","defaultLocalizationContext","locale","texts","formatting","date","LocalizationContext","React","LocalizationProvider","localization","children","Provider","useLocalization"],"mappings":"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"}
1
+ {"version":3,"file":"Localization.js","sources":["../../../../../../../src/components/Provider/Localization.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Locale } from '../../types';\nimport { CalendarTexts } from '../Calendar/Calendar';\nimport { ComboboxTexts } from '../Combobox/Combobox';\nimport { DialogTexts } from '../Dialog/Dialog';\nimport { PaginationTexts } from '../Pagination/Pagination';\nimport { ListboxTexts } from '../Listbox/Listbox';\nimport { ToastsTexts } from '../Toast/Toast';\nimport { DatepickerTexts } from '../Datepicker/Datepicker';\nimport { HeaderTexts } from '../Header/Header';\nimport { HangerTexts } from '../Hanger/Hanger';\nimport { SelectTexts } from '../Select/Select';\nimport { TourTexts } from '../Tour/Tour';\nimport { LegacyTableTexts } from '../Table/Table';\nimport { Table3Texts } from '../Table3/types';\nimport { SearchInputTexts } from '../SearchInput/SearchInput';\nimport { Select2Texts } from '../Select2/Select2';\nimport { BannerTexts } from '../Banner/Banner';\nimport { DrawerTexts } from '../Drawer/Drawer';\nimport { TableTexts } from '../../primitives/Table/types';\n\nexport type LocalizationTexts = {\n /** Localized texts and aria-labels for [Banner](component:banner) component */\n banner: BannerTexts;\n /** Localized texts and aria-labels for [Calendar](component:calendar) component */\n calendar: CalendarTexts;\n /** Localized texts and aria-labels for [Combobox](component:combobox) component */\n combobox: ComboboxTexts;\n /** Localized texts and aria-labels for [DatePicker](component:datepicker) component */\n datepicker: DatepickerTexts;\n /** Localized texts and aria-labels for [Dialog](component:dialog) component */\n dialog: DialogTexts;\n /** Localized texts and aria-labels for [Hanger](component:hanger) component */\n hanger: HangerTexts;\n /** Localized texts and aria-labels for [Header](component:header) component */\n header: HeaderTexts;\n /** Localized texts and aria-labels for [Listbox](component:listbox) component */\n listbox: ListboxTexts;\n /** Localized texts and aria-labels for [Pagination](component:pagination) component */\n pagination: PaginationTexts;\n /** Localized texts and aria-labels for [Table](component:table) component */\n legacyTable: LegacyTableTexts;\n /** Localized texts and aria-labels for [Table](primitive:table) component */\n table: TableTexts;\n /** Localized texts and aria-labels for [Table3](component:table3) component */\n table3: Table3Texts;\n /** Localized texts and aria-labels for [SearchInput](component:searchinput) component */\n searchInput: SearchInputTexts;\n /** Localized texts and aria-labels for [Select](component:select) component */\n select: SelectTexts;\n /** Localized texts and aria-labels for [Select2](component:select2) component */\n select2: Select2Texts;\n /** Localized texts and aria-labels for [Toast](component:toast) component */\n toasts: ToastsTexts;\n /** Localized texts and aria-labels for [Tour](component:tour) component */\n tour: TourTexts;\n /** Localized texts and aria-labels for [Drawer](component:drawer) component */\n drawer: DrawerTexts;\n};\n\nexport type Localization = {\n /**\n * Provide the language code used in application.\n * Default value is `en-GB`\n */\n locale: Locale;\n /** Provide the texts and aria-labels for components used within the provider */\n texts: LocalizationTexts;\n /** Provide the formatting */\n formatting: {\n /** Default value is `dd.mm.yy` */\n date: string;\n };\n};\n\nexport const defaultLocalisationTexts = {\n banner: {\n close: 'Close',\n },\n calendar: {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n weekdaysShort: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n weekdays: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],\n actions: {\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n previousYear: 'Previous year',\n nextYear: 'Next year',\n today: 'Today',\n },\n },\n combobox: {\n tooltip: 'Search in list',\n },\n datepicker: {\n calendar: 'Calendar',\n clear: 'Clear',\n expand: 'Show calendar',\n shortcuts: 'Shortcuts',\n },\n dialog: {\n close: 'Close',\n drag: 'Drag',\n },\n hanger: {\n close: 'Close',\n },\n header: {\n addAgreement: 'Add agreement',\n logout: 'Log off',\n more: 'More',\n new: 'New',\n search: 'Search for agreement...',\n },\n listbox: {\n loading: 'Loading results...',\n empty: 'No results found',\n allOption: 'All',\n },\n pagination: {\n label: 'Pagination',\n pageSize: 'Items per page',\n showingXofYofTotal: 'Showing [X] - [Y] of [total]',\n actions: {\n firstPage: 'Goto first page',\n firstPageWithShortcut: 'Goto first page (Home)',\n previousPage: 'Goto previous page',\n previousPageWithShortcut: 'Goto previous page (Page Up)',\n nextPage: 'Goto next page',\n nextPageWithShortcut: 'Goto next page (Page Down)',\n lastPage: 'Goto last page',\n lastPageWithShortcut: 'Goto last page (End)',\n pageX: 'Goto page [X]',\n },\n },\n legacyTable: {\n actions: 'Other actions',\n edit: 'Edit (e)',\n copy: 'Copy (c)',\n del: 'Delete (del)',\n newSubRow: 'New row (shift + n)',\n loading: 'Loading...',\n },\n table: {\n columns: {\n actions: {\n tooltip: 'Row actions',\n },\n drag: {\n tooltip: 'Drag row',\n },\n expansion: {\n collapse: 'Collapse row',\n collapseAll: 'Collapse all rows',\n expand: 'Expand row',\n expandAll: 'Expand all rows',\n },\n menu: {\n editFilter: 'Edit filter',\n filter: 'Filter',\n freezeFirstColumn: 'Freeze the first column',\n freezeUptoColumn: `Freeze first [TOTAL] columns`,\n gotoRow: 'Go to',\n hideColumn: 'Hide column',\n unfreezeColumns: 'Unfreeze all columns',\n sorting: 'Sorting',\n sortingOrder: {\n ascending: 'Ascending order',\n descending: 'Descending order',\n unsorted: 'No sorting',\n },\n },\n resize: {\n tooltip: 'Resize column',\n },\n select: {\n deselect: 'Deselect row',\n deselectAll: 'Deselect all rows',\n select: 'Select row',\n selectAll: 'Select all rows',\n },\n },\n columnSettings: {\n search: 'Search column...',\n tooltip: 'Column settings',\n button: 'Column settings',\n noResults: 'No results',\n },\n filters: {\n button: 'Filters',\n buttons: {\n addFilter: 'Add new filter',\n clearFilters: 'Clear all filters',\n cancel: 'Cancel',\n clear: 'Clear',\n apply: 'Apply',\n },\n comparators: {\n contains: 'Contains',\n doesNotContain: 'Does not contain',\n isEqualTo: 'Is',\n isNotEqualTo: 'Is not',\n isGreaterThan: 'Is greater than',\n isLessThan: 'Is less than',\n isBetween: 'Is between',\n isOneOf: 'Is one of',\n isNoneOf: 'Is none of',\n isAllOf: 'Is all of',\n isEmpty: 'Is empty',\n isNotEmpty: 'Is not empty',\n isBefore: 'Is before',\n isAfter: 'Is after',\n isOnOrBefore: 'Is on or before',\n isOnOrAfter: 'Is on or after',\n isLessThanOrEqualTo: 'Is less than or equal to',\n isGreaterThanOrEqualTo: 'Is greater than or equal to',\n hasAnyOf: 'Has any of',\n hasAllOf: 'Has all of',\n hasNoneOf: 'Has none of',\n },\n conditions: {\n and: 'And',\n where: 'Where',\n },\n emptyFilter: {\n condition: 'Condition',\n value: 'Value',\n },\n hiddenColumn: 'Hidden column',\n hiddenGroupedColumn: 'Hidden grouped column',\n tooltip: 'Apply filters',\n total: 'Viewing [CURRENT] of [TOTAL]',\n },\n fontSize: {\n tooltip: 'Font size',\n sizes: {\n small: 'Small',\n medium: 'Medium',\n large: 'Large',\n },\n },\n footer: {\n summary: {\n count: 'of',\n records: 'Records:',\n selected: 'Records selected:',\n },\n },\n print: {\n error: 'An error occurred while creating a print preview',\n loading: 'Creating a print preview',\n tooltip: 'Print',\n warningDialog: {\n title: 'Extra loading time',\n description:\n 'Please note that printing a large amount of data may result in a slightly longer waiting time due to data loading.',\n checkboxVisibilityLabel: \"Don't show again\",\n cancelButtonText: 'Cancel',\n printButtonText: 'Print',\n },\n settingsDialog: {\n title: 'Print settings',\n size: 'Paper size',\n sizeA5: 'A5',\n sizeA4: 'A4',\n sizeA3: 'A3',\n sizeLetter: 'Letter',\n sizeLegal: 'Legal',\n orientation: 'Paper orientation',\n orientationLandscape: 'Landscape',\n orientationPortrait: 'Portrait',\n rows: 'Print rows',\n rowsAll: 'All',\n rowsSelected: 'Selected',\n layout: 'Page layout',\n layoutSplitGroups: 'New page for each [COLUMN]',\n },\n },\n rowHeight: {\n tooltip: 'Row height',\n sizes: {\n short: 'Short',\n medium: 'Medium',\n tall: 'Tall',\n extraTall: 'Extra tall',\n },\n },\n search: {\n excludeUnmatchedResults: 'Show only search results',\n placeholder: 'Search...',\n },\n otherOptions: {\n tooltip: 'Table settings',\n },\n },\n table3: {\n editing: {\n actions: {\n tooltip: 'Row actions',\n save: 'Save',\n clear: 'Clear changes',\n exit: 'Exit edit mode',\n },\n buttons: {\n edit: {\n tooltip: 'Edit table',\n },\n create: {\n label: 'New',\n disabled: 'Existing new row must be saved',\n saving: 'Saving...',\n },\n },\n clearChangesConfirmationDialog: {\n title: 'Discard changes',\n description: 'Are you sure you want to discard changes? Your changes will be lost.',\n cancel: 'Continue editing',\n confirm: 'Discard',\n },\n rowIndicator: {\n rowWillMove: 'Row will move due to sorting',\n rowWillBeHidden: 'Row will hide due to filtering',\n rowWillMoveReasonSearch:\n 'Due to a search filter applied to this table, this row will be hidden as soon as you select another row',\n rowWillMoveReasonFilter:\n \"Due to a filter applied to the column '[COLUMN]', this row will be hidden as soon as you select another row\",\n rowWillMoveReasonSorting:\n \"Due to sorting applied to the column '[COLUMN]', this row will move position as soon as you select another row\",\n },\n saving: {\n progress: 'Saving...',\n complete: 'Saved',\n },\n validation: {\n alert: {\n titleOne: '[COUNT] unsaved row:',\n titlePlural: '[COUNT] unsaved rows:',\n messageOne: \"[COLUMN] [ROW] is incomplete and hasn't been saved.\",\n messagePlural: \"[COLUMN] [ROW] are incomplete and haven't been saved.\",\n messageRow: 'Row',\n messageAnd: 'and',\n },\n resetFiltersDialog: {\n title: 'Row is hidden',\n description: 'The row is hidden due to filtering.',\n cancel: 'Cancel',\n confirm: 'Remove filters',\n },\n },\n },\n },\n searchInput: {\n button: 'Search',\n findNext: 'Next',\n findPrevious: 'Previous',\n placeholder: 'Search...',\n clear: 'Clear',\n },\n select: {\n allOptionsSelected: 'All',\n },\n select2: {\n allSelect: 'Select all',\n allDeselect: 'Deselect all',\n cancel: 'Cancel',\n chooseColor: 'Pick a color',\n create: 'Create',\n delete: 'Delete',\n save: 'Save',\n search: 'Search...',\n searchOrCreate: 'Search or create...',\n selectAll: 'Select all',\n selectAllResults: 'Select all results',\n deselectAll: 'Deselect all',\n deselectAllResults: 'Deselect all results',\n },\n toasts: {\n dismiss: 'Dismiss',\n },\n tour: {\n back: 'Back',\n close: 'Close',\n skip: 'Close and complete',\n last: 'Done',\n next: 'Next',\n open: 'Open',\n },\n drawer: {\n close: 'Close',\n back: 'Back',\n },\n};\n\nexport const defaultLocalizationContext: Localization = {\n locale: 'en-GB',\n texts: defaultLocalisationTexts,\n formatting: {\n date: 'dd.mm.yy',\n },\n};\n\nexport const LocalizationContext = React.createContext<Localization>(defaultLocalizationContext);\nexport interface LocalizationProviderProps {\n children: React.ReactNode;\n localization?: Localization;\n}\nexport const LocalizationProvider: React.FC<LocalizationProviderProps> = ({ localization, children }) => {\n return (\n <LocalizationContext.Provider value={localization ?? defaultLocalizationContext}>{children}</LocalizationContext.Provider>\n );\n};\n\nexport const useLocalization = () => React.useContext(LocalizationContext);\n"],"names":["defaultLocalisationTexts","banner","close","calendar","months","weekdaysShort","weekdays","actions","previousMonth","nextMonth","previousYear","nextYear","today","combobox","tooltip","datepicker","clear","expand","shortcuts","dialog","drag","hanger","header","addAgreement","logout","more","new","search","listbox","loading","empty","allOption","pagination","label","pageSize","showingXofYofTotal","firstPage","firstPageWithShortcut","previousPage","previousPageWithShortcut","nextPage","nextPageWithShortcut","lastPage","lastPageWithShortcut","pageX","legacyTable","edit","copy","del","newSubRow","table","columns","expansion","collapse","collapseAll","expandAll","menu","editFilter","filter","freezeFirstColumn","freezeUptoColumn","gotoRow","hideColumn","unfreezeColumns","sorting","sortingOrder","ascending","descending","unsorted","resize","select","deselect","deselectAll","selectAll","columnSettings","button","noResults","filters","buttons","addFilter","clearFilters","cancel","apply","comparators","contains","doesNotContain","isEqualTo","isNotEqualTo","isGreaterThan","isLessThan","isBetween","isOneOf","isNoneOf","isAllOf","isEmpty","isNotEmpty","isBefore","isAfter","isOnOrBefore","isOnOrAfter","isLessThanOrEqualTo","isGreaterThanOrEqualTo","hasAnyOf","hasAllOf","hasNoneOf","conditions","and","where","emptyFilter","condition","value","hiddenColumn","hiddenGroupedColumn","total","fontSize","sizes","small","medium","large","footer","summary","count","records","selected","print","error","warningDialog","title","description","checkboxVisibilityLabel","cancelButtonText","printButtonText","settingsDialog","size","sizeA5","sizeA4","sizeA3","sizeLetter","sizeLegal","orientation","orientationLandscape","orientationPortrait","rows","rowsAll","rowsSelected","layout","layoutSplitGroups","rowHeight","short","tall","extraTall","excludeUnmatchedResults","placeholder","otherOptions","table3","editing","save","exit","create","disabled","saving","clearChangesConfirmationDialog","confirm","rowIndicator","rowWillMove","rowWillBeHidden","rowWillMoveReasonSearch","rowWillMoveReasonFilter","rowWillMoveReasonSorting","progress","complete","validation","alert","titleOne","titlePlural","messageOne","messagePlural","messageRow","messageAnd","resetFiltersDialog","searchInput","findNext","findPrevious","allOptionsSelected","select2","allSelect","allDeselect","chooseColor","delete","searchOrCreate","selectAllResults","deselectAllResults","toasts","dismiss","tour","back","skip","last","next","open","drawer","defaultLocalizationContext","locale","texts","formatting","date","LocalizationContext","React","LocalizationProvider","localization","children","Provider","useLocalization"],"mappings":";;MA2EaA,wBAAwB,GAAG;EACpCC,MAAM,EAAE;IACJC,KAAK,EAAE;GACV;EACDC,QAAQ,EAAE;IACNC,MAAM,EAAE,CACJ,SAAS,EACT,UAAU,EACV,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,CACb;IACDC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IAChEC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC;IACxFC,OAAO,EAAE;MACLC,aAAa,EAAE,gBAAgB;MAC/BC,SAAS,EAAE,YAAY;MACvBC,YAAY,EAAE,eAAe;MAC7BC,QAAQ,EAAE,WAAW;MACrBC,KAAK,EAAE;;GAEd;EACDC,QAAQ,EAAE;IACNC,OAAO,EAAE;GACZ;EACDC,UAAU,EAAE;IACRZ,QAAQ,EAAE,UAAU;IACpBa,KAAK,EAAE,OAAO;IACdC,MAAM,EAAE,eAAe;IACvBC,SAAS,EAAE;GACd;EACDC,MAAM,EAAE;IACJjB,KAAK,EAAE,OAAO;IACdkB,IAAI,EAAE;GACT;EACDC,MAAM,EAAE;IACJnB,KAAK,EAAE;GACV;EACDoB,MAAM,EAAE;IACJC,YAAY,EAAE,eAAe;IAC7BC,MAAM,EAAE,SAAS;IACjBC,IAAI,EAAE,MAAM;IACZC,GAAG,EAAE,KAAK;IACVC,MAAM,EAAE;GACX;EACDC,OAAO,EAAE;IACLC,OAAO,EAAE,oBAAoB;IAC7BC,KAAK,EAAE,kBAAkB;IACzBC,SAAS,EAAE;GACd;EACDC,UAAU,EAAE;IACRC,KAAK,EAAE,YAAY;IACnBC,QAAQ,EAAE,gBAAgB;IAC1BC,kBAAkB,EAAE,8BAA8B;IAClD5B,OAAO,EAAE;MACL6B,SAAS,EAAE,iBAAiB;MAC5BC,qBAAqB,EAAE,wBAAwB;MAC/CC,YAAY,EAAE,oBAAoB;MAClCC,wBAAwB,EAAE,8BAA8B;MACxDC,QAAQ,EAAE,gBAAgB;MAC1BC,oBAAoB,EAAE,4BAA4B;MAClDC,QAAQ,EAAE,gBAAgB;MAC1BC,oBAAoB,EAAE,sBAAsB;MAC5CC,KAAK,EAAE;;GAEd;EACDC,WAAW,EAAE;IACTtC,OAAO,EAAE,eAAe;IACxBuC,IAAI,EAAE,UAAU;IAChBC,IAAI,EAAE,UAAU;IAChBC,GAAG,EAAE,cAAc;IACnBC,SAAS,EAAE,qBAAqB;IAChCpB,OAAO,EAAE;GACZ;EACDqB,KAAK,EAAE;IACHC,OAAO,EAAE;MACL5C,OAAO,EAAE;QACLO,OAAO,EAAE;OACZ;MACDM,IAAI,EAAE;QACFN,OAAO,EAAE;OACZ;MACDsC,SAAS,EAAE;QACPC,QAAQ,EAAE,cAAc;QACxBC,WAAW,EAAE,mBAAmB;QAChCrC,MAAM,EAAE,YAAY;QACpBsC,SAAS,EAAE;OACd;MACDC,IAAI,EAAE;QACFC,UAAU,EAAE,aAAa;QACzBC,MAAM,EAAE,QAAQ;QAChBC,iBAAiB,EAAE,yBAAyB;QAC5CC,gBAAgB,EAAE,8BAA8B;QAChDC,OAAO,EAAE,OAAO;QAChBC,UAAU,EAAE,aAAa;QACzBC,eAAe,EAAE,sBAAsB;QACvCC,OAAO,EAAE,SAAS;QAClBC,YAAY,EAAE;UACVC,SAAS,EAAE,iBAAiB;UAC5BC,UAAU,EAAE,kBAAkB;UAC9BC,QAAQ,EAAE;;OAEjB;MACDC,MAAM,EAAE;QACJvD,OAAO,EAAE;OACZ;MACDwD,MAAM,EAAE;QACJC,QAAQ,EAAE,cAAc;QACxBC,WAAW,EAAE,mBAAmB;QAChCF,MAAM,EAAE,YAAY;QACpBG,SAAS,EAAE;;KAElB;IACDC,cAAc,EAAE;MACZ/C,MAAM,EAAE,kBAAkB;MAC1Bb,OAAO,EAAE,iBAAiB;MAC1B6D,MAAM,EAAE,iBAAiB;MACzBC,SAAS,EAAE;KACd;IACDC,OAAO,EAAE;MACLF,MAAM,EAAE,SAAS;MACjBG,OAAO,EAAE;QACLC,SAAS,EAAE,gBAAgB;QAC3BC,YAAY,EAAE,mBAAmB;QACjCC,MAAM,EAAE,QAAQ;QAChBjE,KAAK,EAAE,OAAO;QACdkE,KAAK,EAAE;OACV;MACDC,WAAW,EAAE;QACTC,QAAQ,EAAE,UAAU;QACpBC,cAAc,EAAE,kBAAkB;QAClCC,SAAS,EAAE,IAAI;QACfC,YAAY,EAAE,QAAQ;QACtBC,aAAa,EAAE,iBAAiB;QAChCC,UAAU,EAAE,cAAc;QAC1BC,SAAS,EAAE,YAAY;QACvBC,OAAO,EAAE,WAAW;QACpBC,QAAQ,EAAE,YAAY;QACtBC,OAAO,EAAE,WAAW;QACpBC,OAAO,EAAE,UAAU;QACnBC,UAAU,EAAE,cAAc;QAC1BC,QAAQ,EAAE,WAAW;QACrBC,OAAO,EAAE,UAAU;QACnBC,YAAY,EAAE,iBAAiB;QAC/BC,WAAW,EAAE,gBAAgB;QAC7BC,mBAAmB,EAAE,0BAA0B;QAC/CC,sBAAsB,EAAE,6BAA6B;QACrDC,QAAQ,EAAE,YAAY;QACtBC,QAAQ,EAAE,YAAY;QACtBC,SAAS,EAAE;OACd;MACDC,UAAU,EAAE;QACRC,GAAG,EAAE,KAAK;QACVC,KAAK,EAAE;OACV;MACDC,WAAW,EAAE;QACTC,SAAS,EAAE,WAAW;QACtBC,KAAK,EAAE;OACV;MACDC,YAAY,EAAE,eAAe;MAC7BC,mBAAmB,EAAE,uBAAuB;MAC5ClG,OAAO,EAAE,eAAe;MACxBmG,KAAK,EAAE;KACV;IACDC,QAAQ,EAAE;MACNpG,OAAO,EAAE,WAAW;MACpBqG,KAAK,EAAE;QACHC,KAAK,EAAE,OAAO;QACdC,MAAM,EAAE,QAAQ;QAChBC,KAAK,EAAE;;KAEd;IACDC,MAAM,EAAE;MACJC,OAAO,EAAE;QACLC,KAAK,EAAE,IAAI;QACXC,OAAO,EAAE,UAAU;QACnBC,QAAQ,EAAE;;KAEjB;IACDC,KAAK,EAAE;MACHC,KAAK,EAAE,kDAAkD;MACzDhG,OAAO,EAAE,0BAA0B;MACnCf,OAAO,EAAE,OAAO;MAChBgH,aAAa,EAAE;QACXC,KAAK,EAAE,oBAAoB;QAC3BC,WAAW,EACP,oHAAoH;QACxHC,uBAAuB,EAAE,kBAAkB;QAC3CC,gBAAgB,EAAE,QAAQ;QAC1BC,eAAe,EAAE;OACpB;MACDC,cAAc,EAAE;QACZL,KAAK,EAAE,gBAAgB;QACvBM,IAAI,EAAE,YAAY;QAClBC,MAAM,EAAE,IAAI;QACZC,MAAM,EAAE,IAAI;QACZC,MAAM,EAAE,IAAI;QACZC,UAAU,EAAE,QAAQ;QACpBC,SAAS,EAAE,OAAO;QAClBC,WAAW,EAAE,mBAAmB;QAChCC,oBAAoB,EAAE,WAAW;QACjCC,mBAAmB,EAAE,UAAU;QAC/BC,IAAI,EAAE,YAAY;QAClBC,OAAO,EAAE,KAAK;QACdC,YAAY,EAAE,UAAU;QACxBC,MAAM,EAAE,aAAa;QACrBC,iBAAiB,EAAE;;KAE1B;IACDC,SAAS,EAAE;MACPrI,OAAO,EAAE,YAAY;MACrBqG,KAAK,EAAE;QACHiC,KAAK,EAAE,OAAO;QACd/B,MAAM,EAAE,QAAQ;QAChBgC,IAAI,EAAE,MAAM;QACZC,SAAS,EAAE;;KAElB;IACD3H,MAAM,EAAE;MACJ4H,uBAAuB,EAAE,0BAA0B;MACnDC,WAAW,EAAE;KAChB;IACDC,YAAY,EAAE;MACV3I,OAAO,EAAE;;GAEhB;EACD4I,MAAM,EAAE;IACJC,OAAO,EAAE;MACLpJ,OAAO,EAAE;QACLO,OAAO,EAAE,aAAa;QACtB8I,IAAI,EAAE,MAAM;QACZ5I,KAAK,EAAE,eAAe;QACtB6I,IAAI,EAAE;OACT;MACD/E,OAAO,EAAE;QACLhC,IAAI,EAAE;UACFhC,OAAO,EAAE;SACZ;QACDgJ,MAAM,EAAE;UACJ7H,KAAK,EAAE,KAAK;UACZ8H,QAAQ,EAAE,gCAAgC;UAC1CC,MAAM,EAAE;;OAEf;MACDC,8BAA8B,EAAE;QAC5BlC,KAAK,EAAE,iBAAiB;QACxBC,WAAW,EAAE,sEAAsE;QACnF/C,MAAM,EAAE,kBAAkB;QAC1BiF,OAAO,EAAE;OACZ;MACDC,YAAY,EAAE;QACVC,WAAW,EAAE,8BAA8B;QAC3CC,eAAe,EAAE,gCAAgC;QACjDC,uBAAuB,EACnB,yGAAyG;QAC7GC,uBAAuB,EACnB,6GAA6G;QACjHC,wBAAwB,EACpB;OACP;MACDR,MAAM,EAAE;QACJS,QAAQ,EAAE,WAAW;QACrBC,QAAQ,EAAE;OACb;MACDC,UAAU,EAAE;QACRC,KAAK,EAAE;UACHC,QAAQ,EAAE,sBAAsB;UAChCC,WAAW,EAAE,uBAAuB;UACpCC,UAAU,EAAE,qDAAqD;UACjEC,aAAa,EAAE,uDAAuD;UACtEC,UAAU,EAAE,KAAK;UACjBC,UAAU,EAAE;SACf;QACDC,kBAAkB,EAAE;UAChBpD,KAAK,EAAE,eAAe;UACtBC,WAAW,EAAE,qCAAqC;UAClD/C,MAAM,EAAE,QAAQ;UAChBiF,OAAO,EAAE;;;;GAIxB;EACDkB,WAAW,EAAE;IACTzG,MAAM,EAAE,QAAQ;IAChB0G,QAAQ,EAAE,MAAM;IAChBC,YAAY,EAAE,UAAU;IACxB9B,WAAW,EAAE,WAAW;IACxBxI,KAAK,EAAE;GACV;EACDsD,MAAM,EAAE;IACJiH,kBAAkB,EAAE;GACvB;EACDC,OAAO,EAAE;IACLC,SAAS,EAAE,YAAY;IACvBC,WAAW,EAAE,cAAc;IAC3BzG,MAAM,EAAE,QAAQ;IAChB0G,WAAW,EAAE,cAAc;IAC3B7B,MAAM,EAAE,QAAQ;IAChB8B,MAAM,EAAE,QAAQ;IAChBhC,IAAI,EAAE,MAAM;IACZjI,MAAM,EAAE,WAAW;IACnBkK,cAAc,EAAE,qBAAqB;IACrCpH,SAAS,EAAE,YAAY;IACvBqH,gBAAgB,EAAE,oBAAoB;IACtCtH,WAAW,EAAE,cAAc;IAC3BuH,kBAAkB,EAAE;GACvB;EACDC,MAAM,EAAE;IACJC,OAAO,EAAE;GACZ;EACDC,IAAI,EAAE;IACFC,IAAI,EAAE,MAAM;IACZjM,KAAK,EAAE,OAAO;IACdkM,IAAI,EAAE,oBAAoB;IAC1BC,IAAI,EAAE,MAAM;IACZC,IAAI,EAAE,MAAM;IACZC,IAAI,EAAE;GACT;EACDC,MAAM,EAAE;IACJtM,KAAK,EAAE,OAAO;IACdiM,IAAI,EAAE;;;MAIDM,0BAA0B,GAAiB;EACpDC,MAAM,EAAE,OAAO;EACfC,KAAK,EAAE3M,wBAAwB;EAC/B4M,UAAU,EAAE;IACRC,IAAI,EAAE;;;MAIDC,mBAAmB,gBAAGC,aAAmB,CAAeN,0BAA0B;MAKlFO,oBAAoB,GAAwCA,CAAC;EAAEC,YAAY;EAAEC;CAAU;EAChG,oBACIH,cAACD,mBAAmB,CAACK,QAAQ;IAACrG,KAAK,EAAEmG,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAIR;KAA6BS,QAAQ,CAAgC;AAElI;MAEaE,eAAe,GAAGA,MAAML,UAAgB,CAACD,mBAAmB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","sources":["../../../../../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'clsx';\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport { Orientation } from '../../types';\nimport { getRadioClassnames } from './util';\n\nexport type RadioGroupItemValue = string | number | boolean | null;\n\nexport const getRadioGroupItemValueAsString = (value: RadioGroupItemValue): string => String(value ?? '');\n\nexport const findByValue = (values: RadioGroupItemValue[], valueAsString: string): RadioGroupItemValue =>\n values.find(value => getRadioGroupItemValueAsString(value) === valueAsString) as RadioGroupItemValue;\n\nconst RadioGroupContext = React.createContext({ disabled: false, invalid: false });\n\nexport type RadioGroupItemProps<T = HTMLButtonElement> = Omit<\n React.ButtonHTMLAttributes<T>,\n 'children' | 'onSelect' | 'value'\n> & {\n /** Label for the radio group item */\n children: React.ReactNode;\n /* Whether the radio group item is disabled */\n disabled?: boolean;\n /** Value of the radio button */\n value: RadioGroupItemValue;\n};\n\nconst RadioGroupItem = React.forwardRef(function RadioGroupItem(props: RadioGroupItemProps, ref: React.Ref<HTMLButtonElement>) {\n const context = React.useContext(RadioGroupContext);\n const { children, value, ...otherProps } = props;\n\n const isDisabled = context.disabled || props.disabled;\n\n const className = cn('self-start', getRadioClassnames(isDisabled, context.invalid));\n const labelClassName = cn(\n 'flex items-center gap-2',\n {\n 'cursor-pointer': !isDisabled,\n 'cursor-not-allowed text-grey-300': isDisabled,\n },\n props.className\n );\n\n return (\n <label className={labelClassName}>\n <RadioGroupPrimitive.Item\n {...otherProps}\n className={className}\n disabled={isDisabled}\n ref={ref}\n value={getRadioGroupItemValueAsString(value)}>\n <RadioGroupPrimitive.Indicator className=\"h-2 w-2 rounded-full bg-white\" />\n </RadioGroupPrimitive.Item>\n {children}\n </label>\n );\n});\n\ntype ReactGroupBaseChild = React.ReactElement<RadioGroupItemProps> | boolean | null;\n\ntype RadioGroupBaseProps = Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'children' | 'defaultValue' | 'onChange' | 'value' | 'dir'\n> & {\n children: ReactGroupBaseChild[];\n /* Whether the radio group is disabled */\n disabled?: boolean;\n /* Whether the radio group is in an invalid state */\n invalid?: boolean;\n /** The name of the radio group, used when submitting an HTML form */\n name?: string;\n /**\n * Orientation of the radio group\n * @defaultValue vertical\n */\n orientation?: Orientation;\n /* Whether the radio group requires user input */\n required?: boolean;\n};\n\ninterface UncontrolledRadioGroupProps extends RadioGroupBaseProps {\n /* The default value (uncontrolled) */\n defaultValue?: RadioGroupItemValue;\n onChange?: never;\n value?: never;\n}\n\ninterface ControlledRadioGroupProps extends RadioGroupBaseProps {\n defaultValue?: never;\n /** Handler called when the value changes */\n onChange: (value: RadioGroupItemValue) => void;\n /** The current value (controlled) */\n value?: RadioGroupItemValue;\n}\n\nexport type RadioGroupProps = UncontrolledRadioGroupProps | ControlledRadioGroupProps;\n\nexport type ForwardedRadioGroupWithStatics = React.ForwardRefExoticComponent<\n RadioGroupProps & React.RefAttributes<HTMLDivElement>\n> & {\n /** Item component rendered in a `RadioGroup` component */\n Item: React.ForwardRefExoticComponent<RadioGroupItemProps>;\n};\n\nexport const useRadioGroup = (props: RadioGroupProps) => {\n const { children, defaultValue, disabled, invalid, onChange, orientation = 'vertical', value, ...otherProps } = props;\n\n const values = React.useMemo<RadioGroupItemValue[]>(() => {\n const radioGroupItemValues: RadioGroupItemValue[] = [];\n\n React.Children.forEach(children, child => {\n if (React.isValidElement(child)) {\n radioGroupItemValues.push(child.props.value);\n }\n });\n\n return radioGroupItemValues;\n }, [children]);\n\n const context = React.useMemo(() => ({ disabled: disabled ?? false, invalid: invalid ?? false }), [disabled, invalid]);\n\n let valueProps;\n\n if (onChange !== undefined) {\n const handleChange = (value: string): void => onChange(findByValue(values, value));\n\n valueProps = {\n onValueChange: handleChange,\n value: value !== undefined ? getRadioGroupItemValueAsString(value) : undefined,\n };\n } else {\n valueProps = {\n defaultValue: defaultValue !== undefined ? getRadioGroupItemValueAsString(defaultValue) : undefined,\n };\n }\n\n return {\n context,\n props: {\n ...otherProps,\n ...valueProps,\n children,\n disabled,\n orientation,\n },\n };\n};\n\nexport const RadioGroup = React.forwardRef(function RadioGroup(props: RadioGroupProps, ref: React.Ref<HTMLDivElement>) {\n const { context, props: otherProps } = useRadioGroup(props);\n const className = cn(\n 'flex items-start gap-y-2',\n {\n 'flex-wrap gap-x-4 ': otherProps.orientation === 'horizontal',\n 'flex-col': otherProps.orientation === 'vertical',\n },\n otherProps.className\n );\n\n return (\n <RadioGroupContext.Provider value={context}>\n <RadioGroupPrimitive.Root {...otherProps} className={className} data-taco=\"radio-group\" ref={ref} />\n </RadioGroupContext.Provider>\n );\n}) as ForwardedRadioGroupWithStatics;\nRadioGroup.Item = RadioGroupItem;\n"],"names":["getRadioGroupItemValueAsString","value","String","findByValue","values","valueAsString","find","RadioGroupContext","React","disabled","invalid","RadioGroupItem","props","ref","context","children","otherProps","isDisabled","className","cn","getRadioClassnames","labelClassName","RadioGroupPrimitive","useRadioGroup","defaultValue","onChange","orientation","radioGroupItemValues","forEach","child","push","valueProps","undefined","handleChange","onValueChange","RadioGroup","Provider","Item"],"mappings":"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"}
1
+ {"version":3,"file":"RadioGroup.js","sources":["../../../../../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'clsx';\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport { Orientation } from '../../types';\nimport { getRadioClassnames } from './util';\n\nexport type RadioGroupItemValue = string | number | boolean | null;\n\nexport const getRadioGroupItemValueAsString = (value: RadioGroupItemValue): string => String(value ?? '');\n\nexport const findByValue = (values: RadioGroupItemValue[], valueAsString: string): RadioGroupItemValue =>\n values.find(value => getRadioGroupItemValueAsString(value) === valueAsString) as RadioGroupItemValue;\n\nconst RadioGroupContext = React.createContext({ disabled: false, invalid: false });\n\nexport type RadioGroupItemProps<T = HTMLButtonElement> = Omit<\n React.ButtonHTMLAttributes<T>,\n 'children' | 'onSelect' | 'value'\n> & {\n /** Label for the radio group item */\n children: React.ReactNode;\n /* Whether the radio group item is disabled */\n disabled?: boolean;\n /** Value of the radio button */\n value: RadioGroupItemValue;\n};\n\nconst RadioGroupItem = React.forwardRef(function RadioGroupItem(props: RadioGroupItemProps, ref: React.Ref<HTMLButtonElement>) {\n const context = React.useContext(RadioGroupContext);\n const { children, value, ...otherProps } = props;\n\n const isDisabled = context.disabled || props.disabled;\n\n const className = cn('self-start', getRadioClassnames(isDisabled, context.invalid));\n const labelClassName = cn(\n 'flex items-center gap-2',\n {\n 'cursor-pointer': !isDisabled,\n 'cursor-not-allowed text-grey-300': isDisabled,\n },\n props.className\n );\n\n return (\n <label className={labelClassName}>\n <RadioGroupPrimitive.Item\n {...otherProps}\n className={className}\n disabled={isDisabled}\n ref={ref}\n value={getRadioGroupItemValueAsString(value)}>\n <RadioGroupPrimitive.Indicator className=\"h-2 w-2 rounded-full bg-white\" />\n </RadioGroupPrimitive.Item>\n {children}\n </label>\n );\n});\n\ntype RadioGroupBaseChild = React.ReactElement<RadioGroupItemProps> | boolean | null;\n\ntype RadioGroupBaseProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\n children: RadioGroupBaseChild[];\n\n /* Whether the radio group is disabled */\n disabled?: boolean;\n /* Whether the radio group is in an invalid state */\n invalid?: boolean;\n /** The name of the radio group, used when submitting an HTML form */\n name?: string;\n /**\n * Orientation of the radio group\n * @defaultValue vertical\n */\n orientation?: Orientation;\n /* Whether the radio group requires user input */\n required?: boolean;\n};\n\ninterface UncontrolledRadioGroupProps extends RadioGroupBaseProps {\n /* The default value (uncontrolled) */\n defaultValue?: RadioGroupItemValue;\n onChange?: never;\n value?: never;\n}\n\ninterface ControlledRadioGroupProps extends RadioGroupBaseProps {\n defaultValue?: never;\n /** Handler called when the value changes */\n onChange: (value: RadioGroupItemValue) => void;\n /** The current value (controlled) */\n value?: RadioGroupItemValue;\n}\n\nexport type RadioGroupProps = UncontrolledRadioGroupProps | ControlledRadioGroupProps;\n\nexport type ForwardedRadioGroupWithStatics = React.ForwardRefExoticComponent<\n RadioGroupProps & React.RefAttributes<HTMLDivElement>\n> & {\n /** Item component rendered in a `RadioGroup` component */\n Item: React.ForwardRefExoticComponent<RadioGroupItemProps>;\n};\n\nexport const useRadioGroup = (props: RadioGroupProps) => {\n const { children, defaultValue, disabled, invalid, onChange, orientation = 'vertical', value, ...otherProps } = props;\n\n const values = React.useMemo<RadioGroupItemValue[]>(() => {\n const radioGroupItemValues: RadioGroupItemValue[] = [];\n\n React.Children.forEach(children, child => {\n if (React.isValidElement(child)) {\n radioGroupItemValues.push(child.props.value);\n }\n });\n\n return radioGroupItemValues;\n }, [children]);\n\n const context = React.useMemo(() => ({ disabled: disabled ?? false, invalid: invalid ?? false }), [disabled, invalid]);\n\n let valueProps;\n\n if (onChange !== undefined) {\n const handleChange = (value: string): void => onChange(findByValue(values, value));\n\n valueProps = {\n onValueChange: handleChange,\n value: value !== undefined ? getRadioGroupItemValueAsString(value) : undefined,\n };\n } else {\n valueProps = {\n defaultValue: defaultValue !== undefined ? getRadioGroupItemValueAsString(defaultValue) : undefined,\n };\n }\n\n return {\n context,\n props: {\n ...otherProps,\n ...valueProps,\n children,\n disabled,\n orientation,\n },\n };\n};\n\nexport const RadioGroup = React.forwardRef(function RadioGroup(props: RadioGroupProps, ref: React.Ref<HTMLDivElement>) {\n const { context, props: otherProps } = useRadioGroup(props);\n const className = cn(\n 'flex items-start gap-y-2',\n {\n 'flex-wrap gap-x-4 ': otherProps.orientation === 'horizontal',\n 'flex-col': otherProps.orientation === 'vertical',\n },\n otherProps.className\n );\n\n return (\n <RadioGroupContext.Provider value={context}>\n <RadioGroupPrimitive.Root {...otherProps} className={className} data-taco=\"radio-group\" ref={ref} />\n </RadioGroupContext.Provider>\n );\n}) as ForwardedRadioGroupWithStatics;\nRadioGroup.Item = RadioGroupItem;\n"],"names":["getRadioGroupItemValueAsString","value","String","findByValue","values","valueAsString","find","RadioGroupContext","React","disabled","invalid","RadioGroupItem","props","ref","context","children","otherProps","isDisabled","className","cn","getRadioClassnames","labelClassName","RadioGroupPrimitive","useRadioGroup","defaultValue","onChange","orientation","radioGroupItemValues","forEach","child","push","valueProps","undefined","handleChange","onValueChange","RadioGroup","Provider","Item"],"mappings":"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"}
@@ -6,6 +6,7 @@ import { useLocalization } from '../Provider/Localization.js';
6
6
  import { Button } from '../Button/Button.js';
7
7
  import { Spinner } from '../Spinner/Spinner.js';
8
8
  import { Root, Trigger, Portal, Content } from '@radix-ui/react-popover';
9
+ import { debounce } from '../../utils/debounce.js';
9
10
  import { useBoundingClientRectListener } from '../../hooks/useBoundingClientRectListener.js';
10
11
  import { createCustomKeyboardEvent } from '../../utils/input.js';
11
12
  import { useControllableState } from '@radix-ui/react-use-controllable-state';
@@ -16,7 +17,7 @@ import { Root as Root$1, createListboxValueSetter } from '../../primitives/Listb
16
17
  import '../../primitives/Listbox2/components/Option.js';
17
18
  import '../../primitives/Listbox2/components/Group.js';
18
19
  import '../../primitives/Listbox2/components/Title.js';
19
- import { createCollectionClassName, getFontSize } from './utilities.js';
20
+ import { createCollectionClassName, getFontSize, filterOption } from './utilities.js';
20
21
  import { Select2Context } from './components/Context.js';
21
22
  import { Option } from './components/Option.js';
22
23
  import { Group } from './components/Group.js';
@@ -81,7 +82,6 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
81
82
  // align the listbox min width with the width of the input - it should never be smaller
82
83
  const dimensions = useBoundingClientRectListener(internalRef);
83
84
  // state
84
- const [tabTriggeredClose, setTabTriggeredClose] = React__default.useState(false);
85
85
  const [open, setOpen] = React__default.useState(false);
86
86
  const [value, _setValue] = useControllableState({
87
87
  // uncontrolled
@@ -134,58 +134,69 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
134
134
  createDialog,
135
135
  createTriggerText
136
136
  };
137
+ const hasInlineCreation = onCreate && !createDialog;
138
+ const hasSearch = flattenedChildren.length > 5 || hasInlineCreation;
139
+ const visibleChildren = searchQuery === '' ? initialChildren : filteredChildren;
140
+ const selectOptions = searchQuery === '' ? flattenedChildren.map(child => child.props.value) : filteredChildren.map(child => isGroup(child) ? Array.isArray(child.props.children) && child.props.children.map(subChild => subChild.props.value) : child.props.value).flatMap(c => c) || [];
141
+ // support typeahead functionality when search isn't available
142
+ const queryTimeoutRef = React__default.useRef('');
143
+ const typeahead = debounce(function () {
144
+ if (!queryTimeoutRef.current) {
145
+ return;
146
+ }
147
+ const matchedValueIndex = visibleChildren.findIndex(child => filterOption(child, queryTimeoutRef.current));
148
+ if (matchedValueIndex > -1) {
149
+ setValue(selectOptions[matchedValueIndex]);
150
+ }
151
+ queryTimeoutRef.current = '';
152
+ }, 200);
153
+ const setValueIfMatched = query => {
154
+ queryTimeoutRef.current = queryTimeoutRef.current + query;
155
+ typeahead();
156
+ };
137
157
  const handleKeyDown = event => {
138
158
  var _listboxRef$current;
139
159
  if (open) {
140
160
  event.preventDefault();
141
- } else if (isElementInsideTable3OrReport(event.currentTarget)) {
161
+ } else if (isElementInsideTable3OrReport(event.currentTarget) && isAriaDirectionKey(event)) {
142
162
  return;
143
163
  } else if (!event.ctrlKey && !event.metaKey && (event.key === 'ArrowDown' || /^[a-z0-9]$/i.test(event.key))) {
144
164
  setOpen(true);
165
+ if (!hasSearch) {
166
+ setValueIfMatched(event.key);
167
+ }
145
168
  }
146
169
  // the focus should always remain on the input, so we forward events on to the listbox
147
170
  (_listboxRef$current = listboxRef.current) === null || _listboxRef$current === void 0 ? void 0 : _listboxRef$current.dispatchEvent(createCustomKeyboardEvent(event));
148
171
  };
149
- let handleBlur;
150
- if (otherProps.onBlur) {
151
- // we might be focusing on an input or something inside the dropdown that was triggered by the select
152
- // so see if the element gaining focus is inside a portal and look up its controller
153
- // if we don't do this, things like validate on blur occur while simply opening the select
154
- handleBlur = event => {
155
- var _elementGainingFocus$;
156
- const elementGainingFocus = event.relatedTarget;
157
- if (elementGainingFocus === undefined) {
158
- return;
159
- }
160
- const portalId = elementGainingFocus === null || elementGainingFocus === void 0 ? void 0 : (_elementGainingFocus$ = elementGainingFocus.closest('[data-radix-popper-content-wrapper] > :first-child')) === null || _elementGainingFocus$ === void 0 ? void 0 : _elementGainingFocus$.id;
161
- if (!portalId || event.currentTarget.getAttribute(`aria-controls`) !== portalId) {
162
- var _otherProps$onBlur;
163
- (_otherProps$onBlur = otherProps.onBlur) === null || _otherProps$onBlur === void 0 ? void 0 : _otherProps$onBlur.call(otherProps, event);
164
- }
165
- };
166
- }
172
+ const shouldFocusNextRef = React__default.useRef(false);
167
173
  const handleListboxKeyDown = event => {
168
174
  if (isAriaDirectionKey(event)) {
169
175
  setShouldPauseHoverState(true);
176
+ return;
177
+ }
178
+ if (event.key === 'Tab') {
179
+ shouldFocusNextRef.current = true;
180
+ setOpen(false);
181
+ return;
182
+ }
183
+ // support typeahead to set the value by typing its text
184
+ if (!hasSearch && /^[a-z0-9]$/i.test(event.key)) {
185
+ setValueIfMatched(event.key);
186
+ return;
170
187
  }
171
188
  };
189
+ // popover closes and unmounts before any event can be used to focus next, so prevent focusing the trigger and focus next
172
190
  const handleCloseAutoFocus = event => {
173
- event.preventDefault();
174
- event.stopPropagation();
175
- if (tabTriggeredClose) {
176
- const nextFocussableElement = getNextFocussableElement(internalRef.current);
177
- if (nextFocussableElement) {
178
- // UX requirement: move focus to the next focussable element when tab key is pressed to select the value
179
- nextFocussableElement.focus();
180
- // Reset the tabTriggeredClose state
181
- setTabTriggeredClose(false);
182
- }
183
- } else {
184
- var _internalRef$current;
185
- (_internalRef$current = internalRef.current) === null || _internalRef$current === void 0 ? void 0 : _internalRef$current.focus();
191
+ if (shouldFocusNextRef.current) {
192
+ var _otherProps$onBlur, _getNextFocussableEle;
193
+ event.preventDefault();
194
+ shouldFocusNextRef.current = false;
195
+ (_otherProps$onBlur = otherProps.onBlur) === null || _otherProps$onBlur === void 0 ? void 0 : _otherProps$onBlur.call(otherProps, event);
196
+ (_getNextFocussableEle = getNextFocussableElement(internalRef.current)) === null || _getNextFocussableEle === void 0 ? void 0 : _getNextFocussableEle.focus();
197
+ return;
186
198
  }
187
199
  };
188
- const selectOptions = searchQuery === '' ? flattenedChildren.map(child => child.props.value) : filteredChildren.map(child => isGroup(child) ? Array.isArray(child.props.children) && child.props.children.map(subChild => subChild.props.value) : child.props.value).flatMap(c => c) || [];
189
200
  const areAllSelected = Array.isArray(value) && selectOptions.every(option => value.includes(option));
190
201
  const selectAllText = React__default.useMemo(() => {
191
202
  if (searchQuery === '') {
@@ -217,8 +228,6 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
217
228
  setValue(nextValue);
218
229
  }
219
230
  };
220
- const hasInlineCreation = onCreate && !createDialog;
221
- const hasSearch = flattenedChildren.length > 5 || hasInlineCreation;
222
231
  const className = cn('border-grey-300 rounded border bg-white py-1.5 shadow-md ', {
223
232
  'focus-within:yt-focus': !hasSearch,
224
233
  'outline-none': hasSearch
@@ -234,18 +243,14 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
234
243
  }, /*#__PURE__*/React__default.createElement(Trigger$1, Object.assign({}, otherProps, {
235
244
  "aria-haspopup": "listbox",
236
245
  emptyValue: emptyValue,
237
- onBlur: handleBlur,
238
246
  onKeyDown: handleKeyDown,
239
247
  placeholder: placeholder,
240
248
  ref: internalRef
241
249
  }), flattenedChildren)), /*#__PURE__*/React__default.createElement(Portal, null, /*#__PURE__*/React__default.createElement(Content, {
242
250
  asChild: true,
243
251
  align: "start",
244
- onOpenAutoFocus: () => {
245
- var _internalRef$current2;
246
- (_internalRef$current2 = internalRef.current) === null || _internalRef$current2 === void 0 ? void 0 : _internalRef$current2.focus();
247
- },
248
252
  onCloseAutoFocus: handleCloseAutoFocus,
253
+ onPointerDownOutside: otherProps.onBlur,
249
254
  sideOffset: 4,
250
255
  tabIndex: -1
251
256
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -255,8 +260,7 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
255
260
  }
256
261
  }, hasSearch ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Search, {
257
262
  placeholder: hasInlineCreation ? texts.select2.searchOrCreate : texts.select2.search,
258
- ref: searchRef,
259
- onTabKeyPress: () => setTabTriggeredClose(true)
263
+ ref: searchRef
260
264
  }), multiple && selectOptions.length > 1 && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Button, {
261
265
  className: "!justify-start",
262
266
  appearance: "discrete",
@@ -285,7 +289,7 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
285
289
  ref: listboxRef,
286
290
  setValue: setValue,
287
291
  value: value
288
- }, searchQuery === '' ? (/*#__PURE__*/React__default.createElement(Collection, null, initialChildren)) : (/*#__PURE__*/React__default.createElement(Collection, null, filteredChildren)), onCreate ? /*#__PURE__*/React__default.createElement(Create, {
292
+ }, /*#__PURE__*/React__default.createElement(Collection, null, visibleChildren), onCreate ? /*#__PURE__*/React__default.createElement(Create, {
289
293
  onCreate: onCreate,
290
294
  options: flattenedChildren
291
295
  }) : null))))), /*#__PURE__*/React__default.createElement(ControlledHiddenField, {
@@ -326,6 +330,7 @@ const ControlledHiddenField = props => {
326
330
  key: String(bubbleValue),
327
331
  multiple: multiple,
328
332
  name: name,
333
+ tabIndex: -1,
329
334
  value: bubbleValue
330
335
  }, emptyValue !== undefined ? /*#__PURE__*/React__default.createElement("option", {
331
336
  value: emptyValue
@@ -1 +1 @@
1
- {"version":3,"file":"Select2.js","sources":["../../../../../../../src/components/Select2/Select2.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'clsx';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as ListboxPrimitive from '../../primitives/Listbox2/Listbox2';\nimport {\n Select2Children,\n Select2CreateHandler,\n Select2CreateDialogRenderer,\n Select2DeleteHandler,\n Select2EditHandler,\n Select2OptionValue,\n Select2Value,\n} from './types';\nimport { Option, Select2OptionProps } from './components/Option';\nimport { Group, Select2GroupProps } from './components/Group';\nimport { Select2TitleProps, Title } from './components/Title';\nimport { Select2Context } from './components/Context';\nimport { createCollectionClassName, getFontSize } from './utilities';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { useBoundingClientRectListener } from '../../hooks/useBoundingClientRectListener';\nimport { createCustomKeyboardEvent } from '../../utils/input';\nimport { Trigger } from './components/Trigger';\nimport { useIsFormControl } from '../../hooks/useIsFormControl';\nimport { BubbleSelect } from '../../primitives/BubbleSelect';\nimport { Search } from './components/Search';\nimport { isGroup, useChildren } from './hooks/useChildren';\n\nimport { Create } from './components/Create';\nimport { Collection } from './components/Collection';\nimport { CollectionRef } from '../../primitives/Collection/Collection';\nimport { useLocalization } from '../Provider/Localization';\nimport { useIsHoverStatePaused } from '../../hooks/useIsHoverStatePaused';\nimport { isAriaDirectionKey } from '../../utils/aria';\nimport { getNextFocussableElement, isElementInsideTable3OrReport } from '../../utils/dom';\nimport { FontSize, FontSizes } from '../../types';\nimport { Button } from '../Button/Button';\nimport { Spinner } from '../Spinner/Spinner';\n\ntype Select2Texts = {\n allSelect: string;\n allDeselect: string;\n cancel: string;\n chooseColor: string;\n create: string;\n delete: string;\n save: string;\n search: string;\n searchOrCreate: string;\n selectAll: string;\n selectAllResults: string;\n deselectAll: string;\n deselectAllResults: string;\n};\n\ntype Select2Props = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\n /** Autofocus Select2 when loaded **/\n autoFocus?: boolean;\n /** Array of options in Select2 */\n children: Select2Children;\n /** Initial value of the input in Select2 */\n defaultValue?: Select2Value;\n /** Set what value should have an empty option in Select2 */\n emptyValue?: Select2OptionValue;\n /** Whether the Select2 is in a disabled state **/\n disabled?: boolean;\n /** Font size of text in Select2 **/\n fontSize?: FontSize;\n /** Draws attention to the Select2 by changing its style and making it visually prominent */\n highlighted?: boolean;\n /** Whether the Select2 is in an invalid state **/\n invalid?: boolean;\n /** Whether the Select2 is loading the data **/\n loading?: boolean;\n /** Whether the Select2 allows selecting multiple values **/\n multiple?: boolean;\n /** Whether the Select2 is in an invalid state **/\n name?: string;\n /** Handler called when user chooses an option from the provided options **/\n onChange?: (value: Select2Value) => void;\n /** Handler called when user creates a new option **/\n onCreate?: Select2CreateHandler;\n /** Handler called when user deletes an option **/\n onDelete?: Select2DeleteHandler;\n /** Handler called when user edits an option **/\n onEdit?: Select2EditHandler;\n /** Placeholder showed when nothing is selected **/\n placeholder?: string;\n /** Whether the Select2 is in a readonly state **/\n readOnly?: boolean;\n required?: boolean;\n /** Renders select options as tags **/\n tags?: boolean;\n /** Value of the input in select2 */\n value?: Select2Value;\n /** Create dialog component, if specified, then create button will become always visible in the bottom of options dropdown,\n * when clicked, it will open create dialog and wait for 'onCreate' handler to be triggered from the dialog */\n createDialog?: Select2CreateDialogRenderer;\n /** Create button text */\n createTriggerText?: string;\n};\ntype Select2PropsWithStatics = React.ForwardRefExoticComponent<Select2Props & React.RefAttributes<HTMLButtonElement>> & {\n Option: React.ForwardRefExoticComponent<Select2OptionProps>;\n Group: React.ForwardRefExoticComponent<Select2GroupProps>;\n Title: React.ForwardRefExoticComponent<Select2TitleProps>;\n};\n\nconst Select2 = React.forwardRef<HTMLButtonElement, Select2Props>(function Select2(props, ref) {\n const {\n children: initChildren,\n defaultValue: defaultProp,\n disabled = false,\n emptyValue = undefined,\n fontSize,\n highlighted = false,\n invalid = false,\n loading,\n multiple = false,\n name,\n onChange,\n onCreate,\n onDelete,\n onEdit,\n placeholder,\n readOnly = false,\n tags = false,\n value: prop,\n createDialog,\n createTriggerText,\n ...otherProps\n } = props;\n\n const emptyOption: React.ReactElement<Select2OptionProps> | undefined = React.useMemo(() => {\n if (emptyValue !== undefined && !multiple) {\n // Empty option has 0px height, because it's empty, so need to apply height manually\n return <Option key=\"__empty\" children=\"\" value={emptyValue} className=\"h-8\" />;\n }\n return;\n }, [emptyValue, multiple]);\n\n const initialChildren = React.useMemo(() => {\n if (emptyOption) {\n return [emptyOption, ...initChildren] as Select2Children;\n }\n return initChildren;\n }, [emptyOption, initChildren]);\n\n // refs\n const internalRef = useMergedRef<HTMLButtonElement>(ref);\n const listboxRef = React.useRef<CollectionRef>(null);\n const searchRef = React.useRef<HTMLInputElement>(null);\n const { texts } = useLocalization();\n // align the listbox min width with the width of the input - it should never be smaller\n const dimensions = useBoundingClientRectListener(internalRef);\n\n // state\n const [tabTriggeredClose, setTabTriggeredClose] = React.useState(false);\n const [open, setOpen] = React.useState(false);\n const [value, _setValue] = useControllableState<Select2Value>({\n // uncontrolled\n defaultProp,\n // controlled\n onChange,\n prop,\n });\n const setValue = ListboxPrimitive.createListboxValueSetter(multiple, _setValue);\n const [validationError, setValidationError] = React.useState<Error | undefined>();\n const [shouldPauseHoverState, setShouldPauseHoverState] = useIsHoverStatePaused();\n\n const { flattenedChildren, filteredChildren, searchQuery, setSearchQuery } = useChildren({\n children: initialChildren,\n emptyValue,\n multiple,\n open,\n setValue,\n value,\n });\n\n // context\n const context = {\n disabled,\n highlighted,\n invalid,\n listboxRef,\n multiple,\n onCreate,\n onDelete,\n onEdit,\n open,\n readOnly,\n ref: internalRef,\n searchQuery,\n searchRef,\n setOpen,\n setSearchQuery,\n setValidationError,\n setValue,\n shouldPauseHoverState,\n setShouldPauseHoverState,\n tags,\n fontSize,\n validationError,\n value,\n createDialog,\n createTriggerText,\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (open) {\n event.preventDefault();\n } else if (isElementInsideTable3OrReport(event.currentTarget)) {\n return;\n } else if (!event.ctrlKey && !event.metaKey && (event.key === 'ArrowDown' || /^[a-z0-9]$/i.test(event.key))) {\n setOpen(true);\n }\n\n // the focus should always remain on the input, so we forward events on to the listbox\n listboxRef.current?.dispatchEvent(createCustomKeyboardEvent(event as React.KeyboardEvent<HTMLInputElement>));\n };\n\n let handleBlur;\n\n if (otherProps.onBlur) {\n // we might be focusing on an input or something inside the dropdown that was triggered by the select\n // so see if the element gaining focus is inside a portal and look up its controller\n // if we don't do this, things like validate on blur occur while simply opening the select\n handleBlur = (event: React.FocusEvent<HTMLButtonElement>) => {\n const elementGainingFocus = event.relatedTarget;\n\n if (elementGainingFocus === undefined) {\n return;\n }\n\n const portalId = elementGainingFocus?.closest('[data-radix-popper-content-wrapper] > :first-child')?.id;\n\n if (!portalId || event.currentTarget.getAttribute(`aria-controls`) !== portalId) {\n otherProps.onBlur?.(event);\n }\n };\n }\n\n const handleListboxKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (isAriaDirectionKey(event)) {\n setShouldPauseHoverState(true);\n }\n };\n\n const handleCloseAutoFocus = (event: Event) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (tabTriggeredClose) {\n const nextFocussableElement = getNextFocussableElement(internalRef.current);\n\n if (nextFocussableElement) {\n // UX requirement: move focus to the next focussable element when tab key is pressed to select the value\n nextFocussableElement.focus();\n // Reset the tabTriggeredClose state\n setTabTriggeredClose(false);\n }\n } else {\n internalRef.current?.focus();\n }\n };\n\n const selectOptions =\n searchQuery === ''\n ? flattenedChildren.map(child => child.props.value)\n : filteredChildren\n .map(child =>\n isGroup(child)\n ? Array.isArray(child.props.children) && child.props.children.map(subChild => subChild.props.value)\n : child.props.value\n )\n .flatMap(c => c) || [];\n\n const areAllSelected = Array.isArray(value) && selectOptions.every(option => value.includes(option as string));\n\n const selectAllText = React.useMemo(() => {\n if (searchQuery === '') {\n if (areAllSelected) {\n return texts.select2.deselectAll;\n } else {\n return texts.select2.selectAll;\n }\n } else if (areAllSelected) {\n return texts.select2.deselectAllResults;\n } else {\n return texts.select2.selectAllResults;\n }\n }, [areAllSelected, searchQuery]);\n\n const selectAll = () => {\n if (!Array.isArray(value) || value.length === 0) {\n setValue(selectOptions);\n } else {\n // array of all available options which are not selected\n const preselectedValues = selectOptions.filter(option => !value.includes(option));\n setValue([...value, ...preselectedValues]);\n }\n };\n\n const deselectAll = () => {\n if (searchQuery === '') {\n setValue([]);\n } else {\n const nextValue = Array.isArray(value) && value.filter(subValue => !selectOptions.includes(subValue as string));\n setValue(nextValue);\n }\n };\n\n const hasInlineCreation = onCreate && !createDialog;\n const hasSearch = flattenedChildren.length > 5 || hasInlineCreation;\n const className = cn(\n 'border-grey-300 rounded border bg-white py-1.5 shadow-md ',\n {\n 'focus-within:yt-focus': !hasSearch,\n 'outline-none': hasSearch,\n },\n createCollectionClassName()\n );\n\n return (\n <Select2Context.Provider value={context}>\n <PopoverPrimitive.Root open={open} onOpenChange={setOpen}>\n <PopoverPrimitive.Trigger asChild data-taco=\"Select2\">\n <Trigger\n {...otherProps}\n aria-haspopup=\"listbox\"\n emptyValue={emptyValue}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={internalRef}>\n {flattenedChildren}\n </Trigger>\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n asChild\n align=\"start\"\n onOpenAutoFocus={() => {\n internalRef.current?.focus();\n }}\n onCloseAutoFocus={handleCloseAutoFocus}\n sideOffset={4}\n tabIndex={-1}>\n <div className={className} style={{ minWidth: dimensions?.width ? `${dimensions.width}px` : undefined }}>\n {hasSearch ? (\n <>\n <Search\n placeholder={hasInlineCreation ? texts.select2.searchOrCreate : texts.select2.search}\n ref={searchRef}\n onTabKeyPress={() => setTabTriggeredClose(true)}\n />\n {multiple && selectOptions.length > 1 && (\n <>\n <Button\n className=\"!justify-start\"\n appearance=\"discrete\"\n onClick={areAllSelected ? deselectAll : selectAll}>\n {selectAllText}\n </Button>\n <div className=\"border-grey-300 mx-3 rounded border-t\" />\n </>\n )}\n </>\n ) : null}\n {loading ? (\n <span className={cn('text-grey-700 flex items-center italic', fontSize && getFontSize(fontSize))}>\n <span>\n <Spinner\n delay={0}\n className={cn('ml-3 mr-2 mt-1.5 h-5 w-5', {\n '!mt-1 !h-3.5 !w-3.5': fontSize === FontSizes.small,\n '!h-4 !w-4': fontSize === FontSizes.medium,\n '!h-5 !w-5': fontSize === FontSizes.large,\n })}\n />\n </span>\n <span>{texts.listbox.loading}</span>\n </span>\n ) : flattenedChildren.length <= 0 ? (\n <div className=\"text-grey-700 -mt-0.5 flex h-8 items-center px-2\" role=\"presentation\">\n {texts.listbox.empty}\n </div>\n ) : (\n <ListboxPrimitive.Root\n className=\"flex flex-col gap-0.5 focus-visible:outline-none\"\n customSelector=\":scope > button\"\n disabled={disabled}\n multiple={multiple}\n onKeyDown={handleListboxKeyDown}\n readOnly={readOnly}\n ref={listboxRef}\n setValue={setValue}\n value={value}>\n {searchQuery === '' ? (\n <Collection>{initialChildren}</Collection>\n ) : (\n <Collection>{filteredChildren}</Collection>\n )}\n {onCreate ? <Create onCreate={onCreate} options={flattenedChildren} /> : null}\n </ListboxPrimitive.Root>\n )}\n </div>\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n <ControlledHiddenField\n emptyValue={emptyValue}\n multiple={multiple || tags}\n name={name}\n options={flattenedChildren.map(child => child.props.value)}\n parentRef={internalRef}\n setValue={setValue}\n value={value}\n />\n </PopoverPrimitive.Root>\n </Select2Context.Provider>\n );\n}) as Select2PropsWithStatics;\nSelect2.Option = Option;\nSelect2.Group = Group;\nSelect2.Title = Title;\n\ntype ControlledHiddenFieldProps = {\n emptyValue: ListboxPrimitive.Listbox2OptionValue | undefined;\n multiple: boolean;\n name: string | undefined;\n options: Array<any>;\n parentRef: React.RefObject<HTMLButtonElement>;\n setValue: (nextValue: any) => void;\n value: Select2Value | undefined;\n};\n\nconst ControlledHiddenField = (props: ControlledHiddenFieldProps) => {\n const { emptyValue, multiple, name, options, parentRef, value, setValue } = props;\n const isFormControl = useIsFormControl(parentRef, () => setValue(multiple ? [] : undefined));\n\n let bubbleValue;\n\n if (isFormControl) {\n if (value !== undefined) {\n if (multiple) {\n bubbleValue = Array.isArray(value) ? value.map(String) : [value === null ? '' : String(value)];\n } else {\n bubbleValue = value === null ? '' : String(value);\n }\n }\n\n return (\n <BubbleSelect aria-hidden key={String(bubbleValue)} multiple={multiple} name={name} value={bubbleValue}>\n {emptyValue !== undefined ? <option value={emptyValue as string} /> : null}\n {options.map(option => (\n <option key={String(option)} value={String(option)} />\n ))}\n </BubbleSelect>\n );\n }\n\n return null;\n};\nSelect2.displayName = 'Select2';\n\nexport { Select2 };\n\nexport type {\n Select2Texts,\n Select2GroupProps,\n Select2OptionProps,\n Select2OptionValue,\n Select2Value,\n Select2Props,\n Select2TitleProps,\n};\n"],"names":["Select2","React","forwardRef","props","ref","children","initChildren","defaultValue","defaultProp","disabled","emptyValue","undefined","fontSize","highlighted","invalid","loading","multiple","name","onChange","onCreate","onDelete","onEdit","placeholder","readOnly","tags","value","prop","createDialog","createTriggerText","otherProps","emptyOption","useMemo","Option","key","className","initialChildren","internalRef","useMergedRef","listboxRef","useRef","searchRef","texts","useLocalization","dimensions","useBoundingClientRectListener","tabTriggeredClose","setTabTriggeredClose","useState","open","setOpen","_setValue","useControllableState","setValue","ListboxPrimitive","validationError","setValidationError","shouldPauseHoverState","setShouldPauseHoverState","useIsHoverStatePaused","flattenedChildren","filteredChildren","searchQuery","setSearchQuery","useChildren","context","handleKeyDown","event","preventDefault","isElementInsideTable3OrReport","currentTarget","ctrlKey","metaKey","test","_listboxRef$current","current","dispatchEvent","createCustomKeyboardEvent","handleBlur","onBlur","elementGainingFocus","relatedTarget","portalId","_elementGainingFocus$","closest","id","getAttribute","_otherProps$onBlur","call","handleListboxKeyDown","isAriaDirectionKey","handleCloseAutoFocus","stopPropagation","nextFocussableElement","getNextFocussableElement","focus","_internalRef$current","selectOptions","map","child","isGroup","Array","isArray","subChild","flatMap","c","areAllSelected","every","option","includes","selectAllText","select2","deselectAll","selectAll","deselectAllResults","selectAllResults","length","preselectedValues","filter","nextValue","subValue","hasInlineCreation","hasSearch","cn","createCollectionClassName","Select2Context","Provider","PopoverPrimitive","onOpenChange","asChild","Trigger","onKeyDown","align","onOpenAutoFocus","_internalRef$current2","onCloseAutoFocus","sideOffset","tabIndex","style","minWidth","width","Search","searchOrCreate","search","onTabKeyPress","Button","appearance","onClick","getFontSize","Spinner","delay","FontSizes","small","medium","large","listbox","role","empty","customSelector","Collection","Create","options","ControlledHiddenField","parentRef","Group","Title","isFormControl","useIsFormControl","bubbleValue","String","BubbleSelect","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Select2.js","sources":["../../../../../../../src/components/Select2/Select2.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'clsx';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as ListboxPrimitive from '../../primitives/Listbox2/Listbox2';\nimport {\n Select2Children,\n Select2CreateHandler,\n Select2CreateDialogRenderer,\n Select2DeleteHandler,\n Select2EditHandler,\n Select2OptionValue,\n Select2Value,\n} from './types';\nimport { Option, Select2OptionProps } from './components/Option';\nimport { Group, Select2GroupProps } from './components/Group';\nimport { Select2TitleProps, Title } from './components/Title';\nimport { Select2Context } from './components/Context';\nimport { createCollectionClassName, filterOption, getFontSize } from './utilities';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { useBoundingClientRectListener } from '../../hooks/useBoundingClientRectListener';\nimport { createCustomKeyboardEvent } from '../../utils/input';\nimport { Trigger } from './components/Trigger';\nimport { useIsFormControl } from '../../hooks/useIsFormControl';\nimport { BubbleSelect } from '../../primitives/BubbleSelect';\nimport { Search } from './components/Search';\nimport { isGroup, useChildren } from './hooks/useChildren';\n\nimport { Create } from './components/Create';\nimport { Collection } from './components/Collection';\nimport { CollectionRef } from '../../primitives/Collection/Collection';\nimport { useLocalization } from '../Provider/Localization';\nimport { useIsHoverStatePaused } from '../../hooks/useIsHoverStatePaused';\nimport { isAriaDirectionKey } from '../../utils/aria';\nimport { getNextFocussableElement, isElementInsideTable3OrReport } from '../../utils/dom';\nimport { FontSize, FontSizes } from '../../types';\nimport { Button } from '../Button/Button';\nimport { Spinner } from '../Spinner/Spinner';\nimport { debounce } from '../../utils/debounce';\n\ntype Select2Texts = {\n allSelect: string;\n allDeselect: string;\n cancel: string;\n chooseColor: string;\n create: string;\n delete: string;\n save: string;\n search: string;\n searchOrCreate: string;\n selectAll: string;\n selectAllResults: string;\n deselectAll: string;\n deselectAllResults: string;\n};\n\ntype Select2Props = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\n /** Autofocus Select2 when loaded **/\n autoFocus?: boolean;\n /** Array of options in Select2 */\n children: Select2Children;\n /** Initial value of the input in Select2 */\n defaultValue?: Select2Value;\n /** Set what value should have an empty option in Select2 */\n emptyValue?: Select2OptionValue;\n /** Whether the Select2 is in a disabled state **/\n disabled?: boolean;\n /** Font size of text in Select2 **/\n fontSize?: FontSize;\n /** Draws attention to the Select2 by changing its style and making it visually prominent */\n highlighted?: boolean;\n /** Whether the Select2 is in an invalid state **/\n invalid?: boolean;\n /** Whether the Select2 is loading the data **/\n loading?: boolean;\n /** Whether the Select2 allows selecting multiple values **/\n multiple?: boolean;\n /** Whether the Select2 is in an invalid state **/\n name?: string;\n /** Handler called when user chooses an option from the provided options **/\n onChange?: (value: Select2Value) => void;\n /** Handler called when user creates a new option **/\n onCreate?: Select2CreateHandler;\n /** Handler called when user deletes an option **/\n onDelete?: Select2DeleteHandler;\n /** Handler called when user edits an option **/\n onEdit?: Select2EditHandler;\n /** Placeholder showed when nothing is selected **/\n placeholder?: string;\n /** Whether the Select2 is in a readonly state **/\n readOnly?: boolean;\n required?: boolean;\n /** Renders select options as tags **/\n tags?: boolean;\n /** Value of the input in select2 */\n value?: Select2Value;\n /** Create dialog component, if specified, then create button will become always visible in the bottom of options dropdown,\n * when clicked, it will open create dialog and wait for 'onCreate' handler to be triggered from the dialog */\n createDialog?: Select2CreateDialogRenderer;\n /** Create button text */\n createTriggerText?: string;\n};\ntype Select2PropsWithStatics = React.ForwardRefExoticComponent<Select2Props & React.RefAttributes<HTMLButtonElement>> & {\n Option: React.ForwardRefExoticComponent<Select2OptionProps>;\n Group: React.ForwardRefExoticComponent<Select2GroupProps>;\n Title: React.ForwardRefExoticComponent<Select2TitleProps>;\n};\n\nconst Select2 = React.forwardRef<HTMLButtonElement, Select2Props>(function Select2(props, ref) {\n const {\n children: initChildren,\n defaultValue: defaultProp,\n disabled = false,\n emptyValue = undefined,\n fontSize,\n highlighted = false,\n invalid = false,\n loading,\n multiple = false,\n name,\n onChange,\n onCreate,\n onDelete,\n onEdit,\n placeholder,\n readOnly = false,\n tags = false,\n value: prop,\n createDialog,\n createTriggerText,\n ...otherProps\n } = props;\n\n const emptyOption: React.ReactElement<Select2OptionProps> | undefined = React.useMemo(() => {\n if (emptyValue !== undefined && !multiple) {\n // Empty option has 0px height, because it's empty, so need to apply height manually\n return <Option key=\"__empty\" children=\"\" value={emptyValue} className=\"h-8\" />;\n }\n return;\n }, [emptyValue, multiple]);\n\n const initialChildren = React.useMemo(() => {\n if (emptyOption) {\n return [emptyOption, ...initChildren] as Select2Children;\n }\n return initChildren;\n }, [emptyOption, initChildren]);\n\n // refs\n const internalRef = useMergedRef<HTMLButtonElement>(ref);\n const listboxRef = React.useRef<CollectionRef>(null);\n const searchRef = React.useRef<HTMLInputElement>(null);\n const { texts } = useLocalization();\n // align the listbox min width with the width of the input - it should never be smaller\n const dimensions = useBoundingClientRectListener(internalRef);\n\n // state\n const [open, setOpen] = React.useState(false);\n const [value, _setValue] = useControllableState<Select2Value>({\n // uncontrolled\n defaultProp,\n // controlled\n onChange,\n prop,\n });\n const setValue = ListboxPrimitive.createListboxValueSetter(multiple, _setValue);\n const [validationError, setValidationError] = React.useState<Error | undefined>();\n const [shouldPauseHoverState, setShouldPauseHoverState] = useIsHoverStatePaused();\n\n const { flattenedChildren, filteredChildren, searchQuery, setSearchQuery } = useChildren({\n children: initialChildren,\n emptyValue,\n multiple,\n open,\n setValue,\n value,\n });\n\n // context\n const context = {\n disabled,\n highlighted,\n invalid,\n listboxRef,\n multiple,\n onCreate,\n onDelete,\n onEdit,\n open,\n readOnly,\n ref: internalRef,\n searchQuery,\n searchRef,\n setOpen,\n setSearchQuery,\n setValidationError,\n setValue,\n shouldPauseHoverState,\n setShouldPauseHoverState,\n tags,\n fontSize,\n validationError,\n value,\n createDialog,\n createTriggerText,\n };\n\n const hasInlineCreation = onCreate && !createDialog;\n const hasSearch = flattenedChildren.length > 5 || hasInlineCreation;\n const visibleChildren = searchQuery === '' ? initialChildren : filteredChildren;\n const selectOptions =\n searchQuery === ''\n ? flattenedChildren.map(child => child.props.value)\n : filteredChildren\n .map(child =>\n isGroup(child)\n ? Array.isArray(child.props.children) && child.props.children.map(subChild => subChild.props.value)\n : child.props.value\n )\n .flatMap(c => c) || [];\n\n // support typeahead functionality when search isn't available\n const queryTimeoutRef = React.useRef('');\n\n const typeahead = debounce(function () {\n if (!queryTimeoutRef.current) {\n return;\n }\n\n const matchedValueIndex = visibleChildren.findIndex(child =>\n filterOption(child as React.ReactElement<Select2OptionProps>, queryTimeoutRef.current)\n );\n\n if (matchedValueIndex > -1) {\n setValue(selectOptions[matchedValueIndex]);\n }\n\n queryTimeoutRef.current = '';\n }, 200);\n\n const setValueIfMatched = (query: string) => {\n queryTimeoutRef.current = queryTimeoutRef.current + query;\n typeahead();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (open) {\n event.preventDefault();\n } else if (isElementInsideTable3OrReport(event.currentTarget) && isAriaDirectionKey(event)) {\n return;\n } else if (!event.ctrlKey && !event.metaKey && (event.key === 'ArrowDown' || /^[a-z0-9]$/i.test(event.key))) {\n setOpen(true);\n\n if (!hasSearch) {\n setValueIfMatched(event.key);\n }\n }\n\n // the focus should always remain on the input, so we forward events on to the listbox\n listboxRef.current?.dispatchEvent(createCustomKeyboardEvent(event as React.KeyboardEvent<HTMLInputElement>));\n };\n\n const shouldFocusNextRef = React.useRef<boolean>(false);\n\n const handleListboxKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (isAriaDirectionKey(event)) {\n setShouldPauseHoverState(true);\n return;\n }\n\n if (event.key === 'Tab') {\n shouldFocusNextRef.current = true;\n setOpen(false);\n return;\n }\n\n // support typeahead to set the value by typing its text\n if (!hasSearch && /^[a-z0-9]$/i.test(event.key)) {\n setValueIfMatched(event.key);\n return;\n }\n };\n\n // popover closes and unmounts before any event can be used to focus next, so prevent focusing the trigger and focus next\n const handleCloseAutoFocus = event => {\n if (shouldFocusNextRef.current) {\n event.preventDefault();\n shouldFocusNextRef.current = false;\n otherProps.onBlur?.(event as any);\n getNextFocussableElement(internalRef.current)?.focus();\n return;\n }\n };\n\n const areAllSelected = Array.isArray(value) && selectOptions.every(option => value.includes(option as string));\n\n const selectAllText = React.useMemo(() => {\n if (searchQuery === '') {\n if (areAllSelected) {\n return texts.select2.deselectAll;\n } else {\n return texts.select2.selectAll;\n }\n } else if (areAllSelected) {\n return texts.select2.deselectAllResults;\n } else {\n return texts.select2.selectAllResults;\n }\n }, [areAllSelected, searchQuery]);\n\n const selectAll = () => {\n if (!Array.isArray(value) || value.length === 0) {\n setValue(selectOptions);\n } else {\n // array of all available options which are not selected\n const preselectedValues = selectOptions.filter(option => !value.includes(option));\n setValue([...value, ...preselectedValues]);\n }\n };\n\n const deselectAll = () => {\n if (searchQuery === '') {\n setValue([]);\n } else {\n const nextValue = Array.isArray(value) && value.filter(subValue => !selectOptions.includes(subValue as string));\n setValue(nextValue);\n }\n };\n\n const className = cn(\n 'border-grey-300 rounded border bg-white py-1.5 shadow-md ',\n {\n 'focus-within:yt-focus': !hasSearch,\n 'outline-none': hasSearch,\n },\n createCollectionClassName()\n );\n\n return (\n <Select2Context.Provider value={context}>\n <PopoverPrimitive.Root open={open} onOpenChange={setOpen}>\n <PopoverPrimitive.Trigger asChild data-taco=\"Select2\">\n <Trigger\n {...otherProps}\n aria-haspopup=\"listbox\"\n emptyValue={emptyValue}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={internalRef}>\n {flattenedChildren}\n </Trigger>\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n asChild\n align=\"start\"\n onCloseAutoFocus={handleCloseAutoFocus}\n onPointerDownOutside={otherProps.onBlur as any}\n sideOffset={4}\n tabIndex={-1}>\n <div className={className} style={{ minWidth: dimensions?.width ? `${dimensions.width}px` : undefined }}>\n {hasSearch ? (\n <>\n <Search\n placeholder={hasInlineCreation ? texts.select2.searchOrCreate : texts.select2.search}\n ref={searchRef}\n />\n {multiple && selectOptions.length > 1 && (\n <>\n <Button\n className=\"!justify-start\"\n appearance=\"discrete\"\n onClick={areAllSelected ? deselectAll : selectAll}>\n {selectAllText}\n </Button>\n <div className=\"border-grey-300 mx-3 rounded border-t\" />\n </>\n )}\n </>\n ) : null}\n {loading ? (\n <span className={cn('text-grey-700 flex items-center italic', fontSize && getFontSize(fontSize))}>\n <span>\n <Spinner\n delay={0}\n className={cn('ml-3 mr-2 mt-1.5 h-5 w-5', {\n '!mt-1 !h-3.5 !w-3.5': fontSize === FontSizes.small,\n '!h-4 !w-4': fontSize === FontSizes.medium,\n '!h-5 !w-5': fontSize === FontSizes.large,\n })}\n />\n </span>\n <span>{texts.listbox.loading}</span>\n </span>\n ) : flattenedChildren.length <= 0 ? (\n <div className=\"text-grey-700 -mt-0.5 flex h-8 items-center px-2\" role=\"presentation\">\n {texts.listbox.empty}\n </div>\n ) : (\n <ListboxPrimitive.Root\n className=\"flex flex-col gap-0.5 focus-visible:outline-none\"\n customSelector=\":scope > button\"\n disabled={disabled}\n multiple={multiple}\n onKeyDown={handleListboxKeyDown}\n readOnly={readOnly}\n ref={listboxRef}\n setValue={setValue}\n value={value}>\n <Collection>{visibleChildren}</Collection>\n {onCreate ? <Create onCreate={onCreate} options={flattenedChildren} /> : null}\n </ListboxPrimitive.Root>\n )}\n </div>\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n <ControlledHiddenField\n emptyValue={emptyValue}\n multiple={multiple || tags}\n name={name}\n options={flattenedChildren.map(child => child.props.value)}\n parentRef={internalRef}\n setValue={setValue}\n value={value}\n />\n </PopoverPrimitive.Root>\n </Select2Context.Provider>\n );\n}) as Select2PropsWithStatics;\nSelect2.Option = Option;\nSelect2.Group = Group;\nSelect2.Title = Title;\n\ntype ControlledHiddenFieldProps = {\n emptyValue: ListboxPrimitive.Listbox2OptionValue | undefined;\n multiple: boolean;\n name: string | undefined;\n options: Array<any>;\n parentRef: React.RefObject<HTMLButtonElement>;\n setValue: (nextValue: any) => void;\n value: Select2Value | undefined;\n};\n\nconst ControlledHiddenField = (props: ControlledHiddenFieldProps) => {\n const { emptyValue, multiple, name, options, parentRef, value, setValue } = props;\n const isFormControl = useIsFormControl(parentRef, () => setValue(multiple ? [] : undefined));\n\n let bubbleValue;\n\n if (isFormControl) {\n if (value !== undefined) {\n if (multiple) {\n bubbleValue = Array.isArray(value) ? value.map(String) : [value === null ? '' : String(value)];\n } else {\n bubbleValue = value === null ? '' : String(value);\n }\n }\n\n return (\n <BubbleSelect aria-hidden key={String(bubbleValue)} multiple={multiple} name={name} tabIndex={-1} value={bubbleValue}>\n {emptyValue !== undefined ? <option value={emptyValue as string} /> : null}\n {options.map(option => (\n <option key={String(option)} value={String(option)} />\n ))}\n </BubbleSelect>\n );\n }\n\n return null;\n};\nSelect2.displayName = 'Select2';\n\nexport { Select2 };\n\nexport type {\n Select2Texts,\n Select2GroupProps,\n Select2OptionProps,\n Select2OptionValue,\n Select2Value,\n Select2Props,\n Select2TitleProps,\n};\n"],"names":["Select2","React","forwardRef","props","ref","children","initChildren","defaultValue","defaultProp","disabled","emptyValue","undefined","fontSize","highlighted","invalid","loading","multiple","name","onChange","onCreate","onDelete","onEdit","placeholder","readOnly","tags","value","prop","createDialog","createTriggerText","otherProps","emptyOption","useMemo","Option","key","className","initialChildren","internalRef","useMergedRef","listboxRef","useRef","searchRef","texts","useLocalization","dimensions","useBoundingClientRectListener","open","setOpen","useState","_setValue","useControllableState","setValue","ListboxPrimitive","validationError","setValidationError","shouldPauseHoverState","setShouldPauseHoverState","useIsHoverStatePaused","flattenedChildren","filteredChildren","searchQuery","setSearchQuery","useChildren","context","hasInlineCreation","hasSearch","length","visibleChildren","selectOptions","map","child","isGroup","Array","isArray","subChild","flatMap","c","queryTimeoutRef","typeahead","debounce","current","matchedValueIndex","findIndex","filterOption","setValueIfMatched","query","handleKeyDown","event","preventDefault","isElementInsideTable3OrReport","currentTarget","isAriaDirectionKey","ctrlKey","metaKey","test","_listboxRef$current","dispatchEvent","createCustomKeyboardEvent","shouldFocusNextRef","handleListboxKeyDown","handleCloseAutoFocus","_otherProps$onBlur","_getNextFocussableEle","onBlur","call","getNextFocussableElement","focus","areAllSelected","every","option","includes","selectAllText","select2","deselectAll","selectAll","deselectAllResults","selectAllResults","preselectedValues","filter","nextValue","subValue","cn","createCollectionClassName","Select2Context","Provider","PopoverPrimitive","onOpenChange","asChild","Trigger","onKeyDown","align","onCloseAutoFocus","onPointerDownOutside","sideOffset","tabIndex","style","minWidth","width","Search","searchOrCreate","search","Button","appearance","onClick","getFontSize","Spinner","delay","FontSizes","small","medium","large","listbox","role","empty","customSelector","Collection","Create","options","ControlledHiddenField","parentRef","Group","Title","isFormControl","useIsFormControl","bubbleValue","String","BubbleSelect","displayName"],"mappings":"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"}
@@ -72,12 +72,13 @@ const Option = /*#__PURE__*/React__default.forwardRef(function Select2Option(pro
72
72
  }), hasValue ? (/*#__PURE__*/React__default.createElement(Icon, {
73
73
  name: "tick",
74
74
  className: "pointer-events-none invisible -mx-0.5 !h-4 !w-4 group-aria-selected:visible"
75
- })) : null, isTag ? (/*#__PURE__*/React__default.createElement(Tag, {
75
+ })) : null, typeof children !== 'string' ? (/*#__PURE__*/React__default.createElement("span", null, children)) : isTag ? (/*#__PURE__*/React__default.createElement(Tag, {
76
76
  className: "pointer-events-none my-1",
77
77
  color: color,
78
78
  icon: prefix
79
79
  }, children)) : (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, prefix ? typeof prefix === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
80
- name: prefix
80
+ name: prefix,
81
+ className: "!h-5 !w-5"
81
82
  }) : prefix : null, /*#__PURE__*/React__default.createElement("span", {
82
83
  className: "flex w-full justify-between"
83
84
  }, /*#__PURE__*/React__default.createElement("span", {
@@ -86,9 +87,10 @@ const Option = /*#__PURE__*/React__default.forwardRef(function Select2Option(pro
86
87
  className: "text-grey-700 -mt-1.5 mb-1.5 text-xs"
87
88
  }, description) : null), /*#__PURE__*/React__default.createElement("span", {
88
89
  className: "flex flex-col self-center"
89
- }, postfix ? typeof postfix === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
90
- name: postfix
91
- }) : postfix : null)))), popover ? (/*#__PURE__*/React__default.createElement(IconButton, {
90
+ }, postfix ? typeof postfix === 'string' ? (/*#__PURE__*/React__default.createElement(Icon, {
91
+ name: postfix,
92
+ className: "!h-5 !w-5"
93
+ })) : postfix : null)))), popover ? (/*#__PURE__*/React__default.createElement(IconButton, {
92
94
  icon: "ellipsis-vertical",
93
95
  appearance: "discrete",
94
96
  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', {
@@ -97,7 +99,7 @@ const Option = /*#__PURE__*/React__default.forwardRef(function Select2Option(pro
97
99
  onClick: event => {
98
100
  var _listboxRef$current;
99
101
  event.stopPropagation();
100
- listboxRef === null || listboxRef === void 0 ? void 0 : (_listboxRef$current = listboxRef.current) === null || _listboxRef$current === void 0 ? void 0 : _listboxRef$current.setActiveIndex(event.currentTarget.parentElement);
102
+ listboxRef === null || listboxRef === void 0 ? void 0 : (_listboxRef$current = listboxRef.current) === null || _listboxRef$current === void 0 ? void 0 : _listboxRef$current.setActiveIndexByElement(event.currentTarget.parentElement);
101
103
  },
102
104
  popover: popover,
103
105
  tabIndex: -1