@cube-dev/ui-kit 0.190.7 → 0.190.8

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 (720) hide show
  1. package/dist/CHANGELOG.md +8 -0
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.d.ts +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +1 -1
  14. package/dist/components/GridProvider.js +1 -1
  15. package/dist/components/HiddenInput.js +1 -1
  16. package/dist/components/Root.js +1 -1
  17. package/dist/components/actions/Action/Action.d.ts +2 -2
  18. package/dist/components/actions/Action/Action.js +1 -1
  19. package/dist/components/actions/Action/Action.js.map +1 -1
  20. package/dist/components/actions/Banner/Banner.js +1 -1
  21. package/dist/components/actions/Button/Button.d.ts +2 -2
  22. package/dist/components/actions/Button/Button.js +1 -1
  23. package/dist/components/actions/Button/Button.js.map +1 -1
  24. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  25. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  26. package/dist/components/actions/ButtonSplit/context.js +1 -1
  27. package/dist/components/actions/CommandMenu/CommandMenu.d.ts +18 -5
  28. package/dist/components/actions/CommandMenu/CommandMenu.js +207 -197
  29. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  30. package/dist/components/actions/CommandMenu/styled.js +1 -1
  31. package/dist/components/actions/ItemAction/ItemAction.d.ts +2 -1
  32. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  33. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  34. package/dist/components/actions/ItemActionContext.js +1 -1
  35. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  36. package/dist/components/actions/ItemButton/ItemButton.d.ts +3 -3
  37. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  38. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  39. package/dist/components/actions/Link/Link.d.ts +1 -1
  40. package/dist/components/actions/Link/Link.js +1 -1
  41. package/dist/components/actions/Menu/Menu.d.ts +20 -5
  42. package/dist/components/actions/Menu/Menu.js +51 -41
  43. package/dist/components/actions/Menu/Menu.js.map +1 -1
  44. package/dist/components/actions/Menu/MenuItem.js +1 -1
  45. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  46. package/dist/components/actions/Menu/MenuSection.js +2 -3
  47. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  48. package/dist/components/actions/Menu/MenuTrigger.d.ts +42 -3
  49. package/dist/components/actions/Menu/MenuTrigger.js +22 -22
  50. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  51. package/dist/components/actions/Menu/SubMenuTrigger.js +4 -4
  52. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  53. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  54. package/dist/components/actions/Menu/context.d.ts +2 -2
  55. package/dist/components/actions/Menu/context.js +1 -1
  56. package/dist/components/actions/Menu/context.js.map +1 -1
  57. package/dist/components/actions/Menu/styled.js +1 -1
  58. package/dist/components/actions/Menu/styled.js.map +1 -1
  59. package/dist/components/actions/actions-run.js +1 -1
  60. package/dist/components/actions/index.d.ts +1 -1
  61. package/dist/components/actions/index.js +1 -1
  62. package/dist/components/actions/use-action.d.ts +4 -5
  63. package/dist/components/actions/use-action.js +3 -2
  64. package/dist/components/actions/use-action.js.map +1 -1
  65. package/dist/components/actions/use-anchored-menu.js +1 -1
  66. package/dist/components/actions/use-context-menu.js +1 -1
  67. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  68. package/dist/components/content/Alert/Alert.js +1 -1
  69. package/dist/components/content/Alert/use-alert.js +1 -1
  70. package/dist/components/content/Avatar/Avatar.js +1 -1
  71. package/dist/components/content/Badge/Badge.js +1 -1
  72. package/dist/components/content/Card/Card.js +1 -1
  73. package/dist/components/content/Content.js +1 -1
  74. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -2
  75. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  76. package/dist/components/content/CopySnippet/CopySnippet.d.ts +964 -6
  77. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  78. package/dist/components/content/Disclosure/Disclosure.d.ts +1 -1
  79. package/dist/components/content/Disclosure/Disclosure.js +69 -67
  80. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  81. package/dist/components/content/Divider.js +1 -1
  82. package/dist/components/content/Footer.js +1 -1
  83. package/dist/components/content/Header.js +1 -1
  84. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  85. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  86. package/dist/components/content/InlineInput/InlineInput.d.ts +2 -2
  87. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  88. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  89. package/dist/components/content/Item/Item.d.ts +3 -3
  90. package/dist/components/content/Item/Item.js +1 -1
  91. package/dist/components/content/Item/Item.js.map +1 -1
  92. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  93. package/dist/components/content/ItemCard/ItemCard.d.ts +1 -1
  94. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  95. package/dist/components/content/Layout/GridLayout.js +1 -1
  96. package/dist/components/content/Layout/Layout.js +1 -1
  97. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  98. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  99. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  100. package/dist/components/content/Layout/LayoutContent.js +1 -1
  101. package/dist/components/content/Layout/LayoutContext.js +1 -1
  102. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  103. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  104. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  105. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  106. package/dist/components/content/Layout/LayoutPane.js +1 -1
  107. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  108. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  109. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  110. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  111. package/dist/components/content/Layout/index.js +1 -1
  112. package/dist/components/content/Layout/utils.js +1 -1
  113. package/dist/components/content/Paragraph.js +1 -1
  114. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  115. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  116. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  117. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  118. package/dist/components/content/Result/Result.d.ts +2 -2
  119. package/dist/components/content/Result/Result.js +1 -1
  120. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  121. package/dist/components/content/Tag/Tag.js +1 -1
  122. package/dist/components/content/Text.d.ts +14 -14
  123. package/dist/components/content/Text.js +1 -1
  124. package/dist/components/content/TextItem/TextItem.d.ts +2 -2
  125. package/dist/components/content/TextItem/TextItem.js +1 -1
  126. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  127. package/dist/components/content/Title.js +1 -1
  128. package/dist/components/content/Tree/Tree.js +1 -1
  129. package/dist/components/content/Tree/TreeNode.js +1 -1
  130. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  131. package/dist/components/content/Tree/styled.js +1 -1
  132. package/dist/components/content/Tree/tree-index.js +1 -1
  133. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  134. package/dist/components/content/Tree/use-load-data.js +1 -1
  135. package/dist/components/content/highlightText.js +1 -1
  136. package/dist/components/content/use-auto-tooltip.d.ts +1 -1
  137. package/dist/components/content/use-auto-tooltip.js +1 -1
  138. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  139. package/dist/components/data/DataTable/DataTable.js +1 -1
  140. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  141. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  142. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  143. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  144. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  145. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  146. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  147. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  148. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  149. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  150. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  151. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  152. package/dist/components/data/TableBase/RowCollection.js +1 -1
  153. package/dist/components/data/TableBase/TableHeaderCell.js +3 -2
  154. package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
  155. package/dist/components/data/TableBase/TableRow.js +2 -2
  156. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  157. package/dist/components/data/TableBase/TableView.js +1 -1
  158. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  159. package/dist/components/data/TableBase/column-header.js +1 -1
  160. package/dist/components/data/TableBase/column-menu.d.ts +2 -1
  161. package/dist/components/data/TableBase/column-menu.js +1 -1
  162. package/dist/components/data/TableBase/column-menu.js.map +1 -1
  163. package/dist/components/data/TableBase/column-styles.js +1 -1
  164. package/dist/components/data/TableBase/column-tint.js +1 -1
  165. package/dist/components/data/TableBase/row-menu.js +1 -1
  166. package/dist/components/data/TableBase/styled.d.ts +3 -1
  167. package/dist/components/data/TableBase/styled.js +1 -1
  168. package/dist/components/data/TableBase/table-tree.js +1 -1
  169. package/dist/components/data/TableBase/types.js +1 -1
  170. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  171. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  172. package/dist/components/data/TableBase/use-column-order.js +1 -1
  173. package/dist/components/data/TableBase/use-container-width.js +1 -1
  174. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  175. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  176. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  177. package/dist/components/data/TableBase/use-table-search.js +1 -1
  178. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  179. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  180. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  181. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  182. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  183. package/dist/components/fields/Checkbox/Checkbox.d.ts +7 -14
  184. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  185. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  186. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +4 -2
  187. package/dist/components/fields/Checkbox/CheckboxGroup.js +7 -7
  188. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  189. package/dist/components/fields/Checkbox/context.js +1 -1
  190. package/dist/components/fields/ColorInput/ColorInput.js +34 -29
  191. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  192. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  193. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  194. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  195. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  196. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  197. package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +10 -5
  198. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  199. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  200. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  201. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  202. package/dist/components/fields/DatePicker/DateInput.js +3 -3
  203. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  204. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  205. package/dist/components/fields/DatePicker/DatePicker.d.ts +2 -2
  206. package/dist/components/fields/DatePicker/DatePicker.js +4 -4
  207. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  208. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  209. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  210. package/dist/components/fields/DatePicker/DatePickerInput.js +8 -5
  211. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  212. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  213. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +1 -1
  214. package/dist/components/fields/DatePicker/DateRangePicker.js +76 -72
  215. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  216. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +1 -1
  217. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +357 -323
  218. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  219. package/dist/components/fields/DatePicker/MonthPicker.d.ts +1 -1
  220. package/dist/components/fields/DatePicker/MonthPicker.js +3 -3
  221. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +6 -5
  222. package/dist/components/fields/DatePicker/PeriodPicker.js +6 -5
  223. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  224. package/dist/components/fields/DatePicker/QuarterPicker.d.ts +1 -1
  225. package/dist/components/fields/DatePicker/QuarterPicker.js +3 -3
  226. package/dist/components/fields/DatePicker/TimeInput.d.ts +3 -3
  227. package/dist/components/fields/DatePicker/TimeInput.js +10 -5
  228. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  229. package/dist/components/fields/DatePicker/WeekPicker.d.ts +1 -1
  230. package/dist/components/fields/DatePicker/WeekPicker.js +3 -3
  231. package/dist/components/fields/DatePicker/YearPicker.d.ts +1 -1
  232. package/dist/components/fields/DatePicker/YearPicker.js +3 -3
  233. package/dist/components/fields/DatePicker/index.d.ts +1 -1
  234. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  235. package/dist/components/fields/DatePicker/period.js +1 -1
  236. package/dist/components/fields/DatePicker/props.js +1 -1
  237. package/dist/components/fields/DatePicker/props.js.map +1 -1
  238. package/dist/components/fields/DatePicker/utils.js +1 -1
  239. package/dist/components/fields/FileInput/FileInput.d.ts +2 -6
  240. package/dist/components/fields/FileInput/FileInput.js +1 -1
  241. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  242. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  243. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  244. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  245. package/dist/components/fields/Input/Input.js +1 -1
  246. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  247. package/dist/components/fields/ListBox/ListBox.d.ts +1 -1
  248. package/dist/components/fields/ListBox/ListBox.js +5 -10
  249. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  250. package/dist/components/fields/ListBox/optionId.js +1 -1
  251. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +125 -93
  252. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  253. package/dist/components/fields/ListBoxPopover/index.d.ts +1 -1
  254. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  255. package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +48 -1
  256. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  257. package/dist/components/fields/NumberInput/NumberInput.d.ts +6 -3
  258. package/dist/components/fields/NumberInput/NumberInput.js +98 -59
  259. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  260. package/dist/components/fields/NumberInput/StepButton.js +1 -3
  261. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  262. package/dist/components/fields/PasswordInput/PasswordInput.d.ts +5 -2
  263. package/dist/components/fields/PasswordInput/PasswordInput.js +7 -7
  264. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  265. package/dist/components/fields/Picker/Picker.js +1 -1
  266. package/dist/components/fields/RadioGroup/Radio.d.ts +596 -17
  267. package/dist/components/fields/RadioGroup/Radio.js +114 -111
  268. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  269. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +5 -3
  270. package/dist/components/fields/RadioGroup/RadioGroup.js +8 -8
  271. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  272. package/dist/components/fields/RadioGroup/context.js +1 -1
  273. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  274. package/dist/components/fields/SearchInput/SearchInput.d.ts +5 -3
  275. package/dist/components/fields/SearchInput/SearchInput.js +2 -2
  276. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  277. package/dist/components/fields/Select/Select.d.ts +5 -4
  278. package/dist/components/fields/Select/Select.js +3 -3
  279. package/dist/components/fields/Select/Select.js.map +1 -1
  280. package/dist/components/fields/Slider/Gradation.js +1 -1
  281. package/dist/components/fields/Slider/HueSlider.d.ts +1 -1
  282. package/dist/components/fields/Slider/HueSlider.js +1 -1
  283. package/dist/components/fields/Slider/RangeSlider.d.ts +1 -1
  284. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  285. package/dist/components/fields/Slider/Slider.d.ts +1 -1
  286. package/dist/components/fields/Slider/Slider.js +1 -1
  287. package/dist/components/fields/Slider/SliderBase.js +1 -1
  288. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  289. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  290. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  291. package/dist/components/fields/Slider/elements.js +1 -1
  292. package/dist/components/fields/Slider/index.js +1 -1
  293. package/dist/components/fields/Switch/Switch.d.ts +3 -7
  294. package/dist/components/fields/Switch/Switch.js +7 -7
  295. package/dist/components/fields/Switch/Switch.js.map +1 -1
  296. package/dist/components/fields/TagInput/TagInput.js +2 -2
  297. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  298. package/dist/components/fields/TagInput/TagList.js +1 -1
  299. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  300. package/dist/components/fields/TagInput/useTagError.js +1 -1
  301. package/dist/components/fields/TextArea/TextArea.d.ts +11 -3
  302. package/dist/components/fields/TextArea/TextArea.js +7 -8
  303. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  304. package/dist/components/fields/TextInput/TextInput.d.ts +10 -3
  305. package/dist/components/fields/TextInput/TextInput.js +7 -8
  306. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  307. package/dist/components/fields/TextInput/TextInputBase.d.ts +7 -5
  308. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  309. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  310. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  311. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  312. package/dist/components/fields/TriggerActions.js +1 -1
  313. package/dist/components/fields/color/ColorPanel.js +1 -1
  314. package/dist/components/fields/color/channels.js +1 -1
  315. package/dist/components/fields/color/color.js +1 -1
  316. package/dist/components/fields/color/context.js +1 -1
  317. package/dist/components/fields/index.d.ts +1 -1
  318. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  319. package/dist/components/form/Form/Field.js +1 -1
  320. package/dist/components/form/Form/Form.js +1 -1
  321. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  322. package/dist/components/form/Form/ResetButton/ResetButton.d.ts +2 -2
  323. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  324. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  325. package/dist/components/form/Form/SubmitButton/SubmitButton.d.ts +2 -2
  326. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  327. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  328. package/dist/components/form/Form/SubmitError.js +1 -1
  329. package/dist/components/form/Form/backend.js +1 -1
  330. package/dist/components/form/Form/index.d.ts +2 -2
  331. package/dist/components/form/Form/index.js +1 -1
  332. package/dist/components/form/Form/modern/actions.js +1 -1
  333. package/dist/components/form/Form/modern/context.js +1 -1
  334. package/dist/components/form/Form/modern/controller.js +1 -1
  335. package/dist/components/form/Form/modern/field-binding.js +1 -1
  336. package/dist/components/form/Form/modern/field.js +1 -1
  337. package/dist/components/form/Form/modern/react.js +1 -1
  338. package/dist/components/form/Form/modern/store.js +1 -1
  339. package/dist/components/form/Form/modern/validation.js +1 -1
  340. package/dist/components/form/Form/modern/values.js +1 -1
  341. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  342. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  343. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  344. package/dist/components/form/Form/use-field/use-field.js +1 -1
  345. package/dist/components/form/Form/use-form.js +1 -1
  346. package/dist/components/form/Form/validation.js +1 -1
  347. package/dist/components/form/Label.js +1 -1
  348. package/dist/components/form/legacy-tooltip.js +1 -1
  349. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  350. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  351. package/dist/components/form/validation/use-validation-props.js +1 -1
  352. package/dist/components/form/wrapper.js +1 -1
  353. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  354. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  355. package/dist/components/layout/Board/Board.js +1 -1
  356. package/dist/components/layout/Board/BoardProvider.js +1 -1
  357. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  358. package/dist/components/layout/Board/Widget.js +1 -1
  359. package/dist/components/layout/Board/WidgetHost.js +1 -1
  360. package/dist/components/layout/Board/board-context.js +1 -1
  361. package/dist/components/layout/Board/board-store.js +1 -1
  362. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  363. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  364. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  365. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  366. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  367. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  368. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  369. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  370. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  371. package/dist/components/layout/Board/index.js +1 -1
  372. package/dist/components/layout/Board/responsive-utils.js +1 -1
  373. package/dist/components/layout/Board/use-board-layout.js +1 -1
  374. package/dist/components/layout/Board/use-board-registry.js +1 -1
  375. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  376. package/dist/components/layout/Board/use-board-selection.js +1 -1
  377. package/dist/components/layout/Flex.js +1 -1
  378. package/dist/components/layout/Flow.js +1 -1
  379. package/dist/components/layout/Grid.js +1 -1
  380. package/dist/components/layout/Panel.js +1 -1
  381. package/dist/components/layout/Prefix.js +1 -1
  382. package/dist/components/layout/ResizablePanel.js +1 -1
  383. package/dist/components/layout/Space.js +1 -1
  384. package/dist/components/layout/Suffix.js +1 -1
  385. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  386. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  387. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  388. package/dist/components/navigation/Tabs/TabButton.js +387 -379
  389. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  390. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  391. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  392. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  393. package/dist/components/navigation/Tabs/Tabs.d.ts +2 -2
  394. package/dist/components/navigation/Tabs/Tabs.js +2 -2
  395. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  396. package/dist/components/navigation/Tabs/TabsAction.d.ts +1 -1
  397. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  398. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  399. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  400. package/dist/components/navigation/Tabs/styled.js +1 -1
  401. package/dist/components/navigation/Tabs/types.js +1 -1
  402. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  403. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  404. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  405. package/dist/components/other/Calendar/Calendar.js +1 -1
  406. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  407. package/dist/components/other/Calendar/CalendarGrid.js +50 -45
  408. package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
  409. package/dist/components/other/Calendar/CalendarHeader.js +2 -2
  410. package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
  411. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  412. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  413. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  414. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  415. package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
  416. package/dist/components/other/Calendar/styled.js +1 -1
  417. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  418. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  419. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  420. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  421. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  422. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  423. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  424. package/dist/components/overlays/Dialog/DialogForm.d.ts +1 -1
  425. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  426. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  427. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +1 -1
  428. package/dist/components/overlays/Dialog/DialogTrigger.js +25 -24
  429. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  430. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  431. package/dist/components/overlays/Dialog/context.js +1 -1
  432. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  433. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  434. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  435. package/dist/components/overlays/Modal/Modal.js +1 -1
  436. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  437. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  438. package/dist/components/overlays/Modal/Overlay.d.ts +1 -2
  439. package/dist/components/overlays/Modal/Overlay.js +1 -1
  440. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  441. package/dist/components/overlays/Modal/Popover.d.ts +2 -1
  442. package/dist/components/overlays/Modal/Popover.js +1 -1
  443. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  444. package/dist/components/overlays/Modal/Tray.d.ts +2 -2
  445. package/dist/components/overlays/Modal/Tray.js +1 -1
  446. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  447. package/dist/components/overlays/Modal/Underlay.js +1 -1
  448. package/dist/components/overlays/Modal/index.d.ts +1 -1
  449. package/dist/components/overlays/Modal/types.d.ts +2 -1
  450. package/dist/components/overlays/Notifications/Notification.js +1 -1
  451. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  452. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  453. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  454. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  455. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  456. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  457. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  458. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  459. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  460. package/dist/components/overlays/Notifications/index.js +1 -1
  461. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  462. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  463. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  464. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  465. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  466. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  467. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  468. package/dist/components/overlays/Toast/index.js +1 -1
  469. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  470. package/dist/components/overlays/Toast/useToast.js +1 -1
  471. package/dist/components/overlays/Tooltip/Tooltip.js +2 -5
  472. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  473. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  474. package/dist/components/overlays/Tooltip/TooltipTrigger.js +2 -5
  475. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  476. package/dist/components/overlays/Tooltip/context.js +1 -1
  477. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  478. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  479. package/dist/components/portal/Portal.js +1 -1
  480. package/dist/components/portal/PortalProvider.js +1 -1
  481. package/dist/components/portal/usePortal.js +1 -1
  482. package/dist/components/shared/DraggableCollection.js +11 -6
  483. package/dist/components/shared/DraggableCollection.js.map +1 -1
  484. package/dist/components/shared/InvalidIcon.js +1 -1
  485. package/dist/components/shared/ValidIcon.js +1 -1
  486. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  487. package/dist/components/status/Spin/Cube.js +1 -1
  488. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  489. package/dist/components/status/Spin/Spin.js +1 -1
  490. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  491. package/dist/data/item-themes.js +1 -1
  492. package/dist/data/themes.js +1 -1
  493. package/dist/eslint-plugin/defaults.generated.js +1 -1
  494. package/dist/eslint-plugin/index.js +1 -1
  495. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  496. package/dist/i18n/I18nProvider.js +1 -1
  497. package/dist/i18n/createFormatter.js +1 -1
  498. package/dist/i18n/index.js +1 -1
  499. package/dist/i18n/instance.js +1 -1
  500. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  501. package/dist/i18n/locales/en-US/uikit.js +1 -1
  502. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  503. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  504. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  505. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  506. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  507. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  508. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  509. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  510. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  511. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  512. package/dist/i18n/locales.js +1 -1
  513. package/dist/i18n/useFormatter.js +1 -1
  514. package/dist/i18n/useI18n.js +1 -1
  515. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  516. package/dist/icons/AdjustmentsIcon.js +1 -1
  517. package/dist/icons/AiIcon.js +1 -1
  518. package/dist/icons/AreaChartIcon.js +1 -1
  519. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  520. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  521. package/dist/icons/BackwardIcon.js +1 -1
  522. package/dist/icons/BarChartIcon.js +1 -1
  523. package/dist/icons/BellFilledIcon.js +1 -1
  524. package/dist/icons/BellIcon.js +1 -1
  525. package/dist/icons/BooleanIcon.js +1 -1
  526. package/dist/icons/CalendarEditIcon.js +1 -1
  527. package/dist/icons/CalendarIcon.js +1 -1
  528. package/dist/icons/CaretDownIcon.js +1 -1
  529. package/dist/icons/CaretUpIcon.js +1 -1
  530. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  531. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  532. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  533. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  534. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  535. package/dist/icons/ChartBarLineIcon.js +1 -1
  536. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  537. package/dist/icons/ChartBarStackedIcon.js +1 -1
  538. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  539. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  540. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  541. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  542. package/dist/icons/ChartBubbleIcon.js +1 -1
  543. package/dist/icons/ChartDonut2Icon.js +1 -1
  544. package/dist/icons/ChartFunnelIcon.js +1 -1
  545. package/dist/icons/ChartHeatmapIcon.js +1 -1
  546. package/dist/icons/ChartKPIIcon.js +1 -1
  547. package/dist/icons/ChartPie2Icon.js +1 -1
  548. package/dist/icons/ChartScatterIcon.js +1 -1
  549. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  550. package/dist/icons/CheckCircleIcon.js +1 -1
  551. package/dist/icons/CheckIcon.js +1 -1
  552. package/dist/icons/CircleFilledIcon.js +1 -1
  553. package/dist/icons/ClearIcon.js +1 -1
  554. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  555. package/dist/icons/CloseCircleIcon.js +1 -1
  556. package/dist/icons/CloseIcon.js +1 -1
  557. package/dist/icons/CodeIcon.js +1 -1
  558. package/dist/icons/ColumnTotalIcon.js +1 -1
  559. package/dist/icons/CopyIcon.js +1 -1
  560. package/dist/icons/CountIcon.js +1 -1
  561. package/dist/icons/CubeIcon.js +1 -1
  562. package/dist/icons/CubePauseIcon.js +1 -1
  563. package/dist/icons/CubePlayIcon.js +1 -1
  564. package/dist/icons/CurrencyDollarIcon.js +1 -1
  565. package/dist/icons/DangerIcon.js +1 -1
  566. package/dist/icons/DashboardIcon.js +1 -1
  567. package/dist/icons/DatabaseIcon.js +1 -1
  568. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  569. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  570. package/dist/icons/DirectionIcon.js +1 -1
  571. package/dist/icons/DonutIcon.js +1 -1
  572. package/dist/icons/DownIcon.js +1 -1
  573. package/dist/icons/EditIcon.js +1 -1
  574. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  575. package/dist/icons/ExclamationCircleIcon.js +1 -1
  576. package/dist/icons/ExclamationIcon.js +1 -1
  577. package/dist/icons/EyeIcon.js +1 -1
  578. package/dist/icons/EyeInvisibleIcon.js +1 -1
  579. package/dist/icons/FilterIcon.js +1 -1
  580. package/dist/icons/FolderFilledIcon.js +1 -1
  581. package/dist/icons/FolderIcon.js +1 -1
  582. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  583. package/dist/icons/FolderOpenIcon.js +1 -1
  584. package/dist/icons/ForwardIcon.js +1 -1
  585. package/dist/icons/GripVerticalIcon.js +1 -1
  586. package/dist/icons/HierarchyIcon.js +1 -1
  587. package/dist/icons/HierarchyOpenIcon.js +1 -1
  588. package/dist/icons/Icon.js +1 -1
  589. package/dist/icons/InfoCircleIcon.js +1 -1
  590. package/dist/icons/InfoIcon.js +1 -1
  591. package/dist/icons/KeyIcon.js +1 -1
  592. package/dist/icons/LeftIcon.js +1 -1
  593. package/dist/icons/LineChartIcon.js +1 -1
  594. package/dist/icons/LoadingIcon.js +1 -1
  595. package/dist/icons/LockFilledIcon.js +1 -1
  596. package/dist/icons/LockIcon.js +1 -1
  597. package/dist/icons/MoreIcon.js +1 -1
  598. package/dist/icons/NotAllowedIcon.js +1 -1
  599. package/dist/icons/Number123Icon.js +1 -1
  600. package/dist/icons/NumberIcon.js +1 -1
  601. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  602. package/dist/icons/PauseCircleIcon.js +1 -1
  603. package/dist/icons/PauseIcon.js +1 -1
  604. package/dist/icons/PercentageIcon.js +1 -1
  605. package/dist/icons/PieChartIcon.js +1 -1
  606. package/dist/icons/PipetteIcon.js +1 -1
  607. package/dist/icons/PlayCircleIcon.js +1 -1
  608. package/dist/icons/PlayIcon.js +1 -1
  609. package/dist/icons/PlusIcon.js +1 -1
  610. package/dist/icons/ProgressBarIcon.js +1 -1
  611. package/dist/icons/ReloadIcon.js +1 -1
  612. package/dist/icons/ReportIcon.js +1 -1
  613. package/dist/icons/ReturnIcon.js +1 -1
  614. package/dist/icons/RightIcon.js +1 -1
  615. package/dist/icons/RowTotalsIcon.js +1 -1
  616. package/dist/icons/SchemeIcon.js +1 -1
  617. package/dist/icons/SearchIcon.js +1 -1
  618. package/dist/icons/SemanticQueryIcon.js +1 -1
  619. package/dist/icons/SettingsIcon.js +1 -1
  620. package/dist/icons/ShieldFilledIcon.js +1 -1
  621. package/dist/icons/ShieldIcon.js +1 -1
  622. package/dist/icons/SlashIcon.js +1 -1
  623. package/dist/icons/SparklesIcon.js +1 -1
  624. package/dist/icons/SqlIcon.js +1 -1
  625. package/dist/icons/StatsIcon.js +1 -1
  626. package/dist/icons/StopIcon.js +1 -1
  627. package/dist/icons/StringIcon.js +1 -1
  628. package/dist/icons/SubtotalsIcon.js +1 -1
  629. package/dist/icons/SwitchIcon.js +1 -1
  630. package/dist/icons/TableIcon.js +1 -1
  631. package/dist/icons/ThumbsDownIcon.js +1 -1
  632. package/dist/icons/ThumbsUpIcon.js +1 -1
  633. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  634. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  635. package/dist/icons/ThunderboltIcon.js +1 -1
  636. package/dist/icons/TimeIcon.js +1 -1
  637. package/dist/icons/TrashIcon.js +1 -1
  638. package/dist/icons/UnlockIcon.js +1 -1
  639. package/dist/icons/UpIcon.js +1 -1
  640. package/dist/icons/UserGroupIcon.js +1 -1
  641. package/dist/icons/UserIcon.js +1 -1
  642. package/dist/icons/UserLockIcon.js +1 -1
  643. package/dist/icons/ViewIcon.js +1 -1
  644. package/dist/icons/WarningFilledIcon.js +1 -1
  645. package/dist/icons/WarningIcon.js +1 -1
  646. package/dist/icons/wrap-icon.js +1 -1
  647. package/dist/index.d.ts +18 -18
  648. package/dist/index.js +3 -3
  649. package/dist/probe/canonicalize.js +1 -1
  650. package/dist/probe/css.js +1 -1
  651. package/dist/probe/index.js +1 -1
  652. package/dist/provider.js +1 -1
  653. package/dist/providers/TrackingProvider.js +1 -1
  654. package/dist/providers/navigationAdapter.default.js +1 -1
  655. package/dist/shared/form.d.ts +4 -21
  656. package/dist/tokens/all-tokens.js +1 -1
  657. package/dist/tokens/base.js +1 -1
  658. package/dist/tokens/color-seed.js +1 -1
  659. package/dist/tokens/color-theme.js +1 -1
  660. package/dist/tokens/colors.js +1 -1
  661. package/dist/tokens/layout.js +1 -1
  662. package/dist/tokens/lazy-styles.js +1 -1
  663. package/dist/tokens/legacy-color.js +1 -1
  664. package/dist/tokens/palette-config.js +1 -1
  665. package/dist/tokens/palette.js +1 -1
  666. package/dist/tokens/resolve.js +1 -1
  667. package/dist/tokens/shadows.js +1 -1
  668. package/dist/tokens/sizes.js +1 -1
  669. package/dist/tokens/spacing.js +1 -1
  670. package/dist/tokens/typography.js +1 -1
  671. package/dist/utils/ResizeSensor.js +1 -1
  672. package/dist/utils/colors.js +1 -1
  673. package/dist/utils/dotize.js +1 -1
  674. package/dist/utils/is-dev-env.js +1 -1
  675. package/dist/utils/modules.js +1 -1
  676. package/dist/utils/promise.js +1 -1
  677. package/dist/utils/raf.js +1 -1
  678. package/dist/utils/random.js +1 -1
  679. package/dist/utils/range.js +1 -1
  680. package/dist/utils/react/RenderCache.js +1 -1
  681. package/dist/utils/react/Slots.js +1 -1
  682. package/dist/utils/react/chain.js +1 -1
  683. package/dist/utils/react/disabledProps.js +1 -1
  684. package/dist/utils/react/escapePropagation.js +1 -1
  685. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  686. package/dist/utils/react/index.js +1 -1
  687. package/dist/utils/react/interactions.js +1 -1
  688. package/dist/utils/react/isTextOnly.js +1 -1
  689. package/dist/utils/react/mapProps.js +1 -1
  690. package/dist/utils/react/mapProps.js.map +1 -1
  691. package/dist/utils/react/mergeProps.js +1 -1
  692. package/dist/utils/react/nullableValue.d.ts +2 -2
  693. package/dist/utils/react/nullableValue.js +1 -1
  694. package/dist/utils/react/nullableValue.js.map +1 -1
  695. package/dist/utils/react/programmaticFocus.js +1 -1
  696. package/dist/utils/react/resolveIcon.js +1 -1
  697. package/dist/utils/react/sharedStore.js +1 -1
  698. package/dist/utils/react/useBufferedValue.js +1 -1
  699. package/dist/utils/react/useCombinedRefs.js +1 -1
  700. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  701. package/dist/utils/react/useEventBus.js +1 -1
  702. package/dist/utils/react/useId.js +1 -1
  703. package/dist/utils/react/useIsDarwin.js +1 -1
  704. package/dist/utils/react/useKeySymbols.js +1 -1
  705. package/dist/utils/react/useLayoutEffect.js +1 -1
  706. package/dist/utils/react/useLocalStorage.js +1 -1
  707. package/dist/utils/react/useMergeStyles.js +1 -1
  708. package/dist/utils/react/useOverlayEscapeGuard.js +12 -1
  709. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
  710. package/dist/utils/react/usePopoverSync.js +1 -1
  711. package/dist/utils/react/useQaProps.js +1 -1
  712. package/dist/utils/react/useScheme.js +1 -1
  713. package/dist/utils/react/useViewportSize.js +1 -1
  714. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  715. package/dist/utils/selection.js +1 -1
  716. package/dist/utils/styles.js +1 -1
  717. package/dist/utils/tree.js +1 -1
  718. package/dist/utils/warnings.js +1 -1
  719. package/dist/version.js +2 -2
  720. package/package.json +15 -15
@@ -1,5 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
+ import { useEvent } from "../../../_internal/hooks/use-event.js";
3
4
  import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
4
5
  import { Portal } from "../../portal/Portal.js";
5
6
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -8,7 +9,8 @@ import { c } from "react-compiler-runtime";
8
9
  import { tasty } from "@tenphi/tasty";
9
10
  import React, { useEffect, useRef } from "react";
10
11
  import { jsx } from "react/jsx-runtime";
11
- import { useOverlay, useOverlayPosition } from "react-aria";
12
+ import { useInteractOutside, useOverlay, useOverlayPosition } from "react-aria";
13
+ import { getEventTarget, isFocusWithin } from "@react-aria/utils";
12
14
 
13
15
  //#region src/components/fields/ListBoxPopover/ListBoxPopover.tsx
14
16
  const CONTROL_SELECTOR = "button, a[href], input, select, textarea, [tabindex], [contenteditable]:not([contenteditable=\"false\"])";
@@ -62,7 +64,7 @@ const ListBoxPopoverElement = tasty({
62
64
  }
63
65
  });
64
66
  const ListBoxPopover = function ListBoxPopover(props) {
65
- const $ = c(69);
67
+ const $ = c(79);
66
68
  const { t } = useI18n();
67
69
  const { isOpen, triggerRef, popoverRef, listBoxRef, direction, shouldFlip, overlayOffset, containerPadding, comboBoxWidth, listBoxId, overlayStyles, listBoxStyles, optionStyles, optionHighlight, sectionStyles, headingStyles, listGap, selectedKey, selectionMode: t0, selectedKeys, isCheckable, shouldCloseOnTriggerInteraction: t1, shouldPassControlPresses: t2, isDisabled, disabledKeys, items, children, listStateRef, onSelectionChange, onClose, label, ariaLabel, ariaLabelledby, compositeFocusProps, filter, size: t3, emptyLabel, positionTargetRef, positionApiRef } = props;
68
70
  const selectionMode = t0 === void 0 ? "single" : t0;
@@ -136,64 +138,94 @@ const ListBoxPopover = function ListBoxPopover(props) {
136
138
  }
137
139
  useEffect(t10, t11);
138
140
  let t12;
139
- if ($[18] !== onClose || $[19] !== shouldCloseOnTriggerInteraction || $[20] !== shouldPassControlPresses || $[21] !== triggerRef) {
141
+ if ($[18] !== shouldCloseOnTriggerInteraction || $[19] !== shouldPassControlPresses || $[20] !== triggerRef) {
140
142
  t12 = (el) => {
141
143
  const menuTriggerEl = el.closest("[data-popover-trigger]");
142
- if (!menuTriggerEl) {
143
- if (!shouldCloseOnTriggerInteraction && triggerRef?.current?.contains(el)) return false;
144
- if (el.closest("[data-popover-keep]")) return false;
145
- if (shouldPassControlPresses && el.closest(CONTROL_SELECTOR) || el.closest("[data-popover-dismiss]")) {
146
- setTimeout(onClose, 0);
147
- return false;
148
- }
149
- return true;
150
- }
151
- if (menuTriggerEl === triggerRef?.current) return true;
152
- return false;
144
+ if (menuTriggerEl) return menuTriggerEl === triggerRef.current ? "consume" : "ignore";
145
+ if (!shouldCloseOnTriggerInteraction && triggerRef.current?.contains(el) || el.closest("[data-popover-keep]")) return "ignore";
146
+ if (shouldPassControlPresses && el.closest(CONTROL_SELECTOR) || el.closest("[data-popover-dismiss]")) return "pass";
147
+ return "consume";
153
148
  };
154
- $[18] = onClose;
155
- $[19] = shouldCloseOnTriggerInteraction;
156
- $[20] = shouldPassControlPresses;
157
- $[21] = triggerRef;
158
- $[22] = t12;
159
- } else t12 = $[22];
149
+ $[18] = shouldCloseOnTriggerInteraction;
150
+ $[19] = shouldPassControlPresses;
151
+ $[20] = triggerRef;
152
+ $[21] = t12;
153
+ } else t12 = $[21];
154
+ const getOutsidePressBehavior = t12;
160
155
  let t13;
161
- if ($[23] !== isOpen || $[24] !== onClose || $[25] !== t12) {
162
- t13 = {
156
+ if ($[22] !== getOutsidePressBehavior || $[23] !== onClose) {
157
+ t13 = (el_0) => {
158
+ const behavior = getOutsidePressBehavior(el_0);
159
+ if (behavior === "pass") setTimeout(onClose, 0);
160
+ return behavior === "consume";
161
+ };
162
+ $[22] = getOutsidePressBehavior;
163
+ $[23] = onClose;
164
+ $[24] = t13;
165
+ } else t13 = $[24];
166
+ let t14;
167
+ if ($[25] !== isOpen || $[26] !== onClose || $[27] !== t13) {
168
+ t14 = {
163
169
  onClose,
164
170
  shouldCloseOnBlur: true,
165
171
  isOpen,
166
172
  isDismissable: true,
167
- shouldCloseOnInteractOutside: t12
173
+ shouldCloseOnInteractOutside: t13
168
174
  };
169
- $[23] = isOpen;
170
- $[24] = onClose;
171
- $[25] = t12;
172
- $[26] = t13;
173
- } else t13 = $[26];
174
- const { overlayProps: overlayBehaviorProps } = useOverlay(t13, mergedPopoverRef);
175
- let t14;
176
- if ($[27] !== direction || $[28] !== placement) {
177
- t14 = placement?.split(" ")[0] || direction;
178
- $[27] = direction;
179
- $[28] = placement;
180
- $[29] = t14;
181
- } else t14 = $[29];
182
- const placementDirection = t14;
183
- const transitionRefHolder = useRef(null);
175
+ $[25] = isOpen;
176
+ $[26] = onClose;
177
+ $[27] = t13;
178
+ $[28] = t14;
179
+ } else t14 = $[28];
180
+ const { overlayProps: overlayBehaviorProps } = useOverlay(t14, mergedPopoverRef);
184
181
  let t15;
185
- if ($[30] === Symbol.for("react.memo_cache_sentinel")) {
186
- t15 = (node) => {
182
+ if ($[29] !== getOutsidePressBehavior || $[30] !== mergedPopoverRef || $[31] !== triggerRef) {
183
+ t15 = (event) => {
184
+ if ((isFocusWithin(triggerRef.current) || isFocusWithin(mergedPopoverRef.current)) && getOutsidePressBehavior(getEventTarget(event)) === "consume") event.preventDefault();
185
+ };
186
+ $[29] = getOutsidePressBehavior;
187
+ $[30] = mergedPopoverRef;
188
+ $[31] = triggerRef;
189
+ $[32] = t15;
190
+ } else t15 = $[32];
191
+ const preserveOutsidePressFocus = useEvent(t15);
192
+ const t16 = !isOpen;
193
+ let t17;
194
+ if ($[33] !== mergedPopoverRef || $[34] !== preserveOutsidePressFocus || $[35] !== t16) {
195
+ t17 = {
196
+ ref: mergedPopoverRef,
197
+ isDisabled: t16,
198
+ onInteractOutsideStart: preserveOutsidePressFocus,
199
+ onInteractOutside: preserveOutsidePressFocus
200
+ };
201
+ $[33] = mergedPopoverRef;
202
+ $[34] = preserveOutsidePressFocus;
203
+ $[35] = t16;
204
+ $[36] = t17;
205
+ } else t17 = $[36];
206
+ useInteractOutside(t17);
207
+ let t18;
208
+ if ($[37] !== direction || $[38] !== placement) {
209
+ t18 = placement?.split(" ")[0] || direction;
210
+ $[37] = direction;
211
+ $[38] = placement;
212
+ $[39] = t18;
213
+ } else t18 = $[39];
214
+ const placementDirection = t18;
215
+ const transitionRefHolder = useRef(null);
216
+ let t19;
217
+ if ($[40] === Symbol.for("react.memo_cache_sentinel")) {
218
+ t19 = (node) => {
187
219
  overlayScrollRef.current = node;
188
220
  transitionRefHolder.current?.(node);
189
221
  };
190
- $[30] = t15;
191
- } else t15 = $[30];
192
- const setScrollRef = t15;
193
- let t16;
194
- if ($[31] !== ariaLabel || $[32] !== ariaLabelledby || $[33] !== children || $[34] !== comboBoxWidth || $[35] !== compositeFocusProps || $[36] !== disabledKeys || $[37] !== emptyLabel || $[38] !== filter || $[39] !== headingStyles || $[40] !== isCheckable || $[41] !== isDisabled || $[42] !== items || $[43] !== label || $[44] !== listBoxId || $[45] !== listBoxRef || $[46] !== listBoxStyles || $[47] !== listGap || $[48] !== listStateRef || $[49] !== maxHeight || $[50] !== maxWidth || $[51] !== mergedPopoverRef || $[52] !== onSelectionChange || $[53] !== optionHighlight || $[54] !== optionStyles || $[55] !== overlayBehaviorProps || $[56] !== overlayPositionProps || $[57] !== overlayStyles || $[58] !== placementDirection || $[59] !== positionStyle || $[60] !== sectionStyles || $[61] !== selectedKey || $[62] !== selectedKeys || $[63] !== selectionMode || $[64] !== t) {
195
- t16 = (t17) => {
196
- const { phase, isShown, isExiting, ref: transitionRef } = t17;
222
+ $[40] = t19;
223
+ } else t19 = $[40];
224
+ const setScrollRef = t19;
225
+ let t20;
226
+ if ($[41] !== ariaLabel || $[42] !== ariaLabelledby || $[43] !== children || $[44] !== comboBoxWidth || $[45] !== compositeFocusProps || $[46] !== disabledKeys || $[47] !== emptyLabel || $[48] !== filter || $[49] !== headingStyles || $[50] !== isCheckable || $[51] !== isDisabled || $[52] !== items || $[53] !== label || $[54] !== listBoxId || $[55] !== listBoxRef || $[56] !== listBoxStyles || $[57] !== listGap || $[58] !== listStateRef || $[59] !== maxHeight || $[60] !== maxWidth || $[61] !== mergedPopoverRef || $[62] !== onSelectionChange || $[63] !== optionHighlight || $[64] !== optionStyles || $[65] !== overlayBehaviorProps || $[66] !== overlayPositionProps || $[67] !== overlayStyles || $[68] !== placementDirection || $[69] !== positionStyle || $[70] !== sectionStyles || $[71] !== selectedKey || $[72] !== selectedKeys || $[73] !== selectionMode || $[74] !== t) {
227
+ t20 = (t21) => {
228
+ const { phase, isShown, isExiting, ref: transitionRef } = t21;
197
229
  transitionRefHolder.current = transitionRef;
198
230
  return /* @__PURE__ */ jsx(ListBoxPopoverWrapper, {
199
231
  ...mergeProps$1({
@@ -247,53 +279,53 @@ const ListBoxPopover = function ListBoxPopover(props) {
247
279
  })
248
280
  });
249
281
  };
250
- $[31] = ariaLabel;
251
- $[32] = ariaLabelledby;
252
- $[33] = children;
253
- $[34] = comboBoxWidth;
254
- $[35] = compositeFocusProps;
255
- $[36] = disabledKeys;
256
- $[37] = emptyLabel;
257
- $[38] = filter;
258
- $[39] = headingStyles;
259
- $[40] = isCheckable;
260
- $[41] = isDisabled;
261
- $[42] = items;
262
- $[43] = label;
263
- $[44] = listBoxId;
264
- $[45] = listBoxRef;
265
- $[46] = listBoxStyles;
266
- $[47] = listGap;
267
- $[48] = listStateRef;
268
- $[49] = maxHeight;
269
- $[50] = maxWidth;
270
- $[51] = mergedPopoverRef;
271
- $[52] = onSelectionChange;
272
- $[53] = optionHighlight;
273
- $[54] = optionStyles;
274
- $[55] = overlayBehaviorProps;
275
- $[56] = overlayPositionProps;
276
- $[57] = overlayStyles;
277
- $[58] = placementDirection;
278
- $[59] = positionStyle;
279
- $[60] = sectionStyles;
280
- $[61] = selectedKey;
281
- $[62] = selectedKeys;
282
- $[63] = selectionMode;
283
- $[64] = t;
284
- $[65] = t16;
285
- } else t16 = $[65];
286
- let t17;
287
- if ($[66] !== isOpen || $[67] !== t16) {
288
- t17 = /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(DisplayTransition, {
282
+ $[41] = ariaLabel;
283
+ $[42] = ariaLabelledby;
284
+ $[43] = children;
285
+ $[44] = comboBoxWidth;
286
+ $[45] = compositeFocusProps;
287
+ $[46] = disabledKeys;
288
+ $[47] = emptyLabel;
289
+ $[48] = filter;
290
+ $[49] = headingStyles;
291
+ $[50] = isCheckable;
292
+ $[51] = isDisabled;
293
+ $[52] = items;
294
+ $[53] = label;
295
+ $[54] = listBoxId;
296
+ $[55] = listBoxRef;
297
+ $[56] = listBoxStyles;
298
+ $[57] = listGap;
299
+ $[58] = listStateRef;
300
+ $[59] = maxHeight;
301
+ $[60] = maxWidth;
302
+ $[61] = mergedPopoverRef;
303
+ $[62] = onSelectionChange;
304
+ $[63] = optionHighlight;
305
+ $[64] = optionStyles;
306
+ $[65] = overlayBehaviorProps;
307
+ $[66] = overlayPositionProps;
308
+ $[67] = overlayStyles;
309
+ $[68] = placementDirection;
310
+ $[69] = positionStyle;
311
+ $[70] = sectionStyles;
312
+ $[71] = selectedKey;
313
+ $[72] = selectedKeys;
314
+ $[73] = selectionMode;
315
+ $[74] = t;
316
+ $[75] = t20;
317
+ } else t20 = $[75];
318
+ let t21;
319
+ if ($[76] !== isOpen || $[77] !== t20) {
320
+ t21 = /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(DisplayTransition, {
289
321
  isShown: isOpen,
290
- children: t16
322
+ children: t20
291
323
  }) });
292
- $[66] = isOpen;
293
- $[67] = t16;
294
- $[68] = t17;
295
- } else t17 = $[68];
296
- return t17;
324
+ $[76] = isOpen;
325
+ $[77] = t20;
326
+ $[78] = t21;
327
+ } else t21 = $[78];
328
+ return t21;
297
329
  };
298
330
 
299
331
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ListBoxPopover.js","names":["Key","Styles","tasty","React","CSSProperties","ReactNode","RefObject","useCallback","useEffect","useRef","useOverlay","useOverlayPosition","useI18n","mergeProps","DisplayTransition","Portal","ListBox","ListBoxPopoverProps","isOpen","triggerRef","HTMLElement","popoverRef","HTMLDivElement","listBoxRef","direction","shouldFlip","overlayOffset","containerPadding","comboBoxWidth","listBoxId","overlayStyles","listBoxStyles","optionStyles","optionHighlight","sectionStyles","headingStyles","listGap","selectedKey","selectionMode","selectedKeys","isCheckable","shouldCloseOnTriggerInteraction","shouldPassControlPresses","isDisabled","disabledKeys","Iterable","items","children","listStateRef","onSelectionChange","selection","onClose","label","ariaLabel","ariaLabelledby","compositeFocusProps","onFocus","e","FocusEvent","onBlur","filter","nodes","size","emptyLabel","positionTargetRef","Element","positionApiRef","updatePosition","CONTROL_SELECTOR","ListBoxPopoverWrapper","qa","styles","position","zIndex","ListBoxPopoverElement","display","gridRows","gridColumns","width","height","overflow","fill","radius","shadow","padding","border","hide","hidden","boxSizing","transition","translate","transformOrigin","scale","opacity","ListBoxPopover","props","$","_c","t","t0","t1","t2","t3","undefined","mergedPopoverRef","overlayScrollRef","t4","t5","t6","t7","targetRef","overlayRef","scrollRef","placement","offset","overlayProps","overlayPositionProps","t8","style","t9","maxHeight","maxWidth","positionStyle","t10","t11","current","t12","el","menuTriggerEl","closest","contains","setTimeout","t13","shouldCloseOnBlur","isDismissable","shouldCloseOnInteractOutside","overlayBehaviorProps","t14","split","placementDirection","transitionRefHolder","t15","Symbol","for","node","setScrollRef","t16","t17","phase","isShown","isExiting","ref","transitionRef","open","overlayContent"],"sources":["../../../../src/components/fields/ListBoxPopover/ListBoxPopover.tsx"],"sourcesContent":["import { Key } from '@react-types/shared';\nimport { Styles, tasty } from '@tenphi/tasty';\nimport React, {\n CSSProperties,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useRef,\n} from 'react';\nimport { useOverlay, useOverlayPosition } from 'react-aria';\n\nimport { useI18n } from '../../../i18n';\nimport { mergeProps } from '../../../utils/react';\nimport { DisplayTransition } from '../../helpers';\nimport { Portal } from '../../portal';\nimport { ListBox } from '../ListBox/ListBox';\n\nexport interface ListBoxPopoverProps {\n isOpen: boolean;\n triggerRef: RefObject<HTMLElement>;\n popoverRef: RefObject<HTMLDivElement>;\n listBoxRef: RefObject<HTMLDivElement>;\n direction: 'bottom' | 'top';\n shouldFlip: boolean;\n overlayOffset: number;\n containerPadding: number;\n /** Min width (px) for the overlay; usually the trigger's width. */\n comboBoxWidth?: number;\n /** Stable id used for the ListBox element and aria-controls wiring. */\n listBoxId: string;\n overlayStyles?: Styles;\n listBoxStyles?: Styles;\n optionStyles?: Styles;\n /** Substring to highlight within each option's (text) children. */\n optionHighlight?: string;\n sectionStyles?: Styles;\n headingStyles?: Styles;\n /** Space between options, in pixels. Defaults to a hairline (`1bw`). */\n listGap?: number;\n selectedKey?: Key | null;\n /**\n * `'multiple'` lets the list hold several selected options. The list then\n * reports the whole new selection on every toggle and never closes itself;\n * the caller decides what a toggle means. Defaults to `'single'`.\n */\n selectionMode?: 'single' | 'multiple';\n /** The selected keys in `'multiple'` mode. Ignored in `'single'` mode. */\n selectedKeys?: Key[];\n /** Whether options show a checkbox. Only applies in `'multiple'` mode. */\n isCheckable?: boolean;\n /**\n * Whether a click inside the element `triggerRef` points at closes the\n * popover, like any other outside click. Pass `false` when that element is\n * where the user keeps working with the list open, such as an input that\n * picks several options in a row. Only this popover is affected; others\n * still close. Defaults to `true`.\n */\n shouldCloseOnTriggerInteraction?: boolean;\n /**\n * Whether an outside press on a control (a button, a link, a form control,\n * anything with `tabindex`, or something inside one) reaches it, as one on\n * a `data-popover-dismiss` control does: the control can take focus, and\n * the popover closes after it, so a native Save button saves on the first\n * click. A press anywhere else, such as a dialog's backdrop, still only\n * closes the popover. Defaults to `false`.\n */\n shouldPassControlPresses?: boolean;\n isDisabled?: boolean;\n disabledKeys?: Iterable<Key>;\n items?: Iterable<any>;\n children: ReactNode;\n /** Ref through which the ListBox exposes its internal list state. */\n listStateRef: RefObject<any>;\n onSelectionChange: (selection: Key | Key[] | null) => void;\n onClose: () => void;\n label?: ReactNode;\n ariaLabel?: string;\n /**\n * Ids of the elements that name the field, read after `label` or\n * `ariaLabel`. Without either, they alone name the list, in place of the\n * generic \"Options\".\n */\n ariaLabelledby?: string;\n compositeFocusProps: {\n onFocus: (e: React.FocusEvent) => void;\n onBlur: (e: React.FocusEvent) => void;\n };\n /** Collection node filter applied to the ListBox. */\n filter?: (nodes: Iterable<any>) => Iterable<any>;\n size?: 'small' | 'medium' | 'large' | (string & {});\n /**\n * Label shown when the list is empty (no items / no filter results).\n * Forwarded to the inner ListBox.\n */\n emptyLabel?: ReactNode;\n /**\n * Element to anchor the overlay to geometrically. Defaults to `triggerRef`.\n * Use this to anchor to something other than the trigger (e.g. the caret in\n * a textarea) while keeping `triggerRef` for outside-click/dismiss logic.\n */\n positionTargetRef?: RefObject<Element | null>;\n /**\n * Receives an imperative handle exposing `updatePosition()` so the caller can\n * force the overlay to re-anchor (e.g. when the caret moves).\n */\n positionApiRef?: RefObject<{ updatePosition: () => void } | null>;\n}\n\n// What `shouldPassControlPresses` lets an outside press reach.\nconst CONTROL_SELECTOR =\n 'button, a[href], input, select, textarea, [tabindex], [contenteditable]:not([contenteditable=\"false\"])';\n\nconst ListBoxPopoverWrapper = tasty({\n qa: 'ComboBoxOverlayWrapper',\n styles: {\n position: 'absolute',\n zIndex: 1000,\n },\n});\n\nconst ListBoxPopoverElement = tasty({\n qa: 'ComboBoxOverlay',\n styles: {\n display: 'grid',\n gridRows: '1sf',\n gridColumns: '1sf',\n width: '$overlay-min-width max-content 50vw',\n height: 'initial max-content (50vh - 5x)',\n overflow: 'auto',\n fill: '#surface',\n radius: '1cr',\n shadow: true,\n padding: '0',\n border: '#border',\n hide: {\n '': false,\n hidden: true,\n },\n boxSizing: 'border-box',\n transition:\n 'translate $transition ease-out, scale $transition ease-out, theme $transition ease-out',\n translate: {\n '': '0 0',\n 'open & [data-placement=\"top\"]': '0 0',\n '!open & [data-placement=\"top\"]': '0 1x',\n 'open & ([data-placement=\"bottom\"] | ![data-placement])': '0 0',\n '!open & ([data-placement=\"bottom\"] | ![data-placement])': '0 -1x',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n },\n scale: {\n '': '1 1',\n '!open': '1 .9',\n },\n opacity: {\n '': 1,\n '!open': 0.001,\n },\n\n '$overlay-min-width': 'min 30x',\n },\n});\n\nexport const ListBoxPopover = function ListBoxPopover(\n props: ListBoxPopoverProps,\n) {\n const { t } = useI18n();\n const {\n isOpen,\n triggerRef,\n popoverRef,\n listBoxRef,\n direction,\n shouldFlip,\n overlayOffset,\n containerPadding,\n comboBoxWidth,\n listBoxId,\n overlayStyles,\n listBoxStyles,\n optionStyles,\n optionHighlight,\n sectionStyles,\n headingStyles,\n listGap,\n selectedKey,\n selectionMode = 'single',\n selectedKeys,\n isCheckable,\n shouldCloseOnTriggerInteraction = true,\n shouldPassControlPresses = false,\n isDisabled,\n disabledKeys,\n items,\n children,\n listStateRef,\n onSelectionChange,\n onClose,\n label,\n ariaLabel,\n ariaLabelledby,\n compositeFocusProps,\n filter,\n size = 'medium',\n emptyLabel,\n positionTargetRef,\n positionApiRef,\n } = props;\n\n const mergedPopoverRef = popoverRef;\n\n // Ref to the inner scrollable element (the visible popover). react-aria\n // measures this for its flip/shrink math and writes maxHeight onto the\n // overlay (positioning wrapper); we forward that maxHeight to this element\n // below so the scroll container actually shrinks instead of overflowing.\n const overlayScrollRef = useRef<HTMLDivElement | null>(null);\n\n // Overlay positioning — anchor to the explicit position target when given\n // (e.g. a caret anchor), otherwise to the trigger. `triggerRef` is still\n // used below for outside-click/dismiss behavior.\n const {\n overlayProps: overlayPositionProps,\n placement,\n updatePosition,\n } = useOverlayPosition({\n targetRef: (positionTargetRef ?? triggerRef) as any,\n overlayRef: mergedPopoverRef as any,\n scrollRef: overlayScrollRef as any,\n placement: `${direction} start` as any,\n shouldFlip,\n isOpen,\n offset: overlayOffset,\n containerPadding: containerPadding,\n });\n\n // Keep positioning (top/left/zIndex) on the wrapper, but split out the\n // available-space cap so it can be applied to the inner scroll element.\n const { maxHeight, maxWidth, ...positionStyle } =\n (overlayPositionProps.style ?? {}) as CSSProperties;\n\n // Expose updatePosition so callers can re-anchor on demand (e.g. caret move).\n useEffect(() => {\n if (positionApiRef) {\n positionApiRef.current = { updatePosition };\n }\n return () => {\n if (positionApiRef) {\n positionApiRef.current = null;\n }\n };\n }, [positionApiRef, updatePosition]);\n\n // Overlay behavior (dismiss on outside click, escape)\n const { overlayProps: overlayBehaviorProps } = useOverlay(\n {\n onClose,\n shouldCloseOnBlur: true,\n isOpen,\n isDismissable: true,\n shouldCloseOnInteractOutside: (el) => {\n const menuTriggerEl = el.closest('[data-popover-trigger]');\n if (!menuTriggerEl) {\n if (\n !shouldCloseOnTriggerInteraction &&\n triggerRef?.current?.contains(el)\n ) {\n return false;\n }\n if (el.closest('[data-popover-keep]')) return false;\n // Plain interactive controls (Button, ItemButton) opt in via\n // `data-popover-dismiss` to dismiss us without losing their click\n // to useOverlay's stopPropagation, and `shouldPassControlPresses`\n // opts every control in. Schedule the close after the click\n // finishes so the button's onPress runs first. Only controls: the\n // close lands before a slow click does, and a click on a dialog's\n // backdrop would then find the dialog on top and close it too.\n if (\n (shouldPassControlPresses && el.closest(CONTROL_SELECTOR)) ||\n el.closest('[data-popover-dismiss]')\n ) {\n setTimeout(onClose, 0);\n return false;\n }\n return true;\n }\n if (menuTriggerEl === triggerRef?.current) return true;\n return false;\n },\n },\n mergedPopoverRef as any,\n );\n\n // Extract primary placement direction for consistent styling\n const placementDirection = placement?.split(' ')[0] || direction;\n\n // Hold the DisplayTransition ref so we can bind the same node to both the\n // transition listener and our scroll ref via a single stable callback.\n const transitionRefHolder = useRef<\n ((node: HTMLElement | null) => void) | null\n >(null);\n const setScrollRef = useCallback((node: HTMLElement | null) => {\n overlayScrollRef.current = node as HTMLDivElement | null;\n transitionRefHolder.current?.(node);\n }, []);\n\n const overlayContent = (\n <DisplayTransition isShown={isOpen}>\n {({ phase, isShown, isExiting, ref: transitionRef }) => {\n transitionRefHolder.current = transitionRef;\n return (\n <ListBoxPopoverWrapper\n {...mergeProps(\n { ...overlayPositionProps, style: positionStyle },\n overlayBehaviorProps,\n compositeFocusProps,\n )}\n ref={mergedPopoverRef}\n style={positionStyle}\n // A press on the list while it fades out must not close the\n // overlay under it (CUB-5293) — see `Overlay`.\n data-react-aria-top-layer={isExiting || undefined}\n >\n <ListBoxPopoverElement\n ref={setScrollRef}\n data-placement={placementDirection}\n data-phase={phase}\n mods={{\n open: isShown,\n hidden: phase === 'unmounted',\n }}\n styles={overlayStyles}\n style={{\n '--overlay-min-width': comboBoxWidth\n ? `${comboBoxWidth}px`\n : undefined,\n maxHeight,\n maxWidth,\n }}\n >\n <ListBox\n ref={listBoxRef}\n disableSelectionToggle\n id={listBoxId}\n aria-label={\n ariaLabel ||\n (typeof label === 'string'\n ? label\n : ariaLabelledby\n ? undefined\n : t('listBoxPopover.options', 'Options'))\n }\n aria-labelledby={ariaLabelledby}\n // Left unset in single mode, as before this prop existed: an\n // explicit `'single'` switches on ListBox's no-toggle branch,\n // which changes what re-picking the selected option does.\n selectionMode={\n selectionMode === 'multiple' ? 'multiple' : undefined\n }\n selectedKey={\n selectionMode === 'single' ? selectedKey : undefined\n }\n selectedKeys={\n selectionMode === 'multiple' ? selectedKeys : undefined\n }\n isCheckable={\n selectionMode === 'multiple' ? isCheckable : undefined\n }\n isDisabled={isDisabled}\n disabledKeys={disabledKeys}\n shouldUseVirtualFocus={true}\n items={items as any}\n filter={filter}\n styles={listBoxStyles}\n optionStyles={optionStyles}\n optionHighlight={optionHighlight}\n sectionStyles={sectionStyles}\n headingStyles={headingStyles}\n listGap={listGap}\n stateRef={listStateRef}\n shape=\"popover\"\n emptyLabel={emptyLabel}\n onSelectionChange={onSelectionChange}\n >\n {children as any}\n </ListBox>\n </ListBoxPopoverElement>\n </ListBoxPopoverWrapper>\n );\n }}\n </DisplayTransition>\n );\n\n return <Portal>{overlayContent}</Portal>;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"ListBoxPopover.js","names":["getEventTarget","isFocusWithin","Key","Styles","tasty","React","CSSProperties","ReactNode","RefObject","useCallback","useEffect","useRef","useInteractOutside","useOverlay","useOverlayPosition","useEvent","useI18n","mergeProps","DisplayTransition","Portal","ListBox","ListBoxPopoverProps","isOpen","triggerRef","HTMLElement","popoverRef","HTMLDivElement","listBoxRef","direction","shouldFlip","overlayOffset","containerPadding","comboBoxWidth","listBoxId","overlayStyles","listBoxStyles","optionStyles","optionHighlight","sectionStyles","headingStyles","listGap","selectedKey","selectionMode","selectedKeys","isCheckable","shouldCloseOnTriggerInteraction","shouldPassControlPresses","isDisabled","disabledKeys","Iterable","items","children","listStateRef","onSelectionChange","selection","onClose","label","ariaLabel","ariaLabelledby","compositeFocusProps","onFocus","e","FocusEvent","onBlur","filter","nodes","size","emptyLabel","positionTargetRef","Element","positionApiRef","updatePosition","CONTROL_SELECTOR","ListBoxPopoverWrapper","qa","styles","position","zIndex","ListBoxPopoverElement","display","gridRows","gridColumns","width","height","overflow","fill","radius","shadow","padding","border","hide","hidden","boxSizing","transition","translate","transformOrigin","scale","opacity","ListBoxPopover","props","$","_c","t","t0","t1","t2","t3","undefined","mergedPopoverRef","overlayScrollRef","t4","t5","t6","t7","targetRef","overlayRef","scrollRef","placement","offset","overlayProps","overlayPositionProps","t8","style","t9","maxHeight","maxWidth","positionStyle","t10","t11","current","t12","el","menuTriggerEl","closest","contains","getOutsidePressBehavior","t13","el_0","behavior","setTimeout","t14","shouldCloseOnBlur","isDismissable","shouldCloseOnInteractOutside","overlayBehaviorProps","t15","event","preventDefault","preserveOutsidePressFocus","t16","t17","ref","onInteractOutsideStart","onInteractOutside","t18","split","placementDirection","transitionRefHolder","t19","Symbol","for","node","setScrollRef","t20","t21","phase","isShown","isExiting","transitionRef","open","overlayContent"],"sources":["../../../../src/components/fields/ListBoxPopover/ListBoxPopover.tsx"],"sourcesContent":["import { getEventTarget, isFocusWithin } from '@react-aria/utils';\nimport { Key } from '@react-types/shared';\nimport { Styles, tasty } from '@tenphi/tasty';\nimport React, {\n CSSProperties,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useRef,\n} from 'react';\nimport { useInteractOutside, useOverlay, useOverlayPosition } from 'react-aria';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { useI18n } from '../../../i18n';\nimport { mergeProps } from '../../../utils/react';\nimport { DisplayTransition } from '../../helpers';\nimport { Portal } from '../../portal';\nimport { ListBox } from '../ListBox/ListBox';\n\nexport interface ListBoxPopoverProps {\n isOpen: boolean;\n triggerRef: RefObject<HTMLElement>;\n popoverRef: RefObject<HTMLDivElement>;\n listBoxRef: RefObject<HTMLDivElement>;\n direction: 'bottom' | 'top';\n shouldFlip: boolean;\n overlayOffset: number;\n containerPadding: number;\n /** Min width (px) for the overlay; usually the trigger's width. */\n comboBoxWidth?: number;\n /** Stable id used for the ListBox element and aria-controls wiring. */\n listBoxId: string;\n overlayStyles?: Styles;\n listBoxStyles?: Styles;\n optionStyles?: Styles;\n /** Substring to highlight within each option's (text) children. */\n optionHighlight?: string;\n sectionStyles?: Styles;\n headingStyles?: Styles;\n /** Space between options, in pixels. Defaults to a hairline (`1bw`). */\n listGap?: number;\n selectedKey?: Key | null;\n /**\n * `'multiple'` lets the list hold several selected options. The list then\n * reports the whole new selection on every toggle and never closes itself;\n * the caller decides what a toggle means. Defaults to `'single'`.\n */\n selectionMode?: 'single' | 'multiple';\n /** The selected keys in `'multiple'` mode. Ignored in `'single'` mode. */\n selectedKeys?: Key[];\n /** Whether options show a checkbox. Only applies in `'multiple'` mode. */\n isCheckable?: boolean;\n /**\n * Whether a click inside the element `triggerRef` points at closes the\n * popover, like any other outside click. Pass `false` when that element is\n * where the user keeps working with the list open, such as an input that\n * picks several options in a row. Only this popover is affected; others\n * still close. Defaults to `true`.\n */\n shouldCloseOnTriggerInteraction?: boolean;\n /**\n * Whether an outside press on a control (a button, a link, a form control,\n * anything with `tabindex`, or something inside one) reaches it, as one on\n * a `data-popover-dismiss` control does: the control can take focus, and\n * the popover closes after it, so a native Save button saves on the first\n * click. A press anywhere else, such as a dialog's backdrop, still only\n * closes the popover. Defaults to `false`.\n */\n shouldPassControlPresses?: boolean;\n isDisabled?: boolean;\n disabledKeys?: Iterable<Key>;\n items?: Iterable<any>;\n children: ReactNode;\n /** Ref through which the ListBox exposes its internal list state. */\n listStateRef: RefObject<any>;\n onSelectionChange: (selection: Key | Key[] | null) => void;\n onClose: () => void;\n label?: ReactNode;\n ariaLabel?: string;\n /**\n * Ids of the elements that name the field, read after `label` or\n * `ariaLabel`. Without either, they alone name the list, in place of the\n * generic \"Options\".\n */\n ariaLabelledby?: string;\n compositeFocusProps: {\n onFocus: (e: React.FocusEvent) => void;\n onBlur: (e: React.FocusEvent) => void;\n };\n /** Collection node filter applied to the ListBox. */\n filter?: (nodes: Iterable<any>) => Iterable<any>;\n size?: 'small' | 'medium' | 'large' | (string & {});\n /**\n * Label shown when the list is empty (no items / no filter results).\n * Forwarded to the inner ListBox.\n */\n emptyLabel?: ReactNode;\n /**\n * Element to anchor the overlay to geometrically. Defaults to `triggerRef`.\n * Use this to anchor to something other than the trigger (e.g. the caret in\n * a textarea) while keeping `triggerRef` for outside-click/dismiss logic.\n */\n positionTargetRef?: RefObject<Element | null>;\n /**\n * Receives an imperative handle exposing `updatePosition()` so the caller can\n * force the overlay to re-anchor (e.g. when the caret moves).\n */\n positionApiRef?: RefObject<{ updatePosition: () => void } | null>;\n}\n\n// What `shouldPassControlPresses` lets an outside press reach.\nconst CONTROL_SELECTOR =\n 'button, a[href], input, select, textarea, [tabindex], [contenteditable]:not([contenteditable=\"false\"])';\n\nconst ListBoxPopoverWrapper = tasty({\n qa: 'ComboBoxOverlayWrapper',\n styles: {\n position: 'absolute',\n zIndex: 1000,\n },\n});\n\nconst ListBoxPopoverElement = tasty({\n qa: 'ComboBoxOverlay',\n styles: {\n display: 'grid',\n gridRows: '1sf',\n gridColumns: '1sf',\n width: '$overlay-min-width max-content 50vw',\n height: 'initial max-content (50vh - 5x)',\n overflow: 'auto',\n fill: '#surface',\n radius: '1cr',\n shadow: true,\n padding: '0',\n border: '#border',\n hide: {\n '': false,\n hidden: true,\n },\n boxSizing: 'border-box',\n transition:\n 'translate $transition ease-out, scale $transition ease-out, theme $transition ease-out',\n translate: {\n '': '0 0',\n 'open & [data-placement=\"top\"]': '0 0',\n '!open & [data-placement=\"top\"]': '0 1x',\n 'open & ([data-placement=\"bottom\"] | ![data-placement])': '0 0',\n '!open & ([data-placement=\"bottom\"] | ![data-placement])': '0 -1x',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n },\n scale: {\n '': '1 1',\n '!open': '1 .9',\n },\n opacity: {\n '': 1,\n '!open': 0.001,\n },\n\n '$overlay-min-width': 'min 30x',\n },\n});\n\nexport const ListBoxPopover = function ListBoxPopover(\n props: ListBoxPopoverProps,\n) {\n const { t } = useI18n();\n const {\n isOpen,\n triggerRef,\n popoverRef,\n listBoxRef,\n direction,\n shouldFlip,\n overlayOffset,\n containerPadding,\n comboBoxWidth,\n listBoxId,\n overlayStyles,\n listBoxStyles,\n optionStyles,\n optionHighlight,\n sectionStyles,\n headingStyles,\n listGap,\n selectedKey,\n selectionMode = 'single',\n selectedKeys,\n isCheckable,\n shouldCloseOnTriggerInteraction = true,\n shouldPassControlPresses = false,\n isDisabled,\n disabledKeys,\n items,\n children,\n listStateRef,\n onSelectionChange,\n onClose,\n label,\n ariaLabel,\n ariaLabelledby,\n compositeFocusProps,\n filter,\n size = 'medium',\n emptyLabel,\n positionTargetRef,\n positionApiRef,\n } = props;\n\n const mergedPopoverRef = popoverRef;\n\n // Ref to the inner scrollable element (the visible popover). react-aria\n // measures this for its flip/shrink math and writes maxHeight onto the\n // overlay (positioning wrapper); we forward that maxHeight to this element\n // below so the scroll container actually shrinks instead of overflowing.\n const overlayScrollRef = useRef<HTMLDivElement | null>(null);\n\n // Overlay positioning — anchor to the explicit position target when given\n // (e.g. a caret anchor), otherwise to the trigger. `triggerRef` is still\n // used below for outside-click/dismiss behavior.\n const {\n overlayProps: overlayPositionProps,\n placement,\n updatePosition,\n } = useOverlayPosition({\n targetRef: (positionTargetRef ?? triggerRef) as any,\n overlayRef: mergedPopoverRef as any,\n scrollRef: overlayScrollRef as any,\n placement: `${direction} start` as any,\n shouldFlip,\n isOpen,\n offset: overlayOffset,\n containerPadding: containerPadding,\n });\n\n // Keep positioning (top/left/zIndex) on the wrapper, but split out the\n // available-space cap so it can be applied to the inner scroll element.\n const { maxHeight, maxWidth, ...positionStyle } =\n (overlayPositionProps.style ?? {}) as CSSProperties;\n\n // Expose updatePosition so callers can re-anchor on demand (e.g. caret move).\n useEffect(() => {\n if (positionApiRef) {\n positionApiRef.current = { updatePosition };\n }\n return () => {\n if (positionApiRef) {\n positionApiRef.current = null;\n }\n };\n }, [positionApiRef, updatePosition]);\n\n const getOutsidePressBehavior = (el: Element) => {\n const menuTriggerEl = el.closest('[data-popover-trigger]');\n if (menuTriggerEl) {\n return menuTriggerEl === triggerRef.current ? 'consume' : 'ignore';\n }\n if (\n (!shouldCloseOnTriggerInteraction && triggerRef.current?.contains(el)) ||\n el.closest('[data-popover-keep]')\n ) {\n return 'ignore';\n }\n if (\n (shouldPassControlPresses && el.closest(CONTROL_SELECTOR)) ||\n el.closest('[data-popover-dismiss]')\n ) {\n return 'pass';\n }\n return 'consume';\n };\n\n // Overlay behavior (dismiss on outside click, escape)\n const { overlayProps: overlayBehaviorProps } = useOverlay(\n {\n onClose,\n shouldCloseOnBlur: true,\n isOpen,\n isDismissable: true,\n shouldCloseOnInteractOutside: (el) => {\n const behavior = getOutsidePressBehavior(el);\n if (behavior === 'pass') {\n // Leave the control's press intact and close after its action.\n setTimeout(onClose, 0);\n }\n return behavior === 'consume';\n },\n },\n mergedPopoverRef as any,\n );\n\n const preserveOutsidePressFocus = useEvent((event: PointerEvent) => {\n if (\n (isFocusWithin(triggerRef.current) ||\n isFocusWithin(mergedPopoverRef.current)) &&\n getOutsidePressBehavior(getEventTarget(event) as Element) === 'consume'\n ) {\n event.preventDefault();\n }\n });\n\n // Aria now permits outside presses to move focus. Consumed presses must\n // only dismiss this list; a blur would also commit the field's draft.\n useInteractOutside({\n ref: mergedPopoverRef,\n isDisabled: !isOpen,\n onInteractOutsideStart: preserveOutsidePressFocus,\n onInteractOutside: preserveOutsidePressFocus,\n });\n\n // Extract primary placement direction for consistent styling\n const placementDirection = placement?.split(' ')[0] || direction;\n\n // Hold the DisplayTransition ref so we can bind the same node to both the\n // transition listener and our scroll ref via a single stable callback.\n const transitionRefHolder = useRef<\n ((node: HTMLElement | null) => void) | null\n >(null);\n const setScrollRef = useCallback((node: HTMLElement | null) => {\n overlayScrollRef.current = node as HTMLDivElement | null;\n transitionRefHolder.current?.(node);\n }, []);\n\n const overlayContent = (\n <DisplayTransition isShown={isOpen}>\n {({ phase, isShown, isExiting, ref: transitionRef }) => {\n transitionRefHolder.current = transitionRef;\n return (\n <ListBoxPopoverWrapper\n {...mergeProps(\n { ...overlayPositionProps, style: positionStyle },\n overlayBehaviorProps,\n compositeFocusProps,\n )}\n ref={mergedPopoverRef}\n style={positionStyle}\n // A press on the list while it fades out must not close the\n // overlay under it (CUB-5293) — see `Overlay`.\n data-react-aria-top-layer={isExiting || undefined}\n >\n <ListBoxPopoverElement\n ref={setScrollRef}\n data-placement={placementDirection}\n data-phase={phase}\n mods={{\n open: isShown,\n hidden: phase === 'unmounted',\n }}\n styles={overlayStyles}\n style={{\n '--overlay-min-width': comboBoxWidth\n ? `${comboBoxWidth}px`\n : undefined,\n maxHeight,\n maxWidth,\n }}\n >\n <ListBox\n ref={listBoxRef}\n disableSelectionToggle\n id={listBoxId}\n aria-label={\n ariaLabel ||\n (typeof label === 'string'\n ? label\n : ariaLabelledby\n ? undefined\n : t('listBoxPopover.options', 'Options'))\n }\n aria-labelledby={ariaLabelledby}\n // Left unset in single mode, as before this prop existed: an\n // explicit `'single'` switches on ListBox's no-toggle branch,\n // which changes what re-picking the selected option does.\n selectionMode={\n selectionMode === 'multiple' ? 'multiple' : undefined\n }\n selectedKey={\n selectionMode === 'single' ? selectedKey : undefined\n }\n selectedKeys={\n selectionMode === 'multiple' ? selectedKeys : undefined\n }\n isCheckable={\n selectionMode === 'multiple' ? isCheckable : undefined\n }\n isDisabled={isDisabled}\n disabledKeys={disabledKeys}\n shouldUseVirtualFocus={true}\n items={items as any}\n filter={filter}\n styles={listBoxStyles}\n optionStyles={optionStyles}\n optionHighlight={optionHighlight}\n sectionStyles={sectionStyles}\n headingStyles={headingStyles}\n listGap={listGap}\n stateRef={listStateRef}\n shape=\"popover\"\n emptyLabel={emptyLabel}\n onSelectionChange={onSelectionChange}\n >\n {children as any}\n </ListBox>\n </ListBoxPopoverElement>\n </ListBoxPopoverWrapper>\n );\n }}\n </DisplayTransition>\n );\n\n return <Portal>{overlayContent}</Portal>;\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
 
2
2
  import "./ListBoxPopover.js";
3
- import "./useCompositeFocus.js";
3
+ import { CompositeBlurInfo, UseCompositeFocusProps, UseCompositeFocusReturn, useCompositeFocus } from "./useCompositeFocus.js";
4
4
  import { ListStateLike, TextFilterFn } from "./listNavigation.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  //#region src/components/fields/ListBoxPopover/listNavigation.ts
3
3
  /**
4
4
  * Walks a collection (possibly nested under sections) and collects the keys of
@@ -1,2 +1,49 @@
1
1
 
2
- import { FocusEvent, RefObject } from "react";
2
+ import { FocusEvent, RefObject } from "react";
3
+
4
+ //#region src/components/fields/ListBoxPopover/useCompositeFocus.d.ts
5
+ interface CompositeBlurInfo {
6
+ /**
7
+ * Focus left for a mousedown outside, and that press has not ended yet. A
8
+ * layout change made now moves the control under the pointer.
9
+ */
10
+ isPressing: boolean;
11
+ }
12
+ interface UseCompositeFocusProps {
13
+ wrapperRef: RefObject<HTMLElement>;
14
+ popoverRef: RefObject<HTMLElement>;
15
+ onFocus?: () => void;
16
+ onBlur?: (info: CompositeBlurInfo) => void;
17
+ isDisabled?: boolean;
18
+ }
19
+ interface UseCompositeFocusReturn {
20
+ compositeFocusProps: {
21
+ onFocus: (e: FocusEvent) => void;
22
+ onBlur: (e: FocusEvent) => void;
23
+ };
24
+ }
25
+ /**
26
+ * Tracks focus across a wrapper element and its (portaled) popover as a single
27
+ * logical focus scope. Fires `onFocus` when focus enters either and `onBlur`
28
+ * when it leaves both — essential for components whose overlay is portaled, so
29
+ * that clicking an option does not look like a blur of the whole component.
30
+ *
31
+ * Focus entering is reported as it happens. Focus leaving is too when the blur
32
+ * names where focus went (`relatedTarget`), so it runs before the click that
33
+ * caused it: a Save button sees what leaving the field committed, and an
34
+ * `onFocus` runs before a change made in the same press. A blur to nowhere
35
+ * (a node removed under focus, a programmatic `blur()`, a hop through the
36
+ * body) is checked a frame later, and focus that is back by then reports
37
+ * nothing. One caused by a mousedown outside is final and reported at once:
38
+ * Safari leaves focus nowhere when a button is clicked.
39
+ */
40
+ declare function useCompositeFocus({
41
+ wrapperRef,
42
+ popoverRef,
43
+ onFocus,
44
+ onBlur,
45
+ isDisabled
46
+ }: UseCompositeFocusProps): UseCompositeFocusReturn;
47
+ //#endregion
48
+ export { CompositeBlurInfo, UseCompositeFocusProps, UseCompositeFocusReturn, useCompositeFocus };
49
+ //# sourceMappingURL=useCompositeFocus.d.ts.map
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { useEffect, useRef } from "react";
@@ -1,13 +1,13 @@
1
1
 
2
2
  import { FieldBaseProps, TextFieldKeyboardProps } from "../../../shared/form.js";
3
- import { WithNullableValue } from "../../../utils/react/nullableValue.js";
4
3
  import { CubeTextInputBaseProps } from "../TextInput/TextInputBase.js";
5
4
  import "../TextInput/index.js";
6
5
  import * as react from "react";
7
6
  import { AriaNumberFieldProps as AriaNumberFieldProps$1 } from "react-aria";
7
+ import { TextInputDOMEvents } from "@react-types/shared";
8
8
 
9
9
  //#region src/components/fields/NumberInput/NumberInput.d.ts
10
- interface CubeNumberInputProps extends Omit<CubeTextInputBaseProps, 'defaultValue' | 'value' | 'onChange' | 'field'>, Omit<AriaNumberFieldProps$1, 'validate' | 'form' | 'name'>, TextFieldKeyboardProps {
10
+ interface CubeNumberInputProps extends Omit<CubeTextInputBaseProps, 'defaultValue' | 'value' | 'onChange' | 'field' | 'validate' | 'onFocus' | 'onBlur' | keyof TextInputDOMEvents>, Omit<AriaNumberFieldProps$1, 'form' | 'name' | 'errorMessage' | 'onKeyDown' | 'onKeyUp'>, TextFieldKeyboardProps {
11
11
  field?: FieldBaseProps<number | null | undefined>['field'];
12
12
  /** Whether or to hide stepper */
13
13
  hideStepper?: boolean;
@@ -15,7 +15,10 @@ interface CubeNumberInputProps extends Omit<CubeTextInputBaseProps, 'defaultValu
15
15
  /**
16
16
  * NumberFields allow users to enter a number and increment or decrement the value using stepper buttons.
17
17
  */
18
- declare const _NumberInput: react.ForwardRefExoticComponent<Omit<WithNullableValue<CubeNumberInputProps>, "ref"> & react.RefAttributes<HTMLElement>>;
18
+ declare const _NumberInput: react.ForwardRefExoticComponent<Omit<CubeNumberInputProps, "value" | "defaultValue"> & {
19
+ value?: any;
20
+ defaultValue?: any;
21
+ } & react.RefAttributes<HTMLElement>>;
19
22
  //#endregion
20
23
  export { type AriaNumberFieldProps$1 as AriaNumberFieldProps, CubeNumberInputProps, _NumberInput };
21
24
  //# sourceMappingURL=NumberInput.d.ts.map