@cube-dev/ui-kit 0.204.0 → 0.206.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 (642) hide show
  1. package/dist/CHANGELOG.md +36 -0
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +1 -1
  16. package/dist/components/Root.js.map +1 -1
  17. package/dist/components/actions/Action/Action.js +1 -1
  18. package/dist/components/actions/Banner/Banner.js +1 -1
  19. package/dist/components/actions/Button/Button.js +1 -1
  20. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  21. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  22. package/dist/components/actions/ButtonSplit/context.js +1 -1
  23. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  24. package/dist/components/actions/CommandMenu/styled.js +1 -1
  25. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  26. package/dist/components/actions/ItemActionContext.js +1 -1
  27. package/dist/components/actions/ItemActionsWrapper.js +221 -132
  28. package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
  29. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  30. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  31. package/dist/components/actions/Link/Link.js +1 -1
  32. package/dist/components/actions/Menu/Menu.js +1 -1
  33. package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
  34. package/dist/components/actions/Menu/MenuItem.js +1 -1
  35. package/dist/components/actions/Menu/MenuSection.js +1 -1
  36. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  37. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  38. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  39. package/dist/components/actions/Menu/context.js +1 -1
  40. package/dist/components/actions/Menu/styled.js +1 -1
  41. package/dist/components/actions/actions-run.js +1 -1
  42. package/dist/components/actions/index.js +1 -1
  43. package/dist/components/actions/use-action.js +1 -1
  44. package/dist/components/actions/use-anchored-menu.js +1 -1
  45. package/dist/components/actions/use-context-menu.js +1 -1
  46. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  47. package/dist/components/content/Alert/Alert.js +1 -1
  48. package/dist/components/content/Alert/use-alert.js +1 -1
  49. package/dist/components/content/Avatar/Avatar.js +1 -1
  50. package/dist/components/content/Badge/Badge.js +1 -1
  51. package/dist/components/content/Card/Card.js +1 -1
  52. package/dist/components/content/Content.js +1 -1
  53. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  54. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  55. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  56. package/dist/components/content/Divider/Divider.js +1 -1
  57. package/dist/components/content/Footer.js +1 -1
  58. package/dist/components/content/Header.js +1 -1
  59. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  60. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  61. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  62. package/dist/components/content/Item/Item.d.ts +2 -1
  63. package/dist/components/content/Item/Item.js +1 -1
  64. package/dist/components/content/Item/Item.js.map +1 -1
  65. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  66. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  67. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  68. package/dist/components/content/Layout/GridLayout.js +1 -1
  69. package/dist/components/content/Layout/Layout.js +1 -1
  70. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  71. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  72. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  73. package/dist/components/content/Layout/LayoutContent.js +1 -1
  74. package/dist/components/content/Layout/LayoutContext.js +1 -1
  75. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  76. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  77. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  78. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  79. package/dist/components/content/Layout/LayoutPane.js +1 -1
  80. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  81. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  82. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  83. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  84. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  85. package/dist/components/content/Layout/index.js +1 -1
  86. package/dist/components/content/Layout/utils.js +1 -1
  87. package/dist/components/content/Paragraph.js +1 -1
  88. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  89. package/dist/components/content/PrismCode/PrismCode.js +3 -2
  90. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  91. package/dist/components/content/PrismCode/prismSetup.js +8 -2
  92. package/dist/components/content/PrismCode/prismSetup.js.map +1 -1
  93. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  94. package/dist/components/content/Result/Result.js +1 -1
  95. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  96. package/dist/components/content/Tag/Tag.js +1 -1
  97. package/dist/components/content/Text.js +1 -1
  98. package/dist/components/content/TextItem/TextItem.d.ts +5 -2
  99. package/dist/components/content/TextItem/TextItem.js +1 -1
  100. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  101. package/dist/components/content/Title.js +1 -1
  102. package/dist/components/content/Tree/Tree.js +1 -1
  103. package/dist/components/content/Tree/TreeNode.js +1 -1
  104. package/dist/components/content/Tree/checked-keys.js +1 -1
  105. package/dist/components/content/Tree/rowId.js +1 -1
  106. package/dist/components/content/Tree/styled.js +1 -1
  107. package/dist/components/content/Tree/tree-index.js +1 -1
  108. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  109. package/dist/components/content/Tree/use-load-data.js +1 -1
  110. package/dist/components/content/highlightText.js +1 -1
  111. package/dist/components/content/use-auto-tooltip.js +114 -72
  112. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  113. package/dist/components/data/DataTable/DataTable.js +1 -1
  114. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  115. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  116. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  117. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  118. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  119. package/dist/components/data/ItemTable/item-table-sections.js +1 -1
  120. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  121. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  122. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  123. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  124. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  125. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  126. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  127. package/dist/components/data/TableBase/RowCollection.js +1 -1
  128. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  129. package/dist/components/data/TableBase/TableRow.js +1 -1
  130. package/dist/components/data/TableBase/TableRowLink.js +1 -1
  131. package/dist/components/data/TableBase/TableView.js +1 -1
  132. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  133. package/dist/components/data/TableBase/column-header.js +1 -1
  134. package/dist/components/data/TableBase/column-menu.js +1 -1
  135. package/dist/components/data/TableBase/column-styles.js +1 -1
  136. package/dist/components/data/TableBase/column-tint.js +1 -1
  137. package/dist/components/data/TableBase/row-menu.js +1 -1
  138. package/dist/components/data/TableBase/styled.js +21 -20
  139. package/dist/components/data/TableBase/styled.js.map +1 -1
  140. package/dist/components/data/TableBase/table-body-sections.js +1 -1
  141. package/dist/components/data/TableBase/table-tree.js +1 -1
  142. package/dist/components/data/TableBase/types.js +1 -1
  143. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  144. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  145. package/dist/components/data/TableBase/use-column-order.js +1 -1
  146. package/dist/components/data/TableBase/use-column-window.js +1 -1
  147. package/dist/components/data/TableBase/use-container-width.js +1 -1
  148. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  149. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  150. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  151. package/dist/components/data/TableBase/use-table-search.js +1 -1
  152. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  153. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  154. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  155. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  156. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  157. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  158. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  159. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  160. package/dist/components/fields/Checkbox/context.js +1 -1
  161. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  162. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  163. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  164. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  165. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  166. package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
  167. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  168. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  169. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  170. package/dist/components/fields/DatePicker/CalendarPopover.js +281 -0
  171. package/dist/components/fields/DatePicker/CalendarPopover.js.map +1 -0
  172. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  173. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  174. package/dist/components/fields/DatePicker/DatePicker.js +26 -24
  175. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  176. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  177. package/dist/components/fields/DatePicker/DatePickerElement.js +4 -2
  178. package/dist/components/fields/DatePicker/DatePickerElement.js.map +1 -1
  179. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  180. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  181. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +10 -0
  182. package/dist/components/fields/DatePicker/DateRangePicker.js +143 -65
  183. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  184. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +172 -165
  185. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  186. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  187. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  188. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  189. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  190. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  191. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  192. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  193. package/dist/components/fields/DatePicker/period.js +1 -1
  194. package/dist/components/fields/DatePicker/props.js +1 -1
  195. package/dist/components/fields/DatePicker/utils.js +1 -1
  196. package/dist/components/fields/FileInput/FileInput.js +1 -1
  197. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  198. package/dist/components/fields/FilterListBox/styled.js +1 -1
  199. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  200. package/dist/components/fields/FilterPicker/FilterTree.js +1 -1
  201. package/dist/components/fields/Input/Input.js +1 -1
  202. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  203. package/dist/components/fields/ListBox/ListBox.js +1 -1
  204. package/dist/components/fields/ListBox/optionId.js +1 -1
  205. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  206. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  207. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  208. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  209. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  210. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  211. package/dist/components/fields/Picker/Picker.js +1 -1
  212. package/dist/components/fields/RadioGroup/Radio.js +108 -118
  213. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  214. package/dist/components/fields/RadioGroup/RadioGroup.js +10 -12
  215. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  216. package/dist/components/fields/RadioGroup/context.js +1 -1
  217. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  218. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  219. package/dist/components/fields/Select/Select.js +1 -1
  220. package/dist/components/fields/Slider/Gradation.js +1 -1
  221. package/dist/components/fields/Slider/HueSlider.js +1 -1
  222. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  223. package/dist/components/fields/Slider/Slider.js +1 -1
  224. package/dist/components/fields/Slider/SliderBase.js +1 -1
  225. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  226. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  227. package/dist/components/fields/Slider/elements.js +1 -1
  228. package/dist/components/fields/Slider/index.js +1 -1
  229. package/dist/components/fields/Switch/Switch.js +1 -1
  230. package/dist/components/fields/TagInput/TagInput.js +1 -1
  231. package/dist/components/fields/TagInput/TagList.js +1 -1
  232. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  233. package/dist/components/fields/TagInput/useTagError.js +1 -1
  234. package/dist/components/fields/TextArea/TextArea.js +1 -1
  235. package/dist/components/fields/TextInput/TextInput.js +1 -1
  236. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  237. package/dist/components/fields/TextInput/displayed-validation.js +1 -1
  238. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  239. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  240. package/dist/components/fields/TriggerActions.js +1 -1
  241. package/dist/components/fields/color/ColorPanel.js +1 -1
  242. package/dist/components/fields/color/channels.js +1 -1
  243. package/dist/components/fields/color/color.js +1 -1
  244. package/dist/components/fields/color/context.js +1 -1
  245. package/dist/components/fields/option-origin-press.js +1 -1
  246. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  247. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  248. package/dist/components/form/Form/Field.js +1 -1
  249. package/dist/components/form/Form/Form.js +1 -1
  250. package/dist/components/form/Form/ModernFormRoot.js +198 -174
  251. package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
  252. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  253. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  254. package/dist/components/form/Form/SubmitError.js +1 -1
  255. package/dist/components/form/Form/backend.js +1 -1
  256. package/dist/components/form/Form/index.js +1 -1
  257. package/dist/components/form/Form/modern/actions.js +1 -1
  258. package/dist/components/form/Form/modern/context.js +1 -1
  259. package/dist/components/form/Form/modern/controller.js +1 -1
  260. package/dist/components/form/Form/modern/field-binding.js +1 -1
  261. package/dist/components/form/Form/modern/field.js +1 -1
  262. package/dist/components/form/Form/modern/react.js +1 -1
  263. package/dist/components/form/Form/modern/store.js +18 -3
  264. package/dist/components/form/Form/modern/store.js.map +1 -1
  265. package/dist/components/form/Form/modern/validation.js +1 -1
  266. package/dist/components/form/Form/modern/values.js +1 -1
  267. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  268. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  269. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  270. package/dist/components/form/Form/use-field/use-field.js +1 -1
  271. package/dist/components/form/Form/use-form.js +1 -1
  272. package/dist/components/form/Form/validation.js +1 -1
  273. package/dist/components/form/Label.js +1 -1
  274. package/dist/components/form/field-chrome.js +1 -1
  275. package/dist/components/form/field-layout.js +1 -1
  276. package/dist/components/form/legacy-tooltip.js +1 -1
  277. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  278. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  279. package/dist/components/form/validation/use-validation-props.js +1 -1
  280. package/dist/components/form/wrapper.js +1 -1
  281. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  282. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  283. package/dist/components/layout/Flex.js +1 -1
  284. package/dist/components/layout/Flow.js +1 -1
  285. package/dist/components/layout/Grid.js +1 -1
  286. package/dist/components/layout/Panel.js +1 -1
  287. package/dist/components/layout/Prefix.js +1 -1
  288. package/dist/components/layout/ResizablePanel.js +1 -1
  289. package/dist/components/layout/Space.js +1 -1
  290. package/dist/components/layout/Suffix.js +1 -1
  291. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  292. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  293. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  294. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  295. package/dist/components/navigation/Tabs/TabButton.js +190 -187
  296. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  297. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  298. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  299. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  300. package/dist/components/navigation/Tabs/Tabs.js +2 -1
  301. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  302. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  303. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  304. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  305. package/dist/components/navigation/Tabs/segmented-styles.js +53 -0
  306. package/dist/components/navigation/Tabs/segmented-styles.js.map +1 -0
  307. package/dist/components/navigation/Tabs/styled.js +15 -28
  308. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  309. package/dist/components/navigation/Tabs/types.d.ts +4 -4
  310. package/dist/components/navigation/Tabs/types.js +1 -1
  311. package/dist/components/navigation/Tabs/types.js.map +1 -1
  312. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  313. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  314. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  315. package/dist/components/other/Calendar/Calendar.js +1 -1
  316. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  317. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  318. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  319. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  320. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  321. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  322. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  323. package/dist/components/other/Calendar/styled.js +1 -1
  324. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  325. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  326. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  327. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  328. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  329. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  330. package/dist/components/overlays/Dialog/DialogContainer.d.ts +3 -3
  331. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  332. package/dist/components/overlays/Dialog/DialogContainer.js.map +1 -1
  333. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  334. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +4 -4
  335. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  336. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  337. package/dist/components/overlays/Dialog/ModernDialogForm.js +101 -123
  338. package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
  339. package/dist/components/overlays/Dialog/context.js +1 -1
  340. package/dist/components/overlays/Dialog/context.js.map +1 -1
  341. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  342. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  343. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  344. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
  345. package/dist/components/overlays/Dialog/use-dismiss-confirmation.js +60 -51
  346. package/dist/components/overlays/Dialog/use-dismiss-confirmation.js.map +1 -1
  347. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
  348. package/dist/components/overlays/Modal/Modal.js +1 -1
  349. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  350. package/dist/components/overlays/Modal/Overlay.js +1 -1
  351. package/dist/components/overlays/Modal/Popover.js +1 -1
  352. package/dist/components/overlays/Modal/Tray.js +1 -1
  353. package/dist/components/overlays/Modal/Underlay.js +1 -1
  354. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  355. package/dist/components/overlays/Notifications/Notification.js +1 -1
  356. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  357. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  358. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  359. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  360. package/dist/components/overlays/Notifications/OverlayContainer.js +6 -3
  361. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  362. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  363. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  364. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  365. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  366. package/dist/components/overlays/Notifications/index.js +1 -1
  367. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  368. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  369. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  370. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  371. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  372. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  373. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  374. package/dist/components/overlays/Toast/index.js +1 -1
  375. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  376. package/dist/components/overlays/Toast/useToast.js +1 -1
  377. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  378. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  379. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  380. package/dist/components/overlays/Tooltip/context.js +1 -1
  381. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  382. package/dist/components/portal/Portal.js +1 -1
  383. package/dist/components/portal/PortalProvider.js +1 -1
  384. package/dist/components/portal/usePortal.js +1 -1
  385. package/dist/components/shared/DraggableCollection.js +1 -1
  386. package/dist/components/shared/InvalidIcon.js +1 -1
  387. package/dist/components/shared/ValidIcon.js +1 -1
  388. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  389. package/dist/components/status/Spin/Cube.js +2 -2
  390. package/dist/components/status/Spin/Cube.js.map +1 -1
  391. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  392. package/dist/components/status/Spin/Spin.js +1 -1
  393. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  394. package/dist/data/item-themes.js +70 -70
  395. package/dist/data/item-themes.js.map +1 -1
  396. package/dist/data/themes.js +1 -1
  397. package/dist/eslint-plugin/defaults.generated.js +1 -1
  398. package/dist/eslint-plugin/index.js +1 -1
  399. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  400. package/dist/i18n/I18nProvider.js +1 -1
  401. package/dist/i18n/createFormatter.js +1 -1
  402. package/dist/i18n/index.js +1 -1
  403. package/dist/i18n/instance.js +1 -1
  404. package/dist/i18n/locales/de-DE/uikit.js +3 -2
  405. package/dist/i18n/locales/en-US/uikit.js +3 -2
  406. package/dist/i18n/locales/en-US/uikit.json.d.ts +1 -0
  407. package/dist/i18n/locales/es-ES/uikit.js +3 -2
  408. package/dist/i18n/locales/es-MX/uikit.js +3 -2
  409. package/dist/i18n/locales/fr-FR/uikit.js +3 -2
  410. package/dist/i18n/locales/it-IT/uikit.js +3 -2
  411. package/dist/i18n/locales/ja-JP/uikit.js +3 -2
  412. package/dist/i18n/locales/nb-NO/uikit.js +3 -2
  413. package/dist/i18n/locales/pt-BR/uikit.js +3 -2
  414. package/dist/i18n/locales/pt-PT/uikit.js +3 -2
  415. package/dist/i18n/locales/sv-SE/uikit.js +3 -2
  416. package/dist/i18n/locales/vi-VN/uikit.js +3 -2
  417. package/dist/i18n/locales.js +1 -1
  418. package/dist/i18n/namespace.js +1 -1
  419. package/dist/i18n/useFormatter.js +1 -1
  420. package/dist/i18n/useI18n.js +1 -1
  421. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  422. package/dist/icons/AdjustmentsIcon.js +1 -1
  423. package/dist/icons/AiIcon.js +1 -1
  424. package/dist/icons/AreaChartIcon.js +1 -1
  425. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  426. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  427. package/dist/icons/BackwardIcon.js +1 -1
  428. package/dist/icons/BarChartIcon.js +1 -1
  429. package/dist/icons/BellFilledIcon.js +1 -1
  430. package/dist/icons/BellIcon.js +1 -1
  431. package/dist/icons/BooleanIcon.js +1 -1
  432. package/dist/icons/CalendarEditIcon.js +1 -1
  433. package/dist/icons/CalendarIcon.js +1 -1
  434. package/dist/icons/CaretDownIcon.js +1 -1
  435. package/dist/icons/CaretUpIcon.js +1 -1
  436. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  437. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  438. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  439. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  440. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  441. package/dist/icons/ChartBarLineIcon.js +1 -1
  442. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  443. package/dist/icons/ChartBarStackedIcon.js +1 -1
  444. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  445. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  446. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  447. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  448. package/dist/icons/ChartBubbleIcon.js +1 -1
  449. package/dist/icons/ChartDonut2Icon.js +1 -1
  450. package/dist/icons/ChartFunnelIcon.js +1 -1
  451. package/dist/icons/ChartHeatmapIcon.js +1 -1
  452. package/dist/icons/ChartKPIIcon.js +1 -1
  453. package/dist/icons/ChartPie2Icon.js +1 -1
  454. package/dist/icons/ChartScatterIcon.js +1 -1
  455. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  456. package/dist/icons/CheckCircleIcon.js +1 -1
  457. package/dist/icons/CheckIcon.js +1 -1
  458. package/dist/icons/CircleFilledIcon.js +1 -1
  459. package/dist/icons/ClearIcon.js +1 -1
  460. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  461. package/dist/icons/CloseCircleIcon.js +1 -1
  462. package/dist/icons/CloseIcon.js +1 -1
  463. package/dist/icons/CodeIcon.js +1 -1
  464. package/dist/icons/ColumnTotalIcon.js +1 -1
  465. package/dist/icons/CopyIcon.js +1 -1
  466. package/dist/icons/CountIcon.js +1 -1
  467. package/dist/icons/CubeIcon.js +1 -1
  468. package/dist/icons/CubePauseIcon.js +1 -1
  469. package/dist/icons/CubePlayIcon.js +1 -1
  470. package/dist/icons/CurrencyDollarIcon.js +1 -1
  471. package/dist/icons/DangerIcon.js +1 -1
  472. package/dist/icons/DashboardIcon.js +1 -1
  473. package/dist/icons/DatabaseIcon.js +1 -1
  474. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  475. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  476. package/dist/icons/DirectionIcon.js +1 -1
  477. package/dist/icons/DonutIcon.js +1 -1
  478. package/dist/icons/DownIcon.js +1 -1
  479. package/dist/icons/EditIcon.js +1 -1
  480. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  481. package/dist/icons/ExclamationCircleIcon.js +1 -1
  482. package/dist/icons/ExclamationIcon.js +1 -1
  483. package/dist/icons/EyeIcon.js +1 -1
  484. package/dist/icons/EyeInvisibleIcon.js +1 -1
  485. package/dist/icons/FilterIcon.js +1 -1
  486. package/dist/icons/FolderFilledIcon.js +1 -1
  487. package/dist/icons/FolderIcon.js +1 -1
  488. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  489. package/dist/icons/FolderOpenIcon.js +1 -1
  490. package/dist/icons/ForwardIcon.js +1 -1
  491. package/dist/icons/GripVerticalIcon.js +1 -1
  492. package/dist/icons/HierarchyIcon.js +1 -1
  493. package/dist/icons/HierarchyOpenIcon.js +1 -1
  494. package/dist/icons/Icon.js +1 -1
  495. package/dist/icons/InfoCircleIcon.js +1 -1
  496. package/dist/icons/InfoIcon.js +1 -1
  497. package/dist/icons/KeyIcon.js +1 -1
  498. package/dist/icons/LeftIcon.js +1 -1
  499. package/dist/icons/LineChartIcon.js +1 -1
  500. package/dist/icons/LoadingIcon.js +1 -1
  501. package/dist/icons/LockFilledIcon.js +1 -1
  502. package/dist/icons/LockIcon.js +1 -1
  503. package/dist/icons/MoreIcon.js +1 -1
  504. package/dist/icons/NotAllowedIcon.js +1 -1
  505. package/dist/icons/Number123Icon.js +1 -1
  506. package/dist/icons/NumberIcon.js +1 -1
  507. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  508. package/dist/icons/PauseCircleIcon.js +1 -1
  509. package/dist/icons/PauseIcon.js +1 -1
  510. package/dist/icons/PercentageIcon.js +1 -1
  511. package/dist/icons/PieChartIcon.js +1 -1
  512. package/dist/icons/PipetteIcon.js +1 -1
  513. package/dist/icons/PlayCircleIcon.js +1 -1
  514. package/dist/icons/PlayIcon.js +1 -1
  515. package/dist/icons/PlusIcon.js +1 -1
  516. package/dist/icons/ProgressBarIcon.js +1 -1
  517. package/dist/icons/ReloadIcon.js +1 -1
  518. package/dist/icons/ReportIcon.js +1 -1
  519. package/dist/icons/ReturnIcon.js +1 -1
  520. package/dist/icons/RightIcon.js +1 -1
  521. package/dist/icons/RowTotalsIcon.js +1 -1
  522. package/dist/icons/SchemeIcon.js +1 -1
  523. package/dist/icons/SearchIcon.js +1 -1
  524. package/dist/icons/SemanticQueryIcon.js +1 -1
  525. package/dist/icons/SettingsIcon.js +1 -1
  526. package/dist/icons/ShieldFilledIcon.js +1 -1
  527. package/dist/icons/ShieldIcon.js +1 -1
  528. package/dist/icons/SlashIcon.js +1 -1
  529. package/dist/icons/SparklesIcon.js +1 -1
  530. package/dist/icons/SqlIcon.js +1 -1
  531. package/dist/icons/StatsIcon.js +1 -1
  532. package/dist/icons/StopIcon.js +1 -1
  533. package/dist/icons/StringIcon.js +1 -1
  534. package/dist/icons/SubtotalsIcon.js +1 -1
  535. package/dist/icons/SwitchIcon.js +1 -1
  536. package/dist/icons/TableIcon.js +1 -1
  537. package/dist/icons/ThumbsDownIcon.js +1 -1
  538. package/dist/icons/ThumbsUpIcon.js +1 -1
  539. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  540. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  541. package/dist/icons/ThunderboltIcon.js +1 -1
  542. package/dist/icons/TimeIcon.js +1 -1
  543. package/dist/icons/TrashIcon.js +1 -1
  544. package/dist/icons/UnlockIcon.js +1 -1
  545. package/dist/icons/UpIcon.js +1 -1
  546. package/dist/icons/UserGroupIcon.js +1 -1
  547. package/dist/icons/UserIcon.js +1 -1
  548. package/dist/icons/UserLockIcon.js +1 -1
  549. package/dist/icons/ViewIcon.js +1 -1
  550. package/dist/icons/WarningFilledIcon.js +1 -1
  551. package/dist/icons/WarningIcon.js +1 -1
  552. package/dist/icons/wrap-icon.js +1 -1
  553. package/dist/index.js +1 -1
  554. package/dist/probe/canonicalize.js +1 -1
  555. package/dist/probe/css.js +1 -1
  556. package/dist/probe/index.js +1 -1
  557. package/dist/provider.js +1 -1
  558. package/dist/providers/TrackingProvider.js +1 -1
  559. package/dist/providers/navigation-url.js +1 -1
  560. package/dist/providers/navigationAdapter.default.js +1 -1
  561. package/dist/providers/use-navigation.js +1 -1
  562. package/dist/tokens/all-tokens.js +1 -1
  563. package/dist/tokens/base.js +1 -1
  564. package/dist/tokens/color-seed.js +1 -1
  565. package/dist/tokens/color-theme.js +1 -1
  566. package/dist/tokens/colors.js +1 -1
  567. package/dist/tokens/layout.js +1 -1
  568. package/dist/tokens/lazy-styles.js +1 -1
  569. package/dist/tokens/legacy-color.js +1 -1
  570. package/dist/tokens/palette-config.js +1 -1
  571. package/dist/tokens/palette.js +1 -1
  572. package/dist/tokens/resolve.js +1 -1
  573. package/dist/tokens/shadows.js +1 -1
  574. package/dist/tokens/sizes.js +1 -1
  575. package/dist/tokens/spacing.js +1 -1
  576. package/dist/tokens/typography.js +1 -1
  577. package/dist/utils/ResizeSensor.js +1 -1
  578. package/dist/utils/colors.js +1 -1
  579. package/dist/utils/dotize.js +1 -1
  580. package/dist/utils/is-dev-env.js +1 -1
  581. package/dist/utils/modules.js +1 -1
  582. package/dist/utils/promise.js +1 -1
  583. package/dist/utils/raf.js +1 -1
  584. package/dist/utils/random.js +1 -1
  585. package/dist/utils/range.js +1 -1
  586. package/dist/utils/react/RenderCache.js +1 -1
  587. package/dist/utils/react/Slots.js +1 -1
  588. package/dist/utils/react/chain.js +1 -1
  589. package/dist/utils/react/disabledProps.js +1 -1
  590. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  591. package/dist/utils/react/index.js +1 -1
  592. package/dist/utils/react/interactions.js +1 -1
  593. package/dist/utils/react/isTextOnly.js +1 -1
  594. package/dist/utils/react/mapProps.js +1 -1
  595. package/dist/utils/react/mergeProps.js +1 -1
  596. package/dist/utils/react/nullableValue.js +1 -1
  597. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  598. package/dist/utils/react/programmaticFocus.js +1 -1
  599. package/dist/utils/react/resolveIcon.js +1 -1
  600. package/dist/utils/react/sharedStore.js +1 -1
  601. package/dist/utils/react/useBufferedValue.js +1 -1
  602. package/dist/utils/react/useCombinedRefs.js +1 -1
  603. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  604. package/dist/utils/react/useEventBus.js +1 -1
  605. package/dist/utils/react/useId.js +1 -1
  606. package/dist/utils/react/useIsDarwin.js +1 -1
  607. package/dist/utils/react/useKeySymbols.js +1 -1
  608. package/dist/utils/react/useLayoutEffect.js +1 -1
  609. package/dist/utils/react/useLocalStorage.js +1 -1
  610. package/dist/utils/react/useMergeStyles.js +1 -1
  611. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  612. package/dist/utils/react/usePopoverSync.js +1 -1
  613. package/dist/utils/react/useQaProps.js +1 -1
  614. package/dist/utils/react/useScheme.js +7 -5
  615. package/dist/utils/react/useScheme.js.map +1 -1
  616. package/dist/utils/react/useViewportSize.js +1 -1
  617. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  618. package/dist/utils/selection.js +1 -1
  619. package/dist/utils/styles.js +1 -1
  620. package/dist/utils/tree.js +1 -1
  621. package/dist/utils/warnings.js +1 -1
  622. package/dist/version.js +3 -3
  623. package/docs/Theming.md +1 -1
  624. package/docs/Usage.md +26 -0
  625. package/docs/components/content/Item.md +1 -1
  626. package/docs/components/content/TextItem.md +13 -1
  627. package/docs/components/data/ItemTable.md +1 -1
  628. package/docs/components/fields/RadioGroup.md +5 -4
  629. package/docs/components/form/Form.md +2 -0
  630. package/docs/components/form/ModernForm.md +5 -1
  631. package/docs/components/navigation/Tabs.md +5 -3
  632. package/docs/components/overlays/DialogContainer.md +1 -1
  633. package/docs/components/overlays/DialogTrigger.md +2 -2
  634. package/docs/components/overlays/Notifications.md +17 -0
  635. package/docs/components/overlays/Toast.md +1 -1
  636. package/docs/modern-form-guide.md +5 -1
  637. package/docs/tasty/ai-agents.md +3 -2
  638. package/docs/tasty/dsl.md +52 -0
  639. package/docs/tasty/styles.md +27 -15
  640. package/package.json +5 -3
  641. package/tasty.config.generated.ts +526 -0
  642. package/tasty.config.ts +29 -422
@@ -1 +1 @@
1
- {"version":3,"file":"ModernDialogForm.js","names":["useEffect","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","registerUnsavedChanges","t0","internals","transition","isClosing","undefined","transitionState","t1","current","dismiss","t2","submitted","t3","t4","t5","hasUserEdits","t6","own","queueMicrotask","getRootElement","t7","t8","t9","t10","t11","t12","t13","t14","t15","_c","Title","SubmitButton","ModernFormRoot"],"sources":["../../../../src/components/overlays/Dialog/ModernDialogForm.tsx"],"sourcesContent":["import { useEffect, 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, registerUnsavedChanges } = 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 // Escape, an outside click and the close button ask before they discard\n // what the user typed: fields they edited away from their defaults. A value\n // set from code, even in a field the user then visited, is not an edit.\n // `preserve` keeps the values anyway.\n useEffect(\n () =>\n registerUnsavedChanges?.(() => {\n if (confirmDismiss !== undefined) return confirmDismiss;\n if (preserve) return false;\n\n // A controller from an older copy of the kit can't tell; it never asks.\n return internals.store.hasUserEdits?.() ?? false;\n }),\n [registerUnsavedChanges, internals, preserve, confirmDismiss],\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 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';\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":";;;;;;;;;;;;;;;;;;;;;AA8BA,SAASyB,cAAgCC,SAA4B;CACnE,IAAI,CAACA,WAAWA,QAAQH,OAAO;CAC/BG,QAAQH,QAAQ;CAChBb,uBAAuBgB,QAAQN,MAAM,cAAc,CAAC,CAACO,MAAMC,iBAAiB;CAC5E,IAAI,CAACF,QAAQJ,UAAUI,QAAQN,KAAKS,MAAM;AAC5C;;AAGA,SAAOC,iBAAAC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAtB;CAAA,IAAAuB;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAtC;CAAA,IAAAuC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAArC,EAAA,OAAAD,OAAA;EAGL,CAAA,CAAAX,MAAAyC,IAAAM,OAAA5B,QAAAyB,aAAA5B,aAAAiB,WAAA/B,UAAAgB,gBAAAD,UAAAiB,WAAAH,MAAAX,eAAAiB,UAAAC,gBAAAC,gBAAAJ,SAAAC,gBAAAS,cAAAjB,aAAAD,eAAAE,YAAAW,aAAAE,cAAAV,oBAAAT,YAAAE,YAAAD,WAAAE,SAAAuB,iBAAAD,iBAAAL,WAAA7B,QAAAgB,QAAAgB,QAAAxB,SAAAP,cAAA,GAAAM,eAuCIV;EAAMC,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAG;EAAAH,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAM;EAAAN,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;EAAAR,EAAA,KAAAS;EAAAT,EAAA,KAAAU;EAAAV,EAAA,MAAAZ;EAAAY,EAAA,MAAAW;EAAAX,EAAA,MAAAY;EAAAZ,EAAA,MAAAa;EAAAb,EAAA,MAAAc;EAAAd,EAAA,MAAAe;EAAAf,EAAA,MAAAgB;EAAAhB,EAAA,MAAAiB;EAAAjB,EAAA,MAAAkB;EAAAlB,EAAA,MAAAmB;EAAAnB,EAAA,MAAAoB;EAAApB,EAAA,MAAAqB;EAAArB,EAAA,MAAAsB;EAAAtB,EAAA,MAAAuB;EAAAvB,EAAA,MAAAwB;EAAAxB,EAAA,MAAAyB;EAAAzB,EAAA,MAAA0B;EAAA1B,EAAA,MAAA2B;EAAA3B,EAAA,MAAA4B;EAAA5B,EAAA,MAAAV;EAAAU,EAAA,MAAA6B;EAAA7B,EAAA,MAAA8B;EAAA9B,EAAA,MAAA+B;EAAA/B,EAAA,MAAAgC;EAAAhC,EAAA,MAAAiC;EAAAjC,EAAA,MAAAkC;EAAAlC,EAAA,MAAAmC;EAAAnC,EAAA,MAAAoC;EAAApC,EAAA,MAAAqC;CAAA,OAAA;EAAAnC,SAAAF,EAAA;EAAAG,eAAAH,EAAA;EAAAI,cAAAJ,EAAA;EAAAK,WAAAL,EAAA;EAAAM,iBAAAN,EAAA;EAAAO,SAAAP,EAAA;EAAAQ,gBAAAR,EAAA;EAAAS,cAAAT,EAAA;EAAAU,UAAAV,EAAA;EAAAZ,OAAAY,EAAA;EAAAW,aAAAX,EAAA;EAAAY,YAAAZ,EAAA;EAAAa,aAAAb,EAAA;EAAAc,UAAAd,EAAA;EAAAe,gBAAAf,EAAA;EAAAgB,cAAAhB,EAAA;EAAAiB,aAAAjB,EAAA;EAAAkB,SAAAlB,EAAA;EAAAmB,OAAAnB,EAAA;EAAAoB,qBAAApB,EAAA;EAAAqB,YAAArB,EAAA;EAAAsB,YAAAtB,EAAA;EAAAuB,UAAAvB,EAAA;EAAAwB,iBAAAxB,EAAA;EAAAyB,WAAAzB,EAAA;EAAA0B,iBAAA1B,EAAA;EAAA2B,iBAAA3B,EAAA;EAAA4B,cAAA5B,EAAA;EAAAV,WAAAU,EAAA;EAAA6B,KAAA7B,EAAA;EAAA8B,eAAA9B,EAAA;EAAA+B,YAAA/B,EAAA;EAAAgC,cAAAhC,EAAA;EAAAiC,eAAAjC,EAAA;EAAAkC,SAAAlC,EAAA;EAAAmC,QAAAnC,EAAA;EAAAoC,kBAAApC,EAAA;EAAAqC,kBAAArC,EAAA;CAAA;CACV,MAAA,EAAAsC,MAAcpE,QAAQ;CACtB,MAAA,EAAAqE,SAAAC,WAA4B1D,iBAAiB;CAAE,IAAA2D;CAAA,IAAAzC,EAAA,QAAAZ,MAAA;EAC7BqD,KAAA/D,uBAAuBU,MAAM,cAAc;EAACY,EAAA,MAAAZ;EAAAY,EAAA,MAAAyC;CAAA,OAAAA,KAAAzC,EAAA;CAA9D,MAAA0C,YAAkBD;CAClB,MAAAE,aAAmB9D,yBAAyB;CAC5C,MAAA+D,YACEJ,WAAWK,KAAAA,IACPF,YAAUG,oBAAsB,UAChCH,YAAUG,oBAAsB,cAFpC,CAGKN;CACP,MAAA9C,UAAgB1B,OAAqC6E,KAAAA,CAAS;CAAE,IAAAE;CAAA,IAAA/C,EAAA,QAAAuC,WAAAvC,EAAA,QAAAsB,WAAA;EACvCyB,WAAA;GACvBtD,cAAcC,QAAOsD,OAAQ;GAC7BT,UAAU;GACVjB,YAAY;EAAC;EACdtB,EAAA,MAAAuC;EAAAvC,EAAA,MAAAsB;EAAAtB,EAAA,MAAA+C;CAAA,OAAAA,KAAA/C,EAAA;CAJD,MAAAiD,UAAgBhF,SAAS8E,EAIxB;CAAE,IAAAG;CAAA,IAAAlD,EAAA,QAAAuC,SAAA;EACwBW,WAAA;GACzBzD,cAAcC,QAAOsD,OAAQ;GAC7BT,UAAU;EAAC;EACZvC,EAAA,MAAAuC;EAAAvC,EAAA,MAAAkD;CAAA,OAAAA,KAAAlD,EAAA;CAHD,MAAAmD,YAAkBlF,SAASiF,EAG1B;CAAE,IAAAE;CAAA,IAAApD,EAAA,QAAAZ,QAAAY,EAAA,QAAA4C,aAAA5C,EAAA,QAAAV,UAAA;EAKa8D,WAAA;GACd,IAAI1D,QAAOsD,SAAc5D,SAAKA,MAC5BM,QAAOsD,UAAW;IAAA5D;IAAAE;IAAAC,OAAyB;IAAKC,SAAW,CAACoD;GAAU;GAExE,MAAAI,UAAgBtD,QAAOsD;GACvBA,QAAO1D,WAAYA;GACnB,IAAIsD,aAAaI,QAAOxD,SAAUC,cAAcuD,OAAO;GACvD,IAAI,CAACJ,aAAD,CAAeI,QAAOxD,SAAUwD,QAAOzD,QAAS;GACpDyD,QAAOxD,UAAW,CAACoD;EAAJ;EAChB5C,EAAA,MAAAZ;EAAAY,EAAA,MAAA4C;EAAA5C,EAAA,MAAAV;EAAAU,EAAA,MAAAoD;CAAA,OAAAA,KAAApD,EAAA;CATD7B,kBAAgBiF,EASf;CAAC,IAAAC;CAAA,IAAArD,EAAA,QAAA0C,WAAA;EAMcW,WAAA;GACd,MAAAC,MAAY5D,QAAOsD;GAAS,aACrB;IACLO,qBAAe;KACb,IAAI,CAACb,UAASc,eAAgB,GAAG/D,cAAc6D,GAAG;IAAE,CACrD;GAAC;EACH;EACFtD,EAAA,MAAA0C;EAAA1C,EAAA,MAAAqD;CAAA,OAAAA,KAAArD,EAAA;CAAA,IAAAyD;CAAA,IAAAzD,EAAA,QAAAZ,QAAAY,EAAA,QAAA0C,WAAA;EAAEe,KAAA,CAACrE,MAAMsD,SAAS;EAAC1C,EAAA,MAAAZ;EAAAY,EAAA,MAAA0C;EAAA1C,EAAA,MAAAyD;CAAA,OAAAA,KAAAzD,EAAA;CAPpB7B,kBAAgBkF,IAObI,EAAiB;CAGW,MAAAC,KAAA,GAAG7B,MAAA,GAAQ;CAAQ,IAAA8B;CAAA,IAAA3D,EAAA,QAAAmC,OAAA;EAC9CwB,KAAA,oBAAC,QAAD,EAAA,UACE,oBAACS,QAAD;GAAO,UAAA;GAAUjC,UAAAA;EAAX,CAAA,EADD,CAAA;EAEEnC,EAAA,MAAAmC;EAAAnC,EAAA,MAAA2D;CAAA,OAAAA,KAAA3D,EAAA;CAkBH,MAAA4D,KAAA/B,MAAA;CAOY,MAAAgC,KAAAvD,mBAAmBhB,WAAA,QAAAuD,KAAAA;CAA6B,IAAAiB;CAAA,IAAA9D,EAAA,QAAAK,YAAAL,EAAA,QAAAiD,SAAA;EA0B7Da,MAAA,OAAOzD,aAAa,aAAaA,SAAS4C,OAAkB,IAA5D5C;EAA6DL,EAAA,MAAAK;EAAAL,EAAA,MAAAiD;EAAAjD,EAAA,MAAA8D;CAAA,OAAAA,MAAA9D,EAAA;CAAA,IAAA+D;CAAA,IAAA/D,EAAA,QAAA8D,KAAA;EADhEC,MAAA,oBAAC,SAAD,EAAA,UACGD,IADK,CAAA;EAEE9D,EAAA,MAAA8D;EAAA9D,EAAA,MAAA+D;CAAA,OAAAA,MAAA/D,EAAA;CAAA,IAAAgE;CAAA,IAAAhE,EAAA,QAAAI,eAAAJ,EAAA,QAAAO,UAAAP,EAAA,QAAAiD,WAAAjD,EAAA,QAAAqB,aAAArB,EAAA,QAAA6B,MAAA7B,EAAA,QAAAgC,eAAAhC,EAAA,QAAAsC,GAAA;EAET0B,MAAA,CAAC3C,aACA,oBAAC,QAAD,EAAA,UACE,qBAAC,aAAD,EAAA,UAAA,CACE,oBAACgD,eAAD;GACM,IAAA,GAAGxC,MAAA,GAAQ;GACR,OAAAtB,SAAA,WAAAsC,KAAAA;GAA6B,GAChC9D,sBACFiD,aACAM,EAAE,qBAAqB,QAAQ,CACjC;EAAC,CAAA,GAEH,oBAAC,QAAD;GACM,IAAA,GAAGT,MAAA,GAAQ;GACNoB,SAAAA;GAAO,GACZlE,sBACFqB,aACAkC,EAAE,qBAAqB,QAAQ,CACjC;EAAC,CAAA,CAfO,EAAA,CAAA,EADP,CAAA;EAoBRtC,EAAA,MAAAI;EAAAJ,EAAA,MAAAO;EAAAP,EAAA,MAAAiD;EAAAjD,EAAA,MAAAqB;EAAArB,EAAA,MAAA6B;EAAA7B,EAAA,MAAAgC;EAAAhC,EAAA,MAAAsC;EAAAtC,EAAA,MAAAgE;CAAA,OAAAA,MAAAhE,EAAA;CAAA,IAAAiE;CAAA,IAAAjE,EAAA,QAAAE,UAAAF,EAAA,QAAAG,gBAAAH,EAAA,QAAAQ,iBAAAR,EAAA,QAAAU,WAAAV,EAAA,QAAAZ,QAAAY,EAAA,QAAAW,cAAAX,EAAA,QAAAY,aAAAZ,EAAA,QAAAa,cAAAb,EAAA,QAAAc,WAAAd,EAAA,QAAAe,iBAAAf,EAAA,QAAAgB,eAAAhB,EAAA,QAAAiB,cAAAjB,EAAA,QAAAkB,UAAAlB,EAAA,QAAAmB,QAAAnB,EAAA,QAAAoB,sBAAApB,EAAA,QAAAuB,WAAAvB,EAAA,QAAAwB,kBAAAxB,EAAA,QAAAyB,YAAAzB,EAAA,QAAA0B,kBAAA1B,EAAA,QAAA2B,kBAAA3B,EAAA,QAAA4B,eAAA5B,EAAA,QAAA8B,gBAAA9B,EAAA,QAAA+B,aAAA/B,EAAA,QAAAiC,gBAAAjC,EAAA,QAAAmD,aAAAnD,EAAA,QAAA+D,OAAA/D,EAAA,QAAAgE,OAAAhE,EAAA,QAAA4D,MAAA5D,EAAA,QAAA6D,MAAA7D,EAAA,QAAAkC,UAAAlC,EAAA,SAAAoC,mBAAApC,EAAA,SAAAqC,iBAAA;EA5DH4B,MAAA,qBAACK,iBAAD;GACE,8BAAA;GACMlF;GACF,IAAAwE;GACEzC;GACSX;GACLiB;GACG0B,aAAAA;GAGG,gBAAAU;GACAnC;GACAC;GACPJ;GACOC;GACFS;GACDjB;GACED;GACHE;GACCW;GACCE;GACMV;GACRT;GACAE;GACDD;GACFE;GACQuB;GACAD;GACNL;GACH7B;GACAgB;GACAgB;GACCxB;GACKP;GAjChB,UAAA,CAmCE4D,KAICC,GAvCY;;EA6DEhE,EAAA,MAAAE;EAAAF,EAAA,MAAAG;EAAAH,EAAA,MAAAQ;EAAAR,EAAA,MAAAU;EAAAV,EAAA,MAAAZ;EAAAY,EAAA,MAAAW;EAAAX,EAAA,MAAAY;EAAAZ,EAAA,MAAAa;EAAAb,EAAA,MAAAc;EAAAd,EAAA,MAAAe;EAAAf,EAAA,MAAAgB;EAAAhB,EAAA,MAAAiB;EAAAjB,EAAA,MAAAkB;EAAAlB,EAAA,MAAAmB;EAAAnB,EAAA,MAAAoB;EAAApB,EAAA,MAAAuB;EAAAvB,EAAA,MAAAwB;EAAAxB,EAAA,MAAAyB;EAAAzB,EAAA,MAAA0B;EAAA1B,EAAA,MAAA2B;EAAA3B,EAAA,MAAA4B;EAAA5B,EAAA,MAAA8B;EAAA9B,EAAA,MAAA+B;EAAA/B,EAAA,MAAAiC;EAAAjC,EAAA,MAAAmD;EAAAnD,EAAA,MAAA+D;EAAA/D,EAAA,MAAAgE;EAAAhE,EAAA,MAAA4D;EAAA5D,EAAA,MAAA6D;EAAA7D,EAAA,MAAAkC;EAAAlC,EAAA,OAAAoC;EAAApC,EAAA,OAAAqC;EAAArC,EAAA,OAAAiE;CAAA,OAAAA,MAAAjE,EAAA;CAAA,IAAAkE;CAAA,IAAAlE,EAAA,SAAAS,eAAAT,EAAA,SAAAiD,WAAAjD,EAAA,SAAAiE,OAAAjE,EAAA,SAAA0D,MAAA1D,EAAA,SAAA2D,IAAA;EA/EnBO,MAAA,qBAAC,QAAD;GAAO,GAAKzD;GAAiB,IAAAiD;GAAgCT,WAAAA;GAA7D,UAAA,CACEU,IAiBAM,GAlBK;;EAgFEjE,EAAA,OAAAS;EAAAT,EAAA,OAAAiD;EAAAjD,EAAA,OAAAiE;EAAAjE,EAAA,OAAA0D;EAAA1D,EAAA,OAAA2D;EAAA3D,EAAA,OAAAkE;CAAA,OAAAA,MAAAlE,EAAA;CAAA,OAhFTkE;AAgFS"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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 +1 @@
1
- {"version":3,"file":"context.js","names":["createContext","HTMLAttributes","useContext","invariant","DialogContextValue","HTMLElement","type","isDismissable","onClose","arg","isOpen","shouldRestoreFocus","requestDismiss","dismiss","registerUnsavedChanges","hasUnsavedChanges","trapsFocus","DialogContext","useDialogContext","dialogContext"],"sources":["../../../../src/components/overlays/Dialog/context.tsx"],"sourcesContent":["import { createContext, HTMLAttributes, useContext } from 'react';\nimport invariant from 'tiny-invariant';\n\nexport interface DialogContextValue extends HTMLAttributes<HTMLElement> {\n type?:\n | 'modal'\n | 'popover'\n | 'tray'\n | 'fullscreen'\n | 'fullscreenTakeover'\n | 'panel';\n isDismissable?: boolean;\n onClose?: (arg?: string) => void;\n isOpen?: boolean;\n /**\n * Whether closing the dialog restores focus to its trigger. Set by\n * `DialogTrigger`'s `shouldRestoreFocus` prop; consumed by `Dialog`'s\n * `FocusScope` (which owns the restore for popover-type dialogs) and by its\n * restore for a retained (`hideOnClose`) dialog. Defaults\n * to `true` when absent, so a `Dialog` rendered outside a trigger keeps\n * restoring focus.\n */\n shouldRestoreFocus?: boolean;\n /**\n * Runs a passive dismissal, such as the close button's: at once, or after\n * the user confirms discarding unsaved edits. See `useDismissConfirmation`.\n */\n requestDismiss?: (dismiss: () => void) => void;\n /**\n * How a `DialogForm` reports unsaved edits to its trigger or container.\n * Returns the unregister.\n */\n registerUnsavedChanges?: (hasUnsavedChanges: () => boolean) => () => void;\n}\n\n/**\n * Whether the dialog keeps Tab inside it while open. A panel leaves the page\n * usable, and so does a popover that is not dismissable: an outside press\n * reaches its control, and focus has to follow it there, into a text field\n * too.\n */\nexport function trapsFocus({ type, isDismissable }: DialogContextValue) {\n return type !== 'panel' && !(type === 'popover' && isDismissable === false);\n}\n\nexport const DialogContext = createContext<DialogContextValue | null>({});\n\nexport function useDialogContext() {\n const dialogContext = useContext(DialogContext);\n\n invariant(dialogContext !== null, '');\n\n return dialogContext;\n}\n"],"mappings":";;;;;;;;;;AAyCA,SAAgBgB,WAAW,EAAEV,MAAMC,iBAAqC;CACtE,OAAOD,SAAS,WAAW,EAAEA,SAAS,aAAaC,kBAAkB;AACvE;AAEA,MAAaU,gBAAgBjB,cAAyC,CAAC,CAAC;AAExE,SAAOkB,mBAAA;CACL,MAAAC,gBAAsBjB,WAAWe,aAAa;CAE9Cd,UAAUgB,kBAAkB,MAAM,EAAE;CAAC,OAE9BA;AAAa"}
1
+ {"version":3,"file":"context.js","names":["createContext","HTMLAttributes","useContext","invariant","DialogContextValue","HTMLElement","type","isDismissable","onClose","arg","isOpen","shouldRestoreFocus","requestDismiss","dismiss","registerUnsavedChanges","hasUnsavedChanges","trapsFocus","DialogContext","useDialogContext","dialogContext"],"sources":["../../../../src/components/overlays/Dialog/context.tsx"],"sourcesContent":["import { createContext, HTMLAttributes, useContext } from 'react';\nimport invariant from 'tiny-invariant';\n\nexport interface DialogContextValue extends HTMLAttributes<HTMLElement> {\n type?:\n | 'modal'\n | 'popover'\n | 'tray'\n | 'fullscreen'\n | 'fullscreenTakeover'\n | 'panel';\n isDismissable?: boolean;\n onClose?: (arg?: string) => void;\n isOpen?: boolean;\n /**\n * Whether closing the dialog restores focus to its trigger. Set by\n * `DialogTrigger`'s `shouldRestoreFocus` prop; consumed by `Dialog`'s\n * `FocusScope` (which owns the restore for popover-type dialogs) and by its\n * restore for a retained (`hideOnClose`) dialog. Defaults\n * to `true` when absent, so a `Dialog` rendered outside a trigger keeps\n * restoring focus.\n */\n shouldRestoreFocus?: boolean;\n /**\n * Runs a passive dismissal, such as the close button's: at once, or after\n * the user confirms discarding unsaved edits. See `useDismissConfirmation`.\n */\n requestDismiss?: (dismiss: () => void) => void;\n /**\n * How a form inside reports unsaved edits to its trigger or container: a\n * modern `Form` root, or a legacy `DialogForm`. Each form registers its own\n * check, and the dialog asks while any returns `true`. Returns the\n * unregister.\n */\n registerUnsavedChanges?: (hasUnsavedChanges: () => boolean) => () => void;\n}\n\n/**\n * Whether the dialog keeps Tab inside it while open. A panel leaves the page\n * usable, and so does a popover that is not dismissable: an outside press\n * reaches its control, and focus has to follow it there, into a text field\n * too.\n */\nexport function trapsFocus({ type, isDismissable }: DialogContextValue) {\n return type !== 'panel' && !(type === 'popover' && isDismissable === false);\n}\n\nexport const DialogContext = createContext<DialogContextValue | null>({});\n\nexport function useDialogContext() {\n const dialogContext = useContext(DialogContext);\n\n invariant(dialogContext !== null, '');\n\n return dialogContext;\n}\n"],"mappings":";;;;;;;;;;AA2CA,SAAgBgB,WAAW,EAAEV,MAAMC,iBAAqC;CACtE,OAAOD,SAAS,WAAW,EAAEA,SAAS,aAAaC,kBAAkB;AACvE;AAEA,MAAaU,gBAAgBjB,cAAyC,CAAC,CAAC;AAExE,SAAOkB,mBAAA;CACL,MAAAC,gBAAsBjB,WAAWe,aAAa;CAE9Cd,UAAUgB,kBAAkB,MAAM,EAAE;CAAC,OAE9BA;AAAa"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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";
@@ -10,27 +10,32 @@ import { focusSafely } from "@react-aria/interactions";
10
10
  * The owner side of `confirmDismiss`, for `DialogTrigger` and
11
11
  * `DialogContainer`. A passive dismissal (Escape, an outside click, the close
12
12
  * button) goes through `requestDismiss`, which asks "Discard changes?" first
13
- * while `confirmDismiss` is `true`, or, when it is unset, while a `DialogForm`
14
- * inside reports unsaved edits (or its own `confirmDismiss`) through
15
- * `registerUnsavedChanges`. Explicit actions (submit, Cancel, a `close` the
16
- * consumer calls) bypass it.
13
+ * while `confirmDismiss` is `true`, or, when it is unset, while a form inside
14
+ * (a modern `Form` root, or a legacy `DialogForm`) reports unsaved edits, or
15
+ * its own `confirmDismiss`, through `registerUnsavedChanges`. Explicit actions
16
+ * (submit, Cancel, a `close` the consumer calls) bypass it.
17
17
  *
18
18
  * The owner renders the question while `confirmationProps` is set:
19
19
  * `<DialogContainer {...confirmationProps}><DiscardChangesDialog /></DialogContainer>`.
20
20
  */
21
21
  function useDismissConfirmation(confirmDismiss, isDialogOpen) {
22
- const $ = c(19);
22
+ const $ = c(20);
23
23
  const [pending, setPending] = useState(null);
24
24
  const [hasAsked, setHasAsked] = useState(false);
25
- const hasUnsavedChanges = useRef(null);
25
+ let t0;
26
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
27
+ t0 = /* @__PURE__ */ new Set();
28
+ $[0] = t0;
29
+ } else t0 = $[0];
30
+ const unsavedChecks = useRef(t0);
26
31
  const answer = useRef(null);
27
32
  const lastFocused = useRef(null);
28
33
  const canAsk = isDialogOpen && confirmDismiss !== false;
29
34
  if (pending && !isDialogOpen) setPending(null);
30
- let t0;
31
35
  let t1;
32
- if ($[0] !== canAsk) {
33
- t0 = () => {
36
+ let t2;
37
+ if ($[1] !== canAsk) {
38
+ t1 = () => {
34
39
  if (!canAsk) return;
35
40
  if (document.activeElement !== document.body) lastFocused.current = document.activeElement;
36
41
  const onFocusIn = (event) => {
@@ -42,20 +47,20 @@ function useDismissConfirmation(confirmDismiss, isDialogOpen) {
42
47
  lastFocused.current = null;
43
48
  };
44
49
  };
45
- t1 = [canAsk];
46
- $[0] = canAsk;
47
- $[1] = t0;
50
+ t2 = [canAsk];
51
+ $[1] = canAsk;
48
52
  $[2] = t1;
53
+ $[3] = t2;
49
54
  } else {
50
- t0 = $[1];
51
55
  t1 = $[2];
56
+ t2 = $[3];
52
57
  }
53
- useEffect(t0, t1);
54
- let t2;
55
- if ($[3] !== confirmDismiss || $[4] !== pending) {
56
- t2 = function requestDismiss(dismiss) {
58
+ useEffect(t1, t2);
59
+ let requestDismiss;
60
+ if ($[4] !== confirmDismiss || $[5] !== pending) {
61
+ requestDismiss = function requestDismiss(dismiss) {
57
62
  if (pending) return;
58
- if (!(confirmDismiss ?? hasUnsavedChanges.current?.() ?? false)) {
63
+ if (!(confirmDismiss ?? hasUnsavedChanges())) {
59
64
  dismiss();
60
65
  return;
61
66
  }
@@ -66,24 +71,28 @@ function useDismissConfirmation(confirmDismiss, isDialogOpen) {
66
71
  });
67
72
  setHasAsked(true);
68
73
  };
69
- $[3] = confirmDismiss;
70
- $[4] = pending;
71
- $[5] = t2;
72
- } else t2 = $[5];
73
- const requestDismiss = t2;
74
+ function hasUnsavedChanges() {
75
+ for (const check of unsavedChecks.current) if (check()) return true;
76
+ return false;
77
+ }
78
+ $[4] = confirmDismiss;
79
+ $[5] = pending;
80
+ $[6] = requestDismiss;
81
+ } else requestDismiss = $[6];
74
82
  let t3;
75
- if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
76
- t3 = function registerUnsavedChanges(check) {
77
- hasUnsavedChanges.current = check;
83
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
84
+ t3 = function registerUnsavedChanges(check_0) {
85
+ const checks = unsavedChecks.current;
86
+ checks.add(check_0);
78
87
  return () => {
79
- if (hasUnsavedChanges.current === check) hasUnsavedChanges.current = null;
88
+ checks.delete(check_0);
80
89
  };
81
90
  };
82
- $[6] = t3;
83
- } else t3 = $[6];
91
+ $[7] = t3;
92
+ } else t3 = $[7];
84
93
  const registerUnsavedChanges = t3;
85
94
  let t4;
86
- if ($[7] !== pending) {
95
+ if ($[8] !== pending) {
87
96
  t4 = function settle(action) {
88
97
  if (!pending) return;
89
98
  answer.current = {
@@ -92,13 +101,13 @@ function useDismissConfirmation(confirmDismiss, isDialogOpen) {
92
101
  };
93
102
  setPending(null);
94
103
  };
95
- $[7] = pending;
96
- $[8] = t4;
97
- } else t4 = $[8];
104
+ $[8] = pending;
105
+ $[9] = t4;
106
+ } else t4 = $[9];
98
107
  const settle = t4;
99
108
  let t5;
100
109
  let t6;
101
- if ($[9] !== pending) {
110
+ if ($[10] !== pending) {
102
111
  t5 = () => {
103
112
  const settled = answer.current;
104
113
  if (pending || !settled) return;
@@ -108,36 +117,36 @@ function useDismissConfirmation(confirmDismiss, isDialogOpen) {
108
117
  if (settled.isDiscarded) settled.dismiss();
109
118
  };
110
119
  t6 = [pending];
111
- $[9] = pending;
112
- $[10] = t5;
113
- $[11] = t6;
120
+ $[10] = pending;
121
+ $[11] = t5;
122
+ $[12] = t6;
114
123
  } else {
115
- t5 = $[10];
116
- t6 = $[11];
124
+ t5 = $[11];
125
+ t6 = $[12];
117
126
  }
118
127
  useEffect(t5, t6);
119
128
  let t7;
120
- if ($[12] !== hasAsked || $[13] !== pending || $[14] !== settle) {
129
+ if ($[13] !== hasAsked || $[14] !== pending || $[15] !== settle) {
121
130
  t7 = hasAsked ? {
122
131
  isOpen: !!pending,
123
132
  onDismiss: settle
124
133
  } : null;
125
- $[12] = hasAsked;
126
- $[13] = pending;
127
- $[14] = settle;
128
- $[15] = t7;
129
- } else t7 = $[15];
134
+ $[13] = hasAsked;
135
+ $[14] = pending;
136
+ $[15] = settle;
137
+ $[16] = t7;
138
+ } else t7 = $[16];
130
139
  let t8;
131
- if ($[16] !== requestDismiss || $[17] !== t7) {
140
+ if ($[17] !== requestDismiss || $[18] !== t7) {
132
141
  t8 = {
133
142
  requestDismiss,
134
143
  registerUnsavedChanges,
135
144
  confirmationProps: t7
136
145
  };
137
- $[16] = requestDismiss;
138
- $[17] = t7;
139
- $[18] = t8;
140
- } else t8 = $[18];
146
+ $[17] = requestDismiss;
147
+ $[18] = t7;
148
+ $[19] = t8;
149
+ } else t8 = $[19];
141
150
  return t8;
142
151
  }
143
152
  /** The question `useDismissConfirmation` asks. Escape keeps editing. */
@@ -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","hasUnsavedChanges","answer","lastFocused","canAsk","t0","t1","document","activeElement","body","current","onFocusIn","event","target","addEventListener","removeEventListener","t2","requestDismiss","focused","t3","Symbol","for","registerUnsavedChanges","check","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 `DialogForm`\n * inside reports unsaved edits (or its own `confirmDismiss`) through\n * `registerUnsavedChanges`. Explicit actions (submit, Cancel, a `close` the\n * 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 const hasUnsavedChanges = useRef<(() => boolean) | null>(null);\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.current?.() ?? false)) {\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 registerUnsavedChanges(check: () => boolean) {\n hasUnsavedChanges.current = check;\n\n return () => {\n if (hasUnsavedChanges.current === check) hasUnsavedChanges.current = null;\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
+ {"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":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.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";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
2
2
  import { Block } from "../../Block.js";
3
3
  import { ItemActionProvider } from "../../actions/ItemActionContext.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
  //#region src/components/overlays/Notifications/NotificationContext.ts
4
4
  const ToastContext = createContext(null);
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { NotificationCard } from "./NotificationCard.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.204.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.206.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
3
3
  import { useViewportSize } from "../../../utils/react/useViewportSize.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -15,7 +15,7 @@ const ITEM_GAP = 8;
15
15
  const DEFAULT_ITEM_HEIGHT = 56;
16
16
  const OverlayContainerElement = tasty({ styles: {
17
17
  position: "fixed",
18
- top: "2x",
18
+ top: "(2x + ($overlay-inset-top, 0px))",
19
19
  left: "50%",
20
20
  transform: "translateX(-50%)",
21
21
  zIndex: 100,
@@ -25,7 +25,10 @@ const OverlayContainerElement = tasty({ styles: {
25
25
  } });
26
26
  const OverlayItemWrapper = tasty({ styles: {
27
27
  position: "absolute",
28
- top: "$item-top",
28
+ top: {
29
+ "": "$item-top",
30
+ isCollapsed: "($item-top - ($overlay-inset-top, 0px))"
31
+ },
29
32
  left: "50%",
30
33
  zIndex: {
31
34
  "": "auto",