@cube-dev/ui-kit 0.121.0 → 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 (516) hide show
  1. package/dist/CHANGELOG.md +6 -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.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/ItemButton/ItemButton.js +1 -1
  28. package/dist/components/actions/Link/Link.js +1 -1
  29. package/dist/components/actions/Menu/Menu.js +1 -1
  30. package/dist/components/actions/Menu/MenuItem.js +1 -1
  31. package/dist/components/actions/Menu/MenuSection.js +1 -1
  32. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  35. package/dist/components/actions/Menu/context.js +1 -1
  36. package/dist/components/actions/Menu/styled.js +1 -1
  37. package/dist/components/actions/index.js +1 -1
  38. package/dist/components/actions/use-action.js +1 -1
  39. package/dist/components/actions/use-anchored-menu.js +1 -1
  40. package/dist/components/actions/use-context-menu.js +1 -1
  41. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  42. package/dist/components/content/Alert/Alert.js +1 -1
  43. package/dist/components/content/Alert/use-alert.js +1 -1
  44. package/dist/components/content/Avatar/Avatar.js +1 -1
  45. package/dist/components/content/Badge/Badge.js +1 -1
  46. package/dist/components/content/Card/Card.js +1 -1
  47. package/dist/components/content/Content.js +1 -1
  48. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  49. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  50. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  51. package/dist/components/content/Divider.js +1 -1
  52. package/dist/components/content/Footer.js +1 -1
  53. package/dist/components/content/Header.js +1 -1
  54. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  55. package/dist/components/content/Item/Item.js +1 -1
  56. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  57. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  58. package/dist/components/content/Layout/GridLayout.js +1 -1
  59. package/dist/components/content/Layout/Layout.js +1 -1
  60. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  61. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  62. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  63. package/dist/components/content/Layout/LayoutContent.js +1 -1
  64. package/dist/components/content/Layout/LayoutContext.js +1 -1
  65. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  66. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  67. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  68. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  69. package/dist/components/content/Layout/LayoutPane.js +1 -1
  70. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  71. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  72. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  73. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  74. package/dist/components/content/Layout/index.js +1 -1
  75. package/dist/components/content/Layout/utils.js +1 -1
  76. package/dist/components/content/Paragraph.js +1 -1
  77. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  78. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  79. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  80. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  81. package/dist/components/content/Result/Result.js +1 -1
  82. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  83. package/dist/components/content/Tag/Tag.js +1 -1
  84. package/dist/components/content/Text.js +1 -1
  85. package/dist/components/content/TextItem/TextItem.js +1 -1
  86. package/dist/components/content/Title.js +1 -1
  87. package/dist/components/content/highlightText.js +1 -1
  88. package/dist/components/content/use-auto-tooltip.js +1 -1
  89. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  90. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  91. package/dist/components/fields/Checkbox/context.js +1 -1
  92. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  93. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  94. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  95. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  96. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  97. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  98. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  99. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  100. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  101. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  102. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  103. package/dist/components/fields/DatePicker/intl.js +1 -1
  104. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  105. package/dist/components/fields/DatePicker/props.js +1 -1
  106. package/dist/components/fields/DatePicker/utils.js +1 -1
  107. package/dist/components/fields/FileInput/FileInput.js +1 -1
  108. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  109. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  110. package/dist/components/fields/Input/Input.js +1 -1
  111. package/dist/components/fields/ListBox/ListBox.js +1 -1
  112. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  113. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  114. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  115. package/dist/components/fields/Picker/Picker.js +1 -1
  116. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  117. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  118. package/dist/components/fields/RadioGroup/context.js +1 -1
  119. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  120. package/dist/components/fields/Select/Select.d.ts +8 -2
  121. package/dist/components/fields/Select/Select.js +1 -1
  122. package/dist/components/fields/Select/Select.js.map +1 -1
  123. package/dist/components/fields/Slider/Gradation.js +1 -1
  124. package/dist/components/fields/Slider/HueSlider.js +1 -1
  125. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  126. package/dist/components/fields/Slider/Slider.js +1 -1
  127. package/dist/components/fields/Slider/SliderBase.js +1 -1
  128. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  129. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  130. package/dist/components/fields/Slider/elements.js +1 -1
  131. package/dist/components/fields/Slider/index.js +1 -1
  132. package/dist/components/fields/Switch/Switch.js +1 -1
  133. package/dist/components/fields/TextArea/TextArea.js +1 -1
  134. package/dist/components/fields/TextInput/TextInput.js +1 -1
  135. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  136. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  137. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  138. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  139. package/dist/components/form/Form/Field.js +1 -1
  140. package/dist/components/form/Form/Form.js +1 -1
  141. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  142. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  143. package/dist/components/form/Form/SubmitError.js +1 -1
  144. package/dist/components/form/Form/index.js +1 -1
  145. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  146. package/dist/components/form/Form/use-field/use-field.js +1 -1
  147. package/dist/components/form/Form/use-form.js +1 -1
  148. package/dist/components/form/Form/validation.js +1 -1
  149. package/dist/components/form/Label.js +1 -1
  150. package/dist/components/form/wrapper.js +1 -1
  151. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  152. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  153. package/dist/components/layout/Flex.js +1 -1
  154. package/dist/components/layout/Flow.js +1 -1
  155. package/dist/components/layout/Grid.js +1 -1
  156. package/dist/components/layout/Panel.js +1 -1
  157. package/dist/components/layout/Prefix.js +1 -1
  158. package/dist/components/layout/ResizablePanel.js +1 -1
  159. package/dist/components/layout/Space.js +1 -1
  160. package/dist/components/layout/Suffix.js +1 -1
  161. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  162. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  163. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  164. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  165. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  166. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  167. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  168. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  169. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  170. package/dist/components/navigation/Tabs/styled.js +1 -1
  171. package/dist/components/navigation/Tabs/types.js +1 -1
  172. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  173. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  174. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  175. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  176. package/dist/components/other/Calendar/Calendar.js +1 -1
  177. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  178. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  179. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  180. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  181. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  182. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  183. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  184. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  185. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  186. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  187. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  188. package/dist/components/overlays/Dialog/context.js +1 -1
  189. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  190. package/dist/components/overlays/Modal/Modal.js +1 -1
  191. package/dist/components/overlays/Modal/OpenTransition.js +1 -1
  192. package/dist/components/overlays/Modal/Overlay.js +1 -1
  193. package/dist/components/overlays/Modal/Popover.js +1 -1
  194. package/dist/components/overlays/Modal/Tray.js +1 -1
  195. package/dist/components/overlays/Modal/Underlay.js +1 -1
  196. package/dist/components/overlays/Notifications/Notification.js +1 -1
  197. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  198. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  199. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  200. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  201. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  202. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  203. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  204. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  205. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  206. package/dist/components/overlays/Notifications/index.js +1 -1
  207. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  208. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  209. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  210. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  211. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  212. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  213. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  214. package/dist/components/overlays/Toast/index.js +1 -1
  215. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  216. package/dist/components/overlays/Toast/useToast.js +1 -1
  217. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  218. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  219. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  220. package/dist/components/overlays/Tooltip/context.js +1 -1
  221. package/dist/components/portal/Portal.js +1 -1
  222. package/dist/components/portal/PortalProvider.js +1 -1
  223. package/dist/components/portal/usePortal.js +1 -1
  224. package/dist/components/shared/InvalidIcon.js +1 -1
  225. package/dist/components/shared/ValidIcon.js +1 -1
  226. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  227. package/dist/components/status/Spin/Cube.js +1 -1
  228. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  229. package/dist/components/status/Spin/Spin.js +1 -1
  230. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  231. package/dist/data/item-themes.js +1 -1
  232. package/dist/data/themes.js +1 -1
  233. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  234. package/dist/icons/AdjustmentsIcon.js +1 -1
  235. package/dist/icons/AiIcon.js +1 -1
  236. package/dist/icons/AreaChartIcon.js +1 -1
  237. package/dist/icons/BackwardIcon.js +1 -1
  238. package/dist/icons/BarChartIcon.js +1 -1
  239. package/dist/icons/BellFilledIcon.js +1 -1
  240. package/dist/icons/BellIcon.js +1 -1
  241. package/dist/icons/BooleanIcon.js +1 -1
  242. package/dist/icons/CalendarEditIcon.js +1 -1
  243. package/dist/icons/CalendarIcon.js +1 -1
  244. package/dist/icons/CaretDownIcon.js +1 -1
  245. package/dist/icons/CaretUpIcon.js +1 -1
  246. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  247. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  248. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  249. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  250. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  251. package/dist/icons/ChartBarLineIcon.js +1 -1
  252. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  253. package/dist/icons/ChartBarStackedIcon.js +1 -1
  254. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  255. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  256. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  257. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  258. package/dist/icons/ChartBubbleIcon.js +1 -1
  259. package/dist/icons/ChartDonut2Icon.js +1 -1
  260. package/dist/icons/ChartFunnelIcon.js +1 -1
  261. package/dist/icons/ChartHeatmapIcon.js +1 -1
  262. package/dist/icons/ChartKPIIcon.js +1 -1
  263. package/dist/icons/ChartPie2Icon.js +1 -1
  264. package/dist/icons/ChartScatterIcon.js +1 -1
  265. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  266. package/dist/icons/CheckCircleIcon.js +1 -1
  267. package/dist/icons/CheckIcon.js +1 -1
  268. package/dist/icons/CircleFilledIcon.js +1 -1
  269. package/dist/icons/ClearIcon.js +1 -1
  270. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  271. package/dist/icons/CloseCircleIcon.js +1 -1
  272. package/dist/icons/CloseIcon.js +1 -1
  273. package/dist/icons/CodeIcon.js +1 -1
  274. package/dist/icons/ColumnTotalIcon.js +1 -1
  275. package/dist/icons/CopyIcon.js +1 -1
  276. package/dist/icons/CountIcon.js +1 -1
  277. package/dist/icons/CubeIcon.js +1 -1
  278. package/dist/icons/CubePauseIcon.js +1 -1
  279. package/dist/icons/CubePlayIcon.js +1 -1
  280. package/dist/icons/CurrencyDollarIcon.js +1 -1
  281. package/dist/icons/DangerIcon.js +1 -1
  282. package/dist/icons/DashboardIcon.js +1 -1
  283. package/dist/icons/DatabaseIcon.js +1 -1
  284. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  285. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  286. package/dist/icons/DirectionIcon.js +1 -1
  287. package/dist/icons/DonutIcon.js +1 -1
  288. package/dist/icons/DownIcon.js +1 -1
  289. package/dist/icons/EditIcon.js +1 -1
  290. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  291. package/dist/icons/ExclamationCircleIcon.js +1 -1
  292. package/dist/icons/ExclamationIcon.js +1 -1
  293. package/dist/icons/EyeIcon.js +1 -1
  294. package/dist/icons/EyeInvisibleIcon.js +1 -1
  295. package/dist/icons/FilterIcon.js +1 -1
  296. package/dist/icons/FolderFilledIcon.js +1 -1
  297. package/dist/icons/FolderIcon.js +1 -1
  298. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  299. package/dist/icons/FolderOpenIcon.js +1 -1
  300. package/dist/icons/ForwardIcon.js +1 -1
  301. package/dist/icons/HierarchyIcon.js +1 -1
  302. package/dist/icons/HierarchyOpenIcon.js +1 -1
  303. package/dist/icons/Icon.js +1 -1
  304. package/dist/icons/InfoCircleIcon.js +1 -1
  305. package/dist/icons/InfoIcon.js +1 -1
  306. package/dist/icons/KeyIcon.js +1 -1
  307. package/dist/icons/LeftIcon.js +1 -1
  308. package/dist/icons/LineChartIcon.js +1 -1
  309. package/dist/icons/LoadingIcon.js +1 -1
  310. package/dist/icons/LockFilledIcon.js +1 -1
  311. package/dist/icons/LockIcon.js +1 -1
  312. package/dist/icons/MoreIcon.js +1 -1
  313. package/dist/icons/NotAllowedIcon.js +1 -1
  314. package/dist/icons/Number123Icon.js +1 -1
  315. package/dist/icons/NumberIcon.js +1 -1
  316. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  317. package/dist/icons/PauseCircleIcon.js +1 -1
  318. package/dist/icons/PauseIcon.js +1 -1
  319. package/dist/icons/PercentageIcon.js +1 -1
  320. package/dist/icons/PieChartIcon.js +1 -1
  321. package/dist/icons/PlayCircleIcon.js +1 -1
  322. package/dist/icons/PlayIcon.js +1 -1
  323. package/dist/icons/PlusIcon.js +1 -1
  324. package/dist/icons/ProgressBarIcon.js +1 -1
  325. package/dist/icons/ReloadIcon.js +1 -1
  326. package/dist/icons/ReportIcon.js +1 -1
  327. package/dist/icons/ReturnIcon.js +1 -1
  328. package/dist/icons/RightIcon.js +1 -1
  329. package/dist/icons/RowTotalsIcon.js +1 -1
  330. package/dist/icons/SchemeIcon.js +1 -1
  331. package/dist/icons/SearchIcon.js +1 -1
  332. package/dist/icons/SemanticQueryIcon.js +1 -1
  333. package/dist/icons/SettingsIcon.js +1 -1
  334. package/dist/icons/ShieldFilledIcon.js +1 -1
  335. package/dist/icons/ShieldIcon.js +1 -1
  336. package/dist/icons/SlashIcon.js +1 -1
  337. package/dist/icons/SparklesIcon.js +1 -1
  338. package/dist/icons/SqlIcon.js +1 -1
  339. package/dist/icons/StatsIcon.js +1 -1
  340. package/dist/icons/StopIcon.js +1 -1
  341. package/dist/icons/StringIcon.js +1 -1
  342. package/dist/icons/SubtotalsIcon.js +1 -1
  343. package/dist/icons/SwitchIcon.js +1 -1
  344. package/dist/icons/TableIcon.js +1 -1
  345. package/dist/icons/ThumbsDownIcon.js +1 -1
  346. package/dist/icons/ThumbsUpIcon.js +1 -1
  347. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  348. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  349. package/dist/icons/ThunderboltIcon.js +1 -1
  350. package/dist/icons/TimeIcon.js +1 -1
  351. package/dist/icons/TrashIcon.js +1 -1
  352. package/dist/icons/UnlockIcon.js +1 -1
  353. package/dist/icons/UpIcon.js +1 -1
  354. package/dist/icons/UserGroupIcon.js +1 -1
  355. package/dist/icons/UserIcon.js +1 -1
  356. package/dist/icons/UserLockIcon.js +1 -1
  357. package/dist/icons/ViewIcon.js +1 -1
  358. package/dist/icons/WarningFilledIcon.js +1 -1
  359. package/dist/icons/WarningIcon.js +1 -1
  360. package/dist/icons/wrap-icon.js +1 -1
  361. package/dist/index.js +1 -1
  362. package/dist/provider.js +1 -1
  363. package/dist/providers/TrackingProvider.js +1 -1
  364. package/dist/providers/navigationAdapter.default.js +1 -1
  365. package/dist/tokens/base.js +1 -1
  366. package/dist/tokens/colors.js +1 -1
  367. package/dist/tokens/index.js +1 -1
  368. package/dist/tokens/layout.js +1 -1
  369. package/dist/tokens/shadows.js +1 -1
  370. package/dist/tokens/sizes.js +1 -1
  371. package/dist/tokens/spacing.js +1 -1
  372. package/dist/utils/ResizeSensor.js +1 -1
  373. package/dist/utils/is-dev-env.js +1 -1
  374. package/dist/utils/modules.js +1 -1
  375. package/dist/utils/promise.js +1 -1
  376. package/dist/utils/raf.js +1 -1
  377. package/dist/utils/random.js +1 -1
  378. package/dist/utils/range.js +1 -1
  379. package/dist/utils/react/RenderCache.js +1 -1
  380. package/dist/utils/react/Slots.js +1 -1
  381. package/dist/utils/react/chain.js +1 -1
  382. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  383. package/dist/utils/react/index.js +1 -1
  384. package/dist/utils/react/interactions.js +1 -1
  385. package/dist/utils/react/isTextOnly.js +1 -1
  386. package/dist/utils/react/mapProps.js +1 -1
  387. package/dist/utils/react/mergeProps.js +1 -1
  388. package/dist/utils/react/nullableValue.js +1 -1
  389. package/dist/utils/react/resolveIcon.js +1 -1
  390. package/dist/utils/react/sharedStore.js +1 -1
  391. package/dist/utils/react/useCombinedRefs.js +1 -1
  392. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  393. package/dist/utils/react/useEventBus.js +1 -1
  394. package/dist/utils/react/useId.js +1 -1
  395. package/dist/utils/react/useIsDarwin.js +1 -1
  396. package/dist/utils/react/useKeySymbols.js +1 -1
  397. package/dist/utils/react/useLayoutEffect.js +1 -1
  398. package/dist/utils/react/useLocalStorage.js +1 -1
  399. package/dist/utils/react/useMergeStyles.js +1 -1
  400. package/dist/utils/react/useQaProps.js +1 -1
  401. package/dist/utils/react/useViewportSize.js +1 -1
  402. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  403. package/dist/utils/tree.js +1 -1
  404. package/dist/utils/warnings.js +1 -1
  405. package/dist/version.js +2 -2
  406. package/docs/BaseProperties.md +78 -0
  407. package/docs/ComplexLayout.md +459 -0
  408. package/docs/CreateComponent.md +410 -0
  409. package/docs/FieldProperties.md +117 -0
  410. package/docs/Introduction.md +122 -0
  411. package/docs/RenderCache.md +177 -0
  412. package/docs/Result.md +42 -0
  413. package/docs/SimpleLayout.md +26 -0
  414. package/docs/Typography.md +38 -0
  415. package/docs/components/Block.md +33 -0
  416. package/docs/components/CollectionItem.md +293 -0
  417. package/docs/components/GridProvider.md +38 -0
  418. package/docs/components/Root.md +50 -0
  419. package/docs/components/actions/Action.md +47 -0
  420. package/docs/components/actions/Banner.md +195 -0
  421. package/docs/components/actions/Button.md +209 -0
  422. package/docs/components/actions/ButtonGroup.md +46 -0
  423. package/docs/components/actions/ButtonSplit.md +199 -0
  424. package/docs/components/actions/CommandMenu.md +422 -0
  425. package/docs/components/actions/ItemAction.md +60 -0
  426. package/docs/components/actions/ItemButton.md +316 -0
  427. package/docs/components/actions/Link.md +325 -0
  428. package/docs/components/actions/Menu.md +485 -0
  429. package/docs/components/actions/MenuTrigger.md +47 -0
  430. package/docs/components/actions/SubMenuTrigger.md +38 -0
  431. package/docs/components/actions/use-anchored-menu.md +209 -0
  432. package/docs/components/actions/use-context-menu.md +218 -0
  433. package/docs/components/content/ActiveZone.md +37 -0
  434. package/docs/components/content/Alert.md +40 -0
  435. package/docs/components/content/Avatar.md +37 -0
  436. package/docs/components/content/Badge.md +194 -0
  437. package/docs/components/content/Card.md +40 -0
  438. package/docs/components/content/Content.md +44 -0
  439. package/docs/components/content/CopyPasteBlock.md +36 -0
  440. package/docs/components/content/CopySnippet.md +43 -0
  441. package/docs/components/content/Disclosure.md +181 -0
  442. package/docs/components/content/Divider.md +39 -0
  443. package/docs/components/content/Footer.md +35 -0
  444. package/docs/components/content/Header.md +35 -0
  445. package/docs/components/content/HotKeys.md +352 -0
  446. package/docs/components/content/Item.md +499 -0
  447. package/docs/components/content/ItemBadge.md +31 -0
  448. package/docs/components/content/ItemCard.md +131 -0
  449. package/docs/components/content/Layout.md +843 -0
  450. package/docs/components/content/Paragraph.md +32 -0
  451. package/docs/components/content/Placeholder.md +37 -0
  452. package/docs/components/content/PrismCode.md +36 -0
  453. package/docs/components/content/PrismDiffCode.md +29 -0
  454. package/docs/components/content/Result.md +46 -0
  455. package/docs/components/content/Skeleton.md +35 -0
  456. package/docs/components/content/Tag.md +165 -0
  457. package/docs/components/content/Text.md +54 -0
  458. package/docs/components/content/TextItem.md +217 -0
  459. package/docs/components/content/Title.md +45 -0
  460. package/docs/components/fields/Checkbox.md +176 -0
  461. package/docs/components/fields/ComboBox.md +651 -0
  462. package/docs/components/fields/DatePicker.md +227 -0
  463. package/docs/components/fields/FileInput.md +194 -0
  464. package/docs/components/fields/FilterListBox.md +726 -0
  465. package/docs/components/fields/FilterPicker.md +776 -0
  466. package/docs/components/fields/HueSlider.md +175 -0
  467. package/docs/components/fields/ListBox.md +714 -0
  468. package/docs/components/fields/NumberInput.md +180 -0
  469. package/docs/components/fields/PasswordInput.md +214 -0
  470. package/docs/components/fields/Picker.md +906 -0
  471. package/docs/components/fields/RadioGroup.md +310 -0
  472. package/docs/components/fields/SearchInput.md +224 -0
  473. package/docs/components/fields/Select.md +576 -0
  474. package/docs/components/fields/Slider.md +53 -0
  475. package/docs/components/fields/Switch.md +169 -0
  476. package/docs/components/fields/TextArea.md +61 -0
  477. package/docs/components/fields/TextInput.md +205 -0
  478. package/docs/components/fields/TextInputMapper.md +34 -0
  479. package/docs/components/form/Field.md +333 -0
  480. package/docs/components/form/Form.md +644 -0
  481. package/docs/components/form/FormInstance.md +307 -0
  482. package/docs/components/helpers/DisplayTransition.md +268 -0
  483. package/docs/components/helpers/IconSwitch.md +160 -0
  484. package/docs/components/layout/Flex.md +51 -0
  485. package/docs/components/layout/Flow.md +32 -0
  486. package/docs/components/layout/Grid.md +46 -0
  487. package/docs/components/layout/Panel.md +65 -0
  488. package/docs/components/layout/Prefix.md +37 -0
  489. package/docs/components/layout/ResizablePanel.md +69 -0
  490. package/docs/components/layout/Space.md +44 -0
  491. package/docs/components/layout/Suffix.md +39 -0
  492. package/docs/components/navigation/Tabs.md +726 -0
  493. package/docs/components/organisms/FileTabs.md +39 -0
  494. package/docs/components/organisms/StatsCard.md +40 -0
  495. package/docs/components/other/CloudLogo.md +33 -0
  496. package/docs/components/overlays/AlertDialog.md +51 -0
  497. package/docs/components/overlays/Dialog.md +200 -0
  498. package/docs/components/overlays/DialogContainer.md +201 -0
  499. package/docs/components/overlays/DialogForm.md +295 -0
  500. package/docs/components/overlays/DialogTrigger.md +191 -0
  501. package/docs/components/overlays/Notifications.md +402 -0
  502. package/docs/components/overlays/Toast.md +289 -0
  503. package/docs/components/overlays/Tooltip.md +400 -0
  504. package/docs/components/overlays/TooltipProvider.md +42 -0
  505. package/docs/components/overlays/TooltipTrigger.md +42 -0
  506. package/docs/components/overlays/UseDialogContainer.md +597 -0
  507. package/docs/components/portal/Portal.md +29 -0
  508. package/docs/components/status/LoadingAnimation.md +27 -0
  509. package/docs/components/status/Spin.md +35 -0
  510. package/docs/tasty/configuration.md +211 -0
  511. package/docs/tasty/debug.md +505 -0
  512. package/docs/tasty/injector.md +528 -0
  513. package/docs/tasty/styles.md +567 -0
  514. package/docs/tasty/tasty-static.md +376 -0
  515. package/docs/tasty/usage.md +643 -0
  516. package/package.json +4 -8
@@ -0,0 +1,295 @@
1
+ # DialogForm
2
+
3
+ DialogForm combines [Dialog](./Dialog.md) and [Form](../form/Form.md) functionality into a single component for collecting user input in a modal context. It provides automatic form submission handling, dialog closing, and default action buttons.
4
+
5
+ **Recommended Usage:** Use the [`useDialogContainer`](./UseDialogContainer.md) hook for programmatic control over DialogForm. This provides a cleaner API and better state management compared to `DialogTrigger`.
6
+
7
+ ## When to Use
8
+
9
+ - Collect user input in a focused modal interface
10
+ - Create forms that require user attention and confirmation
11
+ - Build edit dialogs, creation modals, or settings forms
12
+ - Handle form submission with automatic dialog closing
13
+
14
+ ## Component
15
+
16
+ ---
17
+
18
+ ### Properties
19
+
20
+ - **`title`** `string` — The title of the dialog
21
+ - **`danger`** `boolean` — Whether the submit button has a danger theme
22
+ - **`submitProps`** `CubeButtonProps` — Properties for submit button (use `label` to change text)
23
+ - **`cancelProps`** `CubeButtonProps` — Properties for cancel button (use `label` to change text)
24
+ - **`preserve`** `boolean` (default: `false`) — Preserve form values after submission/dismissal
25
+ - **`noActions`** `boolean` — Hide default action buttons to manually specify them
26
+
27
+ ### DialogForm-specific Properties
28
+
29
+ - **`title`** `string` — The title of the dialog
30
+ - **`danger`** `boolean` — Whether the submit button has a danger theme
31
+ - **`submitProps`** `CubeButtonProps` — Properties for submit button (use `label` to change text)
32
+ - **`cancelProps`** `CubeButtonProps` — Properties for cancel button (use `label` to change text)
33
+ - **`preserve`** `boolean` (default: `false`) — Preserve form values after submission/dismissal
34
+ - **`noActions`** `boolean` — Hide default action buttons to manually specify them
35
+
36
+ ### Inherited Properties
37
+
38
+ DialogForm inherits all properties from:
39
+ - **[Dialog](./Dialog.md)**: `size`, `isDismissable`, `closeIcon`, styling properties, etc.
40
+ - **[Form](../form/Form.md)**: `name`, `defaultValues`, `onSubmit`, `onSubmitFailed`, `onValuesChange`, `labelPosition`, `requiredMark`, validation properties, etc.
41
+
42
+ See the respective component documentation for complete property lists.
43
+
44
+ ### Base Properties
45
+
46
+ Supports [Base properties](../../BaseProperties.md)
47
+
48
+ ## Examples
49
+
50
+ ### Basic DialogForm (Recommended)
51
+
52
+ Using `useDialogContainer` for programmatic control:
53
+
54
+ ```jsx
55
+ import { useDialogContainer, DialogForm, Input, Button } from '@cube-dev/ui-kit';
56
+
57
+ function UserFormDialog({ onSubmit, initialData }) {
58
+ return (
59
+ <DialogForm
60
+ title="User Information"
61
+ defaultValues={initialData}
62
+ onSubmit={onSubmit}
63
+ >
64
+ <Input.Text
65
+ name="name"
66
+ label="Name"
67
+ rules={[{ required: true, message: 'Name is required' }]}
68
+ placeholder="Enter your name"
69
+ />
70
+ <Input.Text
71
+ name="email"
72
+ label="Email"
73
+ type="email"
74
+ rules={[
75
+ { required: true, message: 'Email is required' },
76
+ { type: 'email', message: 'Please enter a valid email' }
77
+ ]}
78
+ placeholder="Enter your email"
79
+ />
80
+ </DialogForm>
81
+ );
82
+ }
83
+
84
+ function App() {
85
+ const userDialog = useDialogContainer(UserFormDialog);
86
+
87
+ const openDialog = () => {
88
+ userDialog.open({
89
+ initialData: { name: '', email: '' },
90
+ onSubmit: async (data) => {
91
+ await saveUser(data);
92
+ userDialog.close();
93
+ }
94
+ });
95
+ };
96
+
97
+ return (
98
+ <>
99
+ <Button onPress={openDialog}>Add User</Button>
100
+ {userDialog.rendered}
101
+ </>
102
+ );
103
+ }
104
+ ```
105
+
106
+ ### With DialogTrigger (Alternative)
107
+
108
+ For simpler use cases, you can use `DialogTrigger`:
109
+
110
+ ```jsx
111
+ <DialogTrigger>
112
+ <Button>Open Form</Button>
113
+ <DialogForm
114
+ title="User Information"
115
+ onSubmit={async (data) => {
116
+ await saveUser(data);
117
+ }}
118
+ >
119
+ <Input.Text
120
+ name="name"
121
+ label="Name"
122
+ rules={[{ required: true }]}
123
+ placeholder="Enter your name"
124
+ />
125
+ <Input.Text
126
+ name="email"
127
+ label="Email"
128
+ type="email"
129
+ rules={[
130
+ { required: true },
131
+ { type: 'email', message: 'Please enter a valid email' }
132
+ ]}
133
+ placeholder="Enter your email"
134
+ />
135
+ </DialogForm>
136
+ </DialogTrigger>
137
+ ```
138
+
139
+ ### Danger DialogForm
140
+
141
+ ```jsx
142
+ <DialogForm
143
+ title="Delete Account"
144
+ danger
145
+ submitProps={{ label: 'Delete' }}
146
+ cancelProps={{ label: 'Keep Account' }}
147
+ onSubmit={async (data) => {
148
+ await deleteAccount(data.confirmation);
149
+ }}
150
+ >
151
+ <Input.Text
152
+ name="confirmation"
153
+ label="Type DELETE to confirm"
154
+ rules={[
155
+ { required: true },
156
+ { pattern: /^DELETE$/, message: 'Please type DELETE' }
157
+ ]}
158
+ />
159
+ </DialogForm>
160
+ ```
161
+
162
+ ### Custom Actions with Access to Dismiss
163
+
164
+ When you need custom action buttons, use `noActions` prop and the render function pattern:
165
+
166
+ ```jsx
167
+ <DialogForm
168
+ title="Advanced Form"
169
+ noActions
170
+ onSubmit={handleSubmit}
171
+ >
172
+ {(dismiss) => (
173
+ <>
174
+ <Input.Text name="field1" label="Field 1" />
175
+ <Input.Text name="field2" label="Field 2" />
176
+
177
+ <ButtonGroup>
178
+ <SubmitButton>Save</SubmitButton>
179
+ <Button onPress={() => {
180
+ saveAsDraft();
181
+ dismiss();
182
+ }}>
183
+ Save as Draft
184
+ </Button>
185
+ <Button onPress={dismiss}>Cancel</Button>
186
+ </ButtonGroup>
187
+ </>
188
+ )}
189
+ </DialogForm>
190
+ ```
191
+
192
+ ### Preserving Form Values
193
+
194
+ Use `preserve` prop to keep form values when reopening the dialog:
195
+
196
+ ```jsx
197
+ <DialogForm
198
+ title="Edit Draft"
199
+ preserve
200
+ defaultValues={draftData}
201
+ onSubmit={saveDraft}
202
+ >
203
+ <Input.Text name="title" label="Title" />
204
+ <TextArea name="content" label="Content" />
205
+ </DialogForm>
206
+ ```
207
+
208
+ ## Behavior
209
+
210
+ ### Form Submission
211
+
212
+ - On successful submission (`onSubmit`), the dialog automatically closes
213
+ - Form fields are automatically reset after closing (unless `preserve` is true)
214
+ - Reset happens after a 250ms delay to allow exit animations to complete
215
+
216
+ ### Dialog Dismissal
217
+
218
+ - When dismissed via cancel button or Escape key, form fields are reset (unless `preserve` is true)
219
+ - Both `onClose` (from dialog context) and `onDismiss` callbacks are triggered
220
+
221
+ ### Default Buttons
222
+
223
+ - **Submit Button**: Labeled "Submit" by default, automatically handles form submission and loading states
224
+ - **Cancel Button**: Labeled "Cancel" by default, dismisses the dialog and resets the form
225
+ - Both buttons can be customized via `submitProps` and `cancelProps`
226
+ - Hide default buttons with `noActions={true}` to provide custom actions
227
+
228
+ ## Accessibility
229
+
230
+ DialogForm combines accessibility features from both Dialog and Form:
231
+
232
+ ### Keyboard Navigation
233
+
234
+ - `Tab` / `Shift + Tab` - Navigate through form fields and buttons
235
+ - `Enter` - Submit the form (when on submit button)
236
+ - `Escape` - Dismiss the dialog (if `isDismissable` is true)
237
+
238
+ ### Screen Reader Support
239
+
240
+ - Dialog announces with proper title
241
+ - Form fields have proper label associations
242
+ - Validation errors are announced
243
+ - Submit/cancel actions are clearly communicated
244
+ - Focus management handles transitions between dialog open/close
245
+
246
+ See [Dialog Accessibility](./Dialog.md#accessibility) and [Form Accessibility](../form/Form.md#accessibility) for complete details.
247
+
248
+ ## Best Practices
249
+
250
+ 1. **Use useDialogContainer for programmatic control**: Preferred method for better state management
251
+ ```jsx
252
+ const dialog = useDialogContainer(MyFormDialog);
253
+ dialog.open({ initialData, onSubmit: handleSubmit });
254
+ ```
255
+
256
+ 2. **Provide clear titles**: Always set a descriptive `title` for context
257
+ ```jsx
258
+ <DialogForm title="Edit User Profile" onSubmit={save}>
259
+ ```
260
+
261
+ 3. **Use danger theme for destructive actions**: Apply `danger` for delete/remove operations
262
+ ```jsx
263
+ <DialogForm title="Delete Item" danger submitProps={{ label: 'Delete' }}>
264
+ ```
265
+
266
+ 4. **Customize button labels**: Make action buttons specific to the task
267
+ ```jsx
268
+ <DialogForm
269
+ title="Create Project"
270
+ submitProps={{ label: 'Create' }}
271
+ cancelProps={{ label: 'Discard' }}
272
+ >
273
+ ```
274
+
275
+ 5. **Handle submission errors**: Implement `onSubmitFailed` for error handling
276
+ ```jsx
277
+ <DialogForm
278
+ onSubmit={save}
279
+ onSubmitFailed={(error) => notify.error(error.message)}
280
+ >
281
+ ```
282
+
283
+ 6. **Use preserve for drafts**: Enable `preserve` when working with draft content
284
+ ```jsx
285
+ <DialogForm preserve title="Edit Draft" defaultValues={draft}>
286
+ ```
287
+
288
+ ## Related Components
289
+
290
+ - [useDialogContainer](./UseDialogContainer.md) - **Recommended hook for programmatic dialog control**
291
+ - [Dialog](./Dialog.md) - Base dialog component
292
+ - [Form](../form/Form.md) - Form component with validation
293
+ - [DialogTrigger](./DialogTrigger.md) - Alternative: manages dialog open/close state
294
+ - [AlertDialog](./AlertDialog.md) - For simple confirmations without forms
295
+
@@ -0,0 +1,191 @@
1
+ # DialogTrigger
2
+
3
+ DialogTrigger serves as a wrapper around a Dialog and its associated trigger, linking the Dialog's open state with the trigger's press state. Additionally, it allows you to customize the type and positioning of the Dialog.
4
+
5
+ ## When to Use
6
+
7
+ - When you need to open a Dialog in response to user interaction with a trigger element
8
+ - To display contextual information, forms, or workflows that require user attention
9
+ - When you want to control the positioning and behavior of overlay content
10
+ - For creating modal dialogs, popovers, trays, or fullscreen overlays
11
+
12
+ ## Component
13
+
14
+ ---
15
+
16
+ ### Properties
17
+
18
+ - **`children`** — The Dialog and its trigger element
19
+ - **`type`** `'modal' | 'popover' | 'tray' | 'fullscreen' | 'fullscreenTakeover' | 'panel'` (default: `modal`) — The type of Dialog that should be rendered
20
+ - **`mobileType`** `'modal' | 'tray' | 'fullscreen' | 'fullscreenTakeover' | 'panel' | 'popover'` — The type of Dialog that should be rendered when on a mobile device
21
+ - **`placement`** `'top' | 'bottom' | 'left' | 'right' | 'top start' | 'top end' | 'bottom start' | 'bottom end' | 'left top' | 'left bottom' | 'right top' | 'right bottom'` — The placement of the dialog relative to its trigger
22
+ - **`hideArrow`** `boolean` (default: `false`) — Whether a popover type Dialog's arrow should be hidden
23
+ - **`mobileViewport`** `number` (default: `700`) — The screen breakpoint for the mobile type
24
+ - **`isDismissable`** `boolean` (default: `true`) — Whether a modal type Dialog should be dismissable
25
+ - **`isKeyboardDismissDisabled`** `boolean` (default: `false`) — Whether pressing the escape key to close the dialog should be disabled
26
+ - **`isOpen`** `boolean` — Whether the dialog is open (controlled)
27
+ - **`defaultOpen`** `boolean` (default: `false`) — Whether the dialog is open by default (uncontrolled)
28
+ - **`offset`** `number` (default: `8`) — The additional offset applied along the main axis
29
+ - **`crossOffset`** `number` (default: `0`) — The additional offset applied along the cross axis
30
+ - **`containerPadding`** `number` (default: `12`) — The padding between the edge of the overlay and the boundary
31
+ - **`shouldFlip`** `boolean` (default: `true`) — Whether the overlay should flip positions when insufficient space
32
+ - **`onOpenChange`** `function` — Callback fired when the dialog open state changes
33
+ - **`onDismiss`** `function` — Callback fired when the dialog is dismissed
34
+ - **`targetRef`** — The ref of the element the Dialog should visually attach itself to
35
+ - **`styles`** — The style map for the overlay
36
+ - **`shouldCloseOnInteractOutside`** — Function to determine if overlay should close on outside interaction
37
+
38
+ ### Base Properties
39
+
40
+ Supports [Base properties](../../BaseProperties.md)
41
+
42
+ ### Styling Properties
43
+
44
+ DialogTrigger has no styling capabilities.
45
+
46
+ ## Variants
47
+
48
+ ### Types
49
+
50
+ - `modal` - Full modal dialog with backdrop (default)
51
+ - `popover` - Positioned relative to trigger element
52
+ - `tray` - Slides up from bottom on mobile
53
+ - `fullscreen` - Takes up entire screen
54
+ - `fullscreenTakeover` - Fullscreen without padding
55
+ - `panel` - Side panel overlay
56
+
57
+ ### Mobile Types
58
+
59
+ - `modal` - Mobile modal dialog
60
+ - `tray` - Bottom tray on mobile
61
+ - `fullscreen` - Mobile fullscreen
62
+ - `fullscreenTakeover` - Mobile fullscreen takeover
63
+ - `panel` - Mobile side panel
64
+ - `popover` - Mobile popover (not recommended)
65
+
66
+ ## Examples
67
+
68
+ ### Basic Modal
69
+
70
+ ```jsx
71
+ <DialogTrigger>
72
+ <Button>Open Dialog</Button>
73
+ <Dialog>
74
+ <Header>
75
+ <Title>Dialog Title</Title>
76
+ </Header>
77
+ <Content>
78
+ <Paragraph>Dialog content goes here.</Paragraph>
79
+ </Content>
80
+ </Dialog>
81
+ </DialogTrigger>
82
+ ```
83
+
84
+ ### Popover Dialog
85
+
86
+ ```jsx
87
+ <DialogTrigger type="popover" placement="bottom">
88
+ <Button>Show Popover</Button>
89
+ <Dialog>
90
+ <Content>
91
+ <Paragraph>Popover content</Paragraph>
92
+ </Content>
93
+ </Dialog>
94
+ </DialogTrigger>
95
+ ```
96
+
97
+ ### With Close Function
98
+
99
+ ```jsx
100
+ <DialogTrigger>
101
+ <Button>Open Dialog</Button>
102
+ {(close) => (
103
+ <Dialog>
104
+ <Header>
105
+ <Title>Confirm Action</Title>
106
+ </Header>
107
+ <Content>
108
+ <Paragraph>Are you sure you want to continue?</Paragraph>
109
+ </Content>
110
+ <Footer>
111
+ <Button onPress={close}>Cancel</Button>
112
+ <Button type="primary" onPress={close}>Confirm</Button>
113
+ </Footer>
114
+ </Dialog>
115
+ )}
116
+ </DialogTrigger>
117
+ ```
118
+
119
+ ### Controlled State
120
+
121
+ ```jsx
122
+ function ControlledDialog() {
123
+ const [isOpen, setIsOpen] = useState(false);
124
+
125
+ return (
126
+ <DialogTrigger isOpen={isOpen} onOpenChange={setIsOpen}>
127
+ <Button>Open Dialog</Button>
128
+ <Dialog>
129
+ <Content>
130
+ <Paragraph>Controlled dialog content</Paragraph>
131
+ </Content>
132
+ </Dialog>
133
+ </DialogTrigger>
134
+ );
135
+ }
136
+ ```
137
+
138
+ ## Accessibility
139
+
140
+ ### Keyboard Navigation
141
+
142
+ - `Enter/Space` - Opens the dialog when trigger is focused
143
+ - `Escape` - Closes the dialog (unless disabled)
144
+ - `Tab` - Cycles through focusable elements within the dialog
145
+
146
+ ### Screen Reader Support
147
+
148
+ - Dialog announces as "dialog" to screen readers
149
+ - Focus is trapped within the dialog when open
150
+ - Focus returns to trigger element when dialog closes
151
+ - Proper ARIA attributes are applied automatically
152
+
153
+ ### ARIA Properties
154
+
155
+ - `aria-haspopup` - Automatically applied to trigger element
156
+ - `aria-expanded` - Indicates dialog open state
157
+ - `aria-labelledby` - Links dialog to its title
158
+ - `aria-describedby` - Links dialog to its description
159
+
160
+ ## Best Practices
161
+
162
+ 1. **Do**: Provide clear trigger labels
163
+ ```jsx
164
+ <DialogTrigger>
165
+ <Button>Edit Profile</Button>
166
+ <Dialog>...</Dialog>
167
+ </DialogTrigger>
168
+ ```
169
+
170
+ 2. **Don't**: Use vague trigger text
171
+ ```jsx
172
+ <DialogTrigger>
173
+ <Button>Click</Button>
174
+ <Dialog>...</Dialog>
175
+ </DialogTrigger>
176
+ ```
177
+
178
+ 3. **Focus Management**: Always ensure focus returns properly after dialog closes
179
+ 4. **Mobile Considerations**: Use appropriate mobile types for better UX
180
+ 5. **Dismissible**: Make modal dialogs dismissible unless absolutely necessary
181
+
182
+ ## Suggested Improvements
183
+
184
+ - Enhancement 1: Add animation duration customization options
185
+ - Enhancement 2: Support for multiple dialog instances
186
+ - Enhancement 3: Improved positioning algorithms for complex layouts
187
+
188
+ ## Related Components
189
+
190
+ - [Dialog](./Dialog.md) - The content component used within DialogTrigger
191
+ - [Button](../actions/Button.md) - Common trigger element