@cube-dev/ui-kit 0.196.0 → 0.198.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1663) hide show
  1. package/dist/CHANGELOG.md +54 -9
  2. package/dist/_internal/hooks/use-debounced-value.js +2 -3
  3. package/dist/_internal/hooks/use-debounced-value.js.map +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +2 -3
  5. package/dist/_internal/hooks/use-deprecation-warning.js.map +1 -1
  6. package/dist/_internal/hooks/use-event.js +2 -3
  7. package/dist/_internal/hooks/use-event.js.map +1 -1
  8. package/dist/_internal/hooks/use-is-first-render.js +2 -3
  9. package/dist/_internal/hooks/use-is-first-render.js.map +1 -1
  10. package/dist/_internal/hooks/use-sync-ref.js +2 -3
  11. package/dist/_internal/hooks/use-sync-ref.js.map +1 -1
  12. package/dist/_internal/hooks/use-timer/timer.js +2 -2
  13. package/dist/_internal/hooks/use-timer/timer.js.map +1 -1
  14. package/dist/_internal/hooks/use-timer/use-timer.js +2 -3
  15. package/dist/_internal/hooks/use-timer/use-timer.js.map +1 -1
  16. package/dist/_internal/hooks/use-warn.js +2 -3
  17. package/dist/_internal/hooks/use-warn.js.map +1 -1
  18. package/dist/components/Block.d.ts +2 -5
  19. package/dist/components/Block.js +2 -3
  20. package/dist/components/Block.js.map +1 -1
  21. package/dist/components/CollectionItem.d.ts +4 -5
  22. package/dist/components/CollectionItem.js +4 -5
  23. package/dist/components/CollectionItem.js.map +1 -1
  24. package/dist/components/GlobalStyles.js +4 -5
  25. package/dist/components/GlobalStyles.js.map +1 -1
  26. package/dist/components/GridProvider.d.ts +2 -5
  27. package/dist/components/GridProvider.js +4 -4
  28. package/dist/components/GridProvider.js.map +1 -1
  29. package/dist/components/HiddenInput.js +2 -3
  30. package/dist/components/HiddenInput.js.map +1 -1
  31. package/dist/components/Root.d.ts +2 -5
  32. package/dist/components/Root.js +2 -3
  33. package/dist/components/Root.js.map +1 -1
  34. package/dist/components/actions/Action/Action.d.ts +2 -6
  35. package/dist/components/actions/Action/Action.js +2 -3
  36. package/dist/components/actions/Action/Action.js.map +1 -1
  37. package/dist/components/actions/Banner/Banner.d.ts +9 -12
  38. package/dist/components/actions/Banner/Banner.js +3 -4
  39. package/dist/components/actions/Banner/Banner.js.map +1 -1
  40. package/dist/components/actions/Banner/index.d.ts +2 -1
  41. package/dist/components/actions/Button/Button.d.ts +4 -7
  42. package/dist/components/actions/Button/Button.js +2 -3
  43. package/dist/components/actions/Button/Button.js.map +1 -1
  44. package/dist/components/actions/Button/index.d.ts +2 -1
  45. package/dist/components/actions/ButtonGroup/ButtonGroup.d.ts +1 -4
  46. package/dist/components/actions/ButtonGroup/ButtonGroup.js +2 -3
  47. package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
  48. package/dist/components/actions/ButtonSplit/ButtonSplit.d.ts +3 -6
  49. package/dist/components/actions/ButtonSplit/ButtonSplit.js +5 -5
  50. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  51. package/dist/components/actions/ButtonSplit/context.d.ts +3 -6
  52. package/dist/components/actions/ButtonSplit/context.js +2 -3
  53. package/dist/components/actions/ButtonSplit/context.js.map +1 -1
  54. package/dist/components/actions/ButtonSplit/index.d.ts +2 -1
  55. package/dist/components/actions/CommandMenu/CommandMenu.d.ts +6 -9
  56. package/dist/components/actions/CommandMenu/CommandMenu.js +89 -76
  57. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  58. package/dist/components/actions/CommandMenu/index.d.ts +2 -1
  59. package/dist/components/actions/CommandMenu/styled.js +3 -4
  60. package/dist/components/actions/CommandMenu/styled.js.map +1 -1
  61. package/dist/components/actions/ItemAction/ItemAction.d.ts +3 -6
  62. package/dist/components/actions/ItemAction/ItemAction.js +11 -9
  63. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  64. package/dist/components/actions/ItemAction/index.d.ts +2 -1
  65. package/dist/components/actions/ItemActionContext.d.ts +5 -14
  66. package/dist/components/actions/ItemActionContext.js +2 -3
  67. package/dist/components/actions/ItemActionContext.js.map +1 -1
  68. package/dist/components/actions/ItemActionsWrapper.js +2 -3
  69. package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
  70. package/dist/components/actions/ItemButton/ItemButton.d.ts +6 -9
  71. package/dist/components/actions/ItemButton/ItemButton.js +4 -5
  72. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  73. package/dist/components/actions/ItemButton/index.d.ts +2 -1
  74. package/dist/components/actions/Link/Link.d.ts +1 -5
  75. package/dist/components/actions/Link/Link.js +2 -3
  76. package/dist/components/actions/Link/Link.js.map +1 -1
  77. package/dist/components/actions/Menu/Menu.d.ts +7 -10
  78. package/dist/components/actions/Menu/Menu.js +9 -8
  79. package/dist/components/actions/Menu/Menu.js.map +1 -1
  80. package/dist/components/actions/Menu/MenuCollectionItem.d.ts +3 -4
  81. package/dist/components/actions/Menu/MenuCollectionItem.js +4 -5
  82. package/dist/components/actions/Menu/MenuCollectionItem.js.map +1 -1
  83. package/dist/components/actions/Menu/MenuItem.d.ts +5 -8
  84. package/dist/components/actions/Menu/MenuItem.js +4 -4
  85. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  86. package/dist/components/actions/Menu/MenuSection.d.ts +4 -7
  87. package/dist/components/actions/Menu/MenuSection.js +2 -3
  88. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  89. package/dist/components/actions/Menu/MenuTrigger.d.ts +4 -6
  90. package/dist/components/actions/Menu/MenuTrigger.js +5 -6
  91. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  92. package/dist/components/actions/Menu/SubMenuTrigger.d.ts +3 -5
  93. package/dist/components/actions/Menu/SubMenuTrigger.js +3 -4
  94. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  95. package/dist/components/actions/Menu/SubmenuTriggerContext.js +2 -3
  96. package/dist/components/actions/Menu/SubmenuTriggerContext.js.map +1 -1
  97. package/dist/components/actions/Menu/context.d.ts +3 -5
  98. package/dist/components/actions/Menu/context.js +2 -3
  99. package/dist/components/actions/Menu/context.js.map +1 -1
  100. package/dist/components/actions/Menu/index.d.ts +4 -3
  101. package/dist/components/actions/Menu/styled.js +3 -4
  102. package/dist/components/actions/Menu/styled.js.map +1 -1
  103. package/dist/components/actions/actions-run.js +2 -2
  104. package/dist/components/actions/actions-run.js.map +1 -1
  105. package/dist/components/actions/index.d.ts +8 -11
  106. package/dist/components/actions/index.js +8 -9
  107. package/dist/components/actions/index.js.map +1 -1
  108. package/dist/components/actions/use-action.d.ts +10 -27
  109. package/dist/components/actions/use-action.js +15 -7
  110. package/dist/components/actions/use-action.js.map +1 -1
  111. package/dist/components/actions/use-anchored-menu.d.ts +3 -5
  112. package/dist/components/actions/use-anchored-menu.js +5 -5
  113. package/dist/components/actions/use-anchored-menu.js.map +1 -1
  114. package/dist/components/actions/use-context-menu.d.ts +4 -5
  115. package/dist/components/actions/use-context-menu.js +9 -7
  116. package/dist/components/actions/use-context-menu.js.map +1 -1
  117. package/dist/components/content/ActiveZone/ActiveZone.d.ts +3 -5
  118. package/dist/components/content/ActiveZone/ActiveZone.js +3 -4
  119. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  120. package/dist/components/content/Alert/Alert.d.ts +1 -4
  121. package/dist/components/content/Alert/Alert.js +3 -3
  122. package/dist/components/content/Alert/Alert.js.map +1 -1
  123. package/dist/components/content/Alert/index.d.ts +2 -1
  124. package/dist/components/content/Alert/types.d.ts +2 -4
  125. package/dist/components/content/Alert/use-alert.js +2 -3
  126. package/dist/components/content/Alert/use-alert.js.map +1 -1
  127. package/dist/components/content/Avatar/Avatar.d.ts +2 -5
  128. package/dist/components/content/Avatar/Avatar.js +2 -3
  129. package/dist/components/content/Avatar/Avatar.js.map +1 -1
  130. package/dist/components/content/Badge/Badge.d.ts +5 -7
  131. package/dist/components/content/Badge/Badge.js +4 -5
  132. package/dist/components/content/Badge/Badge.js.map +1 -1
  133. package/dist/components/content/Card/Card.d.ts +2 -5
  134. package/dist/components/content/Card/Card.js +2 -3
  135. package/dist/components/content/Card/Card.js.map +1 -1
  136. package/dist/components/content/Content.d.ts +2 -5
  137. package/dist/components/content/Content.js +2 -3
  138. package/dist/components/content/Content.js.map +1 -1
  139. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.d.ts +3 -5
  140. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -4
  141. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  142. package/dist/components/content/CopyPasteBlock/index.d.ts +2 -1
  143. package/dist/components/content/CopySnippet/CopySnippet.d.ts +523 -520
  144. package/dist/components/content/CopySnippet/CopySnippet.js +5 -6
  145. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  146. package/dist/components/content/CopySnippet/index.d.ts +2 -1
  147. package/dist/components/content/Disclosure/Disclosure.d.ts +12 -14
  148. package/dist/components/content/Disclosure/Disclosure.js +8 -7
  149. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  150. package/dist/components/content/Disclosure/index.d.ts +2 -1
  151. package/dist/components/content/Divider.d.ts +2 -5
  152. package/dist/components/content/Divider.js +4 -4
  153. package/dist/components/content/Divider.js.map +1 -1
  154. package/dist/components/content/Footer.d.ts +2 -5
  155. package/dist/components/content/Footer.js +2 -3
  156. package/dist/components/content/Footer.js.map +1 -1
  157. package/dist/components/content/Header.d.ts +2 -5
  158. package/dist/components/content/Header.js +2 -3
  159. package/dist/components/content/Header.js.map +1 -1
  160. package/dist/components/content/HotKeys/HotKeys.d.ts +3 -5
  161. package/dist/components/content/HotKeys/HotKeys.js +4 -5
  162. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  163. package/dist/components/content/HotKeys/index.d.ts +2 -1
  164. package/dist/components/content/InfoBadge/InfoBadge.d.ts +4 -6
  165. package/dist/components/content/InfoBadge/InfoBadge.js +2 -3
  166. package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
  167. package/dist/components/content/InlineInput/InlineInput.d.ts +4 -7
  168. package/dist/components/content/InlineInput/InlineInput.js +5 -5
  169. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  170. package/dist/components/content/InlineInput/index.d.ts +2 -1
  171. package/dist/components/content/Item/Item.d.ts +4 -7
  172. package/dist/components/content/Item/Item.js +4 -5
  173. package/dist/components/content/Item/Item.js.map +1 -1
  174. package/dist/components/content/Item/ItemWithNativeLinks.js +2 -3
  175. package/dist/components/content/Item/ItemWithNativeLinks.js.map +1 -1
  176. package/dist/components/content/Item/index.d.ts +2 -1
  177. package/dist/components/content/ItemBadge/ItemBadge.d.ts +3 -5
  178. package/dist/components/content/ItemBadge/ItemBadge.js +2 -3
  179. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  180. package/dist/components/content/ItemBadge/index.d.ts +2 -1
  181. package/dist/components/content/ItemCard/ItemCard.d.ts +5 -8
  182. package/dist/components/content/ItemCard/ItemCard.js +3 -4
  183. package/dist/components/content/ItemCard/ItemCard.js.map +1 -1
  184. package/dist/components/content/Layout/GridLayout.d.ts +12 -13
  185. package/dist/components/content/Layout/GridLayout.js +13 -14
  186. package/dist/components/content/Layout/GridLayout.js.map +1 -1
  187. package/dist/components/content/Layout/Layout.d.ts +1 -3
  188. package/dist/components/content/Layout/Layout.js +28 -17
  189. package/dist/components/content/Layout/Layout.js.map +1 -1
  190. package/dist/components/content/Layout/LayoutBlock.d.ts +3 -5
  191. package/dist/components/content/Layout/LayoutBlock.js +4 -5
  192. package/dist/components/content/Layout/LayoutBlock.js.map +1 -1
  193. package/dist/components/content/Layout/LayoutCenter.d.ts +3 -5
  194. package/dist/components/content/Layout/LayoutCenter.js +4 -5
  195. package/dist/components/content/Layout/LayoutCenter.js.map +1 -1
  196. package/dist/components/content/Layout/LayoutContainer.d.ts +3 -5
  197. package/dist/components/content/Layout/LayoutContainer.js +5 -5
  198. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  199. package/dist/components/content/Layout/LayoutContent.d.ts +4 -6
  200. package/dist/components/content/Layout/LayoutContent.js +3 -4
  201. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  202. package/dist/components/content/Layout/LayoutContext.d.ts +1 -3
  203. package/dist/components/content/Layout/LayoutContext.js +2 -3
  204. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  205. package/dist/components/content/Layout/LayoutFlex.d.ts +3 -5
  206. package/dist/components/content/Layout/LayoutFlex.js +4 -5
  207. package/dist/components/content/Layout/LayoutFlex.js.map +1 -1
  208. package/dist/components/content/Layout/LayoutFooter.d.ts +3 -5
  209. package/dist/components/content/Layout/LayoutFooter.js +4 -5
  210. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  211. package/dist/components/content/Layout/LayoutGrid.d.ts +3 -5
  212. package/dist/components/content/Layout/LayoutGrid.js +4 -5
  213. package/dist/components/content/Layout/LayoutGrid.js.map +1 -1
  214. package/dist/components/content/Layout/LayoutHeader.d.ts +3 -5
  215. package/dist/components/content/Layout/LayoutHeader.js +6 -6
  216. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  217. package/dist/components/content/Layout/LayoutPane.d.ts +4 -6
  218. package/dist/components/content/Layout/LayoutPane.js +7 -8
  219. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  220. package/dist/components/content/Layout/LayoutPanel.d.ts +23 -7
  221. package/dist/components/content/Layout/LayoutPanel.js +33 -21
  222. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  223. package/dist/components/content/Layout/LayoutPanelHeader.d.ts +4 -6
  224. package/dist/components/content/Layout/LayoutPanelHeader.js +4 -5
  225. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  226. package/dist/components/content/Layout/LayoutPanelTransition.js +54 -51
  227. package/dist/components/content/Layout/LayoutPanelTransition.js.map +1 -1
  228. package/dist/components/content/Layout/LayoutToolbar.d.ts +3 -5
  229. package/dist/components/content/Layout/LayoutToolbar.js +4 -5
  230. package/dist/components/content/Layout/LayoutToolbar.js.map +1 -1
  231. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +2 -3
  232. package/dist/components/content/Layout/hooks/useTinyScrollbar.js.map +1 -1
  233. package/dist/components/content/Layout/index.d.ts +13 -14
  234. package/dist/components/content/Layout/index.js +17 -18
  235. package/dist/components/content/Layout/index.js.map +1 -1
  236. package/dist/components/content/Layout/utils.js +2 -2
  237. package/dist/components/content/Layout/utils.js.map +1 -1
  238. package/dist/components/content/Paragraph.d.ts +2 -5
  239. package/dist/components/content/Paragraph.js +3 -4
  240. package/dist/components/content/Paragraph.js.map +1 -1
  241. package/dist/components/content/Placeholder/Placeholder.d.ts +2 -5
  242. package/dist/components/content/Placeholder/Placeholder.js +2 -3
  243. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  244. package/dist/components/content/PrismCode/PrismCode.d.ts +3 -5
  245. package/dist/components/content/PrismCode/PrismCode.js +4 -5
  246. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  247. package/dist/components/content/PrismCode/prismSetup.js +3 -4
  248. package/dist/components/content/PrismCode/prismSetup.js.map +1 -1
  249. package/dist/components/content/PrismDiffCode/PrismDiffCode.d.ts +2 -9
  250. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +3 -4
  251. package/dist/components/content/PrismDiffCode/PrismDiffCode.js.map +1 -1
  252. package/dist/components/content/Result/Result.d.ts +9 -12
  253. package/dist/components/content/Result/Result.js +4 -5
  254. package/dist/components/content/Result/Result.js.map +1 -1
  255. package/dist/components/content/Skeleton/Skeleton.d.ts +13 -61
  256. package/dist/components/content/Skeleton/Skeleton.js +2 -3
  257. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  258. package/dist/components/content/Tag/Tag.d.ts +4 -6
  259. package/dist/components/content/Tag/Tag.js +4 -5
  260. package/dist/components/content/Tag/Tag.js.map +1 -1
  261. package/dist/components/content/Text.d.ts +1347 -1350
  262. package/dist/components/content/Text.js +3 -4
  263. package/dist/components/content/Text.js.map +1 -1
  264. package/dist/components/content/TextItem/TextItem.d.ts +6 -5
  265. package/dist/components/content/TextItem/TextItem.js +2 -3
  266. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  267. package/dist/components/content/TextItem/index.d.ts +2 -1
  268. package/dist/components/content/Title.d.ts +5 -7
  269. package/dist/components/content/Title.js +3 -4
  270. package/dist/components/content/Title.js.map +1 -1
  271. package/dist/components/content/Tree/Tree.d.ts +1 -4
  272. package/dist/components/content/Tree/Tree.js +4 -4
  273. package/dist/components/content/Tree/Tree.js.map +1 -1
  274. package/dist/components/content/Tree/TreeNode.js +5 -6
  275. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  276. package/dist/components/content/Tree/index.d.ts +2 -1
  277. package/dist/components/content/Tree/styled.js +18 -4
  278. package/dist/components/content/Tree/styled.js.map +1 -1
  279. package/dist/components/content/Tree/tree-index.js +2 -2
  280. package/dist/components/content/Tree/tree-index.js.map +1 -1
  281. package/dist/components/content/Tree/types.d.ts +11 -13
  282. package/dist/components/content/Tree/use-checkbox-tree.js +2 -3
  283. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  284. package/dist/components/content/Tree/use-load-data.js +2 -3
  285. package/dist/components/content/Tree/use-load-data.js.map +1 -1
  286. package/dist/components/content/highlightText.js +3 -4
  287. package/dist/components/content/highlightText.js.map +1 -1
  288. package/dist/components/content/use-auto-tooltip.d.ts +1 -3
  289. package/dist/components/content/use-auto-tooltip.js +2 -3
  290. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  291. package/dist/components/data/DataTable/DataTable.d.ts +1 -2
  292. package/dist/components/data/DataTable/DataTable.js +35 -25
  293. package/dist/components/data/DataTable/DataTable.js.map +1 -1
  294. package/dist/components/data/DataTable/index.d.ts +2 -1
  295. package/dist/components/data/DataTable/types.d.ts +4 -6
  296. package/dist/components/data/ItemTable/ItemTable.d.ts +6 -4
  297. package/dist/components/data/ItemTable/ItemTable.js +8 -5
  298. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  299. package/dist/components/data/ItemTable/ItemTableBulkBar.d.ts +2 -5
  300. package/dist/components/data/ItemTable/ItemTableBulkBar.js +8 -4
  301. package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
  302. package/dist/components/data/ItemTable/ItemTableDragPreview.js +3 -4
  303. package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
  304. package/dist/components/data/ItemTable/ItemTableFooter.js +8 -4
  305. package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
  306. package/dist/components/data/ItemTable/ItemTableToolbar.d.ts +4 -15
  307. package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -3
  308. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  309. package/dist/components/data/ItemTable/index.d.ts +2 -1
  310. package/dist/components/data/ItemTable/types.d.ts +6 -6
  311. package/dist/components/data/ItemTable/use-item-table-column-widths.js +4 -4
  312. package/dist/components/data/ItemTable/use-item-table-column-widths.js.map +1 -1
  313. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +2 -3
  314. package/dist/components/data/ItemTable/use-item-table-drag-drop.js.map +1 -1
  315. package/dist/components/data/ItemTable/use-item-table-pagination.js +2 -3
  316. package/dist/components/data/ItemTable/use-item-table-pagination.js.map +1 -1
  317. package/dist/components/data/ItemTable/use-item-table-selection.js +2 -3
  318. package/dist/components/data/ItemTable/use-item-table-selection.js.map +1 -1
  319. package/dist/components/data/ItemTable/use-item-table-sort.js +2 -3
  320. package/dist/components/data/ItemTable/use-item-table-sort.js.map +1 -1
  321. package/dist/components/data/ItemTable/use-item-table-tree-model.js +2 -3
  322. package/dist/components/data/ItemTable/use-item-table-tree-model.js.map +1 -1
  323. package/dist/components/data/TableBase/ColumnResizer.js +2 -3
  324. package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
  325. package/dist/components/data/TableBase/RowCollection.d.ts +2 -0
  326. package/dist/components/data/TableBase/RowCollection.js +2 -2
  327. package/dist/components/data/TableBase/RowCollection.js.map +1 -1
  328. package/dist/components/data/TableBase/TableHeaderCell.js +2 -3
  329. package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
  330. package/dist/components/data/TableBase/TableRow.js +2 -3
  331. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  332. package/dist/components/data/TableBase/TableView.d.ts +2 -3
  333. package/dist/components/data/TableBase/TableView.js +25 -15
  334. package/dist/components/data/TableBase/TableView.js.map +1 -1
  335. package/dist/components/data/TableBase/TreeGridTable.js +9 -9
  336. package/dist/components/data/TableBase/TreeGridTable.js.map +1 -1
  337. package/dist/components/data/TableBase/column-header.js +2 -3
  338. package/dist/components/data/TableBase/column-header.js.map +1 -1
  339. package/dist/components/data/TableBase/column-menu.d.ts +3 -6
  340. package/dist/components/data/TableBase/column-menu.js +3 -4
  341. package/dist/components/data/TableBase/column-menu.js.map +1 -1
  342. package/dist/components/data/TableBase/column-styles.js +2 -3
  343. package/dist/components/data/TableBase/column-styles.js.map +1 -1
  344. package/dist/components/data/TableBase/column-tint.js +4 -5
  345. package/dist/components/data/TableBase/column-tint.js.map +1 -1
  346. package/dist/components/data/TableBase/index.d.ts +2 -1
  347. package/dist/components/data/TableBase/row-menu.js +2 -3
  348. package/dist/components/data/TableBase/row-menu.js.map +1 -1
  349. package/dist/components/data/TableBase/styled.d.ts +1 -3
  350. package/dist/components/data/TableBase/styled.js +168 -4
  351. package/dist/components/data/TableBase/styled.js.map +1 -1
  352. package/dist/components/data/TableBase/table-tree.d.ts +2 -0
  353. package/dist/components/data/TableBase/table-tree.js +2 -2
  354. package/dist/components/data/TableBase/table-tree.js.map +1 -1
  355. package/dist/components/data/TableBase/types.d.ts +30 -26
  356. package/dist/components/data/TableBase/types.js +2 -2
  357. package/dist/components/data/TableBase/types.js.map +1 -1
  358. package/dist/components/data/TableBase/use-cell-selection.d.ts +1 -2
  359. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  360. package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
  361. package/dist/components/data/TableBase/use-column-menu.js +4 -5
  362. package/dist/components/data/TableBase/use-column-menu.js.map +1 -1
  363. package/dist/components/data/TableBase/use-column-order.js +3 -4
  364. package/dist/components/data/TableBase/use-column-order.js.map +1 -1
  365. package/dist/components/data/TableBase/use-column-window.js +3 -4
  366. package/dist/components/data/TableBase/use-column-window.js.map +1 -1
  367. package/dist/components/data/TableBase/use-container-width.js +2 -3
  368. package/dist/components/data/TableBase/use-container-width.js.map +1 -1
  369. package/dist/components/data/TableBase/use-row-move-animation.js +3 -7
  370. package/dist/components/data/TableBase/use-row-move-animation.js.map +1 -1
  371. package/dist/components/data/TableBase/use-scrollability.js +2 -3
  372. package/dist/components/data/TableBase/use-scrollability.js.map +1 -1
  373. package/dist/components/data/TableBase/use-table-columns.js +4 -8
  374. package/dist/components/data/TableBase/use-table-columns.js.map +1 -1
  375. package/dist/components/data/TableBase/use-table-search.js +2 -3
  376. package/dist/components/data/TableBase/use-table-search.js.map +1 -1
  377. package/dist/components/data/TableBase/use-table-selection.d.ts +1 -0
  378. package/dist/components/data/TableBase/use-table-selection.js +7 -6
  379. package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
  380. package/dist/components/data/TableBase/use-table-sort.js +2 -3
  381. package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
  382. package/dist/components/data/TableBase/use-table-sorts.js +2 -3
  383. package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
  384. package/dist/components/data/TableBase/use-table-storage.d.ts +1 -3
  385. package/dist/components/data/TableBase/use-table-storage.js +4 -4
  386. package/dist/components/data/TableBase/use-table-storage.js.map +1 -1
  387. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +3 -4
  388. package/dist/components/data/TableBase/use-table-tooltip-refresh.js.map +1 -1
  389. package/dist/components/data/TableBase/use-table-tree-state.js +2 -3
  390. package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
  391. package/dist/components/data/index.d.ts +4 -3
  392. package/dist/components/fields/Checkbox/Checkbox.d.ts +7 -10
  393. package/dist/components/fields/Checkbox/Checkbox.js +39 -36
  394. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  395. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +4 -6
  396. package/dist/components/fields/Checkbox/CheckboxGroup.js +16 -16
  397. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  398. package/dist/components/fields/Checkbox/context.js +2 -3
  399. package/dist/components/fields/Checkbox/context.js.map +1 -1
  400. package/dist/components/fields/Checkbox/index.d.ts +3 -2
  401. package/dist/components/fields/ColorInput/ColorInput.d.ts +3 -6
  402. package/dist/components/fields/ColorInput/ColorInput.js +2 -3
  403. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  404. package/dist/components/fields/ColorInput/index.d.ts +2 -1
  405. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +3 -6
  406. package/dist/components/fields/ColorPicker/ColorPicker.js +321 -118
  407. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  408. package/dist/components/fields/ColorPicker/index.d.ts +2 -1
  409. package/dist/components/fields/ColorSwatch/ColorSwatch.d.ts +2 -5
  410. package/dist/components/fields/ColorSwatch/ColorSwatch.js +14 -3
  411. package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -1
  412. package/dist/components/fields/ColorSwatch/index.d.ts +2 -1
  413. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +3 -6
  414. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +235 -72
  415. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  416. package/dist/components/fields/ColorSwatchGroup/index.d.ts +2 -1
  417. package/dist/components/fields/ComboBox/ComboBox.d.ts +5 -6
  418. package/dist/components/fields/ComboBox/ComboBox.js +48 -45
  419. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  420. package/dist/components/fields/ComboBox/comboBoxOptions.js +2 -3
  421. package/dist/components/fields/ComboBox/comboBoxOptions.js.map +1 -1
  422. package/dist/components/fields/ComboBox/index.d.ts +2 -1
  423. package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +10 -9
  424. package/dist/components/fields/CommandTextArea/CommandTextArea.js +7 -7
  425. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  426. package/dist/components/fields/CommandTextArea/caretPosition.js +2 -2
  427. package/dist/components/fields/CommandTextArea/caretPosition.js.map +1 -1
  428. package/dist/components/fields/CommandTextArea/index.d.ts +2 -1
  429. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +2 -3
  430. package/dist/components/fields/CommandTextArea/useCaretAnchor.js.map +1 -1
  431. package/dist/components/fields/DatePicker/DateInput.d.ts +2 -3
  432. package/dist/components/fields/DatePicker/DateInput.js +10 -8
  433. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  434. package/dist/components/fields/DatePicker/DateInputBase.js +53 -44
  435. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  436. package/dist/components/fields/DatePicker/DatePicker.d.ts +3 -6
  437. package/dist/components/fields/DatePicker/DatePicker.js +28 -26
  438. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  439. package/dist/components/fields/DatePicker/DatePickerButton.js +2 -3
  440. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  441. package/dist/components/fields/DatePicker/DatePickerElement.js +2 -3
  442. package/dist/components/fields/DatePicker/DatePickerElement.js.map +1 -1
  443. package/dist/components/fields/DatePicker/DatePickerInput.js +2 -3
  444. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  445. package/dist/components/fields/DatePicker/DatePickerSegment.js +2 -3
  446. package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
  447. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +2 -3
  448. package/dist/components/fields/DatePicker/DateRangePicker.js +29 -27
  449. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  450. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +2 -3
  451. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +110 -110
  452. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  453. package/dist/components/fields/DatePicker/MonthPicker.d.ts +3 -6
  454. package/dist/components/fields/DatePicker/MonthPicker.js +3 -4
  455. package/dist/components/fields/DatePicker/MonthPicker.js.map +1 -1
  456. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +2 -4
  457. package/dist/components/fields/DatePicker/PeriodPicker.js +14 -14
  458. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  459. package/dist/components/fields/DatePicker/QuarterPicker.d.ts +3 -6
  460. package/dist/components/fields/DatePicker/QuarterPicker.js +3 -4
  461. package/dist/components/fields/DatePicker/QuarterPicker.js.map +1 -1
  462. package/dist/components/fields/DatePicker/TimeInput.d.ts +3 -6
  463. package/dist/components/fields/DatePicker/TimeInput.js +10 -8
  464. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  465. package/dist/components/fields/DatePicker/WeekPicker.d.ts +3 -6
  466. package/dist/components/fields/DatePicker/WeekPicker.js +3 -4
  467. package/dist/components/fields/DatePicker/WeekPicker.js.map +1 -1
  468. package/dist/components/fields/DatePicker/YearPicker.d.ts +3 -6
  469. package/dist/components/fields/DatePicker/YearPicker.js +3 -4
  470. package/dist/components/fields/DatePicker/YearPicker.js.map +1 -1
  471. package/dist/components/fields/DatePicker/index.d.ts +10 -9
  472. package/dist/components/fields/DatePicker/parseDate.d.ts +1 -4
  473. package/dist/components/fields/DatePicker/parseDate.js +2 -3
  474. package/dist/components/fields/DatePicker/parseDate.js.map +1 -1
  475. package/dist/components/fields/DatePicker/period.d.ts +5 -7
  476. package/dist/components/fields/DatePicker/period.js +3 -4
  477. package/dist/components/fields/DatePicker/period.js.map +1 -1
  478. package/dist/components/fields/DatePicker/props.js +2 -2
  479. package/dist/components/fields/DatePicker/props.js.map +1 -1
  480. package/dist/components/fields/DatePicker/types.d.ts +2 -4
  481. package/dist/components/fields/DatePicker/utils.js +14 -11
  482. package/dist/components/fields/DatePicker/utils.js.map +1 -1
  483. package/dist/components/fields/FileInput/FileInput.d.ts +3 -5
  484. package/dist/components/fields/FileInput/FileInput.js +290 -107
  485. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  486. package/dist/components/fields/FilterListBox/FilterListBox.d.ts +4 -5
  487. package/dist/components/fields/FilterListBox/FilterListBox.js +24 -19
  488. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  489. package/dist/components/fields/FilterListBox/index.d.ts +2 -1
  490. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +3 -5
  491. package/dist/components/fields/FilterPicker/FilterPicker.js +12 -10
  492. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  493. package/dist/components/fields/FilterPicker/index.d.ts +2 -1
  494. package/dist/components/fields/Input/Input.d.ts +6 -7
  495. package/dist/components/fields/Input/Input.js +6 -7
  496. package/dist/components/fields/Input/Input.js.map +1 -1
  497. package/dist/components/fields/Input/index.d.ts +2 -1
  498. package/dist/components/fields/ListBox/DraggableListBox.js +2 -3
  499. package/dist/components/fields/ListBox/DraggableListBox.js.map +1 -1
  500. package/dist/components/fields/ListBox/ListBox.d.ts +5 -7
  501. package/dist/components/fields/ListBox/ListBox.js +30 -26
  502. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  503. package/dist/components/fields/ListBox/index.d.ts +2 -1
  504. package/dist/components/fields/ListBox/optionId.js +2 -2
  505. package/dist/components/fields/ListBox/optionId.js.map +1 -1
  506. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +3 -4
  507. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  508. package/dist/components/fields/ListBoxPopover/index.d.ts +2 -1
  509. package/dist/components/fields/ListBoxPopover/listNavigation.d.ts +2 -4
  510. package/dist/components/fields/ListBoxPopover/listNavigation.js +2 -2
  511. package/dist/components/fields/ListBoxPopover/listNavigation.js.map +1 -1
  512. package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +4 -12
  513. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +2 -3
  514. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
  515. package/dist/components/fields/NumberInput/NumberInput.d.ts +4 -6
  516. package/dist/components/fields/NumberInput/NumberInput.js +114 -110
  517. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  518. package/dist/components/fields/NumberInput/StepButton.js +2 -3
  519. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  520. package/dist/components/fields/PasswordInput/PasswordInput.d.ts +3 -5
  521. package/dist/components/fields/PasswordInput/PasswordInput.js +4 -4
  522. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  523. package/dist/components/fields/Picker/Picker.d.ts +3 -5
  524. package/dist/components/fields/Picker/Picker.js +12 -10
  525. package/dist/components/fields/Picker/Picker.js.map +1 -1
  526. package/dist/components/fields/Picker/index.d.ts +2 -1
  527. package/dist/components/fields/RadioGroup/Radio.d.ts +393 -394
  528. package/dist/components/fields/RadioGroup/Radio.js +60 -65
  529. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  530. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +5 -7
  531. package/dist/components/fields/RadioGroup/RadioGroup.js +19 -19
  532. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  533. package/dist/components/fields/RadioGroup/context.js +2 -3
  534. package/dist/components/fields/RadioGroup/context.js.map +1 -1
  535. package/dist/components/fields/RadioGroup/index.d.ts +3 -2
  536. package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +5 -6
  537. package/dist/components/fields/SearchComboBox/SearchComboBox.js +16 -16
  538. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  539. package/dist/components/fields/SearchComboBox/index.d.ts +2 -1
  540. package/dist/components/fields/SearchInput/SearchInput.d.ts +4 -6
  541. package/dist/components/fields/SearchInput/SearchInput.js +48 -49
  542. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  543. package/dist/components/fields/SearchInput/index.d.ts +2 -1
  544. package/dist/components/fields/Select/Select.d.ts +9 -29
  545. package/dist/components/fields/Select/Select.js +12 -10
  546. package/dist/components/fields/Select/Select.js.map +1 -1
  547. package/dist/components/fields/Select/index.d.ts +2 -1
  548. package/dist/components/fields/Slider/Gradation.js +2 -3
  549. package/dist/components/fields/Slider/Gradation.js.map +1 -1
  550. package/dist/components/fields/Slider/HueSlider.d.ts +3 -6
  551. package/dist/components/fields/Slider/HueSlider.js +5 -6
  552. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  553. package/dist/components/fields/Slider/RangeSlider.d.ts +3 -6
  554. package/dist/components/fields/Slider/RangeSlider.js +4 -5
  555. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  556. package/dist/components/fields/Slider/Slider.d.ts +3 -6
  557. package/dist/components/fields/Slider/Slider.js +4 -5
  558. package/dist/components/fields/Slider/Slider.js.map +1 -1
  559. package/dist/components/fields/Slider/SliderBase.js +296 -88
  560. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  561. package/dist/components/fields/Slider/SliderThumb.js +2 -3
  562. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  563. package/dist/components/fields/Slider/SliderTrack.js +2 -3
  564. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  565. package/dist/components/fields/Slider/elements.js +2 -3
  566. package/dist/components/fields/Slider/elements.js.map +1 -1
  567. package/dist/components/fields/Slider/index.d.ts +4 -4
  568. package/dist/components/fields/Slider/index.js +5 -6
  569. package/dist/components/fields/Slider/types.d.ts +2 -3
  570. package/dist/components/fields/Switch/Switch.d.ts +4 -6
  571. package/dist/components/fields/Switch/Switch.js +78 -70
  572. package/dist/components/fields/Switch/Switch.js.map +1 -1
  573. package/dist/components/fields/TagInput/TagInput.d.ts +5 -6
  574. package/dist/components/fields/TagInput/TagInput.js +411 -998
  575. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  576. package/dist/components/fields/TagInput/TagList.js +3 -4
  577. package/dist/components/fields/TagInput/TagList.js.map +1 -1
  578. package/dist/components/fields/TagInput/index.d.ts +2 -1
  579. package/dist/components/fields/TagInput/useActiveOption.js +2 -3
  580. package/dist/components/fields/TagInput/useActiveOption.js.map +1 -1
  581. package/dist/components/fields/TagInput/useTagError.js +2 -3
  582. package/dist/components/fields/TagInput/useTagError.js.map +1 -1
  583. package/dist/components/fields/TextArea/TextArea.d.ts +4 -6
  584. package/dist/components/fields/TextArea/TextArea.js +4 -4
  585. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  586. package/dist/components/fields/TextArea/index.d.ts +2 -1
  587. package/dist/components/fields/TextInput/TextInput.d.ts +4 -6
  588. package/dist/components/fields/TextInput/TextInput.js +3 -3
  589. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  590. package/dist/components/fields/TextInput/TextInputBase.d.ts +6 -8
  591. package/dist/components/fields/TextInput/TextInputBase.js +10 -9
  592. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  593. package/dist/components/fields/TextInput/displayed-validation.js +2 -3
  594. package/dist/components/fields/TextInput/displayed-validation.js.map +1 -1
  595. package/dist/components/fields/TextInput/index.d.ts +2 -1
  596. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +2 -3
  597. package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
  598. package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +4 -6
  599. package/dist/components/fields/TextInputMapper/TextInputMapper.js +8 -10
  600. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  601. package/dist/components/fields/TextInputMapper/index.d.ts +2 -1
  602. package/dist/components/fields/TriggerActions.js +3 -4
  603. package/dist/components/fields/TriggerActions.js.map +1 -1
  604. package/dist/components/fields/color/ColorPanel.js +4 -5
  605. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  606. package/dist/components/fields/color/channels.d.ts +2 -4
  607. package/dist/components/fields/color/channels.js +2 -3
  608. package/dist/components/fields/color/channels.js.map +1 -1
  609. package/dist/components/fields/color/color.d.ts +4 -5
  610. package/dist/components/fields/color/color.js +3 -4
  611. package/dist/components/fields/color/color.js.map +1 -1
  612. package/dist/components/fields/color/context.js +2 -3
  613. package/dist/components/fields/color/context.js.map +1 -1
  614. package/dist/components/fields/color/index.d.ts +2 -1
  615. package/dist/components/fields/index.d.ts +27 -26
  616. package/dist/components/fields/option-origin-press.js +2 -2
  617. package/dist/components/fields/option-origin-press.js.map +1 -1
  618. package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +15 -19
  619. package/dist/components/form/FieldWrapper/FieldWrapper.js +123 -123
  620. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  621. package/dist/components/form/FieldWrapper/field-description.js +2 -3
  622. package/dist/components/form/FieldWrapper/field-description.js.map +1 -1
  623. package/dist/components/form/FieldWrapper/index.d.ts +2 -1
  624. package/dist/components/form/FieldWrapper/types.d.ts +20 -12
  625. package/dist/components/form/Form/Field.d.ts +2 -5
  626. package/dist/components/form/Form/Field.js +2 -3
  627. package/dist/components/form/Form/Field.js.map +1 -1
  628. package/dist/components/form/Form/Form.d.ts +6 -12
  629. package/dist/components/form/Form/Form.js +5 -6
  630. package/dist/components/form/Form/Form.js.map +1 -1
  631. package/dist/components/form/Form/ModernFormRoot.d.ts +1 -3
  632. package/dist/components/form/Form/ModernFormRoot.js +3 -4
  633. package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
  634. package/dist/components/form/Form/ResetButton/ResetButton.d.ts +3 -6
  635. package/dist/components/form/Form/ResetButton/ResetButton.js +3 -4
  636. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  637. package/dist/components/form/Form/ResetButton/index.d.ts +2 -1
  638. package/dist/components/form/Form/SubmitButton/SubmitButton.d.ts +3 -6
  639. package/dist/components/form/Form/SubmitButton/SubmitButton.js +3 -4
  640. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  641. package/dist/components/form/Form/SubmitButton/index.d.ts +2 -1
  642. package/dist/components/form/Form/SubmitError.d.ts +3 -5
  643. package/dist/components/form/Form/SubmitError.js +3 -4
  644. package/dist/components/form/Form/SubmitError.js.map +1 -1
  645. package/dist/components/form/Form/backend.d.ts +3 -5
  646. package/dist/components/form/Form/backend.js +2 -2
  647. package/dist/components/form/Form/backend.js.map +1 -1
  648. package/dist/components/form/Form/index.d.ts +7 -10
  649. package/dist/components/form/Form/index.js +7 -8
  650. package/dist/components/form/Form/index.js.map +1 -1
  651. package/dist/components/form/Form/modern/actions.js +2 -3
  652. package/dist/components/form/Form/modern/actions.js.map +1 -1
  653. package/dist/components/form/Form/modern/context.d.ts +2 -4
  654. package/dist/components/form/Form/modern/context.js +2 -3
  655. package/dist/components/form/Form/modern/context.js.map +1 -1
  656. package/dist/components/form/Form/modern/controller.d.ts +9 -11
  657. package/dist/components/form/Form/modern/controller.js +2 -3
  658. package/dist/components/form/Form/modern/controller.js.map +1 -1
  659. package/dist/components/form/Form/modern/field-binding.js +2 -3
  660. package/dist/components/form/Form/modern/field-binding.js.map +1 -1
  661. package/dist/components/form/Form/modern/field.d.ts +4 -5
  662. package/dist/components/form/Form/modern/field.js +2 -3
  663. package/dist/components/form/Form/modern/field.js.map +1 -1
  664. package/dist/components/form/Form/modern/path-types.d.ts +4 -5
  665. package/dist/components/form/Form/modern/react.d.ts +7 -10
  666. package/dist/components/form/Form/modern/react.js +2 -3
  667. package/dist/components/form/Form/modern/react.js.map +1 -1
  668. package/dist/components/form/Form/modern/read-types.d.ts +3 -4
  669. package/dist/components/form/Form/modern/store.js +2 -3
  670. package/dist/components/form/Form/modern/store.js.map +1 -1
  671. package/dist/components/form/Form/modern/types.d.ts +18 -20
  672. package/dist/components/form/Form/modern/validation.d.ts +2 -4
  673. package/dist/components/form/Form/modern/validation.js +2 -3
  674. package/dist/components/form/Form/modern/validation.js.map +1 -1
  675. package/dist/components/form/Form/modern/values.d.ts +1 -2
  676. package/dist/components/form/Form/modern/values.js +2 -2
  677. package/dist/components/form/Form/modern/values.js.map +1 -1
  678. package/dist/components/form/Form/reset-unbound-controls.js +3 -5
  679. package/dist/components/form/Form/reset-unbound-controls.js.map +1 -1
  680. package/dist/components/form/Form/types.d.ts +4 -6
  681. package/dist/components/form/Form/use-field/index.d.ts +2 -1
  682. package/dist/components/form/Form/use-field/types.d.ts +6 -6
  683. package/dist/components/form/Form/use-field/use-field-binding.js +2 -3
  684. package/dist/components/form/Form/use-field/use-field-binding.js.map +1 -1
  685. package/dist/components/form/Form/use-field/use-field-props.d.ts +11 -9
  686. package/dist/components/form/Form/use-field/use-field-props.js +48 -42
  687. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  688. package/dist/components/form/Form/use-field/use-field.d.ts +2 -4
  689. package/dist/components/form/Form/use-field/use-field.js +2 -3
  690. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  691. package/dist/components/form/Form/use-form.d.ts +5 -6
  692. package/dist/components/form/Form/use-form.js +3 -4
  693. package/dist/components/form/Form/use-form.js.map +1 -1
  694. package/dist/components/form/Form/validation.js +2 -3
  695. package/dist/components/form/Form/validation.js.map +1 -1
  696. package/dist/components/form/Label.d.ts +7 -9
  697. package/dist/components/form/Label.js +3 -4
  698. package/dist/components/form/Label.js.map +1 -1
  699. package/dist/components/form/field-chrome.js +46 -6
  700. package/dist/components/form/field-chrome.js.map +1 -1
  701. package/dist/components/form/index.d.ts +6 -5
  702. package/dist/components/form/legacy-tooltip.js +2 -3
  703. package/dist/components/form/legacy-tooltip.js.map +1 -1
  704. package/dist/components/form/validation/ValidationIndicator.d.ts +4 -10
  705. package/dist/components/form/validation/ValidationIndicator.js +2 -3
  706. package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
  707. package/dist/components/form/validation/index.d.ts +2 -1
  708. package/dist/components/form/validation/resolve-validation-props.d.ts +6 -17
  709. package/dist/components/form/validation/resolve-validation-props.js +2 -2
  710. package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
  711. package/dist/components/form/validation/use-validation-props.d.ts +1 -3
  712. package/dist/components/form/validation/use-validation-props.js +2 -3
  713. package/dist/components/form/validation/use-validation-props.js.map +1 -1
  714. package/dist/components/form/wrapper.d.ts +23 -9
  715. package/dist/components/form/wrapper.js +20 -11
  716. package/dist/components/form/wrapper.js.map +1 -1
  717. package/dist/components/helpers/DisplayTransition/DisplayTransition.d.ts +22 -25
  718. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +16 -16
  719. package/dist/components/helpers/DisplayTransition/DisplayTransition.js.map +1 -1
  720. package/dist/components/helpers/IconSwitch/IconSwitch.d.ts +3 -5
  721. package/dist/components/helpers/IconSwitch/IconSwitch.js +2 -3
  722. package/dist/components/helpers/IconSwitch/IconSwitch.js.map +1 -1
  723. package/dist/components/layout/Flex.d.ts +2 -5
  724. package/dist/components/layout/Flex.js +2 -3
  725. package/dist/components/layout/Flex.js.map +1 -1
  726. package/dist/components/layout/Flow.d.ts +2 -5
  727. package/dist/components/layout/Flow.js +2 -3
  728. package/dist/components/layout/Flow.js.map +1 -1
  729. package/dist/components/layout/Grid.d.ts +2 -5
  730. package/dist/components/layout/Grid.js +2 -3
  731. package/dist/components/layout/Grid.js.map +1 -1
  732. package/dist/components/layout/Panel.d.ts +3 -5
  733. package/dist/components/layout/Panel.js +22 -22
  734. package/dist/components/layout/Panel.js.map +1 -1
  735. package/dist/components/layout/Prefix.d.ts +2 -5
  736. package/dist/components/layout/Prefix.js +2 -3
  737. package/dist/components/layout/Prefix.js.map +1 -1
  738. package/dist/components/layout/ResizablePanel.d.ts +3 -5
  739. package/dist/components/layout/ResizablePanel.js +4 -5
  740. package/dist/components/layout/ResizablePanel.js.map +1 -1
  741. package/dist/components/layout/Space.d.ts +2 -5
  742. package/dist/components/layout/Space.js +2 -3
  743. package/dist/components/layout/Space.js.map +1 -1
  744. package/dist/components/layout/Suffix.d.ts +2 -5
  745. package/dist/components/layout/Suffix.js +2 -3
  746. package/dist/components/layout/Suffix.js.map +1 -1
  747. package/dist/components/navigation/Pagination/Pagination.d.ts +2 -4
  748. package/dist/components/navigation/Pagination/Pagination.js +9 -5
  749. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  750. package/dist/components/navigation/Pagination/index.d.ts +3 -2
  751. package/dist/components/navigation/Pagination/types.d.ts +4 -6
  752. package/dist/components/navigation/Pagination/use-pagination.d.ts +11 -16
  753. package/dist/components/navigation/Pagination/use-pagination.js +2 -3
  754. package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
  755. package/dist/components/navigation/Tabs/BoardDragActiveProvider.d.ts +2 -5
  756. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +2 -3
  757. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js.map +1 -1
  758. package/dist/components/navigation/Tabs/DraggableTabList.js +2 -3
  759. package/dist/components/navigation/Tabs/DraggableTabList.js.map +1 -1
  760. package/dist/components/navigation/Tabs/TabButton.js +4 -5
  761. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  762. package/dist/components/navigation/Tabs/TabDropIndicator.js +2 -3
  763. package/dist/components/navigation/Tabs/TabDropIndicator.js.map +1 -1
  764. package/dist/components/navigation/Tabs/TabPanel.js +3 -4
  765. package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
  766. package/dist/components/navigation/Tabs/TabPicker.js +2 -3
  767. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  768. package/dist/components/navigation/Tabs/Tabs.d.ts +4 -7
  769. package/dist/components/navigation/Tabs/Tabs.js +5 -5
  770. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  771. package/dist/components/navigation/Tabs/TabsAction.d.ts +2 -6
  772. package/dist/components/navigation/Tabs/TabsAction.js +3 -4
  773. package/dist/components/navigation/Tabs/TabsAction.js.map +1 -1
  774. package/dist/components/navigation/Tabs/TabsContext.js +2 -3
  775. package/dist/components/navigation/Tabs/TabsContext.js.map +1 -1
  776. package/dist/components/navigation/Tabs/index.d.ts +2 -1
  777. package/dist/components/navigation/Tabs/popover-placement.js +2 -2
  778. package/dist/components/navigation/Tabs/popover-placement.js.map +1 -1
  779. package/dist/components/navigation/Tabs/styled.js +3 -4
  780. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  781. package/dist/components/navigation/Tabs/types.d.ts +15 -16
  782. package/dist/components/navigation/Tabs/types.js +2 -2
  783. package/dist/components/navigation/Tabs/types.js.map +1 -1
  784. package/dist/components/navigation/Tabs/use-tab-editing.js +2 -3
  785. package/dist/components/navigation/Tabs/use-tab-editing.js.map +1 -1
  786. package/dist/components/navigation/Tabs/use-tab-indicator.js +2 -3
  787. package/dist/components/navigation/Tabs/use-tab-indicator.js.map +1 -1
  788. package/dist/components/navigation/index.d.ts +3 -2
  789. package/dist/components/organisms/StatsCard/StatsCard.d.ts +2 -10
  790. package/dist/components/organisms/StatsCard/StatsCard.js +4 -5
  791. package/dist/components/organisms/StatsCard/StatsCard.js.map +1 -1
  792. package/dist/components/other/Calendar/Calendar.js +3 -4
  793. package/dist/components/other/Calendar/Calendar.js.map +1 -1
  794. package/dist/components/other/Calendar/CalendarCell.js +2 -3
  795. package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
  796. package/dist/components/other/Calendar/CalendarGrid.js +2 -3
  797. package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
  798. package/dist/components/other/Calendar/CalendarHeader.js +3 -4
  799. package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
  800. package/dist/components/other/Calendar/CalendarPanel.js +2 -3
  801. package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
  802. package/dist/components/other/Calendar/PeriodCalendar.js +2 -3
  803. package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
  804. package/dist/components/other/Calendar/PeriodGrid.js +2 -3
  805. package/dist/components/other/Calendar/PeriodGrid.js.map +1 -1
  806. package/dist/components/other/Calendar/RangeCalendar.js +3 -4
  807. package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
  808. package/dist/components/other/Calendar/styled.js +2 -3
  809. package/dist/components/other/Calendar/styled.js.map +1 -1
  810. package/dist/components/other/CubeLogo/CubeLogo.d.ts +3 -6
  811. package/dist/components/other/CubeLogo/CubeLogo.js +2 -3
  812. package/dist/components/other/CubeLogo/CubeLogo.js.map +1 -1
  813. package/dist/components/other/NoDataIcon/NoDataIcon.d.ts +2 -5
  814. package/dist/components/other/NoDataIcon/NoDataIcon.js +2 -3
  815. package/dist/components/other/NoDataIcon/NoDataIcon.js.map +1 -1
  816. package/dist/components/other/NoDataIcon/index.d.ts +2 -1
  817. package/dist/components/overlays/AlertDialog/AlertDialog.d.ts +4 -6
  818. package/dist/components/overlays/AlertDialog/AlertDialog.js +4 -5
  819. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  820. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.d.ts +3 -6
  821. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +3 -5
  822. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
  823. package/dist/components/overlays/AlertDialog/AlertDialogZone.d.ts +1 -2
  824. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +3 -4
  825. package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
  826. package/dist/components/overlays/AlertDialog/index.d.ts +3 -2
  827. package/dist/components/overlays/AlertDialog/types.d.ts +5 -10
  828. package/dist/components/overlays/Dialog/Dialog.d.ts +6 -6
  829. package/dist/components/overlays/Dialog/Dialog.js +95 -33
  830. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  831. package/dist/components/overlays/Dialog/DialogContainer.d.ts +6 -7
  832. package/dist/components/overlays/Dialog/DialogContainer.js +42 -37
  833. package/dist/components/overlays/Dialog/DialogContainer.js.map +1 -1
  834. package/dist/components/overlays/Dialog/DialogForm.d.ts +5 -7
  835. package/dist/components/overlays/Dialog/DialogForm.js +5 -6
  836. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  837. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +3 -6
  838. package/dist/components/overlays/Dialog/DialogTrigger.js +5 -6
  839. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  840. package/dist/components/overlays/Dialog/ModernDialogForm.js +5 -6
  841. package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
  842. package/dist/components/overlays/Dialog/context.js +12 -4
  843. package/dist/components/overlays/Dialog/context.js.map +1 -1
  844. package/dist/components/overlays/Dialog/default-button-text.js +2 -2
  845. package/dist/components/overlays/Dialog/default-button-text.js.map +1 -1
  846. package/dist/components/overlays/Dialog/index.d.ts +2 -1
  847. package/dist/components/overlays/Dialog/use-content-overflow.js +2 -3
  848. package/dist/components/overlays/Dialog/use-content-overflow.js.map +1 -1
  849. package/dist/components/overlays/Dialog/use-dialog-container.d.ts +2 -5
  850. package/dist/components/overlays/Dialog/use-dialog-container.js +2 -3
  851. package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
  852. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +2 -3
  853. package/dist/components/overlays/Dialog/use-dialog-open-sync.js.map +1 -1
  854. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +386 -0
  855. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js.map +1 -0
  856. package/dist/components/overlays/Modal/Modal.d.ts +1 -2
  857. package/dist/components/overlays/Modal/Modal.js +5 -6
  858. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  859. package/dist/components/overlays/Modal/OpenTransitionContext.js +2 -3
  860. package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
  861. package/dist/components/overlays/Modal/Overlay.js +35 -14
  862. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  863. package/dist/components/overlays/Modal/Popover.d.ts +1 -1
  864. package/dist/components/overlays/Modal/Popover.js +4 -5
  865. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  866. package/dist/components/overlays/Modal/Tray.js +72 -65
  867. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  868. package/dist/components/overlays/Modal/Underlay.js +3 -4
  869. package/dist/components/overlays/Modal/Underlay.js.map +1 -1
  870. package/dist/components/overlays/Modal/index.d.ts +3 -2
  871. package/dist/components/overlays/Modal/modal-containment.js +2 -3
  872. package/dist/components/overlays/Modal/modal-containment.js.map +1 -1
  873. package/dist/components/overlays/Modal/types.d.ts +1 -3
  874. package/dist/components/overlays/Notifications/Notification.d.ts +1 -3
  875. package/dist/components/overlays/Notifications/Notification.js +4 -4
  876. package/dist/components/overlays/Notifications/Notification.js.map +1 -1
  877. package/dist/components/overlays/Notifications/NotificationAction.d.ts +1 -10
  878. package/dist/components/overlays/Notifications/NotificationAction.js +2 -3
  879. package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
  880. package/dist/components/overlays/Notifications/NotificationCard.d.ts +2 -18
  881. package/dist/components/overlays/Notifications/NotificationCard.js +3 -4
  882. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  883. package/dist/components/overlays/Notifications/NotificationContext.d.ts +1 -4
  884. package/dist/components/overlays/Notifications/NotificationContext.js +2 -3
  885. package/dist/components/overlays/Notifications/NotificationContext.js.map +1 -1
  886. package/dist/components/overlays/Notifications/NotificationItem.d.ts +2 -9
  887. package/dist/components/overlays/Notifications/NotificationItem.js +2 -3
  888. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  889. package/dist/components/overlays/Notifications/OverlayContainer.js +6 -8
  890. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  891. package/dist/components/overlays/Notifications/OverlayProvider.d.ts +1 -7
  892. package/dist/components/overlays/Notifications/OverlayProvider.js +3 -4
  893. package/dist/components/overlays/Notifications/OverlayProvider.js.map +1 -1
  894. package/dist/components/overlays/Notifications/PersistentNotificationsList.d.ts +1 -8
  895. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +3 -4
  896. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  897. package/dist/components/overlays/Notifications/dismissed-storage.js +2 -2
  898. package/dist/components/overlays/Notifications/dismissed-storage.js.map +1 -1
  899. package/dist/components/overlays/Notifications/format-relative-time.d.ts +1 -3
  900. package/dist/components/overlays/Notifications/format-relative-time.js +2 -2
  901. package/dist/components/overlays/Notifications/format-relative-time.js.map +1 -1
  902. package/dist/components/overlays/Notifications/index.d.ts +3 -4
  903. package/dist/components/overlays/Notifications/index.js +4 -5
  904. package/dist/components/overlays/Notifications/index.js.map +1 -1
  905. package/dist/components/overlays/Notifications/types.d.ts +14 -16
  906. package/dist/components/overlays/Notifications/use-notification-state.js +3 -4
  907. package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
  908. package/dist/components/overlays/Notifications/use-notifications.d.ts +1 -3
  909. package/dist/components/overlays/Notifications/use-notifications.js +8 -7
  910. package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
  911. package/dist/components/overlays/Notifications/use-overlay-timers.js +2 -3
  912. package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
  913. package/dist/components/overlays/Notifications/use-persistent-notifications.d.ts +2 -4
  914. package/dist/components/overlays/Notifications/use-persistent-notifications.js +2 -3
  915. package/dist/components/overlays/Notifications/use-persistent-notifications.js.map +1 -1
  916. package/dist/components/overlays/Notifications/use-persistent-state.js +2 -3
  917. package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
  918. package/dist/components/overlays/Notifications/use-toast-state.js +2 -3
  919. package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
  920. package/dist/components/overlays/Toast/ToastItem.d.ts +3 -6
  921. package/dist/components/overlays/Toast/ToastItem.js +3 -4
  922. package/dist/components/overlays/Toast/ToastItem.js.map +1 -1
  923. package/dist/components/overlays/Toast/ToastProvider.d.ts +2 -1
  924. package/dist/components/overlays/Toast/index.d.ts +6 -7
  925. package/dist/components/overlays/Toast/index.js +3 -4
  926. package/dist/components/overlays/Toast/index.js.map +1 -1
  927. package/dist/components/overlays/Toast/types.d.ts +8 -10
  928. package/dist/components/overlays/Toast/useProgressToast.d.ts +1 -3
  929. package/dist/components/overlays/Toast/useProgressToast.js +11 -10
  930. package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
  931. package/dist/components/overlays/Toast/useToast.d.ts +2 -4
  932. package/dist/components/overlays/Toast/useToast.js +2 -3
  933. package/dist/components/overlays/Toast/useToast.js.map +1 -1
  934. package/dist/components/overlays/Tooltip/Tooltip.d.ts +3 -5
  935. package/dist/components/overlays/Tooltip/Tooltip.js +3 -4
  936. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  937. package/dist/components/overlays/Tooltip/TooltipProvider.d.ts +2 -4
  938. package/dist/components/overlays/Tooltip/TooltipProvider.js +3 -4
  939. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  940. package/dist/components/overlays/Tooltip/TooltipTrigger.d.ts +3 -6
  941. package/dist/components/overlays/Tooltip/TooltipTrigger.js +4 -5
  942. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  943. package/dist/components/overlays/Tooltip/context.js +2 -3
  944. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  945. package/dist/components/overlays/Tooltip/split-trigger-props.d.ts +2 -3
  946. package/dist/components/overlays/Tooltip/split-trigger-props.js +2 -3
  947. package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -1
  948. package/dist/components/portal/Portal.d.ts +1 -4
  949. package/dist/components/portal/Portal.js +2 -3
  950. package/dist/components/portal/Portal.js.map +1 -1
  951. package/dist/components/portal/PortalProvider.js +2 -3
  952. package/dist/components/portal/PortalProvider.js.map +1 -1
  953. package/dist/components/portal/index.d.ts +2 -1
  954. package/dist/components/portal/types.d.ts +1 -3
  955. package/dist/components/portal/usePortal.js +2 -3
  956. package/dist/components/portal/usePortal.js.map +1 -1
  957. package/dist/components/shared/DraggableCollection.js +15 -15
  958. package/dist/components/shared/DraggableCollection.js.map +1 -1
  959. package/dist/components/shared/InvalidIcon.js +2 -3
  960. package/dist/components/shared/InvalidIcon.js.map +1 -1
  961. package/dist/components/shared/ValidIcon.js +2 -3
  962. package/dist/components/shared/ValidIcon.js.map +1 -1
  963. package/dist/components/status/LoadingAnimation/LoadingAnimation.d.ts +2 -8
  964. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +2 -3
  965. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  966. package/dist/components/status/LoadingAnimation/index.d.ts +2 -1
  967. package/dist/components/status/Spin/Cube.js +2 -3
  968. package/dist/components/status/Spin/Cube.js.map +1 -1
  969. package/dist/components/status/Spin/InternalSpinner.js +2 -3
  970. package/dist/components/status/Spin/InternalSpinner.js.map +1 -1
  971. package/dist/components/status/Spin/Spin.d.ts +1 -4
  972. package/dist/components/status/Spin/Spin.js +2 -3
  973. package/dist/components/status/Spin/Spin.js.map +1 -1
  974. package/dist/components/status/Spin/SpinsContainer.js +2 -3
  975. package/dist/components/status/Spin/SpinsContainer.js.map +1 -1
  976. package/dist/components/status/Spin/index.d.ts +2 -1
  977. package/dist/components/status/Spin/types.d.ts +2 -4
  978. package/dist/components/status/index.d.ts +2 -1
  979. package/dist/data/item-themes.d.ts +1 -3
  980. package/dist/data/item-themes.js +3 -3
  981. package/dist/data/item-themes.js.map +1 -1
  982. package/dist/data/themes.d.ts +9 -9
  983. package/dist/data/themes.js +10 -10
  984. package/dist/data/themes.js.map +1 -1
  985. package/dist/eslint-plugin/defaults.generated.d.ts +1 -3
  986. package/dist/eslint-plugin/defaults.generated.js +3 -8
  987. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  988. package/dist/eslint-plugin/index.d.ts +0 -1
  989. package/dist/eslint-plugin/index.js +2 -3
  990. package/dist/eslint-plugin/index.js.map +1 -1
  991. package/dist/eslint-plugin/rules/no-redundant-default-prop.d.ts +2 -4
  992. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +2 -3
  993. package/dist/eslint-plugin/rules/no-redundant-default-prop.js.map +1 -1
  994. package/dist/eslint-plugin/types.d.ts +17 -10
  995. package/dist/i18n/I18nProvider.d.ts +2 -9
  996. package/dist/i18n/I18nProvider.js +2 -3
  997. package/dist/i18n/I18nProvider.js.map +1 -1
  998. package/dist/i18n/createFormatter.d.ts +6 -7
  999. package/dist/i18n/createFormatter.js +2 -2
  1000. package/dist/i18n/createFormatter.js.map +1 -1
  1001. package/dist/i18n/index.d.ts +2 -4
  1002. package/dist/i18n/index.js +3 -4
  1003. package/dist/i18n/index.js.map +1 -1
  1004. package/dist/i18n/instance.d.ts +5 -6
  1005. package/dist/i18n/instance.js +3 -4
  1006. package/dist/i18n/instance.js.map +1 -1
  1007. package/dist/i18n/locales/de-DE/uikit.js +2 -2
  1008. package/dist/i18n/locales/en-US/uikit.js +2 -2
  1009. package/dist/i18n/locales/en-US/uikit.json.d.ts +41 -41
  1010. package/dist/i18n/locales/es-ES/uikit.js +2 -2
  1011. package/dist/i18n/locales/es-MX/uikit.js +2 -2
  1012. package/dist/i18n/locales/fr-FR/uikit.js +2 -2
  1013. package/dist/i18n/locales/it-IT/uikit.js +2 -2
  1014. package/dist/i18n/locales/ja-JP/uikit.js +2 -2
  1015. package/dist/i18n/locales/nb-NO/uikit.js +2 -2
  1016. package/dist/i18n/locales/pt-BR/uikit.js +2 -2
  1017. package/dist/i18n/locales/pt-PT/uikit.js +2 -2
  1018. package/dist/i18n/locales/sv-SE/uikit.js +2 -2
  1019. package/dist/i18n/locales/vi-VN/uikit.js +2 -2
  1020. package/dist/i18n/locales.d.ts +4 -5
  1021. package/dist/i18n/locales.js +2 -2
  1022. package/dist/i18n/locales.js.map +1 -1
  1023. package/dist/i18n/namespace.d.ts +1 -2
  1024. package/dist/i18n/namespace.js +2 -2
  1025. package/dist/i18n/useFormatter.d.ts +1 -3
  1026. package/dist/i18n/useFormatter.js +2 -3
  1027. package/dist/i18n/useFormatter.js.map +1 -1
  1028. package/dist/i18n/useI18n.js +2 -3
  1029. package/dist/i18n/useI18n.js.map +1 -1
  1030. package/dist/icons/AdjustmentsHorizontalIcon.d.ts +2 -5
  1031. package/dist/icons/AdjustmentsHorizontalIcon.js +2 -3
  1032. package/dist/icons/AdjustmentsHorizontalIcon.js.map +1 -1
  1033. package/dist/icons/AdjustmentsIcon.d.ts +2 -5
  1034. package/dist/icons/AdjustmentsIcon.js +2 -3
  1035. package/dist/icons/AdjustmentsIcon.js.map +1 -1
  1036. package/dist/icons/AiIcon.d.ts +2 -5
  1037. package/dist/icons/AiIcon.js +2 -3
  1038. package/dist/icons/AiIcon.js.map +1 -1
  1039. package/dist/icons/AreaChartIcon.d.ts +2 -5
  1040. package/dist/icons/AreaChartIcon.js +2 -3
  1041. package/dist/icons/AreaChartIcon.js.map +1 -1
  1042. package/dist/icons/ArrowNarrowDownIcon.d.ts +2 -5
  1043. package/dist/icons/ArrowNarrowDownIcon.js +2 -3
  1044. package/dist/icons/ArrowNarrowDownIcon.js.map +1 -1
  1045. package/dist/icons/ArrowNarrowUpIcon.d.ts +2 -5
  1046. package/dist/icons/ArrowNarrowUpIcon.js +2 -3
  1047. package/dist/icons/ArrowNarrowUpIcon.js.map +1 -1
  1048. package/dist/icons/BackwardIcon.d.ts +2 -5
  1049. package/dist/icons/BackwardIcon.js +2 -3
  1050. package/dist/icons/BackwardIcon.js.map +1 -1
  1051. package/dist/icons/BarChartIcon.d.ts +2 -5
  1052. package/dist/icons/BarChartIcon.js +2 -3
  1053. package/dist/icons/BarChartIcon.js.map +1 -1
  1054. package/dist/icons/BellFilledIcon.d.ts +2 -5
  1055. package/dist/icons/BellFilledIcon.js +2 -3
  1056. package/dist/icons/BellFilledIcon.js.map +1 -1
  1057. package/dist/icons/BellIcon.d.ts +2 -5
  1058. package/dist/icons/BellIcon.js +2 -3
  1059. package/dist/icons/BellIcon.js.map +1 -1
  1060. package/dist/icons/BooleanIcon.d.ts +2 -5
  1061. package/dist/icons/BooleanIcon.js +2 -3
  1062. package/dist/icons/BooleanIcon.js.map +1 -1
  1063. package/dist/icons/CalendarEditIcon.d.ts +2 -5
  1064. package/dist/icons/CalendarEditIcon.js +2 -3
  1065. package/dist/icons/CalendarEditIcon.js.map +1 -1
  1066. package/dist/icons/CalendarIcon.d.ts +2 -5
  1067. package/dist/icons/CalendarIcon.js +2 -3
  1068. package/dist/icons/CalendarIcon.js.map +1 -1
  1069. package/dist/icons/CaretDownIcon.d.ts +2 -5
  1070. package/dist/icons/CaretDownIcon.js +2 -3
  1071. package/dist/icons/CaretDownIcon.js.map +1 -1
  1072. package/dist/icons/CaretUpIcon.d.ts +2 -5
  1073. package/dist/icons/CaretUpIcon.js +2 -3
  1074. package/dist/icons/CaretUpIcon.js.map +1 -1
  1075. package/dist/icons/ChartAreaStackedIcon.d.ts +2 -5
  1076. package/dist/icons/ChartAreaStackedIcon.js +2 -3
  1077. package/dist/icons/ChartAreaStackedIcon.js.map +1 -1
  1078. package/dist/icons/ChartAreaStackedPercentageIcon.d.ts +2 -5
  1079. package/dist/icons/ChartAreaStackedPercentageIcon.js +2 -3
  1080. package/dist/icons/ChartAreaStackedPercentageIcon.js.map +1 -1
  1081. package/dist/icons/ChartBarGroupedHorizontalIcon.d.ts +2 -5
  1082. package/dist/icons/ChartBarGroupedHorizontalIcon.js +2 -3
  1083. package/dist/icons/ChartBarGroupedHorizontalIcon.js.map +1 -1
  1084. package/dist/icons/ChartBarGroupedIcon.d.ts +2 -5
  1085. package/dist/icons/ChartBarGroupedIcon.js +2 -3
  1086. package/dist/icons/ChartBarGroupedIcon.js.map +1 -1
  1087. package/dist/icons/ChartBarHorizontalIcon.d.ts +2 -5
  1088. package/dist/icons/ChartBarHorizontalIcon.js +2 -3
  1089. package/dist/icons/ChartBarHorizontalIcon.js.map +1 -1
  1090. package/dist/icons/ChartBarLineIcon.d.ts +2 -5
  1091. package/dist/icons/ChartBarLineIcon.js +2 -3
  1092. package/dist/icons/ChartBarLineIcon.js.map +1 -1
  1093. package/dist/icons/ChartBarStackedHorizontalIcon.d.ts +2 -5
  1094. package/dist/icons/ChartBarStackedHorizontalIcon.js +2 -3
  1095. package/dist/icons/ChartBarStackedHorizontalIcon.js.map +1 -1
  1096. package/dist/icons/ChartBarStackedIcon.d.ts +2 -5
  1097. package/dist/icons/ChartBarStackedIcon.js +2 -3
  1098. package/dist/icons/ChartBarStackedIcon.js.map +1 -1
  1099. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.d.ts +2 -5
  1100. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +2 -3
  1101. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js.map +1 -1
  1102. package/dist/icons/ChartBarStackedPercentageIcon.d.ts +2 -5
  1103. package/dist/icons/ChartBarStackedPercentageIcon.js +2 -3
  1104. package/dist/icons/ChartBarStackedPercentageIcon.js.map +1 -1
  1105. package/dist/icons/ChartBoxPlot2Icon.d.ts +2 -5
  1106. package/dist/icons/ChartBoxPlot2Icon.js +2 -3
  1107. package/dist/icons/ChartBoxPlot2Icon.js.map +1 -1
  1108. package/dist/icons/ChartBoxPlotIcon.d.ts +2 -5
  1109. package/dist/icons/ChartBoxPlotIcon.js +2 -3
  1110. package/dist/icons/ChartBoxPlotIcon.js.map +1 -1
  1111. package/dist/icons/ChartBubbleIcon.d.ts +2 -5
  1112. package/dist/icons/ChartBubbleIcon.js +2 -3
  1113. package/dist/icons/ChartBubbleIcon.js.map +1 -1
  1114. package/dist/icons/ChartDonut2Icon.d.ts +2 -5
  1115. package/dist/icons/ChartDonut2Icon.js +2 -3
  1116. package/dist/icons/ChartDonut2Icon.js.map +1 -1
  1117. package/dist/icons/ChartFunnelIcon.d.ts +2 -5
  1118. package/dist/icons/ChartFunnelIcon.js +2 -3
  1119. package/dist/icons/ChartFunnelIcon.js.map +1 -1
  1120. package/dist/icons/ChartHeatmapIcon.d.ts +2 -5
  1121. package/dist/icons/ChartHeatmapIcon.js +2 -3
  1122. package/dist/icons/ChartHeatmapIcon.js.map +1 -1
  1123. package/dist/icons/ChartKPIIcon.d.ts +2 -5
  1124. package/dist/icons/ChartKPIIcon.js +2 -3
  1125. package/dist/icons/ChartKPIIcon.js.map +1 -1
  1126. package/dist/icons/ChartPie2Icon.d.ts +2 -5
  1127. package/dist/icons/ChartPie2Icon.js +2 -3
  1128. package/dist/icons/ChartPie2Icon.js.map +1 -1
  1129. package/dist/icons/ChartScatterIcon.d.ts +2 -5
  1130. package/dist/icons/ChartScatterIcon.js +2 -3
  1131. package/dist/icons/ChartScatterIcon.js.map +1 -1
  1132. package/dist/icons/CheckCircleFilledIcon.d.ts +2 -5
  1133. package/dist/icons/CheckCircleFilledIcon.js +2 -3
  1134. package/dist/icons/CheckCircleFilledIcon.js.map +1 -1
  1135. package/dist/icons/CheckCircleIcon.d.ts +2 -5
  1136. package/dist/icons/CheckCircleIcon.js +2 -3
  1137. package/dist/icons/CheckCircleIcon.js.map +1 -1
  1138. package/dist/icons/CheckIcon.d.ts +2 -5
  1139. package/dist/icons/CheckIcon.js +2 -3
  1140. package/dist/icons/CheckIcon.js.map +1 -1
  1141. package/dist/icons/CircleFilledIcon.d.ts +2 -5
  1142. package/dist/icons/CircleFilledIcon.js +2 -3
  1143. package/dist/icons/CircleFilledIcon.js.map +1 -1
  1144. package/dist/icons/ClearIcon.d.ts +2 -5
  1145. package/dist/icons/ClearIcon.js +2 -3
  1146. package/dist/icons/ClearIcon.js.map +1 -1
  1147. package/dist/icons/CloseCircleFilledIcon.d.ts +2 -5
  1148. package/dist/icons/CloseCircleFilledIcon.js +2 -3
  1149. package/dist/icons/CloseCircleFilledIcon.js.map +1 -1
  1150. package/dist/icons/CloseCircleIcon.d.ts +2 -5
  1151. package/dist/icons/CloseCircleIcon.js +2 -3
  1152. package/dist/icons/CloseCircleIcon.js.map +1 -1
  1153. package/dist/icons/CloseIcon.d.ts +2 -5
  1154. package/dist/icons/CloseIcon.js +2 -3
  1155. package/dist/icons/CloseIcon.js.map +1 -1
  1156. package/dist/icons/CodeIcon.d.ts +2 -5
  1157. package/dist/icons/CodeIcon.js +2 -3
  1158. package/dist/icons/CodeIcon.js.map +1 -1
  1159. package/dist/icons/ColumnTotalIcon.d.ts +2 -5
  1160. package/dist/icons/ColumnTotalIcon.js +2 -3
  1161. package/dist/icons/ColumnTotalIcon.js.map +1 -1
  1162. package/dist/icons/CopyIcon.d.ts +2 -5
  1163. package/dist/icons/CopyIcon.js +2 -3
  1164. package/dist/icons/CopyIcon.js.map +1 -1
  1165. package/dist/icons/CountIcon.d.ts +2 -5
  1166. package/dist/icons/CountIcon.js +2 -3
  1167. package/dist/icons/CountIcon.js.map +1 -1
  1168. package/dist/icons/CubeIcon.d.ts +2 -5
  1169. package/dist/icons/CubeIcon.js +2 -3
  1170. package/dist/icons/CubeIcon.js.map +1 -1
  1171. package/dist/icons/CubePauseIcon.d.ts +2 -5
  1172. package/dist/icons/CubePauseIcon.js +2 -3
  1173. package/dist/icons/CubePauseIcon.js.map +1 -1
  1174. package/dist/icons/CubePlayIcon.d.ts +2 -5
  1175. package/dist/icons/CubePlayIcon.js +2 -3
  1176. package/dist/icons/CubePlayIcon.js.map +1 -1
  1177. package/dist/icons/CurrencyDollarIcon.d.ts +2 -5
  1178. package/dist/icons/CurrencyDollarIcon.js +2 -3
  1179. package/dist/icons/CurrencyDollarIcon.js.map +1 -1
  1180. package/dist/icons/DangerIcon.d.ts +2 -5
  1181. package/dist/icons/DangerIcon.js +2 -3
  1182. package/dist/icons/DangerIcon.js.map +1 -1
  1183. package/dist/icons/DashboardIcon.d.ts +2 -5
  1184. package/dist/icons/DashboardIcon.js +2 -3
  1185. package/dist/icons/DashboardIcon.js.map +1 -1
  1186. package/dist/icons/DatabaseIcon.d.ts +2 -5
  1187. package/dist/icons/DatabaseIcon.js +2 -3
  1188. package/dist/icons/DatabaseIcon.js.map +1 -1
  1189. package/dist/icons/DecimalDecreaseIcon.d.ts +2 -5
  1190. package/dist/icons/DecimalDecreaseIcon.js +2 -3
  1191. package/dist/icons/DecimalDecreaseIcon.js.map +1 -1
  1192. package/dist/icons/DecimalIncreaseIcon.d.ts +2 -5
  1193. package/dist/icons/DecimalIncreaseIcon.js +2 -3
  1194. package/dist/icons/DecimalIncreaseIcon.js.map +1 -1
  1195. package/dist/icons/DirectionIcon.d.ts +3 -5
  1196. package/dist/icons/DirectionIcon.js +2 -3
  1197. package/dist/icons/DirectionIcon.js.map +1 -1
  1198. package/dist/icons/DonutIcon.d.ts +2 -5
  1199. package/dist/icons/DonutIcon.js +2 -3
  1200. package/dist/icons/DonutIcon.js.map +1 -1
  1201. package/dist/icons/DownIcon.d.ts +2 -5
  1202. package/dist/icons/DownIcon.js +2 -3
  1203. package/dist/icons/DownIcon.js.map +1 -1
  1204. package/dist/icons/EditIcon.d.ts +2 -5
  1205. package/dist/icons/EditIcon.js +2 -3
  1206. package/dist/icons/EditIcon.js.map +1 -1
  1207. package/dist/icons/ExclamationCircleFilledIcon.d.ts +2 -5
  1208. package/dist/icons/ExclamationCircleFilledIcon.js +2 -3
  1209. package/dist/icons/ExclamationCircleFilledIcon.js.map +1 -1
  1210. package/dist/icons/ExclamationCircleIcon.d.ts +2 -5
  1211. package/dist/icons/ExclamationCircleIcon.js +2 -3
  1212. package/dist/icons/ExclamationCircleIcon.js.map +1 -1
  1213. package/dist/icons/ExclamationIcon.d.ts +2 -5
  1214. package/dist/icons/ExclamationIcon.js +2 -3
  1215. package/dist/icons/ExclamationIcon.js.map +1 -1
  1216. package/dist/icons/EyeIcon.d.ts +2 -5
  1217. package/dist/icons/EyeIcon.js +2 -3
  1218. package/dist/icons/EyeIcon.js.map +1 -1
  1219. package/dist/icons/EyeInvisibleIcon.d.ts +2 -5
  1220. package/dist/icons/EyeInvisibleIcon.js +2 -3
  1221. package/dist/icons/EyeInvisibleIcon.js.map +1 -1
  1222. package/dist/icons/FilterIcon.d.ts +2 -5
  1223. package/dist/icons/FilterIcon.js +2 -3
  1224. package/dist/icons/FilterIcon.js.map +1 -1
  1225. package/dist/icons/FolderFilledIcon.d.ts +2 -5
  1226. package/dist/icons/FolderFilledIcon.js +2 -3
  1227. package/dist/icons/FolderFilledIcon.js.map +1 -1
  1228. package/dist/icons/FolderIcon.d.ts +2 -5
  1229. package/dist/icons/FolderIcon.js +2 -3
  1230. package/dist/icons/FolderIcon.js.map +1 -1
  1231. package/dist/icons/FolderOpenFilledIcon.d.ts +2 -5
  1232. package/dist/icons/FolderOpenFilledIcon.js +2 -3
  1233. package/dist/icons/FolderOpenFilledIcon.js.map +1 -1
  1234. package/dist/icons/FolderOpenIcon.d.ts +2 -5
  1235. package/dist/icons/FolderOpenIcon.js +2 -3
  1236. package/dist/icons/FolderOpenIcon.js.map +1 -1
  1237. package/dist/icons/ForwardIcon.d.ts +2 -5
  1238. package/dist/icons/ForwardIcon.js +2 -3
  1239. package/dist/icons/ForwardIcon.js.map +1 -1
  1240. package/dist/icons/GripVerticalIcon.d.ts +2 -5
  1241. package/dist/icons/GripVerticalIcon.js +2 -3
  1242. package/dist/icons/GripVerticalIcon.js.map +1 -1
  1243. package/dist/icons/HierarchyIcon.d.ts +2 -5
  1244. package/dist/icons/HierarchyIcon.js +2 -3
  1245. package/dist/icons/HierarchyIcon.js.map +1 -1
  1246. package/dist/icons/HierarchyOpenIcon.d.ts +2 -5
  1247. package/dist/icons/HierarchyOpenIcon.js +2 -3
  1248. package/dist/icons/HierarchyOpenIcon.js.map +1 -1
  1249. package/dist/icons/Icon.d.ts +2 -5
  1250. package/dist/icons/Icon.js +2 -3
  1251. package/dist/icons/Icon.js.map +1 -1
  1252. package/dist/icons/InfoCircleIcon.d.ts +2 -5
  1253. package/dist/icons/InfoCircleIcon.js +2 -3
  1254. package/dist/icons/InfoCircleIcon.js.map +1 -1
  1255. package/dist/icons/InfoIcon.d.ts +2 -5
  1256. package/dist/icons/InfoIcon.js +2 -3
  1257. package/dist/icons/InfoIcon.js.map +1 -1
  1258. package/dist/icons/KeyIcon.d.ts +2 -5
  1259. package/dist/icons/KeyIcon.js +2 -3
  1260. package/dist/icons/KeyIcon.js.map +1 -1
  1261. package/dist/icons/LeftIcon.d.ts +2 -5
  1262. package/dist/icons/LeftIcon.js +2 -3
  1263. package/dist/icons/LeftIcon.js.map +1 -1
  1264. package/dist/icons/LineChartIcon.d.ts +2 -5
  1265. package/dist/icons/LineChartIcon.js +2 -3
  1266. package/dist/icons/LineChartIcon.js.map +1 -1
  1267. package/dist/icons/LoadingIcon.d.ts +2 -5
  1268. package/dist/icons/LoadingIcon.js +2 -3
  1269. package/dist/icons/LoadingIcon.js.map +1 -1
  1270. package/dist/icons/LockFilledIcon.d.ts +2 -5
  1271. package/dist/icons/LockFilledIcon.js +2 -3
  1272. package/dist/icons/LockFilledIcon.js.map +1 -1
  1273. package/dist/icons/LockIcon.d.ts +2 -5
  1274. package/dist/icons/LockIcon.js +2 -3
  1275. package/dist/icons/LockIcon.js.map +1 -1
  1276. package/dist/icons/MoreIcon.d.ts +2 -5
  1277. package/dist/icons/MoreIcon.js +2 -3
  1278. package/dist/icons/MoreIcon.js.map +1 -1
  1279. package/dist/icons/NotAllowedIcon.d.ts +2 -5
  1280. package/dist/icons/NotAllowedIcon.js +2 -3
  1281. package/dist/icons/NotAllowedIcon.js.map +1 -1
  1282. package/dist/icons/Number123Icon.d.ts +2 -5
  1283. package/dist/icons/Number123Icon.js +2 -3
  1284. package/dist/icons/Number123Icon.js.map +1 -1
  1285. package/dist/icons/NumberIcon.d.ts +2 -5
  1286. package/dist/icons/NumberIcon.js +2 -3
  1287. package/dist/icons/NumberIcon.js.map +1 -1
  1288. package/dist/icons/PauseCircleFilledIcon.d.ts +2 -5
  1289. package/dist/icons/PauseCircleFilledIcon.js +2 -3
  1290. package/dist/icons/PauseCircleFilledIcon.js.map +1 -1
  1291. package/dist/icons/PauseCircleIcon.d.ts +2 -5
  1292. package/dist/icons/PauseCircleIcon.js +2 -3
  1293. package/dist/icons/PauseCircleIcon.js.map +1 -1
  1294. package/dist/icons/PauseIcon.d.ts +2 -5
  1295. package/dist/icons/PauseIcon.js +2 -3
  1296. package/dist/icons/PauseIcon.js.map +1 -1
  1297. package/dist/icons/PercentageIcon.d.ts +2 -5
  1298. package/dist/icons/PercentageIcon.js +2 -3
  1299. package/dist/icons/PercentageIcon.js.map +1 -1
  1300. package/dist/icons/PieChartIcon.d.ts +2 -5
  1301. package/dist/icons/PieChartIcon.js +2 -3
  1302. package/dist/icons/PieChartIcon.js.map +1 -1
  1303. package/dist/icons/PipetteIcon.d.ts +2 -5
  1304. package/dist/icons/PipetteIcon.js +2 -3
  1305. package/dist/icons/PipetteIcon.js.map +1 -1
  1306. package/dist/icons/PlayCircleIcon.d.ts +2 -5
  1307. package/dist/icons/PlayCircleIcon.js +2 -3
  1308. package/dist/icons/PlayCircleIcon.js.map +1 -1
  1309. package/dist/icons/PlayIcon.d.ts +2 -5
  1310. package/dist/icons/PlayIcon.js +2 -3
  1311. package/dist/icons/PlayIcon.js.map +1 -1
  1312. package/dist/icons/PlusIcon.d.ts +2 -5
  1313. package/dist/icons/PlusIcon.js +2 -3
  1314. package/dist/icons/PlusIcon.js.map +1 -1
  1315. package/dist/icons/ProgressBarIcon.d.ts +2 -5
  1316. package/dist/icons/ProgressBarIcon.js +2 -3
  1317. package/dist/icons/ProgressBarIcon.js.map +1 -1
  1318. package/dist/icons/ReloadIcon.d.ts +2 -5
  1319. package/dist/icons/ReloadIcon.js +2 -3
  1320. package/dist/icons/ReloadIcon.js.map +1 -1
  1321. package/dist/icons/ReportIcon.d.ts +2 -5
  1322. package/dist/icons/ReportIcon.js +2 -3
  1323. package/dist/icons/ReportIcon.js.map +1 -1
  1324. package/dist/icons/ReturnIcon.d.ts +2 -5
  1325. package/dist/icons/ReturnIcon.js +2 -3
  1326. package/dist/icons/ReturnIcon.js.map +1 -1
  1327. package/dist/icons/RightIcon.d.ts +2 -5
  1328. package/dist/icons/RightIcon.js +2 -3
  1329. package/dist/icons/RightIcon.js.map +1 -1
  1330. package/dist/icons/RowTotalsIcon.d.ts +2 -5
  1331. package/dist/icons/RowTotalsIcon.js +2 -3
  1332. package/dist/icons/RowTotalsIcon.js.map +1 -1
  1333. package/dist/icons/SchemeIcon.d.ts +2 -5
  1334. package/dist/icons/SchemeIcon.js +2 -3
  1335. package/dist/icons/SchemeIcon.js.map +1 -1
  1336. package/dist/icons/SearchIcon.d.ts +2 -5
  1337. package/dist/icons/SearchIcon.js +2 -3
  1338. package/dist/icons/SearchIcon.js.map +1 -1
  1339. package/dist/icons/SemanticQueryIcon.d.ts +2 -5
  1340. package/dist/icons/SemanticQueryIcon.js +2 -3
  1341. package/dist/icons/SemanticQueryIcon.js.map +1 -1
  1342. package/dist/icons/SettingsIcon.d.ts +2 -5
  1343. package/dist/icons/SettingsIcon.js +2 -3
  1344. package/dist/icons/SettingsIcon.js.map +1 -1
  1345. package/dist/icons/ShieldFilledIcon.d.ts +2 -5
  1346. package/dist/icons/ShieldFilledIcon.js +2 -3
  1347. package/dist/icons/ShieldFilledIcon.js.map +1 -1
  1348. package/dist/icons/ShieldIcon.d.ts +2 -5
  1349. package/dist/icons/ShieldIcon.js +2 -3
  1350. package/dist/icons/ShieldIcon.js.map +1 -1
  1351. package/dist/icons/SlashIcon.d.ts +2 -5
  1352. package/dist/icons/SlashIcon.js +2 -3
  1353. package/dist/icons/SlashIcon.js.map +1 -1
  1354. package/dist/icons/SparklesIcon.d.ts +2 -5
  1355. package/dist/icons/SparklesIcon.js +2 -3
  1356. package/dist/icons/SparklesIcon.js.map +1 -1
  1357. package/dist/icons/SqlIcon.d.ts +2 -5
  1358. package/dist/icons/SqlIcon.js +2 -3
  1359. package/dist/icons/SqlIcon.js.map +1 -1
  1360. package/dist/icons/StatsIcon.d.ts +2 -5
  1361. package/dist/icons/StatsIcon.js +2 -3
  1362. package/dist/icons/StatsIcon.js.map +1 -1
  1363. package/dist/icons/StopIcon.d.ts +2 -5
  1364. package/dist/icons/StopIcon.js +2 -3
  1365. package/dist/icons/StopIcon.js.map +1 -1
  1366. package/dist/icons/StringIcon.d.ts +2 -5
  1367. package/dist/icons/StringIcon.js +2 -3
  1368. package/dist/icons/StringIcon.js.map +1 -1
  1369. package/dist/icons/SubtotalsIcon.d.ts +2 -5
  1370. package/dist/icons/SubtotalsIcon.js +2 -3
  1371. package/dist/icons/SubtotalsIcon.js.map +1 -1
  1372. package/dist/icons/SwitchIcon.d.ts +2 -5
  1373. package/dist/icons/SwitchIcon.js +2 -3
  1374. package/dist/icons/SwitchIcon.js.map +1 -1
  1375. package/dist/icons/TableIcon.d.ts +2 -5
  1376. package/dist/icons/TableIcon.js +2 -3
  1377. package/dist/icons/TableIcon.js.map +1 -1
  1378. package/dist/icons/ThumbsDownIcon.d.ts +2 -5
  1379. package/dist/icons/ThumbsDownIcon.js +2 -3
  1380. package/dist/icons/ThumbsDownIcon.js.map +1 -1
  1381. package/dist/icons/ThumbsUpIcon.d.ts +2 -5
  1382. package/dist/icons/ThumbsUpIcon.js +2 -3
  1383. package/dist/icons/ThumbsUpIcon.js.map +1 -1
  1384. package/dist/icons/ThunderboltCrossedIcon.d.ts +2 -5
  1385. package/dist/icons/ThunderboltCrossedIcon.js +2 -3
  1386. package/dist/icons/ThunderboltCrossedIcon.js.map +1 -1
  1387. package/dist/icons/ThunderboltFilledIcon.d.ts +2 -5
  1388. package/dist/icons/ThunderboltFilledIcon.js +2 -3
  1389. package/dist/icons/ThunderboltFilledIcon.js.map +1 -1
  1390. package/dist/icons/ThunderboltIcon.d.ts +2 -5
  1391. package/dist/icons/ThunderboltIcon.js +2 -3
  1392. package/dist/icons/ThunderboltIcon.js.map +1 -1
  1393. package/dist/icons/TimeIcon.d.ts +2 -5
  1394. package/dist/icons/TimeIcon.js +2 -3
  1395. package/dist/icons/TimeIcon.js.map +1 -1
  1396. package/dist/icons/TrashIcon.d.ts +2 -5
  1397. package/dist/icons/TrashIcon.js +2 -3
  1398. package/dist/icons/TrashIcon.js.map +1 -1
  1399. package/dist/icons/UnlockIcon.d.ts +2 -5
  1400. package/dist/icons/UnlockIcon.js +2 -3
  1401. package/dist/icons/UnlockIcon.js.map +1 -1
  1402. package/dist/icons/UpIcon.d.ts +2 -5
  1403. package/dist/icons/UpIcon.js +2 -3
  1404. package/dist/icons/UpIcon.js.map +1 -1
  1405. package/dist/icons/UserGroupIcon.d.ts +2 -5
  1406. package/dist/icons/UserGroupIcon.js +2 -3
  1407. package/dist/icons/UserGroupIcon.js.map +1 -1
  1408. package/dist/icons/UserIcon.d.ts +2 -5
  1409. package/dist/icons/UserIcon.js +2 -3
  1410. package/dist/icons/UserIcon.js.map +1 -1
  1411. package/dist/icons/UserLockIcon.d.ts +2 -5
  1412. package/dist/icons/UserLockIcon.js +2 -3
  1413. package/dist/icons/UserLockIcon.js.map +1 -1
  1414. package/dist/icons/ViewIcon.d.ts +2 -5
  1415. package/dist/icons/ViewIcon.js +2 -3
  1416. package/dist/icons/ViewIcon.js.map +1 -1
  1417. package/dist/icons/WarningFilledIcon.d.ts +2 -5
  1418. package/dist/icons/WarningFilledIcon.js +2 -3
  1419. package/dist/icons/WarningFilledIcon.js.map +1 -1
  1420. package/dist/icons/WarningIcon.d.ts +2 -5
  1421. package/dist/icons/WarningIcon.js +2 -3
  1422. package/dist/icons/WarningIcon.js.map +1 -1
  1423. package/dist/icons/index.d.ts +2 -1
  1424. package/dist/icons/wrap-icon.d.ts +2 -5
  1425. package/dist/icons/wrap-icon.js +2 -3
  1426. package/dist/icons/wrap-icon.js.map +1 -1
  1427. package/dist/index.d.ts +59 -61
  1428. package/dist/index.js +59 -64
  1429. package/dist/index.js.map +1 -1
  1430. package/dist/node_modules/.pnpm/csstype@3.1.2/node_modules/csstype/index.d.ts +3 -4
  1431. package/dist/probe/canonicalize.d.ts +3 -4
  1432. package/dist/probe/canonicalize.js +2 -2
  1433. package/dist/probe/canonicalize.js.map +1 -1
  1434. package/dist/probe/css.d.ts +4 -5
  1435. package/dist/probe/css.js +2 -3
  1436. package/dist/probe/css.js.map +1 -1
  1437. package/dist/probe/index.js +2 -3
  1438. package/dist/props.d.ts +1 -2
  1439. package/dist/provider.d.ts +3 -6
  1440. package/dist/provider.js +2 -3
  1441. package/dist/provider.js.map +1 -1
  1442. package/dist/providers/TrackingProvider.d.ts +1 -3
  1443. package/dist/providers/TrackingProvider.js +3 -4
  1444. package/dist/providers/TrackingProvider.js.map +1 -1
  1445. package/dist/providers/navigation-url.js +2 -2
  1446. package/dist/providers/navigation-url.js.map +1 -1
  1447. package/dist/providers/navigation.types.d.ts +7 -8
  1448. package/dist/providers/navigationAdapter.default.d.ts +1 -3
  1449. package/dist/providers/navigationAdapter.default.js +6 -4
  1450. package/dist/providers/navigationAdapter.default.js.map +1 -1
  1451. package/dist/providers/use-navigation.js +2 -3
  1452. package/dist/providers/use-navigation.js.map +1 -1
  1453. package/dist/shared/form.d.ts +33 -23
  1454. package/dist/shared/index.d.ts +4 -5
  1455. package/dist/tokens/all-tokens.d.ts +2 -4
  1456. package/dist/tokens/all-tokens.js +2 -3
  1457. package/dist/tokens/all-tokens.js.map +1 -1
  1458. package/dist/tokens/base.d.ts +1 -3
  1459. package/dist/tokens/base.js +38 -2
  1460. package/dist/tokens/base.js.map +1 -1
  1461. package/dist/tokens/color-seed.d.ts +2 -3
  1462. package/dist/tokens/color-seed.js +2 -3
  1463. package/dist/tokens/color-seed.js.map +1 -1
  1464. package/dist/tokens/color-theme.d.ts +5 -7
  1465. package/dist/tokens/color-theme.js +5 -6
  1466. package/dist/tokens/color-theme.js.map +1 -1
  1467. package/dist/tokens/colors.d.ts +3 -5
  1468. package/dist/tokens/colors.js +2 -3
  1469. package/dist/tokens/colors.js.map +1 -1
  1470. package/dist/tokens/index.d.ts +2 -1
  1471. package/dist/tokens/layout.d.ts +1 -3
  1472. package/dist/tokens/layout.js +7 -2
  1473. package/dist/tokens/layout.js.map +1 -1
  1474. package/dist/tokens/lazy-styles.js +2 -2
  1475. package/dist/tokens/lazy-styles.js.map +1 -1
  1476. package/dist/tokens/legacy-color.d.ts +3 -4
  1477. package/dist/tokens/legacy-color.js +2 -3
  1478. package/dist/tokens/legacy-color.js.map +1 -1
  1479. package/dist/tokens/palette-config.d.ts +19 -20
  1480. package/dist/tokens/palette-config.js +9 -24
  1481. package/dist/tokens/palette-config.js.map +1 -1
  1482. package/dist/tokens/palette.d.ts +6 -8
  1483. package/dist/tokens/palette.js +73 -89
  1484. package/dist/tokens/palette.js.map +1 -1
  1485. package/dist/tokens/resolve.d.ts +8 -9
  1486. package/dist/tokens/resolve.js +5 -6
  1487. package/dist/tokens/resolve.js.map +1 -1
  1488. package/dist/tokens/shadows.d.ts +1 -3
  1489. package/dist/tokens/shadows.js +6 -2
  1490. package/dist/tokens/shadows.js.map +1 -1
  1491. package/dist/tokens/sizes.d.ts +5 -7
  1492. package/dist/tokens/sizes.js +2 -2
  1493. package/dist/tokens/sizes.js.map +1 -1
  1494. package/dist/tokens/spacing.d.ts +1 -3
  1495. package/dist/tokens/spacing.js +2 -2
  1496. package/dist/tokens/spacing.js.map +1 -1
  1497. package/dist/tokens/typography.d.ts +2 -3
  1498. package/dist/tokens/typography.js +2 -2
  1499. package/dist/tokens/typography.js.map +1 -1
  1500. package/dist/utils/ResizeSensor.d.ts +1 -2
  1501. package/dist/utils/ResizeSensor.js +11 -9
  1502. package/dist/utils/ResizeSensor.js.map +1 -1
  1503. package/dist/utils/colors.js +3 -4
  1504. package/dist/utils/colors.js.map +1 -1
  1505. package/dist/utils/dotize.js +2 -2
  1506. package/dist/utils/dotize.js.map +1 -1
  1507. package/dist/utils/index.d.ts +2 -1
  1508. package/dist/utils/is-dev-env.js +2 -2
  1509. package/dist/utils/is-dev-env.js.map +1 -1
  1510. package/dist/utils/modules.d.ts +1 -2
  1511. package/dist/utils/modules.js +2 -2
  1512. package/dist/utils/modules.js.map +1 -1
  1513. package/dist/utils/promise.d.ts +1 -2
  1514. package/dist/utils/promise.js +2 -2
  1515. package/dist/utils/promise.js.map +1 -1
  1516. package/dist/utils/raf.d.ts +1 -2
  1517. package/dist/utils/raf.js +2 -2
  1518. package/dist/utils/raf.js.map +1 -1
  1519. package/dist/utils/random.d.ts +2 -3
  1520. package/dist/utils/random.js +3 -4
  1521. package/dist/utils/random.js.map +1 -1
  1522. package/dist/utils/range.d.ts +1 -2
  1523. package/dist/utils/range.js +2 -2
  1524. package/dist/utils/range.js.map +1 -1
  1525. package/dist/utils/react/RenderCache.d.ts +2 -9
  1526. package/dist/utils/react/RenderCache.js +2 -3
  1527. package/dist/utils/react/RenderCache.js.map +1 -1
  1528. package/dist/utils/react/Slots.d.ts +3 -6
  1529. package/dist/utils/react/Slots.js +2 -3
  1530. package/dist/utils/react/Slots.js.map +1 -1
  1531. package/dist/utils/react/chain.d.ts +1 -2
  1532. package/dist/utils/react/chain.js +2 -2
  1533. package/dist/utils/react/chain.js.map +1 -1
  1534. package/dist/utils/react/disabledProps.d.ts +4 -10
  1535. package/dist/utils/react/disabledProps.js +3 -3
  1536. package/dist/utils/react/disabledProps.js.map +1 -1
  1537. package/dist/utils/react/forwardRefWithGenerics.d.ts +2 -5
  1538. package/dist/utils/react/forwardRefWithGenerics.js +2 -2
  1539. package/dist/utils/react/forwardRefWithGenerics.js.map +1 -1
  1540. package/dist/utils/react/index.d.ts +1 -1
  1541. package/dist/utils/react/index.js +2 -3
  1542. package/dist/utils/react/interactions.js +2 -3
  1543. package/dist/utils/react/interactions.js.map +1 -1
  1544. package/dist/utils/react/isTextOnly.d.ts +1 -2
  1545. package/dist/utils/react/isTextOnly.js +2 -3
  1546. package/dist/utils/react/isTextOnly.js.map +1 -1
  1547. package/dist/utils/react/mapProps.js +2 -2
  1548. package/dist/utils/react/mapProps.js.map +1 -1
  1549. package/dist/utils/react/mergeProps.d.ts +2 -3
  1550. package/dist/utils/react/mergeProps.js +2 -3
  1551. package/dist/utils/react/mergeProps.js.map +1 -1
  1552. package/dist/utils/react/nullableValue.d.ts +1 -3
  1553. package/dist/utils/react/nullableValue.js +3 -3
  1554. package/dist/utils/react/nullableValue.js.map +1 -1
  1555. package/dist/utils/react/overlayKeyPropagation.js +3 -3
  1556. package/dist/utils/react/overlayKeyPropagation.js.map +1 -1
  1557. package/dist/utils/react/programmaticFocus.js +2 -2
  1558. package/dist/utils/react/programmaticFocus.js.map +1 -1
  1559. package/dist/utils/react/resolveIcon.d.ts +4 -6
  1560. package/dist/utils/react/resolveIcon.js +2 -2
  1561. package/dist/utils/react/resolveIcon.js.map +1 -1
  1562. package/dist/utils/react/sharedStore.js +2 -3
  1563. package/dist/utils/react/sharedStore.js.map +1 -1
  1564. package/dist/utils/react/useBufferedValue.d.ts +3 -4
  1565. package/dist/utils/react/useBufferedValue.js +2 -3
  1566. package/dist/utils/react/useBufferedValue.js.map +1 -1
  1567. package/dist/utils/react/useCombinedRefs.d.ts +2 -4
  1568. package/dist/utils/react/useCombinedRefs.js +2 -3
  1569. package/dist/utils/react/useCombinedRefs.js.map +1 -1
  1570. package/dist/utils/react/useControlledFocusVisible.d.ts +2 -3
  1571. package/dist/utils/react/useControlledFocusVisible.js +2 -3
  1572. package/dist/utils/react/useControlledFocusVisible.js.map +1 -1
  1573. package/dist/utils/react/useEventBus.d.ts +6 -10
  1574. package/dist/utils/react/useEventBus.js +2 -3
  1575. package/dist/utils/react/useEventBus.js.map +1 -1
  1576. package/dist/utils/react/useId.js +3 -4
  1577. package/dist/utils/react/useId.js.map +1 -1
  1578. package/dist/utils/react/useIsDarwin.js +2 -3
  1579. package/dist/utils/react/useIsDarwin.js.map +1 -1
  1580. package/dist/utils/react/useKeySymbols.js +2 -3
  1581. package/dist/utils/react/useKeySymbols.js.map +1 -1
  1582. package/dist/utils/react/useLayoutEffect.d.ts +0 -1
  1583. package/dist/utils/react/useLayoutEffect.js +2 -3
  1584. package/dist/utils/react/useLayoutEffect.js.map +1 -1
  1585. package/dist/utils/react/useLocalStorage.d.ts +2 -2
  1586. package/dist/utils/react/useLocalStorage.js +2 -3
  1587. package/dist/utils/react/useLocalStorage.js.map +1 -1
  1588. package/dist/utils/react/useMergeStyles.d.ts +1 -3
  1589. package/dist/utils/react/useMergeStyles.js +4 -4
  1590. package/dist/utils/react/useMergeStyles.js.map +1 -1
  1591. package/dist/utils/react/useOverlayEscapeGuard.js +2 -3
  1592. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
  1593. package/dist/utils/react/usePopoverSync.d.ts +3 -14
  1594. package/dist/utils/react/usePopoverSync.js +2 -3
  1595. package/dist/utils/react/usePopoverSync.js.map +1 -1
  1596. package/dist/utils/react/useQaProps.d.ts +2 -2
  1597. package/dist/utils/react/useQaProps.js +6 -4
  1598. package/dist/utils/react/useQaProps.js.map +1 -1
  1599. package/dist/utils/react/useScheme.d.ts +6 -7
  1600. package/dist/utils/react/useScheme.js +2 -3
  1601. package/dist/utils/react/useScheme.js.map +1 -1
  1602. package/dist/utils/react/useViewportSize.d.ts +3 -3
  1603. package/dist/utils/react/useViewportSize.js +2 -3
  1604. package/dist/utils/react/useViewportSize.js.map +1 -1
  1605. package/dist/utils/react/wrapNodeIfPlain.d.ts +1 -3
  1606. package/dist/utils/react/wrapNodeIfPlain.js +2 -3
  1607. package/dist/utils/react/wrapNodeIfPlain.js.map +1 -1
  1608. package/dist/utils/selection.d.ts +1 -3
  1609. package/dist/utils/selection.js +2 -2
  1610. package/dist/utils/selection.js.map +1 -1
  1611. package/dist/utils/styles.d.ts +1 -3
  1612. package/dist/utils/styles.js +2 -3
  1613. package/dist/utils/styles.js.map +1 -1
  1614. package/dist/utils/tree.d.ts +1 -2
  1615. package/dist/utils/tree.js +2 -2
  1616. package/dist/utils/tree.js.map +1 -1
  1617. package/dist/utils/warnings.d.ts +1 -2
  1618. package/dist/utils/warnings.js +2 -3
  1619. package/dist/utils/warnings.js.map +1 -1
  1620. package/dist/version.d.ts +1 -0
  1621. package/dist/version.js +4 -4
  1622. package/dist/version.js.map +1 -1
  1623. package/docs/CreateComponent.md +5 -1
  1624. package/docs/FieldProperties.md +11 -7
  1625. package/docs/Theming.md +1 -1
  1626. package/docs/Usage.md +8 -2
  1627. package/docs/components/content/Alert.md +3 -2
  1628. package/docs/components/content/Layout.md +78 -1
  1629. package/docs/components/content/TextItem.md +2 -2
  1630. package/docs/components/fields/ComboBox.md +1 -2
  1631. package/docs/components/fields/FilterListBox.md +3 -3
  1632. package/docs/components/fields/FilterPicker.md +8 -12
  1633. package/docs/components/fields/ListBox.md +11 -10
  1634. package/docs/components/fields/NumberInput.md +1 -2
  1635. package/docs/components/fields/Picker.md +10 -14
  1636. package/docs/components/fields/Select.md +11 -9
  1637. package/docs/components/fields/Switch.md +4 -5
  1638. package/docs/components/overlays/AlertDialog.md +1 -1
  1639. package/docs/components/overlays/Dialog.md +6 -6
  1640. package/docs/components/overlays/DialogContainer.md +46 -11
  1641. package/docs/components/overlays/DialogTrigger.md +5 -3
  1642. package/docs/tasty/README.md +4 -1
  1643. package/docs/tasty/adoption.md +25 -17
  1644. package/docs/tasty/ai-agents.md +42 -34
  1645. package/docs/tasty/comparison.md +9 -8
  1646. package/docs/tasty/configuration.md +187 -69
  1647. package/docs/tasty/debug.md +3 -2
  1648. package/docs/tasty/design-system.md +117 -15
  1649. package/docs/tasty/dsl.md +211 -117
  1650. package/docs/tasty/getting-started.md +81 -24
  1651. package/docs/tasty/injector.md +41 -40
  1652. package/docs/tasty/methodology.md +46 -21
  1653. package/docs/tasty/migration-v3.md +3 -3
  1654. package/docs/tasty/pipeline.md +22 -19
  1655. package/docs/tasty/plugins.md +21 -41
  1656. package/docs/tasty/react-api.md +72 -9
  1657. package/docs/tasty/runtime-benchmarks.md +11 -11
  1658. package/docs/tasty/ssr.md +92 -66
  1659. package/docs/tasty/styles.md +37 -17
  1660. package/docs/tasty/tasty-static.md +175 -57
  1661. package/package.json +18 -16
  1662. package/tasty.config.ts +8 -0
  1663. package/dist/i18n/useI18n.d.ts +0 -2
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.198.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
4
4
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -6,7 +6,7 @@ import { usePopoverSync } from "../../../utils/react/usePopoverSync.js";
6
6
  import { useEvent } from "../../../_internal/hooks/use-event.js";
7
7
  import { useFocus as useFocus$1 } from "../../../utils/react/interactions.js";
8
8
  import { LoadingIcon } from "../../../icons/LoadingIcon.js";
9
- import { _CollectionItem } from "../../CollectionItem.js";
9
+ import { CollectionItem as _CollectionItem } from "../../CollectionItem.js";
10
10
  import { useI18n } from "../../../i18n/useI18n.js";
11
11
  import { DirectionIcon } from "../../../icons/DirectionIcon.js";
12
12
  import { generateRandomId } from "../../../utils/random.js";
@@ -27,7 +27,6 @@ import React, { forwardRef, useEffect, useRef, useState } from "react";
27
27
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
28
28
  import { useCollator, useFilter, useKeyboard } from "react-aria";
29
29
  import { Section, useListState } from "react-stately";
30
-
31
30
  //#region src/components/fields/ComboBox/ComboBox.tsx
32
31
  const ComboBoxWrapperElement = tasty({
33
32
  qa: "ComboBoxWrapper",
@@ -205,7 +204,7 @@ function useComboBoxFiltering(t0) {
205
204
  function _temp() {
206
205
  return true;
207
206
  }
208
- const OVERLAY_KEYS = new Set(["Escape", "Tab"]);
207
+ const OVERLAY_KEYS = /* @__PURE__ */ new Set(["Escape", "Tab"]);
209
208
  function isComposing(e) {
210
209
  return e.nativeEvent?.isComposing || e.keyCode === 229;
211
210
  }
@@ -379,15 +378,20 @@ function useComboBoxKeyboard(t0) {
379
378
  return t9;
380
379
  }
381
380
  const ComboBoxInput = forwardRef(function ComboBoxInput(t0, ref) {
382
- const $ = c(26);
381
+ const $ = c(28);
383
382
  const { qa, inputRef, id, value, placeholder, isDisabled, isReadOnly, isRequired, autoFocus, autoComplete, size, mods, inputStyles, keyboardProps, focusProps, onChange, onFocus, onPointerDown, onClick, isListShown, comboBoxId, activeDescendant, ariaProps, isInvalid } = t0;
384
383
  const combinedRef = useCombinedRefs(ref, inputRef);
385
- const t1 = autoFocus ? "" : void 0;
384
+ let t1;
385
+ if ($[0] !== autoFocus) {
386
+ t1 = autoFocus ? { "data-autofocus": "" } : void 0;
387
+ $[0] = autoFocus;
388
+ $[1] = t1;
389
+ } else t1 = $[1];
386
390
  const t2 = isRequired || void 0;
387
391
  const t3 = isListShown ? `ComboBoxListBox-${comboBoxId}` : void 0;
388
392
  const t4 = isInvalid || void 0;
389
393
  let t5;
390
- if ($[0] !== activeDescendant || $[1] !== ariaProps || $[2] !== autoComplete || $[3] !== autoFocus || $[4] !== combinedRef || $[5] !== focusProps.onBlur || $[6] !== id || $[7] !== inputStyles || $[8] !== isDisabled || $[9] !== isListShown || $[10] !== isReadOnly || $[11] !== keyboardProps || $[12] !== mods || $[13] !== onChange || $[14] !== onClick || $[15] !== onFocus || $[16] !== onPointerDown || $[17] !== placeholder || $[18] !== qa || $[19] !== size || $[20] !== t1 || $[21] !== t2 || $[22] !== t3 || $[23] !== t4 || $[24] !== value) {
394
+ if ($[2] !== activeDescendant || $[3] !== ariaProps || $[4] !== autoComplete || $[5] !== autoFocus || $[6] !== combinedRef || $[7] !== focusProps.onBlur || $[8] !== id || $[9] !== inputStyles || $[10] !== isDisabled || $[11] !== isListShown || $[12] !== isReadOnly || $[13] !== keyboardProps || $[14] !== mods || $[15] !== onChange || $[16] !== onClick || $[17] !== onFocus || $[18] !== onPointerDown || $[19] !== placeholder || $[20] !== qa || $[21] !== size || $[22] !== t1 || $[23] !== t2 || $[24] !== t3 || $[25] !== t4 || $[26] !== value) {
391
395
  t5 = /* @__PURE__ */ jsx(InputElement, {
392
396
  ref: combinedRef,
393
397
  qa,
@@ -399,7 +403,7 @@ const ComboBoxInput = forwardRef(function ComboBoxInput(t0, ref) {
399
403
  readOnly: isReadOnly,
400
404
  autoFocus,
401
405
  autoComplete,
402
- "data-autofocus": t1,
406
+ ...t1,
403
407
  onChange,
404
408
  onFocus,
405
409
  onPointerDown,
@@ -420,37 +424,37 @@ const ComboBoxInput = forwardRef(function ComboBoxInput(t0, ref) {
420
424
  "aria-invalid": t4,
421
425
  ...ariaProps
422
426
  });
423
- $[0] = activeDescendant;
424
- $[1] = ariaProps;
425
- $[2] = autoComplete;
426
- $[3] = autoFocus;
427
- $[4] = combinedRef;
428
- $[5] = focusProps.onBlur;
429
- $[6] = id;
430
- $[7] = inputStyles;
431
- $[8] = isDisabled;
432
- $[9] = isListShown;
433
- $[10] = isReadOnly;
434
- $[11] = keyboardProps;
435
- $[12] = mods;
436
- $[13] = onChange;
437
- $[14] = onClick;
438
- $[15] = onFocus;
439
- $[16] = onPointerDown;
440
- $[17] = placeholder;
441
- $[18] = qa;
442
- $[19] = size;
443
- $[20] = t1;
444
- $[21] = t2;
445
- $[22] = t3;
446
- $[23] = t4;
447
- $[24] = value;
448
- $[25] = t5;
449
- } else t5 = $[25];
427
+ $[2] = activeDescendant;
428
+ $[3] = ariaProps;
429
+ $[4] = autoComplete;
430
+ $[5] = autoFocus;
431
+ $[6] = combinedRef;
432
+ $[7] = focusProps.onBlur;
433
+ $[8] = id;
434
+ $[9] = inputStyles;
435
+ $[10] = isDisabled;
436
+ $[11] = isListShown;
437
+ $[12] = isReadOnly;
438
+ $[13] = keyboardProps;
439
+ $[14] = mods;
440
+ $[15] = onChange;
441
+ $[16] = onClick;
442
+ $[17] = onFocus;
443
+ $[18] = onPointerDown;
444
+ $[19] = placeholder;
445
+ $[20] = qa;
446
+ $[21] = size;
447
+ $[22] = t1;
448
+ $[23] = t2;
449
+ $[24] = t3;
450
+ $[25] = t4;
451
+ $[26] = value;
452
+ $[27] = t5;
453
+ } else t5 = $[27];
450
454
  return t5;
451
455
  });
452
456
  const ComboBox = forwardRef(function ComboBox(props, ref) {
453
- const $ = c(283);
457
+ const $ = c(282);
454
458
  let t0;
455
459
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
456
460
  t0 = { valuePropsMapper: _temp2 };
@@ -477,7 +481,7 @@ const ComboBox = forwardRef(function ComboBox(props, ref) {
477
481
  $[1] = t13;
478
482
  } else t13 = $[1];
479
483
  const comboBoxId = t13;
480
- wrapperRef = useCombinedRefs(wrapperRef);
484
+ wrapperRef = useCombinedRefs(wrapperRef, ref);
481
485
  popoverRef = useCombinedRefs(popoverRef);
482
486
  const t14 = wrapperRef;
483
487
  const t15 = popoverRef;
@@ -504,7 +508,6 @@ const ComboBox = forwardRef(function ComboBox(props, ref) {
504
508
  const { effectiveSelectedKey, internalInputValue, isPopoverOpen, setIsPopoverOpen, setInternalSelectedKey, setInternalInputValue, isControlledKey, isControlledInput } = useComboBoxState(t16);
505
509
  const sortSelectedToTop = sortSelectedToTopProp ?? (items ? true : false);
506
510
  styles = extractStyles(otherProps, PROP_STYLES, styles);
507
- ref = useCombinedRefs(ref);
508
511
  inputRef = useCombinedRefs(inputRef);
509
512
  triggerRef = useCombinedRefs(triggerRef);
510
513
  listBoxRef = useCombinedRefs(listBoxRef);
@@ -755,7 +758,8 @@ const ComboBox = forwardRef(function ComboBox(props, ref) {
755
758
  const value_1 = e.target.value;
756
759
  if (!isControlledInput) setInternalInputValue(value_1);
757
760
  onInputChange?.(value_1);
758
- setIsFilterActive(value_1.trim().length > 0);
761
+ const trimmed = value_1.trim();
762
+ setIsFilterActive(trimmed.length > 0);
759
763
  if (allowsCustomValue && effectiveSelectedKey != null) {
760
764
  selectionClearedByTyping.current = true;
761
765
  if (!isControlledKey) setInternalSelectedKey(null);
@@ -1324,14 +1328,13 @@ const ComboBox = forwardRef(function ComboBox(props, ref) {
1324
1328
  } else t72 = $[278];
1325
1329
  const comboBoxField = t72;
1326
1330
  let t73;
1327
- if ($[279] !== comboBoxField || $[280] !== props || $[281] !== ref) {
1331
+ if ($[279] !== comboBoxField || $[280] !== props) {
1328
1332
  const { children: _, ...propsWithoutChildren } = props;
1329
- t73 = wrapWithField(comboBoxField, ref, propsWithoutChildren);
1333
+ t73 = wrapWithField(comboBoxField, propsWithoutChildren);
1330
1334
  $[279] = comboBoxField;
1331
1335
  $[280] = props;
1332
- $[281] = ref;
1333
- $[282] = t73;
1334
- } else t73 = $[282];
1336
+ $[281] = t73;
1337
+ } else t73 = $[281];
1335
1338
  return t73;
1336
1339
  });
1337
1340
  ComboBox.Item = _CollectionItem;
@@ -1350,7 +1353,7 @@ function _temp2(t0) {
1350
1353
  }
1351
1354
  };
1352
1355
  }
1353
-
1354
1356
  //#endregion
1355
1357
  export { ComboBox };
1358
+
1356
1359
  //# sourceMappingURL=ComboBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.js","names":["KeyboardEvent","AriaKeyboardEvent","AriaLabelingProps","CollectionChildren","FocusableRef","Key","BASE_STYLES","BasePropsWithoutChildren","BaseStyleProps","COLOR_STYLES","ColorStyleProps","OUTER_STYLES","OuterStyleProps","Styles","tasty","React","ForwardedRef","forwardRef","ReactElement","ReactNode","RefObject","useEffect","useMemo","useRef","useState","useCollator","useFilter","useKeyboard","Section","BaseSection","useListState","useEvent","useI18n","CloseIcon","DirectionIcon","LoadingIcon","FieldBaseProps","TextFieldKeyboardProps","generateRandomId","useCombinedRefs","useLayoutEffect","useFocus","usePopoverSync","extractStyles","CollectionItem","Item","getValidationIcon","getValidationMods","useFieldProps","wrapWithField","getListBoxOptionId","filterCollectionNodes","getEdgeVisibleKey","getNextVisibleKey","ListBoxPopover","ListStateLike","markKeyboardFocus","useCompositeFocus","DEFAULT_INPUT_STYLES","INPUT_WRAPPER_STYLES","CollectionLike","collectOptions","findTypedOption","getItemLabel","highlightOption","resolveHighlightedKey","sortSelectedFirst","FilterFn","textValue","inputValue","PopoverTriggerAction","ComboBoxWrapperElement","qa","styles","InputElement","as","CubeComboBoxProps","selectedKey","defaultSelectedKey","onSelectionChange","key","defaultInputValue","onInputChange","value","placeholder","autoFocus","autoComplete","onFocus","onBlur","onKeyDown","popoverTrigger","items","Iterable","T","children","item","filter","allowsCustomValue","shouldCommitOnBlur","clearOnBlur","isClearable","onClear","icon","prefix","suffix","hideTrigger","size","inputRef","HTMLInputElement","wrapperRef","HTMLDivElement","listBoxRef","popoverRef","triggerRef","HTMLButtonElement","inputStyles","triggerStyles","listBoxStyles","overlayStyles","optionStyles","sectionStyles","headingStyles","listGap","isDisabled","isLoading","disabledKeys","shouldFlip","direction","overlayOffset","containerPadding","isReadOnly","suffixPosition","sortSelectedToTop","onOpenChange","isOpen","PROP_STYLES","UseComboBoxStateProps","comboBoxId","HTMLElement","UseComboBoxStateReturn","effectiveSelectedKey","internalInputValue","isPopoverOpen","setIsPopoverOpen","open","setInternalSelectedKey","setInternalInputValue","isControlledKey","isControlledInput","useComboBoxState","t0","$","_c","internalSelectedKey","undefined","t1","Symbol","for","t2","menuId","onClose","containerRef","t3","UseSelectedLabelReturn","selectedLabel","pickLabel","useSelectedLabel","collection","knownLabel","setKnownLabel","picked","label","getItem","String","UseComboBoxFilteringProps","effectiveInputValue","UseComboBoxFilteringReturn","filterFn","nodes","isSameText","text","isFilterActive","setIsFilterActive","active","useComboBoxFiltering","sensitivity","contains","usage","collator","compare","normalize","t4","_temp","textFilterFn","t5","term","trim","t6","UseComboBoxKeyboardProps","isListShown","listStateRef","hasResults","selection","onClearValue","onOpenList","onCloseList","onVirtualFocus","OVERLAY_KEYS","Set","isComposing","e","nativeEvent","keyCode","useComboBoxKeyboard","listState","selectionManager","setFocusedKey","focusOption","preventDefault","listState_0","current","handleArrowKey","e_0","commitTypedText","e_1","listState_1","key_0","select","focus","handleEnterKey","e_2","handleEscapeKey","e_3","listState_2","handleEdgeKey","t7","e_4","handleKey","t8","e_5","isDefaultPrevented","has","continuePropagation","keyboardProps","t9","ComboBoxInputProps","id","isRequired","mods","Record","focusProps","onChange","ChangeEvent","FocusEvent","onPointerDown","onClick","activeDescendant","ariaProps","isInvalid","ComboBoxInput","ref","combinedRef","ComboBox","props","valuePropsMapper","_temp2","t","extra","labelStyles","necessityIndicator","isValid","message","description","labelSuffix","t10","renderChildren","t11","t12","externalOnSelectionChange","sortSelectedToTopProp","form","otherProps","t13","t14","t15","t16","sortKey","setSortKey","sortedItems","renderFn","itemsArray","Array","from","map","idx","rendered","it","isValidElement","cloneElement","t17","t18","selectionMode","localCollectionState","t19","t20","filteredOptions","length","shouldShowPopover","reportedOpenRef","t21","t22","isFocused","t23","setSelectedKey","t24","label_0","showSelectionLabel","t25","clearSelectionAndInput","t26","restoreSelectedLabel","t27","value_0","settleCustomValueOnBlur","t28","matchKey","settleOptionOnBlur","t29","handleCompositeBlur","t31","t30","compositeFocusProps","t32","validationIcon","activeOptionKey","setActiveOptionKey","handleSelectionChange","isArray","setTimeout","lastSyncedSelectedKey","selectionClearedByTyping","t33","value_1","target","trimmed","handleInputChange","t34","preserveTypedInput","t35","hasValue","showClearButton","t36","openList","toggleList","t37","handleInputFocus","pressStartedOnInputRef","t38","isInputPress","handleInputClick","t39","handleInputBlur","clearValue","t40","t42","t41","t43","t44","t45","disabled","hovered","focused","loading","clearable","comboBoxWidth","setComboBoxWidth","t46","t47","t48","offsetWidth","attempts","frame","tick","key_1","requestAnimationFrame","cancelAnimationFrame","t49","t50","some","option","t51","t52","zIndex","t53","t54","t55","t56","t57","t58","t59","t60","t61","t62","t63","t64","t65","t66","pressed","t67","t68","t69","t70","t71","t72","comboBoxField","t73","_","propsWithoutChildren","Object","defineProperty","enumerable","configurable","val"],"sources":["../../../../src/components/fields/ComboBox/ComboBox.tsx"],"sourcesContent":["import {\n KeyboardEvent as AriaKeyboardEvent,\n AriaLabelingProps,\n CollectionChildren,\n FocusableRef,\n Key,\n} from '@react-types/shared';\nimport {\n BASE_STYLES,\n BasePropsWithoutChildren,\n BaseStyleProps,\n COLOR_STYLES,\n ColorStyleProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport React, {\n ForwardedRef,\n forwardRef,\n ReactElement,\n ReactNode,\n RefObject,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useCollator, useFilter, useKeyboard } from 'react-aria';\nimport { Section as BaseSection, useListState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal';\nimport { useI18n } from '../../../i18n';\nimport { CloseIcon } from '../../../icons/CloseIcon';\nimport { DirectionIcon } from '../../../icons/DirectionIcon';\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { FieldBaseProps, TextFieldKeyboardProps } from '../../../shared';\nimport { generateRandomId } from '../../../utils/random';\nimport { useCombinedRefs, useLayoutEffect } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport { usePopoverSync } from '../../../utils/react/usePopoverSync';\nimport { extractStyles } from '../../../utils/styles';\nimport { CollectionItem as Item } from '../../CollectionItem';\nimport {\n getValidationIcon,\n getValidationMods,\n useFieldProps,\n wrapWithField,\n} from '../../form';\nimport { getListBoxOptionId } from '../ListBox/optionId';\nimport {\n filterCollectionNodes,\n getEdgeVisibleKey,\n getNextVisibleKey,\n ListBoxPopover,\n ListStateLike,\n markKeyboardFocus,\n useCompositeFocus,\n} from '../ListBoxPopover';\nimport {\n DEFAULT_INPUT_STYLES,\n INPUT_WRAPPER_STYLES,\n} from '../TextInput/TextInputBase';\n\nimport {\n CollectionLike,\n collectOptions,\n findTypedOption,\n getItemLabel,\n highlightOption,\n resolveHighlightedKey,\n sortSelectedFirst,\n} from './comboBoxOptions';\n\ntype FilterFn = (textValue: string, inputValue: string) => boolean;\n\nexport type PopoverTriggerAction = 'focus' | 'input' | 'manual';\n\nconst ComboBoxWrapperElement = tasty({\n qa: 'ComboBoxWrapper',\n styles: INPUT_WRAPPER_STYLES,\n});\n\nconst InputElement = tasty({\n as: 'input',\n styles: DEFAULT_INPUT_STYLES,\n});\n\nexport interface CubeComboBoxProps<T>\n extends BasePropsWithoutChildren,\n BaseStyleProps,\n OuterStyleProps,\n ColorStyleProps,\n FieldBaseProps<string | null | undefined> {\n /** The selected key in controlled mode */\n selectedKey?: string | null;\n /** The default selected key in uncontrolled mode */\n defaultSelectedKey?: string | null;\n /** Callback fired when selection changes */\n onSelectionChange?: (key: string | null) => void;\n\n /** The input value in controlled mode */\n inputValue?: string;\n /** The default input value in uncontrolled mode */\n defaultInputValue?: string;\n /** Callback fired when input value changes */\n onInputChange?: (value: string) => void;\n /** Placeholder text for the input */\n placeholder?: string;\n /** Whether the input should have autofocus */\n autoFocus?: boolean;\n /** HTML autocomplete attribute for the input */\n autoComplete?: string;\n /** Callback fired when focus enters the component (input, trigger, or popover). Does not receive event object. */\n onFocus?: () => void;\n /** Callback fired when focus leaves the component entirely. Does not receive event object. */\n onBlur?: () => void;\n /**\n * Callback fired when a key is pressed on the input, before the built-in\n * key handling. Receives React Aria's keyboard event: `e.preventDefault()`\n * skips the built-in handling for the key. `Escape` and `Tab` go on to\n * ancestors, such as a surrounding dialog, unless ComboBox acts on them\n * (`Escape` closing the list or clearing the value); other keys stop at the\n * input unless the handler calls `e.continuePropagation()`.\n */\n onKeyDown?: TextFieldKeyboardProps['onKeyDown'];\n\n /**\n * When the list opens on its own: `'input'` on typing or a press in the\n * input, `'focus'` on focus as well, `'manual'` only from the chevron and\n * the arrow keys. Defaults to `'input'`.\n */\n popoverTrigger?: PopoverTriggerAction;\n\n /** Items for the listbox (alternative to children) */\n items?: Iterable<T>;\n /** Children for the listbox (static items or render function) */\n children?: ReactNode | ((item: T) => ReactElement);\n\n /**\n * Custom filter function for determining if an option should be included.\n * Pass `false` to disable internal filtering completely.\n */\n filter?: FilterFn | false;\n\n /**\n * Whether to allow entering custom values that are not in the predefined\n * options. The typed text is committed trimmed; empty text commits `null`.\n */\n allowsCustomValue?: boolean;\n /**\n * Whether to commit custom value on blur in allowsCustomValue mode (default:\n * true). When `false`, only Enter or a pick commits, and blur discards the\n * uncommitted text: the input shows the selected option's label again, or\n * nothing when no option is selected.\n */\n shouldCommitOnBlur?: boolean;\n /** Whether to clear selection and input on blur when the text names no selectable item (default: false, only applies to non-custom-value mode) */\n clearOnBlur?: boolean;\n /** Whether the combobox is clearable using ESC key or clear button */\n isClearable?: boolean;\n /** Callback called when the clear button is pressed */\n onClear?: () => void;\n\n /** Left input icon */\n icon?: ReactElement;\n /** Input decoration before the main input */\n prefix?: ReactNode;\n /** Input decoration after the main input */\n suffix?: ReactNode;\n /** Whether to hide the trigger button */\n hideTrigger?: boolean;\n /** Size of the combobox */\n size?: 'small' | 'medium' | 'large' | (string & {});\n\n /** Ref for accessing the input element */\n inputRef?: RefObject<HTMLInputElement>;\n /** Ref for accessing the wrapper element */\n wrapperRef?: RefObject<HTMLDivElement>;\n /** Ref for accessing the listbox element */\n listBoxRef?: RefObject<HTMLDivElement>;\n /** Ref for accessing the popover element */\n popoverRef?: RefObject<HTMLDivElement>;\n /** Ref for accessing the trigger button element */\n triggerRef?: FocusableRef<HTMLButtonElement>;\n\n /** Custom styles for the input */\n inputStyles?: Styles;\n /** Custom styles for the trigger button */\n triggerStyles?: Styles;\n /** Custom styles for the listbox */\n listBoxStyles?: Styles;\n /** Custom styles for the popover overlay */\n overlayStyles?: Styles;\n /** Custom styles for individual options */\n optionStyles?: Styles;\n /** Custom styles for sections */\n sectionStyles?: Styles;\n /** Custom styles for section headings */\n headingStyles?: Styles;\n /** Space between options, in pixels. Defaults to a hairline (`1bw`). */\n listGap?: number;\n\n /** Whether the combobox is disabled */\n isDisabled?: boolean;\n /** Whether the combobox is in loading state */\n isLoading?: boolean;\n /** Keys of disabled items */\n disabledKeys?: Iterable<Key>;\n /** Whether to flip the popover placement */\n shouldFlip?: boolean;\n /** Placement direction for the popover */\n direction?: 'bottom' | 'top';\n /** Offset for the popover */\n overlayOffset?: number;\n /** Minimum padding in pixels between the popover and viewport edges */\n containerPadding?: number;\n /**\n * Whether the combobox is read-only: the list doesn't open, and neither\n * keys nor blur change the value or the text.\n */\n isReadOnly?: boolean;\n /** Suffix position goes before or after the validation and loading statuses */\n suffixPosition?: 'before' | 'after';\n /**\n * Sort selected item to the top when the popover opens.\n * Only works when using the `items` prop (data-driven mode).\n * Ignored when using JSX children.\n * @default true when items are provided, false when using JSX children\n */\n sortSelectedToTop?: boolean;\n /**\n * Callback called when the list shows or hides. Not called on mount, nor\n * while typed text that matches nothing keeps it hidden.\n */\n onOpenChange?: (isOpen: boolean) => void;\n}\n\nconst PROP_STYLES = [...BASE_STYLES, ...OUTER_STYLES, ...COLOR_STYLES];\n\n// ============================================================================\n// Hook: useComboBoxState\n// ============================================================================\ninterface UseComboBoxStateProps {\n selectedKey?: string | null;\n defaultSelectedKey?: string | null;\n inputValue?: string;\n defaultInputValue?: string;\n comboBoxId: string;\n triggerRef?: RefObject<HTMLElement | null>;\n popoverRef?: RefObject<HTMLElement | null>;\n}\n\ninterface UseComboBoxStateReturn {\n effectiveSelectedKey: Key | null;\n /**\n * The uncontrolled input text. `null` until the user types, and again after\n * the text settles on the selection: the input then shows the selected\n * option's label, following the options as they load.\n */\n internalInputValue: string | null;\n isPopoverOpen: boolean;\n setIsPopoverOpen: (open: boolean) => void;\n setInternalSelectedKey: (key: Key | null) => void;\n setInternalInputValue: (value: string | null) => void;\n isControlledKey: boolean;\n isControlledInput: boolean;\n}\n\nfunction useComboBoxState({\n selectedKey,\n defaultSelectedKey,\n inputValue,\n defaultInputValue,\n comboBoxId,\n triggerRef,\n popoverRef,\n}: UseComboBoxStateProps): UseComboBoxStateReturn {\n // Internal state for uncontrolled mode\n const [internalSelectedKey, setInternalSelectedKey] = useState<Key | null>(\n defaultSelectedKey ?? null,\n );\n const [internalInputValue, setInternalInputValue] = useState<string | null>(\n defaultInputValue ?? null,\n );\n\n const isControlledKey = selectedKey !== undefined;\n const isControlledInput = inputValue !== undefined;\n\n const effectiveSelectedKey = isControlledKey\n ? selectedKey\n : internalSelectedKey;\n\n // Popover state\n const [isPopoverOpen, setIsPopoverOpen] = useState(false);\n\n usePopoverSync({\n menuId: comboBoxId,\n isOpen: isPopoverOpen,\n onClose: () => setIsPopoverOpen(false),\n triggerRef,\n containerRef: popoverRef,\n });\n\n return {\n effectiveSelectedKey,\n internalInputValue,\n isPopoverOpen,\n setIsPopoverOpen,\n setInternalSelectedKey,\n setInternalInputValue,\n isControlledKey,\n isControlledInput,\n };\n}\n\n// ============================================================================\n// Hook: useSelectedLabel\n// ============================================================================\ninterface UseSelectedLabelReturn {\n /**\n * The text the input shows for the selection: its option's label, else the\n * last label found for that key while the options leave it out (loading, a\n * refetch, a server-side search), else the key itself — a custom value or an\n * option that has not loaded yet.\n */\n selectedLabel: string;\n /**\n * The label of `key`'s option, remembered for the key so the input keeps it\n * when the same update drops the option.\n */\n pickLabel: (key: Key) => string;\n}\n\nfunction useSelectedLabel(\n collection: CollectionLike,\n selectedKey: Key | null,\n): UseSelectedLabelReturn {\n const [knownLabel, setKnownLabel] = useState<{\n key: Key;\n label: string;\n } | null>(null);\n\n const pickLabel = (key: Key) => {\n const picked = getItemLabel(collection, key);\n\n setKnownLabel({ key, label: picked });\n\n return picked;\n };\n\n if (selectedKey == null) return { selectedLabel: '', pickLabel };\n\n const label = collection.getItem(selectedKey)?.textValue;\n\n if (\n label &&\n (knownLabel?.key !== selectedKey || knownLabel.label !== label)\n ) {\n setKnownLabel({ key: selectedKey, label });\n }\n\n const selectedLabel =\n label ||\n (knownLabel?.key === selectedKey ? knownLabel.label : String(selectedKey));\n\n return { selectedLabel, pickLabel };\n}\n\n// ============================================================================\n// Hook: useComboBoxFiltering\n// ============================================================================\ninterface UseComboBoxFilteringProps {\n effectiveInputValue: string;\n filter: FilterFn | false | undefined;\n}\n\ninterface UseComboBoxFilteringReturn {\n filterFn: (nodes: Iterable<any>) => Iterable<any>;\n /** Whether the typed text is an option's label, compared like the filter. */\n isSameText: (textValue: string, text: string) => boolean;\n isFilterActive: boolean;\n setIsFilterActive: (active: boolean) => void;\n}\n\nfunction useComboBoxFiltering({\n effectiveInputValue,\n filter,\n}: UseComboBoxFilteringProps): UseComboBoxFilteringReturn {\n const [isFilterActive, setIsFilterActive] = useState(false);\n\n const { contains } = useFilter({ sensitivity: 'base' });\n // The collator `useFilter` matches with, so the filter and the exact-match\n // check agree on case, accents and locale rules.\n const collator = useCollator({ usage: 'search', sensitivity: 'base' });\n\n const isSameText = (textValue: string, text: string) =>\n collator.compare(textValue.normalize('NFC'), text.normalize('NFC')) === 0;\n\n const textFilterFn: FilterFn =\n filter === false ? () => true : filter || contains;\n\n // Create a filter function for collection nodes\n const filterFn = (nodes: Iterable<any>) => {\n const term = effectiveInputValue.trim();\n\n // Don't filter if not active or no search term\n if (!isFilterActive || !term) {\n return nodes;\n }\n\n return filterCollectionNodes(nodes, term, textFilterFn);\n };\n\n return {\n filterFn,\n isSameText,\n isFilterActive,\n setIsFilterActive,\n };\n}\n\n// ============================================================================\n// Hook: useComboBoxKeyboard\n// ============================================================================\ninterface UseComboBoxKeyboardProps {\n /** Whether the list is shown: open, with options to show. */\n isListShown: boolean;\n isReadOnly?: boolean;\n listStateRef: RefObject<any>;\n hasResults: boolean;\n allowsCustomValue?: boolean;\n effectiveInputValue: string;\n selectedKey: Key | null;\n /** The text the input shows for the selection. */\n selectedLabel: string;\n isClearable?: boolean;\n onSelectionChange: (selection: Key | Key[] | null) => void;\n onClearValue: () => void;\n onOpenList: () => void;\n onCloseList: () => void;\n inputRef: RefObject<HTMLInputElement>;\n /** Called with the option the arrow keys moved virtual focus to. */\n onVirtualFocus: (key: Key) => void;\n onKeyDown?: TextFieldKeyboardProps['onKeyDown'];\n}\n\n// Keys that go on to a surrounding dialog unless the field acts on them:\n// Escape closes it, and its focus containment listens for Tab.\nconst OVERLAY_KEYS = new Set(['Escape', 'Tab']);\n\n// An IME takes Enter, the arrow keys and Escape while it composes text: they\n// confirm, pick or cancel its candidate.\nfunction isComposing(e: AriaKeyboardEvent) {\n return e.nativeEvent?.isComposing || e.keyCode === 229;\n}\n\nfunction useComboBoxKeyboard({\n isListShown,\n isReadOnly,\n listStateRef,\n hasResults,\n allowsCustomValue,\n effectiveInputValue,\n selectedKey,\n selectedLabel,\n isClearable,\n onSelectionChange,\n onClearValue,\n onOpenList,\n onCloseList,\n inputRef,\n onVirtualFocus,\n onKeyDown,\n}: UseComboBoxKeyboardProps) {\n // Moves the virtual focus to `key`, if there is one, and scrolls it into view.\n const focusOption = (listState: ListStateLike, key: Key | null) => {\n if (key == null) return;\n\n markKeyboardFocus(listState);\n listState.selectionManager.setFocusedKey(key);\n onVirtualFocus(key);\n };\n\n const handleArrowKey = (e: AriaKeyboardEvent) => {\n e.preventDefault();\n\n if (!isListShown) {\n onOpenList();\n\n return;\n }\n\n const listState = listStateRef.current;\n\n if (listState) {\n focusOption(\n listState,\n getNextVisibleKey(listState, e.key === 'ArrowDown' ? 1 : -1),\n );\n }\n };\n\n // With `allowsCustomValue`, Enter commits the typed text, trimmed, and empty\n // text clears the selection. The selection's own label is already\n // committed.\n const commitTypedText = (e: AriaKeyboardEvent) => {\n const value = effectiveInputValue.trim();\n\n // A closed list lets Enter go on to submit the form with the value.\n if (isListShown || !value) e.preventDefault();\n\n if (value && selectedKey != null && value === selectedLabel) return;\n\n onSelectionChange(value || null);\n };\n\n const handleEnterKey = (e: AriaKeyboardEvent) => {\n const listState = isListShown ? listStateRef.current : null;\n // Read the highlight here rather than from the list: the list highlights\n // the first match a couple of frames after the text changes, and a fast\n // Enter comes first.\n const key = listState\n ? resolveHighlightedKey(listState, selectedKey)\n : null;\n\n if (key != null) {\n e.preventDefault();\n listState.selectionManager.select(key, e);\n // Close even when the selection stays the same.\n onCloseList();\n inputRef.current?.focus();\n } else if (allowsCustomValue) {\n commitTypedText(e);\n } else if (!hasResults || !effectiveInputValue.trim()) {\n // Text that names nothing, or none, clears the selection.\n e.preventDefault();\n onSelectionChange(null);\n }\n };\n\n // Returns whether Escape did something; otherwise it goes on to close a\n // surrounding dialog.\n const handleEscapeKey = (e: AriaKeyboardEvent) => {\n if (isListShown) {\n e.preventDefault();\n onCloseList();\n inputRef.current?.focus();\n\n return true;\n }\n\n if (effectiveInputValue && isClearable) {\n e.preventDefault();\n onClearValue();\n\n return true;\n }\n\n return false;\n };\n\n const handleEdgeKey = (e: AriaKeyboardEvent) => {\n if (!isListShown) return;\n\n e.preventDefault();\n\n const listState = listStateRef.current;\n\n if (listState) {\n focusOption(\n listState,\n getEdgeVisibleKey(listState, e.key === 'Home' ? 'first' : 'last'),\n );\n }\n };\n\n // Handles the key and returns whether it stays at the input.\n const handleKey = (e: AriaKeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n handleArrowKey(e);\n return true;\n case 'Enter':\n handleEnterKey(e);\n return true;\n case 'Escape':\n return handleEscapeKey(e);\n case 'Home':\n case 'End':\n handleEdgeKey(e);\n return true;\n case 'Tab':\n // Focus moves on, so the list closes; Tab itself is never held.\n if (isListShown) onCloseList();\n return false;\n default:\n return true;\n }\n };\n\n const { keyboardProps } = useKeyboard({\n onKeyDown: (e) => {\n // The user's handler runs first, and a key it prevents is theirs: skip\n // the built-in handling. Read `isDefaultPrevented()`, not\n // `defaultPrevented` — `useKeyboard` hands over a copy of the event whose\n // `defaultPrevented` field is fixed at the moment it was made.\n onKeyDown?.(e);\n\n if (e.isDefaultPrevented() || isComposing(e)) return;\n\n // A read-only field neither opens, picks nor clears. Escape and Tab go\n // on to a surrounding dialog unless handled here, as for any field.\n if ((isReadOnly || !handleKey(e)) && OVERLAY_KEYS.has(e.key)) {\n e.continuePropagation();\n }\n },\n });\n\n return { keyboardProps };\n}\n\n// ============================================================================\n// Component: ComboBoxInput\n// ============================================================================\ninterface ComboBoxInputProps {\n qa?: string;\n inputRef: RefObject<HTMLInputElement>;\n id?: string;\n value: string;\n placeholder?: string;\n isDisabled?: boolean;\n isReadOnly?: boolean;\n isRequired?: boolean;\n autoFocus?: boolean;\n autoComplete?: string;\n size: string;\n mods: Record<string, any>;\n inputStyles?: Styles;\n keyboardProps: any;\n focusProps: any;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onFocus: (e: React.FocusEvent<HTMLInputElement>) => void;\n onPointerDown: () => void;\n onClick: () => void;\n /** Whether the list is shown: open, with options to show. */\n isListShown: boolean;\n comboBoxId: string;\n /** The id of the option under virtual focus, while the popover is open. */\n activeDescendant?: string;\n /**\n * The caller's naming and the field's description and message. The input is\n * the control, so they belong on it rather than on the wrapper.\n */\n ariaProps: AriaLabelingProps;\n isInvalid?: boolean;\n}\n\nconst ComboBoxInput = forwardRef<HTMLInputElement, ComboBoxInputProps>(\n function ComboBoxInput(\n {\n qa,\n inputRef,\n id,\n value,\n placeholder,\n isDisabled,\n isReadOnly,\n isRequired,\n autoFocus,\n autoComplete,\n size,\n mods,\n inputStyles,\n keyboardProps,\n focusProps,\n onChange,\n onFocus,\n onPointerDown,\n onClick,\n isListShown,\n comboBoxId,\n activeDescendant,\n ariaProps,\n isInvalid,\n },\n ref,\n ) {\n const combinedRef = useCombinedRefs(ref, inputRef);\n\n return (\n <InputElement\n ref={combinedRef}\n qa={qa}\n id={id}\n type=\"text\"\n value={value}\n placeholder={placeholder}\n isDisabled={isDisabled}\n readOnly={isReadOnly}\n autoFocus={autoFocus}\n autoComplete={autoComplete}\n data-autofocus={autoFocus ? '' : undefined}\n onChange={onChange}\n onFocus={onFocus}\n onPointerDown={onPointerDown}\n onClick={onClick}\n onBlur={focusProps.onBlur}\n {...keyboardProps}\n styles={inputStyles}\n mods={mods}\n data-size={size}\n data-input-type=\"combobox\"\n role=\"combobox\"\n // `ComboBox` builds its own trigger rather than going through a\n // react-aria field hook, so nothing else would announce that the field\n // is mandatory — the label marker alone is not exposed to assistive\n // technology.\n aria-required={isRequired || undefined}\n aria-expanded={isListShown}\n aria-haspopup=\"listbox\"\n aria-controls={\n isListShown ? `ComboBoxListBox-${comboBoxId}` : undefined\n }\n // Typing filters the options.\n aria-autocomplete=\"list\"\n aria-activedescendant={activeDescendant}\n aria-invalid={isInvalid || undefined}\n {...ariaProps}\n />\n );\n },\n);\n\n// ============================================================================\n// Main Component: ComboBox\n// ============================================================================\nexport const ComboBox = forwardRef(function ComboBox<T extends object>(\n props: CubeComboBoxProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n props = useFieldProps(props, {\n valuePropsMapper: ({ value, onChange }) => {\n return {\n // Form value maps to selectedKey (the committed value) in both modes\n selectedKey: value ?? null,\n onSelectionChange(val: string | null) {\n // Commit selection changes to the form\n onChange(val);\n },\n };\n },\n });\n\n const { t } = useI18n();\n\n let {\n qa,\n label,\n extra,\n labelStyles,\n isRequired,\n necessityIndicator,\n isInvalid,\n isValid,\n id,\n icon,\n prefix,\n isDisabled,\n autoFocus,\n autoComplete = 'off',\n wrapperRef,\n inputRef,\n triggerRef,\n popoverRef,\n listBoxRef,\n isLoading,\n inputStyles,\n optionStyles,\n triggerStyles,\n listBoxStyles,\n overlayStyles,\n suffix,\n hideTrigger,\n message,\n description,\n size = 'medium',\n direction = 'bottom',\n shouldFlip = true,\n popoverTrigger = 'input',\n suffixPosition = 'before',\n filter,\n styles,\n labelSuffix,\n selectedKey,\n defaultSelectedKey,\n inputValue,\n defaultInputValue,\n onInputChange,\n isClearable,\n onClear,\n placeholder,\n allowsCustomValue,\n shouldCommitOnBlur = true,\n clearOnBlur,\n items,\n children: renderChildren,\n sectionStyles,\n headingStyles,\n listGap,\n isReadOnly,\n overlayOffset = 8,\n containerPadding = 8,\n onSelectionChange: externalOnSelectionChange,\n sortSelectedToTop: sortSelectedToTopProp,\n onOpenChange,\n onFocus,\n onBlur,\n onKeyDown,\n form,\n ...otherProps\n } = props;\n\n // Generate a unique ID for this combobox instance\n const comboBoxId = useMemo(() => generateRandomId(), []);\n\n // Hoist the wrapper/popover ref normalization above `useComboBoxState` so\n // the popover-sync inside it sees stable, attached refs. Other ref combines\n // happen below alongside the legacy ordering.\n wrapperRef = useCombinedRefs(wrapperRef);\n popoverRef = useCombinedRefs(popoverRef);\n\n // State management hook\n const {\n effectiveSelectedKey,\n internalInputValue,\n isPopoverOpen,\n setIsPopoverOpen,\n setInternalSelectedKey,\n setInternalInputValue,\n isControlledKey,\n isControlledInput,\n } = useComboBoxState({\n selectedKey,\n defaultSelectedKey,\n inputValue,\n defaultInputValue,\n comboBoxId,\n triggerRef: wrapperRef as RefObject<HTMLElement | null>,\n popoverRef: popoverRef as RefObject<HTMLElement | null>,\n });\n\n // Default to true if items are provided, false otherwise\n const sortSelectedToTop = sortSelectedToTopProp ?? (items ? true : false);\n\n styles = extractStyles(otherProps, PROP_STYLES, styles);\n\n ref = useCombinedRefs(ref);\n inputRef = useCombinedRefs(inputRef);\n triggerRef = useCombinedRefs(triggerRef);\n listBoxRef = useCombinedRefs(listBoxRef);\n\n // The selection the options are sorted by. It follows the selection while\n // the list is closed and holds still while it is open, so a pick doesn't\n // reorder the list under the pointer.\n const [sortKey, setSortKey] = useState(effectiveSelectedKey);\n\n if (!isPopoverOpen && sortKey !== effectiveSelectedKey) {\n setSortKey(effectiveSelectedKey);\n }\n\n // Sort items with selected on top if enabled\n const sortedItems =\n items && sortSelectedToTop ? sortSelectedFirst(items, sortKey) : items;\n\n // Preserve the original `children` (may be a render function) before we\n // potentially overwrite it.\n let children: ReactNode = renderChildren as ReactNode;\n\n const renderFn = renderChildren as unknown;\n\n if (sortedItems && typeof renderFn === 'function') {\n try {\n const itemsArray = Array.from(sortedItems as Iterable<any>);\n children = itemsArray.map((item, idx) => {\n const rendered = (renderFn as (it: any) => ReactNode)(item);\n if (\n React.isValidElement(rendered) &&\n (rendered as ReactElement).key == null\n ) {\n return React.cloneElement(rendered as ReactElement, {\n key: (rendered as any)?.key ?? item?.key ?? idx,\n });\n }\n\n return rendered as ReactNode;\n });\n } catch {\n // If conversion fails, proceed with the original children\n }\n }\n\n // Create local collection state for reading item data (labels, etc.)\n // This allows us to read item labels even before the popover opens\n const localCollectionState = useListState({\n children: children as CollectionChildren<T>,\n items: sortedItems,\n disabledKeys: props.disabledKeys,\n selectionMode: 'none', // Don't manage selection in this state\n });\n\n const { selectedLabel, pickLabel } = useSelectedLabel(\n localCollectionState.collection,\n effectiveSelectedKey,\n );\n const effectiveInputValue = isControlledInput\n ? (inputValue as string)\n : internalInputValue ?? selectedLabel;\n\n // Filtering hook\n const { filterFn, isSameText, isFilterActive, setIsFilterActive } =\n useComboBoxFiltering({\n effectiveInputValue,\n filter,\n });\n\n // The options the typed text leaves in the list.\n const filteredOptions = collectOptions(\n filterFn(localCollectionState.collection),\n );\n const hasResults = filteredOptions.length > 0;\n const shouldShowPopover = isPopoverOpen && hasResults;\n\n // Report the list showing or hiding, as the user sees it: not on mount, and\n // not for text that reopens an empty list keystroke after keystroke.\n const reportedOpenRef = useRef(shouldShowPopover);\n\n useEffect(() => {\n if (reportedOpenRef.current === shouldShowPopover) return;\n\n reportedOpenRef.current = shouldShowPopover;\n onOpenChange?.(shouldShowPopover);\n }, [shouldShowPopover, onOpenChange]);\n\n const { isFocused, focusProps } = useFocus();\n\n // ---- selection and text -------------------------------------------------\n // Writes the selected key, unless it is controlled. It does not report:\n // each outcome calls `onSelectionChange` itself, in the order it has always\n // fired relative to `onInputChange`.\n const setSelectedKey = (key: Key | null) => {\n if (!isControlledKey) setInternalSelectedKey(key);\n };\n\n // Settles the uncontrolled text on the selection, so it shows the selected\n // option's label — the controlled one when a parent declines a change — and\n // reports `label`, the text for the selection being settled on, when it\n // differs from the text shown now.\n const showSelectionLabel = (label: string) => {\n if (!isControlledInput) setInternalInputValue(null);\n if (label !== effectiveInputValue) onInputChange?.(label);\n };\n\n // ---- blur ---------------------------------------------------------------\n // Blur reports only what it changes.\n const clearSelectionAndInput = () => {\n if (effectiveSelectedKey != null) {\n externalOnSelectionChange?.(null);\n setSelectedKey(null);\n }\n\n showSelectionLabel('');\n };\n\n // Reset input to show current selection (or empty if none)\n const restoreSelectedLabel = () => showSelectionLabel(selectedLabel);\n\n // In allowsCustomValue mode: commit the trimmed text if it's non-empty and\n // nothing is selected, clear the selection if the text is empty. Otherwise,\n // including with `shouldCommitOnBlur={false}`, the input shows the selection\n // again and the uncommitted text is dropped.\n const settleCustomValueOnBlur = () => {\n const value = effectiveInputValue.trim();\n\n if (shouldCommitOnBlur && value && effectiveSelectedKey == null) {\n externalOnSelectionChange?.(value);\n setSelectedKey(value);\n showSelectionLabel(value);\n } else if (!value) {\n clearSelectionAndInput();\n } else {\n restoreSelectedLabel();\n }\n };\n\n // In non-custom-value mode: auto-select the exact match, or the only filtered\n // result, unless it is disabled; keep a selected item even when it is\n // disabled; clear invalid input (no selectable match) when clearOnBlur is set\n // or the input is empty.\n const settleOptionOnBlur = () => {\n const matchKey = findTypedOption(\n filteredOptions,\n effectiveInputValue,\n effectiveSelectedKey,\n localCollectionState.disabledKeys,\n isSameText,\n );\n\n if (matchKey != null && matchKey !== effectiveSelectedKey) {\n setSelectedKey(matchKey);\n showSelectionLabel(pickLabel(matchKey));\n externalOnSelectionChange?.(matchKey as string);\n } else if (\n matchKey == null &&\n (clearOnBlur || !effectiveInputValue.trim())\n ) {\n clearSelectionAndInput();\n } else {\n restoreSelectedLabel();\n }\n };\n\n // Composite blur handler - fires when focus leaves the entire component\n const handleCompositeBlur = useEvent(() => {\n setIsPopoverOpen(false);\n\n // A read-only field keeps its value and text.\n if (isReadOnly) {\n // Nothing to settle.\n } else if (allowsCustomValue) {\n settleCustomValueOnBlur();\n } else {\n settleOptionOnBlur();\n }\n\n onBlur?.();\n // Only now: the match above needs the filter still active.\n setIsFilterActive(false);\n });\n\n // Composite focus hook - handles focus tracking across wrapper and portaled popover\n const { compositeFocusProps } = useCompositeFocus({\n wrapperRef,\n popoverRef,\n onFocus,\n onBlur: handleCompositeBlur,\n isDisabled,\n });\n\n let validationIcon = getValidationIcon({ isInvalid, isValid });\n\n // Ref to access internal ListBox state\n const listStateRef = useRef<any>(null);\n // The option under virtual focus, mirrored in state for the input's\n // `aria-activedescendant`: the listbox's own state update does not re-render\n // this component.\n const [activeOptionKey, setActiveOptionKey] = useState<Key | null>(null);\n\n // Selection change handler\n const handleSelectionChange = useEvent((selection: Key | Key[] | null) => {\n // Extract single key from selection (we only support single selection)\n const key = Array.isArray(selection) ? selection[0] : selection;\n\n setSelectedKey(key ?? null);\n setIsFilterActive(false);\n showSelectionLabel(key != null ? pickLabel(key) : '');\n externalOnSelectionChange?.(key as string | null);\n\n // Close popover after selection\n setIsPopoverOpen(false);\n\n // Focus input\n setTimeout(() => {\n inputRef.current?.focus();\n }, 0);\n });\n\n const lastSyncedSelectedKey = useRef<Key | null | undefined>(undefined);\n const selectionClearedByTyping = useRef(false);\n\n // Input change handler\n const handleInputChange = useEvent(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n\n // Update input value\n if (!isControlledInput) {\n setInternalInputValue(value);\n }\n onInputChange?.(value);\n\n const trimmed = value.trim();\n setIsFilterActive(trimmed.length > 0);\n\n // Only clear selection in allowsCustomValue mode\n // In normal mode, typing just filters - selection stays until explicitly changed\n if (allowsCustomValue && effectiveSelectedKey != null) {\n selectionClearedByTyping.current = true;\n if (!isControlledKey) {\n setInternalSelectedKey(null);\n }\n externalOnSelectionChange?.(null);\n }\n\n // Open popover based on trigger\n if (popoverTrigger !== 'manual' && value && !isPopoverOpen) {\n setIsPopoverOpen(true);\n }\n },\n );\n\n // When a controlled selection changes, the uncontrolled text settles on it\n // and shows its label, which follows the options as they load.\n useEffect(() => {\n const preserveTypedInput = selectionClearedByTyping.current;\n selectionClearedByTyping.current = false;\n // Only run when selectedKey is controlled but inputValue is uncontrolled\n if (!isControlledKey || isControlledInput) return;\n\n // Skip if the key hasn't actually changed (prevents unnecessary resets when collection rebuilds)\n if (\n lastSyncedSelectedKey.current !== undefined &&\n lastSyncedSelectedKey.current === effectiveSelectedKey\n ) {\n return;\n }\n\n lastSyncedSelectedKey.current = effectiveSelectedKey;\n\n // Acknowledging the selection cleared by this edit must not erase the\n // text that caused it. Later external clears still reset the input.\n if (preserveTypedInput && effectiveSelectedKey == null) return;\n\n setInternalInputValue(null);\n }, [\n isControlledKey,\n isControlledInput,\n effectiveSelectedKey,\n effectiveInputValue,\n setInternalInputValue,\n ]);\n\n // Clear button logic\n let hasValue = allowsCustomValue\n ? effectiveInputValue !== ''\n : effectiveSelectedKey != null;\n let showClearButton = isClearable && hasValue && !isDisabled && !isReadOnly;\n\n // Opens the list, showing every option when the typed text matches none. A\n // read-only field never opens it.\n const openList = () => {\n if (isReadOnly || isDisabled) return;\n if (!hasResults) setIsFilterActive(false);\n\n setIsPopoverOpen(true);\n };\n\n // The chevron toggles the list and leaves focus in the input.\n const toggleList = () => {\n if (shouldShowPopover) {\n setIsPopoverOpen(false);\n } else {\n openList();\n }\n\n inputRef.current?.focus();\n };\n\n // Input focus handler\n const handleInputFocus = useEvent((e: React.FocusEvent<HTMLInputElement>) => {\n // Call focus props handler if it exists\n focusProps.onFocus?.(e as any);\n\n if (popoverTrigger === 'focus' && !isPopoverOpen) {\n openList();\n }\n });\n\n // Whether the pointer went down on the input itself. The field's label\n // forwards its own click to the input, and that click only focuses.\n const pressStartedOnInputRef = useRef(false);\n\n // A press in the input opens a closed list, focused or not, with the options\n // the typed text leaves. Text that matches nothing keeps the list hidden, so\n // a press that moves the caret doesn't change what Enter commits; the\n // chevron and the arrow keys show every option instead. A press on an open\n // list only moves the caret.\n const handleInputClick = () => {\n const isInputPress = pressStartedOnInputRef.current;\n\n pressStartedOnInputRef.current = false;\n\n if (!isInputPress || popoverTrigger === 'manual') return;\n if (!shouldShowPopover && hasResults) openList();\n };\n\n // Input blur handler - just handles internal focus props\n const handleInputBlur = useEvent((e: React.FocusEvent<HTMLInputElement>) => {\n focusProps.onBlur?.(e as any);\n });\n\n // Clear function\n let clearValue = useEvent(() => {\n // Clear input\n if (!isControlledInput) {\n setInternalInputValue(null);\n }\n onInputChange?.('');\n\n // Clear selection\n setSelectedKey(null);\n externalOnSelectionChange?.(null);\n\n // Close popover\n if (isPopoverOpen) {\n setIsPopoverOpen(false);\n }\n\n // Focus input\n inputRef.current?.focus();\n\n onClear?.();\n });\n\n // Keyboard navigation hook\n const { keyboardProps } = useComboBoxKeyboard({\n isListShown: shouldShowPopover,\n isReadOnly,\n listStateRef,\n hasResults,\n allowsCustomValue,\n effectiveInputValue,\n selectedKey: effectiveSelectedKey,\n selectedLabel,\n isClearable,\n onSelectionChange: handleSelectionChange,\n onClearValue: clearValue,\n onOpenList: openList,\n onCloseList: () => setIsPopoverOpen(false),\n inputRef,\n onVirtualFocus: setActiveOptionKey,\n onKeyDown,\n });\n\n if (icon) {\n icon = <div data-element=\"InputIcon\">{icon}</div>;\n\n if (prefix) {\n prefix = (\n <>\n {icon}\n {prefix}\n </>\n );\n } else {\n prefix = icon;\n }\n }\n\n let mods = useMemo(\n () => ({\n ...getValidationMods({ isInvalid, isValid }),\n disabled: isDisabled,\n hovered: false,\n focused: isFocused,\n loading: isLoading,\n prefix: !!prefix,\n suffix: true,\n clearable: showClearButton,\n }),\n [\n isInvalid,\n isValid,\n isDisabled,\n isFocused,\n isLoading,\n prefix,\n showClearButton,\n ],\n );\n\n // The list is at least as wide as the field, measured as it shows.\n const [comboBoxWidth, setComboBoxWidth] = useState<number>();\n\n // Close popover if no results\n useEffect(() => {\n if (isPopoverOpen && !hasResults) {\n setIsPopoverOpen(false);\n }\n }, [isPopoverOpen, hasResults, setIsPopoverOpen]);\n\n // Highlight an option once the list shows, and again whenever the typed\n // text filters the list, so the input's active descendant follows it. The\n // list mounts its collection over the next few frames.\n useLayoutEffect(() => {\n if (!shouldShowPopover) return;\n\n setComboBoxWidth(wrapperRef.current?.offsetWidth);\n\n let attempts = 0;\n let frame = 0;\n\n const tick = () => {\n const key = highlightOption(listStateRef.current, effectiveSelectedKey);\n\n if (key != null) setActiveOptionKey(key);\n\n attempts += 1;\n\n if (key == null && attempts < 8) frame = requestAnimationFrame(tick);\n };\n\n frame = requestAnimationFrame(() => {\n frame = requestAnimationFrame(tick);\n });\n\n return () => cancelAnimationFrame(frame);\n }, [\n shouldShowPopover,\n effectiveSelectedKey,\n effectiveInputValue,\n wrapperRef,\n ]);\n\n // Only an option the filter keeps is rendered.\n const activeDescendant =\n shouldShowPopover &&\n activeOptionKey != null &&\n filteredOptions.some((option) => option.key === activeOptionKey)\n ? getListBoxOptionId(`ComboBoxListBox-${comboBoxId}`, activeOptionKey)\n : undefined;\n\n const comboBoxField = (\n <ComboBoxWrapperElement\n ref={wrapperRef}\n mods={mods}\n styles={styles}\n style={{\n zIndex: isFocused ? 1 : 'initial',\n }}\n data-size={size}\n {...compositeFocusProps}\n >\n {prefix ? <div data-element=\"Prefix\">{prefix}</div> : null}\n <ComboBoxInput\n qa={qa || 'ComboBox'}\n inputRef={inputRef}\n id={id}\n value={effectiveInputValue}\n placeholder={placeholder}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired}\n autoFocus={autoFocus}\n autoComplete={autoComplete}\n size={size}\n mods={mods}\n inputStyles={inputStyles}\n keyboardProps={keyboardProps}\n focusProps={{ ...focusProps, onBlur: handleInputBlur }}\n isListShown={shouldShowPopover}\n comboBoxId={comboBoxId}\n activeDescendant={activeDescendant}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onPointerDown={() => {\n pressStartedOnInputRef.current = true;\n }}\n onClick={handleInputClick}\n ariaProps={{\n 'aria-label': (props as AriaLabelingProps)['aria-label'],\n 'aria-labelledby': (props as AriaLabelingProps)['aria-labelledby'],\n 'aria-describedby': (props as AriaLabelingProps)['aria-describedby'],\n }}\n isInvalid={isInvalid}\n />\n <div data-element=\"Suffix\">\n {suffixPosition === 'before' ? suffix : null}\n {isLoading ? <LoadingIcon data-element=\"InputIcon\" /> : validationIcon}\n {suffixPosition === 'after' ? suffix : null}\n {showClearButton && (\n <Item.Action\n excludeFromTabOrder\n icon={<CloseIcon />}\n size={size}\n // No `theme` — the default `current` type inherits the input's own\n // text color, which is already validation-tinted, so the button\n // matches the text beside it exactly instead of using the fixed\n // `danger.clear` palette.\n qa=\"ComboBoxClearButton\"\n data-no-trigger={hideTrigger ? '' : undefined}\n data-popover-dismiss=\"\"\n aria-label={t('comboBox.clearValue', 'Clear value')}\n onPress={clearValue}\n />\n )}\n {!hideTrigger ? (\n // Pointer-only, as is the clear button: the input opens, closes\n // and clears from the keyboard itself.\n <Item.Action\n ref={triggerRef}\n excludeFromTabOrder\n data-popover-trigger\n icon={<DirectionIcon to={shouldShowPopover ? 'up' : 'down'} />}\n qa=\"ComboBoxTrigger\"\n mods={{\n pressed: shouldShowPopover,\n disabled: isDisabled,\n loading: isLoading,\n }}\n data-size={size}\n isDisabled={isDisabled}\n styles={triggerStyles}\n aria-expanded={shouldShowPopover}\n aria-haspopup=\"listbox\"\n aria-label={t('comboBox.showOptions', 'Show options')}\n onPress={toggleList}\n />\n ) : null}\n </div>\n <ListBoxPopover\n isOpen={shouldShowPopover}\n triggerRef={wrapperRef as RefObject<HTMLElement>}\n popoverRef={popoverRef}\n listBoxRef={listBoxRef}\n direction={direction}\n shouldFlip={shouldFlip}\n overlayOffset={overlayOffset}\n containerPadding={containerPadding}\n comboBoxWidth={comboBoxWidth}\n listBoxId={`ComboBoxListBox-${comboBoxId}`}\n overlayStyles={overlayStyles}\n listBoxStyles={listBoxStyles}\n optionStyles={optionStyles}\n sectionStyles={sectionStyles}\n headingStyles={headingStyles}\n listGap={listGap}\n selectedKey={effectiveSelectedKey}\n // A press in the field, such as one that moves the caret, keeps the\n // list open; the chevron toggles it on its own.\n shouldCloseOnTriggerInteraction={false}\n isDisabled={isDisabled}\n disabledKeys={props.disabledKeys}\n items={sortedItems}\n listStateRef={listStateRef}\n label={label}\n ariaLabel={(props as any)['aria-label']}\n compositeFocusProps={compositeFocusProps}\n filter={filterFn}\n size={size}\n onSelectionChange={handleSelectionChange}\n onClose={() => setIsPopoverOpen(false)}\n >\n {children}\n </ListBoxPopover>\n </ComboBoxWrapperElement>\n );\n\n const { children: _, ...propsWithoutChildren } = props;\n\n return wrapWithField<Omit<CubeComboBoxProps<T>, 'children'>>(\n comboBoxField,\n ref,\n propsWithoutChildren,\n );\n}) as unknown as (<T>(\n props: CubeComboBoxProps<T> & { ref?: ForwardedRef<HTMLDivElement> },\n) => ReactElement) & { Item: typeof Item; Section: typeof BaseSection };\n\nComboBox.Item = Item;\n\nComboBox.Section = BaseSection;\n\nObject.defineProperty(ComboBox, 'cubeInputType', {\n value: 'ComboBox',\n enumerable: false,\n configurable: false,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"ComboBox.js","names":["KeyboardEvent","AriaKeyboardEvent","AriaLabelingProps","CollectionChildren","FocusableRef","Key","BASE_STYLES","BasePropsWithoutChildren","BaseStyleProps","COLOR_STYLES","ColorStyleProps","OUTER_STYLES","OuterStyleProps","Styles","tasty","React","ForwardedRef","forwardRef","ReactElement","ReactNode","RefObject","useEffect","useMemo","useRef","useState","useCollator","useFilter","useKeyboard","Section","BaseSection","useListState","useEvent","useI18n","CloseIcon","DirectionIcon","LoadingIcon","FieldBaseProps","TextFieldKeyboardProps","generateRandomId","useCombinedRefs","useLayoutEffect","useFocus","usePopoverSync","extractStyles","CollectionItem","Item","getValidationIcon","getValidationMods","useFieldProps","wrapWithField","getListBoxOptionId","filterCollectionNodes","getEdgeVisibleKey","getNextVisibleKey","ListBoxPopover","ListStateLike","markKeyboardFocus","useCompositeFocus","DEFAULT_INPUT_STYLES","INPUT_WRAPPER_STYLES","CollectionLike","collectOptions","findTypedOption","getItemLabel","highlightOption","resolveHighlightedKey","sortSelectedFirst","FilterFn","textValue","inputValue","PopoverTriggerAction","ComboBoxWrapperElement","qa","styles","InputElement","as","CubeComboBoxProps","selectedKey","defaultSelectedKey","onSelectionChange","key","defaultInputValue","onInputChange","value","placeholder","autoFocus","autoComplete","onFocus","onBlur","onKeyDown","popoverTrigger","items","Iterable","T","children","item","filter","allowsCustomValue","shouldCommitOnBlur","clearOnBlur","isClearable","onClear","icon","prefix","suffix","hideTrigger","size","inputRef","HTMLInputElement","wrapperRef","HTMLDivElement","listBoxRef","popoverRef","triggerRef","HTMLButtonElement","inputStyles","triggerStyles","listBoxStyles","overlayStyles","optionStyles","sectionStyles","headingStyles","listGap","isDisabled","isLoading","disabledKeys","shouldFlip","direction","overlayOffset","containerPadding","isReadOnly","suffixPosition","sortSelectedToTop","onOpenChange","isOpen","PROP_STYLES","UseComboBoxStateProps","comboBoxId","HTMLElement","UseComboBoxStateReturn","effectiveSelectedKey","internalInputValue","isPopoverOpen","setIsPopoverOpen","open","setInternalSelectedKey","setInternalInputValue","isControlledKey","isControlledInput","useComboBoxState","t0","$","_c","internalSelectedKey","undefined","t1","Symbol","for","t2","menuId","onClose","containerRef","t3","UseSelectedLabelReturn","selectedLabel","pickLabel","useSelectedLabel","collection","knownLabel","setKnownLabel","picked","label","getItem","String","UseComboBoxFilteringProps","effectiveInputValue","UseComboBoxFilteringReturn","filterFn","nodes","isSameText","text","isFilterActive","setIsFilterActive","active","useComboBoxFiltering","sensitivity","contains","usage","collator","compare","normalize","t4","_temp","textFilterFn","t5","term","trim","t6","UseComboBoxKeyboardProps","isListShown","listStateRef","hasResults","selection","onClearValue","onOpenList","onCloseList","onVirtualFocus","OVERLAY_KEYS","Set","isComposing","e","nativeEvent","keyCode","useComboBoxKeyboard","listState","selectionManager","setFocusedKey","focusOption","preventDefault","listState_0","current","handleArrowKey","e_0","commitTypedText","e_1","listState_1","key_0","select","focus","handleEnterKey","e_2","handleEscapeKey","e_3","listState_2","handleEdgeKey","t7","e_4","handleKey","t8","e_5","isDefaultPrevented","has","continuePropagation","keyboardProps","t9","ComboBoxInputProps","id","isRequired","mods","Record","focusProps","onChange","ChangeEvent","FocusEvent","onPointerDown","onClick","activeDescendant","ariaProps","isInvalid","ComboBoxInput","ref","combinedRef","ComboBox","props","valuePropsMapper","_temp2","t","extra","labelStyles","necessityIndicator","isValid","message","description","labelSuffix","t10","renderChildren","t11","t12","externalOnSelectionChange","sortSelectedToTopProp","form","otherProps","t13","t14","t15","t16","sortKey","setSortKey","sortedItems","renderFn","itemsArray","Array","from","map","idx","rendered","it","isValidElement","cloneElement","t17","t18","selectionMode","localCollectionState","t19","t20","filteredOptions","length","shouldShowPopover","reportedOpenRef","t21","t22","isFocused","t23","setSelectedKey","t24","label_0","showSelectionLabel","t25","clearSelectionAndInput","t26","restoreSelectedLabel","t27","value_0","settleCustomValueOnBlur","t28","matchKey","settleOptionOnBlur","t29","handleCompositeBlur","t31","t30","compositeFocusProps","t32","validationIcon","activeOptionKey","setActiveOptionKey","handleSelectionChange","isArray","setTimeout","lastSyncedSelectedKey","selectionClearedByTyping","t33","value_1","target","trimmed","handleInputChange","t34","preserveTypedInput","t35","hasValue","showClearButton","t36","openList","toggleList","t37","handleInputFocus","pressStartedOnInputRef","t38","isInputPress","handleInputClick","t39","handleInputBlur","clearValue","t40","t42","t41","t43","t44","t45","disabled","hovered","focused","loading","clearable","comboBoxWidth","setComboBoxWidth","t46","t47","t48","offsetWidth","attempts","frame","tick","key_1","requestAnimationFrame","cancelAnimationFrame","t49","t50","some","option","t51","t52","zIndex","t53","t54","t55","t56","t57","t58","t59","t60","t61","t62","t63","t64","t65","t66","pressed","t67","t68","t69","t70","t71","t72","comboBoxField","t73","_","propsWithoutChildren","Object","defineProperty","enumerable","configurable","val","_c","useFocus","Item","BaseSection"],"sources":["../../../../src/components/fields/ComboBox/ComboBox.tsx"],"sourcesContent":["import {\n KeyboardEvent as AriaKeyboardEvent,\n AriaLabelingProps,\n CollectionChildren,\n FocusableRef,\n Key,\n} from '@react-types/shared';\nimport {\n BASE_STYLES,\n BasePropsWithoutChildren,\n BaseStyleProps,\n COLOR_STYLES,\n ColorStyleProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport React, {\n ForwardedRef,\n forwardRef,\n ReactElement,\n ReactNode,\n RefObject,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useCollator, useFilter, useKeyboard } from 'react-aria';\nimport { Section as BaseSection, useListState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal';\nimport { useI18n } from '../../../i18n';\nimport { CloseIcon } from '../../../icons/CloseIcon';\nimport { DirectionIcon } from '../../../icons/DirectionIcon';\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { FieldBaseProps, TextFieldKeyboardProps } from '../../../shared';\nimport { generateRandomId } from '../../../utils/random';\nimport { useCombinedRefs, useLayoutEffect } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport { usePopoverSync } from '../../../utils/react/usePopoverSync';\nimport { extractStyles } from '../../../utils/styles';\nimport { CollectionItem as Item } from '../../CollectionItem';\nimport {\n getValidationIcon,\n getValidationMods,\n useFieldProps,\n wrapWithField,\n} from '../../form';\nimport { getListBoxOptionId } from '../ListBox/optionId';\nimport {\n filterCollectionNodes,\n getEdgeVisibleKey,\n getNextVisibleKey,\n ListBoxPopover,\n ListStateLike,\n markKeyboardFocus,\n useCompositeFocus,\n} from '../ListBoxPopover';\nimport {\n DEFAULT_INPUT_STYLES,\n INPUT_WRAPPER_STYLES,\n} from '../TextInput/TextInputBase';\n\nimport {\n CollectionLike,\n collectOptions,\n findTypedOption,\n getItemLabel,\n highlightOption,\n resolveHighlightedKey,\n sortSelectedFirst,\n} from './comboBoxOptions';\n\ntype FilterFn = (textValue: string, inputValue: string) => boolean;\n\nexport type PopoverTriggerAction = 'focus' | 'input' | 'manual';\n\nconst ComboBoxWrapperElement = tasty({\n qa: 'ComboBoxWrapper',\n styles: INPUT_WRAPPER_STYLES,\n});\n\nconst InputElement = tasty({\n as: 'input',\n styles: DEFAULT_INPUT_STYLES,\n});\n\nexport interface CubeComboBoxProps<T>\n extends\n BasePropsWithoutChildren,\n BaseStyleProps,\n OuterStyleProps,\n ColorStyleProps,\n FieldBaseProps<string | null | undefined> {\n /** The selected key in controlled mode */\n selectedKey?: string | null;\n /** The default selected key in uncontrolled mode */\n defaultSelectedKey?: string | null;\n /** Callback fired when selection changes */\n onSelectionChange?: (key: string | null) => void;\n\n /** The input value in controlled mode */\n inputValue?: string;\n /** The default input value in uncontrolled mode */\n defaultInputValue?: string;\n /** Callback fired when input value changes */\n onInputChange?: (value: string) => void;\n /** Placeholder text for the input */\n placeholder?: string;\n /** Whether the input should have autofocus */\n autoFocus?: boolean;\n /** HTML autocomplete attribute for the input */\n autoComplete?: string;\n /** Callback fired when focus enters the component (input, trigger, or popover). Does not receive event object. */\n onFocus?: () => void;\n /** Callback fired when focus leaves the component entirely. Does not receive event object. */\n onBlur?: () => void;\n /**\n * Callback fired when a key is pressed on the input, before the built-in\n * key handling. Receives React Aria's keyboard event: `e.preventDefault()`\n * skips the built-in handling for the key. `Escape` and `Tab` go on to\n * ancestors, such as a surrounding dialog, unless ComboBox acts on them\n * (`Escape` closing the list or clearing the value); other keys stop at the\n * input unless the handler calls `e.continuePropagation()`.\n */\n onKeyDown?: TextFieldKeyboardProps['onKeyDown'];\n\n /**\n * When the list opens on its own: `'input'` on typing or a press in the\n * input, `'focus'` on focus as well, `'manual'` only from the chevron and\n * the arrow keys. Defaults to `'input'`.\n */\n popoverTrigger?: PopoverTriggerAction;\n\n /** Items for the listbox (alternative to children) */\n items?: Iterable<T>;\n /** Children for the listbox (static items or render function) */\n children?: ReactNode | ((item: T) => ReactElement);\n\n /**\n * Custom filter function for determining if an option should be included.\n * Pass `false` to disable internal filtering completely.\n */\n filter?: FilterFn | false;\n\n /**\n * Whether to allow entering custom values that are not in the predefined\n * options. The typed text is committed trimmed; empty text commits `null`.\n */\n allowsCustomValue?: boolean;\n /**\n * Whether to commit custom value on blur in allowsCustomValue mode (default:\n * true). When `false`, only Enter or a pick commits, and blur discards the\n * uncommitted text: the input shows the selected option's label again, or\n * nothing when no option is selected.\n */\n shouldCommitOnBlur?: boolean;\n /** Whether to clear selection and input on blur when the text names no selectable item (default: false, only applies to non-custom-value mode) */\n clearOnBlur?: boolean;\n /** Whether the combobox is clearable using ESC key or clear button */\n isClearable?: boolean;\n /** Callback called when the clear button is pressed */\n onClear?: () => void;\n\n /** Left input icon */\n icon?: ReactElement;\n /** Input decoration before the main input */\n prefix?: ReactNode;\n /** Input decoration after the main input */\n suffix?: ReactNode;\n /** Whether to hide the trigger button */\n hideTrigger?: boolean;\n /** Size of the combobox */\n size?: 'small' | 'medium' | 'large' | (string & {});\n\n /** Ref for accessing the input element */\n inputRef?: RefObject<HTMLInputElement>;\n /** Ref for accessing the wrapper element */\n wrapperRef?: RefObject<HTMLDivElement>;\n /** Ref for accessing the listbox element */\n listBoxRef?: RefObject<HTMLDivElement>;\n /** Ref for accessing the popover element */\n popoverRef?: RefObject<HTMLDivElement>;\n /** Ref for accessing the trigger button element */\n triggerRef?: FocusableRef<HTMLButtonElement>;\n\n /** Custom styles for the input */\n inputStyles?: Styles;\n /** Custom styles for the trigger button */\n triggerStyles?: Styles;\n /** Custom styles for the listbox */\n listBoxStyles?: Styles;\n /** Custom styles for the popover overlay */\n overlayStyles?: Styles;\n /** Custom styles for individual options */\n optionStyles?: Styles;\n /** Custom styles for sections */\n sectionStyles?: Styles;\n /** Custom styles for section headings */\n headingStyles?: Styles;\n /** Space between options, in pixels. Defaults to a hairline (`1bw`). */\n listGap?: number;\n\n /** Whether the combobox is disabled */\n isDisabled?: boolean;\n /** Whether the combobox is in loading state */\n isLoading?: boolean;\n /** Keys of disabled items */\n disabledKeys?: Iterable<Key>;\n /** Whether to flip the popover placement */\n shouldFlip?: boolean;\n /** Placement direction for the popover */\n direction?: 'bottom' | 'top';\n /** Offset for the popover */\n overlayOffset?: number;\n /** Minimum padding in pixels between the popover and viewport edges */\n containerPadding?: number;\n /**\n * Whether the combobox is read-only: the list doesn't open, and neither\n * keys nor blur change the value or the text.\n */\n isReadOnly?: boolean;\n /** Suffix position goes before or after the validation and loading statuses */\n suffixPosition?: 'before' | 'after';\n /**\n * Sort selected item to the top when the popover opens.\n * Only works when using the `items` prop (data-driven mode).\n * Ignored when using JSX children.\n * @default true when items are provided, false when using JSX children\n */\n sortSelectedToTop?: boolean;\n /**\n * Callback called when the list shows or hides. Not called on mount, nor\n * while typed text that matches nothing keeps it hidden.\n */\n onOpenChange?: (isOpen: boolean) => void;\n}\n\nconst PROP_STYLES = [...BASE_STYLES, ...OUTER_STYLES, ...COLOR_STYLES];\n\n// ============================================================================\n// Hook: useComboBoxState\n// ============================================================================\ninterface UseComboBoxStateProps {\n selectedKey?: string | null;\n defaultSelectedKey?: string | null;\n inputValue?: string;\n defaultInputValue?: string;\n comboBoxId: string;\n triggerRef?: RefObject<HTMLElement | null>;\n popoverRef?: RefObject<HTMLElement | null>;\n}\n\ninterface UseComboBoxStateReturn {\n effectiveSelectedKey: Key | null;\n /**\n * The uncontrolled input text. `null` until the user types, and again after\n * the text settles on the selection: the input then shows the selected\n * option's label, following the options as they load.\n */\n internalInputValue: string | null;\n isPopoverOpen: boolean;\n setIsPopoverOpen: (open: boolean) => void;\n setInternalSelectedKey: (key: Key | null) => void;\n setInternalInputValue: (value: string | null) => void;\n isControlledKey: boolean;\n isControlledInput: boolean;\n}\n\nfunction useComboBoxState({\n selectedKey,\n defaultSelectedKey,\n inputValue,\n defaultInputValue,\n comboBoxId,\n triggerRef,\n popoverRef,\n}: UseComboBoxStateProps): UseComboBoxStateReturn {\n // Internal state for uncontrolled mode\n const [internalSelectedKey, setInternalSelectedKey] = useState<Key | null>(\n defaultSelectedKey ?? null,\n );\n const [internalInputValue, setInternalInputValue] = useState<string | null>(\n defaultInputValue ?? null,\n );\n\n const isControlledKey = selectedKey !== undefined;\n const isControlledInput = inputValue !== undefined;\n\n const effectiveSelectedKey = isControlledKey\n ? selectedKey\n : internalSelectedKey;\n\n // Popover state\n const [isPopoverOpen, setIsPopoverOpen] = useState(false);\n\n usePopoverSync({\n menuId: comboBoxId,\n isOpen: isPopoverOpen,\n onClose: () => setIsPopoverOpen(false),\n triggerRef,\n containerRef: popoverRef,\n });\n\n return {\n effectiveSelectedKey,\n internalInputValue,\n isPopoverOpen,\n setIsPopoverOpen,\n setInternalSelectedKey,\n setInternalInputValue,\n isControlledKey,\n isControlledInput,\n };\n}\n\n// ============================================================================\n// Hook: useSelectedLabel\n// ============================================================================\ninterface UseSelectedLabelReturn {\n /**\n * The text the input shows for the selection: its option's label, else the\n * last label found for that key while the options leave it out (loading, a\n * refetch, a server-side search), else the key itself — a custom value or an\n * option that has not loaded yet.\n */\n selectedLabel: string;\n /**\n * The label of `key`'s option, remembered for the key so the input keeps it\n * when the same update drops the option.\n */\n pickLabel: (key: Key) => string;\n}\n\nfunction useSelectedLabel(\n collection: CollectionLike,\n selectedKey: Key | null,\n): UseSelectedLabelReturn {\n const [knownLabel, setKnownLabel] = useState<{\n key: Key;\n label: string;\n } | null>(null);\n\n const pickLabel = (key: Key) => {\n const picked = getItemLabel(collection, key);\n\n setKnownLabel({ key, label: picked });\n\n return picked;\n };\n\n if (selectedKey == null) return { selectedLabel: '', pickLabel };\n\n const label = collection.getItem(selectedKey)?.textValue;\n\n if (\n label &&\n (knownLabel?.key !== selectedKey || knownLabel.label !== label)\n ) {\n setKnownLabel({ key: selectedKey, label });\n }\n\n const selectedLabel =\n label ||\n (knownLabel?.key === selectedKey ? knownLabel.label : String(selectedKey));\n\n return { selectedLabel, pickLabel };\n}\n\n// ============================================================================\n// Hook: useComboBoxFiltering\n// ============================================================================\ninterface UseComboBoxFilteringProps {\n effectiveInputValue: string;\n filter: FilterFn | false | undefined;\n}\n\ninterface UseComboBoxFilteringReturn {\n filterFn: (nodes: Iterable<any>) => Iterable<any>;\n /** Whether the typed text is an option's label, compared like the filter. */\n isSameText: (textValue: string, text: string) => boolean;\n isFilterActive: boolean;\n setIsFilterActive: (active: boolean) => void;\n}\n\nfunction useComboBoxFiltering({\n effectiveInputValue,\n filter,\n}: UseComboBoxFilteringProps): UseComboBoxFilteringReturn {\n const [isFilterActive, setIsFilterActive] = useState(false);\n\n const { contains } = useFilter({ sensitivity: 'base' });\n // The collator `useFilter` matches with, so the filter and the exact-match\n // check agree on case, accents and locale rules.\n const collator = useCollator({ usage: 'search', sensitivity: 'base' });\n\n const isSameText = (textValue: string, text: string) =>\n collator.compare(textValue.normalize('NFC'), text.normalize('NFC')) === 0;\n\n const textFilterFn: FilterFn =\n filter === false ? () => true : filter || contains;\n\n // Create a filter function for collection nodes\n const filterFn = (nodes: Iterable<any>) => {\n const term = effectiveInputValue.trim();\n\n // Don't filter if not active or no search term\n if (!isFilterActive || !term) {\n return nodes;\n }\n\n return filterCollectionNodes(nodes, term, textFilterFn);\n };\n\n return {\n filterFn,\n isSameText,\n isFilterActive,\n setIsFilterActive,\n };\n}\n\n// ============================================================================\n// Hook: useComboBoxKeyboard\n// ============================================================================\ninterface UseComboBoxKeyboardProps {\n /** Whether the list is shown: open, with options to show. */\n isListShown: boolean;\n isReadOnly?: boolean;\n listStateRef: RefObject<any>;\n hasResults: boolean;\n allowsCustomValue?: boolean;\n effectiveInputValue: string;\n selectedKey: Key | null;\n /** The text the input shows for the selection. */\n selectedLabel: string;\n isClearable?: boolean;\n onSelectionChange: (selection: Key | Key[] | null) => void;\n onClearValue: () => void;\n onOpenList: () => void;\n onCloseList: () => void;\n inputRef: RefObject<HTMLInputElement>;\n /** Called with the option the arrow keys moved virtual focus to. */\n onVirtualFocus: (key: Key) => void;\n onKeyDown?: TextFieldKeyboardProps['onKeyDown'];\n}\n\n// Keys that go on to a surrounding dialog unless the field acts on them:\n// Escape closes it, and its focus containment listens for Tab.\nconst OVERLAY_KEYS = new Set(['Escape', 'Tab']);\n\n// An IME takes Enter, the arrow keys and Escape while it composes text: they\n// confirm, pick or cancel its candidate.\nfunction isComposing(e: AriaKeyboardEvent) {\n return e.nativeEvent?.isComposing || e.keyCode === 229;\n}\n\nfunction useComboBoxKeyboard({\n isListShown,\n isReadOnly,\n listStateRef,\n hasResults,\n allowsCustomValue,\n effectiveInputValue,\n selectedKey,\n selectedLabel,\n isClearable,\n onSelectionChange,\n onClearValue,\n onOpenList,\n onCloseList,\n inputRef,\n onVirtualFocus,\n onKeyDown,\n}: UseComboBoxKeyboardProps) {\n // Moves the virtual focus to `key`, if there is one, and scrolls it into view.\n const focusOption = (listState: ListStateLike, key: Key | null) => {\n if (key == null) return;\n\n markKeyboardFocus(listState);\n listState.selectionManager.setFocusedKey(key);\n onVirtualFocus(key);\n };\n\n const handleArrowKey = (e: AriaKeyboardEvent) => {\n e.preventDefault();\n\n if (!isListShown) {\n onOpenList();\n\n return;\n }\n\n const listState = listStateRef.current;\n\n if (listState) {\n focusOption(\n listState,\n getNextVisibleKey(listState, e.key === 'ArrowDown' ? 1 : -1),\n );\n }\n };\n\n // With `allowsCustomValue`, Enter commits the typed text, trimmed, and empty\n // text clears the selection. The selection's own label is already\n // committed.\n const commitTypedText = (e: AriaKeyboardEvent) => {\n const value = effectiveInputValue.trim();\n\n // A closed list lets Enter go on to submit the form with the value.\n if (isListShown || !value) e.preventDefault();\n\n if (value && selectedKey != null && value === selectedLabel) return;\n\n onSelectionChange(value || null);\n };\n\n const handleEnterKey = (e: AriaKeyboardEvent) => {\n const listState = isListShown ? listStateRef.current : null;\n // Read the highlight here rather than from the list: the list highlights\n // the first match a couple of frames after the text changes, and a fast\n // Enter comes first.\n const key = listState\n ? resolveHighlightedKey(listState, selectedKey)\n : null;\n\n if (key != null) {\n e.preventDefault();\n listState.selectionManager.select(key, e);\n // Close even when the selection stays the same.\n onCloseList();\n inputRef.current?.focus();\n } else if (allowsCustomValue) {\n commitTypedText(e);\n } else if (!hasResults || !effectiveInputValue.trim()) {\n // Text that names nothing, or none, clears the selection.\n e.preventDefault();\n onSelectionChange(null);\n }\n };\n\n // Returns whether Escape did something; otherwise it goes on to close a\n // surrounding dialog.\n const handleEscapeKey = (e: AriaKeyboardEvent) => {\n if (isListShown) {\n e.preventDefault();\n onCloseList();\n inputRef.current?.focus();\n\n return true;\n }\n\n if (effectiveInputValue && isClearable) {\n e.preventDefault();\n onClearValue();\n\n return true;\n }\n\n return false;\n };\n\n const handleEdgeKey = (e: AriaKeyboardEvent) => {\n if (!isListShown) return;\n\n e.preventDefault();\n\n const listState = listStateRef.current;\n\n if (listState) {\n focusOption(\n listState,\n getEdgeVisibleKey(listState, e.key === 'Home' ? 'first' : 'last'),\n );\n }\n };\n\n // Handles the key and returns whether it stays at the input.\n const handleKey = (e: AriaKeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n handleArrowKey(e);\n return true;\n case 'Enter':\n handleEnterKey(e);\n return true;\n case 'Escape':\n return handleEscapeKey(e);\n case 'Home':\n case 'End':\n handleEdgeKey(e);\n return true;\n case 'Tab':\n // Focus moves on, so the list closes; Tab itself is never held.\n if (isListShown) onCloseList();\n return false;\n default:\n return true;\n }\n };\n\n const { keyboardProps } = useKeyboard({\n onKeyDown: (e) => {\n // The user's handler runs first, and a key it prevents is theirs: skip\n // the built-in handling. Read `isDefaultPrevented()`, not\n // `defaultPrevented` — `useKeyboard` hands over a copy of the event whose\n // `defaultPrevented` field is fixed at the moment it was made.\n onKeyDown?.(e);\n\n if (e.isDefaultPrevented() || isComposing(e)) return;\n\n // A read-only field neither opens, picks nor clears. Escape and Tab go\n // on to a surrounding dialog unless handled here, as for any field.\n if ((isReadOnly || !handleKey(e)) && OVERLAY_KEYS.has(e.key)) {\n e.continuePropagation();\n }\n },\n });\n\n return { keyboardProps };\n}\n\n// ============================================================================\n// Component: ComboBoxInput\n// ============================================================================\ninterface ComboBoxInputProps {\n qa?: string;\n inputRef: RefObject<HTMLInputElement>;\n id?: string;\n value: string;\n placeholder?: string;\n isDisabled?: boolean;\n isReadOnly?: boolean;\n isRequired?: boolean;\n autoFocus?: boolean;\n autoComplete?: string;\n size: string;\n mods: Record<string, any>;\n inputStyles?: Styles;\n keyboardProps: any;\n focusProps: any;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onFocus: (e: React.FocusEvent<HTMLInputElement>) => void;\n onPointerDown: () => void;\n onClick: () => void;\n /** Whether the list is shown: open, with options to show. */\n isListShown: boolean;\n comboBoxId: string;\n /** The id of the option under virtual focus, while the popover is open. */\n activeDescendant?: string;\n /**\n * The caller's naming and the field's description and message. The input is\n * the control, so they belong on it rather than on the wrapper.\n */\n ariaProps: AriaLabelingProps;\n isInvalid?: boolean;\n}\n\nconst ComboBoxInput = forwardRef<HTMLInputElement, ComboBoxInputProps>(\n function ComboBoxInput(\n {\n qa,\n inputRef,\n id,\n value,\n placeholder,\n isDisabled,\n isReadOnly,\n isRequired,\n autoFocus,\n autoComplete,\n size,\n mods,\n inputStyles,\n keyboardProps,\n focusProps,\n onChange,\n onFocus,\n onPointerDown,\n onClick,\n isListShown,\n comboBoxId,\n activeDescendant,\n ariaProps,\n isInvalid,\n },\n ref,\n ) {\n const combinedRef = useCombinedRefs(ref, inputRef);\n\n return (\n <InputElement\n ref={combinedRef}\n qa={qa}\n id={id}\n type=\"text\"\n value={value}\n placeholder={placeholder}\n isDisabled={isDisabled}\n readOnly={isReadOnly}\n autoFocus={autoFocus}\n autoComplete={autoComplete}\n {...(autoFocus ? { 'data-autofocus': '' } : undefined)}\n onChange={onChange}\n onFocus={onFocus}\n onPointerDown={onPointerDown}\n onClick={onClick}\n onBlur={focusProps.onBlur}\n {...keyboardProps}\n styles={inputStyles}\n mods={mods}\n data-size={size}\n data-input-type=\"combobox\"\n role=\"combobox\"\n // `ComboBox` builds its own trigger rather than going through a\n // react-aria field hook, so nothing else would announce that the field\n // is mandatory — the label marker alone is not exposed to assistive\n // technology.\n aria-required={isRequired || undefined}\n aria-expanded={isListShown}\n aria-haspopup=\"listbox\"\n aria-controls={\n isListShown ? `ComboBoxListBox-${comboBoxId}` : undefined\n }\n // Typing filters the options.\n aria-autocomplete=\"list\"\n aria-activedescendant={activeDescendant}\n aria-invalid={isInvalid || undefined}\n {...ariaProps}\n />\n );\n },\n);\n\n// ============================================================================\n// Main Component: ComboBox\n// ============================================================================\nexport const ComboBox = forwardRef(function ComboBox<T extends object>(\n props: CubeComboBoxProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n props = useFieldProps(props, {\n valuePropsMapper: ({ value, onChange }) => {\n return {\n // Form value maps to selectedKey (the committed value) in both modes\n selectedKey: value ?? null,\n onSelectionChange(val: string | null) {\n // Commit selection changes to the form\n onChange(val);\n },\n };\n },\n });\n\n const { t } = useI18n();\n\n let {\n qa,\n label,\n extra,\n labelStyles,\n isRequired,\n necessityIndicator,\n isInvalid,\n isValid,\n id,\n icon,\n prefix,\n isDisabled,\n autoFocus,\n autoComplete = 'off',\n wrapperRef,\n inputRef,\n triggerRef,\n popoverRef,\n listBoxRef,\n isLoading,\n inputStyles,\n optionStyles,\n triggerStyles,\n listBoxStyles,\n overlayStyles,\n suffix,\n hideTrigger,\n message,\n description,\n size = 'medium',\n direction = 'bottom',\n shouldFlip = true,\n popoverTrigger = 'input',\n suffixPosition = 'before',\n filter,\n styles,\n labelSuffix,\n selectedKey,\n defaultSelectedKey,\n inputValue,\n defaultInputValue,\n onInputChange,\n isClearable,\n onClear,\n placeholder,\n allowsCustomValue,\n shouldCommitOnBlur = true,\n clearOnBlur,\n items,\n children: renderChildren,\n sectionStyles,\n headingStyles,\n listGap,\n isReadOnly,\n overlayOffset = 8,\n containerPadding = 8,\n onSelectionChange: externalOnSelectionChange,\n sortSelectedToTop: sortSelectedToTopProp,\n onOpenChange,\n onFocus,\n onBlur,\n onKeyDown,\n form,\n ...otherProps\n } = props;\n\n // Generate a unique ID for this combobox instance\n const comboBoxId = useMemo(() => generateRandomId(), []);\n\n // Hoist the wrapper/popover ref normalization above `useComboBoxState` so\n // the popover-sync inside it sees stable, attached refs. Other ref combines\n // happen below alongside the legacy ordering.\n // The field's ref is the wrapper's, with or without the field chrome.\n wrapperRef = useCombinedRefs(wrapperRef, ref);\n popoverRef = useCombinedRefs(popoverRef);\n\n // State management hook\n const {\n effectiveSelectedKey,\n internalInputValue,\n isPopoverOpen,\n setIsPopoverOpen,\n setInternalSelectedKey,\n setInternalInputValue,\n isControlledKey,\n isControlledInput,\n } = useComboBoxState({\n selectedKey,\n defaultSelectedKey,\n inputValue,\n defaultInputValue,\n comboBoxId,\n triggerRef: wrapperRef as RefObject<HTMLElement | null>,\n popoverRef: popoverRef as RefObject<HTMLElement | null>,\n });\n\n // Default to true if items are provided, false otherwise\n const sortSelectedToTop = sortSelectedToTopProp ?? (items ? true : false);\n\n styles = extractStyles(otherProps, PROP_STYLES, styles);\n\n inputRef = useCombinedRefs(inputRef);\n triggerRef = useCombinedRefs(triggerRef);\n listBoxRef = useCombinedRefs(listBoxRef);\n\n // The selection the options are sorted by. It follows the selection while\n // the list is closed and holds still while it is open, so a pick doesn't\n // reorder the list under the pointer.\n const [sortKey, setSortKey] = useState(effectiveSelectedKey);\n\n if (!isPopoverOpen && sortKey !== effectiveSelectedKey) {\n setSortKey(effectiveSelectedKey);\n }\n\n // Sort items with selected on top if enabled\n const sortedItems =\n items && sortSelectedToTop ? sortSelectedFirst(items, sortKey) : items;\n\n // Preserve the original `children` (may be a render function) before we\n // potentially overwrite it.\n let children: ReactNode = renderChildren as ReactNode;\n\n const renderFn = renderChildren as unknown;\n\n if (sortedItems && typeof renderFn === 'function') {\n try {\n const itemsArray = Array.from(sortedItems as Iterable<any>);\n children = itemsArray.map((item, idx) => {\n const rendered = (renderFn as (it: any) => ReactNode)(item);\n if (\n React.isValidElement(rendered) &&\n (rendered as ReactElement).key == null\n ) {\n return React.cloneElement(rendered as ReactElement, {\n key: (rendered as any)?.key ?? item?.key ?? idx,\n });\n }\n\n return rendered as ReactNode;\n });\n } catch {\n // If conversion fails, proceed with the original children\n }\n }\n\n // Create local collection state for reading item data (labels, etc.)\n // This allows us to read item labels even before the popover opens\n const localCollectionState = useListState({\n children: children as CollectionChildren<T>,\n items: sortedItems,\n disabledKeys: props.disabledKeys,\n selectionMode: 'none', // Don't manage selection in this state\n });\n\n const { selectedLabel, pickLabel } = useSelectedLabel(\n localCollectionState.collection,\n effectiveSelectedKey,\n );\n const effectiveInputValue = isControlledInput\n ? (inputValue as string)\n : (internalInputValue ?? selectedLabel);\n\n // Filtering hook\n const { filterFn, isSameText, isFilterActive, setIsFilterActive } =\n useComboBoxFiltering({\n effectiveInputValue,\n filter,\n });\n\n // The options the typed text leaves in the list.\n const filteredOptions = collectOptions(\n filterFn(localCollectionState.collection),\n );\n const hasResults = filteredOptions.length > 0;\n const shouldShowPopover = isPopoverOpen && hasResults;\n\n // Report the list showing or hiding, as the user sees it: not on mount, and\n // not for text that reopens an empty list keystroke after keystroke.\n const reportedOpenRef = useRef(shouldShowPopover);\n\n useEffect(() => {\n if (reportedOpenRef.current === shouldShowPopover) return;\n\n reportedOpenRef.current = shouldShowPopover;\n onOpenChange?.(shouldShowPopover);\n }, [shouldShowPopover, onOpenChange]);\n\n const { isFocused, focusProps } = useFocus();\n\n // ---- selection and text -------------------------------------------------\n // Writes the selected key, unless it is controlled. It does not report:\n // each outcome calls `onSelectionChange` itself, in the order it has always\n // fired relative to `onInputChange`.\n const setSelectedKey = (key: Key | null) => {\n if (!isControlledKey) setInternalSelectedKey(key);\n };\n\n // Settles the uncontrolled text on the selection, so it shows the selected\n // option's label — the controlled one when a parent declines a change — and\n // reports `label`, the text for the selection being settled on, when it\n // differs from the text shown now.\n const showSelectionLabel = (label: string) => {\n if (!isControlledInput) setInternalInputValue(null);\n if (label !== effectiveInputValue) onInputChange?.(label);\n };\n\n // ---- blur ---------------------------------------------------------------\n // Blur reports only what it changes.\n const clearSelectionAndInput = () => {\n if (effectiveSelectedKey != null) {\n externalOnSelectionChange?.(null);\n setSelectedKey(null);\n }\n\n showSelectionLabel('');\n };\n\n // Reset input to show current selection (or empty if none)\n const restoreSelectedLabel = () => showSelectionLabel(selectedLabel);\n\n // In allowsCustomValue mode: commit the trimmed text if it's non-empty and\n // nothing is selected, clear the selection if the text is empty. Otherwise,\n // including with `shouldCommitOnBlur={false}`, the input shows the selection\n // again and the uncommitted text is dropped.\n const settleCustomValueOnBlur = () => {\n const value = effectiveInputValue.trim();\n\n if (shouldCommitOnBlur && value && effectiveSelectedKey == null) {\n externalOnSelectionChange?.(value);\n setSelectedKey(value);\n showSelectionLabel(value);\n } else if (!value) {\n clearSelectionAndInput();\n } else {\n restoreSelectedLabel();\n }\n };\n\n // In non-custom-value mode: auto-select the exact match, or the only filtered\n // result, unless it is disabled; keep a selected item even when it is\n // disabled; clear invalid input (no selectable match) when clearOnBlur is set\n // or the input is empty.\n const settleOptionOnBlur = () => {\n const matchKey = findTypedOption(\n filteredOptions,\n effectiveInputValue,\n effectiveSelectedKey,\n localCollectionState.disabledKeys,\n isSameText,\n );\n\n if (matchKey != null && matchKey !== effectiveSelectedKey) {\n setSelectedKey(matchKey);\n showSelectionLabel(pickLabel(matchKey));\n externalOnSelectionChange?.(matchKey as string);\n } else if (\n matchKey == null &&\n (clearOnBlur || !effectiveInputValue.trim())\n ) {\n clearSelectionAndInput();\n } else {\n restoreSelectedLabel();\n }\n };\n\n // Composite blur handler - fires when focus leaves the entire component\n const handleCompositeBlur = useEvent(() => {\n setIsPopoverOpen(false);\n\n // A read-only field keeps its value and text.\n if (isReadOnly) {\n // Nothing to settle.\n } else if (allowsCustomValue) {\n settleCustomValueOnBlur();\n } else {\n settleOptionOnBlur();\n }\n\n onBlur?.();\n // Only now: the match above needs the filter still active.\n setIsFilterActive(false);\n });\n\n // Composite focus hook - handles focus tracking across wrapper and portaled popover\n const { compositeFocusProps } = useCompositeFocus({\n wrapperRef,\n popoverRef,\n onFocus,\n onBlur: handleCompositeBlur,\n isDisabled,\n });\n\n let validationIcon = getValidationIcon({ isInvalid, isValid });\n\n // Ref to access internal ListBox state\n const listStateRef = useRef<any>(null);\n // The option under virtual focus, mirrored in state for the input's\n // `aria-activedescendant`: the listbox's own state update does not re-render\n // this component.\n const [activeOptionKey, setActiveOptionKey] = useState<Key | null>(null);\n\n // Selection change handler\n const handleSelectionChange = useEvent((selection: Key | Key[] | null) => {\n // Extract single key from selection (we only support single selection)\n const key = Array.isArray(selection) ? selection[0] : selection;\n\n setSelectedKey(key ?? null);\n setIsFilterActive(false);\n showSelectionLabel(key != null ? pickLabel(key) : '');\n externalOnSelectionChange?.(key as string | null);\n\n // Close popover after selection\n setIsPopoverOpen(false);\n\n // Focus input\n setTimeout(() => {\n inputRef.current?.focus();\n }, 0);\n });\n\n const lastSyncedSelectedKey = useRef<Key | null | undefined>(undefined);\n const selectionClearedByTyping = useRef(false);\n\n // Input change handler\n const handleInputChange = useEvent(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n\n // Update input value\n if (!isControlledInput) {\n setInternalInputValue(value);\n }\n onInputChange?.(value);\n\n const trimmed = value.trim();\n setIsFilterActive(trimmed.length > 0);\n\n // Only clear selection in allowsCustomValue mode\n // In normal mode, typing just filters - selection stays until explicitly changed\n if (allowsCustomValue && effectiveSelectedKey != null) {\n selectionClearedByTyping.current = true;\n if (!isControlledKey) {\n setInternalSelectedKey(null);\n }\n externalOnSelectionChange?.(null);\n }\n\n // Open popover based on trigger\n if (popoverTrigger !== 'manual' && value && !isPopoverOpen) {\n setIsPopoverOpen(true);\n }\n },\n );\n\n // When a controlled selection changes, the uncontrolled text settles on it\n // and shows its label, which follows the options as they load.\n useEffect(() => {\n const preserveTypedInput = selectionClearedByTyping.current;\n selectionClearedByTyping.current = false;\n // Only run when selectedKey is controlled but inputValue is uncontrolled\n if (!isControlledKey || isControlledInput) return;\n\n // Skip if the key hasn't actually changed (prevents unnecessary resets when collection rebuilds)\n if (\n lastSyncedSelectedKey.current !== undefined &&\n lastSyncedSelectedKey.current === effectiveSelectedKey\n ) {\n return;\n }\n\n lastSyncedSelectedKey.current = effectiveSelectedKey;\n\n // Acknowledging the selection cleared by this edit must not erase the\n // text that caused it. Later external clears still reset the input.\n if (preserveTypedInput && effectiveSelectedKey == null) return;\n\n setInternalInputValue(null);\n }, [\n isControlledKey,\n isControlledInput,\n effectiveSelectedKey,\n effectiveInputValue,\n setInternalInputValue,\n ]);\n\n // Clear button logic\n let hasValue = allowsCustomValue\n ? effectiveInputValue !== ''\n : effectiveSelectedKey != null;\n let showClearButton = isClearable && hasValue && !isDisabled && !isReadOnly;\n\n // Opens the list, showing every option when the typed text matches none. A\n // read-only field never opens it.\n const openList = () => {\n if (isReadOnly || isDisabled) return;\n if (!hasResults) setIsFilterActive(false);\n\n setIsPopoverOpen(true);\n };\n\n // The chevron toggles the list and leaves focus in the input.\n const toggleList = () => {\n if (shouldShowPopover) {\n setIsPopoverOpen(false);\n } else {\n openList();\n }\n\n inputRef.current?.focus();\n };\n\n // Input focus handler\n const handleInputFocus = useEvent((e: React.FocusEvent<HTMLInputElement>) => {\n // Call focus props handler if it exists\n focusProps.onFocus?.(e as any);\n\n if (popoverTrigger === 'focus' && !isPopoverOpen) {\n openList();\n }\n });\n\n // Whether the pointer went down on the input itself. The field's label\n // forwards its own click to the input, and that click only focuses.\n const pressStartedOnInputRef = useRef(false);\n\n // A press in the input opens a closed list, focused or not, with the options\n // the typed text leaves. Text that matches nothing keeps the list hidden, so\n // a press that moves the caret doesn't change what Enter commits; the\n // chevron and the arrow keys show every option instead. A press on an open\n // list only moves the caret.\n const handleInputClick = () => {\n const isInputPress = pressStartedOnInputRef.current;\n\n pressStartedOnInputRef.current = false;\n\n if (!isInputPress || popoverTrigger === 'manual') return;\n if (!shouldShowPopover && hasResults) openList();\n };\n\n // Input blur handler - just handles internal focus props\n const handleInputBlur = useEvent((e: React.FocusEvent<HTMLInputElement>) => {\n focusProps.onBlur?.(e as any);\n });\n\n // Clear function\n let clearValue = useEvent(() => {\n // Clear input\n if (!isControlledInput) {\n setInternalInputValue(null);\n }\n onInputChange?.('');\n\n // Clear selection\n setSelectedKey(null);\n externalOnSelectionChange?.(null);\n\n // Close popover\n if (isPopoverOpen) {\n setIsPopoverOpen(false);\n }\n\n // Focus input\n inputRef.current?.focus();\n\n onClear?.();\n });\n\n // Keyboard navigation hook\n const { keyboardProps } = useComboBoxKeyboard({\n isListShown: shouldShowPopover,\n isReadOnly,\n listStateRef,\n hasResults,\n allowsCustomValue,\n effectiveInputValue,\n selectedKey: effectiveSelectedKey,\n selectedLabel,\n isClearable,\n onSelectionChange: handleSelectionChange,\n onClearValue: clearValue,\n onOpenList: openList,\n onCloseList: () => setIsPopoverOpen(false),\n inputRef,\n onVirtualFocus: setActiveOptionKey,\n onKeyDown,\n });\n\n if (icon) {\n icon = <div data-element=\"InputIcon\">{icon}</div>;\n\n if (prefix) {\n prefix = (\n <>\n {icon}\n {prefix}\n </>\n );\n } else {\n prefix = icon;\n }\n }\n\n let mods = useMemo(\n () => ({\n ...getValidationMods({ isInvalid, isValid }),\n disabled: isDisabled,\n hovered: false,\n focused: isFocused,\n loading: isLoading,\n prefix: !!prefix,\n suffix: true,\n clearable: showClearButton,\n }),\n [\n isInvalid,\n isValid,\n isDisabled,\n isFocused,\n isLoading,\n prefix,\n showClearButton,\n ],\n );\n\n // The list is at least as wide as the field, measured as it shows.\n const [comboBoxWidth, setComboBoxWidth] = useState<number>();\n\n // Close popover if no results\n useEffect(() => {\n if (isPopoverOpen && !hasResults) {\n setIsPopoverOpen(false);\n }\n }, [isPopoverOpen, hasResults, setIsPopoverOpen]);\n\n // Highlight an option once the list shows, and again whenever the typed\n // text filters the list, so the input's active descendant follows it. The\n // list mounts its collection over the next few frames.\n useLayoutEffect(() => {\n if (!shouldShowPopover) return;\n\n setComboBoxWidth(wrapperRef.current?.offsetWidth);\n\n let attempts = 0;\n let frame = 0;\n\n const tick = () => {\n const key = highlightOption(listStateRef.current, effectiveSelectedKey);\n\n if (key != null) setActiveOptionKey(key);\n\n attempts += 1;\n\n if (key == null && attempts < 8) frame = requestAnimationFrame(tick);\n };\n\n frame = requestAnimationFrame(() => {\n frame = requestAnimationFrame(tick);\n });\n\n return () => cancelAnimationFrame(frame);\n }, [\n shouldShowPopover,\n effectiveSelectedKey,\n effectiveInputValue,\n wrapperRef,\n ]);\n\n // Only an option the filter keeps is rendered.\n const activeDescendant =\n shouldShowPopover &&\n activeOptionKey != null &&\n filteredOptions.some((option) => option.key === activeOptionKey)\n ? getListBoxOptionId(`ComboBoxListBox-${comboBoxId}`, activeOptionKey)\n : undefined;\n\n const comboBoxField = (\n <ComboBoxWrapperElement\n ref={wrapperRef}\n mods={mods}\n styles={styles}\n style={{\n zIndex: isFocused ? 1 : 'initial',\n }}\n data-size={size}\n {...compositeFocusProps}\n >\n {prefix ? <div data-element=\"Prefix\">{prefix}</div> : null}\n <ComboBoxInput\n qa={qa || 'ComboBox'}\n inputRef={inputRef}\n id={id}\n value={effectiveInputValue}\n placeholder={placeholder}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isRequired={isRequired}\n autoFocus={autoFocus}\n autoComplete={autoComplete}\n size={size}\n mods={mods}\n inputStyles={inputStyles}\n keyboardProps={keyboardProps}\n focusProps={{ ...focusProps, onBlur: handleInputBlur }}\n isListShown={shouldShowPopover}\n comboBoxId={comboBoxId}\n activeDescendant={activeDescendant}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onPointerDown={() => {\n pressStartedOnInputRef.current = true;\n }}\n onClick={handleInputClick}\n ariaProps={{\n 'aria-label': (props as AriaLabelingProps)['aria-label'],\n 'aria-labelledby': (props as AriaLabelingProps)['aria-labelledby'],\n 'aria-describedby': (props as AriaLabelingProps)['aria-describedby'],\n }}\n isInvalid={isInvalid}\n />\n <div data-element=\"Suffix\">\n {suffixPosition === 'before' ? suffix : null}\n {isLoading ? <LoadingIcon data-element=\"InputIcon\" /> : validationIcon}\n {suffixPosition === 'after' ? suffix : null}\n {showClearButton && (\n <Item.Action\n excludeFromTabOrder\n icon={<CloseIcon />}\n size={size}\n // No `theme` — the default `current` type inherits the input's own\n // text color, which is already validation-tinted, so the button\n // matches the text beside it exactly instead of using the fixed\n // `danger.clear` palette.\n qa=\"ComboBoxClearButton\"\n data-no-trigger={hideTrigger ? '' : undefined}\n data-popover-dismiss=\"\"\n aria-label={t('comboBox.clearValue', 'Clear value')}\n onPress={clearValue}\n />\n )}\n {!hideTrigger ? (\n // Pointer-only, as is the clear button: the input opens, closes\n // and clears from the keyboard itself.\n <Item.Action\n ref={triggerRef}\n excludeFromTabOrder\n data-popover-trigger\n icon={<DirectionIcon to={shouldShowPopover ? 'up' : 'down'} />}\n qa=\"ComboBoxTrigger\"\n mods={{\n pressed: shouldShowPopover,\n disabled: isDisabled,\n loading: isLoading,\n }}\n data-size={size}\n isDisabled={isDisabled}\n styles={triggerStyles}\n aria-expanded={shouldShowPopover}\n aria-haspopup=\"listbox\"\n aria-label={t('comboBox.showOptions', 'Show options')}\n onPress={toggleList}\n />\n ) : null}\n </div>\n <ListBoxPopover\n isOpen={shouldShowPopover}\n triggerRef={wrapperRef as RefObject<HTMLElement>}\n popoverRef={popoverRef}\n listBoxRef={listBoxRef}\n direction={direction}\n shouldFlip={shouldFlip}\n overlayOffset={overlayOffset}\n containerPadding={containerPadding}\n comboBoxWidth={comboBoxWidth}\n listBoxId={`ComboBoxListBox-${comboBoxId}`}\n overlayStyles={overlayStyles}\n listBoxStyles={listBoxStyles}\n optionStyles={optionStyles}\n sectionStyles={sectionStyles}\n headingStyles={headingStyles}\n listGap={listGap}\n selectedKey={effectiveSelectedKey}\n // A press in the field, such as one that moves the caret, keeps the\n // list open; the chevron toggles it on its own.\n shouldCloseOnTriggerInteraction={false}\n isDisabled={isDisabled}\n disabledKeys={props.disabledKeys}\n items={sortedItems}\n listStateRef={listStateRef}\n label={label}\n ariaLabel={(props as any)['aria-label']}\n compositeFocusProps={compositeFocusProps}\n filter={filterFn}\n size={size}\n onSelectionChange={handleSelectionChange}\n onClose={() => setIsPopoverOpen(false)}\n >\n {children}\n </ListBoxPopover>\n </ComboBoxWrapperElement>\n );\n\n const { children: _, ...propsWithoutChildren } = props;\n\n return wrapWithField<Omit<CubeComboBoxProps<T>, 'children'>>(\n comboBoxField,\n propsWithoutChildren,\n );\n}) as unknown as (<T>(\n props: CubeComboBoxProps<T> & { ref?: ForwardedRef<HTMLDivElement> },\n) => ReactElement) & { Item: typeof Item; Section: typeof BaseSection };\n\nComboBox.Item = Item;\n\nComboBox.Section = BaseSection;\n\nObject.defineProperty(ComboBox, 'cubeInputType', {\n value: 'ComboBox',\n enumerable: false,\n configurable: false,\n});\n"],"mappings":"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"}