@cube-dev/ui-kit 0.190.7 → 0.190.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (720) hide show
  1. package/dist/CHANGELOG.md +8 -0
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.d.ts +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +1 -1
  14. package/dist/components/GridProvider.js +1 -1
  15. package/dist/components/HiddenInput.js +1 -1
  16. package/dist/components/Root.js +1 -1
  17. package/dist/components/actions/Action/Action.d.ts +2 -2
  18. package/dist/components/actions/Action/Action.js +1 -1
  19. package/dist/components/actions/Action/Action.js.map +1 -1
  20. package/dist/components/actions/Banner/Banner.js +1 -1
  21. package/dist/components/actions/Button/Button.d.ts +2 -2
  22. package/dist/components/actions/Button/Button.js +1 -1
  23. package/dist/components/actions/Button/Button.js.map +1 -1
  24. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  25. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  26. package/dist/components/actions/ButtonSplit/context.js +1 -1
  27. package/dist/components/actions/CommandMenu/CommandMenu.d.ts +18 -5
  28. package/dist/components/actions/CommandMenu/CommandMenu.js +207 -197
  29. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  30. package/dist/components/actions/CommandMenu/styled.js +1 -1
  31. package/dist/components/actions/ItemAction/ItemAction.d.ts +2 -1
  32. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  33. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  34. package/dist/components/actions/ItemActionContext.js +1 -1
  35. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  36. package/dist/components/actions/ItemButton/ItemButton.d.ts +3 -3
  37. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  38. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  39. package/dist/components/actions/Link/Link.d.ts +1 -1
  40. package/dist/components/actions/Link/Link.js +1 -1
  41. package/dist/components/actions/Menu/Menu.d.ts +20 -5
  42. package/dist/components/actions/Menu/Menu.js +51 -41
  43. package/dist/components/actions/Menu/Menu.js.map +1 -1
  44. package/dist/components/actions/Menu/MenuItem.js +1 -1
  45. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  46. package/dist/components/actions/Menu/MenuSection.js +2 -3
  47. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  48. package/dist/components/actions/Menu/MenuTrigger.d.ts +42 -3
  49. package/dist/components/actions/Menu/MenuTrigger.js +22 -22
  50. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  51. package/dist/components/actions/Menu/SubMenuTrigger.js +4 -4
  52. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  53. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  54. package/dist/components/actions/Menu/context.d.ts +2 -2
  55. package/dist/components/actions/Menu/context.js +1 -1
  56. package/dist/components/actions/Menu/context.js.map +1 -1
  57. package/dist/components/actions/Menu/styled.js +1 -1
  58. package/dist/components/actions/Menu/styled.js.map +1 -1
  59. package/dist/components/actions/actions-run.js +1 -1
  60. package/dist/components/actions/index.d.ts +1 -1
  61. package/dist/components/actions/index.js +1 -1
  62. package/dist/components/actions/use-action.d.ts +4 -5
  63. package/dist/components/actions/use-action.js +3 -2
  64. package/dist/components/actions/use-action.js.map +1 -1
  65. package/dist/components/actions/use-anchored-menu.js +1 -1
  66. package/dist/components/actions/use-context-menu.js +1 -1
  67. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  68. package/dist/components/content/Alert/Alert.js +1 -1
  69. package/dist/components/content/Alert/use-alert.js +1 -1
  70. package/dist/components/content/Avatar/Avatar.js +1 -1
  71. package/dist/components/content/Badge/Badge.js +1 -1
  72. package/dist/components/content/Card/Card.js +1 -1
  73. package/dist/components/content/Content.js +1 -1
  74. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -2
  75. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  76. package/dist/components/content/CopySnippet/CopySnippet.d.ts +964 -6
  77. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  78. package/dist/components/content/Disclosure/Disclosure.d.ts +1 -1
  79. package/dist/components/content/Disclosure/Disclosure.js +69 -67
  80. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  81. package/dist/components/content/Divider.js +1 -1
  82. package/dist/components/content/Footer.js +1 -1
  83. package/dist/components/content/Header.js +1 -1
  84. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  85. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  86. package/dist/components/content/InlineInput/InlineInput.d.ts +2 -2
  87. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  88. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  89. package/dist/components/content/Item/Item.d.ts +3 -3
  90. package/dist/components/content/Item/Item.js +1 -1
  91. package/dist/components/content/Item/Item.js.map +1 -1
  92. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  93. package/dist/components/content/ItemCard/ItemCard.d.ts +1 -1
  94. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  95. package/dist/components/content/Layout/GridLayout.js +1 -1
  96. package/dist/components/content/Layout/Layout.js +1 -1
  97. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  98. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  99. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  100. package/dist/components/content/Layout/LayoutContent.js +1 -1
  101. package/dist/components/content/Layout/LayoutContext.js +1 -1
  102. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  103. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  104. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  105. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  106. package/dist/components/content/Layout/LayoutPane.js +1 -1
  107. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  108. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  109. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  110. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  111. package/dist/components/content/Layout/index.js +1 -1
  112. package/dist/components/content/Layout/utils.js +1 -1
  113. package/dist/components/content/Paragraph.js +1 -1
  114. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  115. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  116. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  117. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  118. package/dist/components/content/Result/Result.d.ts +2 -2
  119. package/dist/components/content/Result/Result.js +1 -1
  120. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  121. package/dist/components/content/Tag/Tag.js +1 -1
  122. package/dist/components/content/Text.d.ts +14 -14
  123. package/dist/components/content/Text.js +1 -1
  124. package/dist/components/content/TextItem/TextItem.d.ts +2 -2
  125. package/dist/components/content/TextItem/TextItem.js +1 -1
  126. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  127. package/dist/components/content/Title.js +1 -1
  128. package/dist/components/content/Tree/Tree.js +1 -1
  129. package/dist/components/content/Tree/TreeNode.js +1 -1
  130. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  131. package/dist/components/content/Tree/styled.js +1 -1
  132. package/dist/components/content/Tree/tree-index.js +1 -1
  133. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  134. package/dist/components/content/Tree/use-load-data.js +1 -1
  135. package/dist/components/content/highlightText.js +1 -1
  136. package/dist/components/content/use-auto-tooltip.d.ts +1 -1
  137. package/dist/components/content/use-auto-tooltip.js +1 -1
  138. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  139. package/dist/components/data/DataTable/DataTable.js +1 -1
  140. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  141. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  142. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  143. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  144. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  145. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  146. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  147. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  148. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  149. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  150. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  151. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  152. package/dist/components/data/TableBase/RowCollection.js +1 -1
  153. package/dist/components/data/TableBase/TableHeaderCell.js +3 -2
  154. package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
  155. package/dist/components/data/TableBase/TableRow.js +2 -2
  156. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  157. package/dist/components/data/TableBase/TableView.js +1 -1
  158. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  159. package/dist/components/data/TableBase/column-header.js +1 -1
  160. package/dist/components/data/TableBase/column-menu.d.ts +2 -1
  161. package/dist/components/data/TableBase/column-menu.js +1 -1
  162. package/dist/components/data/TableBase/column-menu.js.map +1 -1
  163. package/dist/components/data/TableBase/column-styles.js +1 -1
  164. package/dist/components/data/TableBase/column-tint.js +1 -1
  165. package/dist/components/data/TableBase/row-menu.js +1 -1
  166. package/dist/components/data/TableBase/styled.d.ts +3 -1
  167. package/dist/components/data/TableBase/styled.js +1 -1
  168. package/dist/components/data/TableBase/table-tree.js +1 -1
  169. package/dist/components/data/TableBase/types.js +1 -1
  170. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  171. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  172. package/dist/components/data/TableBase/use-column-order.js +1 -1
  173. package/dist/components/data/TableBase/use-container-width.js +1 -1
  174. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  175. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  176. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  177. package/dist/components/data/TableBase/use-table-search.js +1 -1
  178. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  179. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  180. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  181. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  182. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  183. package/dist/components/fields/Checkbox/Checkbox.d.ts +7 -14
  184. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  185. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  186. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +4 -2
  187. package/dist/components/fields/Checkbox/CheckboxGroup.js +7 -7
  188. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  189. package/dist/components/fields/Checkbox/context.js +1 -1
  190. package/dist/components/fields/ColorInput/ColorInput.js +34 -29
  191. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  192. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  193. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  194. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  195. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  196. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  197. package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +10 -5
  198. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  199. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  200. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  201. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  202. package/dist/components/fields/DatePicker/DateInput.js +3 -3
  203. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  204. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  205. package/dist/components/fields/DatePicker/DatePicker.d.ts +2 -2
  206. package/dist/components/fields/DatePicker/DatePicker.js +4 -4
  207. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  208. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  209. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  210. package/dist/components/fields/DatePicker/DatePickerInput.js +8 -5
  211. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  212. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  213. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +1 -1
  214. package/dist/components/fields/DatePicker/DateRangePicker.js +76 -72
  215. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  216. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +1 -1
  217. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +357 -323
  218. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  219. package/dist/components/fields/DatePicker/MonthPicker.d.ts +1 -1
  220. package/dist/components/fields/DatePicker/MonthPicker.js +3 -3
  221. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +6 -5
  222. package/dist/components/fields/DatePicker/PeriodPicker.js +6 -5
  223. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  224. package/dist/components/fields/DatePicker/QuarterPicker.d.ts +1 -1
  225. package/dist/components/fields/DatePicker/QuarterPicker.js +3 -3
  226. package/dist/components/fields/DatePicker/TimeInput.d.ts +3 -3
  227. package/dist/components/fields/DatePicker/TimeInput.js +10 -5
  228. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  229. package/dist/components/fields/DatePicker/WeekPicker.d.ts +1 -1
  230. package/dist/components/fields/DatePicker/WeekPicker.js +3 -3
  231. package/dist/components/fields/DatePicker/YearPicker.d.ts +1 -1
  232. package/dist/components/fields/DatePicker/YearPicker.js +3 -3
  233. package/dist/components/fields/DatePicker/index.d.ts +1 -1
  234. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  235. package/dist/components/fields/DatePicker/period.js +1 -1
  236. package/dist/components/fields/DatePicker/props.js +1 -1
  237. package/dist/components/fields/DatePicker/props.js.map +1 -1
  238. package/dist/components/fields/DatePicker/utils.js +1 -1
  239. package/dist/components/fields/FileInput/FileInput.d.ts +2 -6
  240. package/dist/components/fields/FileInput/FileInput.js +1 -1
  241. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  242. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  243. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  244. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  245. package/dist/components/fields/Input/Input.js +1 -1
  246. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  247. package/dist/components/fields/ListBox/ListBox.d.ts +1 -1
  248. package/dist/components/fields/ListBox/ListBox.js +5 -10
  249. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  250. package/dist/components/fields/ListBox/optionId.js +1 -1
  251. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +125 -93
  252. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  253. package/dist/components/fields/ListBoxPopover/index.d.ts +1 -1
  254. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  255. package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +48 -1
  256. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  257. package/dist/components/fields/NumberInput/NumberInput.d.ts +6 -3
  258. package/dist/components/fields/NumberInput/NumberInput.js +98 -59
  259. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  260. package/dist/components/fields/NumberInput/StepButton.js +1 -3
  261. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  262. package/dist/components/fields/PasswordInput/PasswordInput.d.ts +5 -2
  263. package/dist/components/fields/PasswordInput/PasswordInput.js +7 -7
  264. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  265. package/dist/components/fields/Picker/Picker.js +1 -1
  266. package/dist/components/fields/RadioGroup/Radio.d.ts +596 -17
  267. package/dist/components/fields/RadioGroup/Radio.js +114 -111
  268. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  269. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +5 -3
  270. package/dist/components/fields/RadioGroup/RadioGroup.js +8 -8
  271. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  272. package/dist/components/fields/RadioGroup/context.js +1 -1
  273. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  274. package/dist/components/fields/SearchInput/SearchInput.d.ts +5 -3
  275. package/dist/components/fields/SearchInput/SearchInput.js +2 -2
  276. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  277. package/dist/components/fields/Select/Select.d.ts +5 -4
  278. package/dist/components/fields/Select/Select.js +3 -3
  279. package/dist/components/fields/Select/Select.js.map +1 -1
  280. package/dist/components/fields/Slider/Gradation.js +1 -1
  281. package/dist/components/fields/Slider/HueSlider.d.ts +1 -1
  282. package/dist/components/fields/Slider/HueSlider.js +1 -1
  283. package/dist/components/fields/Slider/RangeSlider.d.ts +1 -1
  284. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  285. package/dist/components/fields/Slider/Slider.d.ts +1 -1
  286. package/dist/components/fields/Slider/Slider.js +1 -1
  287. package/dist/components/fields/Slider/SliderBase.js +1 -1
  288. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  289. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  290. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  291. package/dist/components/fields/Slider/elements.js +1 -1
  292. package/dist/components/fields/Slider/index.js +1 -1
  293. package/dist/components/fields/Switch/Switch.d.ts +3 -7
  294. package/dist/components/fields/Switch/Switch.js +7 -7
  295. package/dist/components/fields/Switch/Switch.js.map +1 -1
  296. package/dist/components/fields/TagInput/TagInput.js +2 -2
  297. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  298. package/dist/components/fields/TagInput/TagList.js +1 -1
  299. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  300. package/dist/components/fields/TagInput/useTagError.js +1 -1
  301. package/dist/components/fields/TextArea/TextArea.d.ts +11 -3
  302. package/dist/components/fields/TextArea/TextArea.js +7 -8
  303. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  304. package/dist/components/fields/TextInput/TextInput.d.ts +10 -3
  305. package/dist/components/fields/TextInput/TextInput.js +7 -8
  306. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  307. package/dist/components/fields/TextInput/TextInputBase.d.ts +7 -5
  308. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  309. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  310. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  311. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  312. package/dist/components/fields/TriggerActions.js +1 -1
  313. package/dist/components/fields/color/ColorPanel.js +1 -1
  314. package/dist/components/fields/color/channels.js +1 -1
  315. package/dist/components/fields/color/color.js +1 -1
  316. package/dist/components/fields/color/context.js +1 -1
  317. package/dist/components/fields/index.d.ts +1 -1
  318. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  319. package/dist/components/form/Form/Field.js +1 -1
  320. package/dist/components/form/Form/Form.js +1 -1
  321. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  322. package/dist/components/form/Form/ResetButton/ResetButton.d.ts +2 -2
  323. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  324. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  325. package/dist/components/form/Form/SubmitButton/SubmitButton.d.ts +2 -2
  326. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  327. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  328. package/dist/components/form/Form/SubmitError.js +1 -1
  329. package/dist/components/form/Form/backend.js +1 -1
  330. package/dist/components/form/Form/index.d.ts +2 -2
  331. package/dist/components/form/Form/index.js +1 -1
  332. package/dist/components/form/Form/modern/actions.js +1 -1
  333. package/dist/components/form/Form/modern/context.js +1 -1
  334. package/dist/components/form/Form/modern/controller.js +1 -1
  335. package/dist/components/form/Form/modern/field-binding.js +1 -1
  336. package/dist/components/form/Form/modern/field.js +1 -1
  337. package/dist/components/form/Form/modern/react.js +1 -1
  338. package/dist/components/form/Form/modern/store.js +1 -1
  339. package/dist/components/form/Form/modern/validation.js +1 -1
  340. package/dist/components/form/Form/modern/values.js +1 -1
  341. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  342. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  343. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  344. package/dist/components/form/Form/use-field/use-field.js +1 -1
  345. package/dist/components/form/Form/use-form.js +1 -1
  346. package/dist/components/form/Form/validation.js +1 -1
  347. package/dist/components/form/Label.js +1 -1
  348. package/dist/components/form/legacy-tooltip.js +1 -1
  349. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  350. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  351. package/dist/components/form/validation/use-validation-props.js +1 -1
  352. package/dist/components/form/wrapper.js +1 -1
  353. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  354. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  355. package/dist/components/layout/Board/Board.js +1 -1
  356. package/dist/components/layout/Board/BoardProvider.js +1 -1
  357. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  358. package/dist/components/layout/Board/Widget.js +1 -1
  359. package/dist/components/layout/Board/WidgetHost.js +1 -1
  360. package/dist/components/layout/Board/board-context.js +1 -1
  361. package/dist/components/layout/Board/board-store.js +1 -1
  362. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  363. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  364. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  365. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  366. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  367. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  368. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  369. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  370. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  371. package/dist/components/layout/Board/index.js +1 -1
  372. package/dist/components/layout/Board/responsive-utils.js +1 -1
  373. package/dist/components/layout/Board/use-board-layout.js +1 -1
  374. package/dist/components/layout/Board/use-board-registry.js +1 -1
  375. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  376. package/dist/components/layout/Board/use-board-selection.js +1 -1
  377. package/dist/components/layout/Flex.js +1 -1
  378. package/dist/components/layout/Flow.js +1 -1
  379. package/dist/components/layout/Grid.js +1 -1
  380. package/dist/components/layout/Panel.js +1 -1
  381. package/dist/components/layout/Prefix.js +1 -1
  382. package/dist/components/layout/ResizablePanel.js +1 -1
  383. package/dist/components/layout/Space.js +1 -1
  384. package/dist/components/layout/Suffix.js +1 -1
  385. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  386. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  387. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  388. package/dist/components/navigation/Tabs/TabButton.js +387 -379
  389. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  390. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  391. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  392. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  393. package/dist/components/navigation/Tabs/Tabs.d.ts +2 -2
  394. package/dist/components/navigation/Tabs/Tabs.js +2 -2
  395. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  396. package/dist/components/navigation/Tabs/TabsAction.d.ts +1 -1
  397. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  398. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  399. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  400. package/dist/components/navigation/Tabs/styled.js +1 -1
  401. package/dist/components/navigation/Tabs/types.js +1 -1
  402. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  403. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  404. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  405. package/dist/components/other/Calendar/Calendar.js +1 -1
  406. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  407. package/dist/components/other/Calendar/CalendarGrid.js +50 -45
  408. package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
  409. package/dist/components/other/Calendar/CalendarHeader.js +2 -2
  410. package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
  411. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  412. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  413. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  414. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  415. package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
  416. package/dist/components/other/Calendar/styled.js +1 -1
  417. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  418. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  419. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  420. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  421. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  422. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  423. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  424. package/dist/components/overlays/Dialog/DialogForm.d.ts +1 -1
  425. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  426. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  427. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +1 -1
  428. package/dist/components/overlays/Dialog/DialogTrigger.js +25 -24
  429. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  430. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  431. package/dist/components/overlays/Dialog/context.js +1 -1
  432. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  433. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  434. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  435. package/dist/components/overlays/Modal/Modal.js +1 -1
  436. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  437. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  438. package/dist/components/overlays/Modal/Overlay.d.ts +1 -2
  439. package/dist/components/overlays/Modal/Overlay.js +1 -1
  440. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  441. package/dist/components/overlays/Modal/Popover.d.ts +2 -1
  442. package/dist/components/overlays/Modal/Popover.js +1 -1
  443. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  444. package/dist/components/overlays/Modal/Tray.d.ts +2 -2
  445. package/dist/components/overlays/Modal/Tray.js +1 -1
  446. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  447. package/dist/components/overlays/Modal/Underlay.js +1 -1
  448. package/dist/components/overlays/Modal/index.d.ts +1 -1
  449. package/dist/components/overlays/Modal/types.d.ts +2 -1
  450. package/dist/components/overlays/Notifications/Notification.js +1 -1
  451. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  452. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  453. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  454. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  455. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  456. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  457. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  458. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  459. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  460. package/dist/components/overlays/Notifications/index.js +1 -1
  461. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  462. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  463. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  464. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  465. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  466. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  467. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  468. package/dist/components/overlays/Toast/index.js +1 -1
  469. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  470. package/dist/components/overlays/Toast/useToast.js +1 -1
  471. package/dist/components/overlays/Tooltip/Tooltip.js +2 -5
  472. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  473. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  474. package/dist/components/overlays/Tooltip/TooltipTrigger.js +2 -5
  475. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  476. package/dist/components/overlays/Tooltip/context.js +1 -1
  477. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  478. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  479. package/dist/components/portal/Portal.js +1 -1
  480. package/dist/components/portal/PortalProvider.js +1 -1
  481. package/dist/components/portal/usePortal.js +1 -1
  482. package/dist/components/shared/DraggableCollection.js +11 -6
  483. package/dist/components/shared/DraggableCollection.js.map +1 -1
  484. package/dist/components/shared/InvalidIcon.js +1 -1
  485. package/dist/components/shared/ValidIcon.js +1 -1
  486. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  487. package/dist/components/status/Spin/Cube.js +1 -1
  488. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  489. package/dist/components/status/Spin/Spin.js +1 -1
  490. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  491. package/dist/data/item-themes.js +1 -1
  492. package/dist/data/themes.js +1 -1
  493. package/dist/eslint-plugin/defaults.generated.js +1 -1
  494. package/dist/eslint-plugin/index.js +1 -1
  495. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  496. package/dist/i18n/I18nProvider.js +1 -1
  497. package/dist/i18n/createFormatter.js +1 -1
  498. package/dist/i18n/index.js +1 -1
  499. package/dist/i18n/instance.js +1 -1
  500. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  501. package/dist/i18n/locales/en-US/uikit.js +1 -1
  502. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  503. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  504. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  505. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  506. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  507. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  508. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  509. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  510. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  511. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  512. package/dist/i18n/locales.js +1 -1
  513. package/dist/i18n/useFormatter.js +1 -1
  514. package/dist/i18n/useI18n.js +1 -1
  515. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  516. package/dist/icons/AdjustmentsIcon.js +1 -1
  517. package/dist/icons/AiIcon.js +1 -1
  518. package/dist/icons/AreaChartIcon.js +1 -1
  519. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  520. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  521. package/dist/icons/BackwardIcon.js +1 -1
  522. package/dist/icons/BarChartIcon.js +1 -1
  523. package/dist/icons/BellFilledIcon.js +1 -1
  524. package/dist/icons/BellIcon.js +1 -1
  525. package/dist/icons/BooleanIcon.js +1 -1
  526. package/dist/icons/CalendarEditIcon.js +1 -1
  527. package/dist/icons/CalendarIcon.js +1 -1
  528. package/dist/icons/CaretDownIcon.js +1 -1
  529. package/dist/icons/CaretUpIcon.js +1 -1
  530. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  531. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  532. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  533. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  534. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  535. package/dist/icons/ChartBarLineIcon.js +1 -1
  536. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  537. package/dist/icons/ChartBarStackedIcon.js +1 -1
  538. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  539. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  540. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  541. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  542. package/dist/icons/ChartBubbleIcon.js +1 -1
  543. package/dist/icons/ChartDonut2Icon.js +1 -1
  544. package/dist/icons/ChartFunnelIcon.js +1 -1
  545. package/dist/icons/ChartHeatmapIcon.js +1 -1
  546. package/dist/icons/ChartKPIIcon.js +1 -1
  547. package/dist/icons/ChartPie2Icon.js +1 -1
  548. package/dist/icons/ChartScatterIcon.js +1 -1
  549. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  550. package/dist/icons/CheckCircleIcon.js +1 -1
  551. package/dist/icons/CheckIcon.js +1 -1
  552. package/dist/icons/CircleFilledIcon.js +1 -1
  553. package/dist/icons/ClearIcon.js +1 -1
  554. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  555. package/dist/icons/CloseCircleIcon.js +1 -1
  556. package/dist/icons/CloseIcon.js +1 -1
  557. package/dist/icons/CodeIcon.js +1 -1
  558. package/dist/icons/ColumnTotalIcon.js +1 -1
  559. package/dist/icons/CopyIcon.js +1 -1
  560. package/dist/icons/CountIcon.js +1 -1
  561. package/dist/icons/CubeIcon.js +1 -1
  562. package/dist/icons/CubePauseIcon.js +1 -1
  563. package/dist/icons/CubePlayIcon.js +1 -1
  564. package/dist/icons/CurrencyDollarIcon.js +1 -1
  565. package/dist/icons/DangerIcon.js +1 -1
  566. package/dist/icons/DashboardIcon.js +1 -1
  567. package/dist/icons/DatabaseIcon.js +1 -1
  568. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  569. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  570. package/dist/icons/DirectionIcon.js +1 -1
  571. package/dist/icons/DonutIcon.js +1 -1
  572. package/dist/icons/DownIcon.js +1 -1
  573. package/dist/icons/EditIcon.js +1 -1
  574. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  575. package/dist/icons/ExclamationCircleIcon.js +1 -1
  576. package/dist/icons/ExclamationIcon.js +1 -1
  577. package/dist/icons/EyeIcon.js +1 -1
  578. package/dist/icons/EyeInvisibleIcon.js +1 -1
  579. package/dist/icons/FilterIcon.js +1 -1
  580. package/dist/icons/FolderFilledIcon.js +1 -1
  581. package/dist/icons/FolderIcon.js +1 -1
  582. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  583. package/dist/icons/FolderOpenIcon.js +1 -1
  584. package/dist/icons/ForwardIcon.js +1 -1
  585. package/dist/icons/GripVerticalIcon.js +1 -1
  586. package/dist/icons/HierarchyIcon.js +1 -1
  587. package/dist/icons/HierarchyOpenIcon.js +1 -1
  588. package/dist/icons/Icon.js +1 -1
  589. package/dist/icons/InfoCircleIcon.js +1 -1
  590. package/dist/icons/InfoIcon.js +1 -1
  591. package/dist/icons/KeyIcon.js +1 -1
  592. package/dist/icons/LeftIcon.js +1 -1
  593. package/dist/icons/LineChartIcon.js +1 -1
  594. package/dist/icons/LoadingIcon.js +1 -1
  595. package/dist/icons/LockFilledIcon.js +1 -1
  596. package/dist/icons/LockIcon.js +1 -1
  597. package/dist/icons/MoreIcon.js +1 -1
  598. package/dist/icons/NotAllowedIcon.js +1 -1
  599. package/dist/icons/Number123Icon.js +1 -1
  600. package/dist/icons/NumberIcon.js +1 -1
  601. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  602. package/dist/icons/PauseCircleIcon.js +1 -1
  603. package/dist/icons/PauseIcon.js +1 -1
  604. package/dist/icons/PercentageIcon.js +1 -1
  605. package/dist/icons/PieChartIcon.js +1 -1
  606. package/dist/icons/PipetteIcon.js +1 -1
  607. package/dist/icons/PlayCircleIcon.js +1 -1
  608. package/dist/icons/PlayIcon.js +1 -1
  609. package/dist/icons/PlusIcon.js +1 -1
  610. package/dist/icons/ProgressBarIcon.js +1 -1
  611. package/dist/icons/ReloadIcon.js +1 -1
  612. package/dist/icons/ReportIcon.js +1 -1
  613. package/dist/icons/ReturnIcon.js +1 -1
  614. package/dist/icons/RightIcon.js +1 -1
  615. package/dist/icons/RowTotalsIcon.js +1 -1
  616. package/dist/icons/SchemeIcon.js +1 -1
  617. package/dist/icons/SearchIcon.js +1 -1
  618. package/dist/icons/SemanticQueryIcon.js +1 -1
  619. package/dist/icons/SettingsIcon.js +1 -1
  620. package/dist/icons/ShieldFilledIcon.js +1 -1
  621. package/dist/icons/ShieldIcon.js +1 -1
  622. package/dist/icons/SlashIcon.js +1 -1
  623. package/dist/icons/SparklesIcon.js +1 -1
  624. package/dist/icons/SqlIcon.js +1 -1
  625. package/dist/icons/StatsIcon.js +1 -1
  626. package/dist/icons/StopIcon.js +1 -1
  627. package/dist/icons/StringIcon.js +1 -1
  628. package/dist/icons/SubtotalsIcon.js +1 -1
  629. package/dist/icons/SwitchIcon.js +1 -1
  630. package/dist/icons/TableIcon.js +1 -1
  631. package/dist/icons/ThumbsDownIcon.js +1 -1
  632. package/dist/icons/ThumbsUpIcon.js +1 -1
  633. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  634. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  635. package/dist/icons/ThunderboltIcon.js +1 -1
  636. package/dist/icons/TimeIcon.js +1 -1
  637. package/dist/icons/TrashIcon.js +1 -1
  638. package/dist/icons/UnlockIcon.js +1 -1
  639. package/dist/icons/UpIcon.js +1 -1
  640. package/dist/icons/UserGroupIcon.js +1 -1
  641. package/dist/icons/UserIcon.js +1 -1
  642. package/dist/icons/UserLockIcon.js +1 -1
  643. package/dist/icons/ViewIcon.js +1 -1
  644. package/dist/icons/WarningFilledIcon.js +1 -1
  645. package/dist/icons/WarningIcon.js +1 -1
  646. package/dist/icons/wrap-icon.js +1 -1
  647. package/dist/index.d.ts +18 -18
  648. package/dist/index.js +3 -3
  649. package/dist/probe/canonicalize.js +1 -1
  650. package/dist/probe/css.js +1 -1
  651. package/dist/probe/index.js +1 -1
  652. package/dist/provider.js +1 -1
  653. package/dist/providers/TrackingProvider.js +1 -1
  654. package/dist/providers/navigationAdapter.default.js +1 -1
  655. package/dist/shared/form.d.ts +4 -21
  656. package/dist/tokens/all-tokens.js +1 -1
  657. package/dist/tokens/base.js +1 -1
  658. package/dist/tokens/color-seed.js +1 -1
  659. package/dist/tokens/color-theme.js +1 -1
  660. package/dist/tokens/colors.js +1 -1
  661. package/dist/tokens/layout.js +1 -1
  662. package/dist/tokens/lazy-styles.js +1 -1
  663. package/dist/tokens/legacy-color.js +1 -1
  664. package/dist/tokens/palette-config.js +1 -1
  665. package/dist/tokens/palette.js +1 -1
  666. package/dist/tokens/resolve.js +1 -1
  667. package/dist/tokens/shadows.js +1 -1
  668. package/dist/tokens/sizes.js +1 -1
  669. package/dist/tokens/spacing.js +1 -1
  670. package/dist/tokens/typography.js +1 -1
  671. package/dist/utils/ResizeSensor.js +1 -1
  672. package/dist/utils/colors.js +1 -1
  673. package/dist/utils/dotize.js +1 -1
  674. package/dist/utils/is-dev-env.js +1 -1
  675. package/dist/utils/modules.js +1 -1
  676. package/dist/utils/promise.js +1 -1
  677. package/dist/utils/raf.js +1 -1
  678. package/dist/utils/random.js +1 -1
  679. package/dist/utils/range.js +1 -1
  680. package/dist/utils/react/RenderCache.js +1 -1
  681. package/dist/utils/react/Slots.js +1 -1
  682. package/dist/utils/react/chain.js +1 -1
  683. package/dist/utils/react/disabledProps.js +1 -1
  684. package/dist/utils/react/escapePropagation.js +1 -1
  685. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  686. package/dist/utils/react/index.js +1 -1
  687. package/dist/utils/react/interactions.js +1 -1
  688. package/dist/utils/react/isTextOnly.js +1 -1
  689. package/dist/utils/react/mapProps.js +1 -1
  690. package/dist/utils/react/mapProps.js.map +1 -1
  691. package/dist/utils/react/mergeProps.js +1 -1
  692. package/dist/utils/react/nullableValue.d.ts +2 -2
  693. package/dist/utils/react/nullableValue.js +1 -1
  694. package/dist/utils/react/nullableValue.js.map +1 -1
  695. package/dist/utils/react/programmaticFocus.js +1 -1
  696. package/dist/utils/react/resolveIcon.js +1 -1
  697. package/dist/utils/react/sharedStore.js +1 -1
  698. package/dist/utils/react/useBufferedValue.js +1 -1
  699. package/dist/utils/react/useCombinedRefs.js +1 -1
  700. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  701. package/dist/utils/react/useEventBus.js +1 -1
  702. package/dist/utils/react/useId.js +1 -1
  703. package/dist/utils/react/useIsDarwin.js +1 -1
  704. package/dist/utils/react/useKeySymbols.js +1 -1
  705. package/dist/utils/react/useLayoutEffect.js +1 -1
  706. package/dist/utils/react/useLocalStorage.js +1 -1
  707. package/dist/utils/react/useMergeStyles.js +1 -1
  708. package/dist/utils/react/useOverlayEscapeGuard.js +12 -1
  709. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
  710. package/dist/utils/react/usePopoverSync.js +1 -1
  711. package/dist/utils/react/useQaProps.js +1 -1
  712. package/dist/utils/react/useScheme.js +1 -1
  713. package/dist/utils/react/useViewportSize.js +1 -1
  714. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  715. package/dist/utils/selection.js +1 -1
  716. package/dist/utils/styles.js +1 -1
  717. package/dist/utils/tree.js +1 -1
  718. package/dist/utils/warnings.js +1 -1
  719. package/dist/version.js +2 -2
  720. package/package.json +15 -15
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { 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.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { usePersistentNotificationsContext } from "./NotificationContext.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { cleanupAndGetValidIds, saveDismissedId } from "./dismissed-storage.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { _Item } from "../../content/Item/Item.js";
3
3
  import { getThemeIcon } from "./useToast.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { 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.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { 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.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | 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.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | 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";
@@ -127,10 +127,7 @@ function Tooltip(props, ref) {
127
127
  const isMaterial = t3 === void 0 ? isMaterialContext : t3;
128
128
  const isLight = t4 === void 0 ? isLightContext : t4;
129
129
  const styles = extractStyles(otherProps, CONTAINER_STYLES);
130
- const { tooltipProps } = useTooltip({
131
- ...props,
132
- isDismissable: false
133
- }, state);
130
+ const { tooltipProps } = useTooltip(props, state);
134
131
  let t5;
135
132
  if ($[3] !== finalOverlayRef) {
136
133
  t5 = () => createDOMRef(finalOverlayRef);
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","names":["createDOMRef","DOMRefValue","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Styles","tasty","ForwardedRef","forwardRef","useContext","useImperativeHandle","useRef","AriaTooltipProps","useTooltip","PlacementAxis","mergeProps","mergeRefs","useLayoutEffect","extractStyles","TooltipContext","TooltipElement","styles","display","fill","light","color","width","radius","padding","preset","backdropFilter","whiteSpace","overflowWrap","pointerEvents","material","filter","transition","translate","transformOrigin","scale","opacity","Description","$","TooltipTipElement","position","height","border","borderTop","borderBottom","top","left","right","bottom","transform","CubeTooltipProps","tipStyles","showIcon","placement","isMaterial","isOpen","isLight","onOpenChange","defaultOpen","shouldFlip","Tooltip","props","ref","_c","overlayRef","transitionRef","arrowProps","state","overlayProps","minOffset","minScale","isMaterialContext","isLightContext","phase","isShown","updatePosition","tooltipProviderProps","defaultRef","t0","t1","combinedRef","finalOverlayRef","t2","t3","t4","otherProps","undefined","tooltipProps","isDismissable","t5","String","placementDirection","split","t6","t7","open","mods","t8","t9","Symbol","for","t10","t11","qa","children","_Tooltip","displayName"],"sources":["../../../../src/components/overlays/Tooltip/Tooltip.tsx"],"sourcesContent":["import { createDOMRef } from '@react-spectrum/utils';\nimport { DOMRefValue } from '@react-types/shared';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n useContext,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport { AriaTooltipProps, useTooltip } from 'react-aria';\n\nimport { PlacementAxis } from '../../../shared';\nimport { mergeProps, mergeRefs, useLayoutEffect } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { TooltipContext } from './context';\n\nexport type { AriaTooltipProps };\n\nconst TooltipElement = tasty({\n styles: {\n display: 'block',\n // The DEFAULT (dark) tooltip is intentionally scheme-invariant:\n // `#surface-inverse.85` + `#white` keep it the \"always dark\" tooltip in\n // light, dark, and high-contrast schemes — matching the legacy `#dark.85`\n // + `#white` design.\n //\n // The `light` variant uses the adaptive surface tokens (`#surface` +\n // `#surface-text-soft`) so it follows the page scheme. This restores the\n // softer legacy `#dark-02` look in light mode (cr≈9.2) and stays AA-safe\n // in dark mode (the previous fixed `#surface-inverse` was much darker\n // than the legacy `#dark-02`, and pairing the fixed `#white` fill with\n // the adaptive `#surface-text-soft` text — the LEGACY_ALIASES port of\n // `#dark-02` — would collapse to cr≈1.8 in dark schemes; using `#surface`\n // for the fill keeps both ends of the pair adapting together).\n fill: {\n '': '#surface-inverse.85',\n light: '#surface',\n },\n color: {\n '': '#white',\n light: '#surface-text-soft',\n },\n width: 'initial min(36x, (100dvw - 4x)) max-content',\n radius: true,\n padding: '.75x 1x',\n preset: 't4',\n backdropFilter: 'blur(.5x)',\n whiteSpace: 'pre-line',\n // The tooltip is width-capped (`min(36x, …)`) with `max-width: max-content`,\n // so a run with no spaces — a URL, a token, an identifier, an error string —\n // stays on one line and spills straight out of the bubble. `anywhere` breaks\n // it at the cap instead. It inherits, so tooltip children wrap too.\n overflowWrap: 'anywhere',\n pointerEvents: {\n '': 'none',\n material: 'auto',\n },\n filter: {\n '': false,\n light: 'drop-shadow(0 0 1px #surface-text-soft.2)',\n },\n transition:\n 'translate $transition ease-out, scale $transition ease-out, theme $transition ease-out',\n translate: {\n '': '0 0',\n 'open & [data-placement=\"top\"]': '0 0',\n '!open & [data-placement=\"top\"]': '0 1x',\n 'open & [data-placement=\"bottom\"]': '0 0',\n '!open & [data-placement=\"bottom\"]': '0 -1x',\n 'open & [data-placement=\"left\"]': '0 0',\n '!open & [data-placement=\"left\"]': '1x 0',\n 'open & [data-placement=\"right\"]': '0 0',\n '!open & [data-placement=\"right\"]': '-1x 0',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n '[data-placement=\"left\"]': 'right center',\n '[data-placement=\"right\"]': 'left center',\n },\n scale: {\n '': '1 1',\n '!open': '1 .8',\n '!open & ([data-placement=\"left\"] | [data-placement=\"right\"])': '.8 1',\n },\n opacity: {\n '': 1,\n '!open': 0.001,\n },\n\n // A secondary line under the title — the description an auto tooltip\n // shows when a row's label and description are both cut off. Lighter and\n // dimmed like the row's own description, from the tooltip's own color, so\n // it follows the `light` variant. Direct children only: a tooltip whose\n // body is an `Item` keeps that item's description as it is.\n Description: {\n $: '>',\n display: 'block',\n preset: 't4n',\n opacity: 0.75,\n },\n },\n});\n\nconst TooltipTipElement = tasty({\n styles: {\n position: 'absolute',\n width: '1px',\n height: '1px',\n border: '.5x #clear',\n borderTop: {\n '': '.5x solid #surface-inverse.85',\n light: '.5x solid #surface',\n },\n borderBottom: '0',\n top: {\n '': 'initial',\n '[data-placement=\"left\"] | [data-placement=\"right\"]': '50%',\n '[data-placement=\"top\"]': '100%',\n },\n left: {\n '': 'initial',\n '[data-placement=\"top\"] | [data-placement=\"bottom\"]': '50%',\n '[data-placement=\"left\"]': '100%',\n },\n right: {\n '': 'initial',\n '[data-placement=\"right\"]': '100%',\n },\n bottom: {\n '': 'initial',\n '[data-placement=\"bottom\"]': '100%',\n },\n transform: {\n '': 'translate((-.375x - 1px), 0)',\n '[data-placement=\"bottom\"]':\n 'translate((-.375x - 1px), 0) rotate(180deg)',\n '[data-placement=\"left\"]': 'translate(-.25x, -.25x) rotate(270deg)',\n '[data-placement=\"right\"]': 'translate(.25x, -.25x) rotate(90deg)',\n },\n transition: 'theme',\n },\n});\n\nexport interface CubeTooltipProps\n extends BaseProps,\n ContainerStyleProps,\n AriaTooltipProps {\n tipStyles?: Styles;\n showIcon?: boolean;\n placement?: PlacementAxis;\n isMaterial?: boolean;\n isOpen?: boolean;\n isLight?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n shouldFlip?: boolean;\n}\n\nfunction Tooltip(\n props: CubeTooltipProps,\n ref: ForwardedRef<DOMRefValue<HTMLDivElement>>,\n) {\n let {\n ref: overlayRef,\n transitionRef,\n arrowProps,\n state,\n overlayProps,\n minOffset,\n minScale,\n isMaterial: isMaterialContext,\n isLight: isLightContext,\n phase,\n isShown,\n updatePosition,\n ...tooltipProviderProps\n } = useContext(TooltipContext);\n\n const defaultRef = useRef<HTMLDivElement>(null);\n const combinedRef = mergeRefs(transitionRef, overlayRef ?? defaultRef);\n const finalOverlayRef = overlayRef ?? defaultRef;\n\n props = mergeProps(props, tooltipProviderProps);\n\n let {\n placement = 'top',\n isOpen,\n tipStyles,\n showIcon,\n isMaterial = isMaterialContext,\n isLight = isLightContext,\n ...otherProps\n } = props;\n\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n let { tooltipProps } = useTooltip({ ...props, isDismissable: false }, state);\n\n // Sync ref with overlayRef from context.\n useImperativeHandle(ref, () => createDOMRef(finalOverlayRef));\n\n if (typeof minOffset === 'number') {\n minOffset = `${minOffset}px`;\n }\n\n if (typeof minScale === 'number') {\n minScale = String(minScale);\n }\n\n // Extract primary placement direction for consistent styling\n const placementDirection = placement?.split(' ')[0] || placement || 'top';\n\n const mods = {\n material: isMaterial,\n light: isLight,\n open: isShown ?? isOpen,\n };\n\n // Update position when tooltip becomes visible\n useLayoutEffect(() => {\n updatePosition?.();\n }, []);\n\n return (\n <TooltipElement\n {...tooltipProps}\n {...overlayProps}\n ref={combinedRef}\n // `qa` is typed through `BaseProps` but nothing forwarded it, so a test\n // had no way to tell one control's tooltip from another's.\n qa={otherProps.qa}\n styles={styles}\n mods={mods}\n data-min-offset={minOffset}\n data-min-scale={minScale}\n data-placement={placementDirection}\n data-phase={phase}\n >\n {props.children}\n <TooltipTipElement\n data-placement={placementDirection}\n styles={tipStyles}\n mods={mods}\n {...arrowProps}\n />\n </TooltipElement>\n );\n}\n\n/**\n * Display container for Tooltip content. Has a directional arrow dependent on its placement.\n */\nlet _Tooltip = forwardRef(Tooltip);\n\n_Tooltip.displayName = 'Tooltip';\n\nexport { _Tooltip as Tooltip };\n"],"mappings":";;;;;;;;;;;;;;AA0BA,MAAMoB,iBAAiBd,MAAM,EAC3Be,QAAQ;CACNC,SAAS;CAcTC,MAAM;EACJ,IAAI;EACJC,OAAO;EACR;CACDC,OAAO;EACL,IAAI;EACJD,OAAO;EACR;CACDE,OAAO;CACPC,QAAQ;CACRC,SAAS;CACTC,QAAQ;CACRC,gBAAgB;CAChBC,YAAY;CAKZC,cAAc;CACdC,eAAe;EACb,IAAI;EACJC,UAAU;EACX;CACDC,QAAQ;EACN,IAAI;EACJX,OAAO;EACR;CACDY,YACE;CACFC,WAAW;EACT,IAAI;EACJ,mCAAiC;EACjC,oCAAkC;EAClC,sCAAoC;EACpC,uCAAqC;EACrC,oCAAkC;EAClC,qCAAmC;EACnC,qCAAmC;EACnC,sCAAoC;EACrC;CACDC,iBAAiB;EACf,IAAI;EACJ,4BAA0B;EAC1B,6BAA2B;EAC3B,8BAA4B;EAC7B;CACDC,OAAO;EACL,IAAI;EACJ,SAAS;EACT,oEAAgE;EACjE;CACDC,SAAS;EACP,IAAI;EACJ,SAAS;EACV;CAODC,aAAa;EACXC,GAAG;EACHpB,SAAS;EACTO,QAAQ;EACRW,SAAS;EACX;CACF,EACD,CAAC;AAEF,MAAMG,oBAAoBrC,MAAM,EAC9Be,QAAQ;CACNuB,UAAU;CACVlB,OAAO;CACPmB,QAAQ;CACRC,QAAQ;CACRC,WAAW;EACT,IAAI;EACJvB,OAAO;EACR;CACDwB,cAAc;CACdC,KAAK;EACH,IAAI;EACJ,0DAAsD;EACtD,4BAA0B;EAC3B;CACDC,MAAM;EACJ,IAAI;EACJ,0DAAsD;EACtD,6BAA2B;EAC5B;CACDC,OAAO;EACL,IAAI;EACJ,8BAA4B;EAC7B;CACDC,QAAQ;EACN,IAAI;EACJ,+BAA6B;EAC9B;CACDC,WAAW;EACT,IAAI;EACJ,+BACE;EACF,6BAA2B;EAC3B,8BAA4B;EAC7B;CACDjB,YAAY;CACd,EACD,CAAC;AAiBF,SAAA4B,QAAAC,OAAAC,KAAA;CAAA,MAAAxB,IAAAyB,EAAA,GAAA;CAIE,IAAA,EAAAD,KAAAE,YAAAC,eAAAC,YAAAC,OAAAC,cAAAC,WAAAC,UAAAhB,YAAAiB,mBAAAf,SAAAgB,gBAAAC,OAAAC,SAAAC,gBAAA,GAAAC,yBAcIvE,WAAWU,eAAe;CAE9B,MAAA8D,aAAmBtE,OAAuB,KAAK;CACF,MAAAuE,KAAAd,cAAAa;CAAwB,IAAAE;AAAA,KAAAzC,EAAA,OAAAwC,MAAAxC,EAAA,OAAA2B,eAAA;AAAjDc,OAAAnE,UAAUqD,eAAea,GAAyB;AAAAxC,IAAA,KAAAwC;AAAAxC,IAAA,KAAA2B;AAAA3B,IAAA,KAAAyC;OAAAA,MAAAzC,EAAA;CAAtE,MAAA0C,cAAoBD;CACpB,MAAAE,kBAAwBjB,cAAAa;AAExBhB,SAAQlD,aAAWkD,OAAOe,qBAAqB;CAE/C,MAAA,EAAAvB,WAAA6B,IAAA3B,QAAAJ,WAAAC,UAAAE,YAAA6B,IAAA3B,SAAA4B,IAAA,GAAAC,eAQIxB;CAPF,MAAAR,YAAA6B,OAAAI,SAAA,QAAAJ;CAIA,MAAA5B,aAAA6B,OAAAG,SAAAf,oBAAAY;CACA,MAAA3B,UAAA4B,OAAAE,SAAAd,iBAAAY;CAIF,MAAAnE,SAAeH,cAAcuE,YAAYtF,iBAAiB;CAE1D,MAAA,EAAAwF,iBAAuB9E,WAAW;EAAA,GAAKoD;EAAK2B,eAAiB;EAAO,EAAErB,MAAM;CAAC,IAAAsB;AAAA,KAAAnD,EAAA,OAAA2C,iBAAA;AAGpDQ,aAAM7F,aAAaqF,gBAAgB;AAAA3C,IAAA,KAAA2C;AAAA3C,IAAA,KAAAmD;OAAAA,MAAAnD,EAAA;AAA5DhC,qBAAoBwD,KAAK2B,GAAoC;AAE7D,KAAI,OAAOpB,cAAc,SACvBA,aAAYA,GAAGA,UAAS;AAG1B,KAAI,OAAOC,aAAa,SACtBA,YAAWoB,OAAOpB,SAAS;CAI7B,MAAAqB,qBAA2BtC,WAASuC,MAAQ,IAAO,CAAA,MAAxBvC,aAAA;CAKnB,MAAAwC,KAAAnB,WAAAnB;CAAiB,IAAAuC;AAAA,KAAAxD,EAAA,OAAAkB,WAAAlB,EAAA,OAAAgB,cAAAhB,EAAA,OAAAuD,IAAA;AAHZC,OAAA;GAAAhE,UACDwB;GAAUlC,OACboC;GAAOuC,MACRF;GACP;AAAAvD,IAAA,KAAAkB;AAAAlB,IAAA,KAAAgB;AAAAhB,IAAA,KAAAuD;AAAAvD,IAAA,KAAAwD;OAAAA,MAAAxD,EAAA;CAJD,MAAA0D,OAAaF;CAIX,IAAAG;AAAA,KAAA3D,EAAA,OAAAqC,gBAAA;AAGcsB,aAAA;AACdtB,qBAAkB;;AACnBrC,IAAA,KAAAqC;AAAArC,IAAA,MAAA2D;OAAAA,MAAA3D,EAAA;CAAA,IAAA4D;AAAA,KAAA5D,EAAA,QAAA6D,OAAAC,IAAA,4BAAA,EAAA;AAAEF,OAAA,EAAE;AAAA5D,IAAA,MAAA4D;OAAAA,MAAA5D,EAAA;AAFLzB,mBAAgBoF,IAEbC,GAAG;CAAA,IAAAG;AAAA,KAAA/D,EAAA,QAAA4B,cAAA5B,EAAA,QAAA0D,QAAA1D,EAAA,QAAAqD,sBAAArD,EAAA,QAAAa,WAAA;AAkBFkD,QAAA,oBAAC;GACiBV,kBAAAA;GACRxC,QAAAA;GACF6C;GAAI,GACN9B;IACJ;AAAA5B,IAAA,MAAA4B;AAAA5B,IAAA,MAAA0D;AAAA1D,IAAA,MAAAqD;AAAArD,IAAA,MAAAa;AAAAb,IAAA,MAAA+D;OAAAA,OAAA/D,EAAA;CAAA,IAAAgE;AAAA,KAAAhE,EAAA,QAAA0C,eAAA1C,EAAA,QAAA+B,aAAA/B,EAAA,QAAAgC,YAAAhC,EAAA,QAAA0D,QAAA1D,EAAA,QAAA+C,WAAAkB,MAAAjE,EAAA,QAAA8B,gBAAA9B,EAAA,QAAAmC,SAAAnC,EAAA,QAAAqD,sBAAArD,EAAA,QAAAuB,MAAA2C,YAAAlE,EAAA,QAAArB,UAAAqB,EAAA,QAAA+D,OAAA/D,EAAA,QAAAiD,cAAA;AApBJe,QAAA,qBAAC;GAAc,GACTf;GAAY,GACZnB;GACCY,KAAAA;GAGD,IAAAK,WAAUkB;GACNtF;GACF+E;GACW3B,mBAAAA;GACDC,kBAAAA;GACAqB,kBAAAA;GACJlB,cAAAA;cAEXZ,MAAK2C,UACNH;IAMe;AAAA/D,IAAA,MAAA0C;AAAA1C,IAAA,MAAA+B;AAAA/B,IAAA,MAAAgC;AAAAhC,IAAA,MAAA0D;AAAA1D,IAAA,MAAA+C,WAAAkB;AAAAjE,IAAA,MAAA8B;AAAA9B,IAAA,MAAAmC;AAAAnC,IAAA,MAAAqD;AAAArD,IAAA,MAAAuB,MAAA2C;AAAAlE,IAAA,MAAArB;AAAAqB,IAAA,MAAA+D;AAAA/D,IAAA,MAAAiD;AAAAjD,IAAA,MAAAgE;OAAAA,OAAAhE,EAAA;AAAA,QArBjBgE;;;;;AA4BJ,IAAIG,WAAWrG,WAAWwD,QAAQ;AAElC6C,SAASC,cAAc"}
1
+ {"version":3,"file":"Tooltip.js","names":["createDOMRef","DOMRefValue","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Styles","tasty","ForwardedRef","forwardRef","useContext","useImperativeHandle","useRef","AriaTooltipProps","useTooltip","PlacementAxis","mergeProps","mergeRefs","useLayoutEffect","extractStyles","TooltipContext","TooltipElement","styles","display","fill","light","color","width","radius","padding","preset","backdropFilter","whiteSpace","overflowWrap","pointerEvents","material","filter","transition","translate","transformOrigin","scale","opacity","Description","$","TooltipTipElement","position","height","border","borderTop","borderBottom","top","left","right","bottom","transform","CubeTooltipProps","tipStyles","showIcon","placement","isMaterial","isOpen","isLight","onOpenChange","defaultOpen","shouldFlip","Tooltip","props","ref","_c","overlayRef","transitionRef","arrowProps","state","overlayProps","minOffset","minScale","isMaterialContext","isLightContext","phase","isShown","updatePosition","tooltipProviderProps","defaultRef","t0","t1","combinedRef","finalOverlayRef","t2","t3","t4","otherProps","undefined","tooltipProps","t5","String","placementDirection","split","t6","t7","open","mods","t8","t9","Symbol","for","t10","t11","qa","children","_Tooltip","displayName"],"sources":["../../../../src/components/overlays/Tooltip/Tooltip.tsx"],"sourcesContent":["import { createDOMRef } from '@react-spectrum/utils';\nimport { DOMRefValue } from '@react-types/shared';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n useContext,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport { AriaTooltipProps, useTooltip } from 'react-aria';\n\nimport { PlacementAxis } from '../../../shared';\nimport { mergeProps, mergeRefs, useLayoutEffect } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { TooltipContext } from './context';\n\nexport type { AriaTooltipProps };\n\nconst TooltipElement = tasty({\n styles: {\n display: 'block',\n // The DEFAULT (dark) tooltip is intentionally scheme-invariant:\n // `#surface-inverse.85` + `#white` keep it the \"always dark\" tooltip in\n // light, dark, and high-contrast schemes — matching the legacy `#dark.85`\n // + `#white` design.\n //\n // The `light` variant uses the adaptive surface tokens (`#surface` +\n // `#surface-text-soft`) so it follows the page scheme. This restores the\n // softer legacy `#dark-02` look in light mode (cr≈9.2) and stays AA-safe\n // in dark mode (the previous fixed `#surface-inverse` was much darker\n // than the legacy `#dark-02`, and pairing the fixed `#white` fill with\n // the adaptive `#surface-text-soft` text — the LEGACY_ALIASES port of\n // `#dark-02` — would collapse to cr≈1.8 in dark schemes; using `#surface`\n // for the fill keeps both ends of the pair adapting together).\n fill: {\n '': '#surface-inverse.85',\n light: '#surface',\n },\n color: {\n '': '#white',\n light: '#surface-text-soft',\n },\n width: 'initial min(36x, (100dvw - 4x)) max-content',\n radius: true,\n padding: '.75x 1x',\n preset: 't4',\n backdropFilter: 'blur(.5x)',\n whiteSpace: 'pre-line',\n // The tooltip is width-capped (`min(36x, …)`) with `max-width: max-content`,\n // so a run with no spaces — a URL, a token, an identifier, an error string —\n // stays on one line and spills straight out of the bubble. `anywhere` breaks\n // it at the cap instead. It inherits, so tooltip children wrap too.\n overflowWrap: 'anywhere',\n pointerEvents: {\n '': 'none',\n material: 'auto',\n },\n filter: {\n '': false,\n light: 'drop-shadow(0 0 1px #surface-text-soft.2)',\n },\n transition:\n 'translate $transition ease-out, scale $transition ease-out, theme $transition ease-out',\n translate: {\n '': '0 0',\n 'open & [data-placement=\"top\"]': '0 0',\n '!open & [data-placement=\"top\"]': '0 1x',\n 'open & [data-placement=\"bottom\"]': '0 0',\n '!open & [data-placement=\"bottom\"]': '0 -1x',\n 'open & [data-placement=\"left\"]': '0 0',\n '!open & [data-placement=\"left\"]': '1x 0',\n 'open & [data-placement=\"right\"]': '0 0',\n '!open & [data-placement=\"right\"]': '-1x 0',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n '[data-placement=\"left\"]': 'right center',\n '[data-placement=\"right\"]': 'left center',\n },\n scale: {\n '': '1 1',\n '!open': '1 .8',\n '!open & ([data-placement=\"left\"] | [data-placement=\"right\"])': '.8 1',\n },\n opacity: {\n '': 1,\n '!open': 0.001,\n },\n\n // A secondary line under the title — the description an auto tooltip\n // shows when a row's label and description are both cut off. Lighter and\n // dimmed like the row's own description, from the tooltip's own color, so\n // it follows the `light` variant. Direct children only: a tooltip whose\n // body is an `Item` keeps that item's description as it is.\n Description: {\n $: '>',\n display: 'block',\n preset: 't4n',\n opacity: 0.75,\n },\n },\n});\n\nconst TooltipTipElement = tasty({\n styles: {\n position: 'absolute',\n width: '1px',\n height: '1px',\n border: '.5x #clear',\n borderTop: {\n '': '.5x solid #surface-inverse.85',\n light: '.5x solid #surface',\n },\n borderBottom: '0',\n top: {\n '': 'initial',\n '[data-placement=\"left\"] | [data-placement=\"right\"]': '50%',\n '[data-placement=\"top\"]': '100%',\n },\n left: {\n '': 'initial',\n '[data-placement=\"top\"] | [data-placement=\"bottom\"]': '50%',\n '[data-placement=\"left\"]': '100%',\n },\n right: {\n '': 'initial',\n '[data-placement=\"right\"]': '100%',\n },\n bottom: {\n '': 'initial',\n '[data-placement=\"bottom\"]': '100%',\n },\n transform: {\n '': 'translate((-.375x - 1px), 0)',\n '[data-placement=\"bottom\"]':\n 'translate((-.375x - 1px), 0) rotate(180deg)',\n '[data-placement=\"left\"]': 'translate(-.25x, -.25x) rotate(270deg)',\n '[data-placement=\"right\"]': 'translate(.25x, -.25x) rotate(90deg)',\n },\n transition: 'theme',\n },\n});\n\nexport interface CubeTooltipProps\n extends BaseProps,\n ContainerStyleProps,\n AriaTooltipProps {\n tipStyles?: Styles;\n showIcon?: boolean;\n placement?: PlacementAxis;\n isMaterial?: boolean;\n isOpen?: boolean;\n isLight?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n shouldFlip?: boolean;\n}\n\nfunction Tooltip(\n props: CubeTooltipProps,\n ref: ForwardedRef<DOMRefValue<HTMLDivElement>>,\n) {\n let {\n ref: overlayRef,\n transitionRef,\n arrowProps,\n state,\n overlayProps,\n minOffset,\n minScale,\n isMaterial: isMaterialContext,\n isLight: isLightContext,\n phase,\n isShown,\n updatePosition,\n ...tooltipProviderProps\n } = useContext(TooltipContext);\n\n const defaultRef = useRef<HTMLDivElement>(null);\n const combinedRef = mergeRefs(transitionRef, overlayRef ?? defaultRef);\n const finalOverlayRef = overlayRef ?? defaultRef;\n\n props = mergeProps(props, tooltipProviderProps);\n\n let {\n placement = 'top',\n isOpen,\n tipStyles,\n showIcon,\n isMaterial = isMaterialContext,\n isLight = isLightContext,\n ...otherProps\n } = props;\n\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n let { tooltipProps } = useTooltip(props, state);\n\n // Sync ref with overlayRef from context.\n useImperativeHandle(ref, () => createDOMRef(finalOverlayRef));\n\n if (typeof minOffset === 'number') {\n minOffset = `${minOffset}px`;\n }\n\n if (typeof minScale === 'number') {\n minScale = String(minScale);\n }\n\n // Extract primary placement direction for consistent styling\n const placementDirection = placement?.split(' ')[0] || placement || 'top';\n\n const mods = {\n material: isMaterial,\n light: isLight,\n open: isShown ?? isOpen,\n };\n\n // Update position when tooltip becomes visible\n useLayoutEffect(() => {\n updatePosition?.();\n }, []);\n\n return (\n <TooltipElement\n {...tooltipProps}\n {...overlayProps}\n ref={combinedRef}\n // `qa` is typed through `BaseProps` but nothing forwarded it, so a test\n // had no way to tell one control's tooltip from another's.\n qa={otherProps.qa}\n styles={styles}\n mods={mods}\n data-min-offset={minOffset}\n data-min-scale={minScale}\n data-placement={placementDirection}\n data-phase={phase}\n >\n {props.children}\n <TooltipTipElement\n data-placement={placementDirection}\n styles={tipStyles}\n mods={mods}\n {...arrowProps}\n />\n </TooltipElement>\n );\n}\n\n/**\n * Display container for Tooltip content. Has a directional arrow dependent on its placement.\n */\nlet _Tooltip = forwardRef(Tooltip);\n\n_Tooltip.displayName = 'Tooltip';\n\nexport { _Tooltip as Tooltip };\n"],"mappings":";;;;;;;;;;;;;;AA0BA,MAAMoB,iBAAiBd,MAAM,EAC3Be,QAAQ;CACNC,SAAS;CAcTC,MAAM;EACJ,IAAI;EACJC,OAAO;EACR;CACDC,OAAO;EACL,IAAI;EACJD,OAAO;EACR;CACDE,OAAO;CACPC,QAAQ;CACRC,SAAS;CACTC,QAAQ;CACRC,gBAAgB;CAChBC,YAAY;CAKZC,cAAc;CACdC,eAAe;EACb,IAAI;EACJC,UAAU;EACX;CACDC,QAAQ;EACN,IAAI;EACJX,OAAO;EACR;CACDY,YACE;CACFC,WAAW;EACT,IAAI;EACJ,mCAAiC;EACjC,oCAAkC;EAClC,sCAAoC;EACpC,uCAAqC;EACrC,oCAAkC;EAClC,qCAAmC;EACnC,qCAAmC;EACnC,sCAAoC;EACrC;CACDC,iBAAiB;EACf,IAAI;EACJ,4BAA0B;EAC1B,6BAA2B;EAC3B,8BAA4B;EAC7B;CACDC,OAAO;EACL,IAAI;EACJ,SAAS;EACT,oEAAgE;EACjE;CACDC,SAAS;EACP,IAAI;EACJ,SAAS;EACV;CAODC,aAAa;EACXC,GAAG;EACHpB,SAAS;EACTO,QAAQ;EACRW,SAAS;EACX;CACF,EACD,CAAC;AAEF,MAAMG,oBAAoBrC,MAAM,EAC9Be,QAAQ;CACNuB,UAAU;CACVlB,OAAO;CACPmB,QAAQ;CACRC,QAAQ;CACRC,WAAW;EACT,IAAI;EACJvB,OAAO;EACR;CACDwB,cAAc;CACdC,KAAK;EACH,IAAI;EACJ,0DAAsD;EACtD,4BAA0B;EAC3B;CACDC,MAAM;EACJ,IAAI;EACJ,0DAAsD;EACtD,6BAA2B;EAC5B;CACDC,OAAO;EACL,IAAI;EACJ,8BAA4B;EAC7B;CACDC,QAAQ;EACN,IAAI;EACJ,+BAA6B;EAC9B;CACDC,WAAW;EACT,IAAI;EACJ,+BACE;EACF,6BAA2B;EAC3B,8BAA4B;EAC7B;CACDjB,YAAY;CACd,EACD,CAAC;AAiBF,SAAA4B,QAAAC,OAAAC,KAAA;CAAA,MAAAxB,IAAAyB,EAAA,GAAA;CAIE,IAAA,EAAAD,KAAAE,YAAAC,eAAAC,YAAAC,OAAAC,cAAAC,WAAAC,UAAAhB,YAAAiB,mBAAAf,SAAAgB,gBAAAC,OAAAC,SAAAC,gBAAA,GAAAC,yBAcIvE,WAAWU,eAAe;CAE9B,MAAA8D,aAAmBtE,OAAuB,KAAK;CACF,MAAAuE,KAAAd,cAAAa;CAAwB,IAAAE;AAAA,KAAAzC,EAAA,OAAAwC,MAAAxC,EAAA,OAAA2B,eAAA;AAAjDc,OAAAnE,UAAUqD,eAAea,GAAyB;AAAAxC,IAAA,KAAAwC;AAAAxC,IAAA,KAAA2B;AAAA3B,IAAA,KAAAyC;OAAAA,MAAAzC,EAAA;CAAtE,MAAA0C,cAAoBD;CACpB,MAAAE,kBAAwBjB,cAAAa;AAExBhB,SAAQlD,aAAWkD,OAAOe,qBAAqB;CAE/C,MAAA,EAAAvB,WAAA6B,IAAA3B,QAAAJ,WAAAC,UAAAE,YAAA6B,IAAA3B,SAAA4B,IAAA,GAAAC,eAQIxB;CAPF,MAAAR,YAAA6B,OAAAI,SAAA,QAAAJ;CAIA,MAAA5B,aAAA6B,OAAAG,SAAAf,oBAAAY;CACA,MAAA3B,UAAA4B,OAAAE,SAAAd,iBAAAY;CAIF,MAAAnE,SAAeH,cAAcuE,YAAYtF,iBAAiB;CAE1D,MAAA,EAAAwF,iBAAuB9E,WAAWoD,OAAOM,MAAM;CAAC,IAAAqB;AAAA,KAAAlD,EAAA,OAAA2C,iBAAA;AAGvBO,aAAM5F,aAAaqF,gBAAgB;AAAA3C,IAAA,KAAA2C;AAAA3C,IAAA,KAAAkD;OAAAA,MAAAlD,EAAA;AAA5DhC,qBAAoBwD,KAAK0B,GAAoC;AAE7D,KAAI,OAAOnB,cAAc,SACvBA,aAAYA,GAAGA,UAAS;AAG1B,KAAI,OAAOC,aAAa,SACtBA,YAAWmB,OAAOnB,SAAS;CAI7B,MAAAoB,qBAA2BrC,WAASsC,MAAQ,IAAO,CAAA,MAAxBtC,aAAA;CAKnB,MAAAuC,KAAAlB,WAAAnB;CAAiB,IAAAsC;AAAA,KAAAvD,EAAA,OAAAkB,WAAAlB,EAAA,OAAAgB,cAAAhB,EAAA,OAAAsD,IAAA;AAHZC,OAAA;GAAA/D,UACDwB;GAAUlC,OACboC;GAAOsC,MACRF;GACP;AAAAtD,IAAA,KAAAkB;AAAAlB,IAAA,KAAAgB;AAAAhB,IAAA,KAAAsD;AAAAtD,IAAA,KAAAuD;OAAAA,MAAAvD,EAAA;CAJD,MAAAyD,OAAaF;CAIX,IAAAG;AAAA,KAAA1D,EAAA,OAAAqC,gBAAA;AAGcqB,aAAA;AACdrB,qBAAkB;;AACnBrC,IAAA,KAAAqC;AAAArC,IAAA,MAAA0D;OAAAA,MAAA1D,EAAA;CAAA,IAAA2D;AAAA,KAAA3D,EAAA,QAAA4D,OAAAC,IAAA,4BAAA,EAAA;AAAEF,OAAA,EAAE;AAAA3D,IAAA,MAAA2D;OAAAA,MAAA3D,EAAA;AAFLzB,mBAAgBmF,IAEbC,GAAG;CAAA,IAAAG;AAAA,KAAA9D,EAAA,QAAA4B,cAAA5B,EAAA,QAAAyD,QAAAzD,EAAA,QAAAoD,sBAAApD,EAAA,QAAAa,WAAA;AAkBFiD,QAAA,oBAAC;GACiBV,kBAAAA;GACRvC,QAAAA;GACF4C;GAAI,GACN7B;IACJ;AAAA5B,IAAA,MAAA4B;AAAA5B,IAAA,MAAAyD;AAAAzD,IAAA,MAAAoD;AAAApD,IAAA,MAAAa;AAAAb,IAAA,MAAA8D;OAAAA,OAAA9D,EAAA;CAAA,IAAA+D;AAAA,KAAA/D,EAAA,QAAA0C,eAAA1C,EAAA,QAAA+B,aAAA/B,EAAA,QAAAgC,YAAAhC,EAAA,QAAAyD,QAAAzD,EAAA,QAAA+C,WAAAiB,MAAAhE,EAAA,QAAA8B,gBAAA9B,EAAA,QAAAmC,SAAAnC,EAAA,QAAAoD,sBAAApD,EAAA,QAAAuB,MAAA0C,YAAAjE,EAAA,QAAArB,UAAAqB,EAAA,QAAA8D,OAAA9D,EAAA,QAAAiD,cAAA;AApBJc,QAAA,qBAAC;GAAc,GACTd;GAAY,GACZnB;GACCY,KAAAA;GAGD,IAAAK,WAAUiB;GACNrF;GACF8E;GACW1B,mBAAAA;GACDC,kBAAAA;GACAoB,kBAAAA;GACJjB,cAAAA;cAEXZ,MAAK0C,UACNH;IAMe;AAAA9D,IAAA,MAAA0C;AAAA1C,IAAA,MAAA+B;AAAA/B,IAAA,MAAAgC;AAAAhC,IAAA,MAAAyD;AAAAzD,IAAA,MAAA+C,WAAAiB;AAAAhE,IAAA,MAAA8B;AAAA9B,IAAA,MAAAmC;AAAAnC,IAAA,MAAAoD;AAAApD,IAAA,MAAAuB,MAAA0C;AAAAjE,IAAA,MAAArB;AAAAqB,IAAA,MAAA8D;AAAA9D,IAAA,MAAAiD;AAAAjD,IAAA,MAAA+D;OAAAA,OAAA/D,EAAA;AAAA,QArBjB+D;;;;;AA4BJ,IAAIG,WAAWpG,WAAWwD,QAAQ;AAElC4C,SAASC,cAAc"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { _Tooltip } from "./Tooltip.js";
3
3
  import { TooltipTrigger } from "./TooltipTrigger.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { isDevEnv } from "../../../utils/is-dev-env.js";
4
4
  import { TooltipContext } from "./context.js";
@@ -45,8 +45,7 @@ function TooltipTrigger(props) {
45
45
  if ($[0] !== delay || $[1] !== props) {
46
46
  t3 = {
47
47
  delay,
48
- ...props,
49
- isDismissable: false
48
+ ...props
50
49
  };
51
50
  $[0] = delay;
52
51
  $[1] = props;
@@ -61,7 +60,6 @@ function TooltipTrigger(props) {
61
60
  delay,
62
61
  isOpen,
63
62
  onOpenChange,
64
- isDismissable: false,
65
63
  defaultOpen
66
64
  };
67
65
  $[3] = defaultOpen;
@@ -96,7 +94,6 @@ function TooltipTrigger(props) {
96
94
  overlayRef,
97
95
  offset,
98
96
  crossOffset,
99
- isDismissable: false,
100
97
  isOpen: state.isOpen
101
98
  };
102
99
  $[12] = crossOffset;
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipTrigger.js","names":["FocusableProvider","FocusEvent","HTMLAttributes","isValidElement","ReactElement","ReactNode","RefObject","useRef","Placement","TooltipTriggerProps","useOverlayPosition","useTooltipTrigger","useTooltipTriggerState","useEvent","isDevEnv","isFocusRestoration","Block","ActiveZone","DisplayTransition","Portal","TooltipContext","DEFAULT_OFFSET","DEFAULT_CROSS_OFFSET","isTriggerFunction","value","TooltipTriggerFunction","isReactElement","triggerProps","HTMLElement","ref","CubeTooltipTriggerProps","children","crossOffset","offset","placement","isMaterial","isLight","activeWrap","targetRef","isOpen","onOpenChange","defaultOpen","isDisabled","delay","closeDelay","trigger","disableFocusableProvider","TooltipTrigger","props","$","_c","externalRef","t0","t1","triggerAction","t2","undefined","rawChildrenArray","Array","isArray","tooltip","Error","console","warn","internalRef","tooltipTriggerRef","overlayRef","t3","isDismissable","state","t4","rawTriggerProps","tooltipProps","t5","event","onFocus","t6","t7","overlayProps","arrowProps","updatePosition","t8","t9","minOffset","minScale","tooltipContextValue","t10","t11","t12","phase","isShown","transitionRef","t13","Symbol","for","onClick","e","currentTarget","parentNode","click","t14","phase_0","isShown_0","transitionRef_0","t15","triggerContent"],"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 // Without it a disabled tooltip still opened — invisibly, since nothing\n // renders it — and while open React Aria's document-level listener eats\n // every `Escape`, so a Dialog under the pointer would not close.\n isDisabled,\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 && !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\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":"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"}
1
+ {"version":3,"file":"TooltipTrigger.js","names":["FocusableProvider","FocusEvent","HTMLAttributes","isValidElement","ReactElement","ReactNode","RefObject","useRef","Placement","TooltipTriggerProps","useOverlayPosition","useTooltipTrigger","useTooltipTriggerState","useEvent","isDevEnv","isFocusRestoration","Block","ActiveZone","DisplayTransition","Portal","TooltipContext","DEFAULT_OFFSET","DEFAULT_CROSS_OFFSET","isTriggerFunction","value","TooltipTriggerFunction","isReactElement","triggerProps","HTMLElement","ref","CubeTooltipTriggerProps","children","crossOffset","offset","placement","isMaterial","isLight","activeWrap","targetRef","isOpen","onOpenChange","defaultOpen","isDisabled","delay","closeDelay","trigger","disableFocusableProvider","TooltipTrigger","props","$","_c","externalRef","t0","t1","triggerAction","t2","undefined","rawChildrenArray","Array","isArray","tooltip","Error","console","warn","internalRef","tooltipTriggerRef","overlayRef","t3","state","t4","rawTriggerProps","tooltipProps","t5","event","onFocus","t6","t7","overlayProps","arrowProps","updatePosition","t8","t9","minOffset","minScale","tooltipContextValue","t10","t11","t12","phase","isShown","transitionRef","t13","Symbol","for","onClick","e","currentTarget","parentNode","click","t14","phase_0","isShown_0","transitionRef_0","t15","triggerContent"],"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<HTMLDivElement>(null);\n\n let state = useTooltipTriggerState({ delay, ...props });\n\n let { triggerProps: rawTriggerProps, tooltipProps } = useTooltipTrigger(\n {\n // Without it a disabled tooltip still opened — invisibly, since nothing\n // renders it — and while open React Aria's document-level listener eats\n // every `Escape`, so a Dialog under the pointer would not close.\n isDisabled,\n trigger: triggerAction,\n delay,\n isOpen,\n onOpenChange,\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 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 && !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\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":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import React from "react";
3
3
 
4
4
  //#region src/components/overlays/Tooltip/context.ts
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":["React","HTMLAttributes","RefCallback","RefObject","TooltipTriggerState","PlacementAxis","Props","Phase","TooltipContextProps","state","ref","HTMLDivElement","transitionRef","placement","arrowProps","HTMLElement","overlayProps","minScale","minOffset","isMaterial","isLight","phase","isShown","updatePosition","TooltipContext","createContext"],"sources":["../../../../src/components/overlays/Tooltip/context.ts"],"sourcesContent":["import React, { HTMLAttributes, RefCallback, RefObject } from 'react';\nimport { TooltipTriggerState } from 'react-stately';\n\nimport { PlacementAxis } from '../../../shared';\n\nimport type { Props } from '../../../props';\n\ntype Phase = 'enter' | 'entered' | 'exit' | 'unmounted';\n\ninterface TooltipContextProps {\n state?: TooltipTriggerState;\n ref?: RefObject<HTMLDivElement>;\n transitionRef?: RefCallback<HTMLDivElement>;\n placement?: PlacementAxis;\n arrowProps?: HTMLAttributes<HTMLElement>;\n overlayProps?: Props;\n minScale?: string | number;\n minOffset?: string | number;\n isMaterial?: boolean;\n isLight?: boolean;\n phase?: Phase;\n isShown?: boolean;\n updatePosition?: () => void;\n}\n\nexport const TooltipContext = React.createContext<TooltipContextProps>({});\n"],"mappings":";;;;AAyBA,MAAawB,iBAAiBxB,MAAMyB,cAAmC,EAAE,CAAC"}
1
+ {"version":3,"file":"context.js","names":["React","HTMLAttributes","RefCallback","RefObject","Placement","TooltipTriggerState","PlacementAxis","Props","Phase","TooltipContextProps","state","ref","HTMLDivElement","transitionRef","placement","arrowProps","HTMLElement","overlayProps","minScale","minOffset","isMaterial","isLight","phase","isShown","updatePosition","TooltipContext","createContext"],"sources":["../../../../src/components/overlays/Tooltip/context.ts"],"sourcesContent":["import React, { HTMLAttributes, RefCallback, RefObject } from 'react';\nimport { Placement } from 'react-aria';\nimport { TooltipTriggerState } from 'react-stately';\n\nimport { PlacementAxis } from '../../../shared';\n\nimport type { Props } from '../../../props';\n\ntype Phase = 'enter' | 'entered' | 'exit' | 'unmounted';\n\ninterface TooltipContextProps {\n state?: TooltipTriggerState;\n ref?: RefObject<HTMLDivElement | null>;\n transitionRef?: RefCallback<HTMLDivElement>;\n placement?: Placement | PlacementAxis;\n arrowProps?: HTMLAttributes<HTMLElement>;\n overlayProps?: Props;\n minScale?: string | number;\n minOffset?: string | number;\n isMaterial?: boolean;\n isLight?: boolean;\n phase?: Phase;\n isShown?: boolean;\n updatePosition?: () => void;\n}\n\nexport const TooltipContext = React.createContext<TooltipContextProps>({});\n"],"mappings":";;;;AA0BA,MAAayB,iBAAiBzB,MAAM0B,cAAmC,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
 
4
4
  //#region src/components/overlays/Tooltip/split-trigger-props.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { usePortal } from "./usePortal.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { TastyBatchProvider } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { c } from "react-compiler-runtime";
3
3
  import { createContext, useContext } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { 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.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useEffect, useMemo, useRef } from "react";
4
4
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -17,12 +17,13 @@ function createMockDragState(collection, selectionManager) {
17
17
  selectionManager,
18
18
  isDragging: () => false,
19
19
  getKeysForDrag: () => /* @__PURE__ */ new Set(),
20
+ getItems: () => [],
20
21
  draggedKey: null,
21
22
  draggingKeys: /* @__PURE__ */ new Set(),
22
23
  getAllowedDropOperations: () => [],
23
- preview: null,
24
24
  isDisabled: false,
25
25
  startDrag: () => {},
26
+ moveDrag: () => {},
26
27
  endDrag: () => {}
27
28
  };
28
29
  }
@@ -120,7 +121,8 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
120
121
  if (!isDragActive) return;
121
122
  const handleEscape = (e_1) => {
122
123
  if (e_1.key === "Escape") endDragRef.current({
123
- type: "cancel",
124
+ type: "dragend",
125
+ keys: new Set(dragKeysRef.current),
124
126
  x: 0,
125
127
  y: 0,
126
128
  dropOperation: "cancel",
@@ -130,7 +132,7 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
130
132
  document.addEventListener("keydown", handleEscape, true);
131
133
  return () => document.removeEventListener("keydown", handleEscape, true);
132
134
  }, [isDragActive]);
133
- return /* @__PURE__ */ jsxs(Fragment$1, { children: [children(dragState, dropState, mergeProps(collectionProps, { onKeyDownCapture: useEvent((e_2) => {
135
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [children(dragState, dropState, { ...mergeProps(collectionProps, { onKeyDownCapture: useEvent((e_2) => {
134
136
  if (!e_2.altKey || !onReorder) return;
135
137
  const target_2 = e_2.target;
136
138
  if (target_2 instanceof HTMLInputElement || target_2 instanceof HTMLTextAreaElement || target_2.isContentEditable) return;
@@ -153,9 +155,12 @@ function DraggableCollection({ state, listRef, orderedKeys, orientation, onReord
153
155
  const newKeys_0 = [...orderedKeys];
154
156
  [newKeys_0[idx], newKeys_0[targetIdx]] = [newKeys_0[targetIdx], newKeys_0[idx]];
155
157
  onReorder(newKeys_0);
156
- }) })), renderPreview ? /* @__PURE__ */ jsx(DragPreview, {
158
+ }) }) }), renderPreview ? /* @__PURE__ */ jsx(DragPreview, {
157
159
  ref: previewRef,
158
- children: () => renderPreview(dragKeysRef.current)
160
+ children: () => {
161
+ const preview = renderPreview(dragKeysRef.current);
162
+ return preview ? /* @__PURE__ */ jsx(Fragment$1, { children: preview }) : null;
163
+ }
159
164
  }) : null] });
160
165
  }
161
166
 
@@ -1 +1 @@
1
- {"version":3,"file":"DraggableCollection.js","names":["KeyboardEvent","ReactNode","RefObject","useCallback","useEffect","useMemo","useRef","DragItem","DragPreview","DragPreviewRenderer","DroppableCollectionReorderEvent","ListDropTargetDelegate","ListKeyboardDelegate","mergeProps","useDraggableCollection","useDroppableCollection","DraggableCollectionState","DroppableCollectionState","useDraggableCollectionState","useDroppableCollectionState","useEvent","Collection","DropOperation","Key","Node","getAllowedDropOperations","createMockDragState","collection","selectionManager","Record","isDragging","getKeysForDrag","Set","draggedKey","draggingKeys","preview","isDisabled","startDrag","endDrag","DraggableCollectionProps","state","selectedKeys","disabledKeys","listRef","HTMLElement","orderedKeys","orientation","onReorder","newOrder","onItemDrop","targetKey","draggedKeys","shouldAcceptItemDrop","renderPreview","keys","children","dragState","dropState","collectionProps","DraggableCollection","handleReorder","e","target","movableKeys","dropPosition","key","movableKey","movableIndex","indexOf","targetIndex","String","newKeys","reduce","arr","i","push","getItems","dragKeysRef","current","map","item","getItem","textValue","dragSelectionManager","Proxy","get","prop","value","Reflect","bind","previewRef","undefined","handleItemDrop","dropOperation","keyboardDelegate","ref","dropTargetDelegate","isDragActive","size","endDragRef","handleEscape","globalThis","type","x","y","isInternal","document","addEventListener","removeEventListener","handleKeyDownCapture","altKey","HTMLInputElement","HTMLTextAreaElement","isContentEditable","moveKeys","backward","forward","direction","preventDefault","stopPropagation","focusedKey","idx","targetIdx","length","onKeyDownCapture"],"sources":["../../../src/components/shared/DraggableCollection.tsx"],"sourcesContent":["import {\n KeyboardEvent,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport {\n DragItem,\n DragPreview,\n DragPreviewRenderer,\n DroppableCollectionReorderEvent,\n ListDropTargetDelegate,\n ListKeyboardDelegate,\n mergeProps,\n useDraggableCollection,\n useDroppableCollection,\n} from 'react-aria';\nimport {\n DraggableCollectionState,\n DroppableCollectionState,\n useDraggableCollectionState,\n useDroppableCollectionState,\n} from 'react-stately';\n\nimport { useEvent } from '../../_internal/hooks';\n\nimport type { Collection, DropOperation, Key, Node } from '@react-types/shared';\n\nconst getAllowedDropOperations = (): DropOperation[] => ['move'];\n\n/**\n * Creates a no-op mock of DraggableCollectionState.\n * Used to satisfy useDraggableItem when drag is disabled (Rules of Hooks).\n */\nexport function createMockDragState(\n collection: Collection<Node<any>>,\n selectionManager: Record<string, any>,\n): DraggableCollectionState {\n return {\n collection,\n selectionManager,\n isDragging: () => false,\n getKeysForDrag: () => new Set<Key>(),\n draggedKey: null,\n draggingKeys: new Set<Key>(),\n getAllowedDropOperations: () => [],\n preview: null,\n isDisabled: false,\n startDrag: () => {},\n endDrag: () => {},\n } as DraggableCollectionState;\n}\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface DraggableCollectionProps {\n state: {\n collection: Collection<Node<any>>;\n selectionManager: { selectedKeys: Set<Key> } & Record<string, any>;\n disabledKeys: Set<Key>;\n };\n listRef: RefObject<HTMLElement | null>;\n orderedKeys: string[];\n orientation: 'horizontal' | 'vertical';\n onReorder?: (newOrder: string[]) => void;\n /**\n * Dropping *onto* an item rather than between items — a row that is a folder,\n * a tab that is a group. Mutually exclusive with reordering in practice: a\n * collection that accepts item drops usually has a meaningful order already.\n */\n onItemDrop?: (targetKey: Key, draggedKeys: Key[]) => void;\n /** Which items may receive a drop. Without it, none may. */\n shouldAcceptItemDrop?: (targetKey: Key) => boolean;\n /**\n * The image dragged under the cursor. Receives the keys being dragged rather\n * than React Aria's serialized `DragItem`s, because a caller that wants to\n * render an icon needs the record, not its `text/plain` form.\n *\n * Without one the browser drags a screenshot of the source element, which for\n * a full-width table row is a page-wide slab.\n */\n renderPreview?: (keys: Key[]) => ReactNode;\n /** Render function receiving drag/drop states and merged collection+keyboard props */\n children: (\n dragState: DraggableCollectionState,\n dropState: DroppableCollectionState,\n collectionProps: Record<string, unknown>,\n ) => ReactNode;\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Generic wrapper that enables drag-and-drop reordering for a collection.\n *\n * Used by both DraggableTabList (horizontal) and DraggableListBox (vertical).\n * Encapsulates all drag/drop hook calls so they are only invoked when\n * reordering is actually enabled.\n */\nexport function DraggableCollection({\n state,\n listRef,\n orderedKeys,\n orientation,\n onReorder,\n onItemDrop,\n shouldAcceptItemDrop,\n renderPreview,\n children,\n}: DraggableCollectionProps) {\n const handleReorder = useEvent((e: DroppableCollectionReorderEvent) => {\n if (!onReorder) return;\n\n const { target, keys: movableKeys } = e;\n const { dropPosition, key: targetKey } = target;\n const movableKey = [...movableKeys][0] as string;\n\n const movableIndex = orderedKeys.indexOf(movableKey);\n const targetIndex = orderedKeys.indexOf(String(targetKey));\n\n if (movableIndex === -1 || targetIndex === -1) return;\n\n const newKeys =\n movableIndex !== targetIndex\n ? orderedKeys.reduce((arr, key, i) => {\n if (i === movableIndex) {\n return arr;\n }\n\n if (i === targetIndex) {\n if (dropPosition === 'before') {\n arr.push(movableKey);\n arr.push(key);\n } else {\n arr.push(key);\n arr.push(movableKey);\n }\n } else {\n arr.push(key);\n }\n\n return arr;\n }, [] as string[])\n : orderedKeys;\n\n onReorder(newKeys);\n });\n\n const getItems = useCallback(\n (keys: Set<Key>): DragItem[] => {\n dragKeysRef.current = [...keys];\n\n return [...keys].map((key) => {\n const item = state.collection.getItem(key);\n return {\n 'text/plain': item?.textValue || String(key),\n };\n });\n },\n [state.collection],\n );\n\n // Proxy selectionManager to hide selection from react-aria's drag logic.\n // Without this, react-aria drags ALL selected items when any selected item\n // is grabbed (hardcoded in useDraggableCollectionState → internal getKeys).\n // The proxy intercepts `selectedKeys` and `isSelected` so every item looks\n // unselected for drag, while all other methods (isDisabled, setFocusedKey, …)\n // delegate to the real manager. `bind(target)` preserves `this` for methods\n // that live on the prototype chain.\n const dragSelectionManager = useMemo(\n () =>\n new Proxy(state.selectionManager, {\n get(target, prop) {\n if (prop === 'selectedKeys') return new Set<Key>();\n if (prop === 'isSelected') return () => false;\n const value = Reflect.get(target, prop);\n return typeof value === 'function' ? value.bind(target) : value;\n },\n }),\n [state.selectionManager],\n );\n\n const previewRef = useRef<DragPreviewRenderer>(null);\n\n const dragState = useDraggableCollectionState({\n collection: state.collection,\n selectionManager: dragSelectionManager,\n getItems,\n getAllowedDropOperations,\n preview: renderPreview ? previewRef : undefined,\n });\n\n useDraggableCollection(\n {\n getItems,\n getAllowedDropOperations,\n },\n dragState,\n listRef,\n );\n\n const handleItemDrop = useEvent((e: any) => {\n if (!onItemDrop) return;\n\n const keys = [...(e.dropOperation === 'cancel' ? [] : dragKeysRef.current)];\n\n onItemDrop(e.target.key, keys);\n });\n\n // The keys being dragged, captured at drag start: by the time the drop lands\n // React Aria has already cleared them from the drag state.\n const dragKeysRef = useRef<Key[]>([]);\n\n const dropState = useDroppableCollectionState({\n collection: state.collection,\n selectionManager: state.selectionManager,\n onReorder: onReorder ? handleReorder : undefined,\n onItemDrop: onItemDrop ? handleItemDrop : undefined,\n // `'on'` is only offered for items that accept it; everything else falls\n // back to reordering, or to nothing.\n shouldAcceptItemDrop: shouldAcceptItemDrop\n ? (target: any) => shouldAcceptItemDrop(target.key)\n : undefined,\n });\n\n const keyboardDelegate = useMemo(\n () =>\n new ListKeyboardDelegate({\n collection: state.collection,\n disabledKeys: state.disabledKeys,\n ref: listRef,\n orientation,\n }),\n [state.collection, state.disabledKeys, listRef, orientation],\n );\n\n const dropTargetDelegate = useMemo(\n () =>\n new ListDropTargetDelegate(state.collection, listRef, {\n orientation,\n }),\n [state.collection, listRef, orientation],\n );\n\n const { collectionProps } = useDroppableCollection(\n {\n keyboardDelegate,\n dropTargetDelegate,\n onReorder: onReorder ? handleReorder : undefined,\n onItemDrop: onItemDrop ? handleItemDrop : undefined,\n },\n dropState,\n listRef,\n );\n\n // Force-cancel drag on Escape. Native HTML5 drag cancels visually, but some\n // browsers (Safari) don't fire `dragend` synchronously, leaving react-aria's\n // `isDragging` stale until a second keypress.\n const isDragActive = dragState.draggingKeys.size > 0;\n const endDragRef = useRef(dragState.endDrag);\n endDragRef.current = dragState.endDrag;\n\n useEffect(() => {\n if (!isDragActive) return;\n\n const handleEscape = (e: globalThis.KeyboardEvent) => {\n if (e.key === 'Escape') {\n endDragRef.current({\n type: 'cancel',\n x: 0,\n y: 0,\n dropOperation: 'cancel',\n isInternal: false,\n });\n }\n };\n\n document.addEventListener('keydown', handleEscape, true);\n\n return () => document.removeEventListener('keydown', handleEscape, true);\n }, [isDragActive]);\n\n // Alt+Arrow keyboard shortcut for reordering.\n // Uses capture phase so we read focusedKey BEFORE react-aria moves focus.\n // Skip when the event originates from a text input — Alt+Arrow is\n // word-by-word cursor navigation on macOS.\n const handleKeyDownCapture = useEvent((e: KeyboardEvent) => {\n if (!e.altKey || !onReorder) return;\n\n const target = e.target as HTMLElement;\n\n if (\n target instanceof HTMLInputElement ||\n target instanceof HTMLTextAreaElement ||\n target.isContentEditable\n ) {\n return;\n }\n\n const moveKeys =\n orientation === 'vertical'\n ? { backward: 'ArrowUp', forward: 'ArrowDown' }\n : { backward: 'ArrowLeft', forward: 'ArrowRight' };\n\n const direction =\n e.key === moveKeys.backward ? -1 : e.key === moveKeys.forward ? 1 : 0;\n\n if (direction === 0) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n const focusedKey = String(state.selectionManager.focusedKey);\n const idx = orderedKeys.indexOf(focusedKey);\n\n if (idx === -1) return;\n\n const targetIdx = idx + direction;\n\n if (targetIdx < 0 || targetIdx >= orderedKeys.length) return;\n\n const newKeys = [...orderedKeys];\n [newKeys[idx], newKeys[targetIdx]] = [newKeys[targetIdx], newKeys[idx]];\n onReorder(newKeys);\n });\n\n return (\n <>\n {children(\n dragState,\n dropState,\n mergeProps(collectionProps, { onKeyDownCapture: handleKeyDownCapture }),\n )}\n {renderPreview ? (\n // Rendered off-screen by React Aria and snapshotted at drag start. The\n // keys come from the ref rather than the `DragItem`s the render\n // function is handed, which only carry `text/plain`.\n <DragPreview ref={previewRef}>\n {() => renderPreview(dragKeysRef.current)}\n </DragPreview>\n ) : null}\n </>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DraggableCollection.js","names":["KeyboardEvent","ReactNode","RefObject","useCallback","useEffect","useMemo","useRef","DragItem","DragPreview","DragPreviewRenderer","DroppableCollectionReorderEvent","ListDropTargetDelegate","ListKeyboardDelegate","mergeProps","useDraggableCollection","useDroppableCollection","DraggableCollectionState","DroppableCollectionState","MultipleSelectionManager","useDraggableCollectionState","useDroppableCollectionState","useEvent","Collection","DropOperation","Key","Node","getAllowedDropOperations","createMockDragState","collection","selectionManager","isDragging","getKeysForDrag","Set","getItems","draggedKey","draggingKeys","isDisabled","startDrag","moveDrag","endDrag","DraggableCollectionProps","state","disabledKeys","listRef","HTMLElement","orderedKeys","orientation","onReorder","newOrder","onItemDrop","targetKey","draggedKeys","shouldAcceptItemDrop","renderPreview","keys","children","dragState","dropState","collectionProps","Record","DraggableCollection","handleReorder","e","target","movableKeys","dropPosition","key","movableKey","movableIndex","indexOf","targetIndex","String","newKeys","reduce","arr","i","push","dragKeysRef","current","map","item","getItem","textValue","dragSelectionManager","Proxy","get","prop","value","Reflect","bind","previewRef","preview","undefined","handleItemDrop","dropOperation","keyboardDelegate","ref","dropTargetDelegate","isDragActive","size","endDragRef","handleEscape","globalThis","type","x","y","isInternal","document","addEventListener","removeEventListener","handleKeyDownCapture","altKey","HTMLInputElement","HTMLTextAreaElement","isContentEditable","moveKeys","backward","forward","direction","preventDefault","stopPropagation","focusedKey","idx","targetIdx","length","onKeyDownCapture"],"sources":["../../../src/components/shared/DraggableCollection.tsx"],"sourcesContent":["import {\n KeyboardEvent,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport {\n DragItem,\n DragPreview,\n DragPreviewRenderer,\n DroppableCollectionReorderEvent,\n ListDropTargetDelegate,\n ListKeyboardDelegate,\n mergeProps,\n useDraggableCollection,\n useDroppableCollection,\n} from 'react-aria';\nimport {\n DraggableCollectionState,\n DroppableCollectionState,\n MultipleSelectionManager,\n useDraggableCollectionState,\n useDroppableCollectionState,\n} from 'react-stately';\n\nimport { useEvent } from '../../_internal/hooks';\n\nimport type { Collection, DropOperation, Key, Node } from '@react-types/shared';\n\nconst getAllowedDropOperations = (): DropOperation[] => ['move'];\n\n/**\n * Creates a no-op mock of DraggableCollectionState.\n * Used to satisfy useDraggableItem when drag is disabled (Rules of Hooks).\n */\nexport function createMockDragState(\n collection: Collection<Node<any>>,\n selectionManager: MultipleSelectionManager,\n): DraggableCollectionState {\n return {\n collection,\n selectionManager,\n isDragging: () => false,\n getKeysForDrag: () => new Set<Key>(),\n getItems: () => [],\n draggedKey: null,\n draggingKeys: new Set<Key>(),\n getAllowedDropOperations: () => [],\n isDisabled: false,\n startDrag: () => {},\n moveDrag: () => {},\n endDrag: () => {},\n };\n}\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface DraggableCollectionProps {\n state: {\n collection: Collection<Node<any>>;\n selectionManager: MultipleSelectionManager;\n disabledKeys: Set<Key>;\n };\n listRef: RefObject<HTMLElement | null>;\n orderedKeys: string[];\n orientation: 'horizontal' | 'vertical';\n onReorder?: (newOrder: string[]) => void;\n /**\n * Dropping *onto* an item rather than between items — a row that is a folder,\n * a tab that is a group. Mutually exclusive with reordering in practice: a\n * collection that accepts item drops usually has a meaningful order already.\n */\n onItemDrop?: (targetKey: Key, draggedKeys: Key[]) => void;\n /** Which items may receive a drop. Without it, none may. */\n shouldAcceptItemDrop?: (targetKey: Key) => boolean;\n /**\n * The image dragged under the cursor. Receives the keys being dragged rather\n * than React Aria's serialized `DragItem`s, because a caller that wants to\n * render an icon needs the record, not its `text/plain` form.\n *\n * Without one the browser drags a screenshot of the source element, which for\n * a full-width table row is a page-wide slab.\n */\n renderPreview?: (keys: Key[]) => ReactNode;\n /** Render function receiving drag/drop states and merged collection+keyboard props */\n children: (\n dragState: DraggableCollectionState,\n dropState: DroppableCollectionState,\n collectionProps: Record<string, unknown>,\n ) => ReactNode;\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Generic wrapper that enables drag-and-drop reordering for a collection.\n *\n * Used by both DraggableTabList (horizontal) and DraggableListBox (vertical).\n * Encapsulates all drag/drop hook calls so they are only invoked when\n * reordering is actually enabled.\n */\nexport function DraggableCollection({\n state,\n listRef,\n orderedKeys,\n orientation,\n onReorder,\n onItemDrop,\n shouldAcceptItemDrop,\n renderPreview,\n children,\n}: DraggableCollectionProps) {\n const handleReorder = useEvent((e: DroppableCollectionReorderEvent) => {\n if (!onReorder) return;\n\n const { target, keys: movableKeys } = e;\n const { dropPosition, key: targetKey } = target;\n const movableKey = [...movableKeys][0] as string;\n\n const movableIndex = orderedKeys.indexOf(movableKey);\n const targetIndex = orderedKeys.indexOf(String(targetKey));\n\n if (movableIndex === -1 || targetIndex === -1) return;\n\n const newKeys =\n movableIndex !== targetIndex\n ? orderedKeys.reduce((arr, key, i) => {\n if (i === movableIndex) {\n return arr;\n }\n\n if (i === targetIndex) {\n if (dropPosition === 'before') {\n arr.push(movableKey);\n arr.push(key);\n } else {\n arr.push(key);\n arr.push(movableKey);\n }\n } else {\n arr.push(key);\n }\n\n return arr;\n }, [] as string[])\n : orderedKeys;\n\n onReorder(newKeys);\n });\n\n const getItems = useCallback(\n (keys: Set<Key>): DragItem[] => {\n dragKeysRef.current = [...keys];\n\n return [...keys].map((key) => {\n const item = state.collection.getItem(key);\n return {\n 'text/plain': item?.textValue || String(key),\n };\n });\n },\n [state.collection],\n );\n\n // Proxy selectionManager to hide selection from react-aria's drag logic.\n // Without this, react-aria drags ALL selected items when any selected item\n // is grabbed (hardcoded in useDraggableCollectionState → internal getKeys).\n // The proxy intercepts `selectedKeys` and `isSelected` so every item looks\n // unselected for drag, while all other methods (isDisabled, setFocusedKey, …)\n // delegate to the real manager. `bind(target)` preserves `this` for methods\n // that live on the prototype chain.\n const dragSelectionManager = useMemo(\n () =>\n new Proxy(state.selectionManager, {\n get(target, prop) {\n if (prop === 'selectedKeys') return new Set<Key>();\n if (prop === 'isSelected') return () => false;\n const value = Reflect.get(target, prop);\n return typeof value === 'function' ? value.bind(target) : value;\n },\n }),\n [state.selectionManager],\n );\n\n const previewRef = useRef<DragPreviewRenderer>(null);\n\n const dragState = useDraggableCollectionState({\n collection: state.collection,\n selectionManager: dragSelectionManager,\n getItems,\n getAllowedDropOperations,\n preview: renderPreview ? previewRef : undefined,\n });\n\n useDraggableCollection(\n {\n getItems,\n getAllowedDropOperations,\n },\n dragState,\n listRef,\n );\n\n const handleItemDrop = useEvent((e: any) => {\n if (!onItemDrop) return;\n\n const keys = [...(e.dropOperation === 'cancel' ? [] : dragKeysRef.current)];\n\n onItemDrop(e.target.key, keys);\n });\n\n // The keys being dragged, captured at drag start: by the time the drop lands\n // React Aria has already cleared them from the drag state.\n const dragKeysRef = useRef<Key[]>([]);\n\n const dropState = useDroppableCollectionState({\n collection: state.collection,\n selectionManager: state.selectionManager,\n onReorder: onReorder ? handleReorder : undefined,\n onItemDrop: onItemDrop ? handleItemDrop : undefined,\n // `'on'` is only offered for items that accept it; everything else falls\n // back to reordering, or to nothing.\n shouldAcceptItemDrop: shouldAcceptItemDrop\n ? (target: any) => shouldAcceptItemDrop(target.key)\n : undefined,\n });\n\n const keyboardDelegate = useMemo(\n () =>\n new ListKeyboardDelegate({\n collection: state.collection,\n disabledKeys: state.disabledKeys,\n ref: listRef,\n orientation,\n }),\n [state.collection, state.disabledKeys, listRef, orientation],\n );\n\n const dropTargetDelegate = useMemo(\n () =>\n new ListDropTargetDelegate(state.collection, listRef, {\n orientation,\n }),\n [state.collection, listRef, orientation],\n );\n\n const { collectionProps } = useDroppableCollection(\n {\n keyboardDelegate,\n dropTargetDelegate,\n onReorder: onReorder ? handleReorder : undefined,\n onItemDrop: onItemDrop ? handleItemDrop : undefined,\n },\n dropState,\n listRef,\n );\n\n // Force-cancel drag on Escape. Native HTML5 drag cancels visually, but some\n // browsers (Safari) don't fire `dragend` synchronously, leaving react-aria's\n // `isDragging` stale until a second keypress.\n const isDragActive = dragState.draggingKeys.size > 0;\n const endDragRef = useRef(dragState.endDrag);\n endDragRef.current = dragState.endDrag;\n\n useEffect(() => {\n if (!isDragActive) return;\n\n const handleEscape = (e: globalThis.KeyboardEvent) => {\n if (e.key === 'Escape') {\n endDragRef.current({\n type: 'dragend',\n keys: new Set(dragKeysRef.current),\n x: 0,\n y: 0,\n dropOperation: 'cancel',\n isInternal: false,\n });\n }\n };\n\n document.addEventListener('keydown', handleEscape, true);\n\n return () => document.removeEventListener('keydown', handleEscape, true);\n }, [isDragActive]);\n\n // Alt+Arrow keyboard shortcut for reordering.\n // Uses capture phase so we read focusedKey BEFORE react-aria moves focus.\n // Skip when the event originates from a text input — Alt+Arrow is\n // word-by-word cursor navigation on macOS.\n const handleKeyDownCapture = useEvent((e: KeyboardEvent) => {\n if (!e.altKey || !onReorder) return;\n\n const target = e.target as HTMLElement;\n\n if (\n target instanceof HTMLInputElement ||\n target instanceof HTMLTextAreaElement ||\n target.isContentEditable\n ) {\n return;\n }\n\n const moveKeys =\n orientation === 'vertical'\n ? { backward: 'ArrowUp', forward: 'ArrowDown' }\n : { backward: 'ArrowLeft', forward: 'ArrowRight' };\n\n const direction =\n e.key === moveKeys.backward ? -1 : e.key === moveKeys.forward ? 1 : 0;\n\n if (direction === 0) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n const focusedKey = String(state.selectionManager.focusedKey);\n const idx = orderedKeys.indexOf(focusedKey);\n\n if (idx === -1) return;\n\n const targetIdx = idx + direction;\n\n if (targetIdx < 0 || targetIdx >= orderedKeys.length) return;\n\n const newKeys = [...orderedKeys];\n [newKeys[idx], newKeys[targetIdx]] = [newKeys[targetIdx], newKeys[idx]];\n onReorder(newKeys);\n });\n\n return (\n <>\n {children(dragState, dropState, {\n ...mergeProps(collectionProps, {\n onKeyDownCapture: handleKeyDownCapture,\n }),\n })}\n {renderPreview ? (\n // Rendered off-screen by React Aria and snapshotted at drag start. The\n // keys come from the ref rather than the `DragItem`s the render\n // function is handed, which only carry `text/plain`.\n <DragPreview ref={previewRef}>\n {() => {\n const preview = renderPreview(dragKeysRef.current);\n return preview ? <>{preview}</> : null;\n }}\n </DragPreview>\n ) : null}\n </>\n );\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { 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.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | 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.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | 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";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { c } from "react-compiler-runtime";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
  import { memo } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { Cube } from "./Cube.js";
3
3
  import { SpinsContainer } from "./SpinsContainer.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { Block } from "../../Block.js";
3
3
  import { InternalSpinner } from "./InternalSpinner.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { c } from "react-compiler-runtime";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  //#region src/data/item-themes.ts
3
3
  const VALIDATION_STYLES = { border: {
4
4
  invalid: "#danger-accent-text",
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  //#region src/data/themes.ts
3
3
  var themes_default = {
4
4
  special: {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  //#region src/eslint-plugin/defaults.generated.ts
3
3
  const DEFAULTS = {
4
4
  components: {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { DEFAULTS } from "./defaults.generated.js";
3
3
  import { createRule, noRedundantDefaultProp } from "./rules/no-redundant-default-prop.js";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { DEFAULTS } from "../defaults.generated.js";
3
3
 
4
4
  //#region src/eslint-plugin/rules/no-redundant-default-prop.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { UIKIT_I18N_NAMESPACE, getI18n } from "./instance.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  //#region src/i18n/createFormatter.ts
3
3
  const cache = /* @__PURE__ */ new Map();
4
4
  function getIntl(kind, Ctor, locale, options) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { LOCALE_LABELS, SUPPORTED_LOCALES, isSupportedLocale } from "./locales.js";
3
3
  import { UIKIT_I18N_NAMESPACE, createUIKitI18n, getI18n } from "./instance.js";
4
4
  import { useI18n } from "./useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  import { SUPPORTED_LOCALES } from "./locales.js";
3
3
  import uikit_default from "./locales/de-DE/uikit.js";
4
4
  import uikit_default$1 from "./locales/en-US/uikit.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.190.7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.190.8 | Cube Dev Team */
2
2
  //#region src/i18n/locales/de-DE/uikit.json
3
3
  var uikit_default = {
4
4
  alertDialog: {