@cube-dev/ui-kit 0.120.1 → 0.121.1

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 (540) hide show
  1. package/dist/CHANGELOG.md +20 -0
  2. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  3. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/dist/_internal/hooks/use-event.js +1 -1
  6. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +1 -1
  14. package/dist/components/GridProvider.js +1 -1
  15. package/dist/components/HiddenInput.js +1 -1
  16. package/dist/components/Root.js +1 -1
  17. package/dist/components/actions/Action/Action.js +1 -1
  18. package/dist/components/actions/Banner/Banner.js +1 -1
  19. package/dist/components/actions/Button/Button.d.ts +1 -0
  20. package/dist/components/actions/Button/Button.js +34 -14
  21. package/dist/components/actions/Button/Button.js.map +1 -1
  22. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  23. package/dist/components/actions/ButtonSplit/ButtonSplit.d.ts +47 -0
  24. package/dist/components/actions/ButtonSplit/ButtonSplit.js +105 -0
  25. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -0
  26. package/dist/components/actions/ButtonSplit/context.d.ts +18 -0
  27. package/dist/components/actions/ButtonSplit/context.js +12 -0
  28. package/dist/components/actions/ButtonSplit/context.js.map +1 -0
  29. package/dist/components/actions/ButtonSplit/index.d.ts +3 -0
  30. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  31. package/dist/components/actions/CommandMenu/styled.js +1 -1
  32. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  33. package/dist/components/actions/ItemActionContext.js +1 -1
  34. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  35. package/dist/components/actions/Link/Link.js +1 -1
  36. package/dist/components/actions/Menu/Menu.d.ts +2 -2
  37. package/dist/components/actions/Menu/Menu.js +1 -1
  38. package/dist/components/actions/Menu/MenuItem.js +1 -1
  39. package/dist/components/actions/Menu/MenuSection.js +1 -1
  40. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  41. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  42. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  43. package/dist/components/actions/Menu/context.js +1 -1
  44. package/dist/components/actions/Menu/styled.js +1 -1
  45. package/dist/components/actions/index.d.ts +8 -3
  46. package/dist/components/actions/index.js +10 -5
  47. package/dist/components/actions/index.js.map +1 -1
  48. package/dist/components/actions/use-action.d.ts +1 -0
  49. package/dist/components/actions/use-action.js +21 -18
  50. package/dist/components/actions/use-action.js.map +1 -1
  51. package/dist/components/actions/use-anchored-menu.js +1 -1
  52. package/dist/components/actions/use-context-menu.js +1 -1
  53. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  54. package/dist/components/content/Alert/Alert.js +1 -1
  55. package/dist/components/content/Alert/use-alert.js +1 -1
  56. package/dist/components/content/Avatar/Avatar.js +1 -1
  57. package/dist/components/content/Badge/Badge.js +2 -1
  58. package/dist/components/content/Badge/Badge.js.map +1 -1
  59. package/dist/components/content/Card/Card.js +1 -1
  60. package/dist/components/content/Content.js +1 -1
  61. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  62. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  63. package/dist/components/content/Disclosure/Disclosure.js +5 -2
  64. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  65. package/dist/components/content/Divider.js +1 -1
  66. package/dist/components/content/Footer.js +1 -1
  67. package/dist/components/content/Header.js +1 -1
  68. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  69. package/dist/components/content/Item/Item.js +1 -1
  70. package/dist/components/content/ItemBadge/ItemBadge.js +3 -2
  71. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  72. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  73. package/dist/components/content/Layout/GridLayout.js +1 -1
  74. package/dist/components/content/Layout/Layout.js +1 -1
  75. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  76. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  77. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  78. package/dist/components/content/Layout/LayoutContent.js +1 -1
  79. package/dist/components/content/Layout/LayoutContext.js +1 -1
  80. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  81. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  82. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  83. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  84. package/dist/components/content/Layout/LayoutPane.js +1 -1
  85. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  86. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  87. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  88. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  89. package/dist/components/content/Layout/index.js +1 -1
  90. package/dist/components/content/Layout/utils.js +1 -1
  91. package/dist/components/content/Paragraph.js +1 -1
  92. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  93. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  94. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  95. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  96. package/dist/components/content/Result/Result.js +1 -1
  97. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  98. package/dist/components/content/Tag/Tag.js +2 -1
  99. package/dist/components/content/Tag/Tag.js.map +1 -1
  100. package/dist/components/content/Text.js +1 -1
  101. package/dist/components/content/TextItem/TextItem.js +1 -1
  102. package/dist/components/content/Title.js +1 -1
  103. package/dist/components/content/highlightText.js +1 -1
  104. package/dist/components/content/use-auto-tooltip.js +1 -1
  105. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  106. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  107. package/dist/components/fields/Checkbox/context.js +1 -1
  108. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  109. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  110. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  111. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  112. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  113. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  114. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  115. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  116. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  117. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  118. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  119. package/dist/components/fields/DatePicker/intl.js +1 -1
  120. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  121. package/dist/components/fields/DatePicker/props.js +1 -1
  122. package/dist/components/fields/DatePicker/utils.js +1 -1
  123. package/dist/components/fields/FileInput/FileInput.js +1 -1
  124. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  125. package/dist/components/fields/FilterPicker/FilterPicker.js +2 -2
  126. package/dist/components/fields/Input/Input.js +1 -1
  127. package/dist/components/fields/ListBox/ListBox.js +1 -1
  128. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  129. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  130. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  131. package/dist/components/fields/Picker/Picker.js +2 -2
  132. package/dist/components/fields/RadioGroup/Radio.js +3 -1
  133. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  134. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  135. package/dist/components/fields/RadioGroup/context.js +1 -1
  136. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  137. package/dist/components/fields/Select/Select.d.ts +8 -2
  138. package/dist/components/fields/Select/Select.js +1 -1
  139. package/dist/components/fields/Select/Select.js.map +1 -1
  140. package/dist/components/fields/Slider/Gradation.js +1 -1
  141. package/dist/components/fields/Slider/HueSlider.js +1 -1
  142. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  143. package/dist/components/fields/Slider/Slider.js +1 -1
  144. package/dist/components/fields/Slider/SliderBase.js +1 -1
  145. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  146. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  147. package/dist/components/fields/Slider/elements.js +1 -1
  148. package/dist/components/fields/Slider/index.js +1 -1
  149. package/dist/components/fields/Switch/Switch.js +1 -1
  150. package/dist/components/fields/TextArea/TextArea.js +1 -1
  151. package/dist/components/fields/TextInput/TextInput.js +1 -1
  152. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  153. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  154. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  155. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  156. package/dist/components/form/Form/Field.js +1 -1
  157. package/dist/components/form/Form/Form.js +1 -1
  158. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  159. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  160. package/dist/components/form/Form/SubmitError.js +1 -1
  161. package/dist/components/form/Form/index.js +1 -1
  162. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  163. package/dist/components/form/Form/use-field/use-field.js +1 -1
  164. package/dist/components/form/Form/use-form.js +1 -1
  165. package/dist/components/form/Form/validation.js +1 -1
  166. package/dist/components/form/Label.js +1 -1
  167. package/dist/components/form/wrapper.js +1 -1
  168. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  169. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  170. package/dist/components/layout/Flex.js +1 -1
  171. package/dist/components/layout/Flow.js +1 -1
  172. package/dist/components/layout/Grid.js +1 -1
  173. package/dist/components/layout/Panel.js +1 -1
  174. package/dist/components/layout/Prefix.js +1 -1
  175. package/dist/components/layout/ResizablePanel.js +1 -1
  176. package/dist/components/layout/Space.js +1 -1
  177. package/dist/components/layout/Suffix.js +1 -1
  178. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  179. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  180. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  181. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  182. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  183. package/dist/components/navigation/Tabs/TabPicker.js +2 -1
  184. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  185. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  186. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  187. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  188. package/dist/components/navigation/Tabs/styled.js +3 -1
  189. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  190. package/dist/components/navigation/Tabs/types.d.ts +2 -2
  191. package/dist/components/navigation/Tabs/types.js +1 -1
  192. package/dist/components/navigation/Tabs/types.js.map +1 -1
  193. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  194. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  195. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  196. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  197. package/dist/components/other/Calendar/Calendar.js +1 -1
  198. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  199. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  200. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  201. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  202. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  203. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  204. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  205. package/dist/components/overlays/Dialog/Dialog.js +2 -2
  206. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  207. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  208. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  209. package/dist/components/overlays/Dialog/context.js +1 -1
  210. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  211. package/dist/components/overlays/Modal/Modal.js +1 -1
  212. package/dist/components/overlays/Modal/OpenTransition.js +1 -1
  213. package/dist/components/overlays/Modal/Overlay.js +1 -1
  214. package/dist/components/overlays/Modal/Popover.js +1 -1
  215. package/dist/components/overlays/Modal/Tray.js +1 -1
  216. package/dist/components/overlays/Modal/Underlay.js +1 -1
  217. package/dist/components/overlays/Notifications/Notification.js +1 -1
  218. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  219. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  220. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  221. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  222. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  223. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  224. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  225. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  226. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  227. package/dist/components/overlays/Notifications/index.js +1 -1
  228. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  229. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  230. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  231. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  232. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  233. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  234. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  235. package/dist/components/overlays/Toast/index.js +1 -1
  236. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  237. package/dist/components/overlays/Toast/useToast.js +1 -1
  238. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  239. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  240. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  241. package/dist/components/overlays/Tooltip/context.js +1 -1
  242. package/dist/components/portal/Portal.js +1 -1
  243. package/dist/components/portal/PortalProvider.js +1 -1
  244. package/dist/components/portal/usePortal.js +1 -1
  245. package/dist/components/shared/InvalidIcon.js +1 -1
  246. package/dist/components/shared/ValidIcon.js +1 -1
  247. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  248. package/dist/components/status/Spin/Cube.js +1 -1
  249. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  250. package/dist/components/status/Spin/Spin.js +1 -1
  251. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  252. package/dist/data/item-themes.js +6 -6
  253. package/dist/data/item-themes.js.map +1 -1
  254. package/dist/data/themes.js +1 -1
  255. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  256. package/dist/icons/AdjustmentsIcon.js +1 -1
  257. package/dist/icons/AiIcon.js +1 -1
  258. package/dist/icons/AreaChartIcon.js +1 -1
  259. package/dist/icons/BackwardIcon.js +1 -1
  260. package/dist/icons/BarChartIcon.js +1 -1
  261. package/dist/icons/BellFilledIcon.js +1 -1
  262. package/dist/icons/BellIcon.js +1 -1
  263. package/dist/icons/BooleanIcon.js +1 -1
  264. package/dist/icons/CalendarEditIcon.js +1 -1
  265. package/dist/icons/CalendarIcon.js +1 -1
  266. package/dist/icons/CaretDownIcon.js +1 -1
  267. package/dist/icons/CaretUpIcon.js +1 -1
  268. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  269. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  270. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  271. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  272. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  273. package/dist/icons/ChartBarLineIcon.js +1 -1
  274. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  275. package/dist/icons/ChartBarStackedIcon.js +1 -1
  276. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  277. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  278. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  279. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  280. package/dist/icons/ChartBubbleIcon.js +1 -1
  281. package/dist/icons/ChartDonut2Icon.js +1 -1
  282. package/dist/icons/ChartFunnelIcon.js +1 -1
  283. package/dist/icons/ChartHeatmapIcon.js +1 -1
  284. package/dist/icons/ChartKPIIcon.js +1 -1
  285. package/dist/icons/ChartPie2Icon.js +1 -1
  286. package/dist/icons/ChartScatterIcon.js +1 -1
  287. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  288. package/dist/icons/CheckCircleIcon.js +1 -1
  289. package/dist/icons/CheckIcon.js +1 -1
  290. package/dist/icons/CircleFilledIcon.js +1 -1
  291. package/dist/icons/ClearIcon.js +1 -1
  292. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  293. package/dist/icons/CloseCircleIcon.js +1 -1
  294. package/dist/icons/CloseIcon.js +1 -1
  295. package/dist/icons/CodeIcon.js +1 -1
  296. package/dist/icons/ColumnTotalIcon.js +1 -1
  297. package/dist/icons/CopyIcon.js +1 -1
  298. package/dist/icons/CountIcon.js +1 -1
  299. package/dist/icons/CubeIcon.js +1 -1
  300. package/dist/icons/CubePauseIcon.js +1 -1
  301. package/dist/icons/CubePlayIcon.js +1 -1
  302. package/dist/icons/CurrencyDollarIcon.js +1 -1
  303. package/dist/icons/DangerIcon.js +1 -1
  304. package/dist/icons/DashboardIcon.js +1 -1
  305. package/dist/icons/DatabaseIcon.js +1 -1
  306. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  307. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  308. package/dist/icons/DirectionIcon.js +1 -1
  309. package/dist/icons/DonutIcon.js +1 -1
  310. package/dist/icons/DownIcon.js +1 -1
  311. package/dist/icons/EditIcon.js +1 -1
  312. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  313. package/dist/icons/ExclamationCircleIcon.js +1 -1
  314. package/dist/icons/ExclamationIcon.js +1 -1
  315. package/dist/icons/EyeIcon.js +1 -1
  316. package/dist/icons/EyeInvisibleIcon.js +1 -1
  317. package/dist/icons/FilterIcon.js +1 -1
  318. package/dist/icons/FolderFilledIcon.js +1 -1
  319. package/dist/icons/FolderIcon.js +1 -1
  320. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  321. package/dist/icons/FolderOpenIcon.js +1 -1
  322. package/dist/icons/ForwardIcon.js +1 -1
  323. package/dist/icons/HierarchyIcon.js +1 -1
  324. package/dist/icons/HierarchyOpenIcon.js +1 -1
  325. package/dist/icons/Icon.js +1 -1
  326. package/dist/icons/InfoCircleIcon.js +1 -1
  327. package/dist/icons/InfoIcon.js +1 -1
  328. package/dist/icons/KeyIcon.js +1 -1
  329. package/dist/icons/LeftIcon.js +1 -1
  330. package/dist/icons/LineChartIcon.js +1 -1
  331. package/dist/icons/LoadingIcon.js +1 -1
  332. package/dist/icons/LockFilledIcon.js +1 -1
  333. package/dist/icons/LockIcon.js +1 -1
  334. package/dist/icons/MoreIcon.js +1 -1
  335. package/dist/icons/NotAllowedIcon.js +1 -1
  336. package/dist/icons/Number123Icon.js +1 -1
  337. package/dist/icons/NumberIcon.js +1 -1
  338. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  339. package/dist/icons/PauseCircleIcon.js +1 -1
  340. package/dist/icons/PauseIcon.js +1 -1
  341. package/dist/icons/PercentageIcon.js +1 -1
  342. package/dist/icons/PieChartIcon.js +1 -1
  343. package/dist/icons/PlayCircleIcon.js +1 -1
  344. package/dist/icons/PlayIcon.js +1 -1
  345. package/dist/icons/PlusIcon.js +1 -1
  346. package/dist/icons/ProgressBarIcon.js +1 -1
  347. package/dist/icons/ReloadIcon.js +1 -1
  348. package/dist/icons/ReportIcon.js +1 -1
  349. package/dist/icons/ReturnIcon.js +1 -1
  350. package/dist/icons/RightIcon.js +1 -1
  351. package/dist/icons/RowTotalsIcon.js +1 -1
  352. package/dist/icons/SchemeIcon.js +1 -1
  353. package/dist/icons/SearchIcon.js +1 -1
  354. package/dist/icons/SemanticQueryIcon.js +1 -1
  355. package/dist/icons/SettingsIcon.js +1 -1
  356. package/dist/icons/ShieldFilledIcon.js +1 -1
  357. package/dist/icons/ShieldIcon.js +1 -1
  358. package/dist/icons/SlashIcon.js +1 -1
  359. package/dist/icons/SparklesIcon.js +1 -1
  360. package/dist/icons/SqlIcon.js +1 -1
  361. package/dist/icons/StatsIcon.js +1 -1
  362. package/dist/icons/StopIcon.js +1 -1
  363. package/dist/icons/StringIcon.js +1 -1
  364. package/dist/icons/SubtotalsIcon.js +1 -1
  365. package/dist/icons/SwitchIcon.js +1 -1
  366. package/dist/icons/TableIcon.js +1 -1
  367. package/dist/icons/ThumbsDownIcon.js +1 -1
  368. package/dist/icons/ThumbsUpIcon.js +1 -1
  369. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  370. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  371. package/dist/icons/ThunderboltIcon.js +1 -1
  372. package/dist/icons/TimeIcon.js +1 -1
  373. package/dist/icons/TrashIcon.js +1 -1
  374. package/dist/icons/UnlockIcon.js +1 -1
  375. package/dist/icons/UpIcon.js +1 -1
  376. package/dist/icons/UserGroupIcon.js +1 -1
  377. package/dist/icons/UserIcon.js +1 -1
  378. package/dist/icons/UserLockIcon.js +1 -1
  379. package/dist/icons/ViewIcon.js +1 -1
  380. package/dist/icons/WarningFilledIcon.js +1 -1
  381. package/dist/icons/WarningIcon.js +1 -1
  382. package/dist/icons/wrap-icon.js +1 -1
  383. package/dist/index.d.ts +6 -4
  384. package/dist/index.js +7 -5
  385. package/dist/index.js.map +1 -1
  386. package/dist/provider.js +1 -1
  387. package/dist/providers/TrackingProvider.js +1 -1
  388. package/dist/providers/navigationAdapter.default.js +1 -1
  389. package/dist/tokens/base.js +1 -1
  390. package/dist/tokens/colors.js +1 -1
  391. package/dist/tokens/index.js +1 -1
  392. package/dist/tokens/layout.js +1 -1
  393. package/dist/tokens/shadows.js +1 -1
  394. package/dist/tokens/sizes.js +1 -1
  395. package/dist/tokens/spacing.js +1 -1
  396. package/dist/utils/ResizeSensor.js +1 -1
  397. package/dist/utils/is-dev-env.js +1 -1
  398. package/dist/utils/modules.js +1 -1
  399. package/dist/utils/promise.js +1 -1
  400. package/dist/utils/raf.js +1 -1
  401. package/dist/utils/random.js +1 -1
  402. package/dist/utils/range.js +1 -1
  403. package/dist/utils/react/RenderCache.js +1 -1
  404. package/dist/utils/react/Slots.js +1 -1
  405. package/dist/utils/react/chain.js +1 -1
  406. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  407. package/dist/utils/react/index.js +1 -1
  408. package/dist/utils/react/interactions.js +1 -1
  409. package/dist/utils/react/isTextOnly.js +1 -1
  410. package/dist/utils/react/mapProps.js +1 -1
  411. package/dist/utils/react/mergeProps.js +1 -1
  412. package/dist/utils/react/nullableValue.js +1 -1
  413. package/dist/utils/react/resolveIcon.js +1 -1
  414. package/dist/utils/react/sharedStore.js +1 -1
  415. package/dist/utils/react/useCombinedRefs.js +1 -1
  416. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  417. package/dist/utils/react/useEventBus.js +1 -1
  418. package/dist/utils/react/useId.js +1 -1
  419. package/dist/utils/react/useIsDarwin.js +1 -1
  420. package/dist/utils/react/useKeySymbols.js +1 -1
  421. package/dist/utils/react/useLayoutEffect.js +1 -1
  422. package/dist/utils/react/useLocalStorage.js +1 -1
  423. package/dist/utils/react/useMergeStyles.js +1 -1
  424. package/dist/utils/react/useQaProps.js +1 -1
  425. package/dist/utils/react/useViewportSize.js +1 -1
  426. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  427. package/dist/utils/tree.js +1 -1
  428. package/dist/utils/warnings.js +1 -1
  429. package/dist/version.js +2 -2
  430. package/docs/BaseProperties.md +78 -0
  431. package/docs/ComplexLayout.md +459 -0
  432. package/docs/CreateComponent.md +410 -0
  433. package/docs/FieldProperties.md +117 -0
  434. package/docs/Introduction.md +122 -0
  435. package/docs/RenderCache.md +177 -0
  436. package/docs/Result.md +42 -0
  437. package/docs/SimpleLayout.md +26 -0
  438. package/docs/Typography.md +38 -0
  439. package/docs/components/Block.md +33 -0
  440. package/docs/components/CollectionItem.md +293 -0
  441. package/docs/components/GridProvider.md +38 -0
  442. package/docs/components/Root.md +50 -0
  443. package/docs/components/actions/Action.md +47 -0
  444. package/docs/components/actions/Banner.md +195 -0
  445. package/docs/components/actions/Button.md +209 -0
  446. package/docs/components/actions/ButtonGroup.md +46 -0
  447. package/docs/components/actions/ButtonSplit.md +199 -0
  448. package/docs/components/actions/CommandMenu.md +422 -0
  449. package/docs/components/actions/ItemAction.md +60 -0
  450. package/docs/components/actions/ItemButton.md +316 -0
  451. package/docs/components/actions/Link.md +325 -0
  452. package/docs/components/actions/Menu.md +485 -0
  453. package/docs/components/actions/MenuTrigger.md +47 -0
  454. package/docs/components/actions/SubMenuTrigger.md +38 -0
  455. package/docs/components/actions/use-anchored-menu.md +209 -0
  456. package/docs/components/actions/use-context-menu.md +218 -0
  457. package/docs/components/content/ActiveZone.md +37 -0
  458. package/docs/components/content/Alert.md +40 -0
  459. package/docs/components/content/Avatar.md +37 -0
  460. package/docs/components/content/Badge.md +194 -0
  461. package/docs/components/content/Card.md +40 -0
  462. package/docs/components/content/Content.md +44 -0
  463. package/docs/components/content/CopyPasteBlock.md +36 -0
  464. package/docs/components/content/CopySnippet.md +43 -0
  465. package/docs/components/content/Disclosure.md +181 -0
  466. package/docs/components/content/Divider.md +39 -0
  467. package/docs/components/content/Footer.md +35 -0
  468. package/docs/components/content/Header.md +35 -0
  469. package/docs/components/content/HotKeys.md +352 -0
  470. package/docs/components/content/Item.md +499 -0
  471. package/docs/components/content/ItemBadge.md +31 -0
  472. package/docs/components/content/ItemCard.md +131 -0
  473. package/docs/components/content/Layout.md +843 -0
  474. package/docs/components/content/Paragraph.md +32 -0
  475. package/docs/components/content/Placeholder.md +37 -0
  476. package/docs/components/content/PrismCode.md +36 -0
  477. package/docs/components/content/PrismDiffCode.md +29 -0
  478. package/docs/components/content/Result.md +46 -0
  479. package/docs/components/content/Skeleton.md +35 -0
  480. package/docs/components/content/Tag.md +165 -0
  481. package/docs/components/content/Text.md +54 -0
  482. package/docs/components/content/TextItem.md +217 -0
  483. package/docs/components/content/Title.md +45 -0
  484. package/docs/components/fields/Checkbox.md +176 -0
  485. package/docs/components/fields/ComboBox.md +651 -0
  486. package/docs/components/fields/DatePicker.md +227 -0
  487. package/docs/components/fields/FileInput.md +194 -0
  488. package/docs/components/fields/FilterListBox.md +726 -0
  489. package/docs/components/fields/FilterPicker.md +776 -0
  490. package/docs/components/fields/HueSlider.md +175 -0
  491. package/docs/components/fields/ListBox.md +714 -0
  492. package/docs/components/fields/NumberInput.md +180 -0
  493. package/docs/components/fields/PasswordInput.md +214 -0
  494. package/docs/components/fields/Picker.md +906 -0
  495. package/docs/components/fields/RadioGroup.md +310 -0
  496. package/docs/components/fields/SearchInput.md +224 -0
  497. package/docs/components/fields/Select.md +576 -0
  498. package/docs/components/fields/Slider.md +53 -0
  499. package/docs/components/fields/Switch.md +169 -0
  500. package/docs/components/fields/TextArea.md +61 -0
  501. package/docs/components/fields/TextInput.md +205 -0
  502. package/docs/components/fields/TextInputMapper.md +34 -0
  503. package/docs/components/form/Field.md +333 -0
  504. package/docs/components/form/Form.md +644 -0
  505. package/docs/components/form/FormInstance.md +307 -0
  506. package/docs/components/helpers/DisplayTransition.md +268 -0
  507. package/docs/components/helpers/IconSwitch.md +160 -0
  508. package/docs/components/layout/Flex.md +51 -0
  509. package/docs/components/layout/Flow.md +32 -0
  510. package/docs/components/layout/Grid.md +46 -0
  511. package/docs/components/layout/Panel.md +65 -0
  512. package/docs/components/layout/Prefix.md +37 -0
  513. package/docs/components/layout/ResizablePanel.md +69 -0
  514. package/docs/components/layout/Space.md +44 -0
  515. package/docs/components/layout/Suffix.md +39 -0
  516. package/docs/components/navigation/Tabs.md +726 -0
  517. package/docs/components/organisms/FileTabs.md +39 -0
  518. package/docs/components/organisms/StatsCard.md +40 -0
  519. package/docs/components/other/CloudLogo.md +33 -0
  520. package/docs/components/overlays/AlertDialog.md +51 -0
  521. package/docs/components/overlays/Dialog.md +200 -0
  522. package/docs/components/overlays/DialogContainer.md +201 -0
  523. package/docs/components/overlays/DialogForm.md +295 -0
  524. package/docs/components/overlays/DialogTrigger.md +191 -0
  525. package/docs/components/overlays/Notifications.md +402 -0
  526. package/docs/components/overlays/Toast.md +289 -0
  527. package/docs/components/overlays/Tooltip.md +400 -0
  528. package/docs/components/overlays/TooltipProvider.md +42 -0
  529. package/docs/components/overlays/TooltipTrigger.md +42 -0
  530. package/docs/components/overlays/UseDialogContainer.md +597 -0
  531. package/docs/components/portal/Portal.md +29 -0
  532. package/docs/components/status/LoadingAnimation.md +27 -0
  533. package/docs/components/status/Spin.md +35 -0
  534. package/docs/tasty/configuration.md +211 -0
  535. package/docs/tasty/debug.md +505 -0
  536. package/docs/tasty/injector.md +528 -0
  537. package/docs/tasty/styles.md +567 -0
  538. package/docs/tasty/tasty-static.md +376 -0
  539. package/docs/tasty/usage.md +643 -0
  540. package/package.json +5 -9
@@ -0,0 +1,39 @@
1
+ # FileTabs
2
+
3
+ A tab bar for file-like items with close buttons and dirty state indicators. Designed for editor-style interfaces.
4
+
5
+ ## When to Use
6
+
7
+ - Code editors or file editors
8
+ - Multi-document interfaces
9
+ - Tabbed interfaces with close/dirty indicators
10
+
11
+ ## Properties
12
+
13
+ - **`activeKey`** `string` — Controlled active tab key
14
+ - **`defaultActiveKey`** `string` — Default active tab key (uncontrolled)
15
+ - **`onTabClick`** `(key: string) => void` — Callback when a tab is clicked
16
+ - **`onTabClose`** `(key: string) => void` — Callback when a tab's close button is clicked
17
+ - **`isClosable`** `boolean` (default: `true`) — Whether tabs can be closed
18
+ - **`paneStyles`** `Styles` — Custom styles for the tab pane area
19
+
20
+ ### Style Defaults
21
+
22
+ - Tab `radius` — `1r 1r 0 0`
23
+ - Tab `padding` — `1x 1.5x`
24
+ - Tab `fill` — `#dark.04` (active tabs use `#white`)
25
+ - Tab gap — `.5x`
26
+
27
+ ### Base Properties
28
+
29
+ Supports [Base properties](../../BaseProperties.md).
30
+
31
+ ## Examples
32
+
33
+ ```jsx
34
+ <FileTabs defaultActiveKey="1" onTabClose={(key) => removeTab(key)}>
35
+ <FileTabs.Tab key="1" title="index.ts" />
36
+ <FileTabs.Tab key="2" title="styles.css" isDirty />
37
+ <FileTabs.Tab key="3" title="readme.md" />
38
+ </FileTabs>
39
+ ```
@@ -0,0 +1,40 @@
1
+ # StatsCard
2
+
3
+ A card displaying a metric with title and value. Extends `Card` with a vertical layout showing label above value.
4
+
5
+ ## When to Use
6
+
7
+ - Dashboard metrics
8
+ - KPI displays
9
+ - Summary statistics
10
+
11
+ ## Properties
12
+
13
+ - **`title`** `ReactNode` — Label for the metric
14
+ - **`value`** `string | number | ReactNode` — The metric value
15
+ - **`suffix`** `string | number | ReactNode` — Optional suffix (e.g. unit, "%")
16
+
17
+ ### Style Defaults
18
+
19
+ Extends Card with:
20
+
21
+ - `display` — `flex`
22
+ - `placeContent` — `space-between`
23
+ - `gap` — `1x`
24
+ - `border` — none
25
+ - `shadow` — `0 2px 6px #dark.10`
26
+ - `padding` — `2.5x`
27
+
28
+ ### Base Properties
29
+
30
+ Extends [Card](../content/Card.md) and supports [Base properties](../../BaseProperties.md).
31
+
32
+ ## Examples
33
+
34
+ ```jsx
35
+ <StatsCard title="Users" value={1234} />
36
+
37
+ <StatsCard title="Growth" value={12} suffix="%" />
38
+
39
+ <StatsCard title="Revenue" value="$1.2M" />
40
+ ```
@@ -0,0 +1,33 @@
1
+ # CloudLogo
2
+
3
+ A Cube Cloud logo button. Extends `Button` with `type="clear"` and brand styling. Used for navigation branding in app headers.
4
+
5
+ ## When to Use
6
+
7
+ - App header branding
8
+ - Navigation to home/dashboard
9
+
10
+ ## Properties
11
+
12
+ Extends [Button](../actions/Button.md) props (`onPress`, `to`, `href`, etc.).
13
+
14
+ ### Style Defaults
15
+
16
+ - `type` — `clear`
17
+ - `padding` — `0`
18
+ - `gap` — `0`
19
+ - `fill` — `#clear`
20
+ - `border` — `0`
21
+ - `radius` — `0`
22
+
23
+ ### Base Properties
24
+
25
+ Supports [Base properties](../../BaseProperties.md).
26
+
27
+ ## Examples
28
+
29
+ ```jsx
30
+ <CloudLogo onPress={() => navigate('/')} />
31
+
32
+ <CloudLogo to="/" />
33
+ ```
@@ -0,0 +1,51 @@
1
+ # AlertDialog
2
+
3
+ A modal dialog for important messages that require user acknowledgment. Extends `Dialog` with predefined confirm/cancel actions. Not dismissable by default.
4
+
5
+ ## When to Use
6
+
7
+ - Confirmation dialogs
8
+ - Error or warning messages
9
+ - Destructive action confirmations
10
+
11
+ ## Properties
12
+
13
+ - **`title`** `string` — Dialog title
14
+ - **`content`** `ReactNode` — Dialog body content
15
+ - **`danger`** `boolean` — Applies danger styling for destructive actions
16
+ - **`noActions`** `boolean` — Hide the action buttons entirely
17
+ - **`actions`** `object` — Customize buttons:
18
+ - `confirm` — Confirm button props or `false` to hide (default: `{ label: 'Ok', type: 'primary' }`)
19
+ - `cancel` — Cancel button props or `true` to show (default: hidden, uses `{ label: 'Cancel' }`)
20
+ - `secondary` — Optional secondary button props
21
+
22
+ ### Base Properties
23
+
24
+ Extends [Dialog](./Dialog.md) and supports [Base properties](../../BaseProperties.md).
25
+
26
+ ## Examples
27
+
28
+ ### Confirmation dialog
29
+
30
+ ```jsx
31
+ <DialogTrigger>
32
+ <Button>Delete Item</Button>
33
+ <AlertDialog
34
+ title="Confirm Delete"
35
+ content="Are you sure you want to delete this item?"
36
+ actions={{
37
+ confirm: { label: 'Delete', type: 'danger' },
38
+ cancel: true,
39
+ }}
40
+ />
41
+ </DialogTrigger>
42
+ ```
43
+
44
+ ### Info dialog (confirm only)
45
+
46
+ ```jsx
47
+ <AlertDialog
48
+ title="Update Available"
49
+ content="A new version is available. Please refresh to update."
50
+ />
51
+ ```
@@ -0,0 +1,200 @@
1
+ # Dialog
2
+
3
+ Dialogs are windows containing contextual information, tasks, or workflows that appear over the user interface. Depending on the kind of Dialog, further interactions may be blocked until the Dialog is acknowledged.
4
+
5
+ ## When to Use
6
+
7
+ - Display important information or actions that require user attention
8
+ - Confirm or cancel user actions before proceeding
9
+ - Collect user input in a focused, contextual interface
10
+ - Show complex workflows or forms that need dedicated space
11
+ - Present alerts or notifications that require user acknowledgment
12
+
13
+ ## Component
14
+
15
+ ---
16
+
17
+ ### Properties
18
+
19
+ - **`children`** — Dialog content (Header, Content, Footer, etc.)
20
+ - **`size`** `'small' | 'medium' | 'large' | 'S' | 'M' | 'L'` (default: `S`) — Dialog size
21
+ - **`styles`** — Custom styles for the dialog root
22
+ - **`closeButtonStyles`** — Custom styles for the close button
23
+ - **`isDismissable`** `boolean` (default: `false`) — Whether the dialog is dismissable (shows close button, allows Escape key)
24
+ - **`onDismiss`** `function` — Callback fired when the dialog is dismissed
25
+ - **`closeIcon`** — Custom close icon element
26
+ - **`role`** `'dialog' | 'alertdialog'` (default: `dialog`) — ARIA role for the dialog
27
+ - **`onBlur`** `function` — Callback fired when the dialog loses focus
28
+ - **`onFocus`** `function` — Callback fired when the dialog receives focus
29
+
30
+ ### Base Properties
31
+
32
+ Supports [Base properties](../../BaseProperties.md)
33
+
34
+ ### Styling Properties
35
+
36
+ #### styles
37
+
38
+ Customizes the root element of the dialog.
39
+
40
+ **Sub-elements:**
41
+ - `Dialog` - The main dialog container
42
+ - `Content` - The content area wrapper
43
+ - `Header` - The header section wrapper
44
+ - `Footer` - The footer section wrapper
45
+
46
+ #### closeButtonStyles
47
+
48
+ Customizes the close button appearance.
49
+
50
+ ### Style Properties
51
+
52
+ These properties allow direct style application without using the `styles` prop: `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`, `reset`, `padding`, `paddingInline`, `paddingBlock`, `shadow`, `border`, `radius`, `opacity`, `overflow`, `scrollbar`, `hide`, `outline`, `textAlign`, `resize`.
53
+
54
+ ### Modifiers
55
+
56
+ The `mods` property accepts the following modifiers you can override:
57
+
58
+ - **`dismissable`** `boolean` — Applied when the dialog can be dismissed with close button or Escape key
59
+
60
+ ## Variants
61
+
62
+ ### Types
63
+
64
+ - `dialog` - Standard dialog for general content (default)
65
+ - `alertdialog` - Alert dialog for critical notifications or confirmations
66
+
67
+ ### Sizes
68
+
69
+ - `small` / `S` - Compact dialog for simple content (360px width)
70
+ - `medium` / `M` - Standard dialog for moderate content (479px width)
71
+ - `large` / `L` - Large dialog for complex content (798px width)
72
+
73
+ ## Examples
74
+
75
+ ### Basic Dialog
76
+
77
+ ```jsx
78
+ <Dialog>
79
+ <Header>
80
+ <Title>Dialog Title</Title>
81
+ </Header>
82
+ <Content>
83
+ <Paragraph>Dialog content goes here.</Paragraph>
84
+ </Content>
85
+ <Footer>
86
+ <Button onPress={close}>Close</Button>
87
+ </Footer>
88
+ </Dialog>
89
+ ```
90
+
91
+ ### Dismissable Dialog
92
+
93
+ ```jsx
94
+ <Dialog isDismissable onDismiss={close}>
95
+ <Header>
96
+ <Title>Dismissable Dialog</Title>
97
+ </Header>
98
+ <Content>
99
+ <Paragraph>You can close this dialog with the close button or Escape key.</Paragraph>
100
+ </Content>
101
+ </Dialog>
102
+ ```
103
+
104
+ ### Custom Size Dialog
105
+
106
+ ```jsx
107
+ <Dialog size="large">
108
+ <Header>
109
+ <Title>Large Dialog</Title>
110
+ </Header>
111
+ <Content>
112
+ <Paragraph>This dialog uses the large size variant.</Paragraph>
113
+ </Content>
114
+ </Dialog>
115
+ ```
116
+
117
+ ### Alert Dialog
118
+
119
+ ```jsx
120
+ <Dialog role="alertdialog">
121
+ <Header>
122
+ <Title>Confirm Action</Title>
123
+ </Header>
124
+ <Content>
125
+ <Paragraph>Are you sure you want to delete this item? This action cannot be undone.</Paragraph>
126
+ </Content>
127
+ <Footer>
128
+ <Button type="danger" onPress={confirmDelete}>Delete</Button>
129
+ <Button onPress={close}>Cancel</Button>
130
+ </Footer>
131
+ </Dialog>
132
+ ```
133
+
134
+ ## Accessibility
135
+
136
+ ### Keyboard Navigation
137
+
138
+ - `Tab` - Moves focus between interactive elements within the dialog
139
+ - `Shift + Tab` - Moves focus backward between interactive elements
140
+ - `Escape` - Dismisses the dialog if `isDismissable` is true
141
+ - `Enter/Space` - Activates focused buttons or interactive elements
142
+
143
+ ### Screen Reader Support
144
+
145
+ - Dialog announces as "dialog" or "alertdialog" based on role
146
+ - Focus is trapped within the dialog when open
147
+ - Focus returns to the trigger element when dialog closes
148
+ - Dialog title and content are properly announced
149
+ - State changes and actions are communicated to screen readers
150
+
151
+ ### ARIA Properties
152
+
153
+ - `aria-labelledby` - Links dialog to its title element automatically
154
+ - `aria-describedby` - Links dialog to its description content
155
+ - `aria-modal` - Set to true for modal dialogs to indicate exclusive interaction
156
+ - `role` - Set to "dialog" or "alertdialog" based on content type
157
+
158
+ ## Best Practices
159
+
160
+ 1. **Do**: Provide clear titles and actionable buttons
161
+ ```jsx
162
+ <Dialog>
163
+ <Header>
164
+ <Title>Save Changes</Title>
165
+ </Header>
166
+ <Content>
167
+ <Paragraph>Your changes will be saved to the document.</Paragraph>
168
+ </Content>
169
+ <Footer>
170
+ <Button type="primary" onPress={save}>Save</Button>
171
+ <Button onPress={close}>Cancel</Button>
172
+ </Footer>
173
+ </Dialog>
174
+ ```
175
+
176
+ 2. **Don't**: Use dialogs for trivial notifications
177
+ ```jsx
178
+ {/* Avoid using dialogs for simple success messages */}
179
+ <Dialog>
180
+ <Content>Item saved!</Content>
181
+ </Dialog>
182
+ ```
183
+
184
+ 3. **Accessibility**: Always provide a meaningful title for screen readers
185
+ 4. **Dismissal**: Use `isDismissable` for dialogs that users can close voluntarily
186
+ 5. **Focus Management**: Ensure focus moves to the most important action when dialog opens
187
+
188
+ ## Integration with Overlays
189
+
190
+ Dialog is typically used within `DialogTrigger` or `Modal` components for proper overlay management and positioning. It should not be rendered directly without an overlay container.
191
+
192
+ ## Suggested Improvements
193
+
194
+ - Enhancement 1: Add support for custom dialog animations and transitions
195
+ - Enhancement 2: Implement automatic focus management for complex form scenarios
196
+
197
+ ## Related Components
198
+
199
+ - [DialogTrigger](./DialogTrigger.md) - Manages dialog open/close state and positioning
200
+ - [AlertDialog](./AlertDialog.md) - Specialized component for alert scenarios
@@ -0,0 +1,201 @@
1
+ # DialogContainer
2
+
3
+ A DialogContainer accepts a single Dialog as a child, and manages to show and hide it in a modal. Useful in cases where there is no trigger element or when the trigger unmounts while the dialog is open.
4
+
5
+ ## When to Use
6
+
7
+ - When you need to display a dialog without a specific trigger element
8
+ - To prevent dialog closure when the trigger component unmounts
9
+ - For programmatically controlled dialogs in complex application flows
10
+ - When managing dialog state externally from the component hierarchy
11
+ - For dialogs that need to persist across route changes or component updates
12
+
13
+ ## Component
14
+
15
+ ---
16
+
17
+ ### Properties
18
+
19
+ - **`children`** — The Dialog to display, if any
20
+ - **`type`** `'modal' | 'fullscreen' | 'fullscreenTakeover' | 'panel'` (default: `modal`) — The type of Dialog that should be rendered
21
+ - **`isDismissable`** `boolean` (default: `false`) — Whether the Dialog is dismissible
22
+ - **`isKeyboardDismissDisabled`** `boolean` (default: `false`) — Whether pressing the escape key to close the dialog should be disabled
23
+ - **`isOpen`** `boolean` — Whether the modal is open or not
24
+ - **`onDismiss`** `function` — Handler called when the x button of a dismissible Dialog is clicked
25
+ - **`hideOnClose`** `boolean` (default: `false`) — Whether the dialog should be hidden when closed
26
+
27
+ ### Base Properties
28
+
29
+ Supports [Base properties](../../BaseProperties.md)
30
+
31
+ ### Styling Properties
32
+
33
+ DialogContainer has no styling capabilities.
34
+
35
+ ## Variants
36
+
37
+ ### Types
38
+
39
+ - `modal` - Standard modal dialog with backdrop (default)
40
+ - `fullscreen` - Takes up entire screen with padding
41
+ - `fullscreenTakeover` - Fullscreen without padding
42
+ - `panel` - Side panel overlay
43
+
44
+ ## Examples
45
+
46
+ ### Basic Usage
47
+
48
+ ```jsx
49
+ <DialogContainer isOpen={isDialogOpen} onDismiss={() => setIsDialogOpen(false)}>
50
+ <Dialog>
51
+ <Header>
52
+ <Title>Dialog Title</Title>
53
+ </Header>
54
+ <Content>
55
+ <Paragraph>Dialog content goes here.</Paragraph>
56
+ </Content>
57
+ </Dialog>
58
+ </DialogContainer>
59
+ ```
60
+
61
+ ### Controlled Dialog
62
+
63
+ ```jsx
64
+ function ControlledDialogExample() {
65
+ const [isOpen, setIsOpen] = useState(false);
66
+
67
+ return (
68
+ <>
69
+ <Button onPress={() => setIsOpen(true)}>Open Dialog</Button>
70
+ <DialogContainer
71
+ isOpen={isOpen}
72
+ isDismissable
73
+ onDismiss={() => setIsOpen(false)}
74
+ >
75
+ <Dialog>
76
+ <Header>
77
+ <Title>Controlled Dialog</Title>
78
+ </Header>
79
+ <Content>
80
+ <Paragraph>This dialog is controlled externally.</Paragraph>
81
+ </Content>
82
+ <Footer>
83
+ <Button onPress={() => setIsOpen(false)}>Close</Button>
84
+ </Footer>
85
+ </Dialog>
86
+ </DialogContainer>
87
+ </>
88
+ );
89
+ }
90
+ ```
91
+
92
+ ### Conditional Dialog
93
+
94
+ ```jsx
95
+ function ConditionalDialog() {
96
+ const [showDialog, setShowDialog] = useState(false);
97
+ const [dialogContent, setDialogContent] = useState(null);
98
+
99
+ const openDialog = (content) => {
100
+ setDialogContent(content);
101
+ setShowDialog(true);
102
+ };
103
+
104
+ return (
105
+ <DialogContainer isOpen={showDialog} onDismiss={() => setShowDialog(false)}>
106
+ {dialogContent && (
107
+ <Dialog>
108
+ <Header>
109
+ <Title>Dynamic Dialog</Title>
110
+ </Header>
111
+ <Content>
112
+ {dialogContent}
113
+ </Content>
114
+ </Dialog>
115
+ )}
116
+ </DialogContainer>
117
+ );
118
+ }
119
+ ```
120
+
121
+ ### Non-dismissable Dialog
122
+
123
+ ```jsx
124
+ <DialogContainer isOpen={isOpen} isDismissable={false}>
125
+ <Dialog>
126
+ <Header>
127
+ <Title>Important Notice</Title>
128
+ </Header>
129
+ <Content>
130
+ <Paragraph>This dialog requires user action to close.</Paragraph>
131
+ </Content>
132
+ <Footer>
133
+ <Button type="primary" onPress={handleAction}>
134
+ Take Action
135
+ </Button>
136
+ </Footer>
137
+ </Dialog>
138
+ </DialogContainer>
139
+ ```
140
+
141
+ ## Accessibility
142
+
143
+ ### Keyboard Navigation
144
+
145
+ - `Tab` - Moves focus between interactive elements within the dialog
146
+ - `Shift + Tab` - Moves focus backward between interactive elements
147
+ - `Escape` - Closes the dialog if `isDismissable` is true and `isKeyboardDismissDisabled` is false
148
+
149
+ ### Screen Reader Support
150
+
151
+ - Dialog announces as "dialog" to screen readers
152
+ - Focus is trapped within the dialog when open
153
+ - Focus management is handled automatically
154
+ - Modal state is properly communicated to assistive technologies
155
+
156
+ ### ARIA Properties
157
+
158
+ - `aria-modal` - Set to true to indicate modal behavior
159
+ - `aria-labelledby` - Links dialog to its title automatically
160
+ - `aria-describedby` - Links dialog to its description content
161
+ - `role` - Set to "dialog" for proper semantic meaning
162
+
163
+ ## Best Practices
164
+
165
+ 1. **Do**: Use DialogContainer for dialogs without specific triggers
166
+ ```jsx
167
+ <DialogContainer isOpen={showErrorDialog} onDismiss={clearError}>
168
+ <Dialog>
169
+ <Header>
170
+ <Title>Error</Title>
171
+ </Header>
172
+ <Content>
173
+ <Paragraph>{errorMessage}</Paragraph>
174
+ </Content>
175
+ </Dialog>
176
+ </DialogContainer>
177
+ ```
178
+
179
+ 2. **Don't**: Use DialogContainer when DialogTrigger is more appropriate
180
+ ```jsx
181
+ {/* Prefer DialogTrigger when you have a specific trigger */}
182
+ <DialogContainer isOpen={buttonPressed}>
183
+ <Dialog>...</Dialog>
184
+ </DialogContainer>
185
+ ```
186
+
187
+ 3. **State Management**: Always control the `isOpen` state externally
188
+ 4. **Single Child**: Only pass one Dialog as a child to DialogContainer
189
+ 5. **Cleanup**: Ensure proper cleanup of dialog state when component unmounts
190
+
191
+ ## Suggested Improvements
192
+
193
+ - Enhancement 1: Add support for dialog stacking and z-index management
194
+ - Enhancement 2: Implement automatic focus restoration after dialog closes
195
+ - Enhancement 3: Add support for custom backdrop click behavior
196
+
197
+ ## Related Components
198
+
199
+ - [DialogTrigger](./DialogTrigger.md) - Use when you have a specific trigger element
200
+ - [Dialog](./Dialog.md) - The content component used within DialogContainer
201
+ - [Button](../actions/Button.md) - Common element for dialog actions