@cube-dev/ui-kit 0.179.0 → 0.181.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (686) hide show
  1. package/dist/CHANGELOG.md +28 -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.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +1 -1
  16. package/dist/components/actions/Action/Action.js +1 -1
  17. package/dist/components/actions/Banner/Banner.js +1 -1
  18. package/dist/components/actions/Button/Button.d.ts +1 -0
  19. package/dist/components/actions/Button/Button.js +3 -3
  20. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  21. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  22. package/dist/components/actions/ButtonSplit/context.js +1 -1
  23. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  24. package/dist/components/actions/CommandMenu/styled.js +1 -1
  25. package/dist/components/actions/ItemAction/ItemAction.js +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/MenuItem.js +1 -1
  32. package/dist/components/actions/Menu/MenuSection.js +1 -1
  33. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  36. package/dist/components/actions/Menu/context.js +1 -1
  37. package/dist/components/actions/Menu/styled.js +1 -1
  38. package/dist/components/actions/actions-run.js +1 -1
  39. package/dist/components/actions/index.js +1 -1
  40. package/dist/components/actions/use-action.js +1 -1
  41. package/dist/components/actions/use-anchored-menu.js +1 -1
  42. package/dist/components/actions/use-context-menu.js +1 -1
  43. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  44. package/dist/components/content/Alert/Alert.js +1 -1
  45. package/dist/components/content/Alert/use-alert.js +1 -1
  46. package/dist/components/content/Avatar/Avatar.js +1 -1
  47. package/dist/components/content/Badge/Badge.js +1 -1
  48. package/dist/components/content/Card/Card.js +1 -1
  49. package/dist/components/content/Content.js +1 -1
  50. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  51. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  52. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  53. package/dist/components/content/Divider.js +1 -1
  54. package/dist/components/content/Footer.js +1 -1
  55. package/dist/components/content/Header.js +1 -1
  56. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  57. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  58. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  59. package/dist/components/content/Item/Item.js +2 -2
  60. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  61. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  62. package/dist/components/content/Layout/GridLayout.js +1 -1
  63. package/dist/components/content/Layout/Layout.js +1 -1
  64. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  65. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  66. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  67. package/dist/components/content/Layout/LayoutContent.js +1 -1
  68. package/dist/components/content/Layout/LayoutContext.js +1 -1
  69. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  70. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  71. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  72. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  73. package/dist/components/content/Layout/LayoutPane.js +1 -1
  74. package/dist/components/content/Layout/LayoutPanel.js +2 -2
  75. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  76. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  77. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  78. package/dist/components/content/Layout/index.js +1 -1
  79. package/dist/components/content/Layout/utils.js +1 -1
  80. package/dist/components/content/Paragraph.js +1 -1
  81. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  82. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  83. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  84. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  85. package/dist/components/content/Result/Result.js +1 -1
  86. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  87. package/dist/components/content/Tag/Tag.js +1 -1
  88. package/dist/components/content/Text.js +1 -1
  89. package/dist/components/content/TextItem/TextItem.js +1 -1
  90. package/dist/components/content/Title.js +1 -1
  91. package/dist/components/content/Tree/Tree.js +1 -1
  92. package/dist/components/content/Tree/TreeNode.js +1 -1
  93. package/dist/components/content/Tree/styled.js +1 -1
  94. package/dist/components/content/Tree/tree-index.js +1 -1
  95. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  96. package/dist/components/content/Tree/use-load-data.js +1 -1
  97. package/dist/components/content/highlightText.js +1 -1
  98. package/dist/components/content/use-auto-tooltip.js +1 -1
  99. package/dist/components/data/DataTable/DataTable.js +1 -1
  100. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  101. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  102. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  103. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  104. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  105. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  106. package/dist/components/data/TableBase/RowCollection.js +1 -1
  107. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  108. package/dist/components/data/TableBase/TableRow.js +1 -1
  109. package/dist/components/data/TableBase/TableView.js +1 -1
  110. package/dist/components/data/TableBase/column-menu.js +1 -1
  111. package/dist/components/data/TableBase/column-tint.js +1 -1
  112. package/dist/components/data/TableBase/row-menu.js +1 -1
  113. package/dist/components/data/TableBase/styled.d.ts +2 -1
  114. package/dist/components/data/TableBase/styled.js +1 -1
  115. package/dist/components/data/TableBase/table-tree.js +1 -1
  116. package/dist/components/data/TableBase/types.js +1 -1
  117. package/dist/components/data/TableBase/use-cell-selection.d.ts +1 -0
  118. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  119. package/dist/components/data/TableBase/use-column-order.js +1 -1
  120. package/dist/components/data/TableBase/use-container-width.js +1 -1
  121. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  122. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  123. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  124. package/dist/components/data/TableBase/use-table-search.js +1 -1
  125. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  126. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  127. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  128. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  129. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  130. package/dist/components/fields/Checkbox/Checkbox.d.ts +10 -1
  131. package/dist/components/fields/Checkbox/Checkbox.js +4 -5
  132. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  133. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +1 -1
  134. package/dist/components/fields/Checkbox/CheckboxGroup.js +3 -3
  135. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  136. package/dist/components/fields/Checkbox/context.js +1 -1
  137. package/dist/components/fields/ColorInput/ColorInput.d.ts +1 -1
  138. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  139. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  140. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +1 -1
  141. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  142. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  143. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  144. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +1 -1
  145. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  146. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  147. package/dist/components/fields/ComboBox/ComboBox.d.ts +1 -1
  148. package/dist/components/fields/ComboBox/ComboBox.js +8 -2
  149. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  150. package/dist/components/fields/CommandTextArea/CommandTextArea.js +2 -2
  151. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  152. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  153. package/dist/components/fields/CommandTextArea/caretPosition.js.map +1 -1
  154. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  155. package/dist/components/fields/DatePicker/DateInput.d.ts +1 -1
  156. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  157. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  158. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  159. package/dist/components/fields/DatePicker/DatePicker.d.ts +1 -1
  160. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  161. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  162. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  163. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  164. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  165. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  166. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  167. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +4 -1
  168. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  169. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  170. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +4 -1
  171. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  172. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  173. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  174. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +1 -1
  175. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  176. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  177. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  178. package/dist/components/fields/DatePicker/TimeInput.d.ts +1 -1
  179. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  180. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  181. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  182. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  183. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  184. package/dist/components/fields/DatePicker/period.js +1 -1
  185. package/dist/components/fields/DatePicker/props.js +1 -1
  186. package/dist/components/fields/DatePicker/utils.js +1 -1
  187. package/dist/components/fields/FileInput/FileInput.d.ts +6 -1
  188. package/dist/components/fields/FileInput/FileInput.js +38 -29
  189. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  190. package/dist/components/fields/FilterListBox/FilterListBox.d.ts +1 -1
  191. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  192. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  193. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +1 -1
  194. package/dist/components/fields/FilterPicker/FilterPicker.js +8 -5
  195. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  196. package/dist/components/fields/Input/Input.js +1 -1
  197. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  198. package/dist/components/fields/ListBox/ListBox.d.ts +1 -1
  199. package/dist/components/fields/ListBox/ListBox.js +5 -3
  200. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  201. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  202. package/dist/components/fields/ListBoxPopover/index.d.ts +1 -0
  203. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  204. package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +2 -0
  205. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  206. package/dist/components/fields/NumberInput/NumberInput.d.ts +3 -1
  207. package/dist/components/fields/NumberInput/NumberInput.js +3 -3
  208. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  209. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  210. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  211. package/dist/components/fields/Picker/Picker.d.ts +1 -1
  212. package/dist/components/fields/Picker/Picker.js +8 -5
  213. package/dist/components/fields/Picker/Picker.js.map +1 -1
  214. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  215. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +1 -1
  216. package/dist/components/fields/RadioGroup/RadioGroup.js +3 -3
  217. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  218. package/dist/components/fields/RadioGroup/context.js +1 -1
  219. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  220. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  221. package/dist/components/fields/Select/Select.d.ts +1 -1
  222. package/dist/components/fields/Select/Select.js +16 -2
  223. package/dist/components/fields/Select/Select.js.map +1 -1
  224. package/dist/components/fields/Slider/Gradation.js +1 -1
  225. package/dist/components/fields/Slider/HueSlider.js +1 -1
  226. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  227. package/dist/components/fields/Slider/Slider.js +1 -1
  228. package/dist/components/fields/Slider/SliderBase.js +2 -2
  229. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  230. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  231. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  232. package/dist/components/fields/Slider/elements.js +1 -1
  233. package/dist/components/fields/Slider/index.js +1 -1
  234. package/dist/components/fields/Slider/types.d.ts +1 -1
  235. package/dist/components/fields/Switch/Switch.d.ts +5 -1
  236. package/dist/components/fields/Switch/Switch.js +1 -1
  237. package/dist/components/fields/Switch/Switch.js.map +1 -1
  238. package/dist/components/fields/TextArea/TextArea.d.ts +2 -0
  239. package/dist/components/fields/TextArea/TextArea.js +1 -1
  240. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  241. package/dist/components/fields/TextInput/TextInput.d.ts +4 -1
  242. package/dist/components/fields/TextInput/TextInput.js +1 -1
  243. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  244. package/dist/components/fields/TextInput/TextInputBase.d.ts +1 -1
  245. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  246. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  247. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  248. package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +1 -1
  249. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  250. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  251. package/dist/components/fields/TriggerActions.js +1 -1
  252. package/dist/components/fields/color/ColorPanel.js +1 -1
  253. package/dist/components/fields/color/channels.js +1 -1
  254. package/dist/components/fields/color/color.js +1 -1
  255. package/dist/components/fields/color/context.js +1 -1
  256. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  257. package/dist/components/form/Form/Field.d.ts +2 -0
  258. package/dist/components/form/Form/Field.js +1 -1
  259. package/dist/components/form/Form/Field.js.map +1 -1
  260. package/dist/components/form/Form/Form.d.ts +38 -2
  261. package/dist/components/form/Form/Form.js +86 -16
  262. package/dist/components/form/Form/Form.js.map +1 -1
  263. package/dist/components/form/Form/ModernFormRoot.d.ts +24 -0
  264. package/dist/components/form/Form/ModernFormRoot.js +115 -0
  265. package/dist/components/form/Form/ModernFormRoot.js.map +1 -0
  266. package/dist/components/form/Form/ResetButton/ResetButton.d.ts +2 -1
  267. package/dist/components/form/Form/ResetButton/ResetButton.js +17 -2
  268. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  269. package/dist/components/form/Form/SubmitButton/SubmitButton.d.ts +4 -1
  270. package/dist/components/form/Form/SubmitButton/SubmitButton.js +18 -3
  271. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  272. package/dist/components/form/Form/SubmitError.d.ts +8 -2
  273. package/dist/components/form/Form/SubmitError.js +33 -3
  274. package/dist/components/form/Form/SubmitError.js.map +1 -1
  275. package/dist/components/form/Form/backend.d.ts +25 -0
  276. package/dist/components/form/Form/backend.js +30 -0
  277. package/dist/components/form/Form/backend.js.map +1 -0
  278. package/dist/components/form/Form/index.d.ts +26 -8
  279. package/dist/components/form/Form/index.js +10 -2
  280. package/dist/components/form/Form/index.js.map +1 -1
  281. package/dist/components/form/Form/modern/actions.js +59 -0
  282. package/dist/components/form/Form/modern/actions.js.map +1 -0
  283. package/dist/components/form/Form/modern/context.d.ts +12 -0
  284. package/dist/components/form/Form/modern/context.js +14 -0
  285. package/dist/components/form/Form/modern/context.js.map +1 -0
  286. package/dist/components/form/Form/modern/controller.d.ts +34 -0
  287. package/dist/components/form/Form/modern/controller.js +59 -0
  288. package/dist/components/form/Form/modern/controller.js.map +1 -0
  289. package/dist/components/form/Form/modern/field-binding.js +59 -0
  290. package/dist/components/form/Form/modern/field-binding.js.map +1 -0
  291. package/dist/components/form/Form/modern/field.d.ts +30 -0
  292. package/dist/components/form/Form/modern/field.js +23 -0
  293. package/dist/components/form/Form/modern/field.js.map +1 -0
  294. package/dist/components/form/Form/modern/path-types.d.ts +16 -0
  295. package/dist/components/form/Form/modern/react.d.ts +26 -0
  296. package/dist/components/form/Form/modern/react.js +45 -0
  297. package/dist/components/form/Form/modern/react.js.map +1 -0
  298. package/dist/components/form/Form/modern/read-types.d.ts +11 -0
  299. package/dist/components/form/Form/modern/store.js +876 -0
  300. package/dist/components/form/Form/modern/store.js.map +1 -0
  301. package/dist/components/form/Form/modern/types.d.ts +189 -0
  302. package/dist/components/form/Form/modern/validation.d.ts +28 -0
  303. package/dist/components/form/Form/modern/validation.js +41 -0
  304. package/dist/components/form/Form/modern/validation.js.map +1 -0
  305. package/dist/components/form/Form/modern/values.d.ts +7 -0
  306. package/dist/components/form/Form/modern/values.js +158 -0
  307. package/dist/components/form/Form/modern/values.js.map +1 -0
  308. package/dist/components/form/Form/use-field/types.d.ts +4 -1
  309. package/dist/components/form/Form/use-field/use-field-binding.js +97 -0
  310. package/dist/components/form/Form/use-field/use-field-binding.js.map +1 -0
  311. package/dist/components/form/Form/use-field/use-field-props.d.ts +14 -1
  312. package/dist/components/form/Form/use-field/use-field-props.js +80 -52
  313. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  314. package/dist/components/form/Form/use-field/use-field.d.ts +9 -1
  315. package/dist/components/form/Form/use-field/use-field.js +47 -22
  316. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  317. package/dist/components/form/Form/use-form.d.ts +4 -1
  318. package/dist/components/form/Form/use-form.js +6 -2
  319. package/dist/components/form/Form/use-form.js.map +1 -1
  320. package/dist/components/form/Form/validation.js +2 -2
  321. package/dist/components/form/Label.js +1 -1
  322. package/dist/components/form/index.d.ts +11 -3
  323. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  324. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  325. package/dist/components/form/validation/use-validation-props.js +1 -1
  326. package/dist/components/form/wrapper.js +1 -1
  327. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  328. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  329. package/dist/components/layout/Board/Board.js +1 -1
  330. package/dist/components/layout/Board/BoardProvider.js +1 -1
  331. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  332. package/dist/components/layout/Board/Widget.js +1 -1
  333. package/dist/components/layout/Board/WidgetHost.js +1 -1
  334. package/dist/components/layout/Board/board-context.js +1 -1
  335. package/dist/components/layout/Board/board-store.js +1 -1
  336. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  337. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  338. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  339. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  340. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  341. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  342. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  343. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  344. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  345. package/dist/components/layout/Board/index.js +1 -1
  346. package/dist/components/layout/Board/responsive-utils.js +1 -1
  347. package/dist/components/layout/Board/use-board-layout.js +1 -1
  348. package/dist/components/layout/Board/use-board-registry.js +1 -1
  349. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  350. package/dist/components/layout/Board/use-board-selection.js +1 -1
  351. package/dist/components/layout/Flex.js +1 -1
  352. package/dist/components/layout/Flow.js +1 -1
  353. package/dist/components/layout/Grid.js +1 -1
  354. package/dist/components/layout/Panel.js +1 -1
  355. package/dist/components/layout/Prefix.js +1 -1
  356. package/dist/components/layout/ResizablePanel.js +1 -1
  357. package/dist/components/layout/Space.js +1 -1
  358. package/dist/components/layout/Suffix.js +1 -1
  359. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  360. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  361. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  362. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  363. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  364. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  365. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  366. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  367. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  368. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  369. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  370. package/dist/components/navigation/Tabs/styled.js +1 -1
  371. package/dist/components/navigation/Tabs/types.js +1 -1
  372. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  373. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  374. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  375. package/dist/components/other/Calendar/Calendar.js +1 -1
  376. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  377. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  378. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  379. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  380. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  381. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  382. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  383. package/dist/components/other/Calendar/styled.js +1 -1
  384. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  385. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  386. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  387. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  388. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  389. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  390. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  391. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  392. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  393. package/dist/components/overlays/Dialog/context.js +1 -1
  394. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  395. package/dist/components/overlays/Modal/Modal.d.ts +2 -1
  396. package/dist/components/overlays/Modal/Modal.js +1 -1
  397. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  398. package/dist/components/overlays/Modal/Overlay.d.ts +1 -0
  399. package/dist/components/overlays/Modal/Overlay.js +8 -2
  400. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  401. package/dist/components/overlays/Modal/Popover.js +4 -2
  402. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  403. package/dist/components/overlays/Modal/Tray.js +1 -1
  404. package/dist/components/overlays/Modal/Underlay.js +1 -1
  405. package/dist/components/overlays/Modal/types.d.ts +1 -0
  406. package/dist/components/overlays/Notifications/Notification.js +1 -1
  407. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  408. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  409. package/dist/components/overlays/Notifications/NotificationContext.d.ts +2 -0
  410. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  411. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  412. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  413. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  414. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  415. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  416. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  417. package/dist/components/overlays/Notifications/index.js +1 -1
  418. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  419. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  420. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  421. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  422. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  423. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  424. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  425. package/dist/components/overlays/Toast/index.js +1 -1
  426. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  427. package/dist/components/overlays/Toast/useToast.js +1 -1
  428. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  429. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  430. package/dist/components/overlays/Tooltip/TooltipTrigger.js +12 -2
  431. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  432. package/dist/components/overlays/Tooltip/context.js +1 -1
  433. package/dist/components/portal/Portal.js +1 -1
  434. package/dist/components/portal/PortalProvider.d.ts +2 -0
  435. package/dist/components/portal/PortalProvider.js +1 -1
  436. package/dist/components/portal/index.d.ts +1 -0
  437. package/dist/components/portal/usePortal.js +1 -1
  438. package/dist/components/shared/DraggableCollection.js +1 -1
  439. package/dist/components/shared/InvalidIcon.js +1 -1
  440. package/dist/components/shared/ValidIcon.js +1 -1
  441. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  442. package/dist/components/status/Spin/Cube.js +1 -1
  443. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  444. package/dist/components/status/Spin/Spin.js +1 -1
  445. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  446. package/dist/data/item-themes.js +1 -1
  447. package/dist/data/themes.js +1 -1
  448. package/dist/eslint-plugin/defaults.generated.js +1 -1
  449. package/dist/eslint-plugin/index.js +1 -1
  450. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  451. package/dist/i18n/I18nProvider.js +1 -1
  452. package/dist/i18n/createFormatter.js +1 -1
  453. package/dist/i18n/index.js +1 -1
  454. package/dist/i18n/instance.js +1 -1
  455. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  456. package/dist/i18n/locales/en-US/uikit.js +1 -1
  457. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  458. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  459. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  460. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  461. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  462. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  463. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  464. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  465. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  466. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  467. package/dist/i18n/locales.js +1 -1
  468. package/dist/i18n/useFormatter.js +1 -1
  469. package/dist/i18n/useI18n.js +1 -1
  470. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  471. package/dist/icons/AdjustmentsIcon.js +1 -1
  472. package/dist/icons/AiIcon.js +1 -1
  473. package/dist/icons/AreaChartIcon.js +1 -1
  474. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  475. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  476. package/dist/icons/BackwardIcon.js +1 -1
  477. package/dist/icons/BarChartIcon.js +1 -1
  478. package/dist/icons/BellFilledIcon.js +1 -1
  479. package/dist/icons/BellIcon.js +1 -1
  480. package/dist/icons/BooleanIcon.js +1 -1
  481. package/dist/icons/CalendarEditIcon.js +1 -1
  482. package/dist/icons/CalendarIcon.js +1 -1
  483. package/dist/icons/CaretDownIcon.js +1 -1
  484. package/dist/icons/CaretUpIcon.js +1 -1
  485. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  486. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  487. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  488. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  489. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  490. package/dist/icons/ChartBarLineIcon.js +1 -1
  491. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  492. package/dist/icons/ChartBarStackedIcon.js +1 -1
  493. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  494. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  495. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  496. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  497. package/dist/icons/ChartBubbleIcon.js +1 -1
  498. package/dist/icons/ChartDonut2Icon.js +1 -1
  499. package/dist/icons/ChartFunnelIcon.js +1 -1
  500. package/dist/icons/ChartHeatmapIcon.js +1 -1
  501. package/dist/icons/ChartKPIIcon.js +1 -1
  502. package/dist/icons/ChartPie2Icon.js +1 -1
  503. package/dist/icons/ChartScatterIcon.js +1 -1
  504. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  505. package/dist/icons/CheckCircleIcon.js +1 -1
  506. package/dist/icons/CheckIcon.js +1 -1
  507. package/dist/icons/CircleFilledIcon.js +1 -1
  508. package/dist/icons/ClearIcon.js +1 -1
  509. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  510. package/dist/icons/CloseCircleIcon.js +1 -1
  511. package/dist/icons/CloseIcon.js +1 -1
  512. package/dist/icons/CodeIcon.js +1 -1
  513. package/dist/icons/ColumnTotalIcon.js +1 -1
  514. package/dist/icons/CopyIcon.js +1 -1
  515. package/dist/icons/CountIcon.js +1 -1
  516. package/dist/icons/CubeIcon.js +1 -1
  517. package/dist/icons/CubePauseIcon.js +1 -1
  518. package/dist/icons/CubePlayIcon.js +1 -1
  519. package/dist/icons/CurrencyDollarIcon.js +1 -1
  520. package/dist/icons/DangerIcon.js +1 -1
  521. package/dist/icons/DashboardIcon.js +1 -1
  522. package/dist/icons/DatabaseIcon.js +1 -1
  523. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  524. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  525. package/dist/icons/DirectionIcon.js +1 -1
  526. package/dist/icons/DonutIcon.js +1 -1
  527. package/dist/icons/DownIcon.js +1 -1
  528. package/dist/icons/EditIcon.js +1 -1
  529. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  530. package/dist/icons/ExclamationCircleIcon.js +1 -1
  531. package/dist/icons/ExclamationIcon.js +1 -1
  532. package/dist/icons/EyeIcon.js +1 -1
  533. package/dist/icons/EyeInvisibleIcon.js +1 -1
  534. package/dist/icons/FilterIcon.js +1 -1
  535. package/dist/icons/FolderFilledIcon.js +1 -1
  536. package/dist/icons/FolderIcon.js +1 -1
  537. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  538. package/dist/icons/FolderOpenIcon.js +1 -1
  539. package/dist/icons/ForwardIcon.js +1 -1
  540. package/dist/icons/GripVerticalIcon.js +1 -1
  541. package/dist/icons/HierarchyIcon.js +1 -1
  542. package/dist/icons/HierarchyOpenIcon.js +1 -1
  543. package/dist/icons/Icon.js +1 -1
  544. package/dist/icons/InfoCircleIcon.js +1 -1
  545. package/dist/icons/InfoIcon.js +1 -1
  546. package/dist/icons/KeyIcon.js +1 -1
  547. package/dist/icons/LeftIcon.js +1 -1
  548. package/dist/icons/LineChartIcon.js +1 -1
  549. package/dist/icons/LoadingIcon.js +1 -1
  550. package/dist/icons/LockFilledIcon.js +1 -1
  551. package/dist/icons/LockIcon.js +1 -1
  552. package/dist/icons/MoreIcon.js +1 -1
  553. package/dist/icons/NotAllowedIcon.js +1 -1
  554. package/dist/icons/Number123Icon.js +1 -1
  555. package/dist/icons/NumberIcon.js +1 -1
  556. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  557. package/dist/icons/PauseCircleIcon.js +1 -1
  558. package/dist/icons/PauseIcon.js +1 -1
  559. package/dist/icons/PercentageIcon.js +1 -1
  560. package/dist/icons/PieChartIcon.js +1 -1
  561. package/dist/icons/PipetteIcon.js +1 -1
  562. package/dist/icons/PlayCircleIcon.js +1 -1
  563. package/dist/icons/PlayIcon.js +1 -1
  564. package/dist/icons/PlusIcon.js +1 -1
  565. package/dist/icons/ProgressBarIcon.js +1 -1
  566. package/dist/icons/ReloadIcon.js +1 -1
  567. package/dist/icons/ReportIcon.js +1 -1
  568. package/dist/icons/ReturnIcon.js +1 -1
  569. package/dist/icons/RightIcon.js +1 -1
  570. package/dist/icons/RowTotalsIcon.js +1 -1
  571. package/dist/icons/SchemeIcon.js +1 -1
  572. package/dist/icons/SearchIcon.js +1 -1
  573. package/dist/icons/SemanticQueryIcon.js +1 -1
  574. package/dist/icons/SettingsIcon.js +1 -1
  575. package/dist/icons/ShieldFilledIcon.js +1 -1
  576. package/dist/icons/ShieldIcon.js +1 -1
  577. package/dist/icons/SlashIcon.js +1 -1
  578. package/dist/icons/SparklesIcon.js +1 -1
  579. package/dist/icons/SqlIcon.js +1 -1
  580. package/dist/icons/StatsIcon.js +1 -1
  581. package/dist/icons/StopIcon.js +1 -1
  582. package/dist/icons/StringIcon.js +1 -1
  583. package/dist/icons/SubtotalsIcon.js +1 -1
  584. package/dist/icons/SwitchIcon.js +1 -1
  585. package/dist/icons/TableIcon.js +1 -1
  586. package/dist/icons/ThumbsDownIcon.js +1 -1
  587. package/dist/icons/ThumbsUpIcon.js +1 -1
  588. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  589. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  590. package/dist/icons/ThunderboltIcon.js +1 -1
  591. package/dist/icons/TimeIcon.js +1 -1
  592. package/dist/icons/TrashIcon.js +1 -1
  593. package/dist/icons/UnlockIcon.js +1 -1
  594. package/dist/icons/UpIcon.js +1 -1
  595. package/dist/icons/UserGroupIcon.js +1 -1
  596. package/dist/icons/UserIcon.js +1 -1
  597. package/dist/icons/UserLockIcon.js +1 -1
  598. package/dist/icons/ViewIcon.js +1 -1
  599. package/dist/icons/WarningFilledIcon.js +1 -1
  600. package/dist/icons/WarningIcon.js +1 -1
  601. package/dist/icons/wrap-icon.js +1 -1
  602. package/dist/index.d.ts +13 -4
  603. package/dist/index.js +4 -4
  604. package/dist/probe/canonicalize.js +1 -1
  605. package/dist/probe/css.js +1 -1
  606. package/dist/probe/index.js +1 -1
  607. package/dist/provider.js +1 -1
  608. package/dist/providers/TrackingProvider.js +1 -1
  609. package/dist/providers/navigationAdapter.default.js +1 -1
  610. package/dist/shared/form.d.ts +28 -6
  611. package/dist/shared/index.d.ts +1 -1
  612. package/dist/tokens/all-tokens.js +1 -1
  613. package/dist/tokens/base.js +1 -1
  614. package/dist/tokens/color-seed.js +1 -1
  615. package/dist/tokens/color-theme.js +1 -1
  616. package/dist/tokens/colors.js +1 -1
  617. package/dist/tokens/layout.js +1 -1
  618. package/dist/tokens/lazy-styles.js +1 -1
  619. package/dist/tokens/legacy-color.js +1 -1
  620. package/dist/tokens/palette-config.js +1 -1
  621. package/dist/tokens/palette.js +1 -1
  622. package/dist/tokens/resolve.js +1 -1
  623. package/dist/tokens/shadows.js +1 -1
  624. package/dist/tokens/sizes.js +1 -1
  625. package/dist/tokens/spacing.js +1 -1
  626. package/dist/tokens/typography.js +1 -1
  627. package/dist/utils/ResizeSensor.js +1 -1
  628. package/dist/utils/colors.js +1 -1
  629. package/dist/utils/dotize.js +1 -1
  630. package/dist/utils/is-dev-env.js +1 -1
  631. package/dist/utils/modules.js +1 -1
  632. package/dist/utils/promise.js +1 -1
  633. package/dist/utils/raf.js +1 -1
  634. package/dist/utils/random.js +1 -1
  635. package/dist/utils/range.js +1 -1
  636. package/dist/utils/react/RenderCache.js +1 -1
  637. package/dist/utils/react/Slots.js +1 -1
  638. package/dist/utils/react/chain.js +1 -1
  639. package/dist/utils/react/disabledProps.js +1 -1
  640. package/dist/utils/react/escapePropagation.js +39 -0
  641. package/dist/utils/react/escapePropagation.js.map +1 -0
  642. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  643. package/dist/utils/react/index.js +1 -1
  644. package/dist/utils/react/interactions.js +1 -1
  645. package/dist/utils/react/isTextOnly.js +1 -1
  646. package/dist/utils/react/mapProps.js +1 -1
  647. package/dist/utils/react/mergeProps.js +1 -1
  648. package/dist/utils/react/nullableValue.js +1 -1
  649. package/dist/utils/react/programmaticFocus.js +58 -0
  650. package/dist/utils/react/programmaticFocus.js.map +1 -0
  651. package/dist/utils/react/resolveIcon.js +1 -1
  652. package/dist/utils/react/sharedStore.js +1 -1
  653. package/dist/utils/react/useBufferedValue.js +1 -1
  654. package/dist/utils/react/useCombinedRefs.js +1 -1
  655. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  656. package/dist/utils/react/useEventBus.js +1 -1
  657. package/dist/utils/react/useId.js +1 -1
  658. package/dist/utils/react/useIsDarwin.js +1 -1
  659. package/dist/utils/react/useKeySymbols.js +1 -1
  660. package/dist/utils/react/useLayoutEffect.js +1 -1
  661. package/dist/utils/react/useLocalStorage.js +1 -1
  662. package/dist/utils/react/useMergeStyles.js +1 -1
  663. package/dist/utils/react/useOverlayEscapeGuard.js +41 -0
  664. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -0
  665. package/dist/utils/react/usePopoverSync.js +1 -1
  666. package/dist/utils/react/useQaProps.js +1 -1
  667. package/dist/utils/react/useScheme.js +1 -1
  668. package/dist/utils/react/useViewportSize.js +1 -1
  669. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  670. package/dist/utils/selection.js +1 -1
  671. package/dist/utils/styles.js +1 -1
  672. package/dist/utils/tree.js +1 -1
  673. package/dist/utils/warnings.js +1 -1
  674. package/dist/version.js +3 -3
  675. package/docs/CreateComponent.md +4 -0
  676. package/docs/FieldProperties.md +25 -13
  677. package/docs/Usage.md +17 -29
  678. package/docs/components/fields/FileInput.md +4 -0
  679. package/docs/components/form/Field.md +2 -2
  680. package/docs/components/form/Form.md +26 -2
  681. package/docs/components/form/FormInstance.md +5 -9
  682. package/docs/components/form/ModernForm.md +269 -0
  683. package/docs/modern-form-guide.md +269 -0
  684. package/docs/modern-form-migration.md +65 -0
  685. package/docs/modern-form-typecheck.md +35 -0
  686. package/package.json +12 -3
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useProviderProps } from "../../../provider.js";
3
3
  import { CalendarPanel } from "./CalendarPanel.js";
4
4
  import { forwardRef, useImperativeHandle, useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
 
4
4
  //#region src/components/other/Calendar/styled.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { Icon } from "../../../icons/Icon.js";
3
3
  import { mergeStyles, tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { wrapIcon } from "../../../icons/wrap-icon.js";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { chain } from "../../../utils/react/chain.js";
3
3
  import { Paragraph } from "../../content/Paragraph.js";
4
4
  import { _Title } from "../../content/Title.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { AlertDialogZone } from "./AlertDialogZone.js";
3
3
  import { createContext, useContext, useMemo, useRef, useState } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { Portal } from "../../portal/Portal.js";
3
3
  import { DialogContainer } from "../Dialog/DialogContainer.js";
4
4
  import { _AlertDialog } from "./AlertDialog.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { SlotProvider } from "../../../utils/react/Slots.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { _Modal } from "../Modal/Modal.js";
3
3
  import { DialogContext } from "./context.js";
4
4
  import { Children, isValidElement, useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { _Title } from "../../content/Title.js";
3
3
  import { useI18n } from "../../../i18n/useI18n.js";
4
4
  import { ButtonGroup } from "../../actions/ButtonGroup/ButtonGroup.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { usePopoverSync } from "../../../utils/react/usePopoverSync.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
  import invariant from "tiny-invariant";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { DialogContainer } from "./DialogContainer.js";
@@ -1,3 +1,4 @@
1
1
 
2
2
  import "./types.js";
3
- import { BaseProps, Styles } from "@tenphi/tasty";
3
+ import { BaseProps, Styles } from "@tenphi/tasty";
4
+ import "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { _Overlay } from "./Overlay.js";
4
4
  import { _Underlay } from "./Underlay.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/overlays/Modal/OpenTransitionContext.tsx
@@ -1,3 +1,4 @@
1
1
 
2
2
  import "./types.js";
3
+ import "react";
3
4
  import { OverlayProps } from "react-aria";
@@ -1,9 +1,10 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
+ import { markFocusRestoreWindow } from "../../../utils/react/programmaticFocus.js";
2
3
  import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
3
4
  import { Provider, useProviderProps } from "../../../provider.js";
4
5
  import { OpenTransitionContext } from "./OpenTransitionContext.js";
5
6
  import { TastyBatchProvider } from "@tenphi/tasty";
6
- import { Children, cloneElement, forwardRef, useCallback, useState } from "react";
7
+ import { Children, cloneElement, forwardRef, useCallback, useRef, useState } from "react";
7
8
  import { jsx } from "react/jsx-runtime";
8
9
  import { createPortal } from "react-dom";
9
10
 
@@ -13,6 +14,11 @@ function Overlay(props, ref) {
13
14
  let { children, isOpen, container = null, onEnter, onEntering, onEntered, onExit, onExiting, onExited, hideOnClose = false } = props;
14
15
  let [exited, setExited] = useState(!isOpen);
15
16
  if (isOpen && exited) setExited(false);
17
+ const wasOpen = useRef(!!isOpen);
18
+ if (wasOpen.current !== !!isOpen) {
19
+ wasOpen.current = !!isOpen;
20
+ if (!isOpen) markFocusRestoreWindow(EXIT_DURATION + 200);
21
+ }
16
22
  let { root } = useProviderProps({});
17
23
  let handlePhaseChange = useCallback((phase) => {
18
24
  switch (phase) {
@@ -1 +1 @@
1
- {"version":3,"file":"Overlay.js","names":[],"sources":["../../../../src/components/overlays/Modal/Overlay.tsx"],"sourcesContent":["import { TastyBatchProvider } from '@tenphi/tasty';\nimport {\n Children,\n cloneElement,\n forwardRef,\n ReactElement,\n useCallback,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { Provider, useProviderProps } from '../../../provider';\nimport { DisplayTransition } from '../../helpers/DisplayTransition/DisplayTransition';\n\nimport { OpenTransitionContext } from './OpenTransitionContext';\nimport { WithCloseBehavior } from './types';\n\nimport type { OverlayProps } from 'react-aria';\nimport type { Props } from '../../../props';\nimport type { ReportedPhase } from '../../helpers/DisplayTransition/DisplayTransition';\n\nexport interface CubeOverlayProps\n extends Omit<OverlayProps, 'container' | 'nodeRef'>,\n WithCloseBehavior {\n container?: HTMLElement | null;\n}\n\nconst EXIT_DURATION = 350;\n\nfunction Overlay(props: CubeOverlayProps, ref) {\n let {\n children,\n isOpen,\n container = null,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n hideOnClose = false,\n } = props;\n let [exited, setExited] = useState(!isOpen);\n\n if (isOpen && exited) {\n setExited(false);\n }\n\n let { root } = useProviderProps({} as Props);\n\n let handlePhaseChange = useCallback(\n (phase: ReportedPhase) => {\n switch (phase) {\n case 'enter':\n setExited(false);\n onEnter?.();\n onEntering?.();\n break;\n case 'entered':\n onEntered?.();\n break;\n case 'exit':\n onExit?.();\n onExiting?.();\n break;\n case 'unmounted':\n setExited(true);\n onExited?.();\n break;\n }\n },\n [onEnter, onEntering, onEntered, onExit, onExiting, onExited],\n );\n\n let mountOverlay = isOpen || !exited;\n\n if (!mountOverlay) {\n if (!hideOnClose) {\n return null;\n }\n }\n\n let contents = (\n <Provider ref={ref}>\n <DisplayTransition\n isShown={!!isOpen}\n exposeUnmounted={hideOnClose}\n duration={EXIT_DURATION}\n onPhaseChange={handlePhaseChange}\n >\n {({ phase, isShown }) => {\n return (\n <OpenTransitionContext.Provider\n value={{ transitionState: phase as ReportedPhase }}\n >\n {Children.map(\n children,\n (child) =>\n child &&\n cloneElement(\n child as ReactElement,\n {\n isOpen: isShown,\n transitionState: phase,\n } as any,\n ),\n )}\n </OpenTransitionContext.Provider>\n );\n }}\n </DisplayTransition>\n </Provider>\n );\n\n // Popover, Modal and Tray all portal through here, which makes this the\n // overlay path that matters most for batching: a dialog or menu mounts a\n // fresh subtree and react-aria positions it from a layout effect in the same\n // commit. `<Root>` does not re-render for those commits, so open a window\n // here — it flushes in `useInsertionEffect`, before any positioning effect\n // reads the DOM. Note this is a *raw* `createPortal`, not `<Portal>`, so the\n // window `<Portal>` opens does not reach these overlays.\n return createPortal(\n <TastyBatchProvider>{contents}</TastyBatchProvider>,\n container || root || document.body,\n );\n}\n\nlet _Overlay = forwardRef(Overlay);\n\n_Overlay.displayName = 'Overlay';\n\nexport { _Overlay as Overlay };\n"],"mappings":";;;;;;;;;;AA2BA,MAAM,gBAAgB;AAEtB,SAAS,QAAQ,OAAyB,KAAK;CAC7C,IAAI,EACF,UACA,QACA,YAAY,MACZ,SACA,YACA,WACA,QACA,WACA,UACA,cAAc,UACZ;CACJ,IAAI,CAAC,QAAQ,aAAa,SAAS,CAAC,OAAO;AAE3C,KAAI,UAAU,OACZ,WAAU,MAAM;CAGlB,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAU;CAE5C,IAAI,oBAAoB,aACrB,UAAyB;AACxB,UAAQ,OAAR;GACE,KAAK;AACH,cAAU,MAAM;AAChB,eAAW;AACX,kBAAc;AACd;GACF,KAAK;AACH,iBAAa;AACb;GACF,KAAK;AACH,cAAU;AACV,iBAAa;AACb;GACF,KAAK;AACH,cAAU,KAAK;AACf,gBAAY;AACZ;;IAGN;EAAC;EAAS;EAAY;EAAW;EAAQ;EAAW;EAAS,CAC9D;AAID,KAAI,EAFe,UAAU,CAAC,SAG5B;MAAI,CAAC,YACH,QAAO;;AA2CX,QAAO,aACL,oBAAC,gCAvCD,oBAAC;EAAc;YACb,oBAAC;GACC,SAAS,CAAC,CAAC;GACX,iBAAiB;GACjB,UAAU;GACV,eAAe;cAEb,EAAE,OAAO,cAAc;AACvB,WACE,oBAAC,sBAAsB;KACrB,OAAO,EAAE,iBAAiB,OAAwB;eAEjD,SAAS,IACR,WACC,UACC,SACA,aACE,OACA;MACE,QAAQ;MACR,iBAAiB;MAClB,CACF,CACJ;MAC8B;;IAGnB;GACX,GAWwC,EACnD,aAAa,QAAQ,SAAS,KAC/B;;AAGH,IAAI,WAAW,WAAW,QAAQ;AAElC,SAAS,cAAc"}
1
+ {"version":3,"file":"Overlay.js","names":[],"sources":["../../../../src/components/overlays/Modal/Overlay.tsx"],"sourcesContent":["import { TastyBatchProvider } from '@tenphi/tasty';\nimport {\n Children,\n cloneElement,\n forwardRef,\n ReactElement,\n useCallback,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { Provider, useProviderProps } from '../../../provider';\nimport { markFocusRestoreWindow } from '../../../utils/react/programmaticFocus';\nimport { DisplayTransition } from '../../helpers/DisplayTransition/DisplayTransition';\n\nimport { OpenTransitionContext } from './OpenTransitionContext';\nimport { WithCloseBehavior } from './types';\n\nimport type { OverlayProps } from 'react-aria';\nimport type { Props } from '../../../props';\nimport type { ReportedPhase } from '../../helpers/DisplayTransition/DisplayTransition';\n\nexport interface CubeOverlayProps\n extends Omit<OverlayProps, 'container' | 'nodeRef'>,\n WithCloseBehavior {\n container?: HTMLElement | null;\n}\n\nconst EXIT_DURATION = 350;\n\nfunction Overlay(props: CubeOverlayProps, ref) {\n let {\n children,\n isOpen,\n container = null,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n hideOnClose = false,\n } = props;\n let [exited, setExited] = useState(!isOpen);\n\n if (isOpen && exited) {\n setExited(false);\n }\n\n // Our `FocusScope` restores focus to the trigger when it unmounts, from\n // inside React's own commit where nothing can wrap the call. The window has\n // to be open before that lands, or the restored trigger's tooltip opens and\n // eats the user's next `Escape` (CUB-4839).\n //\n // Keyed to `isOpen` closing rather than to the exit PHASE, because the phase\n // is not always reported: under reduced motion `DisplayTransition` collapses\n // its duration to zero, so `exit` and `unmounted` are set in one callback and\n // React batches the `exit` render — and its notification — away entirely.\n // Closing is the one signal that always arrives.\n const wasOpen = useRef(!!isOpen);\n\n if (wasOpen.current !== !!isOpen) {\n wasOpen.current = !!isOpen;\n\n if (!isOpen) markFocusRestoreWindow(EXIT_DURATION + 200);\n }\n\n let { root } = useProviderProps({} as Props);\n\n let handlePhaseChange = useCallback(\n (phase: ReportedPhase) => {\n switch (phase) {\n case 'enter':\n setExited(false);\n onEnter?.();\n onEntering?.();\n break;\n case 'entered':\n onEntered?.();\n break;\n case 'exit':\n onExit?.();\n onExiting?.();\n break;\n case 'unmounted':\n setExited(true);\n onExited?.();\n break;\n }\n },\n [onEnter, onEntering, onEntered, onExit, onExiting, onExited],\n );\n\n let mountOverlay = isOpen || !exited;\n\n if (!mountOverlay) {\n if (!hideOnClose) {\n return null;\n }\n }\n\n let contents = (\n <Provider ref={ref}>\n <DisplayTransition\n isShown={!!isOpen}\n exposeUnmounted={hideOnClose}\n duration={EXIT_DURATION}\n onPhaseChange={handlePhaseChange}\n >\n {({ phase, isShown }) => {\n return (\n <OpenTransitionContext.Provider\n value={{ transitionState: phase as ReportedPhase }}\n >\n {Children.map(\n children,\n (child) =>\n child &&\n cloneElement(\n child as ReactElement,\n {\n isOpen: isShown,\n transitionState: phase,\n } as any,\n ),\n )}\n </OpenTransitionContext.Provider>\n );\n }}\n </DisplayTransition>\n </Provider>\n );\n\n // Popover, Modal and Tray all portal through here, which makes this the\n // overlay path that matters most for batching: a dialog or menu mounts a\n // fresh subtree and react-aria positions it from a layout effect in the same\n // commit. `<Root>` does not re-render for those commits, so open a window\n // here — it flushes in `useInsertionEffect`, before any positioning effect\n // reads the DOM. Note this is a *raw* `createPortal`, not `<Portal>`, so the\n // window `<Portal>` opens does not reach these overlays.\n return createPortal(\n <TastyBatchProvider>{contents}</TastyBatchProvider>,\n container || root || document.body,\n );\n}\n\nlet _Overlay = forwardRef(Overlay);\n\n_Overlay.displayName = 'Overlay';\n\nexport { _Overlay as Overlay };\n"],"mappings":";;;;;;;;;;;AA6BA,MAAM,gBAAgB;AAEtB,SAAS,QAAQ,OAAyB,KAAK;CAC7C,IAAI,EACF,UACA,QACA,YAAY,MACZ,SACA,YACA,WACA,QACA,WACA,UACA,cAAc,UACZ;CACJ,IAAI,CAAC,QAAQ,aAAa,SAAS,CAAC,OAAO;AAE3C,KAAI,UAAU,OACZ,WAAU,MAAM;CAalB,MAAM,UAAU,OAAO,CAAC,CAAC,OAAO;AAEhC,KAAI,QAAQ,YAAY,CAAC,CAAC,QAAQ;AAChC,UAAQ,UAAU,CAAC,CAAC;AAEpB,MAAI,CAAC,OAAQ,wBAAuB,gBAAgB,IAAI;;CAG1D,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAU;CAE5C,IAAI,oBAAoB,aACrB,UAAyB;AACxB,UAAQ,OAAR;GACE,KAAK;AACH,cAAU,MAAM;AAChB,eAAW;AACX,kBAAc;AACd;GACF,KAAK;AACH,iBAAa;AACb;GACF,KAAK;AACH,cAAU;AACV,iBAAa;AACb;GACF,KAAK;AACH,cAAU,KAAK;AACf,gBAAY;AACZ;;IAGN;EAAC;EAAS;EAAY;EAAW;EAAQ;EAAW;EAAS,CAC9D;AAID,KAAI,EAFe,UAAU,CAAC,SAG5B;MAAI,CAAC,YACH,QAAO;;AA2CX,QAAO,aACL,oBAAC,gCAvCD,oBAAC;EAAc;YACb,oBAAC;GACC,SAAS,CAAC,CAAC;GACX,iBAAiB;GACjB,UAAU;GACV,eAAe;cAEb,EAAE,OAAO,cAAc;AACvB,WACE,oBAAC,sBAAsB;KACrB,OAAO,EAAE,iBAAiB,OAAwB;eAEjD,SAAS,IACR,WACC,UACC,SACA,aACE,OACA;MACE,QAAQ;MACR,iBAAiB;MAClB,CACF,CACJ;MAC8B;;IAGnB;GACX,GAWwC,EACnD,aAAa,QAAQ,SAAS,KAC/B;;AAGH,IAAI,WAAW,WAAW,QAAQ;AAElC,SAAS,cAAc"}
@@ -1,6 +1,7 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { _Overlay } from "./Overlay.js";
4
+ import { useOverlayEscapeGuard } from "../../../utils/react/useOverlayEscapeGuard.js";
4
5
  import { tasty } from "@tenphi/tasty";
5
6
  import { forwardRef } from "react";
6
7
  import { jsx } from "react/jsx-runtime";
@@ -38,10 +39,11 @@ const PopoverElement = tasty({
38
39
  function Popover(props, ref) {
39
40
  let { qa, style, styles, children, placement, arrowProps, isNonModal, isDismissable = true, ...otherProps } = props;
40
41
  let domRef = useObjectRef(ref);
41
- let { overlayProps } = useOverlay({
42
+ let { overlayProps: rawOverlayProps } = useOverlay({
42
43
  ...props,
43
44
  isDismissable: isDismissable && props.isOpen
44
45
  }, domRef);
46
+ const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);
45
47
  return /* @__PURE__ */ jsx(_Overlay, {
46
48
  ...otherProps,
47
49
  children: /* @__PURE__ */ jsx(PopoverWrapper, {
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","names":["Overlay","mergeProps"],"sources":["../../../../src/components/overlays/Modal/Popover.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, tasty } from '@tenphi/tasty';\nimport { forwardRef, HTMLAttributes } from 'react';\nimport { OverlayProps, useModal, useOverlay } from 'react-aria';\n\nimport { PlacementAxis } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\n\nimport { Overlay } from './Overlay';\nimport { TransitionState, WithCloseBehavior } from './types';\n\nimport type { Props } from '../../../props';\n\nconst PopoverElement = tasty({\n role: 'presentation',\n styles: {\n display: 'initial',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n pointerEvents: 'auto',\n position: 'absolute',\n transition:\n 'opacity .120s linear, visibility 0ms linear, transform .120s ease-in-out',\n transform: {\n '': 'scale(1, .9)',\n open: 'initial',\n },\n opacity: {\n '': 0,\n open: '.9999',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n },\n },\n});\n\nexport interface CubePopoverProps\n extends BaseProps,\n Omit<OverlayProps, 'children' | 'nodeRef'>,\n WithCloseBehavior,\n TransitionState {\n container?: HTMLElement;\n placement?: PlacementAxis;\n arrowProps?: HTMLAttributes<HTMLElement>;\n hideArrow?: boolean;\n isOpen?: boolean;\n onClose?: () => void;\n shouldCloseOnBlur?: boolean;\n isNonModal?: boolean;\n isDismissable?: boolean;\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\nfunction Popover(props: CubePopoverProps, ref) {\n let {\n qa,\n style,\n styles,\n children,\n placement,\n arrowProps,\n isNonModal,\n isDismissable = true,\n ...otherProps\n } = props;\n\n let domRef = useObjectRef(ref);\n\n // `useOverlay` has to run here rather than inside `PopoverWrapper`, on the\n // *logical* open state — `Overlay` hands its child an `isOpen` that only\n // turns true once the enter animation has settled. Registering the overlay\n // that late leaves it out of React Aria's visible-overlay stack for the first\n // frames, and `Escape` silently does nothing until the popover finishes\n // animating in. `Modal` and `Tray` call it from the same place for the same\n // reason.\n let { overlayProps } = useOverlay(\n { ...props, isDismissable: isDismissable && props.isOpen },\n domRef,\n );\n\n return (\n <Overlay {...otherProps}>\n <PopoverWrapper\n ref={domRef}\n qa={qa}\n style={style}\n styles={styles}\n placement={placement}\n arrowProps={arrowProps}\n isNonModal={isNonModal}\n overlayProps={overlayProps}\n >\n {children}\n </PopoverWrapper>\n </Overlay>\n );\n}\n\ninterface PopoverWrapperProps\n extends Omit<CubePopoverProps, 'isDismissable'>,\n TransitionState {\n overlayProps?: Props;\n}\n\nconst PopoverWrapper = forwardRef(function PopoverWrapper(\n props: PopoverWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n placement = 'bottom',\n arrowProps,\n // `isOpen` here is the transition's settled state, not the trigger's — it\n // drives the enter/exit styles only.\n isOpen,\n style,\n styles,\n isNonModal,\n transitionState,\n overlayProps,\n ...otherProps\n } = props;\n let { modalProps } = useModal({\n isDisabled: isNonModal,\n });\n\n return (\n <PopoverElement\n qa={qa || 'Popover'}\n {...mergeProps(otherProps, overlayProps, modalProps)}\n ref={ref}\n styles={styles}\n mods={{\n open: isOpen,\n enter: transitionState === 'enter',\n exit: transitionState === 'exit',\n unmounted: transitionState === 'unmounted',\n entered: transitionState === 'entered',\n }}\n data-placement={placement}\n style={style}\n >\n {children}\n </PopoverElement>\n );\n});\n\nconst _Popover = forwardRef(Popover);\n\n_Popover.displayName = 'Popover';\n\nexport { _Popover as Popover };\n"],"mappings":";;;;;;;;;;AAaA,MAAM,iBAAiB,MAAM;CAC3B,MAAM;CACN,QAAQ;EACN,SAAS;EACT,MAAM;GACJ,IAAI;GACJ,mBAAmB;GACnB,MAAM;GACN,WAAW;GACZ;EACD,eAAe;EACf,UAAU;EACV,YACE;EACF,WAAW;GACT,IAAI;GACJ,MAAM;GACP;EACD,SAAS;GACP,IAAI;GACJ,MAAM;GACP;EACD,iBAAiB;GACf,IAAI;GACJ,4BAA0B;GAC3B;EACF;CACF,CAAC;AAmBF,SAAS,QAAQ,OAAyB,KAAK;CAC7C,IAAI,EACF,IACA,OACA,QACA,UACA,WACA,YACA,YACA,gBAAgB,MAChB,GAAG,eACD;CAEJ,IAAI,SAAS,aAAa,IAAI;CAS9B,IAAI,EAAE,iBAAiB,WACrB;EAAE,GAAG;EAAO,eAAe,iBAAiB,MAAM;EAAQ,EAC1D,OACD;AAED,QACE,oBAACA;EAAQ,GAAI;YACX,oBAAC;GACC,KAAK;GACD;GACG;GACC;GACG;GACC;GACA;GACE;GAEb;IACc;GACT;;AAUd,MAAM,iBAAiB,WAAW,SAAS,eACzC,OACA,KACA;CACA,IAAI,EACF,IACA,UACA,YAAY,UACZ,YAGA,QACA,OACA,QACA,YACA,iBACA,cACA,GAAG,eACD;CACJ,IAAI,EAAE,eAAe,SAAS,EAC5B,YAAY,YACb,CAAC;AAEF,QACE,oBAAC;EACC,IAAI,MAAM;EACV,GAAIC,aAAW,YAAY,cAAc,WAAW;EAC/C;EACG;EACR,MAAM;GACJ,MAAM;GACN,OAAO,oBAAoB;GAC3B,MAAM,oBAAoB;GAC1B,WAAW,oBAAoB;GAC/B,SAAS,oBAAoB;GAC9B;EACD,kBAAgB;EACT;EAEN;GACc;EAEnB;AAEF,MAAM,WAAW,WAAW,QAAQ;AAEpC,SAAS,cAAc"}
1
+ {"version":3,"file":"Popover.js","names":["Overlay","mergeProps"],"sources":["../../../../src/components/overlays/Modal/Popover.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, tasty } from '@tenphi/tasty';\nimport { forwardRef, HTMLAttributes } from 'react';\nimport { OverlayProps, useModal, useOverlay } from 'react-aria';\n\nimport { PlacementAxis } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport { Overlay } from './Overlay';\nimport { TransitionState, WithCloseBehavior } from './types';\n\nimport type { Props } from '../../../props';\n\nconst PopoverElement = tasty({\n role: 'presentation',\n styles: {\n display: 'initial',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n pointerEvents: 'auto',\n position: 'absolute',\n transition:\n 'opacity .120s linear, visibility 0ms linear, transform .120s ease-in-out',\n transform: {\n '': 'scale(1, .9)',\n open: 'initial',\n },\n opacity: {\n '': 0,\n open: '.9999',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n },\n },\n});\n\nexport interface CubePopoverProps\n extends BaseProps,\n Omit<OverlayProps, 'children' | 'nodeRef'>,\n WithCloseBehavior,\n TransitionState {\n container?: HTMLElement;\n placement?: PlacementAxis;\n arrowProps?: HTMLAttributes<HTMLElement>;\n hideArrow?: boolean;\n isOpen?: boolean;\n onClose?: () => void;\n shouldCloseOnBlur?: boolean;\n isNonModal?: boolean;\n isDismissable?: boolean;\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\nfunction Popover(props: CubePopoverProps, ref) {\n let {\n qa,\n style,\n styles,\n children,\n placement,\n arrowProps,\n isNonModal,\n isDismissable = true,\n ...otherProps\n } = props;\n\n let domRef = useObjectRef(ref);\n\n // `useOverlay` has to run here rather than inside `PopoverWrapper`, on the\n // *logical* open state — `Overlay` hands its child an `isOpen` that only\n // turns true once the enter animation has settled. Registering the overlay\n // that late leaves it out of React Aria's visible-overlay stack for the first\n // frames, and `Escape` silently does nothing until the popover finishes\n // animating in. `Modal` and `Tray` call it from the same place for the same\n // reason.\n let { overlayProps: rawOverlayProps } = useOverlay(\n { ...props, isDismissable: isDismissable && props.isOpen },\n domRef,\n );\n\n // ...and a popover that has already closed must not answer for `Escape`\n // while it animates out — see `useOverlayEscapeGuard`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\n\n return (\n <Overlay {...otherProps}>\n <PopoverWrapper\n ref={domRef}\n qa={qa}\n style={style}\n styles={styles}\n placement={placement}\n arrowProps={arrowProps}\n isNonModal={isNonModal}\n overlayProps={overlayProps}\n >\n {children}\n </PopoverWrapper>\n </Overlay>\n );\n}\n\ninterface PopoverWrapperProps\n extends Omit<CubePopoverProps, 'isDismissable'>,\n TransitionState {\n overlayProps?: Props;\n}\n\nconst PopoverWrapper = forwardRef(function PopoverWrapper(\n props: PopoverWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n placement = 'bottom',\n arrowProps,\n // `isOpen` here is the transition's settled state, not the trigger's — it\n // drives the enter/exit styles only.\n isOpen,\n style,\n styles,\n isNonModal,\n transitionState,\n overlayProps,\n ...otherProps\n } = props;\n let { modalProps } = useModal({\n isDisabled: isNonModal,\n });\n\n return (\n <PopoverElement\n qa={qa || 'Popover'}\n {...mergeProps(otherProps, overlayProps, modalProps)}\n ref={ref}\n styles={styles}\n mods={{\n open: isOpen,\n enter: transitionState === 'enter',\n exit: transitionState === 'exit',\n unmounted: transitionState === 'unmounted',\n entered: transitionState === 'entered',\n }}\n data-placement={placement}\n style={style}\n >\n {children}\n </PopoverElement>\n );\n});\n\nconst _Popover = forwardRef(Popover);\n\n_Popover.displayName = 'Popover';\n\nexport { _Popover as Popover };\n"],"mappings":";;;;;;;;;;;AAcA,MAAM,iBAAiB,MAAM;CAC3B,MAAM;CACN,QAAQ;EACN,SAAS;EACT,MAAM;GACJ,IAAI;GACJ,mBAAmB;GACnB,MAAM;GACN,WAAW;GACZ;EACD,eAAe;EACf,UAAU;EACV,YACE;EACF,WAAW;GACT,IAAI;GACJ,MAAM;GACP;EACD,SAAS;GACP,IAAI;GACJ,MAAM;GACP;EACD,iBAAiB;GACf,IAAI;GACJ,4BAA0B;GAC3B;EACF;CACF,CAAC;AAmBF,SAAS,QAAQ,OAAyB,KAAK;CAC7C,IAAI,EACF,IACA,OACA,QACA,UACA,WACA,YACA,YACA,gBAAgB,MAChB,GAAG,eACD;CAEJ,IAAI,SAAS,aAAa,IAAI;CAS9B,IAAI,EAAE,cAAc,oBAAoB,WACtC;EAAE,GAAG;EAAO,eAAe,iBAAiB,MAAM;EAAQ,EAC1D,OACD;CAID,MAAM,eAAe,sBAAsB,iBAAiB,MAAM,OAAO;AAEzE,QACE,oBAACA;EAAQ,GAAI;YACX,oBAAC;GACC,KAAK;GACD;GACG;GACC;GACG;GACC;GACA;GACE;GAEb;IACc;GACT;;AAUd,MAAM,iBAAiB,WAAW,SAAS,eACzC,OACA,KACA;CACA,IAAI,EACF,IACA,UACA,YAAY,UACZ,YAGA,QACA,OACA,QACA,YACA,iBACA,cACA,GAAG,eACD;CACJ,IAAI,EAAE,eAAe,SAAS,EAC5B,YAAY,YACb,CAAC;AAEF,QACE,oBAAC;EACC,IAAI,MAAM;EACV,GAAIC,aAAW,YAAY,cAAc,WAAW;EAC/C;EACG;EACR,MAAM;GACJ,MAAM;GACN,OAAO,oBAAoB;GAC3B,MAAM,oBAAoB;GAC1B,WAAW,oBAAoB;GAC/B,SAAS,oBAAoB;GAC9B;EACD,kBAAgB;EACT;EAEN;GACc;EAEnB;AAEF,MAAM,WAAW,WAAW,QAAQ;AAEpC,SAAS,cAAc"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { _Overlay } from "./Overlay.js";
4
4
  import { _Underlay } from "./Underlay.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
  import { forwardRef } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,5 @@
1
1
 
2
+ import "../../helpers/DisplayTransition/DisplayTransition.js";
2
3
  import { ReactElement } from "react";
3
4
  import { OverlayProps } from "react-aria";
4
5
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useNotificationContext } from "./NotificationContext.js";
3
3
  import { useEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
4
4
  import { createContext, useContext, useMemo } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { Block } from "../../Block.js";
3
3
  import { ItemActionProvider } from "../../actions/ItemActionContext.js";
4
4
  import { Space } from "../../layout/Space.js";
@@ -1,5 +1,7 @@
1
1
 
2
+ import "./types.js";
2
3
  import { ToastContextValue } from "../Toast/types.js";
4
+ import "react";
3
5
 
4
6
  //#region src/components/overlays/Notifications/NotificationContext.d.ts
5
7
  declare function useToastContext(): ToastContextValue;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/overlays/Notifications/NotificationContext.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { NotificationCard } from "./NotificationCard.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { NotificationContext, PersistentNotificationsContext, ToastContext, useNotificationContext, useToastContext } from "./NotificationContext.js";
3
3
  import { OverlayContainer } from "./OverlayContainer.js";
4
4
  import { useNotificationState } from "./use-notification-state.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { _Text } from "../../content/Text.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  //#region src/components/overlays/Notifications/dismissed-storage.ts
3
3
  const STORAGE_KEY = "cube-ui-dismissed-notifications";
4
4
  const TTL_MS = 864e5;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  //#region src/components/overlays/Notifications/format-relative-time.ts
3
3
  /**
4
4
  * Lightweight relative time formatter.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useToastContext } from "./NotificationContext.js";
3
3
  import { NotificationAction } from "./NotificationAction.js";
4
4
  import { NotificationCard } from "./NotificationCard.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useWarn } from "../../../_internal/hooks/use-warn.js";
4
4
  import { useNotificationContext } from "./NotificationContext.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { usePersistentNotificationsContext } from "./NotificationContext.js";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { cleanupAndGetValidIds, saveDismissedId } from "./dismissed-storage.js";
4
4
  import { useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { _Item } from "../../content/Item/Item.js";
3
3
  import { getThemeIcon } from "./useToast.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useToastContext } from "../Notifications/NotificationContext.js";
3
3
  import { useProgressToast } from "./useProgressToast.js";
4
4
  import { getThemeIcon, useToast } from "./useToast.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { CheckIcon } from "../../../icons/CheckIcon.js";
3
3
  import { InfoCircleIcon } from "../../../icons/InfoCircleIcon.js";
4
4
  import { useToastContext } from "../Notifications/NotificationContext.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
4
4
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { _Tooltip } from "./Tooltip.js";
3
3
  import { TooltipTrigger } from "./TooltipTrigger.js";
4
4
  import { isValidElement } from "react";
@@ -1,6 +1,8 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
+ import { useEvent } from "../../../_internal/hooks/use-event.js";
2
3
  import { isDevEnv } from "../../../utils/is-dev-env.js";
3
4
  import { TooltipContext } from "./context.js";
5
+ import { isFocusRestoration } from "../../../utils/react/programmaticFocus.js";
4
6
  import { Block } from "../../Block.js";
5
7
  import { _ActiveZone } from "../../content/ActiveZone/ActiveZone.js";
6
8
  import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
@@ -39,7 +41,7 @@ function TooltipTrigger(props) {
39
41
  ...props,
40
42
  isDismissable: false
41
43
  });
42
- let { triggerProps, tooltipProps } = useTooltipTrigger({
44
+ let { triggerProps: rawTriggerProps, tooltipProps } = useTooltipTrigger({
43
45
  trigger: triggerAction,
44
46
  delay,
45
47
  isOpen,
@@ -47,6 +49,14 @@ function TooltipTrigger(props) {
47
49
  isDismissable: false,
48
50
  defaultOpen
49
51
  }, state, tooltipTriggerRef);
52
+ const onFocus = useEvent((event) => {
53
+ if (isFocusRestoration()) return;
54
+ rawTriggerProps.onFocus?.(event);
55
+ });
56
+ const triggerProps = {
57
+ ...rawTriggerProps,
58
+ onFocus
59
+ };
50
60
  let { overlayProps, arrowProps, placement, updatePosition } = useOverlayPosition({
51
61
  placement: props.placement || "top",
52
62
  targetRef: tooltipTriggerRef,
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipTrigger.js","names":["ActiveZone"],"sources":["../../../../src/components/overlays/Tooltip/TooltipTrigger.tsx"],"sourcesContent":["import { FocusableProvider } from '@react-aria/focus';\nimport {\n HTMLAttributes,\n isValidElement,\n ReactElement,\n ReactNode,\n RefObject,\n useRef,\n} from 'react';\nimport {\n Placement,\n TooltipTriggerProps,\n useOverlayPosition,\n useTooltipTrigger,\n} from 'react-aria';\nimport { useTooltipTriggerState } from 'react-stately';\n\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { Block } from '../../Block';\nimport { ActiveZone } from '../../content/ActiveZone/ActiveZone';\nimport { DisplayTransition } from '../../helpers/DisplayTransition/DisplayTransition';\nimport { Portal } from '../../portal';\n\nimport { TooltipContext } from './context';\n\nconst DEFAULT_OFFSET = 8; // Offset needed to reach 4px/5px (med/large) distance between tooltip and trigger button\nconst DEFAULT_CROSS_OFFSET = 0;\n\n// Type guards\nfunction isTriggerFunction(value: unknown): value is TooltipTriggerFunction {\n return typeof value === 'function';\n}\n\nfunction isReactElement(value: unknown): value is ReactElement {\n return isValidElement(value);\n}\n\nexport type TooltipTriggerFunction = (\n triggerProps: HTMLAttributes<HTMLElement>,\n ref: RefObject<HTMLElement>,\n) => ReactNode;\n\nexport interface CubeTooltipTriggerProps extends TooltipTriggerProps {\n children: [ReactElement | string | TooltipTriggerFunction, ReactElement];\n crossOffset?: number;\n offset?: number;\n placement?: Placement;\n isMaterial?: boolean;\n isLight?: boolean;\n /**\n * @deprecated Use function-as-first-child pattern instead.\n * Whether the trigger should have an ActiveZone wrap to make sure it's focusable and hoverable.\n * Otherwise, tooltip won't work.\n */\n activeWrap?: boolean;\n /**\n * External ref to use instead of internal ref (optional).\n */\n targetRef?: RefObject<HTMLElement>;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n /**\n * Whether the tooltip should be disabled, independent of the trigger.\n */\n isDisabled?: boolean;\n /**\n * The delay time for the tooltip to show up.\n * @default 1500\n */\n delay?: number;\n /**\n * The delay time for the tooltip to close.\n * @default 500\n */\n closeDelay?: number;\n /**\n * By default, opens for both focus and hover. Can be made to open only for focus.\n */\n trigger?: 'focus';\n /**\n * When true, FocusableProvider won't be applied to the trigger.\n * Useful when trigger already handles focus or uses render props pattern.\n */\n disableFocusableProvider?: boolean;\n}\n\n/**\n * TooltipTrigger wraps around a trigger element and a Tooltip. It handles opening and closing\n * the Tooltip when the user hovers over or focuses the trigger, and positioning the Tooltip\n * relative to the trigger.\n */\nexport function TooltipTrigger(props: CubeTooltipTriggerProps) {\n let {\n children,\n activeWrap,\n targetRef: externalRef,\n crossOffset = DEFAULT_CROSS_OFFSET,\n isDisabled,\n isMaterial,\n isLight,\n offset = DEFAULT_OFFSET,\n trigger: triggerAction,\n delay = 250,\n isOpen,\n onOpenChange,\n defaultOpen,\n disableFocusableProvider,\n } = props;\n\n // Extract both children without using React.Children.toArray so we don't lose\n // function-as-child (render-prop) which React.Children filters out.\n const rawChildrenArray = Array.isArray(children)\n ? (children as unknown[])\n : ([children] as unknown[]);\n\n const [trigger, tooltip] = rawChildrenArray;\n\n // Type guard the tooltip\n if (!isReactElement(tooltip)) {\n throw new Error(\n 'CubeUIKit: TooltipTrigger expects the second child to be a valid React element (Tooltip component).',\n );\n }\n\n // Type guard the trigger\n if (\n !isTriggerFunction(trigger) &&\n !isReactElement(trigger) &&\n typeof trigger !== 'string'\n ) {\n throw new Error(\n 'CubeUIKit: TooltipTrigger expects the first child to be a function, React element, or string.',\n );\n }\n\n // Show deprecation warning for activeWrap\n if (activeWrap && isDevEnv()) {\n console.warn(\n 'CubeUIKit: The `activeWrap` prop is deprecated. Use function-as-first-child pattern instead.',\n );\n }\n\n let internalRef = useRef<HTMLElement>(null!);\n let tooltipTriggerRef = externalRef ?? internalRef;\n let overlayRef = useRef<HTMLElement | null>(null);\n\n let state = useTooltipTriggerState({ delay, ...props, isDismissable: false });\n\n let { triggerProps, tooltipProps } = useTooltipTrigger(\n {\n trigger: triggerAction,\n delay,\n isOpen,\n onOpenChange,\n isDismissable: false,\n defaultOpen,\n },\n state,\n tooltipTriggerRef,\n );\n\n let { overlayProps, arrowProps, placement, updatePosition } =\n useOverlayPosition({\n placement: props.placement || 'top',\n targetRef: tooltipTriggerRef,\n overlayRef,\n offset,\n crossOffset,\n isDismissable: false,\n isOpen: state.isOpen,\n });\n\n const tooltipContextValue = {\n state,\n placement: placement || props.placement || 'top',\n ref: overlayRef,\n overlayProps,\n arrowProps,\n minOffset: 'var(--gap)',\n minScale: '1',\n isMaterial,\n isLight,\n updatePosition,\n ...tooltipProps,\n };\n\n // Function trigger pattern (new)\n if (isTriggerFunction(trigger)) {\n return (\n <>\n {trigger(triggerProps, tooltipTriggerRef)}\n <DisplayTransition isShown={state.isOpen}>\n {({ phase, isShown, ref: transitionRef }) => (\n <TooltipContext.Provider\n value={{\n ...tooltipContextValue,\n phase,\n isShown,\n ref: overlayRef,\n transitionRef,\n }}\n >\n <Portal>{tooltip}</Portal>\n </TooltipContext.Provider>\n )}\n </DisplayTransition>\n </>\n );\n }\n\n // Legacy element/string trigger pattern\n if (!activeWrap && typeof trigger === 'string') {\n console.warn(\n 'CubeUIKit: Tooltips are only supported on elements that are both focusable and hoverable. To solve this issue you can: 1) Use active element as a trigger (`Button`, `Link`, etc); 2) Use function-as-first-child pattern to manually apply trigger props; 3) Use `ActiveZone` component to manually wrap the content.',\n );\n\n return <Block>{trigger}</Block>;\n }\n\n function onClick(e) {\n e?.currentTarget?.parentNode.click();\n }\n\n const triggerContent = (\n <>\n {activeWrap ? (\n <ActiveZone onClick={onClick}>{trigger}</ActiveZone>\n ) : (\n trigger\n )}\n <DisplayTransition isShown={state.isOpen && !isDisabled}>\n {({ phase, isShown, ref: transitionRef }) => (\n <TooltipContext.Provider\n value={{\n ...tooltipContextValue,\n phase,\n isShown,\n ref: overlayRef,\n transitionRef,\n }}\n >\n <Portal>{tooltip}</Portal>\n </TooltipContext.Provider>\n )}\n </DisplayTransition>\n </>\n );\n\n if (disableFocusableProvider) {\n return triggerContent;\n }\n\n return (\n <FocusableProvider {...triggerProps} ref={tooltipTriggerRef}>\n {triggerContent}\n </FocusableProvider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AAyBA,MAAM,iBAAiB;AACvB,MAAM,uBAAuB;AAG7B,SAAS,kBAAkB,OAAiD;AAC1E,QAAO,OAAO,UAAU;;AAG1B,SAAS,eAAe,OAAuC;AAC7D,QAAO,eAAe,MAAM;;;;;;;AA0D9B,SAAgB,eAAe,OAAgC;CAC7D,IAAI,EACF,UACA,YACA,WAAW,aACX,cAAc,sBACd,YACA,YACA,SACA,SAAS,gBACT,SAAS,eACT,QAAQ,KACR,QACA,cACA,aACA,6BACE;CAQJ,MAAM,CAAC,SAAS,WAJS,MAAM,QAAQ,SAAS,GAC3C,WACA,CAAC,SAAS;AAKf,KAAI,CAAC,eAAe,QAAQ,CAC1B,OAAM,IAAI,MACR,sGACD;AAIH,KACE,CAAC,kBAAkB,QAAQ,IAC3B,CAAC,eAAe,QAAQ,IACxB,OAAO,YAAY,SAEnB,OAAM,IAAI,MACR,gGACD;AAIH,KAAI,cAAc,UAAU,CAC1B,SAAQ,KACN,+FACD;CAGH,IAAI,cAAc,OAAoB,KAAM;CAC5C,IAAI,oBAAoB,eAAe;CACvC,IAAI,aAAa,OAA2B,KAAK;CAEjD,IAAI,QAAQ,uBAAuB;EAAE;EAAO,GAAG;EAAO,eAAe;EAAO,CAAC;CAE7E,IAAI,EAAE,cAAc,iBAAiB,kBACnC;EACE,SAAS;EACT;EACA;EACA;EACA,eAAe;EACf;EACD,EACD,OACA,kBACD;CAED,IAAI,EAAE,cAAc,YAAY,WAAW,mBACzC,mBAAmB;EACjB,WAAW,MAAM,aAAa;EAC9B,WAAW;EACX;EACA;EACA;EACA,eAAe;EACf,QAAQ,MAAM;EACf,CAAC;CAEJ,MAAM,sBAAsB;EAC1B;EACA,WAAW,aAAa,MAAM,aAAa;EAC3C,KAAK;EACL;EACA;EACA,WAAW;EACX,UAAU;EACV;EACA;EACA;EACA,GAAG;EACJ;AAGD,KAAI,kBAAkB,QAAQ,CAC5B,QACE,8CACG,QAAQ,cAAc,kBAAkB,EACzC,oBAAC;EAAkB,SAAS,MAAM;aAC9B,EAAE,OAAO,SAAS,KAAK,oBACvB,oBAAC,eAAe;GACd,OAAO;IACL,GAAG;IACH;IACA;IACA,KAAK;IACL;IACD;aAED,oBAAC,oBAAQ,UAAiB;IACF;GAEV,IACnB;AAKP,KAAI,CAAC,cAAc,OAAO,YAAY,UAAU;AAC9C,UAAQ,KACN,yTACD;AAED,SAAO,oBAAC,mBAAO,UAAgB;;CAGjC,SAAS,QAAQ,GAAG;AAClB,KAAG,eAAe,WAAW,OAAO;;CAGtC,MAAM,iBACJ,8CACG,aACC,oBAACA;EAAoB;YAAU;GAAqB,GAEpD,SAEF,oBAAC;EAAkB,SAAS,MAAM,UAAU,CAAC;aACzC,EAAE,OAAO,SAAS,KAAK,oBACvB,oBAAC,eAAe;GACd,OAAO;IACL,GAAG;IACH;IACA;IACA,KAAK;IACL;IACD;aAED,oBAAC,oBAAQ,UAAiB;IACF;GAEV,IACnB;AAGL,KAAI,yBACF,QAAO;AAGT,QACE,oBAAC;EAAkB,GAAI;EAAc,KAAK;YACvC;GACiB"}
1
+ {"version":3,"file":"TooltipTrigger.js","names":["ActiveZone"],"sources":["../../../../src/components/overlays/Tooltip/TooltipTrigger.tsx"],"sourcesContent":["import { FocusableProvider } from '@react-aria/focus';\nimport {\n FocusEvent,\n HTMLAttributes,\n isValidElement,\n ReactElement,\n ReactNode,\n RefObject,\n useRef,\n} from 'react';\nimport {\n Placement,\n TooltipTriggerProps,\n useOverlayPosition,\n useTooltipTrigger,\n} from 'react-aria';\nimport { useTooltipTriggerState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal';\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { isFocusRestoration } from '../../../utils/react/programmaticFocus';\nimport { Block } from '../../Block';\nimport { ActiveZone } from '../../content/ActiveZone/ActiveZone';\nimport { DisplayTransition } from '../../helpers/DisplayTransition/DisplayTransition';\nimport { Portal } from '../../portal';\n\nimport { TooltipContext } from './context';\n\nconst DEFAULT_OFFSET = 8; // Offset needed to reach 4px/5px (med/large) distance between tooltip and trigger button\nconst DEFAULT_CROSS_OFFSET = 0;\n\n// Type guards\nfunction isTriggerFunction(value: unknown): value is TooltipTriggerFunction {\n return typeof value === 'function';\n}\n\nfunction isReactElement(value: unknown): value is ReactElement {\n return isValidElement(value);\n}\n\nexport type TooltipTriggerFunction = (\n triggerProps: HTMLAttributes<HTMLElement>,\n ref: RefObject<HTMLElement>,\n) => ReactNode;\n\nexport interface CubeTooltipTriggerProps extends TooltipTriggerProps {\n children: [ReactElement | string | TooltipTriggerFunction, ReactElement];\n crossOffset?: number;\n offset?: number;\n placement?: Placement;\n isMaterial?: boolean;\n isLight?: boolean;\n /**\n * @deprecated Use function-as-first-child pattern instead.\n * Whether the trigger should have an ActiveZone wrap to make sure it's focusable and hoverable.\n * Otherwise, tooltip won't work.\n */\n activeWrap?: boolean;\n /**\n * External ref to use instead of internal ref (optional).\n */\n targetRef?: RefObject<HTMLElement>;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n /**\n * Whether the tooltip should be disabled, independent of the trigger.\n */\n isDisabled?: boolean;\n /**\n * The delay time for the tooltip to show up.\n * @default 1500\n */\n delay?: number;\n /**\n * The delay time for the tooltip to close.\n * @default 500\n */\n closeDelay?: number;\n /**\n * By default, opens for both focus and hover. Can be made to open only for focus.\n */\n trigger?: 'focus';\n /**\n * When true, FocusableProvider won't be applied to the trigger.\n * Useful when trigger already handles focus or uses render props pattern.\n */\n disableFocusableProvider?: boolean;\n}\n\n/**\n * TooltipTrigger wraps around a trigger element and a Tooltip. It handles opening and closing\n * the Tooltip when the user hovers over or focuses the trigger, and positioning the Tooltip\n * relative to the trigger.\n */\nexport function TooltipTrigger(props: CubeTooltipTriggerProps) {\n let {\n children,\n activeWrap,\n targetRef: externalRef,\n crossOffset = DEFAULT_CROSS_OFFSET,\n isDisabled,\n isMaterial,\n isLight,\n offset = DEFAULT_OFFSET,\n trigger: triggerAction,\n delay = 250,\n isOpen,\n onOpenChange,\n defaultOpen,\n disableFocusableProvider,\n } = props;\n\n // Extract both children without using React.Children.toArray so we don't lose\n // function-as-child (render-prop) which React.Children filters out.\n const rawChildrenArray = Array.isArray(children)\n ? (children as unknown[])\n : ([children] as unknown[]);\n\n const [trigger, tooltip] = rawChildrenArray;\n\n // Type guard the tooltip\n if (!isReactElement(tooltip)) {\n throw new Error(\n 'CubeUIKit: TooltipTrigger expects the second child to be a valid React element (Tooltip component).',\n );\n }\n\n // Type guard the trigger\n if (\n !isTriggerFunction(trigger) &&\n !isReactElement(trigger) &&\n typeof trigger !== 'string'\n ) {\n throw new Error(\n 'CubeUIKit: TooltipTrigger expects the first child to be a function, React element, or string.',\n );\n }\n\n // Show deprecation warning for activeWrap\n if (activeWrap && isDevEnv()) {\n console.warn(\n 'CubeUIKit: The `activeWrap` prop is deprecated. Use function-as-first-child pattern instead.',\n );\n }\n\n let internalRef = useRef<HTMLElement>(null!);\n let tooltipTriggerRef = externalRef ?? internalRef;\n let overlayRef = useRef<HTMLElement | null>(null);\n\n let state = useTooltipTriggerState({ delay, ...props, isDismissable: false });\n\n let { triggerProps: rawTriggerProps, tooltipProps } = useTooltipTrigger(\n {\n trigger: triggerAction,\n delay,\n isOpen,\n onOpenChange,\n isDismissable: false,\n defaultOpen,\n },\n state,\n tooltipTriggerRef,\n );\n\n // A tooltip answers a user arriving at the trigger. Focus handed back by a\n // component — a popup returning it to the trigger it came from — is not that\n // arrival, but the DOM event is identical and the modality is still\n // \"keyboard\", so React Aria would show the tooltip anyway. It then absorbs\n // the user's next `Escape` from its own document-level listener, which is\n // how a Dialog ended up needing two presses to close (CUB-4839).\n //\n // Dropping the focus handler rather than closing after the fact: React Aria\n // decides to show inside it, so this never starts and nothing flashes.\n //\n // Covers both restore paths — ours and a `FocusScope`'s — see\n // `programmaticFocus`.\n const onFocus = useEvent((event: FocusEvent<HTMLElement>) => {\n if (isFocusRestoration()) return;\n\n rawTriggerProps.onFocus?.(event);\n });\n\n const triggerProps = { ...rawTriggerProps, onFocus };\n\n let { overlayProps, arrowProps, placement, updatePosition } =\n useOverlayPosition({\n placement: props.placement || 'top',\n targetRef: tooltipTriggerRef,\n overlayRef,\n offset,\n crossOffset,\n isDismissable: false,\n isOpen: state.isOpen,\n });\n\n const tooltipContextValue = {\n state,\n placement: placement || props.placement || 'top',\n ref: overlayRef,\n overlayProps,\n arrowProps,\n minOffset: 'var(--gap)',\n minScale: '1',\n isMaterial,\n isLight,\n updatePosition,\n ...tooltipProps,\n };\n\n // Function trigger pattern (new)\n if (isTriggerFunction(trigger)) {\n return (\n <>\n {trigger(triggerProps, tooltipTriggerRef)}\n <DisplayTransition isShown={state.isOpen}>\n {({ phase, isShown, ref: transitionRef }) => (\n <TooltipContext.Provider\n value={{\n ...tooltipContextValue,\n phase,\n isShown,\n ref: overlayRef,\n transitionRef,\n }}\n >\n <Portal>{tooltip}</Portal>\n </TooltipContext.Provider>\n )}\n </DisplayTransition>\n </>\n );\n }\n\n // Legacy element/string trigger pattern\n if (!activeWrap && typeof trigger === 'string') {\n console.warn(\n 'CubeUIKit: Tooltips are only supported on elements that are both focusable and hoverable. To solve this issue you can: 1) Use active element as a trigger (`Button`, `Link`, etc); 2) Use function-as-first-child pattern to manually apply trigger props; 3) Use `ActiveZone` component to manually wrap the content.',\n );\n\n return <Block>{trigger}</Block>;\n }\n\n function onClick(e) {\n e?.currentTarget?.parentNode.click();\n }\n\n const triggerContent = (\n <>\n {activeWrap ? (\n <ActiveZone onClick={onClick}>{trigger}</ActiveZone>\n ) : (\n trigger\n )}\n <DisplayTransition isShown={state.isOpen && !isDisabled}>\n {({ phase, isShown, ref: transitionRef }) => (\n <TooltipContext.Provider\n value={{\n ...tooltipContextValue,\n phase,\n isShown,\n ref: overlayRef,\n transitionRef,\n }}\n >\n <Portal>{tooltip}</Portal>\n </TooltipContext.Provider>\n )}\n </DisplayTransition>\n </>\n );\n\n if (disableFocusableProvider) {\n return triggerContent;\n }\n\n return (\n <FocusableProvider {...triggerProps} ref={tooltipTriggerRef}>\n {triggerContent}\n </FocusableProvider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA4BA,MAAM,iBAAiB;AACvB,MAAM,uBAAuB;AAG7B,SAAS,kBAAkB,OAAiD;AAC1E,QAAO,OAAO,UAAU;;AAG1B,SAAS,eAAe,OAAuC;AAC7D,QAAO,eAAe,MAAM;;;;;;;AA0D9B,SAAgB,eAAe,OAAgC;CAC7D,IAAI,EACF,UACA,YACA,WAAW,aACX,cAAc,sBACd,YACA,YACA,SACA,SAAS,gBACT,SAAS,eACT,QAAQ,KACR,QACA,cACA,aACA,6BACE;CAQJ,MAAM,CAAC,SAAS,WAJS,MAAM,QAAQ,SAAS,GAC3C,WACA,CAAC,SAAS;AAKf,KAAI,CAAC,eAAe,QAAQ,CAC1B,OAAM,IAAI,MACR,sGACD;AAIH,KACE,CAAC,kBAAkB,QAAQ,IAC3B,CAAC,eAAe,QAAQ,IACxB,OAAO,YAAY,SAEnB,OAAM,IAAI,MACR,gGACD;AAIH,KAAI,cAAc,UAAU,CAC1B,SAAQ,KACN,+FACD;CAGH,IAAI,cAAc,OAAoB,KAAM;CAC5C,IAAI,oBAAoB,eAAe;CACvC,IAAI,aAAa,OAA2B,KAAK;CAEjD,IAAI,QAAQ,uBAAuB;EAAE;EAAO,GAAG;EAAO,eAAe;EAAO,CAAC;CAE7E,IAAI,EAAE,cAAc,iBAAiB,iBAAiB,kBACpD;EACE,SAAS;EACT;EACA;EACA;EACA,eAAe;EACf;EACD,EACD,OACA,kBACD;CAcD,MAAM,UAAU,UAAU,UAAmC;AAC3D,MAAI,oBAAoB,CAAE;AAE1B,kBAAgB,UAAU,MAAM;GAChC;CAEF,MAAM,eAAe;EAAE,GAAG;EAAiB;EAAS;CAEpD,IAAI,EAAE,cAAc,YAAY,WAAW,mBACzC,mBAAmB;EACjB,WAAW,MAAM,aAAa;EAC9B,WAAW;EACX;EACA;EACA;EACA,eAAe;EACf,QAAQ,MAAM;EACf,CAAC;CAEJ,MAAM,sBAAsB;EAC1B;EACA,WAAW,aAAa,MAAM,aAAa;EAC3C,KAAK;EACL;EACA;EACA,WAAW;EACX,UAAU;EACV;EACA;EACA;EACA,GAAG;EACJ;AAGD,KAAI,kBAAkB,QAAQ,CAC5B,QACE,8CACG,QAAQ,cAAc,kBAAkB,EACzC,oBAAC;EAAkB,SAAS,MAAM;aAC9B,EAAE,OAAO,SAAS,KAAK,oBACvB,oBAAC,eAAe;GACd,OAAO;IACL,GAAG;IACH;IACA;IACA,KAAK;IACL;IACD;aAED,oBAAC,oBAAQ,UAAiB;IACF;GAEV,IACnB;AAKP,KAAI,CAAC,cAAc,OAAO,YAAY,UAAU;AAC9C,UAAQ,KACN,yTACD;AAED,SAAO,oBAAC,mBAAO,UAAgB;;CAGjC,SAAS,QAAQ,GAAG;AAClB,KAAG,eAAe,WAAW,OAAO;;CAGtC,MAAM,iBACJ,8CACG,aACC,oBAACA;EAAoB;YAAU;GAAqB,GAEpD,SAEF,oBAAC;EAAkB,SAAS,MAAM,UAAU,CAAC;aACzC,EAAE,OAAO,SAAS,KAAK,oBACvB,oBAAC,eAAe;GACd,OAAO;IACL,GAAG;IACH;IACA;IACA,KAAK;IACL;IACD;aAED,oBAAC,oBAAQ,UAAiB;IACF;GAEV,IACnB;AAGL,KAAI,yBACF,QAAO;AAGT,QACE,oBAAC;EAAkB,GAAI;EAAc,KAAK;YACvC;GACiB"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import React from "react";
3
3
 
4
4
  //#region src/components/overlays/Tooltip/context.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { usePortal } from "./usePortal.js";
3
3
  import { TastyBatchProvider } from "@tenphi/tasty";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -0,0 +1,2 @@
1
+
2
+ import { RefObject } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/portal/PortalProvider.ts
@@ -1,3 +1,4 @@
1
1
 
2
+ import "./PortalProvider.js";
2
3
  import { PortalProps } from "./types.js";
3
4
  import { Portal } from "./Portal.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { usePortalContext } from "./PortalProvider.js";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import invariant from "tiny-invariant";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useEffect, useMemo, useRef } from "react";
4
4
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { WarningIcon } from "../../icons/WarningIcon.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { CheckIcon } from "../../icons/CheckIcon.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.179.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
3
3
  import { Block } from "../../Block.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";