@cube-dev/ui-kit 0.207.0 → 0.208.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (856) hide show
  1. package/dist/CHANGELOG.md +12 -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-sync-ref.js.map +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.d.ts +0 -2
  13. package/dist/components/CollectionItem.js +1 -1
  14. package/dist/components/CollectionItem.js.map +1 -1
  15. package/dist/components/GlobalStyles.js +1 -1
  16. package/dist/components/GlobalStyles.js.map +1 -1
  17. package/dist/components/GridProvider.js +1 -1
  18. package/dist/components/GridProvider.js.map +1 -1
  19. package/dist/components/HiddenInput.js +1 -1
  20. package/dist/components/Root.js +3 -3
  21. package/dist/components/Root.js.map +1 -1
  22. package/dist/components/actions/Action/Action.js +1 -1
  23. package/dist/components/actions/Banner/Banner.js +1 -1
  24. package/dist/components/actions/Banner/Banner.js.map +1 -1
  25. package/dist/components/actions/Button/Button.d.ts +0 -1
  26. package/dist/components/actions/Button/Button.js +8 -7
  27. package/dist/components/actions/Button/Button.js.map +1 -1
  28. package/dist/components/actions/Button/index.d.ts +16 -1
  29. package/dist/components/actions/Button/index.js +13 -0
  30. package/dist/components/actions/Button/index.js.map +1 -0
  31. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  32. package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
  33. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  34. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  35. package/dist/components/actions/ButtonSplit/context.js +1 -1
  36. package/dist/components/actions/CommandMenu/CommandMenu.d.ts +1 -1
  37. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  38. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  39. package/dist/components/actions/CommandMenu/styled.js +1 -1
  40. package/dist/components/actions/ItemAction/ItemAction.js +2 -2
  41. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  42. package/dist/components/actions/ItemActionContext.js +1 -1
  43. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  44. package/dist/components/actions/ItemButton/ItemButton.d.ts +0 -2
  45. package/dist/components/actions/ItemButton/ItemButton.js +2 -2
  46. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  47. package/dist/components/actions/Link/Link.js +1 -1
  48. package/dist/components/actions/Menu/Menu.d.ts +1 -1
  49. package/dist/components/actions/Menu/Menu.js +1 -1
  50. package/dist/components/actions/Menu/Menu.js.map +1 -1
  51. package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
  52. package/dist/components/actions/Menu/MenuItem.js +2 -2
  53. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  54. package/dist/components/actions/Menu/MenuSection.js +1 -1
  55. package/dist/components/actions/Menu/MenuTrigger.js +3 -3
  56. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  57. package/dist/components/actions/Menu/SubMenuTrigger.js +2 -2
  58. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  59. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  60. package/dist/components/actions/Menu/context.js +1 -1
  61. package/dist/components/actions/Menu/index.d.ts +1 -1
  62. package/dist/components/actions/Menu/styled.js +1 -1
  63. package/dist/components/actions/actions-run.js +1 -1
  64. package/dist/components/actions/index.d.ts +6 -18
  65. package/dist/components/actions/use-action.js +2 -2
  66. package/dist/components/actions/use-action.js.map +1 -1
  67. package/dist/components/actions/use-anchored-menu.d.ts +0 -1
  68. package/dist/components/actions/use-anchored-menu.js +2 -2
  69. package/dist/components/actions/use-anchored-menu.js.map +1 -1
  70. package/dist/components/actions/use-context-menu.d.ts +0 -1
  71. package/dist/components/actions/use-context-menu.js +2 -2
  72. package/dist/components/actions/use-context-menu.js.map +1 -1
  73. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  74. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  75. package/dist/components/content/Alert/Alert.js +1 -1
  76. package/dist/components/content/Alert/use-alert.js +1 -1
  77. package/dist/components/content/Alert/use-alert.js.map +1 -1
  78. package/dist/components/content/Avatar/Avatar.js +1 -1
  79. package/dist/components/content/Badge/Badge.d.ts +0 -1
  80. package/dist/components/content/Badge/Badge.js +1 -1
  81. package/dist/components/content/Badge/Badge.js.map +1 -1
  82. package/dist/components/content/Card/Card.js +1 -1
  83. package/dist/components/content/Content.js +1 -1
  84. package/dist/components/content/Content.js.map +1 -1
  85. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -3
  86. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  87. package/dist/components/content/CopySnippet/CopySnippet.d.ts +2 -18
  88. package/dist/components/content/CopySnippet/CopySnippet.js +2 -2
  89. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  90. package/dist/components/content/Disclosure/Disclosure.d.ts +0 -1
  91. package/dist/components/content/Disclosure/Disclosure.js +2 -2
  92. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  93. package/dist/components/content/Divider/Divider.js +1 -1
  94. package/dist/components/content/Divider/Divider.js.map +1 -1
  95. package/dist/components/content/Footer.js +1 -1
  96. package/dist/components/content/Footer.js.map +1 -1
  97. package/dist/components/content/Header.js +1 -1
  98. package/dist/components/content/Header.js.map +1 -1
  99. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  100. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  101. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  102. package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
  103. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  104. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  105. package/dist/components/content/Item/Item.d.ts +1 -2
  106. package/dist/components/content/Item/Item.js +4 -4
  107. package/dist/components/content/Item/Item.js.map +1 -1
  108. package/dist/components/content/Item/ItemWithNativeLinks.js +2 -2
  109. package/dist/components/content/Item/index.d.ts +1 -1
  110. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  111. package/dist/components/content/ItemBadge/index.d.ts +1 -2
  112. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  113. package/dist/components/content/Layout/GridLayout.js +1 -1
  114. package/dist/components/content/Layout/Layout.js +1 -1
  115. package/dist/components/content/Layout/Layout.js.map +1 -1
  116. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  117. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  118. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  119. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  120. package/dist/components/content/Layout/LayoutContent.js +1 -1
  121. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  122. package/dist/components/content/Layout/LayoutContext.js +1 -1
  123. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  124. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  125. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  126. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  127. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  128. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  129. package/dist/components/content/Layout/LayoutPane.js +2 -2
  130. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  131. package/dist/components/content/Layout/LayoutPanel.js +3 -3
  132. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  133. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  134. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  135. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  136. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  137. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  138. package/dist/components/content/Layout/index.js +1 -1
  139. package/dist/components/content/Layout/utils.js +1 -1
  140. package/dist/components/content/Paragraph.js +1 -1
  141. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  142. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  143. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  144. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  145. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  146. package/dist/components/content/Result/Result.js +2 -2
  147. package/dist/components/content/Result/Result.js.map +1 -1
  148. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  149. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  150. package/dist/components/content/Tag/Tag.d.ts +0 -1
  151. package/dist/components/content/Tag/Tag.js +1 -1
  152. package/dist/components/content/Tag/Tag.js.map +1 -1
  153. package/dist/components/content/Text.js +1 -1
  154. package/dist/components/content/TextItem/TextItem.js +1 -1
  155. package/dist/components/content/Title.js +1 -1
  156. package/dist/components/content/Title.js.map +1 -1
  157. package/dist/components/content/Tree/Tree.js +1 -1
  158. package/dist/components/content/Tree/Tree.js.map +1 -1
  159. package/dist/components/content/Tree/TreeNode.js +5 -5
  160. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  161. package/dist/components/content/Tree/checked-keys.js +1 -1
  162. package/dist/components/content/Tree/rowId.js +1 -1
  163. package/dist/components/content/Tree/styled.js +1 -1
  164. package/dist/components/content/Tree/styled.js.map +1 -1
  165. package/dist/components/content/Tree/tree-index.js +1 -1
  166. package/dist/components/content/Tree/types.d.ts +1 -1
  167. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  168. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  169. package/dist/components/content/Tree/use-load-data.js +1 -1
  170. package/dist/components/content/Tree/use-load-data.js.map +1 -1
  171. package/dist/components/content/highlightText.js +1 -1
  172. package/dist/components/content/use-auto-tooltip.js +1 -1
  173. package/dist/components/data/DataTable/DataTable.js +1 -1
  174. package/dist/components/data/DataTable/DataTable.js.map +1 -1
  175. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  176. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  177. package/dist/components/data/ItemTable/ItemTableBulkBar.js +2 -2
  178. package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
  179. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  180. package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
  181. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  182. package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
  183. package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -2
  184. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  185. package/dist/components/data/ItemTable/item-table-sections.js +1 -1
  186. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  187. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  188. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  189. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  190. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  191. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  192. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  193. package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
  194. package/dist/components/data/TableBase/RowCollection.js +1 -1
  195. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  196. package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
  197. package/dist/components/data/TableBase/TableRow.js +1 -1
  198. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  199. package/dist/components/data/TableBase/TableRowLink.js +1 -1
  200. package/dist/components/data/TableBase/TableView.js +6 -6
  201. package/dist/components/data/TableBase/TableView.js.map +1 -1
  202. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  203. package/dist/components/data/TableBase/column-header.js +1 -1
  204. package/dist/components/data/TableBase/column-menu.js +1 -1
  205. package/dist/components/data/TableBase/column-menu.js.map +1 -1
  206. package/dist/components/data/TableBase/column-styles.js +1 -1
  207. package/dist/components/data/TableBase/column-tint.js +1 -1
  208. package/dist/components/data/TableBase/row-menu.js +1 -1
  209. package/dist/components/data/TableBase/styled.js +1 -1
  210. package/dist/components/data/TableBase/styled.js.map +1 -1
  211. package/dist/components/data/TableBase/table-body-sections.js +1 -1
  212. package/dist/components/data/TableBase/table-tree.js +1 -1
  213. package/dist/components/data/TableBase/types.js +1 -1
  214. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  215. package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
  216. package/dist/components/data/TableBase/use-column-menu.js +2 -2
  217. package/dist/components/data/TableBase/use-column-order.js +1 -1
  218. package/dist/components/data/TableBase/use-column-order.js.map +1 -1
  219. package/dist/components/data/TableBase/use-column-window.js +1 -1
  220. package/dist/components/data/TableBase/use-container-width.js +1 -1
  221. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  222. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  223. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  224. package/dist/components/data/TableBase/use-table-search.js +1 -1
  225. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  226. package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
  227. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  228. package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
  229. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  230. package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
  231. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  232. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  233. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  234. package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
  235. package/dist/components/fields/Checkbox/Checkbox.d.ts +0 -1
  236. package/dist/components/fields/Checkbox/Checkbox.js +3 -3
  237. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  238. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +0 -1
  239. package/dist/components/fields/Checkbox/CheckboxGroup.js +3 -3
  240. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  241. package/dist/components/fields/Checkbox/context.js +1 -1
  242. package/dist/components/fields/ColorInput/ColorInput.d.ts +0 -1
  243. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  244. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  245. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +0 -3
  246. package/dist/components/fields/ColorPicker/ColorPicker.js +3 -3
  247. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  248. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  249. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +0 -1
  250. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +2 -2
  251. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  252. package/dist/components/fields/ComboBox/ComboBox.d.ts +0 -1
  253. package/dist/components/fields/ComboBox/ComboBox.js +6 -6
  254. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  255. package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
  256. package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +1 -2
  257. package/dist/components/fields/CommandTextArea/CommandTextArea.js +2 -2
  258. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  259. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  260. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  261. package/dist/components/fields/DatePicker/CalendarPopover.js +1 -1
  262. package/dist/components/fields/DatePicker/DateInput.d.ts +0 -1
  263. package/dist/components/fields/DatePicker/DateInput.js +2 -2
  264. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  265. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  266. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  267. package/dist/components/fields/DatePicker/DatePicker.d.ts +0 -1
  268. package/dist/components/fields/DatePicker/DatePicker.js +2 -2
  269. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  270. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  271. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  272. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  273. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  274. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  275. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  276. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +0 -1
  277. package/dist/components/fields/DatePicker/DateRangePicker.js +2 -2
  278. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  279. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +0 -1
  280. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +2 -2
  281. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  282. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  283. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +0 -1
  284. package/dist/components/fields/DatePicker/PeriodPicker.js +2 -2
  285. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  286. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  287. package/dist/components/fields/DatePicker/TimeInput.d.ts +0 -1
  288. package/dist/components/fields/DatePicker/TimeInput.js +2 -2
  289. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  290. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  291. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  292. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  293. package/dist/components/fields/DatePicker/period.js +1 -1
  294. package/dist/components/fields/DatePicker/props.js +1 -1
  295. package/dist/components/fields/DatePicker/utils.js +1 -1
  296. package/dist/components/fields/FileInput/FileInput.d.ts +0 -1
  297. package/dist/components/fields/FileInput/FileInput.js +3 -3
  298. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  299. package/dist/components/fields/FilterListBox/FilterListBox.js +3 -3
  300. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  301. package/dist/components/fields/FilterListBox/styled.js +1 -1
  302. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +0 -3
  303. package/dist/components/fields/FilterPicker/FilterPicker.js +8 -8
  304. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  305. package/dist/components/fields/FilterPicker/FilterTree.js +2 -2
  306. package/dist/components/fields/FilterPicker/FilterTree.js.map +1 -1
  307. package/dist/components/fields/Input/Input.d.ts +0 -1
  308. package/dist/components/fields/Input/Input.js +1 -1
  309. package/dist/components/fields/Input/Input.js.map +1 -1
  310. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  311. package/dist/components/fields/ListBox/ListBox.js +4 -4
  312. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  313. package/dist/components/fields/ListBox/optionId.js +1 -1
  314. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +2 -2
  315. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  316. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  317. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  318. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
  319. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  320. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  321. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  322. package/dist/components/fields/PasswordInput/PasswordInput.js +2 -2
  323. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  324. package/dist/components/fields/Picker/Picker.d.ts +0 -2
  325. package/dist/components/fields/Picker/Picker.js +8 -8
  326. package/dist/components/fields/Picker/Picker.js.map +1 -1
  327. package/dist/components/fields/RadioGroup/Radio.d.ts +0 -1
  328. package/dist/components/fields/RadioGroup/Radio.js +2 -2
  329. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  330. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +0 -1
  331. package/dist/components/fields/RadioGroup/RadioGroup.js +3 -3
  332. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  333. package/dist/components/fields/RadioGroup/context.js +1 -1
  334. package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +0 -1
  335. package/dist/components/fields/SearchComboBox/SearchComboBox.js +6 -6
  336. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  337. package/dist/components/fields/SearchInput/SearchInput.js +2 -2
  338. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  339. package/dist/components/fields/Select/Select.d.ts +1 -2
  340. package/dist/components/fields/Select/Select.js +7 -7
  341. package/dist/components/fields/Select/Select.js.map +1 -1
  342. package/dist/components/fields/Slider/Gradation.js +1 -1
  343. package/dist/components/fields/Slider/HueSlider.js +1 -1
  344. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  345. package/dist/components/fields/Slider/Slider.js +1 -1
  346. package/dist/components/fields/Slider/Slider.js.map +1 -1
  347. package/dist/components/fields/Slider/SliderBase.js +2 -2
  348. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  349. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  350. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  351. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  352. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  353. package/dist/components/fields/Slider/elements.js +1 -1
  354. package/dist/components/fields/Slider/index.js +2 -2
  355. package/dist/components/fields/Slider/types.d.ts +0 -1
  356. package/dist/components/fields/Switch/Switch.d.ts +0 -1
  357. package/dist/components/fields/Switch/Switch.js +3 -3
  358. package/dist/components/fields/Switch/Switch.js.map +1 -1
  359. package/dist/components/fields/TagInput/TagInput.js +5 -5
  360. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  361. package/dist/components/fields/TagInput/TagList.js +1 -1
  362. package/dist/components/fields/TagInput/TagList.js.map +1 -1
  363. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  364. package/dist/components/fields/TagInput/useTagError.js +1 -1
  365. package/dist/components/fields/TextArea/TextArea.js +2 -2
  366. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  367. package/dist/components/fields/TextInput/TextInput.js +2 -2
  368. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  369. package/dist/components/fields/TextInput/TextInputBase.d.ts +0 -1
  370. package/dist/components/fields/TextInput/TextInputBase.js +3 -3
  371. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  372. package/dist/components/fields/TextInput/displayed-validation.js +1 -1
  373. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  374. package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
  375. package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +0 -1
  376. package/dist/components/fields/TextInputMapper/TextInputMapper.js +3 -3
  377. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  378. package/dist/components/fields/TriggerActions.js +1 -1
  379. package/dist/components/fields/color/ColorPanel.js +1 -1
  380. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  381. package/dist/components/fields/color/channels.js +1 -1
  382. package/dist/components/fields/color/color.js +1 -1
  383. package/dist/components/fields/color/context.js +1 -1
  384. package/dist/components/fields/index.d.ts +2 -2
  385. package/dist/components/fields/option-origin-press.js +1 -1
  386. package/dist/components/form/FieldWrapper/FieldWrapper.js +2 -2
  387. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  388. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  389. package/dist/components/form/FieldWrapper/types.d.ts +0 -1
  390. package/dist/components/form/Form/Field.d.ts +0 -1
  391. package/dist/components/form/Form/Field.js +3 -3
  392. package/dist/components/form/Form/Field.js.map +1 -1
  393. package/dist/components/form/Form/Form.d.ts +1 -26
  394. package/dist/components/form/Form/Form.js +7 -116
  395. package/dist/components/form/Form/Form.js.map +1 -1
  396. package/dist/components/form/Form/FormContext.d.ts +30 -0
  397. package/dist/components/form/Form/FormContext.js +79 -0
  398. package/dist/components/form/Form/FormContext.js.map +1 -0
  399. package/dist/components/form/Form/FormElement.js +49 -0
  400. package/dist/components/form/Form/FormElement.js.map +1 -0
  401. package/dist/components/form/Form/ModernFormRoot.js +3 -2
  402. package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
  403. package/dist/components/form/Form/ResetButton/ResetButton.js +2 -2
  404. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  405. package/dist/components/form/Form/SubmitButton/SubmitButton.js +2 -2
  406. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  407. package/dist/components/form/Form/SubmitError.d.ts +0 -1
  408. package/dist/components/form/Form/SubmitError.js +3 -3
  409. package/dist/components/form/Form/SubmitError.js.map +1 -1
  410. package/dist/components/form/Form/backend.js +1 -1
  411. package/dist/components/form/Form/index.d.ts +2 -1
  412. package/dist/components/form/Form/index.js +6 -5
  413. package/dist/components/form/Form/index.js.map +1 -1
  414. package/dist/components/form/Form/modern/actions.js +1 -1
  415. package/dist/components/form/Form/modern/context.js +1 -1
  416. package/dist/components/form/Form/modern/controller.js +1 -1
  417. package/dist/components/form/Form/modern/field-binding.js +1 -1
  418. package/dist/components/form/Form/modern/field.js +1 -1
  419. package/dist/components/form/Form/modern/react.js +1 -1
  420. package/dist/components/form/Form/modern/store.js +1 -1
  421. package/dist/components/form/Form/modern/validation.js +1 -1
  422. package/dist/components/form/Form/modern/values.js +1 -1
  423. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  424. package/dist/components/form/Form/use-field/types.d.ts +0 -1
  425. package/dist/components/form/Form/use-field/use-field-binding.js +2 -2
  426. package/dist/components/form/Form/use-field/use-field-props.js +4 -4
  427. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  428. package/dist/components/form/Form/use-field/use-field.d.ts +0 -1
  429. package/dist/components/form/Form/use-field/use-field.js +2 -2
  430. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  431. package/dist/components/form/Form/use-form.js +1 -1
  432. package/dist/components/form/Form/validation.js +1 -1
  433. package/dist/components/form/Label.d.ts +0 -1
  434. package/dist/components/form/Label.js +1 -1
  435. package/dist/components/form/Label.js.map +1 -1
  436. package/dist/components/form/field-chrome.js +1 -1
  437. package/dist/components/form/field-layout.js +1 -1
  438. package/dist/components/form/field-layout.js.map +1 -1
  439. package/dist/components/form/index.d.ts +2 -1
  440. package/dist/components/form/legacy-tooltip.js +1 -1
  441. package/dist/components/form/validation/ValidationIndicator.d.ts +0 -1
  442. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  443. package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
  444. package/dist/components/form/validation/resolve-validation-props.d.ts +0 -1
  445. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  446. package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
  447. package/dist/components/form/validation/use-validation-props.js +1 -1
  448. package/dist/components/form/validation/use-validation-props.js.map +1 -1
  449. package/dist/components/form/wrapper.d.ts +0 -1
  450. package/dist/components/form/wrapper.js +1 -1
  451. package/dist/components/form/wrapper.js.map +1 -1
  452. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  453. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  454. package/dist/components/layout/Flex.js +1 -1
  455. package/dist/components/layout/Flow.js +1 -1
  456. package/dist/components/layout/Grid.js +1 -1
  457. package/dist/components/layout/Panel.js +1 -1
  458. package/dist/components/layout/Prefix.js +1 -1
  459. package/dist/components/layout/Prefix.js.map +1 -1
  460. package/dist/components/layout/ResizablePanel.js +2 -2
  461. package/dist/components/layout/Space.js +1 -1
  462. package/dist/components/layout/Suffix.js +1 -1
  463. package/dist/components/layout/Suffix.js.map +1 -1
  464. package/dist/components/navigation/Pagination/Pagination.js +3 -3
  465. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  466. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  467. package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
  468. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  469. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  470. package/dist/components/navigation/Tabs/TabButton.js +4 -4
  471. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  472. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  473. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  474. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  475. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  476. package/dist/components/navigation/Tabs/Tabs.js +2 -2
  477. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  478. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  479. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  480. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  481. package/dist/components/navigation/Tabs/segmented-styles.js +1 -1
  482. package/dist/components/navigation/Tabs/styled.js +1 -1
  483. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  484. package/dist/components/navigation/Tabs/types.d.ts +2 -2
  485. package/dist/components/navigation/Tabs/types.js +1 -1
  486. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  487. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  488. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  489. package/dist/components/other/Calendar/Calendar.js +1 -1
  490. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  491. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  492. package/dist/components/other/Calendar/CalendarHeader.js +2 -2
  493. package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
  494. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  495. package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
  496. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  497. package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
  498. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  499. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  500. package/dist/components/other/Calendar/styled.js +1 -1
  501. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  502. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  503. package/dist/components/overlays/AlertDialog/AlertDialog.js +2 -2
  504. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  505. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  506. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  507. package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
  508. package/dist/components/overlays/AlertDialog/types.d.ts +0 -1
  509. package/dist/components/overlays/Dialog/Dialog.js +2 -2
  510. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  511. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  512. package/dist/components/overlays/Dialog/DialogForm.js +2 -2
  513. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  514. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +0 -1
  515. package/dist/components/overlays/Dialog/DialogTrigger.js +5 -5
  516. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  517. package/dist/components/overlays/Dialog/ModernDialogForm.js +2 -2
  518. package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
  519. package/dist/components/overlays/Dialog/context.js +1 -1
  520. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  521. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  522. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  523. package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
  524. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
  525. package/dist/components/overlays/Dialog/use-dismiss-confirmation.js +1 -1
  526. package/dist/components/overlays/Dialog/use-dismiss-confirmation.js.map +1 -1
  527. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
  528. package/dist/components/overlays/Modal/Modal.js +2 -2
  529. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  530. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  531. package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
  532. package/dist/components/overlays/Modal/Overlay.js +1 -1
  533. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  534. package/dist/components/overlays/Modal/Popover.js +2 -2
  535. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  536. package/dist/components/overlays/Modal/Tray.js +2 -2
  537. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  538. package/dist/components/overlays/Modal/Underlay.js +1 -1
  539. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  540. package/dist/components/overlays/Notifications/Notification.js +1 -1
  541. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  542. package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
  543. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  544. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  545. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  546. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  547. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  548. package/dist/components/overlays/Notifications/OverlayContainer.js +2 -2
  549. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  550. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  551. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  552. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  553. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  554. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  555. package/dist/components/overlays/Notifications/index.js +1 -1
  556. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  557. package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
  558. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  559. package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
  560. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  561. package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
  562. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  563. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  564. package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
  565. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  566. package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
  567. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  568. package/dist/components/overlays/Toast/index.js +2 -2
  569. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  570. package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
  571. package/dist/components/overlays/Toast/useToast.js +2 -2
  572. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  573. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  574. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  575. package/dist/components/overlays/Tooltip/TooltipTrigger.js +3 -3
  576. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  577. package/dist/components/overlays/Tooltip/context.js +1 -1
  578. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  579. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  580. package/dist/components/portal/Portal.js +1 -1
  581. package/dist/components/portal/PortalProvider.js +1 -1
  582. package/dist/components/portal/usePortal.js +1 -1
  583. package/dist/components/shared/DraggableCollection.js +1 -1
  584. package/dist/components/shared/InvalidIcon.js +1 -1
  585. package/dist/components/shared/ValidIcon.js +1 -1
  586. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  587. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  588. package/dist/components/status/Spin/Cube.js +1 -1
  589. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  590. package/dist/components/status/Spin/Spin.js +1 -1
  591. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  592. package/dist/data/item-themes.js +8 -32
  593. package/dist/data/item-themes.js.map +1 -1
  594. package/dist/data/themes.js +1 -1
  595. package/dist/eslint-plugin/defaults.generated.js +1 -1
  596. package/dist/eslint-plugin/index.js +1 -1
  597. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  598. package/dist/i18n/I18nProvider.js +1 -1
  599. package/dist/i18n/createFormatter.js +1 -1
  600. package/dist/i18n/index.js +4 -4
  601. package/dist/i18n/instance.js +3 -3
  602. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  603. package/dist/i18n/locales/en-US/uikit.js +1 -1
  604. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  605. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  606. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  607. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  608. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  609. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  610. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  611. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  612. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  613. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  614. package/dist/i18n/locales.js +1 -1
  615. package/dist/i18n/namespace.js +1 -1
  616. package/dist/i18n/useFormatter.js +1 -1
  617. package/dist/i18n/useI18n.js +1 -1
  618. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  619. package/dist/icons/AdjustmentsIcon.js +1 -1
  620. package/dist/icons/AiIcon.js +1 -1
  621. package/dist/icons/AreaChartIcon.js +1 -1
  622. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  623. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  624. package/dist/icons/BackwardIcon.js +1 -1
  625. package/dist/icons/BarChartIcon.js +1 -1
  626. package/dist/icons/BellFilledIcon.js +1 -1
  627. package/dist/icons/BellIcon.js +1 -1
  628. package/dist/icons/BooleanIcon.js +1 -1
  629. package/dist/icons/CalendarEditIcon.js +1 -1
  630. package/dist/icons/CalendarIcon.js +1 -1
  631. package/dist/icons/CaretDownIcon.js +1 -1
  632. package/dist/icons/CaretUpIcon.js +1 -1
  633. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  634. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  635. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  636. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  637. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  638. package/dist/icons/ChartBarLineIcon.js +1 -1
  639. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  640. package/dist/icons/ChartBarStackedIcon.js +1 -1
  641. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  642. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  643. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  644. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  645. package/dist/icons/ChartBubbleIcon.js +1 -1
  646. package/dist/icons/ChartDonut2Icon.js +1 -1
  647. package/dist/icons/ChartFunnelIcon.js +1 -1
  648. package/dist/icons/ChartHeatmapIcon.js +1 -1
  649. package/dist/icons/ChartKPIIcon.js +1 -1
  650. package/dist/icons/ChartPie2Icon.js +1 -1
  651. package/dist/icons/ChartScatterIcon.js +1 -1
  652. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  653. package/dist/icons/CheckCircleIcon.js +1 -1
  654. package/dist/icons/CheckIcon.js +1 -1
  655. package/dist/icons/CircleFilledIcon.js +1 -1
  656. package/dist/icons/ClearIcon.js +1 -1
  657. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  658. package/dist/icons/CloseCircleIcon.js +1 -1
  659. package/dist/icons/CloseIcon.js +1 -1
  660. package/dist/icons/CodeIcon.js +1 -1
  661. package/dist/icons/ColumnTotalIcon.js +1 -1
  662. package/dist/icons/CopyIcon.js +1 -1
  663. package/dist/icons/CountIcon.js +1 -1
  664. package/dist/icons/CubeIcon.js +1 -1
  665. package/dist/icons/CubePauseIcon.js +1 -1
  666. package/dist/icons/CubePlayIcon.js +1 -1
  667. package/dist/icons/CurrencyDollarIcon.js +1 -1
  668. package/dist/icons/DangerIcon.js +1 -1
  669. package/dist/icons/DashboardIcon.js +1 -1
  670. package/dist/icons/DatabaseIcon.js +1 -1
  671. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  672. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  673. package/dist/icons/DirectionIcon.js +1 -1
  674. package/dist/icons/DonutIcon.js +1 -1
  675. package/dist/icons/DownIcon.js +1 -1
  676. package/dist/icons/EditIcon.js +1 -1
  677. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  678. package/dist/icons/ExclamationCircleIcon.js +1 -1
  679. package/dist/icons/ExclamationIcon.js +1 -1
  680. package/dist/icons/EyeIcon.js +1 -1
  681. package/dist/icons/EyeInvisibleIcon.js +1 -1
  682. package/dist/icons/FilterIcon.js +1 -1
  683. package/dist/icons/FolderFilledIcon.js +1 -1
  684. package/dist/icons/FolderIcon.js +1 -1
  685. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  686. package/dist/icons/FolderOpenIcon.js +1 -1
  687. package/dist/icons/ForwardIcon.js +1 -1
  688. package/dist/icons/GripVerticalIcon.js +1 -1
  689. package/dist/icons/HierarchyIcon.js +1 -1
  690. package/dist/icons/HierarchyOpenIcon.js +1 -1
  691. package/dist/icons/Icon.js +1 -1
  692. package/dist/icons/InfoCircleIcon.js +1 -1
  693. package/dist/icons/InfoIcon.js +1 -1
  694. package/dist/icons/KeyIcon.js +1 -1
  695. package/dist/icons/LeftIcon.js +1 -1
  696. package/dist/icons/LineChartIcon.js +1 -1
  697. package/dist/icons/LoadingIcon.js +1 -1
  698. package/dist/icons/LockFilledIcon.js +1 -1
  699. package/dist/icons/LockIcon.js +1 -1
  700. package/dist/icons/MoreIcon.js +1 -1
  701. package/dist/icons/NotAllowedIcon.js +1 -1
  702. package/dist/icons/Number123Icon.js +1 -1
  703. package/dist/icons/NumberIcon.js +1 -1
  704. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  705. package/dist/icons/PauseCircleIcon.js +1 -1
  706. package/dist/icons/PauseIcon.js +1 -1
  707. package/dist/icons/PercentageIcon.js +1 -1
  708. package/dist/icons/PieChartIcon.js +1 -1
  709. package/dist/icons/PipetteIcon.js +1 -1
  710. package/dist/icons/PlayCircleIcon.js +1 -1
  711. package/dist/icons/PlayIcon.js +1 -1
  712. package/dist/icons/PlusIcon.js +1 -1
  713. package/dist/icons/ProgressBarIcon.js +1 -1
  714. package/dist/icons/ReloadIcon.js +1 -1
  715. package/dist/icons/ReportIcon.js +1 -1
  716. package/dist/icons/ReturnIcon.js +1 -1
  717. package/dist/icons/RightIcon.js +1 -1
  718. package/dist/icons/RowTotalsIcon.js +1 -1
  719. package/dist/icons/SchemeIcon.js +1 -1
  720. package/dist/icons/SearchIcon.js +1 -1
  721. package/dist/icons/SemanticQueryIcon.js +1 -1
  722. package/dist/icons/SettingsIcon.js +1 -1
  723. package/dist/icons/ShieldFilledIcon.js +1 -1
  724. package/dist/icons/ShieldIcon.js +1 -1
  725. package/dist/icons/SlashIcon.js +1 -1
  726. package/dist/icons/SparklesIcon.js +1 -1
  727. package/dist/icons/SqlIcon.js +1 -1
  728. package/dist/icons/StatsIcon.js +1 -1
  729. package/dist/icons/StopIcon.js +1 -1
  730. package/dist/icons/StringIcon.js +1 -1
  731. package/dist/icons/SubtotalsIcon.js +1 -1
  732. package/dist/icons/SwitchIcon.js +1 -1
  733. package/dist/icons/TableIcon.js +1 -1
  734. package/dist/icons/ThumbsDownIcon.js +1 -1
  735. package/dist/icons/ThumbsUpIcon.js +1 -1
  736. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  737. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  738. package/dist/icons/ThunderboltIcon.js +1 -1
  739. package/dist/icons/TimeIcon.js +1 -1
  740. package/dist/icons/TrashIcon.js +1 -1
  741. package/dist/icons/UnlockIcon.js +1 -1
  742. package/dist/icons/UpIcon.js +1 -1
  743. package/dist/icons/UserGroupIcon.js +1 -1
  744. package/dist/icons/UserIcon.js +1 -1
  745. package/dist/icons/UserLockIcon.js +1 -1
  746. package/dist/icons/ViewIcon.js +1 -1
  747. package/dist/icons/WarningFilledIcon.js +1 -1
  748. package/dist/icons/WarningIcon.js +1 -1
  749. package/dist/icons/wrap-icon.js +1 -1
  750. package/dist/index.d.ts +29 -27
  751. package/dist/index.js +69 -69
  752. package/dist/probe/canonicalize.js +1 -1
  753. package/dist/probe/css.js +1 -1
  754. package/dist/probe/index.js +1 -1
  755. package/dist/provider.js +2 -2
  756. package/dist/providers/TrackingProvider.js +1 -1
  757. package/dist/providers/navigation-url.js +1 -1
  758. package/dist/providers/navigationAdapter.default.js +1 -1
  759. package/dist/providers/use-navigation.js +1 -1
  760. package/dist/tokens/all-tokens.js +1 -1
  761. package/dist/tokens/base.js +1 -1
  762. package/dist/tokens/color-seed.js +1 -1
  763. package/dist/tokens/color-theme.js +1 -1
  764. package/dist/tokens/colors.js +1 -1
  765. package/dist/tokens/layout.js +1 -1
  766. package/dist/tokens/lazy-styles.js +1 -1
  767. package/dist/tokens/legacy-color.js +1 -1
  768. package/dist/tokens/palette-config.js +1 -1
  769. package/dist/tokens/palette.js +23 -11
  770. package/dist/tokens/palette.js.map +1 -1
  771. package/dist/tokens/resolve.js +2 -2
  772. package/dist/tokens/shadows.js +1 -1
  773. package/dist/tokens/sizes.js +1 -1
  774. package/dist/tokens/spacing.js +1 -1
  775. package/dist/tokens/typography.js +1 -1
  776. package/dist/utils/ResizeSensor.js +1 -1
  777. package/dist/utils/colors.js +1 -1
  778. package/dist/utils/dotize.js +1 -1
  779. package/dist/utils/index.d.ts +1 -1
  780. package/dist/utils/is-dev-env.js +1 -1
  781. package/dist/utils/modules.js +1 -1
  782. package/dist/utils/promise.js +1 -1
  783. package/dist/utils/raf.js +1 -1
  784. package/dist/utils/random.js +1 -1
  785. package/dist/utils/range.js +1 -1
  786. package/dist/utils/react/RenderCache.js +1 -1
  787. package/dist/utils/react/Slots.js +1 -1
  788. package/dist/utils/react/chain.js +1 -1
  789. package/dist/utils/react/disabledProps.js +1 -1
  790. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  791. package/dist/utils/react/index.d.ts +3 -3
  792. package/dist/utils/react/index.js +13 -13
  793. package/dist/utils/react/interactions.js +1 -1
  794. package/dist/utils/react/isTextOnly.js +1 -1
  795. package/dist/utils/react/mapProps.js +1 -1
  796. package/dist/utils/react/mergeProps.js +1 -1
  797. package/dist/utils/react/nullableValue.js +1 -1
  798. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  799. package/dist/utils/react/programmaticFocus.js +1 -1
  800. package/dist/utils/react/resolveIcon.js +1 -1
  801. package/dist/utils/react/sharedStore.js +1 -1
  802. package/dist/utils/react/useBufferedValue.js +1 -1
  803. package/dist/utils/react/useCombinedRefs.js +1 -1
  804. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  805. package/dist/utils/react/useEventBus.js +1 -1
  806. package/dist/utils/react/useId.js +1 -1
  807. package/dist/utils/react/useIsDarwin.js +1 -1
  808. package/dist/utils/react/useKeySymbols.js +1 -1
  809. package/dist/utils/react/useLayoutEffect.js +1 -1
  810. package/dist/utils/react/useLocalStorage.js +1 -1
  811. package/dist/utils/react/useMergeStyles.js +1 -1
  812. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  813. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
  814. package/dist/utils/react/usePopoverSync.js +1 -1
  815. package/dist/utils/react/useQaProps.js +1 -1
  816. package/dist/utils/react/useScheme.js +1 -1
  817. package/dist/utils/react/useViewportSize.js +1 -1
  818. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  819. package/dist/utils/selection.js +1 -1
  820. package/dist/utils/styles.js +1 -1
  821. package/dist/utils/tree.js +1 -1
  822. package/dist/utils/warnings.js +1 -1
  823. package/dist/version.js +2 -2
  824. package/docs/components/actions/ButtonSplit.md +1 -1
  825. package/docs/glaze/contrast.mdx +751 -0
  826. package/docs/glaze/exporting.mdx +635 -0
  827. package/docs/glaze/getting-started.mdx +487 -0
  828. package/docs/glaze/hdr.mdx +523 -0
  829. package/docs/glaze/methodology.mdx +979 -0
  830. package/docs/glaze/migration.md +476 -285
  831. package/docs/glaze/mixes.mdx +348 -0
  832. package/docs/glaze/okhst.mdx +692 -0
  833. package/docs/glaze/reference/color-definitions.md +552 -0
  834. package/docs/glaze/reference/color-tokens.md +421 -0
  835. package/docs/glaze/reference/configuration.md +532 -0
  836. package/docs/glaze/reference/contrast.md +279 -0
  837. package/docs/glaze/reference/index.md +225 -0
  838. package/docs/glaze/reference/output.md +714 -0
  839. package/docs/glaze/reference/palette.md +435 -0
  840. package/docs/glaze/reference/theme.md +332 -0
  841. package/docs/glaze/reference/utilities.md +646 -0
  842. package/docs/glaze/schemes.mdx +644 -0
  843. package/docs/glaze/shadows-and-glows.mdx +550 -0
  844. package/package.json +4 -4
  845. package/dist/components/actions/index.js +0 -29
  846. package/dist/components/actions/index.js.map +0 -1
  847. package/dist/components/fields/ListBoxPopover/ListBoxPopover.d.ts +0 -4
  848. package/dist/components/fields/ListBoxPopover/index.d.ts +0 -5
  849. package/dist/components/overlays/Modal/Modal.d.ts +0 -3
  850. package/dist/components/overlays/Modal/Popover.d.ts +0 -7
  851. package/dist/components/overlays/Modal/Tray.d.ts +0 -5
  852. package/dist/components/overlays/Modal/Underlay.d.ts +0 -3
  853. package/dist/components/overlays/Modal/index.d.ts +0 -8
  854. package/docs/glaze/api.md +0 -2021
  855. package/docs/glaze/methodology.md +0 -686
  856. package/docs/glaze/okhst.md +0 -207
@@ -1,12 +1,12 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { Title as _Title } from "../../content/Title.js";
5
5
  import { useI18n } from "../../../i18n/useI18n.js";
6
6
  import { Button } from "../../actions/Button/Button.js";
7
- import { ButtonGroup } from "../../actions/ButtonGroup/ButtonGroup.js";
8
7
  import { useOpenTransitionContext } from "../Modal/OpenTransitionContext.js";
9
8
  import { useDialogContext } from "./context.js";
9
+ import { ButtonGroup } from "../../actions/ButtonGroup/ButtonGroup.js";
10
10
  import { Content } from "../../content/Content.js";
11
11
  import { Footer } from "../../content/Footer.js";
12
12
  import { Header } from "../../content/Header.js";
@@ -1 +1 @@
1
- {"version":3,"file":"ModernDialogForm.js","names":["useRef","useEvent","useI18n","useLayoutEffect","Button","ButtonGroup","Content","Footer","Header","Title","getControllerInternals","ModernFormRoot","SubmitButton","useOpenTransitionContext","useDialogContext","withDefaultButtonText","Dialog","FormController","ModernDialogFormProps","DialogSession","form","T","preserve","ended","wasOpen","finishSession","session","store","cancelSubmission","reset","ModernDialogForm","props","$","_c","action","autoComplete","cancelProps","children","confirmDismiss","danger","defaultValues","dialogProps","encType","isDisabled","isInvalid","isReadOnly","isValid","labelPosition","labelStyles","labelWidth","method","name","necessityIndicator","noActions","onDismiss","onReset","onResetCapture","onSubmit","onSubmitFailed","onValuesChange","orientation","qa","requiredMark","showValid","submitProps","submitValues","target","title","validateTrigger","validationState","t","onClose","isOpen","t0","internals","transition","isClosing","undefined","transitionState","t1","current","dismiss","t2","submitted","t3","t4","own","queueMicrotask","getRootElement","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","_c","Title","SubmitButton","ModernFormRoot"],"sources":["../../../../src/components/overlays/Dialog/ModernDialogForm.tsx"],"sourcesContent":["import { useRef } from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { useI18n } from '../../../i18n';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { Button } from '../../actions/Button/Button';\nimport { ButtonGroup } from '../../actions/ButtonGroup/ButtonGroup';\nimport { Content } from '../../content/Content';\nimport { Footer } from '../../content/Footer';\nimport { Header } from '../../content/Header';\nimport { Title } from '../../content/Title';\nimport { getControllerInternals } from '../../form/Form/modern/controller';\nimport { ModernFormRoot } from '../../form/Form/ModernFormRoot';\nimport { SubmitButton } from '../../form/Form/SubmitButton/SubmitButton';\nimport { useOpenTransitionContext } from '../Modal/OpenTransitionContext';\n\nimport { useDialogContext } from './context';\nimport { withDefaultButtonText } from './default-button-text';\nimport { Dialog } from './Dialog';\n\nimport type { FormController } from '../../form/Form/modern/controller';\nimport type { ModernDialogFormProps } from './DialogForm';\n\ninterface DialogSession<T extends object> {\n form: FormController<T>;\n preserve?: boolean;\n ended: boolean;\n wasOpen: boolean;\n}\n\nfunction finishSession<T extends object>(session?: DialogSession<T>) {\n if (!session || session.ended) return;\n session.ended = true;\n getControllerInternals(session.form, '<DialogForm>').store.cancelSubmission();\n if (!session.preserve) session.form.reset();\n}\n\n/** Modern dialogs own the editing session, including retained/hidden roots. */\nexport function ModernDialogForm<T extends object>(\n props: ModernDialogFormProps<T>,\n) {\n const {\n form,\n qa,\n title,\n danger,\n submitProps,\n cancelProps,\n noActions,\n preserve,\n confirmDismiss,\n children,\n onDismiss,\n name,\n defaultValues,\n onSubmit,\n onSubmitFailed,\n onValuesChange,\n onReset,\n onResetCapture,\n submitValues,\n labelStyles,\n labelPosition,\n labelWidth,\n orientation,\n requiredMark,\n necessityIndicator,\n isDisabled,\n isReadOnly,\n isInvalid,\n isValid,\n validationState,\n validateTrigger,\n showValid,\n action,\n method,\n target,\n encType,\n autoComplete,\n ...dialogProps\n } = props;\n const { t } = useI18n();\n const { onClose, isOpen } = useDialogContext();\n const internals = getControllerInternals(form, '<DialogForm>');\n const transition = useOpenTransitionContext();\n const isClosing =\n isOpen === undefined\n ? transition?.transitionState === 'exit' ||\n transition?.transitionState === 'unmounted'\n : !isOpen;\n const session = useRef<DialogSession<T> | undefined>(undefined);\n const dismiss = useEvent(() => {\n finishSession(session.current);\n onClose?.();\n onDismiss?.();\n });\n const submitted = useEvent(() => {\n finishSession(session.current);\n onClose?.();\n });\n\n // Escape, outside clicks, and controlled closing belong to the container.\n // Only an open -> closed transition ends a session; hidden initial mounts\n // must not discard a controller that the caller has already populated.\n useLayoutEffect(() => {\n if (session.current?.form !== form) {\n session.current = { form, preserve, ended: false, wasOpen: !isClosing };\n }\n const current = session.current;\n current.preserve = preserve;\n if (isClosing && current.wasOpen) finishSession(current);\n if (!isClosing && !current.wasOpen) current.ended = false;\n current.wasOpen = !isClosing;\n });\n\n // Portals may relocate (remounting this component) and Strict Mode reconnects\n // effects. A replacement root owns the same session; only a detached\n // controller should reset after real removal. Capture that controller's\n // session, so replacing it cannot apply the new controller's preserve policy.\n useLayoutEffect(() => {\n const own = session.current;\n return () => {\n queueMicrotask(() => {\n if (!internals.getRootElement()) finishSession(own);\n });\n };\n }, [form, internals]);\n\n return (\n <Dialog {...dialogProps} qa={`${qa || ''}Dialog`} onDismiss={dismiss}>\n <Header>\n <Title ellipsis>{title}</Title>\n </Header>\n {/*\n The form wraps BOTH slots rather than sitting inside `Content`, so the\n actions can live in a pinned `Footer` while the body scrolls. They still\n have to be inside the `<form>` for submit to work, which is why the form\n is the outer one of the two (CUB-4920). A form placed directly in a\n `Dialog` lays itself out as the dialog's column (see `FormElement`).\n\n A press on any of its buttons, custom actions included, must not\n dismiss a popover the dialog lives in: a save has to survive\n validation and a slow request. Only presses, though. The broader\n `data-popover-keep` also tells a field's open listbox that a click\n anywhere in the form is not outside it, so the listbox stayed open\n (CUB-5251).\n */}\n <ModernFormRoot\n data-popover-keep-on-press\n form={form}\n qa={qa || 'DialogForm'}\n name={name}\n defaultValues={defaultValues}\n onSubmit={onSubmit}\n onSubmitted={submitted}\n // The root reports the user's edits to the dialog. `preserve` keeps\n // them anyway, so it never asks.\n confirmDismiss={confirmDismiss ?? (preserve ? false : undefined)}\n onSubmitFailed={onSubmitFailed}\n onValuesChange={onValuesChange}\n onReset={onReset}\n onResetCapture={onResetCapture}\n submitValues={submitValues}\n labelStyles={labelStyles}\n labelPosition={labelPosition}\n labelWidth={labelWidth}\n orientation={orientation}\n requiredMark={requiredMark}\n necessityIndicator={necessityIndicator}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isInvalid={isInvalid}\n isValid={isValid}\n validationState={validationState}\n validateTrigger={validateTrigger}\n showValid={showValid}\n action={action}\n method={method}\n target={target}\n encType={encType}\n autoComplete={autoComplete}\n >\n <Content>\n {typeof children === 'function' ? children(dismiss) : children}\n </Content>\n\n {!noActions && (\n <Footer>\n <ButtonGroup>\n <SubmitButton\n qa={`${qa || ''}SubmitButton`}\n theme={danger ? 'danger' : undefined}\n {...withDefaultButtonText(\n submitProps,\n t('dialogForm.submit', 'Submit'),\n )}\n />\n <Button\n qa={`${qa || ''}CancelButton`}\n onPress={dismiss}\n {...withDefaultButtonText(\n cancelProps,\n t('dialogForm.cancel', 'Cancel'),\n )}\n />\n </ButtonGroup>\n </Footer>\n )}\n </ModernFormRoot>\n </Dialog>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModernDialogForm.js","names":["useRef","useEvent","useI18n","useLayoutEffect","Button","ButtonGroup","Content","Footer","Header","Title","getControllerInternals","ModernFormRoot","SubmitButton","useOpenTransitionContext","useDialogContext","withDefaultButtonText","Dialog","FormController","ModernDialogFormProps","DialogSession","form","T","preserve","ended","wasOpen","finishSession","session","store","cancelSubmission","reset","ModernDialogForm","props","$","_c","action","autoComplete","cancelProps","children","confirmDismiss","danger","defaultValues","dialogProps","encType","isDisabled","isInvalid","isReadOnly","isValid","labelPosition","labelStyles","labelWidth","method","name","necessityIndicator","noActions","onDismiss","onReset","onResetCapture","onSubmit","onSubmitFailed","onValuesChange","orientation","qa","requiredMark","showValid","submitProps","submitValues","target","title","validateTrigger","validationState","t","onClose","isOpen","t0","internals","transition","isClosing","undefined","transitionState","t1","current","dismiss","t2","submitted","t3","t4","own","queueMicrotask","getRootElement","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","_c","Title","SubmitButton","ModernFormRoot"],"sources":["../../../../src/components/overlays/Dialog/ModernDialogForm.tsx"],"sourcesContent":["import { useRef } from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { useI18n } from '../../../i18n/useI18n';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { Button } from '../../actions/Button/Button';\nimport { ButtonGroup } from '../../actions/ButtonGroup/ButtonGroup';\nimport { Content } from '../../content/Content';\nimport { Footer } from '../../content/Footer';\nimport { Header } from '../../content/Header';\nimport { Title } from '../../content/Title';\nimport { getControllerInternals } from '../../form/Form/modern/controller';\nimport { ModernFormRoot } from '../../form/Form/ModernFormRoot';\nimport { SubmitButton } from '../../form/Form/SubmitButton/SubmitButton';\nimport { useOpenTransitionContext } from '../Modal/OpenTransitionContext';\n\nimport { useDialogContext } from './context';\nimport { withDefaultButtonText } from './default-button-text';\nimport { Dialog } from './Dialog';\n\nimport type { FormController } from '../../form/Form/modern/controller';\nimport type { ModernDialogFormProps } from './DialogForm';\n\ninterface DialogSession<T extends object> {\n form: FormController<T>;\n preserve?: boolean;\n ended: boolean;\n wasOpen: boolean;\n}\n\nfunction finishSession<T extends object>(session?: DialogSession<T>) {\n if (!session || session.ended) return;\n session.ended = true;\n getControllerInternals(session.form, '<DialogForm>').store.cancelSubmission();\n if (!session.preserve) session.form.reset();\n}\n\n/** Modern dialogs own the editing session, including retained/hidden roots. */\nexport function ModernDialogForm<T extends object>(\n props: ModernDialogFormProps<T>,\n) {\n const {\n form,\n qa,\n title,\n danger,\n submitProps,\n cancelProps,\n noActions,\n preserve,\n confirmDismiss,\n children,\n onDismiss,\n name,\n defaultValues,\n onSubmit,\n onSubmitFailed,\n onValuesChange,\n onReset,\n onResetCapture,\n submitValues,\n labelStyles,\n labelPosition,\n labelWidth,\n orientation,\n requiredMark,\n necessityIndicator,\n isDisabled,\n isReadOnly,\n isInvalid,\n isValid,\n validationState,\n validateTrigger,\n showValid,\n action,\n method,\n target,\n encType,\n autoComplete,\n ...dialogProps\n } = props;\n const { t } = useI18n();\n const { onClose, isOpen } = useDialogContext();\n const internals = getControllerInternals(form, '<DialogForm>');\n const transition = useOpenTransitionContext();\n const isClosing =\n isOpen === undefined\n ? transition?.transitionState === 'exit' ||\n transition?.transitionState === 'unmounted'\n : !isOpen;\n const session = useRef<DialogSession<T> | undefined>(undefined);\n const dismiss = useEvent(() => {\n finishSession(session.current);\n onClose?.();\n onDismiss?.();\n });\n const submitted = useEvent(() => {\n finishSession(session.current);\n onClose?.();\n });\n\n // Escape, outside clicks, and controlled closing belong to the container.\n // Only an open -> closed transition ends a session; hidden initial mounts\n // must not discard a controller that the caller has already populated.\n useLayoutEffect(() => {\n if (session.current?.form !== form) {\n session.current = { form, preserve, ended: false, wasOpen: !isClosing };\n }\n const current = session.current;\n current.preserve = preserve;\n if (isClosing && current.wasOpen) finishSession(current);\n if (!isClosing && !current.wasOpen) current.ended = false;\n current.wasOpen = !isClosing;\n });\n\n // Portals may relocate (remounting this component) and Strict Mode reconnects\n // effects. A replacement root owns the same session; only a detached\n // controller should reset after real removal. Capture that controller's\n // session, so replacing it cannot apply the new controller's preserve policy.\n useLayoutEffect(() => {\n const own = session.current;\n return () => {\n queueMicrotask(() => {\n if (!internals.getRootElement()) finishSession(own);\n });\n };\n }, [form, internals]);\n\n return (\n <Dialog {...dialogProps} qa={`${qa || ''}Dialog`} onDismiss={dismiss}>\n <Header>\n <Title ellipsis>{title}</Title>\n </Header>\n {/*\n The form wraps BOTH slots rather than sitting inside `Content`, so the\n actions can live in a pinned `Footer` while the body scrolls. They still\n have to be inside the `<form>` for submit to work, which is why the form\n is the outer one of the two (CUB-4920). A form placed directly in a\n `Dialog` lays itself out as the dialog's column (see `FormElement`).\n\n A press on any of its buttons, custom actions included, must not\n dismiss a popover the dialog lives in: a save has to survive\n validation and a slow request. Only presses, though. The broader\n `data-popover-keep` also tells a field's open listbox that a click\n anywhere in the form is not outside it, so the listbox stayed open\n (CUB-5251).\n */}\n <ModernFormRoot\n data-popover-keep-on-press\n form={form}\n qa={qa || 'DialogForm'}\n name={name}\n defaultValues={defaultValues}\n onSubmit={onSubmit}\n onSubmitted={submitted}\n // The root reports the user's edits to the dialog. `preserve` keeps\n // them anyway, so it never asks.\n confirmDismiss={confirmDismiss ?? (preserve ? false : undefined)}\n onSubmitFailed={onSubmitFailed}\n onValuesChange={onValuesChange}\n onReset={onReset}\n onResetCapture={onResetCapture}\n submitValues={submitValues}\n labelStyles={labelStyles}\n labelPosition={labelPosition}\n labelWidth={labelWidth}\n orientation={orientation}\n requiredMark={requiredMark}\n necessityIndicator={necessityIndicator}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isInvalid={isInvalid}\n isValid={isValid}\n validationState={validationState}\n validateTrigger={validateTrigger}\n showValid={showValid}\n action={action}\n method={method}\n target={target}\n encType={encType}\n autoComplete={autoComplete}\n >\n <Content>\n {typeof children === 'function' ? children(dismiss) : children}\n </Content>\n\n {!noActions && (\n <Footer>\n <ButtonGroup>\n <SubmitButton\n qa={`${qa || ''}SubmitButton`}\n theme={danger ? 'danger' : undefined}\n {...withDefaultButtonText(\n submitProps,\n t('dialogForm.submit', 'Submit'),\n )}\n />\n <Button\n qa={`${qa || ''}CancelButton`}\n onPress={dismiss}\n {...withDefaultButtonText(\n cancelProps,\n t('dialogForm.cancel', 'Cancel'),\n )}\n />\n </ButtonGroup>\n </Footer>\n )}\n </ModernFormRoot>\n </Dialog>\n );\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
  import invariant from "tiny-invariant";
4
4
  //#region src/components/overlays/Dialog/context.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  //#region src/components/overlays/Dialog/default-button-text.ts
3
3
  /**
4
4
  * Gives a dialog's built-in button its default text without overriding the
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { DialogContainer } from "./DialogContainer.js";
@@ -1 +1 @@
1
- {"version":3,"file":"use-dialog-container.js","names":["ComponentProps","ComponentType","useMemo","useRef","useState","useEvent","mergeProps","DialogContainer","useDialogContainer","Component","P","defaultContainerProps","isOpen","setIsOpen","componentProps","setComponentProps","containerProps","setContainerProps","E","setupRef","setupCheck","current","Error","open","props","update","close","renderedDialog","undefined","rendered"],"sources":["../../../../src/components/overlays/Dialog/use-dialog-container.tsx"],"sourcesContent":["import {\n ComponentProps,\n ComponentType,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useEvent } from '../../../_internal';\nimport { mergeProps } from '../../../utils/react';\n\nimport { DialogContainer } from './DialogContainer';\n\n/**\n * Generic hook to manage a dialog component.\n *\n * @param Component - A React component that represents the dialog content. It must accept props of type P.\n * @param defaultContainerProps - Default props to pass to the DialogContainer.\n * @returns An object with `open` function to open the dialog with provided props and `rendered` JSX element to include in your component tree.\n */\nexport function useDialogContainer<\n P,\n E = ComponentProps<typeof DialogContainer>,\n>(\n Component: ComponentType<P>,\n defaultContainerProps?: ComponentProps<typeof DialogContainer>,\n) {\n const [isOpen, setIsOpen] = useState(false);\n const [componentProps, setComponentProps] = useState<P | null>(null);\n const [containerProps, setContainerProps] = useState<E | null>(null);\n const setupRef = useRef(false);\n\n function setupCheck() {\n if (!setupRef.current) {\n throw new Error(\n 'useDialogContainer: DialogContainer must be rendered. Use `rendered` property to include it in your component tree.',\n );\n }\n }\n\n // 'open' accepts props required by the Component and opens the dialog\n const open = useEvent((props: P, containerProps?: E) => {\n setupCheck();\n\n setComponentProps(props);\n setContainerProps(containerProps ?? null);\n setIsOpen(true);\n });\n\n const update = useEvent((props: P, containerProps?: E) => {\n setupCheck();\n\n setComponentProps(props);\n setContainerProps(containerProps ?? null);\n });\n\n const close = useEvent(() => {\n setIsOpen(false);\n });\n\n // Render the dialog only when componentProps is set\n const renderedDialog = useMemo(() => {\n if (!componentProps) return null;\n\n return (\n <DialogContainer\n isOpen={isOpen}\n onDismiss={close}\n {...mergeProps(defaultContainerProps, containerProps || undefined)}\n >\n <Component {...componentProps} />\n </DialogContainer>\n );\n }, [componentProps, containerProps, isOpen, defaultContainerProps]);\n\n return {\n open,\n update,\n close,\n get rendered() {\n setupRef.current = true;\n\n return renderedDialog;\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AAoBA,SAAgBQ,mBAIdC,WACAE,uBACA;CACA,MAAM,CAACC,QAAQC,aAAaT,SAAS,KAAK;CAC1C,MAAM,CAACU,gBAAgBC,qBAAqBX,SAAmB,IAAI;CACnE,MAAM,CAACY,gBAAgBC,qBAAqBb,SAAmB,IAAI;CACnE,MAAMe,WAAWhB,OAAO,KAAK;CAE7B,SAASiB,aAAa;EACpB,IAAI,CAACD,SAASE,SACZ,MAAM,IAAIC,MACR,qHACF;CAEJ;CAGA,MAAMC,OAAOlB,UAAUmB,OAAUR,qBAAuB;EACtDI,WAAW;EAEXL,kBAAkBS,KAAK;EACvBP,kBAAkBD,oBAAkB,IAAI;EACxCH,UAAU,IAAI;CAChB,CAAC;CAED,MAAMY,SAASpB,UAAUmB,SAAUR,qBAAuB;EACxDI,WAAW;EAEXL,kBAAkBS,OAAK;EACvBP,kBAAkBD,oBAAkB,IAAI;CAC1C,CAAC;CAED,MAAMU,QAAQrB,eAAe;EAC3BQ,UAAU,KAAK;CACjB,CAAC;CAGD,MAAMc,iBAAiBzB,cAAc;EACnC,IAAI,CAACY,gBAAgB,OAAO;EAE5B,OACE,oBAAC,iBAAD;GACUF;GACR,WAAWc;GACX,GAAIpB,WAAWK,uBAAuBK,kBAAkBY,KAAAA,CAAS;GAEjE,UAAA,oBAAC,WAAD,EAAW,GAAId,eAAe,CAAA;EACf,CAAA;CAErB,GAAG;EAACA;EAAgBE;EAAgBJ;EAAQD;CAAqB,CAAC;CAElE,OAAO;EACLY;EACAE;EACAC;EACA,IAAIG,WAAW;GACbV,SAASE,UAAU;GAEnB,OAAOM;EACT;CACF;AACF"}
1
+ {"version":3,"file":"use-dialog-container.js","names":["ComponentProps","ComponentType","useMemo","useRef","useState","useEvent","mergeProps","DialogContainer","useDialogContainer","Component","P","defaultContainerProps","isOpen","setIsOpen","componentProps","setComponentProps","containerProps","setContainerProps","E","setupRef","setupCheck","current","Error","open","props","update","close","renderedDialog","undefined","rendered"],"sources":["../../../../src/components/overlays/Dialog/use-dialog-container.tsx"],"sourcesContent":["import {\n ComponentProps,\n ComponentType,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { mergeProps } from '../../../utils/react/mergeProps';\n\nimport { DialogContainer } from './DialogContainer';\n\n/**\n * Generic hook to manage a dialog component.\n *\n * @param Component - A React component that represents the dialog content. It must accept props of type P.\n * @param defaultContainerProps - Default props to pass to the DialogContainer.\n * @returns An object with `open` function to open the dialog with provided props and `rendered` JSX element to include in your component tree.\n */\nexport function useDialogContainer<\n P,\n E = ComponentProps<typeof DialogContainer>,\n>(\n Component: ComponentType<P>,\n defaultContainerProps?: ComponentProps<typeof DialogContainer>,\n) {\n const [isOpen, setIsOpen] = useState(false);\n const [componentProps, setComponentProps] = useState<P | null>(null);\n const [containerProps, setContainerProps] = useState<E | null>(null);\n const setupRef = useRef(false);\n\n function setupCheck() {\n if (!setupRef.current) {\n throw new Error(\n 'useDialogContainer: DialogContainer must be rendered. Use `rendered` property to include it in your component tree.',\n );\n }\n }\n\n // 'open' accepts props required by the Component and opens the dialog\n const open = useEvent((props: P, containerProps?: E) => {\n setupCheck();\n\n setComponentProps(props);\n setContainerProps(containerProps ?? null);\n setIsOpen(true);\n });\n\n const update = useEvent((props: P, containerProps?: E) => {\n setupCheck();\n\n setComponentProps(props);\n setContainerProps(containerProps ?? null);\n });\n\n const close = useEvent(() => {\n setIsOpen(false);\n });\n\n // Render the dialog only when componentProps is set\n const renderedDialog = useMemo(() => {\n if (!componentProps) return null;\n\n return (\n <DialogContainer\n isOpen={isOpen}\n onDismiss={close}\n {...mergeProps(defaultContainerProps, containerProps || undefined)}\n >\n <Component {...componentProps} />\n </DialogContainer>\n );\n }, [componentProps, containerProps, isOpen, defaultContainerProps]);\n\n return {\n open,\n update,\n close,\n get rendered() {\n setupRef.current = true;\n\n return renderedDialog;\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AAoBA,SAAgBQ,mBAIdC,WACAE,uBACA;CACA,MAAM,CAACC,QAAQC,aAAaT,SAAS,KAAK;CAC1C,MAAM,CAACU,gBAAgBC,qBAAqBX,SAAmB,IAAI;CACnE,MAAM,CAACY,gBAAgBC,qBAAqBb,SAAmB,IAAI;CACnE,MAAMe,WAAWhB,OAAO,KAAK;CAE7B,SAASiB,aAAa;EACpB,IAAI,CAACD,SAASE,SACZ,MAAM,IAAIC,MACR,qHACF;CAEJ;CAGA,MAAMC,OAAOlB,UAAUmB,OAAUR,qBAAuB;EACtDI,WAAW;EAEXL,kBAAkBS,KAAK;EACvBP,kBAAkBD,oBAAkB,IAAI;EACxCH,UAAU,IAAI;CAChB,CAAC;CAED,MAAMY,SAASpB,UAAUmB,SAAUR,qBAAuB;EACxDI,WAAW;EAEXL,kBAAkBS,OAAK;EACvBP,kBAAkBD,oBAAkB,IAAI;CAC1C,CAAC;CAED,MAAMU,QAAQrB,eAAe;EAC3BQ,UAAU,KAAK;CACjB,CAAC;CAGD,MAAMc,iBAAiBzB,cAAc;EACnC,IAAI,CAACY,gBAAgB,OAAO;EAE5B,OACE,oBAAC,iBAAD;GACUF;GACR,WAAWc;GACX,GAAIpB,WAAWK,uBAAuBK,kBAAkBY,KAAAA,CAAS;GAEjE,UAAA,oBAAC,WAAD,EAAW,GAAId,eAAe,CAAA;EACf,CAAA;CAErB,GAAG;EAACA;EAAgBE;EAAgBJ;EAAQD;CAAqB,CAAC;CAElE,OAAO;EACLY;EACAE;EACAC;EACA,IAAIG,WAAW;GACbV,SAASE,UAAU;GAEnB,OAAOM;EACT;CACF;AACF"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { useEventBus } from "../../../utils/react/useEventBus.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useEffect, useEffectEvent } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { useI18n } from "../../../i18n/useI18n.js";
3
3
  import { AlertDialog as _AlertDialog } from "../AlertDialog/AlertDialog.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"use-dismiss-confirmation.js","names":["focusSafely","useEffect","useRef","useState","useI18n","AlertDialog","PendingDismissal","dismiss","focusTarget","Element","Answer","isDiscarded","useDismissConfirmation","confirmDismiss","isDialogOpen","$","_c","pending","setPending","hasAsked","setHasAsked","t0","Symbol","for","Set","unsavedChecks","answer","lastFocused","canAsk","t1","t2","document","activeElement","body","current","onFocusIn","event","target","addEventListener","removeEventListener","requestDismiss","hasUnsavedChanges","focused","check","t3","registerUnsavedChanges","check_0","checks","add","delete","t4","settle","action","t5","t6","settled","HTMLElement","isConnected","t7","isOpen","onDismiss","t8","confirmationProps","DiscardChangesDialog","t","children","confirm","cancel","_c","AlertDialog"],"sources":["../../../../src/components/overlays/Dialog/use-dismiss-confirmation.tsx"],"sourcesContent":["import { focusSafely } from '@react-aria/interactions';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { AlertDialog } from '../AlertDialog/AlertDialog';\n\ninterface PendingDismissal {\n /** What the dismissal runs once the user discards the edits. */\n dismiss: () => void;\n /** Where focus was when the dialog asked, to give it back. */\n focusTarget: Element | null;\n}\n\ninterface Answer extends PendingDismissal {\n isDiscarded: boolean;\n}\n\n/**\n * The owner side of `confirmDismiss`, for `DialogTrigger` and\n * `DialogContainer`. A passive dismissal (Escape, an outside click, the close\n * button) goes through `requestDismiss`, which asks \"Discard changes?\" first\n * while `confirmDismiss` is `true`, or, when it is unset, while a form inside\n * (a modern `Form` root, or a legacy `DialogForm`) reports unsaved edits, or\n * its own `confirmDismiss`, through `registerUnsavedChanges`. Explicit actions\n * (submit, Cancel, a `close` the consumer calls) bypass it.\n *\n * The owner renders the question while `confirmationProps` is set:\n * `<DialogContainer {...confirmationProps}><DiscardChangesDialog /></DialogContainer>`.\n */\nexport function useDismissConfirmation(\n confirmDismiss: boolean | undefined,\n isDialogOpen: boolean,\n) {\n const [pending, setPending] = useState<PendingDismissal | null>(null);\n // Mounted on the first question and kept, so it can play its exit.\n const [hasAsked, setHasAsked] = useState(false);\n // Every form in the dialog reports its own: tabs or a wizard step can hold\n // more than one, and any of them with edits makes the dialog ask.\n const unsavedChecks = useRef(new Set<() => boolean>());\n const answer = useRef<Answer | null>(null);\n const lastFocused = useRef<Element | null>(null);\n const canAsk = isDialogOpen && confirmDismiss !== false;\n\n // A dialog closed some other way takes its question with it.\n if (pending && !isDialogOpen) setPending(null);\n\n // A click outside drops focus to `<body>` on its way to closing the dialog,\n // so the question gives focus back to where it was last. A `confirmDismiss`\n // bound to state turns on while the user types, so start from that field.\n useEffect(() => {\n if (!canAsk) return;\n\n if (document.activeElement !== document.body) {\n lastFocused.current = document.activeElement;\n }\n\n const onFocusIn = (event: FocusEvent) => {\n lastFocused.current = event.target as Element;\n };\n\n document.addEventListener('focusin', onFocusIn, true);\n\n return () => {\n document.removeEventListener('focusin', onFocusIn, true);\n lastFocused.current = null;\n };\n }, [canAsk]);\n\n function requestDismiss(dismiss: () => void) {\n if (pending) return;\n\n if (!(confirmDismiss ?? hasUnsavedChanges())) {\n dismiss();\n\n return;\n }\n\n const focused = document.activeElement;\n\n setPending({\n dismiss,\n focusTarget:\n focused && focused !== document.body ? focused : lastFocused.current,\n });\n setHasAsked(true);\n }\n\n function hasUnsavedChanges() {\n for (const check of unsavedChecks.current) {\n if (check()) return true;\n }\n\n return false;\n }\n\n function registerUnsavedChanges(check: () => boolean) {\n const checks = unsavedChecks.current;\n\n checks.add(check);\n\n return () => {\n checks.delete(check);\n };\n }\n\n function settle(action?: string) {\n if (!pending) return;\n\n answer.current = { ...pending, isDiscarded: action === 'confirm' };\n setPending(null);\n }\n\n // Once the question has closed: while open it holds focus, and pulls back\n // any focus moved out of it. Focus goes back into the dialog at once, not\n // when the question has faded out. A discarded dialog then closes from\n // there, so its trigger takes focus back as after any close.\n useEffect(() => {\n const settled = answer.current;\n\n if (pending || !settled) return;\n\n answer.current = null;\n\n const { focusTarget } = settled;\n\n if (focusTarget instanceof HTMLElement && focusTarget.isConnected) {\n focusSafely(focusTarget);\n }\n\n if (settled.isDiscarded) settled.dismiss();\n }, [pending]);\n\n return {\n requestDismiss,\n registerUnsavedChanges,\n confirmationProps: hasAsked\n ? { isOpen: !!pending, onDismiss: settle }\n : null,\n };\n}\n\n/** The question `useDismissConfirmation` asks. Escape keeps editing. */\nexport function DiscardChangesDialog() {\n const { t } = useI18n();\n\n return (\n <AlertDialog\n danger\n title={t('dialog.discardChanges.title', 'Discard changes?')}\n content={t(\n 'dialog.discardChanges.content',\n 'All unsaved changes will be lost.',\n )}\n actions={{\n confirm: { children: t('dialog.discardChanges.discard', 'Discard') },\n cancel: {\n children: t('dialog.discardChanges.keepEditing', 'Keep editing'),\n },\n }}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA6BA,SAAOY,uBAAAC,gBAAAC,cAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAIL,MAAA,CAAAC,SAAAC,cAA8Bf,SAAkC,IAAI;CAEpE,MAAA,CAAAgB,UAAAC,eAAgCjB,SAAS,KAAK;CAAE,IAAAkB;CAAA,IAAAN,EAAA,OAAAO,OAAAC,IAAA,2BAAA,GAAA;EAGnBF,qBAAA,IAAIG,IAAmB;EAACT,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAArD,MAAAU,gBAAsBvB,OAAOmB,EAAwB;CACrD,MAAAK,SAAexB,OAAsB,IAAI;CACzC,MAAAyB,cAAoBzB,OAAuB,IAAI;CAC/C,MAAA0B,SAAed,gBAAgBD,mBAAmB;CAGlD,IAAII,WAAA,CAAYH,cAAcI,WAAW,IAAI;CAAE,IAAAW;CAAA,IAAAC;CAAA,IAAAf,EAAA,OAAAa,QAAA;EAKrCC,WAAA;GACR,IAAI,CAACD,QAAM;GAEX,IAAIG,SAAQC,kBAAmBD,SAAQE,MACrCN,YAAWO,UAAWH,SAAQC;GAGhC,MAAAG,aAAkBC,UAAA;IAChBT,YAAWO,UAAWE,MAAKC;GAAR;GAGrBN,SAAQO,iBAAkB,WAAWH,WAAW,IAAI;GAAC,aAE9C;IACLJ,SAAQQ,oBAAqB,WAAWJ,WAAW,IAAI;IACvDR,YAAWO,UAAW;GAAH;EACpB;EACAJ,KAAA,CAACF,MAAM;EAACb,EAAA,KAAAa;EAAAb,EAAA,KAAAc;EAAAd,EAAA,KAAAe;CAAA,OAAA;EAAAD,KAAAd,EAAA;EAAAe,KAAAf,EAAA;CAAA;CAjBXd,UAAU4B,IAiBPC,EAAQ;CAAC,IAAAU;CAAA,IAAAzB,EAAA,OAAAF,kBAAAE,EAAA,OAAAE,SAAA;EAEZuB,iBAAA,SAAAA,eAAAjC,SAAA;GACE,IAAIU,SAAO;GAEX,IAAI,EAAEJ,kBAAkB4B,kBAAkB,IAAE;IAC1ClC,QAAQ;IAAC;GAAA;GAKX,MAAAmC,UAAgBX,SAAQC;GAExBd,WAAW;IAAAX;IAAAC,aAGPkC,WAAWA,YAAYX,SAAQE,OAA/BS,UAAiDf,YAAWO;GAChE,CAAC;GACDd,YAAY,IAAI;EAAC;EAGnB,SAAAqB,oBAAA;GACE,KAAK,MAAAE,SAAelB,cAAaS,SAC/B,IAAIS,MAAM,GAAC,OAAS;GACrB,OAEM;EAAK;EACb5B,EAAA,KAAAF;EAAAE,EAAA,KAAAE;EAAAF,EAAA,KAAAyB;CAAA,OAAAA,iBAAAzB,EAAA;CAAA,IAAA6B;CAAA,IAAA7B,EAAA,OAAAO,OAAAC,IAAA,2BAAA,GAAA;EAEDqB,KAAA,SAAAC,uBAAAC,SAAA;GACE,MAAAC,SAAetB,cAAaS;GAE5Ba,OAAMC,IAAKL,OAAK;GAAC,aAEV;IACLI,OAAME,OAAQN,OAAK;GAAC;EACrB;EACF5B,EAAA,KAAA6B;CAAA,OAAAA,KAAA7B,EAAA;CARD,MAAA8B,yBAAAD;CAQC,IAAAM;CAAA,IAAAnC,EAAA,OAAAE,SAAA;EAEDiC,KAAA,SAAAC,OAAAC,QAAA;GACE,IAAI,CAACnC,SAAO;GAEZS,OAAMQ,UAAW;IAAA,GAAKjB;IAAON,aAAeyC,WAAW;GAAU;GACjElC,WAAW,IAAI;EAAC;EACjBH,EAAA,KAAAE;EAAAF,EAAA,KAAAmC;CAAA,OAAAA,KAAAnC,EAAA;CALD,MAAAoC,SAAAD;CAKC,IAAAG;CAAA,IAAAC;CAAA,IAAAvC,EAAA,QAAAE,SAAA;EAMSoC,WAAA;GACR,MAAAE,UAAgB7B,OAAMQ;GAEtB,IAAIjB,WAAA,CAAYsC,SAAO;GAEvB7B,OAAMQ,UAAW;GAEjB,MAAA,EAAA1B,gBAAwB+C;GAExB,IAAI/C,uBAAuBgD,eAAehD,YAAWiD,aACnDzD,YAAYQ,WAAW;GAGzB,IAAI+C,QAAO5C,aAAc4C,QAAOhD,QAAS;EAAE;EAC1C+C,KAAA,CAACrC,OAAO;EAACF,EAAA,MAAAE;EAAAF,EAAA,MAAAsC;EAAAtC,EAAA,MAAAuC;CAAA,OAAA;EAAAD,KAAAtC,EAAA;EAAAuC,KAAAvC,EAAA;CAAA;CAdZd,UAAUoD,IAcPC,EAAS;CAAC,IAAAI;CAAA,IAAA3C,EAAA,QAAAI,YAAAJ,EAAA,QAAAE,WAAAF,EAAA,QAAAoC,QAAA;EAKQO,KAAAvC,WAAA;GAAAwC,QACL,CAAC,CAAC1C;GAAO2C,WAAaT;EAC7B,IAFY;EAEXpC,EAAA,MAAAI;EAAAJ,EAAA,MAAAE;EAAAF,EAAA,MAAAoC;EAAApC,EAAA,MAAA2C;CAAA,OAAAA,KAAA3C,EAAA;CAAA,IAAA8C;CAAA,IAAA9C,EAAA,QAAAyB,kBAAAzB,EAAA,QAAA2C,IAAA;EALHG,KAAA;GAAArB;GAAAK;GAAAiB,mBAGcJ;EAGrB;EAAC3C,EAAA,MAAAyB;EAAAzB,EAAA,MAAA2C;EAAA3C,EAAA,MAAA8C;CAAA,OAAAA,KAAA9C,EAAA;CAAA,OANM8C;AAMN;;AAIH,SAAOE,uBAAA;CAAA,MAAAhD,IAAAC,EAAA,EAAA;CACL,MAAA,EAAAgD,MAAc5D,QAAQ;CAAE,IAAAiB;CAAA,IAAAN,EAAA,OAAAiD,GAAA;EAKb3C,KAAA2C,EAAE,+BAA+B,kBAAkB;EAACjD,EAAA,KAAAiD;EAAAjD,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,OAAAiD,GAAA;EAClDnC,KAAAmC,EACP,iCACA,mCACF;EAACjD,EAAA,KAAAiD;EAAAjD,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,OAAAiD,GAAA;EAEsBlC,KAAAkC,EAAE,iCAAiC,SAAS;EAACjD,EAAA,KAAAiD;EAAAjD,EAAA,KAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,IAAA6B;CAAA,IAAA7B,EAAA,OAAAe,IAAA;EAAzDc,KAAA,EAAAqB,UAAYnC,GAA8C;EAACf,EAAA,KAAAe;EAAAf,EAAA,KAAA6B;CAAA,OAAAA,KAAA7B,EAAA;CAAA,IAAAmC;CAAA,IAAAnC,EAAA,OAAAiD,GAAA;EAExDd,KAAAc,EAAE,qCAAqC,cAAc;EAACjD,EAAA,KAAAiD;EAAAjD,EAAA,KAAAmC;CAAA,OAAAA,KAAAnC,EAAA;CAAA,IAAAsC;CAAA,IAAAtC,EAAA,QAAAmC,IAAA;EAD1DG,KAAA,EAAAY,UACIf,GACZ;EAACnC,EAAA,MAAAmC;EAAAnC,EAAA,MAAAsC;CAAA,OAAAA,KAAAtC,EAAA;CAAA,IAAAuC;CAAA,IAAAvC,EAAA,QAAA6B,MAAA7B,EAAA,QAAAsC,IAAA;EAJMC,KAAA;GAAAY,SACEtB;GAA2DuB,QAC5Dd;EAGV;EAACtC,EAAA,MAAA6B;EAAA7B,EAAA,MAAAsC;EAAAtC,EAAA,MAAAuC;CAAA,OAAAA,KAAAvC,EAAA;CAAA,IAAA2C;CAAA,IAAA3C,EAAA,QAAAM,MAAAN,EAAA,QAAAc,MAAAd,EAAA,QAAAuC,IAAA;EAZHI,KAAA,oBAACW,cAAD;GACE,QAAA;GACO,OAAAhD;GACE,SAAAQ;GAIA,SAAAyB;EAKR,CAAA;EACDvC,EAAA,MAAAM;EAAAN,EAAA,MAAAc;EAAAd,EAAA,MAAAuC;EAAAvC,EAAA,MAAA2C;CAAA,OAAAA,KAAA3C,EAAA;CAAA,OAbF2C;AAaE"}
1
+ {"version":3,"file":"use-dismiss-confirmation.js","names":["focusSafely","useEffect","useRef","useState","useI18n","AlertDialog","PendingDismissal","dismiss","focusTarget","Element","Answer","isDiscarded","useDismissConfirmation","confirmDismiss","isDialogOpen","$","_c","pending","setPending","hasAsked","setHasAsked","t0","Symbol","for","Set","unsavedChecks","answer","lastFocused","canAsk","t1","t2","document","activeElement","body","current","onFocusIn","event","target","addEventListener","removeEventListener","requestDismiss","hasUnsavedChanges","focused","check","t3","registerUnsavedChanges","check_0","checks","add","delete","t4","settle","action","t5","t6","settled","HTMLElement","isConnected","t7","isOpen","onDismiss","t8","confirmationProps","DiscardChangesDialog","t","children","confirm","cancel","_c","AlertDialog"],"sources":["../../../../src/components/overlays/Dialog/use-dismiss-confirmation.tsx"],"sourcesContent":["import { focusSafely } from '@react-aria/interactions';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { useI18n } from '../../../i18n/useI18n';\nimport { AlertDialog } from '../AlertDialog/AlertDialog';\n\ninterface PendingDismissal {\n /** What the dismissal runs once the user discards the edits. */\n dismiss: () => void;\n /** Where focus was when the dialog asked, to give it back. */\n focusTarget: Element | null;\n}\n\ninterface Answer extends PendingDismissal {\n isDiscarded: boolean;\n}\n\n/**\n * The owner side of `confirmDismiss`, for `DialogTrigger` and\n * `DialogContainer`. A passive dismissal (Escape, an outside click, the close\n * button) goes through `requestDismiss`, which asks \"Discard changes?\" first\n * while `confirmDismiss` is `true`, or, when it is unset, while a form inside\n * (a modern `Form` root, or a legacy `DialogForm`) reports unsaved edits, or\n * its own `confirmDismiss`, through `registerUnsavedChanges`. Explicit actions\n * (submit, Cancel, a `close` the consumer calls) bypass it.\n *\n * The owner renders the question while `confirmationProps` is set:\n * `<DialogContainer {...confirmationProps}><DiscardChangesDialog /></DialogContainer>`.\n */\nexport function useDismissConfirmation(\n confirmDismiss: boolean | undefined,\n isDialogOpen: boolean,\n) {\n const [pending, setPending] = useState<PendingDismissal | null>(null);\n // Mounted on the first question and kept, so it can play its exit.\n const [hasAsked, setHasAsked] = useState(false);\n // Every form in the dialog reports its own: tabs or a wizard step can hold\n // more than one, and any of them with edits makes the dialog ask.\n const unsavedChecks = useRef(new Set<() => boolean>());\n const answer = useRef<Answer | null>(null);\n const lastFocused = useRef<Element | null>(null);\n const canAsk = isDialogOpen && confirmDismiss !== false;\n\n // A dialog closed some other way takes its question with it.\n if (pending && !isDialogOpen) setPending(null);\n\n // A click outside drops focus to `<body>` on its way to closing the dialog,\n // so the question gives focus back to where it was last. A `confirmDismiss`\n // bound to state turns on while the user types, so start from that field.\n useEffect(() => {\n if (!canAsk) return;\n\n if (document.activeElement !== document.body) {\n lastFocused.current = document.activeElement;\n }\n\n const onFocusIn = (event: FocusEvent) => {\n lastFocused.current = event.target as Element;\n };\n\n document.addEventListener('focusin', onFocusIn, true);\n\n return () => {\n document.removeEventListener('focusin', onFocusIn, true);\n lastFocused.current = null;\n };\n }, [canAsk]);\n\n function requestDismiss(dismiss: () => void) {\n if (pending) return;\n\n if (!(confirmDismiss ?? hasUnsavedChanges())) {\n dismiss();\n\n return;\n }\n\n const focused = document.activeElement;\n\n setPending({\n dismiss,\n focusTarget:\n focused && focused !== document.body ? focused : lastFocused.current,\n });\n setHasAsked(true);\n }\n\n function hasUnsavedChanges() {\n for (const check of unsavedChecks.current) {\n if (check()) return true;\n }\n\n return false;\n }\n\n function registerUnsavedChanges(check: () => boolean) {\n const checks = unsavedChecks.current;\n\n checks.add(check);\n\n return () => {\n checks.delete(check);\n };\n }\n\n function settle(action?: string) {\n if (!pending) return;\n\n answer.current = { ...pending, isDiscarded: action === 'confirm' };\n setPending(null);\n }\n\n // Once the question has closed: while open it holds focus, and pulls back\n // any focus moved out of it. Focus goes back into the dialog at once, not\n // when the question has faded out. A discarded dialog then closes from\n // there, so its trigger takes focus back as after any close.\n useEffect(() => {\n const settled = answer.current;\n\n if (pending || !settled) return;\n\n answer.current = null;\n\n const { focusTarget } = settled;\n\n if (focusTarget instanceof HTMLElement && focusTarget.isConnected) {\n focusSafely(focusTarget);\n }\n\n if (settled.isDiscarded) settled.dismiss();\n }, [pending]);\n\n return {\n requestDismiss,\n registerUnsavedChanges,\n confirmationProps: hasAsked\n ? { isOpen: !!pending, onDismiss: settle }\n : null,\n };\n}\n\n/** The question `useDismissConfirmation` asks. Escape keeps editing. */\nexport function DiscardChangesDialog() {\n const { t } = useI18n();\n\n return (\n <AlertDialog\n danger\n title={t('dialog.discardChanges.title', 'Discard changes?')}\n content={t(\n 'dialog.discardChanges.content',\n 'All unsaved changes will be lost.',\n )}\n actions={{\n confirm: { children: t('dialog.discardChanges.discard', 'Discard') },\n cancel: {\n children: t('dialog.discardChanges.keepEditing', 'Keep editing'),\n },\n }}\n />\n );\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { focusProgrammatically } from "../../../utils/react/programmaticFocus.js";
3
3
  import { useOpenTransitionContext } from "../Modal/OpenTransitionContext.js";
4
4
  import { trapsFocus, useDialogContext } from "./context.js";
@@ -1,9 +1,9 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { mergeRefs as mergeRefs$1 } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { ModalContainmentProvider, useModalContainment } from "./modal-containment.js";
5
- import { useOverlayEscapeGuard } from "../../../utils/react/useOverlayEscapeGuard.js";
6
5
  import { Overlay as _Overlay } from "./Overlay.js";
6
+ import { useOverlayEscapeGuard } from "../../../utils/react/useOverlayEscapeGuard.js";
7
7
  import { Underlay as _Underlay } from "./Underlay.js";
8
8
  import { c } from "react/compiler-runtime";
9
9
  import { tasty } from "@tenphi/tasty";
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["useObjectRef","BaseProps","Styles","tasty","ForwardedRef","forwardRef","ReactNode","useModal","useOverlay","usePreventScroll","mergeProps","mergeRefs","useOverlayEscapeGuard","ModalContainmentProvider","useModalContainment","Overlay","ModalProps","TransitionState","WithCloseBehavior","Underlay","Props","OVERLAY_WRAPPER_STYLES","position","display","left","top","placeItems","boxSizing","width","height","pointerEvents","zIndex","transition","open","ModalWrapperElement","qa","styles","ModalElement","hide","exit","unmounted","transform","opacity","CubeModalProps","Omit","container","HTMLElement","onClose","action","type","shouldCloseOnInteractOutside","element","Element","Modal","props","ref","$","_c","children","otherProps","domRef","t0","overlayProps","rawOverlayProps","underlayProps","isOpen","containment","containmentRef","t1","t2","t3","t4","t5","ModalWrapperProps","placement","ModalWrapper","transitionState","isDisabled","modalProps","T0","T1","t6","t7","t8","t9","enter","entered","t10","t11","t12","_Modal","displayName","_c","Underlay","mergeRefs","Overlay","mergeProps"],"sources":["../../../../src/components/overlays/Modal/Modal.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, Styles, tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, ReactNode } from 'react';\nimport { useModal, useOverlay, usePreventScroll } from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport {\n ModalContainmentProvider,\n useModalContainment,\n} from './modal-containment';\nimport { Overlay } from './Overlay';\nimport { ModalProps, TransitionState, WithCloseBehavior } from './types';\nimport { Underlay } from './Underlay';\n\nimport type { Props } from '../../../props';\n\nexport const OVERLAY_WRAPPER_STYLES: Styles = {\n position: 'fixed',\n display: 'grid',\n left: 0,\n top: 0,\n placeItems: {\n '': 'center',\n 'type=fullscreen': 'center',\n 'type=fullscreenTakeover | type=panel': 'stretch',\n },\n boxSizing: 'border-box',\n width: '100vw',\n height: '100dvh',\n pointerEvents: 'none',\n zIndex: 10,\n transition: {\n // steps(2, start) over twice the exit fade flips visibility to hidden\n // exactly when the $overlay-transition fade ends.\n '': 'visibility (2 * $overlay-transition) steps(2, start)',\n open: 'visibility 0s linear',\n },\n};\n\nconst ModalWrapperElement = tasty({\n qa: 'ModalWrapper',\n styles: OVERLAY_WRAPPER_STYLES,\n});\n\nconst ModalElement = tasty({\n styles: {\n display: 'grid',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n zIndex: 10,\n height: {\n '': 'max 90dvh',\n 'type=fullscreenTakeover | type=panel': '100dvh 100dvh',\n 'type=fullscreen': '(100dvh - 8x) (100dvh - 8x)',\n 'type=panel': 'auto',\n },\n width: {\n // The dialog limits its own width; a cap here would also clip a width\n // that sets its own max.\n '': '$min-dialog-size 100dvw',\n 'type=panel': 'auto',\n },\n pointerEvents: 'none',\n transition:\n 'opacity $overlay-transition linear, transform $overlay-transition ease-in-out',\n transform: {\n '': 'initial',\n 'type=modal & !open': 'translate(0, -3x) scale(1, 1)',\n '(type^=fullscreen | type=panel) & !open':\n 'translate(0, 0) scale(1.02, 1.02)',\n },\n opacity: {\n '': 0,\n open: 0.9999,\n },\n },\n});\n\nexport interface CubeModalProps\n extends\n Omit<ModalProps, 'container' | 'type' | 'nodeRef'>,\n WithCloseBehavior {\n container?: HTMLElement;\n qa?: BaseProps['qa'];\n onClose?: (action?: string) => void;\n type?: 'modal' | 'fullscreen' | 'fullscreenTakeover' | 'panel';\n styles?: Styles;\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\nfunction Modal(props: CubeModalProps, ref: ForwardedRef<HTMLElement>) {\n let { qa, children, onClose, type, styles, ...otherProps } = props;\n let domRef = useObjectRef(ref);\n\n let { overlayProps: rawOverlayProps, underlayProps } = useOverlay(\n { ...props },\n domRef,\n );\n\n // Focus can stay in a modal while it closes, after a press on it or a close\n // that restores focus nowhere; it must not answer for `Escape` meanwhile —\n // see `useOverlayEscapeGuard`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\n\n // A panel leaves the page readable; every other type hides it while open.\n const { containment, ref: containmentRef } = useModalContainment(\n type !== 'panel',\n !!props.isOpen,\n );\n\n return (\n <ModalContainmentProvider value={containment}>\n <Overlay {...otherProps}>\n {type !== 'fullscreenTakeover' && type !== 'panel' && (\n <Underlay {...underlayProps} />\n )}\n <ModalWrapper\n ref={mergeRefs(domRef, containmentRef)}\n qa={qa}\n type={type}\n overlayProps={overlayProps}\n styles={styles}\n onClose={onClose}\n >\n {children}\n </ModalWrapper>\n </Overlay>\n </ModalContainmentProvider>\n );\n}\n\ninterface ModalWrapperProps extends TransitionState {\n children?: ReactNode;\n qa?: BaseProps['qa'];\n isOpen?: boolean;\n type?: 'modal' | 'fullscreen' | 'fullscreenTakeover' | 'panel';\n placement?: 'top' | 'bottom';\n styles?: Styles;\n overlayProps?: Props;\n onClose?: () => void;\n}\n\nlet ModalWrapper = forwardRef(function ModalWrapper(\n props: ModalWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n isOpen,\n type,\n placement,\n styles,\n overlayProps,\n transitionState,\n ...otherProps\n } = props;\n\n usePreventScroll({ isDisabled: transitionState !== 'entered' });\n\n let { modalProps } = useModal({ isDisabled: transitionState !== 'entered' });\n\n return (\n <ModalWrapperElement data-type={type} data-placement={placement}>\n <ModalElement\n qa={qa || 'Modal'}\n styles={styles}\n mods={{\n open: isOpen,\n enter: transitionState === 'enter',\n exit: transitionState === 'exit',\n unmounted: transitionState === 'unmounted',\n entered: transitionState === 'entered',\n }}\n data-type={type}\n data-placement={placement}\n {...mergeProps(otherProps, overlayProps, modalProps)}\n ref={ref}\n >\n {children}\n </ModalElement>\n </ModalWrapperElement>\n );\n});\n\nlet _Modal = forwardRef(Modal);\n\n_Modal.displayName = 'Modal';\n\nexport { _Modal as Modal };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","names":["useObjectRef","BaseProps","Styles","tasty","ForwardedRef","forwardRef","ReactNode","useModal","useOverlay","usePreventScroll","mergeProps","mergeRefs","useOverlayEscapeGuard","ModalContainmentProvider","useModalContainment","Overlay","ModalProps","TransitionState","WithCloseBehavior","Underlay","Props","OVERLAY_WRAPPER_STYLES","position","display","left","top","placeItems","boxSizing","width","height","pointerEvents","zIndex","transition","open","ModalWrapperElement","qa","styles","ModalElement","hide","exit","unmounted","transform","opacity","CubeModalProps","Omit","container","HTMLElement","onClose","action","type","shouldCloseOnInteractOutside","element","Element","Modal","props","ref","$","_c","children","otherProps","domRef","t0","overlayProps","rawOverlayProps","underlayProps","isOpen","containment","containmentRef","t1","t2","t3","t4","t5","ModalWrapperProps","placement","ModalWrapper","transitionState","isDisabled","modalProps","T0","T1","t6","t7","t8","t9","enter","entered","t10","t11","t12","_Modal","displayName","_c","Underlay","mergeRefs","Overlay","mergeProps"],"sources":["../../../../src/components/overlays/Modal/Modal.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, Styles, tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, ReactNode } from 'react';\nimport { useModal, useOverlay, usePreventScroll } from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react/mergeProps';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport {\n ModalContainmentProvider,\n useModalContainment,\n} from './modal-containment';\nimport { Overlay } from './Overlay';\nimport { ModalProps, TransitionState, WithCloseBehavior } from './types';\nimport { Underlay } from './Underlay';\n\nimport type { Props } from '../../../props';\n\nexport const OVERLAY_WRAPPER_STYLES: Styles = {\n position: 'fixed',\n display: 'grid',\n left: 0,\n top: 0,\n placeItems: {\n '': 'center',\n 'type=fullscreen': 'center',\n 'type=fullscreenTakeover | type=panel': 'stretch',\n },\n boxSizing: 'border-box',\n width: '100vw',\n height: '100dvh',\n pointerEvents: 'none',\n zIndex: 10,\n transition: {\n // steps(2, start) over twice the exit fade flips visibility to hidden\n // exactly when the $overlay-transition fade ends.\n '': 'visibility (2 * $overlay-transition) steps(2, start)',\n open: 'visibility 0s linear',\n },\n};\n\nconst ModalWrapperElement = tasty({\n qa: 'ModalWrapper',\n styles: OVERLAY_WRAPPER_STYLES,\n});\n\nconst ModalElement = tasty({\n styles: {\n display: 'grid',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n zIndex: 10,\n height: {\n '': 'max 90dvh',\n 'type=fullscreenTakeover | type=panel': '100dvh 100dvh',\n 'type=fullscreen': '(100dvh - 8x) (100dvh - 8x)',\n 'type=panel': 'auto',\n },\n width: {\n // The dialog limits its own width; a cap here would also clip a width\n // that sets its own max.\n '': '$min-dialog-size 100dvw',\n 'type=panel': 'auto',\n },\n pointerEvents: 'none',\n transition:\n 'opacity $overlay-transition linear, transform $overlay-transition ease-in-out',\n transform: {\n '': 'initial',\n 'type=modal & !open': 'translate(0, -3x) scale(1, 1)',\n '(type^=fullscreen | type=panel) & !open':\n 'translate(0, 0) scale(1.02, 1.02)',\n },\n opacity: {\n '': 0,\n open: 0.9999,\n },\n },\n});\n\nexport interface CubeModalProps\n extends\n Omit<ModalProps, 'container' | 'type' | 'nodeRef'>,\n WithCloseBehavior {\n container?: HTMLElement;\n qa?: BaseProps['qa'];\n onClose?: (action?: string) => void;\n type?: 'modal' | 'fullscreen' | 'fullscreenTakeover' | 'panel';\n styles?: Styles;\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\nfunction Modal(props: CubeModalProps, ref: ForwardedRef<HTMLElement>) {\n let { qa, children, onClose, type, styles, ...otherProps } = props;\n let domRef = useObjectRef(ref);\n\n let { overlayProps: rawOverlayProps, underlayProps } = useOverlay(\n { ...props },\n domRef,\n );\n\n // Focus can stay in a modal while it closes, after a press on it or a close\n // that restores focus nowhere; it must not answer for `Escape` meanwhile —\n // see `useOverlayEscapeGuard`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\n\n // A panel leaves the page readable; every other type hides it while open.\n const { containment, ref: containmentRef } = useModalContainment(\n type !== 'panel',\n !!props.isOpen,\n );\n\n return (\n <ModalContainmentProvider value={containment}>\n <Overlay {...otherProps}>\n {type !== 'fullscreenTakeover' && type !== 'panel' && (\n <Underlay {...underlayProps} />\n )}\n <ModalWrapper\n ref={mergeRefs(domRef, containmentRef)}\n qa={qa}\n type={type}\n overlayProps={overlayProps}\n styles={styles}\n onClose={onClose}\n >\n {children}\n </ModalWrapper>\n </Overlay>\n </ModalContainmentProvider>\n );\n}\n\ninterface ModalWrapperProps extends TransitionState {\n children?: ReactNode;\n qa?: BaseProps['qa'];\n isOpen?: boolean;\n type?: 'modal' | 'fullscreen' | 'fullscreenTakeover' | 'panel';\n placement?: 'top' | 'bottom';\n styles?: Styles;\n overlayProps?: Props;\n onClose?: () => void;\n}\n\nlet ModalWrapper = forwardRef(function ModalWrapper(\n props: ModalWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n isOpen,\n type,\n placement,\n styles,\n overlayProps,\n transitionState,\n ...otherProps\n } = props;\n\n usePreventScroll({ isDisabled: transitionState !== 'entered' });\n\n let { modalProps } = useModal({ isDisabled: transitionState !== 'entered' });\n\n return (\n <ModalWrapperElement data-type={type} data-placement={placement}>\n <ModalElement\n qa={qa || 'Modal'}\n styles={styles}\n mods={{\n open: isOpen,\n enter: transitionState === 'enter',\n exit: transitionState === 'exit',\n unmounted: transitionState === 'unmounted',\n entered: transitionState === 'entered',\n }}\n data-type={type}\n data-placement={placement}\n {...mergeProps(otherProps, overlayProps, modalProps)}\n ref={ref}\n >\n {children}\n </ModalElement>\n </ModalWrapperElement>\n );\n});\n\nlet _Modal = forwardRef(Modal);\n\n_Modal.displayName = 'Modal';\n\nexport { _Modal as Modal };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
  //#region src/components/overlays/Modal/OpenTransitionContext.tsx
4
4
  const OpenTransitionContext = createContext(null);
@@ -1 +1 @@
1
- {"version":3,"file":"OpenTransitionContext.js","names":["createContext","useContext","TransitionStatus","OpenTransitionContext","transitionState","useOpenTransitionContext"],"sources":["../../../../src/components/overlays/Modal/OpenTransitionContext.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nimport { TransitionStatus } from './types';\n\nconst OpenTransitionContext = createContext<{\n transitionState: TransitionStatus;\n} | null>(null);\n\nexport function useOpenTransitionContext() {\n return useContext(OpenTransitionContext);\n}\n\nexport { OpenTransitionContext };\n"],"mappings":";;;AAIA,MAAMG,wBAAwBH,cAEpB,IAAI;AAEd,SAAOK,2BAAA;CAAA,OACEJ,WAAWE,qBAAqB;AAAC"}
1
+ {"version":3,"file":"OpenTransitionContext.js","names":["createContext","useContext","TransitionStatus","OpenTransitionContext","transitionState","useOpenTransitionContext"],"sources":["../../../../src/components/overlays/Modal/OpenTransitionContext.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nimport type { TransitionStatus } from './types';\n\nconst OpenTransitionContext = createContext<{\n transitionState: TransitionStatus;\n} | null>(null);\n\nexport function useOpenTransitionContext() {\n return useContext(OpenTransitionContext);\n}\n\nexport { OpenTransitionContext };\n"],"mappings":";;;AAIA,MAAMG,wBAAwBH,cAEpB,IAAI;AAEd,SAAOK,2BAAA;CAAA,OACEJ,WAAWE,qBAAqB;AAAC"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { markFocusRestoreWindow } from "../../../utils/react/programmaticFocus.js";
3
3
  import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
4
4
  import { Provider, useProviderProps } from "../../../provider.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Overlay.js","names":["TastyBatchProvider","Children","cloneElement","forwardRef","ReactElement","ReactNode","useCallback","useLayoutEffect","useRef","useState","createPortal","Provider","useProviderProps","markFocusRestoreWindow","ButtonSplitContext","DisplayTransition","OpenTransitionContext","WithCloseBehavior","Props","ReportedPhase","CubeOverlayProps","children","isOpen","container","HTMLElement","onEnter","onEntering","onEntered","onExit","onExiting","onExited","MovableParent","moveBefore","node","Node","child","EXIT_DURATION","Overlay","props","ref","hideOnClose","exited","setExited","wasOpen","current","root","startRef","HTMLSpanElement","endRef","start","end","parent","parentElement","lastChild","offsetHeight","ChildNode","next","nextSibling","handlePhaseChange","phase","mountOverlay","contents","isShown","isExiting","transitionState","map","undefined","document","body","_Overlay","displayName"],"sources":["../../../../src/components/overlays/Modal/Overlay.tsx"],"sourcesContent":["import { TastyBatchProvider } from '@tenphi/tasty';\nimport {\n Children,\n cloneElement,\n forwardRef,\n ReactElement,\n ReactNode,\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { Provider, useProviderProps } from '../../../provider';\nimport { markFocusRestoreWindow } from '../../../utils/react/programmaticFocus';\nimport { ButtonSplitContext } from '../../actions/ButtonSplit/context';\nimport { DisplayTransition } from '../../helpers/DisplayTransition/DisplayTransition';\n\nimport { OpenTransitionContext } from './OpenTransitionContext';\nimport { WithCloseBehavior } from './types';\n\nimport type { Props } from '../../../props';\nimport type { ReportedPhase } from '../../helpers/DisplayTransition/DisplayTransition';\n\nexport interface CubeOverlayProps extends WithCloseBehavior {\n children?: ReactNode;\n isOpen?: boolean;\n container?: HTMLElement | null;\n onEnter?: () => void;\n onEntering?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExiting?: () => void;\n onExited?: () => void;\n}\n\n/** `Element.moveBefore`, which moves a node and keeps its state. */\ntype MovableParent = HTMLElement & {\n moveBefore?: (node: Node, child: Node | null) => void;\n};\n\n/** How long a closed overlay stays mounted while it plays its exit. */\nexport const EXIT_DURATION = 350;\n\nfunction Overlay(props: CubeOverlayProps, ref) {\n let {\n children,\n isOpen,\n container = null,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n hideOnClose = false,\n } = props;\n let [exited, setExited] = useState(!isOpen);\n\n if (isOpen && exited) {\n setExited(false);\n }\n\n // Our `FocusScope` restores focus to the trigger when it unmounts, from\n // inside React's own commit where nothing can wrap the call. The window has\n // to be open before that lands, or the restored trigger's tooltip opens and\n // eats the user's next `Escape` (CUB-4839).\n //\n // Keyed to `isOpen` closing rather than to the exit PHASE, because the phase\n // is not always reported: under reduced motion `DisplayTransition` collapses\n // its duration to zero, so `exit` and `unmounted` are set in one callback and\n // React batches the `exit` render — and its notification — away entirely.\n // Closing is the one signal that always arrives.\n const wasOpen = useRef(!!isOpen);\n\n if (wasOpen.current !== !!isOpen) {\n wasOpen.current = !!isOpen;\n\n if (!isOpen) markFocusRestoreWindow(EXIT_DURATION + 200);\n }\n\n let { root } = useProviderProps({} as Props);\n\n // A kept overlay mounts along with whatever renders it, and its nodes stay\n // where they were first inserted. One inside another overlay mounts in the\n // same commit and lands before it, so it would open behind it. Each open\n // moves its nodes last in the container, where a fresh mount lands. Only\n // where the browser can move nodes without resetting them: an append would\n // scroll kept content back to the top and reload its frames.\n const startRef = useRef<HTMLSpanElement>(null);\n const endRef = useRef<HTMLSpanElement>(null);\n\n useLayoutEffect(() => {\n const start = startRef.current;\n const end = endRef.current;\n const parent = start?.parentElement as MovableParent | null | undefined;\n\n if (!isOpen || !start || !end || !parent?.moveBefore) return;\n if (parent.lastChild === end) return;\n\n // Laid out first: content back from `display: none` gets its scroll\n // position back once it has a box again, and a move keeps what the box\n // holds. One forced reflow, once per open that moves.\n void parent.offsetHeight;\n\n for (let node: ChildNode | null = start; node;) {\n const next: ChildNode | null = node.nextSibling;\n\n parent.moveBefore(node, null);\n\n if (node === end) break;\n\n node = next;\n }\n }, [isOpen]);\n\n let handlePhaseChange = useCallback(\n (phase: ReportedPhase) => {\n switch (phase) {\n case 'enter':\n setExited(false);\n onEnter?.();\n onEntering?.();\n break;\n case 'entered':\n onEntered?.();\n break;\n case 'exit':\n onExit?.();\n onExiting?.();\n break;\n case 'unmounted':\n setExited(true);\n onExited?.();\n break;\n }\n },\n [onEnter, onEntering, onEntered, onExit, onExiting, onExited],\n );\n\n let mountOverlay = isOpen || !exited;\n\n if (!mountOverlay) {\n if (!hideOnClose) {\n return null;\n }\n }\n\n let contents = (\n <Provider ref={ref}>\n <DisplayTransition\n isShown={!!isOpen}\n exposeUnmounted={hideOnClose}\n duration={EXIT_DURATION}\n onPhaseChange={handlePhaseChange}\n >\n {({ phase, isShown, isExiting }) => {\n return (\n <OpenTransitionContext.Provider\n value={{ transitionState: phase as ReportedPhase }}\n >\n {Children.map(\n children,\n (child) =>\n child &&\n cloneElement(\n child as ReactElement,\n {\n isOpen: isShown,\n transitionState: phase,\n // A closed overlay leaves React Aria's stack of visible\n // overlays at once, but stays on screen, and clickable,\n // while it fades out. A press on it then counts as a\n // press outside whatever overlay is topmost again, so a\n // click on a fading list closed the Dialog under it\n // (CUB-5293). React Aria never treats a press inside a\n // top-layer element as outside.\n 'data-react-aria-top-layer': isExiting || undefined,\n } as any,\n ),\n )}\n </OpenTransitionContext.Provider>\n );\n }}\n </DisplayTransition>\n </Provider>\n );\n\n // Popover, Modal and Tray all portal through here, which makes this the\n // overlay path that matters most for batching: a dialog or menu mounts a\n // fresh subtree and react-aria positions it from a layout effect in the same\n // commit. `<Root>` does not re-render for those commits, so open a window\n // here — it flushes in `useInsertionEffect`, before any positioning effect\n // reads the DOM. Note this is a *raw* `createPortal`, not `<Portal>`, so the\n // window `<Portal>` opens does not reach these overlays.\n //\n // Overlays also leave the `ButtonSplit` that opened them here: its context\n // crosses the portal and would style every Button inside (CUB-5624). A split\n // rendered inside the overlay still provides its own.\n return createPortal(\n <TastyBatchProvider>\n <ButtonSplitContext.Provider value={null}>\n {hideOnClose && <span ref={startRef} hidden />}\n {contents}\n {hideOnClose && <span ref={endRef} hidden />}\n </ButtonSplitContext.Provider>\n </TastyBatchProvider>,\n container || root || document.body,\n );\n}\n\nlet _Overlay = forwardRef(Overlay);\n\n_Overlay.displayName = 'Overlay';\n\nexport { _Overlay as Overlay };\n"],"mappings":";;;;;;;;;;AA6CA,SAASqC,QAAQC,OAAyBC,KAAK;CAC7C,IAAI,EACFlB,UACAC,QACAC,YAAY,MACZE,SACAC,YACAC,WACAC,QACAC,WACAC,UACAU,cAAc,UACZF;CACJ,IAAI,CAACG,QAAQC,aAAajC,SAAS,CAACa,MAAM;CAE1C,IAAIA,UAAUmB,QACZC,UAAU,KAAK;CAajB,MAAMC,UAAUnC,OAAO,CAAC,CAACc,MAAM;CAE/B,IAAIqB,QAAQC,YAAY,CAAC,CAACtB,QAAQ;EAChCqB,QAAQC,UAAU,CAAC,CAACtB;EAEpB,IAAI,CAACA,QAAQT,uBAAuBuB,GAAmB;CACzD;CAEA,IAAI,EAAES,SAASjC,iBAAiB,CAAC,CAAU;CAQ3C,MAAMkC,WAAWtC,OAAwB,IAAI;CAC7C,MAAMwC,SAASxC,OAAwB,IAAI;CAE3CD,sBAAsB;EACpB,MAAM0C,QAAQH,SAASF;EACvB,MAAMM,MAAMF,OAAOJ;EACnB,MAAMO,SAASF,OAAOG;EAEtB,IAAI,CAAC9B,UAAU,CAAC2B,SAAS,CAACC,OAAO,CAACC,QAAQnB,YAAY;EACtD,IAAImB,OAAOE,cAAcH,KAAK;EAK9B,OAAYI;EAEZ,KAAK,IAAIrB,OAAyBgB,OAAOhB,OAAO;GAC9C,MAAMuB,OAAyBvB,KAAKwB;GAEpCN,OAAOnB,WAAWC,MAAM,IAAI;GAE5B,IAAIA,SAASiB,KAAK;GAElBjB,OAAOuB;EACT;CACF,GAAG,CAAClC,MAAM,CAAC;CAEX,IAAIoC,oBAAoBpD,aACrBqD,UAAyB;EACxB,QAAQA,OAAR;GACE,KAAK;IACHjB,UAAU,KAAK;IACfjB,UAAU;IACVC,aAAa;IACb;GACF,KAAK;IACHC,YAAY;IACZ;GACF,KAAK;IACHC,SAAS;IACTC,YAAY;IACZ;GACF,KAAK;IACHa,UAAU,IAAI;IACdZ,WAAW;EAEf;CACF,GACA;EAACL;EAASC;EAAYC;EAAWC;EAAQC;EAAWC;CAAQ,CAC9D;CAIA,IAAI,EAFeR,UAAU,CAACmB,SAGxB;MAAA,CAACD,aACH,OAAO;CAAA;CAIX,IAAIqB,WACF,oBAAC,UAAD;EAAetB;EACb,UAAA,oBAAC,mBAAD;GACE,SAAS,CAAC,CAACjB;GACX,iBAAiBkB;GACjB,UAAA;GACA,eAAekB;GAEb,WAAA,EAAEC,OAAAA,SAAOG,SAASC,gBAAgB;IAClC,OACE,oBAAC,sBAAsB,UAAvB;KACE,OAAO,EAAEC,iBAAiBL,QAAuB;KAEhD1D,UAAAA,SAASgE,IACR5C,WACCc,UACCA,SACAjC,aACEiC,OACA;MACEb,QAAQwC;MACRE,iBAAiBL;MAQjB,6BAA6BI,aAAaG,KAAAA;KAC5C,CACF,CACJ;IAC8B,CAAA;GAEpC;EACiB,CAAA;CACX,CAAA;CAcZ,OAAOxD,aACL,oBAAC,oBAAD,EAAA,UACE,qBAAC,mBAAmB,UAApB;EAA6B,OAAO;EAApC,UAAA;GACG8B,eAAe,oBAAC,QAAD;IAAM,KAAKM;IAAU,QAAA;GAAM,CAAA;GAC1Ce;GACArB,eAAe,oBAAC,QAAD;IAAM,KAAKQ;IAAQ,QAAA;GAAM,CAAA;EACd;CACX,CAAA,EAAA,CAAA,GACpBzB,aAAasB,QAAQsB,SAASC,IAChC;AACF;AAEA,IAAIC,WAAWlE,WAAWkC,OAAO;AAEjCgC,SAASC,cAAc"}
1
+ {"version":3,"file":"Overlay.js","names":["TastyBatchProvider","Children","cloneElement","forwardRef","ReactElement","ReactNode","useCallback","useLayoutEffect","useRef","useState","createPortal","Provider","useProviderProps","markFocusRestoreWindow","ButtonSplitContext","DisplayTransition","OpenTransitionContext","Props","ReportedPhase","WithCloseBehavior","CubeOverlayProps","children","isOpen","container","HTMLElement","onEnter","onEntering","onEntered","onExit","onExiting","onExited","MovableParent","moveBefore","node","Node","child","EXIT_DURATION","Overlay","props","ref","hideOnClose","exited","setExited","wasOpen","current","root","startRef","HTMLSpanElement","endRef","start","end","parent","parentElement","lastChild","offsetHeight","ChildNode","next","nextSibling","handlePhaseChange","phase","mountOverlay","contents","isShown","isExiting","transitionState","map","undefined","document","body","_Overlay","displayName"],"sources":["../../../../src/components/overlays/Modal/Overlay.tsx"],"sourcesContent":["import { TastyBatchProvider } from '@tenphi/tasty';\nimport {\n Children,\n cloneElement,\n forwardRef,\n ReactElement,\n ReactNode,\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { Provider, useProviderProps } from '../../../provider';\nimport { markFocusRestoreWindow } from '../../../utils/react/programmaticFocus';\nimport { ButtonSplitContext } from '../../actions/ButtonSplit/context';\nimport { DisplayTransition } from '../../helpers/DisplayTransition/DisplayTransition';\n\nimport { OpenTransitionContext } from './OpenTransitionContext';\n\nimport type { Props } from '../../../props';\nimport type { ReportedPhase } from '../../helpers/DisplayTransition/DisplayTransition';\nimport type { WithCloseBehavior } from './types';\n\nexport interface CubeOverlayProps extends WithCloseBehavior {\n children?: ReactNode;\n isOpen?: boolean;\n container?: HTMLElement | null;\n onEnter?: () => void;\n onEntering?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExiting?: () => void;\n onExited?: () => void;\n}\n\n/** `Element.moveBefore`, which moves a node and keeps its state. */\ntype MovableParent = HTMLElement & {\n moveBefore?: (node: Node, child: Node | null) => void;\n};\n\n/** How long a closed overlay stays mounted while it plays its exit. */\nexport const EXIT_DURATION = 350;\n\nfunction Overlay(props: CubeOverlayProps, ref) {\n let {\n children,\n isOpen,\n container = null,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n hideOnClose = false,\n } = props;\n let [exited, setExited] = useState(!isOpen);\n\n if (isOpen && exited) {\n setExited(false);\n }\n\n // Our `FocusScope` restores focus to the trigger when it unmounts, from\n // inside React's own commit where nothing can wrap the call. The window has\n // to be open before that lands, or the restored trigger's tooltip opens and\n // eats the user's next `Escape` (CUB-4839).\n //\n // Keyed to `isOpen` closing rather than to the exit PHASE, because the phase\n // is not always reported: under reduced motion `DisplayTransition` collapses\n // its duration to zero, so `exit` and `unmounted` are set in one callback and\n // React batches the `exit` render — and its notification — away entirely.\n // Closing is the one signal that always arrives.\n const wasOpen = useRef(!!isOpen);\n\n if (wasOpen.current !== !!isOpen) {\n wasOpen.current = !!isOpen;\n\n if (!isOpen) markFocusRestoreWindow(EXIT_DURATION + 200);\n }\n\n let { root } = useProviderProps({} as Props);\n\n // A kept overlay mounts along with whatever renders it, and its nodes stay\n // where they were first inserted. One inside another overlay mounts in the\n // same commit and lands before it, so it would open behind it. Each open\n // moves its nodes last in the container, where a fresh mount lands. Only\n // where the browser can move nodes without resetting them: an append would\n // scroll kept content back to the top and reload its frames.\n const startRef = useRef<HTMLSpanElement>(null);\n const endRef = useRef<HTMLSpanElement>(null);\n\n useLayoutEffect(() => {\n const start = startRef.current;\n const end = endRef.current;\n const parent = start?.parentElement as MovableParent | null | undefined;\n\n if (!isOpen || !start || !end || !parent?.moveBefore) return;\n if (parent.lastChild === end) return;\n\n // Laid out first: content back from `display: none` gets its scroll\n // position back once it has a box again, and a move keeps what the box\n // holds. One forced reflow, once per open that moves.\n void parent.offsetHeight;\n\n for (let node: ChildNode | null = start; node;) {\n const next: ChildNode | null = node.nextSibling;\n\n parent.moveBefore(node, null);\n\n if (node === end) break;\n\n node = next;\n }\n }, [isOpen]);\n\n let handlePhaseChange = useCallback(\n (phase: ReportedPhase) => {\n switch (phase) {\n case 'enter':\n setExited(false);\n onEnter?.();\n onEntering?.();\n break;\n case 'entered':\n onEntered?.();\n break;\n case 'exit':\n onExit?.();\n onExiting?.();\n break;\n case 'unmounted':\n setExited(true);\n onExited?.();\n break;\n }\n },\n [onEnter, onEntering, onEntered, onExit, onExiting, onExited],\n );\n\n let mountOverlay = isOpen || !exited;\n\n if (!mountOverlay) {\n if (!hideOnClose) {\n return null;\n }\n }\n\n let contents = (\n <Provider ref={ref}>\n <DisplayTransition\n isShown={!!isOpen}\n exposeUnmounted={hideOnClose}\n duration={EXIT_DURATION}\n onPhaseChange={handlePhaseChange}\n >\n {({ phase, isShown, isExiting }) => {\n return (\n <OpenTransitionContext.Provider\n value={{ transitionState: phase as ReportedPhase }}\n >\n {Children.map(\n children,\n (child) =>\n child &&\n cloneElement(\n child as ReactElement,\n {\n isOpen: isShown,\n transitionState: phase,\n // A closed overlay leaves React Aria's stack of visible\n // overlays at once, but stays on screen, and clickable,\n // while it fades out. A press on it then counts as a\n // press outside whatever overlay is topmost again, so a\n // click on a fading list closed the Dialog under it\n // (CUB-5293). React Aria never treats a press inside a\n // top-layer element as outside.\n 'data-react-aria-top-layer': isExiting || undefined,\n } as any,\n ),\n )}\n </OpenTransitionContext.Provider>\n );\n }}\n </DisplayTransition>\n </Provider>\n );\n\n // Popover, Modal and Tray all portal through here, which makes this the\n // overlay path that matters most for batching: a dialog or menu mounts a\n // fresh subtree and react-aria positions it from a layout effect in the same\n // commit. `<Root>` does not re-render for those commits, so open a window\n // here — it flushes in `useInsertionEffect`, before any positioning effect\n // reads the DOM. Note this is a *raw* `createPortal`, not `<Portal>`, so the\n // window `<Portal>` opens does not reach these overlays.\n //\n // Overlays also leave the `ButtonSplit` that opened them here: its context\n // crosses the portal and would style every Button inside (CUB-5624). A split\n // rendered inside the overlay still provides its own.\n return createPortal(\n <TastyBatchProvider>\n <ButtonSplitContext.Provider value={null}>\n {hideOnClose && <span ref={startRef} hidden />}\n {contents}\n {hideOnClose && <span ref={endRef} hidden />}\n </ButtonSplitContext.Provider>\n </TastyBatchProvider>,\n container || root || document.body,\n );\n}\n\nlet _Overlay = forwardRef(Overlay);\n\n_Overlay.displayName = 'Overlay';\n\nexport { _Overlay as Overlay };\n"],"mappings":";;;;;;;;;;AA6CA,SAASqC,QAAQC,OAAyBC,KAAK;CAC7C,IAAI,EACFlB,UACAC,QACAC,YAAY,MACZE,SACAC,YACAC,WACAC,QACAC,WACAC,UACAU,cAAc,UACZF;CACJ,IAAI,CAACG,QAAQC,aAAajC,SAAS,CAACa,MAAM;CAE1C,IAAIA,UAAUmB,QACZC,UAAU,KAAK;CAajB,MAAMC,UAAUnC,OAAO,CAAC,CAACc,MAAM;CAE/B,IAAIqB,QAAQC,YAAY,CAAC,CAACtB,QAAQ;EAChCqB,QAAQC,UAAU,CAAC,CAACtB;EAEpB,IAAI,CAACA,QAAQT,uBAAuBuB,GAAmB;CACzD;CAEA,IAAI,EAAES,SAASjC,iBAAiB,CAAC,CAAU;CAQ3C,MAAMkC,WAAWtC,OAAwB,IAAI;CAC7C,MAAMwC,SAASxC,OAAwB,IAAI;CAE3CD,sBAAsB;EACpB,MAAM0C,QAAQH,SAASF;EACvB,MAAMM,MAAMF,OAAOJ;EACnB,MAAMO,SAASF,OAAOG;EAEtB,IAAI,CAAC9B,UAAU,CAAC2B,SAAS,CAACC,OAAO,CAACC,QAAQnB,YAAY;EACtD,IAAImB,OAAOE,cAAcH,KAAK;EAK9B,OAAYI;EAEZ,KAAK,IAAIrB,OAAyBgB,OAAOhB,OAAO;GAC9C,MAAMuB,OAAyBvB,KAAKwB;GAEpCN,OAAOnB,WAAWC,MAAM,IAAI;GAE5B,IAAIA,SAASiB,KAAK;GAElBjB,OAAOuB;EACT;CACF,GAAG,CAAClC,MAAM,CAAC;CAEX,IAAIoC,oBAAoBpD,aACrBqD,UAAyB;EACxB,QAAQA,OAAR;GACE,KAAK;IACHjB,UAAU,KAAK;IACfjB,UAAU;IACVC,aAAa;IACb;GACF,KAAK;IACHC,YAAY;IACZ;GACF,KAAK;IACHC,SAAS;IACTC,YAAY;IACZ;GACF,KAAK;IACHa,UAAU,IAAI;IACdZ,WAAW;EAEf;CACF,GACA;EAACL;EAASC;EAAYC;EAAWC;EAAQC;EAAWC;CAAQ,CAC9D;CAIA,IAAI,EAFeR,UAAU,CAACmB,SAGxB;MAAA,CAACD,aACH,OAAO;CAAA;CAIX,IAAIqB,WACF,oBAAC,UAAD;EAAetB;EACb,UAAA,oBAAC,mBAAD;GACE,SAAS,CAAC,CAACjB;GACX,iBAAiBkB;GACjB,UAAA;GACA,eAAekB;GAEb,WAAA,EAAEC,OAAAA,SAAOG,SAASC,gBAAgB;IAClC,OACE,oBAAC,sBAAsB,UAAvB;KACE,OAAO,EAAEC,iBAAiBL,QAAuB;KAEhD1D,UAAAA,SAASgE,IACR5C,WACCc,UACCA,SACAjC,aACEiC,OACA;MACEb,QAAQwC;MACRE,iBAAiBL;MAQjB,6BAA6BI,aAAaG,KAAAA;KAC5C,CACF,CACJ;IAC8B,CAAA;GAEpC;EACiB,CAAA;CACX,CAAA;CAcZ,OAAOxD,aACL,oBAAC,oBAAD,EAAA,UACE,qBAAC,mBAAmB,UAApB;EAA6B,OAAO;EAApC,UAAA;GACG8B,eAAe,oBAAC,QAAD;IAAM,KAAKM;IAAU,QAAA;GAAM,CAAA;GAC1Ce;GACArB,eAAe,oBAAC,QAAD;IAAM,KAAKQ;IAAQ,QAAA;GAAM,CAAA;EACd;CACX,CAAA,EAAA,CAAA,GACpBzB,aAAasB,QAAQsB,SAASC,IAChC;AACF;AAEA,IAAIC,WAAWlE,WAAWkC,OAAO;AAEjCgC,SAASC,cAAc"}
@@ -1,9 +1,9 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { mergeRefs as mergeRefs$1 } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { useModalLayerRef } from "./modal-containment.js";
5
- import { useOverlayEscapeGuard } from "../../../utils/react/useOverlayEscapeGuard.js";
6
5
  import { Overlay as _Overlay } from "./Overlay.js";
6
+ import { useOverlayEscapeGuard } from "../../../utils/react/useOverlayEscapeGuard.js";
7
7
  import { c } from "react/compiler-runtime";
8
8
  import { tasty } from "@tenphi/tasty";
9
9
  import { forwardRef } from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","names":["useObjectRef","BaseProps","tasty","ForwardedRef","forwardRef","HTMLAttributes","AriaOverlayProps","useModal","useOverlay","PlacementAxis","mergeProps","mergeRefs","useOverlayEscapeGuard","useModalLayerRef","CubeOverlayProps","Overlay","TransitionState","Props","PopoverElement","role","styles","display","hide","exit","unmounted","pointerEvents","position","transition","transform","open","opacity","transformOrigin","CubePopoverProps","container","HTMLElement","placement","arrowProps","hideArrow","isOpen","onClose","shouldCloseOnBlur","isNonModal","isDismissable","shouldCloseOnInteractOutside","element","Element","Popover","props","ref","$","_c","children","otherProps","qa","style","t0","undefined","domRef","t1","t2","overlayProps","rawOverlayProps","layerRef","t3","t4","t5","PopoverWrapperProps","Omit","PopoverWrapper","transitionState","isDisabled","modalProps","T0","t6","t7","t8","t9","enter","entered","t10","_Popover","displayName","_c","mergeRefs","Overlay","mergeProps"],"sources":["../../../../src/components/overlays/Modal/Popover.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, HTMLAttributes } from 'react';\nimport { AriaOverlayProps, useModal, useOverlay } from 'react-aria';\n\nimport { PlacementAxis } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport { useModalLayerRef } from './modal-containment';\nimport { CubeOverlayProps, Overlay } from './Overlay';\nimport { TransitionState } from './types';\n\nimport type { Props } from '../../../props';\n\nconst PopoverElement = tasty({\n role: 'presentation',\n styles: {\n display: 'initial',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n pointerEvents: 'auto',\n position: 'absolute',\n transition:\n 'opacity $disclosure-transition linear, visibility 0ms linear, transform $disclosure-transition ease-in-out',\n transform: {\n '': 'scale(1, .9)',\n open: 'initial',\n },\n opacity: {\n '': 0,\n open: '.9999',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n },\n },\n});\n\nexport interface CubePopoverProps\n extends BaseProps, AriaOverlayProps, CubeOverlayProps, TransitionState {\n container?: HTMLElement;\n placement?: PlacementAxis;\n arrowProps?: HTMLAttributes<HTMLElement>;\n /** @deprecated Has no effect: the popover renders no arrow. */\n hideArrow?: boolean;\n isOpen?: boolean;\n onClose?: () => void;\n shouldCloseOnBlur?: boolean;\n isNonModal?: boolean;\n isDismissable?: boolean;\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\nfunction Popover(props: CubePopoverProps, ref: ForwardedRef<HTMLElement>) {\n let {\n qa,\n style,\n styles,\n children,\n placement,\n arrowProps,\n isNonModal,\n isDismissable = true,\n ...otherProps\n } = props;\n\n let domRef = useObjectRef(ref);\n\n // `useOverlay` has to run here rather than inside `PopoverWrapper`, on the\n // *logical* open state — `Overlay` hands its child an `isOpen` that only\n // turns true once the enter animation has settled. Registering the overlay\n // that late leaves it out of React Aria's visible-overlay stack for the first\n // frames, and `Escape` silently does nothing until the popover finishes\n // animating in. `Modal` and `Tray` call it from the same place for the same\n // reason.\n let { overlayProps: rawOverlayProps } = useOverlay(\n { ...props, isDismissable: isDismissable && props.isOpen },\n domRef,\n );\n\n // ...and a popover that has already closed must not answer for `Escape`\n // while it animates out — see `useOverlayEscapeGuard`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\n\n // Opened inside a modal, it stays readable while the modal hides the page.\n const layerRef = useModalLayerRef();\n\n return (\n <Overlay {...otherProps}>\n <PopoverWrapper\n ref={mergeRefs(domRef, layerRef)}\n qa={qa}\n // oxlint-disable-next-line tasty/no-style-prop -- forwards the consumer's public `style` prop, which carries the overlay position\n style={style}\n styles={styles}\n placement={placement}\n arrowProps={arrowProps}\n isNonModal={isNonModal}\n overlayProps={overlayProps}\n >\n {children}\n </PopoverWrapper>\n </Overlay>\n );\n}\n\ninterface PopoverWrapperProps\n extends Omit<CubePopoverProps, 'isDismissable'>, TransitionState {\n overlayProps?: Props;\n}\n\nconst PopoverWrapper = forwardRef(function PopoverWrapper(\n props: PopoverWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n placement = 'bottom',\n arrowProps,\n // `isOpen` here is the transition's settled state, not the trigger's — it\n // drives the enter/exit styles only.\n isOpen,\n style,\n styles,\n isNonModal,\n transitionState,\n overlayProps,\n ...otherProps\n } = props;\n let { modalProps } = useModal({\n isDisabled: isNonModal,\n });\n\n return (\n <PopoverElement\n qa={qa || 'Popover'}\n data-overlay-layer=\"\"\n {...mergeProps(otherProps, overlayProps, modalProps)}\n ref={ref}\n styles={styles}\n mods={{\n open: isOpen,\n enter: transitionState === 'enter',\n exit: transitionState === 'exit',\n unmounted: transitionState === 'unmounted',\n entered: transitionState === 'entered',\n }}\n data-placement={placement}\n // oxlint-disable-next-line tasty/no-style-prop -- forwards the consumer's public `style` prop, which carries the overlay position\n style={style}\n >\n {children}\n </PopoverElement>\n );\n});\n\nconst _Popover = forwardRef(Popover);\n\n_Popover.displayName = 'Popover';\n\nexport { _Popover as Popover };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","names":["useObjectRef","BaseProps","tasty","ForwardedRef","forwardRef","HTMLAttributes","AriaOverlayProps","useModal","useOverlay","mergeProps","mergeRefs","useOverlayEscapeGuard","useModalLayerRef","CubeOverlayProps","Overlay","TransitionState","Props","PlacementAxis","PopoverElement","role","styles","display","hide","exit","unmounted","pointerEvents","position","transition","transform","open","opacity","transformOrigin","CubePopoverProps","container","HTMLElement","placement","arrowProps","hideArrow","isOpen","onClose","shouldCloseOnBlur","isNonModal","isDismissable","shouldCloseOnInteractOutside","element","Element","Popover","props","ref","$","_c","children","otherProps","qa","style","t0","undefined","domRef","t1","t2","overlayProps","rawOverlayProps","layerRef","t3","t4","t5","PopoverWrapperProps","Omit","PopoverWrapper","transitionState","isDisabled","modalProps","T0","t6","t7","t8","t9","enter","entered","t10","_Popover","displayName","_c","mergeRefs","Overlay","mergeProps"],"sources":["../../../../src/components/overlays/Modal/Popover.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, HTMLAttributes } from 'react';\nimport { AriaOverlayProps, useModal, useOverlay } from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react/mergeProps';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport { useModalLayerRef } from './modal-containment';\nimport { CubeOverlayProps, Overlay } from './Overlay';\nimport { TransitionState } from './types';\n\nimport type { Props } from '../../../props';\nimport type { PlacementAxis } from '../../../shared';\n\nconst PopoverElement = tasty({\n role: 'presentation',\n styles: {\n display: 'initial',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n pointerEvents: 'auto',\n position: 'absolute',\n transition:\n 'opacity $disclosure-transition linear, visibility 0ms linear, transform $disclosure-transition ease-in-out',\n transform: {\n '': 'scale(1, .9)',\n open: 'initial',\n },\n opacity: {\n '': 0,\n open: '.9999',\n },\n transformOrigin: {\n '': 'top center',\n '[data-placement=\"top\"]': 'bottom center',\n },\n },\n});\n\nexport interface CubePopoverProps\n extends BaseProps, AriaOverlayProps, CubeOverlayProps, TransitionState {\n container?: HTMLElement;\n placement?: PlacementAxis;\n arrowProps?: HTMLAttributes<HTMLElement>;\n /** @deprecated Has no effect: the popover renders no arrow. */\n hideArrow?: boolean;\n isOpen?: boolean;\n onClose?: () => void;\n shouldCloseOnBlur?: boolean;\n isNonModal?: boolean;\n isDismissable?: boolean;\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\nfunction Popover(props: CubePopoverProps, ref: ForwardedRef<HTMLElement>) {\n let {\n qa,\n style,\n styles,\n children,\n placement,\n arrowProps,\n isNonModal,\n isDismissable = true,\n ...otherProps\n } = props;\n\n let domRef = useObjectRef(ref);\n\n // `useOverlay` has to run here rather than inside `PopoverWrapper`, on the\n // *logical* open state — `Overlay` hands its child an `isOpen` that only\n // turns true once the enter animation has settled. Registering the overlay\n // that late leaves it out of React Aria's visible-overlay stack for the first\n // frames, and `Escape` silently does nothing until the popover finishes\n // animating in. `Modal` and `Tray` call it from the same place for the same\n // reason.\n let { overlayProps: rawOverlayProps } = useOverlay(\n { ...props, isDismissable: isDismissable && props.isOpen },\n domRef,\n );\n\n // ...and a popover that has already closed must not answer for `Escape`\n // while it animates out — see `useOverlayEscapeGuard`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\n\n // Opened inside a modal, it stays readable while the modal hides the page.\n const layerRef = useModalLayerRef();\n\n return (\n <Overlay {...otherProps}>\n <PopoverWrapper\n ref={mergeRefs(domRef, layerRef)}\n qa={qa}\n // oxlint-disable-next-line tasty/no-style-prop -- forwards the consumer's public `style` prop, which carries the overlay position\n style={style}\n styles={styles}\n placement={placement}\n arrowProps={arrowProps}\n isNonModal={isNonModal}\n overlayProps={overlayProps}\n >\n {children}\n </PopoverWrapper>\n </Overlay>\n );\n}\n\ninterface PopoverWrapperProps\n extends Omit<CubePopoverProps, 'isDismissable'>, TransitionState {\n overlayProps?: Props;\n}\n\nconst PopoverWrapper = forwardRef(function PopoverWrapper(\n props: PopoverWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n placement = 'bottom',\n arrowProps,\n // `isOpen` here is the transition's settled state, not the trigger's — it\n // drives the enter/exit styles only.\n isOpen,\n style,\n styles,\n isNonModal,\n transitionState,\n overlayProps,\n ...otherProps\n } = props;\n let { modalProps } = useModal({\n isDisabled: isNonModal,\n });\n\n return (\n <PopoverElement\n qa={qa || 'Popover'}\n data-overlay-layer=\"\"\n {...mergeProps(otherProps, overlayProps, modalProps)}\n ref={ref}\n styles={styles}\n mods={{\n open: isOpen,\n enter: transitionState === 'enter',\n exit: transitionState === 'exit',\n unmounted: transitionState === 'unmounted',\n entered: transitionState === 'entered',\n }}\n data-placement={placement}\n // oxlint-disable-next-line tasty/no-style-prop -- forwards the consumer's public `style` prop, which carries the overlay position\n style={style}\n >\n {children}\n </PopoverElement>\n );\n});\n\nconst _Popover = forwardRef(Popover);\n\n_Popover.displayName = 'Popover';\n\nexport { _Popover as Popover };\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { mergeRefs as mergeRefs$1 } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { ModalContainmentProvider, useModalContainment } from "./modal-containment.js";
5
- import { useOverlayEscapeGuard } from "../../../utils/react/useOverlayEscapeGuard.js";
6
5
  import { Overlay as _Overlay } from "./Overlay.js";
6
+ import { useOverlayEscapeGuard } from "../../../utils/react/useOverlayEscapeGuard.js";
7
7
  import { Underlay as _Underlay } from "./Underlay.js";
8
8
  import { OVERLAY_WRAPPER_STYLES } from "./Modal.js";
9
9
  import { c } from "react/compiler-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"Tray.js","names":["useObjectRef","BaseProps","mergeStyles","Styles","tasty","ForwardedRef","forwardRef","ReactNode","AriaOverlayProps","useModal","useOverlay","usePreventScroll","mergeProps","mergeRefs","useOverlayEscapeGuard","OVERLAY_WRAPPER_STYLES","ModalContainmentProvider","useModalContainment","CubeOverlayProps","Overlay","TransitionState","Underlay","Props","TrayWrapperElement","qa","styles","placeContent","placeItems","TrayElement","display","hide","exit","unmounted","zIndex","height","width","pointerEvents","transition","opacity","open","CubeTrayProps","container","HTMLElement","onClose","action","isFixedHeight","isNonModal","children","isKeyboardDismissDisabled","isOpen","onOpenChange","defaultOpen","shouldCloseOnInteractOutside","element","Element","CubeTrayWrapperProps","overlayProps","Tray","props","ref","$","_c","otherProps","domRef","t0","isDismissable","rawOverlayProps","underlayProps","containment","containmentRef","t1","t2","t3","t4","t5","TrayWrapper","transitionState","isDisabled","modalProps","domProps","t6","t7","t8","t9","t10","enter","entered","t11","t12","_Tray","displayName","_c","Underlay","mergeRefs","Overlay","mergeProps"],"sources":["../../../../src/components/overlays/Modal/Tray.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, mergeStyles, Styles, tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, ReactNode } from 'react';\nimport {\n AriaOverlayProps,\n useModal,\n useOverlay,\n usePreventScroll,\n} from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport { OVERLAY_WRAPPER_STYLES } from './Modal';\nimport {\n ModalContainmentProvider,\n useModalContainment,\n} from './modal-containment';\nimport { CubeOverlayProps, Overlay } from './Overlay';\nimport { TransitionState } from './types';\nimport { Underlay } from './Underlay';\n\nimport type { Props } from '../../../props';\n\nconst TrayWrapperElement = tasty({\n qa: 'TrayWrapper',\n styles: mergeStyles(OVERLAY_WRAPPER_STYLES, {\n placeContent: 'end center',\n placeItems: 'end center',\n }),\n});\n\nconst TrayElement = tasty({\n styles: {\n display: 'initial',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n zIndex: 10,\n height: 'max 90dvh',\n width: '$min-dialog-size 90vw',\n pointerEvents: 'auto',\n transition:\n 'transform $overlay-transition ease-in-out, opacity $overlay-transition linear, visibility 0ms linear',\n opacity: {\n '': 0,\n open: '.9999',\n },\n },\n});\n\nexport interface CubeTrayProps extends AriaOverlayProps, CubeOverlayProps {\n container?: HTMLElement;\n qa?: BaseProps['qa'];\n onClose?: (action?: string) => void;\n isFixedHeight?: boolean;\n isNonModal?: boolean;\n styles?: Styles;\n children?: ReactNode;\n isKeyboardDismissDisabled?: boolean;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n /**\n * Predicate that decides whether the overlay should close in response to an\n * interaction outside of it. When the function returns `false`, react-aria's\n * `useOverlay` no longer calls `stopPropagation`/`preventDefault` on the\n * outside event, which lets sibling triggers receive the click.\n */\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\ninterface CubeTrayWrapperProps extends CubeTrayProps, TransitionState {\n isOpen?: boolean;\n overlayProps?: Props;\n}\n\nfunction Tray(props: CubeTrayProps, ref: ForwardedRef<HTMLElement>) {\n let {\n qa,\n children,\n onClose,\n isFixedHeight,\n isNonModal,\n styles,\n shouldCloseOnInteractOutside,\n ...otherProps\n } = props;\n let domRef = useObjectRef(ref);\n\n let { overlayProps: rawOverlayProps, underlayProps } = useOverlay(\n { ...props, isDismissable: true, shouldCloseOnInteractOutside },\n domRef,\n );\n\n // Same as `Modal`: a tray pressed while it closes must not take `Escape`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\n\n // Same as `Modal`: the page behind an open tray is hidden.\n const { containment, ref: containmentRef } = useModalContainment(\n !isNonModal,\n !!props.isOpen,\n );\n\n return (\n <ModalContainmentProvider value={containment}>\n <Overlay {...otherProps}>\n <Underlay {...underlayProps} />\n <TrayWrapper\n ref={mergeRefs(domRef, containmentRef)}\n qa={qa}\n overlayProps={overlayProps}\n isFixedHeight={isFixedHeight}\n isNonModal={isNonModal}\n styles={styles}\n onClose={onClose}\n >\n {children}\n </TrayWrapper>\n </Overlay>\n </ModalContainmentProvider>\n );\n}\n\nlet TrayWrapper = forwardRef(function TrayWrapper(\n props: CubeTrayWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n isOpen,\n styles,\n isFixedHeight,\n isNonModal,\n overlayProps,\n transitionState,\n ...otherProps\n } = props;\n usePreventScroll({ isDisabled: transitionState === 'unmounted' });\n let { modalProps } = useModal({\n isDisabled: isNonModal || transitionState === 'unmounted',\n });\n\n let domProps = mergeProps(otherProps, overlayProps);\n\n return (\n <TrayWrapperElement\n mods={{\n open: isOpen,\n }}\n >\n <TrayElement\n qa={qa || 'Tray'}\n data-overlay-layer=\"\"\n styles={styles}\n mods={{\n open: isOpen,\n enter: transitionState === 'enter',\n exit: transitionState === 'exit',\n unmounted: transitionState === 'unmounted',\n entered: transitionState === 'entered',\n 'fixed-height': isFixedHeight,\n }}\n {...domProps}\n {...modalProps}\n ref={ref}\n >\n {children}\n </TrayElement>\n </TrayWrapperElement>\n );\n});\n\nlet _Tray = forwardRef(Tray);\n\n_Tray.displayName = 'Tray';\n\nexport { _Tray as Tray };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Tray.js","names":["useObjectRef","BaseProps","mergeStyles","Styles","tasty","ForwardedRef","forwardRef","ReactNode","AriaOverlayProps","useModal","useOverlay","usePreventScroll","mergeProps","mergeRefs","useOverlayEscapeGuard","OVERLAY_WRAPPER_STYLES","ModalContainmentProvider","useModalContainment","CubeOverlayProps","Overlay","TransitionState","Underlay","Props","TrayWrapperElement","qa","styles","placeContent","placeItems","TrayElement","display","hide","exit","unmounted","zIndex","height","width","pointerEvents","transition","opacity","open","CubeTrayProps","container","HTMLElement","onClose","action","isFixedHeight","isNonModal","children","isKeyboardDismissDisabled","isOpen","onOpenChange","defaultOpen","shouldCloseOnInteractOutside","element","Element","CubeTrayWrapperProps","overlayProps","Tray","props","ref","$","_c","otherProps","domRef","t0","isDismissable","rawOverlayProps","underlayProps","containment","containmentRef","t1","t2","t3","t4","t5","TrayWrapper","transitionState","isDisabled","modalProps","domProps","t6","t7","t8","t9","t10","enter","entered","t11","t12","_Tray","displayName","_c","Underlay","mergeRefs","Overlay","mergeProps"],"sources":["../../../../src/components/overlays/Modal/Tray.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, mergeStyles, Styles, tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, ReactNode } from 'react';\nimport {\n AriaOverlayProps,\n useModal,\n useOverlay,\n usePreventScroll,\n} from 'react-aria';\n\nimport { mergeProps } from '../../../utils/react/mergeProps';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { useOverlayEscapeGuard } from '../../../utils/react/useOverlayEscapeGuard';\n\nimport { OVERLAY_WRAPPER_STYLES } from './Modal';\nimport {\n ModalContainmentProvider,\n useModalContainment,\n} from './modal-containment';\nimport { CubeOverlayProps, Overlay } from './Overlay';\nimport { TransitionState } from './types';\nimport { Underlay } from './Underlay';\n\nimport type { Props } from '../../../props';\n\nconst TrayWrapperElement = tasty({\n qa: 'TrayWrapper',\n styles: mergeStyles(OVERLAY_WRAPPER_STYLES, {\n placeContent: 'end center',\n placeItems: 'end center',\n }),\n});\n\nconst TrayElement = tasty({\n styles: {\n display: 'initial',\n hide: {\n '': true,\n 'enter | entered': false,\n exit: false,\n unmounted: true,\n },\n zIndex: 10,\n height: 'max 90dvh',\n width: '$min-dialog-size 90vw',\n pointerEvents: 'auto',\n transition:\n 'transform $overlay-transition ease-in-out, opacity $overlay-transition linear, visibility 0ms linear',\n opacity: {\n '': 0,\n open: '.9999',\n },\n },\n});\n\nexport interface CubeTrayProps extends AriaOverlayProps, CubeOverlayProps {\n container?: HTMLElement;\n qa?: BaseProps['qa'];\n onClose?: (action?: string) => void;\n isFixedHeight?: boolean;\n isNonModal?: boolean;\n styles?: Styles;\n children?: ReactNode;\n isKeyboardDismissDisabled?: boolean;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n /**\n * Predicate that decides whether the overlay should close in response to an\n * interaction outside of it. When the function returns `false`, react-aria's\n * `useOverlay` no longer calls `stopPropagation`/`preventDefault` on the\n * outside event, which lets sibling triggers receive the click.\n */\n shouldCloseOnInteractOutside?: (element: Element) => boolean;\n}\n\ninterface CubeTrayWrapperProps extends CubeTrayProps, TransitionState {\n isOpen?: boolean;\n overlayProps?: Props;\n}\n\nfunction Tray(props: CubeTrayProps, ref: ForwardedRef<HTMLElement>) {\n let {\n qa,\n children,\n onClose,\n isFixedHeight,\n isNonModal,\n styles,\n shouldCloseOnInteractOutside,\n ...otherProps\n } = props;\n let domRef = useObjectRef(ref);\n\n let { overlayProps: rawOverlayProps, underlayProps } = useOverlay(\n { ...props, isDismissable: true, shouldCloseOnInteractOutside },\n domRef,\n );\n\n // Same as `Modal`: a tray pressed while it closes must not take `Escape`.\n const overlayProps = useOverlayEscapeGuard(rawOverlayProps, props.isOpen);\n\n // Same as `Modal`: the page behind an open tray is hidden.\n const { containment, ref: containmentRef } = useModalContainment(\n !isNonModal,\n !!props.isOpen,\n );\n\n return (\n <ModalContainmentProvider value={containment}>\n <Overlay {...otherProps}>\n <Underlay {...underlayProps} />\n <TrayWrapper\n ref={mergeRefs(domRef, containmentRef)}\n qa={qa}\n overlayProps={overlayProps}\n isFixedHeight={isFixedHeight}\n isNonModal={isNonModal}\n styles={styles}\n onClose={onClose}\n >\n {children}\n </TrayWrapper>\n </Overlay>\n </ModalContainmentProvider>\n );\n}\n\nlet TrayWrapper = forwardRef(function TrayWrapper(\n props: CubeTrayWrapperProps,\n ref,\n) {\n let {\n qa,\n children,\n isOpen,\n styles,\n isFixedHeight,\n isNonModal,\n overlayProps,\n transitionState,\n ...otherProps\n } = props;\n usePreventScroll({ isDisabled: transitionState === 'unmounted' });\n let { modalProps } = useModal({\n isDisabled: isNonModal || transitionState === 'unmounted',\n });\n\n let domProps = mergeProps(otherProps, overlayProps);\n\n return (\n <TrayWrapperElement\n mods={{\n open: isOpen,\n }}\n >\n <TrayElement\n qa={qa || 'Tray'}\n data-overlay-layer=\"\"\n styles={styles}\n mods={{\n open: isOpen,\n enter: transitionState === 'enter',\n exit: transitionState === 'exit',\n unmounted: transitionState === 'unmounted',\n entered: transitionState === 'entered',\n 'fixed-height': isFixedHeight,\n }}\n {...domProps}\n {...modalProps}\n ref={ref}\n >\n {children}\n </TrayElement>\n </TrayWrapperElement>\n );\n});\n\nlet _Tray = forwardRef(Tray);\n\n_Tray.displayName = 'Tray';\n\nexport { _Tray as Tray };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { createContext, useContext, useLayoutEffect, useRef, useState } from "react";
4
4
  import { ariaHideOutside } from "react-aria/private/overlays/ariaHideOutside";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { useNotificationContext } from "./NotificationContext.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useEffect, useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.207.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
4
4
  import { c } from "react/compiler-runtime";