@cube-dev/ui-kit 0.0.0-canary-c210a8c → 0.0.0-canary-60981ef

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 (462) hide show
  1. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +1 -1
  16. package/dist/components/actions/Action/Action.js +1 -1
  17. package/dist/components/actions/Banner/Banner.js +1 -1
  18. package/dist/components/actions/Button/Button.js +1 -1
  19. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  21. package/dist/components/actions/ButtonSplit/context.js +1 -1
  22. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  23. package/dist/components/actions/CommandMenu/styled.js +1 -1
  24. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  25. package/dist/components/actions/ItemActionContext.js +1 -1
  26. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  27. package/dist/components/actions/Link/Link.js +1 -1
  28. package/dist/components/actions/Menu/Menu.js +1 -1
  29. package/dist/components/actions/Menu/MenuItem.js +1 -1
  30. package/dist/components/actions/Menu/MenuSection.js +1 -1
  31. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  32. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  34. package/dist/components/actions/Menu/context.js +1 -1
  35. package/dist/components/actions/Menu/styled.js +1 -1
  36. package/dist/components/actions/index.js +1 -1
  37. package/dist/components/actions/use-action.js +1 -1
  38. package/dist/components/actions/use-anchored-menu.js +1 -1
  39. package/dist/components/actions/use-context-menu.js +1 -1
  40. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  41. package/dist/components/content/Alert/Alert.js +1 -1
  42. package/dist/components/content/Alert/use-alert.js +1 -1
  43. package/dist/components/content/Avatar/Avatar.js +1 -1
  44. package/dist/components/content/Badge/Badge.js +1 -1
  45. package/dist/components/content/Card/Card.js +1 -1
  46. package/dist/components/content/Content.js +1 -1
  47. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  48. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  49. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  50. package/dist/components/content/Divider.js +1 -1
  51. package/dist/components/content/Footer.js +1 -1
  52. package/dist/components/content/Header.js +1 -1
  53. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  54. package/dist/components/content/Item/Item.js +1 -1
  55. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  56. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  57. package/dist/components/content/Layout/GridLayout.js +1 -1
  58. package/dist/components/content/Layout/Layout.js +1 -1
  59. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  60. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  61. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  62. package/dist/components/content/Layout/LayoutContent.js +1 -1
  63. package/dist/components/content/Layout/LayoutContext.js +1 -1
  64. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  65. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  66. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  67. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  68. package/dist/components/content/Layout/LayoutPane.js +1 -1
  69. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  70. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  71. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  72. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  73. package/dist/components/content/Layout/index.js +1 -1
  74. package/dist/components/content/Layout/utils.js +1 -1
  75. package/dist/components/content/Paragraph.js +1 -1
  76. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  77. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  78. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  79. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  80. package/dist/components/content/Result/Result.js +1 -1
  81. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  82. package/dist/components/content/Tag/Tag.js +1 -1
  83. package/dist/components/content/Text.js +1 -1
  84. package/dist/components/content/TextItem/TextItem.js +1 -1
  85. package/dist/components/content/Title.js +1 -1
  86. package/dist/components/content/highlightText.js +1 -1
  87. package/dist/components/content/use-auto-tooltip.js +1 -1
  88. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  89. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  90. package/dist/components/fields/Checkbox/context.js +1 -1
  91. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  92. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  93. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  94. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  95. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  96. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  97. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  98. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  99. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  100. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  101. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  102. package/dist/components/fields/DatePicker/intl.js +1 -1
  103. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  104. package/dist/components/fields/DatePicker/props.js +1 -1
  105. package/dist/components/fields/DatePicker/utils.js +1 -1
  106. package/dist/components/fields/FileInput/FileInput.js +1 -1
  107. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  108. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  109. package/dist/components/fields/Input/Input.js +1 -1
  110. package/dist/components/fields/ListBox/ListBox.js +1 -1
  111. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  112. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  113. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  114. package/dist/components/fields/Picker/Picker.js +1 -1
  115. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  116. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  117. package/dist/components/fields/RadioGroup/context.js +1 -1
  118. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  119. package/dist/components/fields/Select/Select.js +1 -1
  120. package/dist/components/fields/Slider/Gradation.js +1 -1
  121. package/dist/components/fields/Slider/HueSlider.js +1 -1
  122. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  123. package/dist/components/fields/Slider/Slider.js +1 -1
  124. package/dist/components/fields/Slider/SliderBase.js +1 -1
  125. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  126. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  127. package/dist/components/fields/Slider/elements.js +1 -1
  128. package/dist/components/fields/Slider/index.js +1 -1
  129. package/dist/components/fields/Switch/Switch.js +1 -1
  130. package/dist/components/fields/TextArea/TextArea.js +1 -1
  131. package/dist/components/fields/TextInput/TextInput.js +1 -1
  132. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  133. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  134. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  135. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  136. package/dist/components/form/Form/Field.js +1 -1
  137. package/dist/components/form/Form/Form.js +1 -1
  138. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  139. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  140. package/dist/components/form/Form/SubmitError.js +1 -1
  141. package/dist/components/form/Form/index.js +1 -1
  142. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  143. package/dist/components/form/Form/use-field/use-field.js +1 -1
  144. package/dist/components/form/Form/use-form.js +1 -1
  145. package/dist/components/form/Form/validation.js +1 -1
  146. package/dist/components/form/Label.js +1 -1
  147. package/dist/components/form/wrapper.js +1 -1
  148. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  149. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  150. package/dist/components/layout/Flex.js +1 -1
  151. package/dist/components/layout/Flow.js +1 -1
  152. package/dist/components/layout/Grid.js +1 -1
  153. package/dist/components/layout/Panel.js +1 -1
  154. package/dist/components/layout/Prefix.js +1 -1
  155. package/dist/components/layout/ResizablePanel.js +1 -1
  156. package/dist/components/layout/Space.js +1 -1
  157. package/dist/components/layout/Suffix.js +1 -1
  158. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  159. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  160. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  161. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  162. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  163. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  164. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  165. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  166. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  167. package/dist/components/navigation/Tabs/styled.js +1 -1
  168. package/dist/components/navigation/Tabs/types.js +1 -1
  169. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  170. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  171. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  172. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  173. package/dist/components/other/Calendar/Calendar.js +1 -1
  174. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  175. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  176. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  177. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  178. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  179. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  180. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  181. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  182. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  183. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  184. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  185. package/dist/components/overlays/Dialog/context.js +1 -1
  186. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  187. package/dist/components/overlays/Modal/Modal.js +1 -1
  188. package/dist/components/overlays/Modal/OpenTransition.js +1 -1
  189. package/dist/components/overlays/Modal/Overlay.js +1 -1
  190. package/dist/components/overlays/Modal/Popover.js +1 -1
  191. package/dist/components/overlays/Modal/Tray.js +1 -1
  192. package/dist/components/overlays/Modal/Underlay.js +1 -1
  193. package/dist/components/overlays/Notifications/Notification.js +1 -1
  194. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  195. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  196. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  197. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  198. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  199. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  200. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  201. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  202. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  203. package/dist/components/overlays/Notifications/index.js +1 -1
  204. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  205. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  206. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  207. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  208. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  209. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  210. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  211. package/dist/components/overlays/Toast/index.js +1 -1
  212. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  213. package/dist/components/overlays/Toast/useToast.js +1 -1
  214. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  215. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  216. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  217. package/dist/components/overlays/Tooltip/context.js +1 -1
  218. package/dist/components/portal/Portal.js +1 -1
  219. package/dist/components/portal/PortalProvider.js +1 -1
  220. package/dist/components/portal/usePortal.js +1 -1
  221. package/dist/components/shared/InvalidIcon.js +1 -1
  222. package/dist/components/shared/ValidIcon.js +1 -1
  223. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  224. package/dist/components/status/Spin/Cube.js +1 -1
  225. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  226. package/dist/components/status/Spin/Spin.js +1 -1
  227. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  228. package/dist/data/item-themes.js +1 -1
  229. package/dist/data/themes.js +1 -1
  230. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  231. package/dist/icons/AdjustmentsIcon.js +1 -1
  232. package/dist/icons/AiIcon.js +1 -1
  233. package/dist/icons/AreaChartIcon.js +1 -1
  234. package/dist/icons/BackwardIcon.js +1 -1
  235. package/dist/icons/BarChartIcon.js +1 -1
  236. package/dist/icons/BellFilledIcon.js +1 -1
  237. package/dist/icons/BellIcon.js +1 -1
  238. package/dist/icons/BooleanIcon.js +1 -1
  239. package/dist/icons/CalendarEditIcon.js +1 -1
  240. package/dist/icons/CalendarIcon.js +1 -1
  241. package/dist/icons/CaretDownIcon.js +1 -1
  242. package/dist/icons/CaretUpIcon.js +1 -1
  243. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  244. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  245. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  246. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  247. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  248. package/dist/icons/ChartBarLineIcon.js +1 -1
  249. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  250. package/dist/icons/ChartBarStackedIcon.js +1 -1
  251. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  252. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  253. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  254. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  255. package/dist/icons/ChartBubbleIcon.js +1 -1
  256. package/dist/icons/ChartDonut2Icon.js +1 -1
  257. package/dist/icons/ChartFunnelIcon.js +1 -1
  258. package/dist/icons/ChartHeatmapIcon.js +1 -1
  259. package/dist/icons/ChartKPIIcon.js +1 -1
  260. package/dist/icons/ChartPie2Icon.js +1 -1
  261. package/dist/icons/ChartScatterIcon.js +1 -1
  262. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  263. package/dist/icons/CheckCircleIcon.js +1 -1
  264. package/dist/icons/CheckIcon.js +1 -1
  265. package/dist/icons/CircleFilledIcon.js +1 -1
  266. package/dist/icons/ClearIcon.js +1 -1
  267. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  268. package/dist/icons/CloseCircleIcon.js +1 -1
  269. package/dist/icons/CloseIcon.js +1 -1
  270. package/dist/icons/CodeIcon.js +1 -1
  271. package/dist/icons/ColumnTotalIcon.js +1 -1
  272. package/dist/icons/CopyIcon.js +1 -1
  273. package/dist/icons/CountIcon.js +1 -1
  274. package/dist/icons/CubeIcon.js +1 -1
  275. package/dist/icons/CubePauseIcon.js +1 -1
  276. package/dist/icons/CubePlayIcon.js +1 -1
  277. package/dist/icons/CurrencyDollarIcon.js +1 -1
  278. package/dist/icons/DangerIcon.js +1 -1
  279. package/dist/icons/DashboardIcon.js +1 -1
  280. package/dist/icons/DatabaseIcon.js +1 -1
  281. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  282. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  283. package/dist/icons/DirectionIcon.js +1 -1
  284. package/dist/icons/DonutIcon.js +1 -1
  285. package/dist/icons/DownIcon.js +1 -1
  286. package/dist/icons/EditIcon.js +1 -1
  287. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  288. package/dist/icons/ExclamationCircleIcon.js +1 -1
  289. package/dist/icons/ExclamationIcon.js +1 -1
  290. package/dist/icons/EyeIcon.js +1 -1
  291. package/dist/icons/EyeInvisibleIcon.js +1 -1
  292. package/dist/icons/FilterIcon.js +1 -1
  293. package/dist/icons/FolderFilledIcon.js +1 -1
  294. package/dist/icons/FolderIcon.js +1 -1
  295. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  296. package/dist/icons/FolderOpenIcon.js +1 -1
  297. package/dist/icons/ForwardIcon.js +1 -1
  298. package/dist/icons/HierarchyIcon.js +1 -1
  299. package/dist/icons/HierarchyOpenIcon.js +1 -1
  300. package/dist/icons/Icon.js +1 -1
  301. package/dist/icons/InfoCircleIcon.js +1 -1
  302. package/dist/icons/InfoIcon.js +1 -1
  303. package/dist/icons/KeyIcon.js +1 -1
  304. package/dist/icons/LeftIcon.js +1 -1
  305. package/dist/icons/LineChartIcon.js +1 -1
  306. package/dist/icons/LoadingIcon.js +1 -1
  307. package/dist/icons/LockFilledIcon.js +1 -1
  308. package/dist/icons/LockIcon.js +1 -1
  309. package/dist/icons/MoreIcon.js +1 -1
  310. package/dist/icons/NotAllowedIcon.js +1 -1
  311. package/dist/icons/Number123Icon.js +1 -1
  312. package/dist/icons/NumberIcon.js +1 -1
  313. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  314. package/dist/icons/PauseCircleIcon.js +1 -1
  315. package/dist/icons/PauseIcon.js +1 -1
  316. package/dist/icons/PercentageIcon.js +1 -1
  317. package/dist/icons/PieChartIcon.js +1 -1
  318. package/dist/icons/PlayCircleIcon.js +1 -1
  319. package/dist/icons/PlayIcon.js +1 -1
  320. package/dist/icons/PlusIcon.js +1 -1
  321. package/dist/icons/ProgressBarIcon.js +1 -1
  322. package/dist/icons/ReloadIcon.js +1 -1
  323. package/dist/icons/ReportIcon.js +1 -1
  324. package/dist/icons/ReturnIcon.js +1 -1
  325. package/dist/icons/RightIcon.js +1 -1
  326. package/dist/icons/RowTotalsIcon.js +1 -1
  327. package/dist/icons/SchemeIcon.js +1 -1
  328. package/dist/icons/SearchIcon.js +1 -1
  329. package/dist/icons/SemanticQueryIcon.js +1 -1
  330. package/dist/icons/SettingsIcon.js +1 -1
  331. package/dist/icons/ShieldFilledIcon.js +1 -1
  332. package/dist/icons/ShieldIcon.js +1 -1
  333. package/dist/icons/SlashIcon.js +1 -1
  334. package/dist/icons/SparklesIcon.js +1 -1
  335. package/dist/icons/SqlIcon.js +1 -1
  336. package/dist/icons/StatsIcon.js +1 -1
  337. package/dist/icons/StopIcon.js +1 -1
  338. package/dist/icons/StringIcon.js +1 -1
  339. package/dist/icons/SubtotalsIcon.js +1 -1
  340. package/dist/icons/SwitchIcon.js +1 -1
  341. package/dist/icons/TableIcon.js +1 -1
  342. package/dist/icons/ThumbsDownIcon.js +1 -1
  343. package/dist/icons/ThumbsUpIcon.js +1 -1
  344. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  345. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  346. package/dist/icons/ThunderboltIcon.js +1 -1
  347. package/dist/icons/TimeIcon.js +1 -1
  348. package/dist/icons/TrashIcon.js +1 -1
  349. package/dist/icons/UnlockIcon.js +1 -1
  350. package/dist/icons/UpIcon.js +1 -1
  351. package/dist/icons/UserGroupIcon.js +1 -1
  352. package/dist/icons/UserIcon.js +1 -1
  353. package/dist/icons/UserLockIcon.js +1 -1
  354. package/dist/icons/ViewIcon.js +1 -1
  355. package/dist/icons/WarningFilledIcon.js +1 -1
  356. package/dist/icons/WarningIcon.js +1 -1
  357. package/dist/icons/wrap-icon.js +1 -1
  358. package/dist/index.js +1 -1
  359. package/dist/provider.js +1 -1
  360. package/dist/providers/TrackingProvider.js +1 -1
  361. package/dist/providers/navigationAdapter.default.js +1 -1
  362. package/dist/tokens/base.js +1 -1
  363. package/dist/tokens/colors.js +1 -1
  364. package/dist/tokens/index.js +1 -1
  365. package/dist/tokens/layout.js +1 -1
  366. package/dist/tokens/shadows.js +1 -1
  367. package/dist/tokens/sizes.js +1 -1
  368. package/dist/tokens/spacing.js +1 -1
  369. package/dist/utils/ResizeSensor.js +1 -1
  370. package/dist/utils/is-dev-env.js +1 -1
  371. package/dist/utils/modules.js +1 -1
  372. package/dist/utils/promise.js +1 -1
  373. package/dist/utils/raf.js +1 -1
  374. package/dist/utils/random.js +1 -1
  375. package/dist/utils/range.js +1 -1
  376. package/dist/utils/react/RenderCache.js +1 -1
  377. package/dist/utils/react/Slots.js +1 -1
  378. package/dist/utils/react/chain.js +1 -1
  379. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  380. package/dist/utils/react/index.js +1 -1
  381. package/dist/utils/react/interactions.js +1 -1
  382. package/dist/utils/react/isTextOnly.js +1 -1
  383. package/dist/utils/react/mapProps.js +1 -1
  384. package/dist/utils/react/mergeProps.js +1 -1
  385. package/dist/utils/react/nullableValue.js +1 -1
  386. package/dist/utils/react/resolveIcon.js +1 -1
  387. package/dist/utils/react/sharedStore.js +1 -1
  388. package/dist/utils/react/useCombinedRefs.js +1 -1
  389. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  390. package/dist/utils/react/useEventBus.js +1 -1
  391. package/dist/utils/react/useId.js +1 -1
  392. package/dist/utils/react/useIsDarwin.js +1 -1
  393. package/dist/utils/react/useKeySymbols.js +1 -1
  394. package/dist/utils/react/useLayoutEffect.js +1 -1
  395. package/dist/utils/react/useLocalStorage.js +1 -1
  396. package/dist/utils/react/useMergeStyles.js +1 -1
  397. package/dist/utils/react/useQaProps.js +1 -1
  398. package/dist/utils/react/useViewportSize.js +1 -1
  399. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  400. package/dist/utils/tree.js +1 -1
  401. package/dist/utils/warnings.js +1 -1
  402. package/dist/version.js +2 -2
  403. package/docs/ComplexLayout.md +469 -0
  404. package/docs/CreateComponent.md +410 -0
  405. package/docs/Introduction.md +122 -0
  406. package/docs/RenderCache.md +172 -0
  407. package/docs/Result.md +35 -0
  408. package/docs/SimpleLayout.md +26 -0
  409. package/docs/Typography.md +38 -0
  410. package/docs/components/CollectionItem.md +299 -0
  411. package/docs/components/actions/Banner.md +189 -0
  412. package/docs/components/actions/Button.md +183 -0
  413. package/docs/components/actions/ButtonSplit.md +189 -0
  414. package/docs/components/actions/CommandMenu.md +430 -0
  415. package/docs/components/actions/ItemButton.md +304 -0
  416. package/docs/components/actions/Link.md +325 -0
  417. package/docs/components/actions/Menu.md +509 -0
  418. package/docs/components/actions/use-anchored-menu.md +211 -0
  419. package/docs/components/actions/use-context-menu.md +220 -0
  420. package/docs/components/content/Badge.md +187 -0
  421. package/docs/components/content/Disclosure.md +177 -0
  422. package/docs/components/content/HotKeys.md +352 -0
  423. package/docs/components/content/Item.md +488 -0
  424. package/docs/components/content/ItemCard.md +125 -0
  425. package/docs/components/content/Layout.md +866 -0
  426. package/docs/components/content/Tag.md +156 -0
  427. package/docs/components/content/TextItem.md +211 -0
  428. package/docs/components/fields/Checkbox.md +180 -0
  429. package/docs/components/fields/ComboBox.md +617 -0
  430. package/docs/components/fields/DatePicker.md +231 -0
  431. package/docs/components/fields/FileInput.md +197 -0
  432. package/docs/components/fields/FilterListBox.md +703 -0
  433. package/docs/components/fields/FilterPicker.md +736 -0
  434. package/docs/components/fields/HueSlider.md +175 -0
  435. package/docs/components/fields/ListBox.md +691 -0
  436. package/docs/components/fields/NumberInput.md +184 -0
  437. package/docs/components/fields/PasswordInput.md +218 -0
  438. package/docs/components/fields/Picker.md +884 -0
  439. package/docs/components/fields/RadioGroup.md +314 -0
  440. package/docs/components/fields/SearchInput.md +227 -0
  441. package/docs/components/fields/Select.md +583 -0
  442. package/docs/components/fields/Slider.md +53 -0
  443. package/docs/components/fields/Switch.md +174 -0
  444. package/docs/components/fields/TextArea.md +61 -0
  445. package/docs/components/fields/TextInput.md +204 -0
  446. package/docs/components/fields/TextInputMapper.md +34 -0
  447. package/docs/components/form/Field.md +341 -0
  448. package/docs/components/form/Form.md +455 -0
  449. package/docs/components/form/FormInstance.md +319 -0
  450. package/docs/components/helpers/DisplayTransition.md +259 -0
  451. package/docs/components/helpers/IconSwitch.md +156 -0
  452. package/docs/components/navigation/Tabs.md +704 -0
  453. package/docs/components/overlays/Dialog.md +202 -0
  454. package/docs/components/overlays/DialogContainer.md +201 -0
  455. package/docs/components/overlays/DialogForm.md +290 -0
  456. package/docs/components/overlays/DialogTrigger.md +191 -0
  457. package/docs/components/overlays/Notifications.md +406 -0
  458. package/docs/components/overlays/Toast.md +285 -0
  459. package/docs/components/overlays/Tooltip.md +371 -0
  460. package/docs/components/overlays/UseDialogContainer.md +603 -0
  461. package/package.json +1 -1
  462. package/docs/.gitignore +0 -3
@@ -0,0 +1,603 @@
1
+ # useDialogContainer
2
+
3
+ A generic React hook for managing dialog components programmatically. This hook provides a declarative way to control dialog state, including opening, updating, and closing dialogs, while handling all the necessary state management internally.
4
+
5
+ ## When to Use
6
+
7
+ - When you need programmatic control over dialog display without trigger elements
8
+ - For complex dialog flows that require external state management
9
+ - When you want to create reusable dialog patterns across your application
10
+ - For displaying dynamic dialogs based on application state or user actions
11
+ - When you need to update dialog content while it's open
12
+ - For dialogs that need to persist across component re-renders or navigation
13
+
14
+ ## Hook Signature
15
+
16
+ ```tsx
17
+ function useDialogContainer<P, E = ComponentProps<typeof DialogContainer>>(
18
+ Component: ComponentType<P>,
19
+ defaultContainerProps?: ComponentProps<typeof DialogContainer>
20
+ ): {
21
+ open: (props: P, containerProps?: E) => void;
22
+ update: (props: P, containerProps?: E) => void;
23
+ close: () => void;
24
+ rendered: ReactElement | null;
25
+ }
26
+ ```
27
+
28
+ ## Parameters
29
+
30
+ | Parameter | Type | Description |
31
+ |-----------|------|-------------|
32
+ | `Component` | `ComponentType<P>` | **Required.** A React component that represents the dialog content. Must accept props of type P. |
33
+ | `defaultContainerProps` | `ComponentProps<typeof DialogContainer>` | **Optional.** Default props to pass to the DialogContainer wrapper. |
34
+
35
+ ## Return Value
36
+
37
+ | Property | Type | Description |
38
+ |----------|------|-------------|
39
+ | `open` | `(props: P, containerProps?: E) => void` | Function to open the dialog with provided component props and optional container props. |
40
+ | `update` | `(props: P, containerProps?: E) => void` | Function to update dialog content while it's open. |
41
+ | `close` | `() => void` | Function to close the dialog. |
42
+ | `rendered` | `ReactElement \| null` | **Required.** JSX element that must be included in your component tree for the dialog to work. |
43
+
44
+ ## Generic Type Parameters
45
+
46
+ | Parameter | Description |
47
+ |-----------|-------------|
48
+ | `P` | The props type for your dialog component |
49
+ | `E` | The container props type (defaults to `ComponentProps<typeof DialogContainer>`) |
50
+
51
+ ## Examples
52
+
53
+ ### Basic Usage
54
+
55
+ ```tsx
56
+ import { useDialogContainer, Dialog, Header, Title, Content, Paragraph, Button } from '@cube-dev/ui-kit';
57
+
58
+ function MyDialog({ message, onConfirm }) {
59
+ return (
60
+ <Dialog>
61
+ <Header>
62
+ <Title>Confirmation</Title>
63
+ </Header>
64
+ <Content>
65
+ <Paragraph>{message}</Paragraph>
66
+ <Button onPress={onConfirm}>Confirm</Button>
67
+ </Content>
68
+ </Dialog>
69
+ );
70
+ }
71
+
72
+ function App() {
73
+ const dialog = useDialogContainer(MyDialog);
74
+
75
+ const handleClick = () => {
76
+ dialog.open({
77
+ message: 'Are you sure you want to continue?',
78
+ onConfirm: () => {
79
+ console.log('Confirmed!');
80
+ dialog.close();
81
+ }
82
+ });
83
+ };
84
+
85
+ return (
86
+ <div>
87
+ <Button onPress={handleClick}>Open Dialog</Button>
88
+ {dialog.rendered}
89
+ </div>
90
+ );
91
+ }
92
+ ```
93
+
94
+ ### With Default Container Props
95
+
96
+ ```tsx
97
+ import { useDialogContainer, Dialog } from '@cube-dev/ui-kit';
98
+
99
+ function CustomDialog({ title, children }) {
100
+ return (
101
+ <Dialog>
102
+ <Header>
103
+ <Title>{title}</Title>
104
+ </Header>
105
+ <Content>
106
+ {children}
107
+ </Content>
108
+ </Dialog>
109
+ );
110
+ }
111
+
112
+ function App() {
113
+ const dialog = useDialogContainer(CustomDialog, {
114
+ type: 'fullscreen',
115
+ isDismissable: true
116
+ });
117
+
118
+ const openDialog = () => {
119
+ dialog.open({
120
+ title: 'Settings',
121
+ children: <Paragraph>Configure your preferences here.</Paragraph>
122
+ });
123
+ };
124
+
125
+ return (
126
+ <div>
127
+ <Button onPress={openDialog}>Open Settings</Button>
128
+ {dialog.rendered}
129
+ </div>
130
+ );
131
+ }
132
+ ```
133
+
134
+ ### Dynamic Container Props
135
+
136
+ ```tsx
137
+ import { useDialogContainer, Dialog } from '@cube-dev/ui-kit';
138
+
139
+ function InfoDialog({ content, isUrgent }) {
140
+ return (
141
+ <Dialog>
142
+ <Header>
143
+ <Title>{isUrgent ? 'Urgent Notice' : 'Information'}</Title>
144
+ </Header>
145
+ <Content>
146
+ <Paragraph>{content}</Paragraph>
147
+ </Content>
148
+ </Dialog>
149
+ );
150
+ }
151
+
152
+ function App() {
153
+ const dialog = useDialogContainer(InfoDialog);
154
+
155
+ const showInfo = (content, isUrgent = false) => {
156
+ dialog.open(
157
+ { content, isUrgent },
158
+ {
159
+ type: isUrgent ? 'modal' : 'popover',
160
+ isDismissable: !isUrgent
161
+ }
162
+ );
163
+ };
164
+
165
+ return (
166
+ <div>
167
+ <Button onPress={() => showInfo('This is normal info')}>
168
+ Show Info
169
+ </Button>
170
+ <Button onPress={() => showInfo('This is urgent!', true)}>
171
+ Show Urgent
172
+ </Button>
173
+ {dialog.rendered}
174
+ </div>
175
+ );
176
+ }
177
+ ```
178
+
179
+ ### Form Dialog with Validation
180
+
181
+ ```tsx
182
+ import { useDialogContainer, DialogForm } from '@cube-dev/ui-kit';
183
+
184
+ function UserFormDialog({ onSubmit, initialData, onCancel }) {
185
+ return (
186
+ <DialogForm
187
+ title="User Information"
188
+ defaultValues={initialData}
189
+ onSubmit={onSubmit}
190
+ onDismiss={onCancel}
191
+ submitProps={{
192
+ label: 'Save User'
193
+ }}
194
+ cancelProps={{
195
+ label: 'Cancel'
196
+ }}
197
+ >
198
+ <Form.Item
199
+ name="name"
200
+ rules={[{ required: true, message: 'Name is required' }]}
201
+ >
202
+ <TextInput label="Name" />
203
+ </Form.Item>
204
+ <Form.Item
205
+ name="email"
206
+ rules={[
207
+ { required: true, message: 'Email is required' },
208
+ { type: 'email', message: 'Please enter a valid email' }
209
+ ]}
210
+ >
211
+ <TextInput label="Email" />
212
+ </Form.Item>
213
+ </DialogForm>
214
+ );
215
+ }
216
+
217
+ function App() {
218
+ const userDialog = useDialogContainer(UserFormDialog, {
219
+ isDismissable: true
220
+ });
221
+
222
+ const editUser = (userData) => {
223
+ userDialog.open({
224
+ initialData: userData,
225
+ onSubmit: async (values) => {
226
+ try {
227
+ await saveUser(values);
228
+ userDialog.close();
229
+ // Show success message
230
+ } catch (error) {
231
+ console.error('Failed to save user:', error);
232
+ // Handle error - form will stay open
233
+ }
234
+ },
235
+ onCancel: () => userDialog.close()
236
+ });
237
+ };
238
+
239
+ const addUser = () => {
240
+ userDialog.open({
241
+ initialData: {},
242
+ onSubmit: async (values) => {
243
+ try {
244
+ await createUser(values);
245
+ userDialog.close();
246
+ } catch (error) {
247
+ console.error('Failed to create user:', error);
248
+ }
249
+ },
250
+ onCancel: () => userDialog.close()
251
+ });
252
+ };
253
+
254
+ return (
255
+ <div>
256
+ <Button onPress={() => editUser({ name: 'John', email: 'john@example.com' })}>
257
+ Edit User
258
+ </Button>
259
+ <Button onPress={addUser}>
260
+ Add User
261
+ </Button>
262
+ {userDialog.rendered}
263
+ </div>
264
+ );
265
+ }
266
+ ```
267
+
268
+ ### Multiple Dialog Types
269
+
270
+ ```tsx
271
+ import { useDialogContainer, Dialog, AlertDialog } from '@cube-dev/ui-kit';
272
+
273
+ function ConfirmDialog({ message, onConfirm, onCancel, danger }) {
274
+ return (
275
+ <AlertDialog
276
+ title="Confirm Action"
277
+ content={message}
278
+ danger={danger}
279
+ actions={{
280
+ confirm: {
281
+ label: 'Confirm',
282
+ onPress: onConfirm
283
+ },
284
+ cancel: {
285
+ label: 'Cancel',
286
+ onPress: onCancel
287
+ }
288
+ }}
289
+ />
290
+ );
291
+ }
292
+
293
+ function InfoDialog({ title, content }) {
294
+ return (
295
+ <AlertDialog
296
+ title={title}
297
+ content={content}
298
+ actions={{
299
+ confirm: {
300
+ label: 'OK'
301
+ },
302
+ cancel: false
303
+ }}
304
+ />
305
+ );
306
+ }
307
+
308
+ function App() {
309
+ const confirmDialog = useDialogContainer(ConfirmDialog);
310
+ const infoDialog = useDialogContainer(InfoDialog, { isDismissable: true });
311
+
312
+ const deleteItem = () => {
313
+ confirmDialog.open({
314
+ message: 'This action cannot be undone. Continue?',
315
+ danger: true,
316
+ onConfirm: () => {
317
+ // Perform deletion
318
+ confirmDialog.close();
319
+ infoDialog.open({
320
+ title: 'Success',
321
+ content: 'Item has been deleted successfully.'
322
+ });
323
+ },
324
+ onCancel: () => confirmDialog.close()
325
+ });
326
+ };
327
+
328
+ return (
329
+ <div>
330
+ <Button onPress={deleteItem}>Delete Item</Button>
331
+ {confirmDialog.rendered}
332
+ {infoDialog.rendered}
333
+ </div>
334
+ );
335
+ }
336
+ ```
337
+
338
+ ### Error Boundary Integration
339
+
340
+ ```tsx
341
+ import { useDialogContainer, Dialog } from '@cube-dev/ui-kit';
342
+
343
+ function ErrorDialog({ error, onRetry, onDismiss }) {
344
+ return (
345
+ <Dialog>
346
+ <Header>
347
+ <Title>Error Occurred</Title>
348
+ </Header>
349
+ <Content>
350
+ <Paragraph>An error occurred: {error.message}</Paragraph>
351
+ </Content>
352
+ <Footer>
353
+ <Button type="primary" onPress={onRetry}>Retry</Button>
354
+ <Button onPress={onDismiss}>Dismiss</Button>
355
+ </Footer>
356
+ </Dialog>
357
+ );
358
+ }
359
+
360
+ function App() {
361
+ const errorDialog = useDialogContainer(ErrorDialog);
362
+
363
+ const handleError = (error, retryAction) => {
364
+ errorDialog.open({
365
+ error,
366
+ onRetry: () => {
367
+ errorDialog.close();
368
+ retryAction();
369
+ },
370
+ onDismiss: () => errorDialog.close()
371
+ });
372
+ };
373
+
374
+ const riskyOperation = async () => {
375
+ try {
376
+ await someApiCall();
377
+ } catch (error) {
378
+ handleError(error, riskyOperation);
379
+ }
380
+ };
381
+
382
+ return (
383
+ <div>
384
+ <Button onPress={riskyOperation}>Perform Operation</Button>
385
+ {errorDialog.rendered}
386
+ </div>
387
+ );
388
+ }
389
+ ```
390
+
391
+ ## Important Notes
392
+
393
+ ### Setup Requirement
394
+
395
+ The `rendered` property **must** be included in your component tree, or the hook will throw an error when `open`, `update`, or `close` functions are called.
396
+
397
+ ```tsx
398
+ // ✅ Correct usage
399
+ function App() {
400
+ const dialog = useDialogContainer(MyDialog);
401
+
402
+ return (
403
+ <div>
404
+ <Button onPress={() => dialog.open({ message: 'Hello' })}>Open</Button>
405
+ {dialog.rendered} {/* Required! */}
406
+ </div>
407
+ );
408
+ }
409
+
410
+ // ❌ Incorrect usage - will throw error
411
+ function App() {
412
+ const dialog = useDialogContainer(MyDialog);
413
+
414
+ return (
415
+ <div>
416
+ <Button onPress={() => dialog.open({ message: 'Hello' })}>Open</Button>
417
+ {/* Missing dialog.rendered - will cause error */}
418
+ </div>
419
+ );
420
+ }
421
+ ```
422
+
423
+ ### State Management
424
+
425
+ - The hook manages all dialog state internally
426
+ - Dialog state persists until the component using the hook unmounts
427
+ - Multiple calls to `open` will replace the current dialog content
428
+ - Calling `update` while dialog is closed has no effect but won't cause errors
429
+
430
+ ### Container Props Priority
431
+
432
+ When both `defaultContainerProps` and runtime `containerProps` are provided:
433
+ - Runtime `containerProps` override `defaultContainerProps`
434
+ - Deep merging is performed for nested objects
435
+ - Arrays are replaced entirely (no merging)
436
+
437
+ ## Best Practices
438
+
439
+ 1. **Always include `rendered`**: Place `{dialog.rendered}` in your component tree
440
+ ```tsx
441
+ return (
442
+ <div>
443
+ {/* Your UI */}
444
+ {dialog.rendered}
445
+ </div>
446
+ );
447
+ ```
448
+
449
+ 2. **Use TypeScript for type safety**: The hook automatically infers prop types from your dialog component
450
+ ```tsx
451
+ interface MyDialogProps {
452
+ title: string;
453
+ onConfirm: () => void;
454
+ }
455
+
456
+ function MyDialog(props: MyDialogProps) {
457
+ return <Dialog>{/* ... */}</Dialog>;
458
+ }
459
+
460
+ const dialog = useDialogContainer(MyDialog); // Props type is automatically inferred
461
+ ```
462
+
463
+ 3. **Handle cleanup in dialog components**: Ensure your dialog components handle their own cleanup
464
+ ```tsx
465
+ function MyDialog({ onClose, onSubmit }) {
466
+ const handleSubmit = async (data) => {
467
+ await onSubmit(data);
468
+ onClose(); // Close dialog after successful submission
469
+ };
470
+
471
+ return <Dialog>{/* ... */}</Dialog>;
472
+ }
473
+ ```
474
+
475
+ 4. **Use default container props for common patterns**: Set common dialog behaviors once
476
+ ```tsx
477
+ const dialog = useDialogContainer(MyDialog, {
478
+ isDismissable: true,
479
+ type: 'modal'
480
+ });
481
+ ```
482
+
483
+ 5. **Separate concerns**: Keep dialog content components focused and reusable
484
+ ```tsx
485
+ // Good: Focused dialog component
486
+ function ConfirmDialog({ message, onConfirm }) {
487
+ return <Dialog>{/* Simple confirmation UI */}</Dialog>;
488
+ }
489
+
490
+ // Avoid: Dialog component with complex business logic
491
+ function OverlyComplexDialog({ userId, permissions, settings }) {
492
+ // Too much business logic here
493
+ }
494
+ ```
495
+
496
+ ## Error Handling
497
+
498
+ The hook will throw an error if you attempt to call `open`, `update`, or `close` before the `rendered` element has been included in the component tree:
499
+
500
+ ```
501
+ Error: useDialogContainer: DialogContainer must be rendered. Use `rendered` property to include it in your component tree.
502
+ ```
503
+
504
+ To avoid this error, always ensure `dialog.rendered` is included in your JSX before calling dialog methods.
505
+
506
+ ## Performance Considerations
507
+
508
+ - The dialog content is only rendered when props are provided via `open` or `update`
509
+ - Dialog state is preserved during re-renders but reset when the component unmounts
510
+ - Use `React.memo` on dialog components if they receive complex props that change frequently
511
+ - Consider using `useMemo` for expensive dialog prop calculations
512
+
513
+ ## Related Components
514
+
515
+ - [DialogContainer](./DialogContainer.md) - The underlying container component
516
+ - [Dialog](./Dialog.md) - The dialog content component
517
+ - [DialogTrigger](./DialogTrigger.md) - Alternative for trigger-based dialogs
518
+
519
+ ## Migration from DialogContainer
520
+
521
+ If you're currently using `DialogContainer` with manual state management:
522
+
523
+ ```tsx
524
+ // Before (manual state management)
525
+ function App() {
526
+ const [isOpen, setIsOpen] = useState(false);
527
+ const [dialogProps, setDialogProps] = useState(null);
528
+
529
+ const openDialog = (props) => {
530
+ setDialogProps(props);
531
+ setIsOpen(true);
532
+ };
533
+
534
+ return (
535
+ <div>
536
+ <Button onPress={() => openDialog({ message: 'Hello' })}>Open</Button>
537
+ <DialogContainer isOpen={isOpen} onDismiss={() => setIsOpen(false)}>
538
+ {dialogProps && <MyDialog {...dialogProps} />}
539
+ </DialogContainer>
540
+ </div>
541
+ );
542
+ }
543
+
544
+ // After (using useDialogContainer)
545
+ function App() {
546
+ const dialog = useDialogContainer(MyDialog);
547
+
548
+ return (
549
+ <div>
550
+ <Button onPress={() => dialog.open({ message: 'Hello' })}>Open</Button>
551
+ {dialog.rendered}
552
+ </div>
553
+ );
554
+ }
555
+ ```
556
+
557
+ ## TypeScript Examples
558
+
559
+ ### Strict Typing
560
+
561
+ ```tsx
562
+ interface UserData {
563
+ id: string;
564
+ name: string;
565
+ email: string;
566
+ }
567
+
568
+ interface UserDialogProps {
569
+ user: UserData;
570
+ onSave: (user: UserData) => Promise<void>;
571
+ onCancel: () => void;
572
+ }
573
+
574
+ function UserDialog(props: UserDialogProps) {
575
+ return <Dialog>{/* ... */}</Dialog>;
576
+ }
577
+
578
+ const userDialog = useDialogContainer(UserDialog); // Props type automatically inferred
579
+
580
+ // TypeScript will enforce correct prop types
581
+ userDialog.open({
582
+ user: { id: '1', name: 'John', email: 'john@example.com' },
583
+ onSave: async (user) => { /* ... */ },
584
+ onCancel: () => userDialog.close()
585
+ });
586
+ ```
587
+
588
+ ### Custom Container Props Type
589
+
590
+ ```tsx
591
+ interface CustomContainerProps extends ComponentProps<typeof DialogContainer> {
592
+ customBehavior?: boolean;
593
+ }
594
+
595
+ function MyDialog(props: MyDialogProps) {
596
+ return <Dialog>{/* ... */}</Dialog>;
597
+ }
598
+
599
+ const dialog = useDialogContainer<MyDialogProps, CustomContainerProps>(
600
+ MyDialog,
601
+ { customBehavior: true }
602
+ );
603
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.0.0-canary-c210a8c",
3
+ "version": "0.0.0-canary-60981ef",
4
4
  "type": "module",
5
5
  "description": "UIKit for Cube Projects",
6
6
  "repository": {
package/docs/.gitignore DELETED
@@ -1,3 +0,0 @@
1
- *
2
- !.gitignore
3
- !tasty