@cube-dev/ui-kit 0.0.0-canary-bef9600 → 0.0.0-canary-e3f8a1a

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 (654) hide show
  1. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  2. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  3. package/dist/_internal/hooks/use-event.js +1 -1
  4. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  5. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  6. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  7. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  8. package/dist/_internal/hooks/use-warn.js +1 -1
  9. package/dist/components/Block.js +1 -1
  10. package/dist/components/CollectionItem.js +1 -1
  11. package/dist/components/GlobalStyles.js +1 -1
  12. package/dist/components/GridProvider.js +1 -1
  13. package/dist/components/HiddenInput.js +1 -1
  14. package/dist/components/Root.js +1 -1
  15. package/dist/components/actions/Action/Action.js +1 -1
  16. package/dist/components/actions/Banner/Banner.js +1 -1
  17. package/dist/components/actions/Button/Button.js +11 -5
  18. package/dist/components/actions/Button/Button.js.map +1 -1
  19. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  21. package/dist/components/actions/ButtonSplit/context.js +1 -1
  22. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  23. package/dist/components/actions/CommandMenu/styled.js +1 -1
  24. package/dist/components/actions/ItemAction/ItemAction.js +27 -25
  25. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  26. package/dist/components/actions/ItemActionContext.js +1 -1
  27. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  28. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  29. package/dist/components/actions/Link/Link.js +1 -1
  30. package/dist/components/actions/Menu/Menu.js +1 -1
  31. package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
  32. package/dist/components/actions/Menu/MenuItem.js +1 -1
  33. package/dist/components/actions/Menu/MenuSection.js +1 -1
  34. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  36. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  37. package/dist/components/actions/Menu/context.js +1 -1
  38. package/dist/components/actions/Menu/styled.js +1 -4
  39. package/dist/components/actions/Menu/styled.js.map +1 -1
  40. package/dist/components/actions/actions-run.js +1 -1
  41. package/dist/components/actions/index.js +1 -1
  42. package/dist/components/actions/use-action.js +1 -1
  43. package/dist/components/actions/use-anchored-menu.js +1 -1
  44. package/dist/components/actions/use-context-menu.js +1 -1
  45. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  46. package/dist/components/content/Alert/Alert.js +1 -1
  47. package/dist/components/content/Alert/use-alert.js +1 -1
  48. package/dist/components/content/Avatar/Avatar.js +1 -1
  49. package/dist/components/content/Badge/Badge.js +1 -1
  50. package/dist/components/content/Card/Card.js +1 -1
  51. package/dist/components/content/Content.js +1 -1
  52. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  53. package/dist/components/content/CopySnippet/CopySnippet.d.ts +4 -4
  54. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  55. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  56. package/dist/components/content/Divider.js +1 -1
  57. package/dist/components/content/Footer.js +1 -1
  58. package/dist/components/content/Header.js +1 -1
  59. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  60. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  61. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  62. package/dist/components/content/Item/Item.js +3 -3
  63. package/dist/components/content/Item/Item.js.map +1 -1
  64. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  65. package/dist/components/content/ItemBadge/ItemBadge.js +7 -3
  66. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  67. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  68. package/dist/components/content/Layout/GridLayout.js +1 -1
  69. package/dist/components/content/Layout/Layout.js +28 -15
  70. package/dist/components/content/Layout/Layout.js.map +1 -1
  71. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  72. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  73. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  74. package/dist/components/content/Layout/LayoutContent.js +1 -1
  75. package/dist/components/content/Layout/LayoutContext.js +20 -10
  76. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  77. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  78. package/dist/components/content/Layout/LayoutFooter.js +12 -9
  79. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  80. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  81. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  82. package/dist/components/content/Layout/LayoutPane.js +1 -1
  83. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  84. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  85. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  86. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  87. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  88. package/dist/components/content/Layout/index.js +1 -1
  89. package/dist/components/content/Layout/utils.js +1 -1
  90. package/dist/components/content/Paragraph.js +1 -1
  91. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  92. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  93. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  94. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  95. package/dist/components/content/Result/Result.js +1 -1
  96. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  97. package/dist/components/content/Tag/Tag.js +1 -1
  98. package/dist/components/content/Text.d.ts +14 -14
  99. package/dist/components/content/Text.js +1 -1
  100. package/dist/components/content/TextItem/TextItem.js +1 -1
  101. package/dist/components/content/Title.js +1 -1
  102. package/dist/components/content/Tree/Tree.js +1 -1
  103. package/dist/components/content/Tree/TreeNode.js +1 -1
  104. package/dist/components/content/Tree/styled.js +1 -1
  105. package/dist/components/content/Tree/tree-index.js +1 -1
  106. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  107. package/dist/components/content/Tree/use-load-data.js +1 -1
  108. package/dist/components/content/highlightText.js +1 -1
  109. package/dist/components/content/use-auto-tooltip.js +3 -3
  110. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  111. package/dist/components/data/DataTable/DataTable.js +1 -1
  112. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  113. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  114. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  115. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  116. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  117. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  118. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  119. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  120. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  121. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  122. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  123. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  124. package/dist/components/data/TableBase/RowCollection.js +1 -1
  125. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  126. package/dist/components/data/TableBase/TableRow.js +1 -1
  127. package/dist/components/data/TableBase/TableView.js +1 -1
  128. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  129. package/dist/components/data/TableBase/column-header.js +1 -1
  130. package/dist/components/data/TableBase/column-menu.js +1 -1
  131. package/dist/components/data/TableBase/column-styles.js +1 -1
  132. package/dist/components/data/TableBase/column-tint.js +1 -1
  133. package/dist/components/data/TableBase/row-menu.js +1 -1
  134. package/dist/components/data/TableBase/styled.js +1 -1
  135. package/dist/components/data/TableBase/table-tree.js +1 -1
  136. package/dist/components/data/TableBase/types.js +1 -1
  137. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  138. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  139. package/dist/components/data/TableBase/use-column-order.js +1 -1
  140. package/dist/components/data/TableBase/use-column-window.js +1 -1
  141. package/dist/components/data/TableBase/use-container-width.js +1 -1
  142. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  143. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  144. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  145. package/dist/components/data/TableBase/use-table-search.js +1 -1
  146. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  147. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  148. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  149. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  150. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  151. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  152. package/dist/components/fields/Checkbox/Checkbox.js +2 -2
  153. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  154. package/dist/components/fields/Checkbox/CheckboxGroup.js +5 -5
  155. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  156. package/dist/components/fields/Checkbox/context.js +1 -1
  157. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  158. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  159. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  160. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  161. package/dist/components/fields/ComboBox/ComboBox.d.ts +26 -6
  162. package/dist/components/fields/ComboBox/ComboBox.js +1095 -619
  163. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  164. package/dist/components/fields/ComboBox/comboBoxOptions.js +84 -0
  165. package/dist/components/fields/ComboBox/comboBoxOptions.js.map +1 -0
  166. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  167. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  168. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  169. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  170. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  171. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  172. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  173. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  174. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  175. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  176. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  177. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  178. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  179. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  180. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  181. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  182. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  183. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  184. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  185. package/dist/components/fields/DatePicker/period.js +1 -1
  186. package/dist/components/fields/DatePicker/props.js +1 -1
  187. package/dist/components/fields/DatePicker/utils.js +1 -1
  188. package/dist/components/fields/FileInput/FileInput.js +1 -1
  189. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  190. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  191. package/dist/components/fields/Input/Input.d.ts +2 -2
  192. package/dist/components/fields/Input/Input.js +2 -2
  193. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  194. package/dist/components/fields/ListBox/ListBox.d.ts +10 -4
  195. package/dist/components/fields/ListBox/ListBox.js +293 -143
  196. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  197. package/dist/components/fields/ListBox/optionId.js +1 -1
  198. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +15 -12
  199. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  200. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  201. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  202. package/dist/components/fields/NumberInput/NumberInput.d.ts +0 -1
  203. package/dist/components/fields/NumberInput/NumberInput.js +136 -128
  204. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  205. package/dist/components/fields/NumberInput/StepButton.js +38 -48
  206. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  207. package/dist/components/fields/PasswordInput/PasswordInput.d.ts +1 -2
  208. package/dist/components/fields/PasswordInput/PasswordInput.js +77 -111
  209. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  210. package/dist/components/fields/Picker/Picker.d.ts +1 -1
  211. package/dist/components/fields/Picker/Picker.js +8 -3
  212. package/dist/components/fields/Picker/Picker.js.map +1 -1
  213. package/dist/components/fields/RadioGroup/Radio.d.ts +8 -8
  214. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  215. package/dist/components/fields/RadioGroup/RadioGroup.js +2 -2
  216. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  217. package/dist/components/fields/RadioGroup/context.js +1 -1
  218. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  219. package/dist/components/fields/SearchInput/SearchInput.d.ts +8 -3
  220. package/dist/components/fields/SearchInput/SearchInput.js +22 -29
  221. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  222. package/dist/components/fields/Select/Select.d.ts +12 -1
  223. package/dist/components/fields/Select/Select.js +365 -207
  224. package/dist/components/fields/Select/Select.js.map +1 -1
  225. package/dist/components/fields/Slider/Gradation.js +1 -1
  226. package/dist/components/fields/Slider/HueSlider.js +1 -1
  227. package/dist/components/fields/Slider/RangeSlider.js +3 -4
  228. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  229. package/dist/components/fields/Slider/Slider.js +1 -1
  230. package/dist/components/fields/Slider/SliderBase.js +1 -1
  231. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  232. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  233. package/dist/components/fields/Slider/elements.js +1 -1
  234. package/dist/components/fields/Slider/index.js +1 -1
  235. package/dist/components/fields/Switch/Switch.js +1 -1
  236. package/dist/components/fields/TagInput/TagInput.js +1 -1
  237. package/dist/components/fields/TagInput/TagList.js +1 -1
  238. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  239. package/dist/components/fields/TagInput/useTagError.js +1 -1
  240. package/dist/components/fields/TextArea/TextArea.d.ts +0 -1
  241. package/dist/components/fields/TextArea/TextArea.js +49 -63
  242. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  243. package/dist/components/fields/TextInput/TextInput.d.ts +1 -1
  244. package/dist/components/fields/TextInput/TextInput.js +42 -46
  245. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  246. package/dist/components/fields/TextInput/TextInputBase.d.ts +6 -2
  247. package/dist/components/fields/TextInput/TextInputBase.js +32 -10
  248. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  249. package/dist/components/fields/TextInput/displayed-validation.js +50 -0
  250. package/dist/components/fields/TextInput/displayed-validation.js.map +1 -0
  251. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  252. package/dist/components/fields/TextInputMapper/TextInputMapper.js +2 -2
  253. package/dist/components/fields/TriggerActions.js +1 -1
  254. package/dist/components/fields/color/ColorPanel.js +1 -1
  255. package/dist/components/fields/color/channels.js +1 -1
  256. package/dist/components/fields/color/color.js +1 -1
  257. package/dist/components/fields/color/context.js +1 -1
  258. package/dist/components/fields/index.d.ts +2 -2
  259. package/dist/components/fields/option-origin-press.js +78 -0
  260. package/dist/components/fields/option-origin-press.js.map +1 -0
  261. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  262. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  263. package/dist/components/form/Form/Field.js +1 -1
  264. package/dist/components/form/Form/Form.js +1 -1
  265. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  266. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  267. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  268. package/dist/components/form/Form/SubmitError.js +1 -1
  269. package/dist/components/form/Form/backend.js +1 -1
  270. package/dist/components/form/Form/index.js +1 -1
  271. package/dist/components/form/Form/modern/actions.js +1 -1
  272. package/dist/components/form/Form/modern/context.js +1 -1
  273. package/dist/components/form/Form/modern/controller.js +1 -1
  274. package/dist/components/form/Form/modern/field-binding.js +1 -1
  275. package/dist/components/form/Form/modern/field.js +1 -1
  276. package/dist/components/form/Form/modern/react.js +1 -1
  277. package/dist/components/form/Form/modern/store.js +1 -1
  278. package/dist/components/form/Form/modern/validation.js +1 -1
  279. package/dist/components/form/Form/modern/values.js +1 -1
  280. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  281. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  282. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  283. package/dist/components/form/Form/use-field/use-field.js +1 -1
  284. package/dist/components/form/Form/use-form.js +1 -1
  285. package/dist/components/form/Form/validation.js +1 -1
  286. package/dist/components/form/Label.js +1 -1
  287. package/dist/components/form/field-chrome.js +1 -1
  288. package/dist/components/form/legacy-tooltip.js +1 -1
  289. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  290. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  291. package/dist/components/form/validation/use-validation-props.js +1 -1
  292. package/dist/components/form/wrapper.js +1 -1
  293. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  294. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  295. package/dist/components/layout/Flex.js +1 -1
  296. package/dist/components/layout/Flow.js +1 -1
  297. package/dist/components/layout/Grid.js +1 -1
  298. package/dist/components/layout/Panel.js +1 -1
  299. package/dist/components/layout/Prefix.js +1 -1
  300. package/dist/components/layout/ResizablePanel.js +1 -1
  301. package/dist/components/layout/Space.js +1 -1
  302. package/dist/components/layout/Suffix.js +1 -1
  303. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  304. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  305. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  306. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  307. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  308. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  309. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  310. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  311. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  312. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  313. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  314. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  315. package/dist/components/navigation/Tabs/styled.js +1 -1
  316. package/dist/components/navigation/Tabs/types.js +1 -1
  317. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  318. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  319. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  320. package/dist/components/other/Calendar/Calendar.js +1 -1
  321. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  322. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  323. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  324. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  325. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  326. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  327. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  328. package/dist/components/other/Calendar/styled.js +1 -1
  329. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  330. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  331. package/dist/components/overlays/AlertDialog/AlertDialog.d.ts +6 -1
  332. package/dist/components/overlays/AlertDialog/AlertDialog.js +3 -2
  333. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  334. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +3 -2
  335. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
  336. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  337. package/dist/components/overlays/Dialog/Dialog.js +28 -14
  338. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  339. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  340. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  341. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +7 -3
  342. package/dist/components/overlays/Dialog/DialogTrigger.js +149 -132
  343. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  344. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  345. package/dist/components/overlays/Dialog/context.js +1 -1
  346. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  347. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  348. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  349. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +83 -0
  350. package/dist/components/overlays/Dialog/use-dialog-open-sync.js.map +1 -0
  351. package/dist/components/overlays/Modal/Modal.js +1 -1
  352. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  353. package/dist/components/overlays/Modal/Overlay.js +3 -2
  354. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  355. package/dist/components/overlays/Modal/Popover.js +1 -1
  356. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  357. package/dist/components/overlays/Modal/Tray.js +1 -1
  358. package/dist/components/overlays/Modal/Underlay.js +1 -1
  359. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  360. package/dist/components/overlays/Notifications/Notification.js +1 -1
  361. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  362. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  363. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  364. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  365. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  366. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  367. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  368. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  369. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  370. package/dist/components/overlays/Notifications/index.js +1 -1
  371. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  372. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  373. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  374. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  375. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  376. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  377. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  378. package/dist/components/overlays/Toast/index.js +1 -1
  379. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  380. package/dist/components/overlays/Toast/useToast.js +1 -1
  381. package/dist/components/overlays/Tooltip/Tooltip.d.ts +8 -0
  382. package/dist/components/overlays/Tooltip/Tooltip.js +16 -22
  383. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  384. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  385. package/dist/components/overlays/Tooltip/TooltipTrigger.d.ts +1 -1
  386. package/dist/components/overlays/Tooltip/TooltipTrigger.js +163 -113
  387. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  388. package/dist/components/overlays/Tooltip/context.js +1 -1
  389. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  390. package/dist/components/overlays/Tooltip/split-trigger-props.js +6 -5
  391. package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -1
  392. package/dist/components/portal/Portal.js +1 -1
  393. package/dist/components/portal/PortalProvider.js +1 -1
  394. package/dist/components/portal/usePortal.js +1 -1
  395. package/dist/components/shared/DraggableCollection.js +1 -1
  396. package/dist/components/shared/InvalidIcon.js +1 -1
  397. package/dist/components/shared/ValidIcon.js +1 -1
  398. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  399. package/dist/components/status/Spin/Cube.js +1 -1
  400. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  401. package/dist/components/status/Spin/Spin.js +1 -1
  402. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  403. package/dist/data/item-themes.js +1 -1
  404. package/dist/data/themes.js +1 -1
  405. package/dist/eslint-plugin/defaults.generated.js +11 -17
  406. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  407. package/dist/eslint-plugin/index.js +1 -1
  408. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  409. package/dist/i18n/I18nProvider.js +1 -1
  410. package/dist/i18n/createFormatter.js +1 -1
  411. package/dist/i18n/index.js +1 -1
  412. package/dist/i18n/instance.js +1 -1
  413. package/dist/i18n/locales/de-DE/uikit.js +6 -4
  414. package/dist/i18n/locales/en-US/uikit.js +6 -4
  415. package/dist/i18n/locales/en-US/uikit.json.d.ts +3 -1
  416. package/dist/i18n/locales/es-ES/uikit.js +6 -4
  417. package/dist/i18n/locales/es-MX/uikit.js +6 -4
  418. package/dist/i18n/locales/fr-FR/uikit.js +6 -4
  419. package/dist/i18n/locales/it-IT/uikit.js +6 -4
  420. package/dist/i18n/locales/ja-JP/uikit.js +6 -4
  421. package/dist/i18n/locales/nb-NO/uikit.js +6 -4
  422. package/dist/i18n/locales/pt-BR/uikit.js +6 -4
  423. package/dist/i18n/locales/pt-PT/uikit.js +6 -4
  424. package/dist/i18n/locales/sv-SE/uikit.js +6 -4
  425. package/dist/i18n/locales/vi-VN/uikit.js +6 -4
  426. package/dist/i18n/locales.js +1 -1
  427. package/dist/i18n/namespace.js +1 -1
  428. package/dist/i18n/useFormatter.js +1 -1
  429. package/dist/i18n/useI18n.js +1 -1
  430. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  431. package/dist/icons/AdjustmentsIcon.js +1 -1
  432. package/dist/icons/AiIcon.js +1 -1
  433. package/dist/icons/AreaChartIcon.js +1 -1
  434. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  435. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  436. package/dist/icons/BackwardIcon.js +1 -1
  437. package/dist/icons/BarChartIcon.js +1 -1
  438. package/dist/icons/BellFilledIcon.js +1 -1
  439. package/dist/icons/BellIcon.js +1 -1
  440. package/dist/icons/BooleanIcon.js +1 -1
  441. package/dist/icons/CalendarEditIcon.js +1 -1
  442. package/dist/icons/CalendarIcon.js +1 -1
  443. package/dist/icons/CaretDownIcon.js +1 -1
  444. package/dist/icons/CaretUpIcon.js +1 -1
  445. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  446. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  447. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  448. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  449. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  450. package/dist/icons/ChartBarLineIcon.js +1 -1
  451. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  452. package/dist/icons/ChartBarStackedIcon.js +1 -1
  453. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  454. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  455. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  456. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  457. package/dist/icons/ChartBubbleIcon.js +1 -1
  458. package/dist/icons/ChartDonut2Icon.js +1 -1
  459. package/dist/icons/ChartFunnelIcon.js +1 -1
  460. package/dist/icons/ChartHeatmapIcon.js +1 -1
  461. package/dist/icons/ChartKPIIcon.js +1 -1
  462. package/dist/icons/ChartPie2Icon.js +1 -1
  463. package/dist/icons/ChartScatterIcon.js +1 -1
  464. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  465. package/dist/icons/CheckCircleIcon.js +1 -1
  466. package/dist/icons/CheckIcon.js +1 -1
  467. package/dist/icons/CircleFilledIcon.js +1 -1
  468. package/dist/icons/ClearIcon.js +1 -1
  469. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  470. package/dist/icons/CloseCircleIcon.js +1 -1
  471. package/dist/icons/CloseIcon.js +1 -1
  472. package/dist/icons/CodeIcon.js +1 -1
  473. package/dist/icons/ColumnTotalIcon.js +1 -1
  474. package/dist/icons/CopyIcon.js +1 -1
  475. package/dist/icons/CountIcon.js +1 -1
  476. package/dist/icons/CubeIcon.js +1 -1
  477. package/dist/icons/CubePauseIcon.js +1 -1
  478. package/dist/icons/CubePlayIcon.js +1 -1
  479. package/dist/icons/CurrencyDollarIcon.js +1 -1
  480. package/dist/icons/DangerIcon.js +1 -1
  481. package/dist/icons/DashboardIcon.js +1 -1
  482. package/dist/icons/DatabaseIcon.js +1 -1
  483. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  484. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  485. package/dist/icons/DirectionIcon.js +1 -1
  486. package/dist/icons/DonutIcon.js +1 -1
  487. package/dist/icons/DownIcon.js +1 -1
  488. package/dist/icons/EditIcon.js +1 -1
  489. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  490. package/dist/icons/ExclamationCircleIcon.js +1 -1
  491. package/dist/icons/ExclamationIcon.js +1 -1
  492. package/dist/icons/EyeIcon.js +1 -1
  493. package/dist/icons/EyeInvisibleIcon.js +1 -1
  494. package/dist/icons/FilterIcon.js +1 -1
  495. package/dist/icons/FolderFilledIcon.js +1 -1
  496. package/dist/icons/FolderIcon.js +1 -1
  497. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  498. package/dist/icons/FolderOpenIcon.js +1 -1
  499. package/dist/icons/ForwardIcon.js +1 -1
  500. package/dist/icons/GripVerticalIcon.js +1 -1
  501. package/dist/icons/HierarchyIcon.js +1 -1
  502. package/dist/icons/HierarchyOpenIcon.js +1 -1
  503. package/dist/icons/Icon.js +1 -1
  504. package/dist/icons/InfoCircleIcon.js +1 -1
  505. package/dist/icons/InfoIcon.js +1 -1
  506. package/dist/icons/KeyIcon.js +1 -1
  507. package/dist/icons/LeftIcon.js +1 -1
  508. package/dist/icons/LineChartIcon.js +1 -1
  509. package/dist/icons/LoadingIcon.js +1 -1
  510. package/dist/icons/LockFilledIcon.js +1 -1
  511. package/dist/icons/LockIcon.js +1 -1
  512. package/dist/icons/MoreIcon.js +1 -1
  513. package/dist/icons/NotAllowedIcon.js +1 -1
  514. package/dist/icons/Number123Icon.js +1 -1
  515. package/dist/icons/NumberIcon.js +1 -1
  516. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  517. package/dist/icons/PauseCircleIcon.js +1 -1
  518. package/dist/icons/PauseIcon.js +1 -1
  519. package/dist/icons/PercentageIcon.js +1 -1
  520. package/dist/icons/PieChartIcon.js +1 -1
  521. package/dist/icons/PipetteIcon.js +1 -1
  522. package/dist/icons/PlayCircleIcon.js +1 -1
  523. package/dist/icons/PlayIcon.js +1 -1
  524. package/dist/icons/PlusIcon.js +1 -1
  525. package/dist/icons/ProgressBarIcon.js +1 -1
  526. package/dist/icons/ReloadIcon.js +1 -1
  527. package/dist/icons/ReportIcon.js +1 -1
  528. package/dist/icons/ReturnIcon.js +1 -1
  529. package/dist/icons/RightIcon.js +1 -1
  530. package/dist/icons/RowTotalsIcon.js +1 -1
  531. package/dist/icons/SchemeIcon.js +1 -1
  532. package/dist/icons/SearchIcon.js +1 -1
  533. package/dist/icons/SemanticQueryIcon.js +1 -1
  534. package/dist/icons/SettingsIcon.js +1 -1
  535. package/dist/icons/ShieldFilledIcon.js +1 -1
  536. package/dist/icons/ShieldIcon.js +1 -1
  537. package/dist/icons/SlashIcon.js +1 -1
  538. package/dist/icons/SparklesIcon.js +1 -1
  539. package/dist/icons/SqlIcon.js +1 -1
  540. package/dist/icons/StatsIcon.js +1 -1
  541. package/dist/icons/StopIcon.js +1 -1
  542. package/dist/icons/StringIcon.js +1 -1
  543. package/dist/icons/SubtotalsIcon.js +1 -1
  544. package/dist/icons/SwitchIcon.js +1 -1
  545. package/dist/icons/TableIcon.js +1 -1
  546. package/dist/icons/ThumbsDownIcon.js +1 -1
  547. package/dist/icons/ThumbsUpIcon.js +1 -1
  548. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  549. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  550. package/dist/icons/ThunderboltIcon.js +1 -1
  551. package/dist/icons/TimeIcon.js +1 -1
  552. package/dist/icons/TrashIcon.js +1 -1
  553. package/dist/icons/UnlockIcon.js +1 -1
  554. package/dist/icons/UpIcon.js +1 -1
  555. package/dist/icons/UserGroupIcon.js +1 -1
  556. package/dist/icons/UserIcon.js +1 -1
  557. package/dist/icons/UserLockIcon.js +1 -1
  558. package/dist/icons/ViewIcon.js +1 -1
  559. package/dist/icons/WarningFilledIcon.js +1 -1
  560. package/dist/icons/WarningIcon.js +1 -1
  561. package/dist/icons/wrap-icon.js +1 -1
  562. package/dist/index.d.ts +1 -1
  563. package/dist/index.js +2 -2
  564. package/dist/probe/canonicalize.js +1 -1
  565. package/dist/probe/css.js +1 -1
  566. package/dist/probe/index.js +1 -1
  567. package/dist/provider.js +1 -1
  568. package/dist/providers/TrackingProvider.js +1 -1
  569. package/dist/providers/navigation-url.js +1 -1
  570. package/dist/providers/navigationAdapter.default.js +1 -1
  571. package/dist/providers/use-navigation.js +1 -1
  572. package/dist/tokens/all-tokens.js +1 -1
  573. package/dist/tokens/base.js +1 -1
  574. package/dist/tokens/color-seed.js +1 -1
  575. package/dist/tokens/color-theme.js +1 -1
  576. package/dist/tokens/colors.js +1 -1
  577. package/dist/tokens/layout.js +1 -1
  578. package/dist/tokens/lazy-styles.js +1 -1
  579. package/dist/tokens/legacy-color.js +1 -1
  580. package/dist/tokens/palette-config.js +1 -1
  581. package/dist/tokens/palette.js +1 -1
  582. package/dist/tokens/resolve.js +1 -1
  583. package/dist/tokens/shadows.js +1 -1
  584. package/dist/tokens/sizes.js +1 -1
  585. package/dist/tokens/spacing.js +1 -1
  586. package/dist/tokens/typography.js +1 -1
  587. package/dist/utils/ResizeSensor.js +1 -1
  588. package/dist/utils/colors.js +1 -1
  589. package/dist/utils/dotize.js +1 -1
  590. package/dist/utils/is-dev-env.js +1 -1
  591. package/dist/utils/modules.js +1 -1
  592. package/dist/utils/promise.js +1 -1
  593. package/dist/utils/raf.js +1 -1
  594. package/dist/utils/random.js +1 -1
  595. package/dist/utils/range.js +1 -1
  596. package/dist/utils/react/RenderCache.js +1 -1
  597. package/dist/utils/react/Slots.js +1 -1
  598. package/dist/utils/react/chain.js +1 -1
  599. package/dist/utils/react/disabledProps.js +1 -1
  600. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  601. package/dist/utils/react/index.js +1 -1
  602. package/dist/utils/react/interactions.js +1 -1
  603. package/dist/utils/react/isTextOnly.js +1 -1
  604. package/dist/utils/react/mapProps.js +1 -1
  605. package/dist/utils/react/mergeProps.js +1 -1
  606. package/dist/utils/react/nullableValue.js +18 -9
  607. package/dist/utils/react/nullableValue.js.map +1 -1
  608. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  609. package/dist/utils/react/programmaticFocus.js +1 -1
  610. package/dist/utils/react/resolveIcon.js +1 -1
  611. package/dist/utils/react/sharedStore.js +1 -1
  612. package/dist/utils/react/useBufferedValue.js +1 -1
  613. package/dist/utils/react/useCombinedRefs.js +1 -1
  614. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  615. package/dist/utils/react/useEventBus.js +1 -1
  616. package/dist/utils/react/useId.js +1 -1
  617. package/dist/utils/react/useIsDarwin.js +1 -1
  618. package/dist/utils/react/useKeySymbols.js +1 -1
  619. package/dist/utils/react/useLayoutEffect.js +1 -1
  620. package/dist/utils/react/useLocalStorage.js +1 -1
  621. package/dist/utils/react/useMergeStyles.js +1 -1
  622. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  623. package/dist/utils/react/usePopoverSync.js +1 -1
  624. package/dist/utils/react/useQaProps.js +1 -1
  625. package/dist/utils/react/useScheme.js +1 -1
  626. package/dist/utils/react/useViewportSize.js +1 -1
  627. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  628. package/dist/utils/selection.js +1 -1
  629. package/dist/utils/styles.js +1 -1
  630. package/dist/utils/tree.js +1 -1
  631. package/dist/utils/warnings.js +1 -1
  632. package/dist/version.js +2 -2
  633. package/docs/components/actions/Button.md +8 -2
  634. package/docs/components/content/InfoBadge.md +2 -0
  635. package/docs/components/content/ItemBadge.md +4 -0
  636. package/docs/components/content/Layout.md +2 -1
  637. package/docs/components/fields/ComboBox.md +25 -18
  638. package/docs/components/fields/FilterListBox.md +2 -2
  639. package/docs/components/fields/FilterPicker.md +2 -2
  640. package/docs/components/fields/ListBox.md +14 -10
  641. package/docs/components/fields/NumberInput.md +10 -10
  642. package/docs/components/fields/PasswordInput.md +6 -7
  643. package/docs/components/fields/Picker.md +6 -5
  644. package/docs/components/fields/RadioGroup.md +1 -1
  645. package/docs/components/fields/SearchInput.md +7 -6
  646. package/docs/components/fields/Select.md +14 -8
  647. package/docs/components/fields/TextArea.md +4 -3
  648. package/docs/components/fields/TextInput.md +13 -6
  649. package/docs/components/overlays/AlertDialog.md +7 -1
  650. package/docs/components/overlays/Dialog.md +5 -5
  651. package/docs/components/overlays/DialogTrigger.md +6 -6
  652. package/docs/components/overlays/Tooltip.md +17 -6
  653. package/docs/components/overlays/TooltipTrigger.md +2 -0
  654. package/package.json +1 -1
@@ -1,10 +1,9 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e3f8a1a | Cube Dev Team */
2
2
  import { extractStyles, mergeStyleLayers } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { _Text } from "../../content/Text.js";
5
5
  import { mergeRefs, useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
6
6
  import { usePopoverSync } from "../../../utils/react/usePopoverSync.js";
7
- import { useEvent } from "../../../_internal/hooks/use-event.js";
8
7
  import { useModalLayerRef } from "../../overlays/Modal/modal-containment.js";
9
8
  import { focusProgrammatically } from "../../../utils/react/programmaticFocus.js";
10
9
  import { useFocus as useFocus$1 } from "../../../utils/react/interactions.js";
@@ -26,10 +25,11 @@ import { getValidationMods } from "../../form/validation/resolve-validation-prop
26
25
  import { getValidationIcon } from "../../form/validation/ValidationIndicator.js";
27
26
  import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
28
27
  import { wrapWithField } from "../../form/wrapper.js";
28
+ import { useOptionOriginPress } from "../option-origin-press.js";
29
29
  import { TriggerActions } from "../TriggerActions.js";
30
30
  import { c } from "react/compiler-runtime";
31
31
  import { BASE_STYLES, COLOR_STYLES, OUTER_STYLES, tasty } from "@tenphi/tasty";
32
- import React, { forwardRef, useEffect, useMemo, useRef } from "react";
32
+ import React, { forwardRef, useEffect, useEffectEvent, useLayoutEffect, useMemo, useRef, useState } from "react";
33
33
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
34
34
  import { DismissButton, FocusScope, HiddenSelect, useButton, useHover, useListBox, useListBoxSection, useOption, useOverlay, useOverlayPosition, useSelect } from "react-aria";
35
35
  import { Section, useSelectState } from "react-stately";
@@ -71,6 +71,11 @@ const ListBoxElement = tasty({
71
71
  margin: "0",
72
72
  padding: "0",
73
73
  listStyle: "none",
74
+ overflow: {
75
+ "": "auto",
76
+ section: false
77
+ },
78
+ position: "relative",
74
79
  scrollbar: "styled",
75
80
  outline: 0
76
81
  }
@@ -85,7 +90,9 @@ const SelectOverlayWrapper = tasty({
85
90
  qa: "SelectOverlayWrapper",
86
91
  styles: {
87
92
  position: "absolute",
88
- zIndex: 1e3
93
+ zIndex: 1e3,
94
+ display: "flex",
95
+ flow: "column"
89
96
  }
90
97
  });
91
98
  const OverlayElement = tasty({
@@ -129,6 +136,21 @@ const PROP_STYLES = [
129
136
  ...OUTER_STYLES,
130
137
  ...COLOR_STYLES
131
138
  ];
139
+ const ignore = () => {};
140
+ /**
141
+ * A state whose value can't change. React Aria's trigger opens the list,
142
+ * steps with `ArrowLeft`/`ArrowRight` and typeaheads through these methods,
143
+ * so ignoring them fixes the value while the trigger stays focusable.
144
+ */
145
+ function lockSelectState(state) {
146
+ return {
147
+ ...state,
148
+ open: ignore,
149
+ toggle: ignore,
150
+ setSelectedKey: ignore,
151
+ setValue: ignore
152
+ };
153
+ }
132
154
  function Select(rawProps, ref) {
133
155
  let props = useFieldProps(rawProps, {
134
156
  defaultValidationTrigger: "onChange",
@@ -137,16 +159,20 @@ function Select(rawProps, ref) {
137
159
  onSelectionChange: onChange
138
160
  })
139
161
  });
140
- let { qa, label, extra, icon, rightIcon, labelStyles, isRequired, necessityIndicator, isInvalid, isValid, prefix, isDisabled = props.isLoading || false, autoFocus, inputProps, triggerRef, popoverRef, listBoxRef, isLoading, loadingIndicator, overlayOffset = 8, inputStyles, triggerStyles, optionStyles, listBoxStyles, listGap, overlayStyles, suffix, actions, message, triggerDescription, descriptionPlacement, hotkeys, direction = "bottom", targetRef, placement: placementProp, shouldFlip = true, containerPadding = 8, placeholder, tooltip, size = "medium", shape, styles, type = "outline", theme = "default", labelSuffix, suffixPosition = "before", isClearable, clearLabel, onOpenChange, form, ...otherProps } = props;
162
+ let { qa, label, extra, icon, rightIcon, labelStyles, isRequired, necessityIndicator, isInvalid, isValid, prefix, isDisabled = props.isLoading || false, autoFocus, inputProps, triggerRef: triggerRefProp, popoverRef, listBoxRef, isLoading, loadingIndicator, overlayOffset = 8, inputStyles, triggerStyles, optionStyles, listBoxStyles, listGap, overlayStyles, suffix, actions, message, triggerDescription, descriptionPlacement, hotkeys, direction = "bottom", targetRef, placement: placementProp, shouldFlip = true, containerPadding = 8, placeholder, tooltip, size = "medium", shape, styles, type = "outline", theme = "default", labelSuffix, suffixPosition = "before", isClearable, clearLabel, onOpenChange, form, ...otherProps } = props;
141
163
  const { t } = useI18n();
142
164
  let state = getValueSelectionState(useSelectState(props));
165
+ const isLocked = !!props.isReadOnly || !!isLoading;
166
+ if (isLocked) state = lockSelectState(state);
143
167
  const selectId = useMemo(() => generateRandomId(), []);
168
+ const isInert = isLocked || isDisabled;
169
+ const closeList = useEffectEvent(() => state.close());
144
170
  useEffect(() => {
145
- onOpenChange?.(state.isOpen);
146
- }, [state.isOpen]);
171
+ if (isInert && state.isOpen) closeList();
172
+ }, [isInert, state.isOpen]);
147
173
  styles = extractStyles(otherProps, PROP_STYLES, styles);
148
174
  ref = useCombinedRefs(ref);
149
- triggerRef = useCombinedRefs(triggerRef);
175
+ const triggerRef = useCombinedRefs(triggerRefProp);
150
176
  popoverRef = useCombinedRefs(popoverRef);
151
177
  listBoxRef = useCombinedRefs(listBoxRef);
152
178
  usePopoverSync({
@@ -184,21 +210,27 @@ function Select(rawProps, ref) {
184
210
  });
185
211
  let { isFocused, focusProps } = useFocus$1(true);
186
212
  let { hoverProps, isHovered } = useHover({ isDisabled });
187
- let { buttonProps } = useButton(triggerProps, triggerRef);
213
+ let { buttonProps } = useButton({
214
+ ...triggerProps,
215
+ autoFocus
216
+ }, triggerRef);
188
217
  let validationIcon = getValidationIcon({
189
218
  isInvalid,
190
219
  isValid
191
220
  });
192
221
  let hasSelection = state.selectedItem != null;
193
- let showClearButton = isClearable && hasSelection && !isDisabled && !props.isReadOnly;
194
- let clearValue = useEvent(() => {
195
- props.onSelectionChange?.(null);
222
+ let showClearButton = isClearable && hasSelection && !isInert;
223
+ function clearValue() {
196
224
  state.setSelectedKey(null);
197
225
  if (state.isOpen) state.close();
198
- triggerRef.current?.focus?.();
226
+ focusProgrammatically(triggerRef.current);
199
227
  props.onClear?.();
200
- });
201
- let triggerWidth = triggerRef?.current?.offsetWidth;
228
+ }
229
+ const [triggerWidth, setTriggerWidth] = useState();
230
+ useLayoutEffect(() => {
231
+ if (state.isOpen) setTriggerWidth(triggerRef.current?.offsetWidth);
232
+ }, [state.isOpen, triggerRef]);
233
+ const loadingIcon = loadingIndicator ?? /* @__PURE__ */ jsx(LoadingIcon, {});
202
234
  const showPlaceholder = !!placeholder?.trim() && !state.selectedItem;
203
235
  const modifiers = useMemo(() => ({
204
236
  ...getValidationMods({
@@ -227,7 +259,7 @@ function Select(rawProps, ref) {
227
259
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [suffix, validationIcon] });
228
260
  }, [suffix, validationIcon]);
229
261
  const hasCustomRightIcon = rightIcon !== void 0;
230
- const triggerRightIcon = hasCustomRightIcon ? isLoading ? /* @__PURE__ */ jsx(LoadingIcon, {}) : rightIcon : void 0;
262
+ const triggerRightIcon = hasCustomRightIcon ? isLoading ? loadingIcon : rightIcon : void 0;
231
263
  const hasTriggerActions = !hasCustomRightIcon || !!actions;
232
264
  const triggerActions = /* @__PURE__ */ jsx(TriggerActions, {
233
265
  actions,
@@ -238,7 +270,7 @@ function Select(rawProps, ref) {
238
270
  "aria-label": clearLabel ?? t("select.clearValue", "Clear value"),
239
271
  mods: { pressed: false },
240
272
  onPress: clearValue
241
- }) : isLoading ? /* @__PURE__ */ jsx(ItemActionIcon, { children: /* @__PURE__ */ jsx(LoadingIcon, {}) }) : /* @__PURE__ */ jsx(ItemActionIcon, { children: /* @__PURE__ */ jsx(DirectionIcon, { to: state.isOpen ? "up" : "down" }) })
273
+ }) : isLoading ? /* @__PURE__ */ jsx(ItemActionIcon, { children: loadingIcon }) : /* @__PURE__ */ jsx(ItemActionIcon, { children: /* @__PURE__ */ jsx(DirectionIcon, { to: state.isOpen ? "up" : "down" }) })
242
274
  });
243
275
  return wrapWithField(/* @__PURE__ */ jsxs(SelectWrapperElement, {
244
276
  mods: modifiers,
@@ -266,7 +298,7 @@ function Select(rawProps, ref) {
266
298
  as: "button",
267
299
  qa: qa || "Select",
268
300
  "data-input-type": "select",
269
- ...mergeProps$1(buttonProps, hoverProps, focusProps),
301
+ ...mergeProps$1(buttonProps, hoverProps, focusProps, inputProps),
270
302
  ref: triggerRef,
271
303
  "data-popover-trigger": true,
272
304
  showActions,
@@ -302,6 +334,7 @@ function Select(rawProps, ref) {
302
334
  overlayStyles,
303
335
  optionStyles,
304
336
  minWidth: triggerWidth,
337
+ size,
305
338
  triggerRef,
306
339
  isDisabled
307
340
  })
@@ -312,7 +345,7 @@ function Select(rawProps, ref) {
312
345
  }, { labelProps }));
313
346
  }
314
347
  function ListBoxPopup(t0) {
315
- const $ = c(52);
348
+ const $ = c(46);
316
349
  let isDisabled;
317
350
  let listBoxRef;
318
351
  let listBoxStyles;
@@ -365,37 +398,15 @@ function ListBoxPopup(t0) {
365
398
  }
366
399
  const shouldUseVirtualFocus = t1 === void 0 ? false : t1;
367
400
  const size = t2 === void 0 ? "small" : t2;
368
- const listItemSize = size === "small" ? "medium" : size;
369
401
  let t3;
370
- if ($[16] !== listGap) {
371
- t3 = listGap == null ? void 0 : { "$list-gap": `${listGap}px` };
372
- $[16] = listGap;
402
+ if ($[16] !== state) {
403
+ t3 = () => state.close();
404
+ $[16] = state;
373
405
  $[17] = t3;
374
406
  } else t3 = $[17];
375
- const listGapTokens = t3;
376
- const t4 = state.focusStrategy || true;
377
- let t5;
378
- if ($[18] !== otherProps || $[19] !== shouldUseVirtualFocus || $[20] !== t4) {
379
- t5 = {
380
- autoFocus: t4,
381
- shouldUseVirtualFocus,
382
- ...otherProps
383
- };
384
- $[18] = otherProps;
385
- $[19] = shouldUseVirtualFocus;
386
- $[20] = t4;
387
- $[21] = t5;
388
- } else t5 = $[21];
389
- const { listBoxProps } = useListBox(t5, state, listBoxRef);
390
- let t6;
391
- if ($[22] !== state) {
392
- t6 = () => state.close();
393
- $[22] = state;
394
- $[23] = t6;
395
- } else t6 = $[23];
396
- let t7;
397
- if ($[24] !== state || $[25] !== triggerRef) {
398
- t7 = (el) => {
407
+ let t4;
408
+ if ($[18] !== state || $[19] !== triggerRef) {
409
+ t4 = (el) => {
399
410
  if (isOwnActionsPress(el, triggerRef?.current)) return false;
400
411
  const menuTriggerEl = el.closest("[data-popover-trigger]");
401
412
  if (!menuTriggerEl) {
@@ -409,39 +420,39 @@ function ListBoxPopup(t0) {
409
420
  if (menuTriggerEl === triggerRef?.current) return true;
410
421
  return false;
411
422
  };
412
- $[24] = state;
413
- $[25] = triggerRef;
414
- $[26] = t7;
415
- } else t7 = $[26];
416
- let t8;
417
- if ($[27] !== state.isOpen || $[28] !== t6 || $[29] !== t7) {
418
- t8 = {
419
- onClose: t6,
423
+ $[18] = state;
424
+ $[19] = triggerRef;
425
+ $[20] = t4;
426
+ } else t4 = $[20];
427
+ let t5;
428
+ if ($[21] !== state.isOpen || $[22] !== t3 || $[23] !== t4) {
429
+ t5 = {
430
+ onClose: t3,
420
431
  shouldCloseOnBlur: true,
421
432
  isOpen: state.isOpen,
422
433
  isDismissable: true,
423
- shouldCloseOnInteractOutside: t7
434
+ shouldCloseOnInteractOutside: t4
424
435
  };
425
- $[27] = state.isOpen;
426
- $[28] = t6;
427
- $[29] = t7;
428
- $[30] = t8;
429
- } else t8 = $[30];
430
- const { overlayProps: rawOverlayProps } = useOverlay(t8, popoverRef);
436
+ $[21] = state.isOpen;
437
+ $[22] = t3;
438
+ $[23] = t4;
439
+ $[24] = t5;
440
+ } else t5 = $[24];
441
+ const { overlayProps: rawOverlayProps } = useOverlay(t5, popoverRef);
431
442
  const overlayProps = useOverlayEscapeGuard(rawOverlayProps, state.isOpen);
432
443
  const layerRef = useModalLayerRef();
433
- let t9;
434
- if ($[31] !== placement) {
435
- t9 = placement?.split(" ")[0] || "bottom";
436
- $[31] = placement;
437
- $[32] = t9;
438
- } else t9 = $[32];
439
- const placementDirection = t9;
440
- const t10 = state.isOpen && !isDisabled;
441
- let t11;
442
- if ($[33] !== layerRef || $[34] !== listBoxProps || $[35] !== listBoxRef || $[36] !== listBoxStyles || $[37] !== listGapTokens || $[38] !== listItemSize || $[39] !== minWidth || $[40] !== optionStyles || $[41] !== overlayProps || $[42] !== overlayStyles || $[43] !== parentOverlayProps || $[44] !== placementDirection || $[45] !== popoverRef || $[46] !== shouldUseVirtualFocus || $[47] !== state) {
443
- t11 = (t12) => {
444
- const { phase, isShown, isExiting, ref: transitionRef } = t12;
444
+ let t6;
445
+ if ($[25] !== placement) {
446
+ t6 = placement?.split(" ")[0] || "bottom";
447
+ $[25] = placement;
448
+ $[26] = t6;
449
+ } else t6 = $[26];
450
+ const placementDirection = t6;
451
+ const t7 = state.isOpen && !isDisabled;
452
+ let t8;
453
+ if ($[27] !== layerRef || $[28] !== listBoxRef || $[29] !== listBoxStyles || $[30] !== listGap || $[31] !== minWidth || $[32] !== optionStyles || $[33] !== otherProps || $[34] !== overlayProps || $[35] !== overlayStyles || $[36] !== parentOverlayProps || $[37] !== placementDirection || $[38] !== popoverRef || $[39] !== shouldUseVirtualFocus || $[40] !== size || $[41] !== state) {
454
+ t8 = (t9) => {
455
+ const { phase, isShown, isExiting, ref: transitionRef } = t9;
445
456
  return /* @__PURE__ */ jsx(SelectOverlayWrapper, {
446
457
  ...overlayProps,
447
458
  ...parentOverlayProps,
@@ -460,77 +471,240 @@ function ListBoxPopup(t0) {
460
471
  restoreFocus: true,
461
472
  children: [
462
473
  /* @__PURE__ */ jsx(DismissButton, { onDismiss: () => state.close() }),
463
- (() => {
464
- const renderedItems = [];
465
- let hasSections = false;
466
- for (const item of state.collection) if (item.type === "section") {
467
- if (hasSections) renderedItems.push(/* @__PURE__ */ jsx(StyledDivider, {
468
- as: "li",
469
- role: "separator",
470
- "aria-orientation": "horizontal"
471
- }, `divider-${String(item.key)}`));
472
- renderedItems.push(/* @__PURE__ */ jsx(SelectSection, {
473
- item,
474
- state,
475
- optionStyles,
476
- sectionStyles: void 0,
477
- shouldUseVirtualFocus,
478
- size: listItemSize
479
- }, item.key));
480
- hasSections = true;
481
- } else renderedItems.push(/* @__PURE__ */ jsx(Option, {
482
- item,
483
- state,
484
- styles: optionStyles,
485
- shouldUseVirtualFocus,
486
- size: listItemSize
487
- }, item.key));
488
- return /* @__PURE__ */ jsx(ListBoxElement, {
489
- styles: listBoxStyles,
490
- tokens: listGapTokens,
491
- mods: { sections: hasSections },
492
- ...listBoxProps,
493
- ref: listBoxRef,
494
- children: renderedItems
495
- });
496
- })(),
474
+ /* @__PURE__ */ jsx(SelectListBox, {
475
+ ...otherProps,
476
+ state,
477
+ listBoxRef,
478
+ listBoxStyles,
479
+ listGap,
480
+ optionStyles,
481
+ shouldUseVirtualFocus,
482
+ size
483
+ }),
497
484
  /* @__PURE__ */ jsx(DismissButton, { onDismiss: () => state.close() })
498
485
  ]
499
486
  })
500
487
  })
501
488
  });
502
489
  };
503
- $[33] = layerRef;
504
- $[34] = listBoxProps;
505
- $[35] = listBoxRef;
506
- $[36] = listBoxStyles;
507
- $[37] = listGapTokens;
508
- $[38] = listItemSize;
509
- $[39] = minWidth;
510
- $[40] = optionStyles;
511
- $[41] = overlayProps;
512
- $[42] = overlayStyles;
513
- $[43] = parentOverlayProps;
514
- $[44] = placementDirection;
515
- $[45] = popoverRef;
516
- $[46] = shouldUseVirtualFocus;
517
- $[47] = state;
518
- $[48] = t11;
519
- } else t11 = $[48];
520
- let t12;
521
- if ($[49] !== t10 || $[50] !== t11) {
522
- t12 = /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(DisplayTransition, {
523
- isShown: t10,
524
- children: t11
490
+ $[27] = layerRef;
491
+ $[28] = listBoxRef;
492
+ $[29] = listBoxStyles;
493
+ $[30] = listGap;
494
+ $[31] = minWidth;
495
+ $[32] = optionStyles;
496
+ $[33] = otherProps;
497
+ $[34] = overlayProps;
498
+ $[35] = overlayStyles;
499
+ $[36] = parentOverlayProps;
500
+ $[37] = placementDirection;
501
+ $[38] = popoverRef;
502
+ $[39] = shouldUseVirtualFocus;
503
+ $[40] = size;
504
+ $[41] = state;
505
+ $[42] = t8;
506
+ } else t8 = $[42];
507
+ let t9;
508
+ if ($[43] !== t7 || $[44] !== t8) {
509
+ t9 = /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(DisplayTransition, {
510
+ isShown: t7,
511
+ children: t8
525
512
  }) });
526
- $[49] = t10;
527
- $[50] = t11;
528
- $[51] = t12;
529
- } else t12 = $[51];
530
- return t12;
513
+ $[43] = t7;
514
+ $[44] = t8;
515
+ $[45] = t9;
516
+ } else t9 = $[45];
517
+ return t9;
518
+ }
519
+ /** The first or last option that can take focus. */
520
+ function getEdgeOptionKey(state, edge) {
521
+ const keys = [...state.collection.getKeys()];
522
+ if (edge === "last") keys.reverse();
523
+ return keys.find((key) => state.collection.getItem(key)?.type === "item" && state.selectionManager.canSelectItem(key)) ?? null;
524
+ }
525
+ /**
526
+ * Where focus lands as the list opens. `ArrowUp` opens on the last option;
527
+ * `ArrowDown`, `Enter` and `Space` on the selected option, or else the first.
528
+ * A pointer opens on the selected option, or else on the list itself, as in
529
+ * React Aria, so a click highlights nothing the user didn't pick.
530
+ */
531
+ function getOpeningFocusKey(state) {
532
+ const { focusStrategy, selectedKey, selectionManager } = state;
533
+ if (focusStrategy === "last") return getEdgeOptionKey(state, "last");
534
+ if (selectedKey != null && selectionManager.canSelectItem(selectedKey)) return selectedKey;
535
+ return focusStrategy === "first" ? getEdgeOptionKey(state, "first") : null;
536
+ }
537
+ /**
538
+ * Scrolls `list` so `option` is in view. Layout offsets rather than client
539
+ * rects: on its first frames the popup is scaled by its enter transition,
540
+ * which would skew a rect-based scroll. The list is positioned, so the offset
541
+ * chain ends at it.
542
+ */
543
+ function scrollIntoList(list, option) {
544
+ let top = 0;
545
+ for (let node = option; node && node !== list; node = node.offsetParent) top += node.offsetTop;
546
+ const bottom = top + option.offsetHeight;
547
+ if (top < list.scrollTop) list.scrollTop = top;
548
+ else if (bottom > list.scrollTop + list.clientHeight) list.scrollTop = bottom - list.clientHeight;
549
+ }
550
+ function focusOpeningOption(state, list, shouldUseVirtualFocus) {
551
+ const key = getOpeningFocusKey(state);
552
+ const manager = state.selectionManager;
553
+ manager.setFocused(true);
554
+ manager.setFocusedKey(key);
555
+ if (!list || shouldUseVirtualFocus) return;
556
+ const option = key == null ? void 0 : Array.from(list.querySelectorAll("[role=\"option\"]")).find((element) => element.dataset.key === String(key));
557
+ if (!option) {
558
+ list.focus({ preventScroll: true });
559
+ return;
560
+ }
561
+ scrollIntoList(list, option);
562
+ option.focus({ preventScroll: true });
563
+ }
564
+ /**
565
+ * The list inside the popup. It decides where focus lands when it mounts,
566
+ * rather than inheriting the last opening. The popup unmounts it once it has
567
+ * closed, so that is every opening except a reopen during the exit
568
+ * transition, which keeps the list mounted.
569
+ */
570
+ function SelectListBox(t0) {
571
+ const $ = c(36);
572
+ let listBoxRef;
573
+ let listBoxStyles;
574
+ let listGap;
575
+ let optionStyles;
576
+ let otherProps;
577
+ let shouldUseVirtualFocus;
578
+ let size;
579
+ let state;
580
+ if ($[0] !== t0) {
581
+ ({state, listBoxRef, listBoxStyles, listGap, optionStyles, shouldUseVirtualFocus, size, ...otherProps} = t0);
582
+ $[0] = t0;
583
+ $[1] = listBoxRef;
584
+ $[2] = listBoxStyles;
585
+ $[3] = listGap;
586
+ $[4] = optionStyles;
587
+ $[5] = otherProps;
588
+ $[6] = shouldUseVirtualFocus;
589
+ $[7] = size;
590
+ $[8] = state;
591
+ } else {
592
+ listBoxRef = $[1];
593
+ listBoxStyles = $[2];
594
+ listGap = $[3];
595
+ optionStyles = $[4];
596
+ otherProps = $[5];
597
+ shouldUseVirtualFocus = $[6];
598
+ size = $[7];
599
+ state = $[8];
600
+ }
601
+ const listItemSize = size === "small" ? "medium" : size;
602
+ let t1;
603
+ if ($[9] !== listGap) {
604
+ t1 = listGap == null ? void 0 : { "$list-gap": `${listGap}px` };
605
+ $[9] = listGap;
606
+ $[10] = t1;
607
+ } else t1 = $[10];
608
+ const listGapTokens = t1;
609
+ let t2;
610
+ if ($[11] !== otherProps || $[12] !== shouldUseVirtualFocus) {
611
+ t2 = {
612
+ ...otherProps,
613
+ shouldUseVirtualFocus,
614
+ autoFocus: false
615
+ };
616
+ $[11] = otherProps;
617
+ $[12] = shouldUseVirtualFocus;
618
+ $[13] = t2;
619
+ } else t2 = $[13];
620
+ const { listBoxProps } = useListBox(t2, state, listBoxRef);
621
+ let t3;
622
+ if ($[14] !== listBoxRef || $[15] !== shouldUseVirtualFocus || $[16] !== state) {
623
+ t3 = () => focusOpeningOption(state, listBoxRef.current, shouldUseVirtualFocus);
624
+ $[14] = listBoxRef;
625
+ $[15] = shouldUseVirtualFocus;
626
+ $[16] = state;
627
+ $[17] = t3;
628
+ } else t3 = $[17];
629
+ const focusOnOpen = useEffectEvent(t3);
630
+ let t4;
631
+ if ($[18] !== focusOnOpen) {
632
+ t4 = () => {
633
+ focusOnOpen();
634
+ };
635
+ $[18] = focusOnOpen;
636
+ $[19] = t4;
637
+ } else t4 = $[19];
638
+ let t5;
639
+ if ($[20] === Symbol.for("react.memo_cache_sentinel")) {
640
+ t5 = [];
641
+ $[20] = t5;
642
+ } else t5 = $[20];
643
+ useEffect(t4, t5);
644
+ let hasSections;
645
+ let renderedItems;
646
+ if ($[21] !== listItemSize || $[22] !== optionStyles || $[23] !== shouldUseVirtualFocus || $[24] !== state) {
647
+ renderedItems = [];
648
+ hasSections = false;
649
+ for (const item of state.collection) if (item.type === "section") {
650
+ if (hasSections) renderedItems.push(/* @__PURE__ */ jsx(StyledDivider, {
651
+ as: "li",
652
+ role: "presentation"
653
+ }, `divider-${String(item.key)}`));
654
+ renderedItems.push(/* @__PURE__ */ jsx(SelectSection, {
655
+ item,
656
+ state,
657
+ optionStyles,
658
+ sectionStyles: void 0,
659
+ shouldUseVirtualFocus,
660
+ size: listItemSize
661
+ }, item.key));
662
+ hasSections = true;
663
+ } else renderedItems.push(/* @__PURE__ */ jsx(Option, {
664
+ item,
665
+ state,
666
+ styles: optionStyles,
667
+ shouldUseVirtualFocus,
668
+ size: listItemSize
669
+ }, item.key));
670
+ $[21] = listItemSize;
671
+ $[22] = optionStyles;
672
+ $[23] = shouldUseVirtualFocus;
673
+ $[24] = state;
674
+ $[25] = hasSections;
675
+ $[26] = renderedItems;
676
+ } else {
677
+ hasSections = $[25];
678
+ renderedItems = $[26];
679
+ }
680
+ let t6;
681
+ if ($[27] !== hasSections) {
682
+ t6 = { sections: hasSections };
683
+ $[27] = hasSections;
684
+ $[28] = t6;
685
+ } else t6 = $[28];
686
+ let t7;
687
+ if ($[29] !== listBoxProps || $[30] !== listBoxRef || $[31] !== listBoxStyles || $[32] !== listGapTokens || $[33] !== renderedItems || $[34] !== t6) {
688
+ t7 = /* @__PURE__ */ jsx(ListBoxElement, {
689
+ styles: listBoxStyles,
690
+ tokens: listGapTokens,
691
+ mods: t6,
692
+ ...listBoxProps,
693
+ ref: listBoxRef,
694
+ children: renderedItems
695
+ });
696
+ $[29] = listBoxProps;
697
+ $[30] = listBoxRef;
698
+ $[31] = listBoxStyles;
699
+ $[32] = listGapTokens;
700
+ $[33] = renderedItems;
701
+ $[34] = t6;
702
+ $[35] = t7;
703
+ } else t7 = $[35];
704
+ return t7;
531
705
  }
532
706
  function Option(t0) {
533
- const $ = c(43);
707
+ const $ = c(29);
534
708
  const { item, state, styles, shouldUseVirtualFocus, size } = t0;
535
709
  const ref = useRef(null);
536
710
  let t1;
@@ -567,87 +741,71 @@ function Option(t0) {
567
741
  $[10] = t3;
568
742
  } else t3 = $[10];
569
743
  const { optionProps, isPressed, labelProps, descriptionProps } = useOption(t3, state, ref);
570
- const { isFocused, focusProps } = useFocus$1();
571
- let T0;
572
744
  let t4;
573
- let t5;
574
- let t6;
745
+ if ($[11] !== isDisabled || $[12] !== item.key || $[13] !== state.selectionManager) {
746
+ t4 = {
747
+ key: item.key,
748
+ ref,
749
+ manager: state.selectionManager,
750
+ isDisabled
751
+ };
752
+ $[11] = isDisabled;
753
+ $[12] = item.key;
754
+ $[13] = state.selectionManager;
755
+ $[14] = t4;
756
+ } else t4 = $[14];
757
+ const originPress = useOptionOriginPress(t4);
758
+ const { onPointerUp, ...ariaOptionProps } = filterSelectionItemProps(optionProps);
759
+ const { isFocused, focusProps } = useFocus$1();
760
+ const filteredItemProps = filterSelectionItemProps(filterCollectionItemProps(item.props));
761
+ const keyboardProps = { onKeyDown(event) {
762
+ if (event.key === "Enter" && !event.ctrlKey && event.target === event.currentTarget) event.preventDefault();
763
+ } };
764
+ const T0 = OptionItem;
765
+ const t5 = mergeProps$1(ariaOptionProps, {
766
+ onPointerDown: originPress.onPointerDown,
767
+ onPointerUp: originPress.wrapPointerUp(onPointerUp)
768
+ }, focusProps, filteredItemProps, keyboardProps);
769
+ const t6 = shouldUseVirtualFocus ? isVirtualFocused : isFocused;
575
770
  let t7;
576
- let t8;
577
- if ($[11] !== focusProps || $[12] !== isDisabled || $[13] !== isFocused || $[14] !== isPressed || $[15] !== isSelected || $[16] !== isVirtualFocused || $[17] !== item.props || $[18] !== optionProps || $[19] !== shouldUseVirtualFocus || $[20] !== size || $[21] !== styles) {
578
- const filteredItemProps = filterSelectionItemProps(filterCollectionItemProps(item.props));
579
- const keyboardProps = { onKeyDown(event) {
580
- if (event.key === "Enter" && !event.ctrlKey && event.target === event.currentTarget) event.preventDefault();
581
- } };
582
- T0 = OptionItem;
583
- t4 = mergeProps$1(filterSelectionItemProps(optionProps), focusProps, filteredItemProps, keyboardProps);
584
- t5 = ref;
585
- const t9 = shouldUseVirtualFocus ? isVirtualFocused : isFocused;
586
- if ($[28] !== isDisabled || $[29] !== isPressed || $[30] !== isSelected || $[31] !== t9) {
587
- t6 = {
588
- listboxitem: true,
589
- selected: isSelected,
590
- focused: t9,
591
- disabled: isDisabled,
592
- pressed: isPressed
593
- };
594
- $[28] = isDisabled;
595
- $[29] = isPressed;
596
- $[30] = isSelected;
597
- $[31] = t9;
598
- $[32] = t6;
599
- } else t6 = $[32];
600
- t7 = size;
601
- t8 = mergeStyleLayers(styles, filteredItemProps.styles);
602
- $[11] = focusProps;
603
- $[12] = isDisabled;
604
- $[13] = isFocused;
605
- $[14] = isPressed;
606
- $[15] = isSelected;
607
- $[16] = isVirtualFocused;
608
- $[17] = item.props;
609
- $[18] = optionProps;
610
- $[19] = shouldUseVirtualFocus;
611
- $[20] = size;
612
- $[21] = styles;
613
- $[22] = T0;
614
- $[23] = t4;
615
- $[24] = t5;
616
- $[25] = t6;
617
- $[26] = t7;
618
- $[27] = t8;
619
- } else {
620
- T0 = $[22];
621
- t4 = $[23];
622
- t5 = $[24];
623
- t6 = $[25];
624
- t7 = $[26];
625
- t8 = $[27];
626
- }
771
+ if ($[15] !== isDisabled || $[16] !== isPressed || $[17] !== isSelected || $[18] !== t6) {
772
+ t7 = {
773
+ listboxitem: true,
774
+ selected: isSelected,
775
+ focused: t6,
776
+ disabled: isDisabled,
777
+ pressed: isPressed
778
+ };
779
+ $[15] = isDisabled;
780
+ $[16] = isPressed;
781
+ $[17] = isSelected;
782
+ $[18] = t6;
783
+ $[19] = t7;
784
+ } else t7 = $[19];
785
+ const t8 = mergeStyleLayers(styles, filteredItemProps.styles);
627
786
  let t9;
628
- if ($[33] !== T0 || $[34] !== descriptionProps || $[35] !== item.rendered || $[36] !== labelProps || $[37] !== t4 || $[38] !== t5 || $[39] !== t6 || $[40] !== t7 || $[41] !== t8) {
787
+ if ($[20] !== T0 || $[21] !== descriptionProps || $[22] !== item.rendered || $[23] !== labelProps || $[24] !== size || $[25] !== t5 || $[26] !== t7 || $[27] !== t8) {
629
788
  t9 = /* @__PURE__ */ jsx(T0, {
630
- ...t4,
631
- ref: t5,
632
- mods: t6,
633
- "data-size": t7,
789
+ ...t5,
790
+ ref,
791
+ mods: t7,
792
+ "data-size": size,
634
793
  styles: t8,
635
794
  labelProps,
636
795
  descriptionProps,
637
796
  defaultTooltipPlacement: "right",
638
797
  children: item.rendered
639
798
  });
640
- $[33] = T0;
641
- $[34] = descriptionProps;
642
- $[35] = item.rendered;
643
- $[36] = labelProps;
644
- $[37] = t4;
645
- $[38] = t5;
646
- $[39] = t6;
647
- $[40] = t7;
648
- $[41] = t8;
649
- $[42] = t9;
650
- } else t9 = $[42];
799
+ $[20] = T0;
800
+ $[21] = descriptionProps;
801
+ $[22] = item.rendered;
802
+ $[23] = labelProps;
803
+ $[24] = size;
804
+ $[25] = t5;
805
+ $[26] = t7;
806
+ $[27] = t8;
807
+ $[28] = t9;
808
+ } else t9 = $[28];
651
809
  return t9;
652
810
  }
653
811
  function SelectSection(props) {