@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,209 @@
1
+ # `useAnchoredMenu` Hook
2
+
3
+ ## Purpose
4
+
5
+ `useAnchoredMenu` is a React hook that enables components to display anchored menus (like `Menu` or `CommandMenu`) positioned relative to a specific anchor element. Unlike [`useContextMenu`](./use-context-menu.md) which positions at cursor coordinates, `useAnchoredMenu` anchors to an element, making it ideal for dropdown menus, popovers, or programmatically triggered menus attached to specific UI elements.
6
+
7
+ The hook provides a clean API for programmatic menu opening and automatic integration with the global menu synchronization system.
8
+
9
+ ## Related Components
10
+
11
+ - [`useContextMenu`](./use-context-menu.md) - For cursor-positioned context menus
12
+ - [`MenuTrigger`](./MenuTrigger.md) - The underlying trigger component used for positioning
13
+ - [`Menu`](./Menu.md) - The menu component typically used with this hook
14
+ - [`CommandMenu`](./CommandMenu.md) - Command palette component that can be used with this hook
15
+
16
+ ## API
17
+
18
+ ```ts
19
+ function useAnchoredMenu<P, T = ComponentProps<typeof MenuTrigger>>(
20
+ Component: ComponentType<P>,
21
+ defaultTriggerProps?: Omit<
22
+ ComponentProps<typeof MenuTrigger>,
23
+ 'children' | 'isOpen' | 'onOpenChange' | 'targetRef'
24
+ >,
25
+ defaultMenuProps?: P,
26
+ ): {
27
+ /** Ref to attach to the anchor element for positioning the menu. */
28
+ anchorRef: RefObject<HTMLElement>;
29
+
30
+ /**
31
+ * Programmatically opens the menu with the provided props.
32
+ * Runtime props are merged with defaultMenuProps (runtime props take precedence).
33
+ * @param props - Props to pass to the menu component (merged with defaultMenuProps)
34
+ * @param triggerProps - Additional props for MenuTrigger (merged with defaultTriggerProps)
35
+ */
36
+ open(props: P, triggerProps?: T): void;
37
+
38
+ /**
39
+ * Updates the props of the currently open menu.
40
+ * Props are merged with defaultMenuProps.
41
+ */
42
+ update(props: P, triggerProps?: T): void;
43
+
44
+ /** Closes the menu programmatically. */
45
+ close(): void;
46
+
47
+ /** Current open/closed state of the menu. */
48
+ isOpen: boolean;
49
+
50
+ /**
51
+ * JSX element that must be rendered in your component tree.
52
+ * Contains the MenuTrigger and positioning logic.
53
+ */
54
+ get rendered(): ReactElement | null;
55
+ };
56
+ ```
57
+
58
+ ### Parameters
59
+
60
+ - **`Component`** - The menu component to render (`Menu`, `CommandMenu`, etc.)
61
+ - **`defaultTriggerProps`** - Default props passed to `MenuTrigger` for positioning and behavior
62
+ - **`defaultMenuProps`** - Default props passed to the menu component (merged with runtime props)
63
+
64
+ ## Key Features
65
+
66
+ ### Programmatic Control
67
+
68
+ The hook provides full programmatic control over the menu:
69
+
70
+ - **`open()`** opens the menu with provided props
71
+ - **`update()`** updates menu props without closing/reopening
72
+ - **`close()`** closes the menu
73
+ - **No automatic triggering** - designed for manual control via events or state
74
+
75
+ ### Element-Based Positioning
76
+
77
+ Positions menus relative to the anchor element:
78
+
79
+ - Uses **`anchorRef`** for positioning context
80
+ - Supports **collision detection** and automatic repositioning via MenuTrigger
81
+ - **Default placement:** `"bottom start"`
82
+ - Customizable via `defaultTriggerProps` or runtime `triggerProps`
83
+
84
+ ### Props Merging Strategy
85
+
86
+ - **`defaultMenuProps`** - Used as base props for the menu component
87
+ - **Runtime props** (via `open()`/`update()`) - Merged with defaults, taking precedence
88
+ - **Trigger props** - Merged with `defaultTriggerProps` for positioning control
89
+
90
+ ### Menu Synchronization
91
+
92
+ Integrates with the global menu synchronization system:
93
+
94
+ - **Only one menu open** at a time across the entire application
95
+ - **Automatic closing** when other menus open
96
+ - **Works with** `MenuTrigger`, `useContextMenu`, `Select`, `ComboBox`, etc.
97
+
98
+ ## Usage
99
+
100
+ ```tsx
101
+ import { useAnchoredMenu, Menu, Button, Flex } from '@cube-dev/ui-kit';
102
+ import { IconDotsVertical } from '@tabler/icons-react';
103
+
104
+ function TabWithMultipleTriggers() {
105
+ const menu = useAnchoredMenu(
106
+ Menu,
107
+ {
108
+ placement: 'top end',
109
+ },
110
+ {
111
+ // Default menu props applied to all menu opens
112
+ onAction: (key) => {
113
+ console.log('Tab action:', key);
114
+ },
115
+ children: (
116
+ <>
117
+ <Menu.Item key="rename">Rename Tab</Menu.Item>
118
+ <Menu.Item key="duplicate">Duplicate Tab</Menu.Item>
119
+ <Menu.Item key="close">Close Tab</Menu.Item>
120
+ <Menu.Item key="close-others">Close Other Tabs</Menu.Item>
121
+ </>
122
+ ),
123
+ }
124
+ );
125
+
126
+ const openTab = () => {
127
+ console.log('Opening tab...');
128
+ };
129
+
130
+ const openActionsMenu = () => {
131
+ // Opens with default props - no need to pass them again
132
+ menu.open();
133
+ };
134
+
135
+ const handleRightClick = (event) => {
136
+ event.preventDefault();
137
+ openActionsMenu(event);
138
+ };
139
+
140
+ return (
141
+ <>
142
+ <Flex
143
+ ref={menu.anchorRef}
144
+ display="inline-flex"
145
+ onContextMenu={handleRightClick}
146
+ >
147
+ <Button size="small" radius="left" onPress={openTab}>
148
+ Open file
149
+ </Button>
150
+
151
+ <Button
152
+ size="small"
153
+ icon={<IconDotsVertical />}
154
+ aria-label="Tab actions"
155
+ padding="1x"
156
+ radius="right"
157
+ margin="-1bw left"
158
+ onPress={openActionsMenu}
159
+ />
160
+ </Flex>
161
+
162
+ {menu.rendered}
163
+ </>
164
+ );
165
+ }
166
+ ```
167
+
168
+ This example demonstrates how `defaultMenuProps` simplifies menu usage by defining common menu content once:
169
+
170
+ 1. **Click the dots button** to open the actions menu
171
+ 2. **Right-click anywhere on the tab** to also open the same actions menu
172
+
173
+ The menu content and behavior are defined in `defaultMenuProps`, eliminating the need to pass the same props repeatedly. Both triggers share the same anchor point (`menu.anchorRef`) and use the predefined menu configuration, showcasing how `defaultMenuProps` reduces code duplication in complex UI interactions.
174
+
175
+ > **Important:** The `{rendered}` element must be placed in the component tree such that the MenuTrigger can properly position relative to the anchorRef. Typically, place it adjacent to the anchor element.
176
+
177
+ ## Comparison with Related Hooks
178
+
179
+ - **`Positioning`** — useAnchoredMenu: Element-anchored; useContextMenu: Cursor coordinates
180
+ - **`Trigger`** — useAnchoredMenu: Manual (programmatic); useContextMenu: Right-click (automatic)
181
+ - **`Event Binding`** — useAnchoredMenu: Manual event handling; useContextMenu: Automatic `onContextMenu`
182
+ - **`Use Cases`** — useAnchoredMenu: Dropdown menus, action buttons; useContextMenu: Context menus, right-click actions
183
+ - **`Default Placement`** — Both: `"bottom start"`
184
+ - **`Setup Complexity`** — useAnchoredMenu: Manual open calls; useContextMenu: Minimal (auto-binding)
185
+
186
+ ## Implementation Notes
187
+
188
+ ### Positioning
189
+
190
+ The hook positions the menu by:
191
+
192
+ 1. Using the **`anchorRef`** as the positioning target
193
+ 2. Creating a visually hidden trigger for accessibility
194
+ 3. Delegating to **`MenuTrigger`** for collision detection and final positioning
195
+
196
+ ### Event Handling
197
+
198
+ - **No automatic events** - consumer must call `open()` in response to events
199
+ - **State management** handled internally with synchronization
200
+
201
+ ### Memory Management
202
+
203
+ - **Event listeners** for global synchronization cleaned up automatically
204
+ - **Menu content** only rendered when open
205
+ - **No memory leaks** from uncleaned handlers
206
+
207
+ ---
208
+
209
+ *Last updated: 2025-01-16*
@@ -0,0 +1,218 @@
1
+ # `useContextMenu` Hook
2
+
3
+ ## Purpose
4
+
5
+ `useContextMenu` is a React hook that enables components to display context menus (like `Menu` or `CommandMenu`) at the exact cursor position where the user right-clicked or triggered a context action. Unlike [`useAnchoredMenu`](./use-anchored-menu.md) which anchors menus to specific elements, `useContextMenu` positions menus at cursor coordinates or centers them on the target element, making it perfect for traditional right-click context menus and programmatic menu opening.
6
+
7
+ The hook automatically handles `onContextMenu` event binding and provides a clean API for both automatic (right-click) and programmatic menu opening.
8
+
9
+ ## Related Components
10
+
11
+ - [`useAnchoredMenu`](./use-anchored-menu.md) - For menus anchored to specific elements
12
+ - [`MenuTrigger`](./MenuTrigger.md) - The underlying trigger component used for positioning
13
+ - [`Menu`](./Menu.md) - The menu component typically used with this hook
14
+ - [`CommandMenu`](./CommandMenu.md) - Command palette component that can be used with this hook
15
+
16
+ ## API
17
+
18
+ ```ts
19
+ function useContextMenu<P, T = ComponentProps<typeof MenuTrigger>>(
20
+ Component: ComponentType<P>,
21
+ defaultTriggerProps?: Omit<
22
+ ComponentProps<typeof MenuTrigger>,
23
+ 'children' | 'isOpen' | 'onOpenChange' | 'targetRef'
24
+ >,
25
+ defaultMenuProps?: P,
26
+ ): {
27
+ /** Container element that receives context menu events. Attach this ref to your target element. */
28
+ targetRef: RefObject<HTMLElement>;
29
+
30
+ /**
31
+ * Programmatically opens the menu at the specified coordinates or element center.
32
+ * Runtime props are merged with defaultMenuProps (runtime props take precedence).
33
+ *
34
+ * @param props - Props to pass to the menu component (optional, defaults to defaultMenuProps)
35
+ * @param triggerProps - Additional props for MenuTrigger (merged with defaultTriggerProps)
36
+ * @param event - The pointer/mouse event containing coordinates for positioning (optional, centers on element if not provided)
37
+ */
38
+ open(
39
+ props?: P,
40
+ triggerProps?: T,
41
+ event?: MouseEvent | PointerEvent,
42
+ ): void;
43
+
44
+ /**
45
+ * Updates the props of the currently open menu without repositioning.
46
+ * Props are merged with defaultMenuProps.
47
+ */
48
+ update(props: P, triggerProps?: T): void;
49
+
50
+ /** Closes the menu programmatically. */
51
+ close(): void;
52
+
53
+ /** Current open/closed state of the menu. */
54
+ isOpen: boolean;
55
+
56
+ /**
57
+ * JSX element that must be rendered in your component tree.
58
+ * Contains the MenuTrigger and positioning logic.
59
+ * IMPORTANT: Must be placed directly inside the target container (the element with targetRef).
60
+ */
61
+ get rendered(): ReactElement | null;
62
+ };
63
+ ```
64
+
65
+ ### Parameters
66
+
67
+ - **`Component`** - The menu component to render (`Menu`, `CommandMenu`, etc.)
68
+ - **`defaultTriggerProps`** - Default props passed to `MenuTrigger` for positioning and behavior
69
+ - **`defaultMenuProps`** - Default props passed to the menu component (used for automatic right-click opening)
70
+
71
+ ## Key Features
72
+
73
+ ### Automatic Context Menu Binding
74
+
75
+ The hook automatically binds `onContextMenu` events to the `targetRef` element:
76
+
77
+ - **Right-click** automatically opens the menu using `defaultMenuProps`
78
+ - **`event.preventDefault()`** is called automatically to suppress the browser's native context menu
79
+ - **No manual event binding required** in most cases
80
+
81
+ ### Flexible Positioning
82
+
83
+ `useContextMenu` supports two positioning modes:
84
+
85
+ 1. **Coordinate-Based Positioning** (when event is provided):
86
+ - Creates an **invisible anchor element** at click coordinates
87
+ - Supports **collision detection** and automatic repositioning
88
+ - **Clamps coordinates** to stay within the container bounds
89
+ - Works with **scrollable containers** by accounting for scroll offset
90
+
91
+ 2. **Center Positioning** (when no event is provided):
92
+ - Positions the menu at the **center of the target element**
93
+ - Useful for **programmatic menu opening** from buttons or keyboard shortcuts
94
+ - Respects **element padding and borders** for accurate centering
95
+
96
+ ### Props Merging Strategy
97
+
98
+ The hook provides flexible prop management:
99
+
100
+ - **`defaultMenuProps`** - Used for automatic right-click opening
101
+ - **Runtime props** (via `open()`) - Merged with defaults, taking precedence
102
+ - **Trigger props** - Merged with `defaultTriggerProps` for positioning control
103
+
104
+ ### Menu Synchronization
105
+
106
+ Integrates with the global menu synchronization system:
107
+
108
+ - **Only one menu open** at a time across the entire application
109
+ - **Automatic closing** when other menus open
110
+ - **Works with** `MenuTrigger`, `useAnchoredMenu`, `Select`, `ComboBox`, etc.
111
+
112
+ ## Basic Usage
113
+
114
+ ```tsx
115
+ import { useContextMenu, Menu } from '@cube-dev/ui-kit';
116
+
117
+ function FileItem({ file }) {
118
+ const handleAction = (key) => {
119
+ console.log(`Action ${key} on ${file.name}`);
120
+ };
121
+
122
+ const { targetRef, rendered } = useContextMenu(
123
+ Menu,
124
+ { placement: 'bottom start' }, // trigger props
125
+ {
126
+ onAction: handleAction,
127
+ children: (
128
+ <>
129
+ <Menu.Item key="open">Open</Menu.Item>
130
+ <Menu.Item key="rename">Rename</Menu.Item>
131
+ <Menu.Item key="delete">Delete</Menu.Item>
132
+ </>
133
+ )
134
+ }
135
+ );
136
+
137
+ return (
138
+ <div ref={targetRef} className="file-item">
139
+ {/* IMPORTANT: rendered must be placed directly inside the target container */}
140
+ {rendered}
141
+ <span>{file.name}</span>
142
+ </div>
143
+ );
144
+ }
145
+ ```
146
+
147
+ > **Important:** The `{rendered}` element must be placed **directly inside** the element that has the `targetRef` attached. This ensures proper coordinate calculation and positioning for the context menu.
148
+
149
+ ## Comparison with Related Hooks
150
+
151
+ - **`Positioning`** — useContextMenu: Cursor coordinates or element center; useAnchoredMenu: Element-anchored
152
+ - **`Trigger`** — useContextMenu: Right-click (automatic) + programmatic; useAnchoredMenu: Manual (button click)
153
+ - **`Event Binding`** — useContextMenu: Automatic `onContextMenu`; useAnchoredMenu: Manual event handling
154
+ - **`Use Cases`** — useContextMenu: Context menus, right-click actions, toolbar dropdowns; useAnchoredMenu: Dropdown menus, action buttons
155
+ - **`Default Placement`** — Both: `"bottom start"`
156
+ - **`Setup Complexity`** — useContextMenu: Minimal (auto-binding); useAnchoredMenu: Manual event handling
157
+
158
+ ## Implementation Notes
159
+
160
+ ### Coordinate Calculation
161
+
162
+ The hook calculates menu position differently based on whether an event is provided:
163
+
164
+ **With Event (Coordinate-Based):**
165
+ 1. **Getting viewport coordinates** from the pointer event
166
+ 2. **Converting to container-relative coordinates** accounting for borders and scroll
167
+ 3. **Clamping to container bounds** to ensure the menu stays visible
168
+ 4. **Creating an invisible anchor** at the calculated position
169
+ 5. **Delegating to MenuTrigger** for collision detection and final positioning
170
+
171
+ **Without Event (Center-Based):**
172
+ 1. **Calculating element center** using `clientWidth/2` and `clientHeight/2`
173
+ 2. **Accounting for scroll offset** to position relative to content area
174
+ 3. **Clamping to container bounds** to ensure proper positioning
175
+ 4. **Creating an invisible anchor** at the center position
176
+
177
+ ### Event Handling
178
+
179
+ - **Automatic binding** occurs via `useEffect` on the `targetRef`
180
+ - **Event listeners** are properly cleaned up on unmount
181
+ - **`preventDefault()`** is called automatically for context menu events
182
+ - **Manual `open()` calls** can still prevent default if an event is provided
183
+
184
+ ### Memory Management
185
+
186
+ - **Event listeners** are bound/unbound automatically
187
+ - **Menu content** is only rendered when needed
188
+ - **Position calculations** are performed only when opening
189
+ - **No memory leaks** from uncleaned event handlers
190
+
191
+ ### Rendered Element Placement
192
+
193
+ The `{rendered}` element contains the invisible anchor and MenuTrigger components needed for positioning. It **must** be placed directly inside the element with `targetRef` because:
194
+
195
+ - **Coordinate calculations** are relative to the target container
196
+ - **Scroll offset handling** requires the rendered element to be within the scrollable area
197
+ - **CSS positioning context** needs to be established correctly
198
+ - **Event coordinate mapping** depends on the proper parent-child relationship
199
+
200
+ ```tsx
201
+ // ✅ Correct placement
202
+ <div ref={targetRef}>
203
+ {rendered}
204
+ <content />
205
+ </div>
206
+
207
+ // ❌ Incorrect placement
208
+ <div>
209
+ <div ref={targetRef}>
210
+ <content />
211
+ </div>
212
+ {rendered}
213
+ </div>
214
+ ```
215
+
216
+ ---
217
+
218
+ *Last updated: 2025-01-16*
@@ -0,0 +1,37 @@
1
+ # ActiveZone
2
+
3
+ A focusable, clickable zone with hover and focus states. Used for making non-button elements interactive.
4
+
5
+ ## When to Use
6
+
7
+ - Clickable cards or list items
8
+ - Custom interactive regions
9
+ - Wrapping content that should respond to click/hover/focus
10
+
11
+ ## Properties
12
+
13
+ - **`label`** `string` — Accessible label for screen readers
14
+ - **`onClick`** `MouseEventHandler` — Click handler
15
+ - **`isDisabled`** `boolean` — Disables interaction, reduces opacity
16
+
17
+ ### Style Defaults
18
+
19
+ - `display` — `inline-grid`
20
+ - `position` — `relative`
21
+ - `opacity` — `1` (switches to `0.4` when disabled)
22
+ - `transition` — `theme`
23
+
24
+ ### Base Properties
25
+
26
+ Supports [Base properties](../../BaseProperties.md).
27
+
28
+ ## Examples
29
+
30
+ ```jsx
31
+ <ActiveZone label="Open details" onClick={() => openDetails()}>
32
+ <Card>
33
+ <Title level={4}>Clickable Card</Title>
34
+ <Paragraph>This whole card is clickable</Paragraph>
35
+ </Card>
36
+ </ActiveZone>
37
+ ```
@@ -0,0 +1,40 @@
1
+ # Alert
2
+
3
+ An alert message with theme variants. Used for announcements, warnings, and informational messages.
4
+
5
+ ## When to Use
6
+
7
+ - Form validation messages
8
+ - Success/error/warning notifications
9
+ - Informational banners
10
+
11
+ ## Properties
12
+
13
+ - **`theme`** `'note' | 'success' | 'danger' | 'warning' | 'disabled'` (default: `'note'`) — Visual theme
14
+ - **`type`** — Deprecated, use `theme` instead
15
+ - **`shape`** `'card' | 'sharp'` (default: `'card'`) — `card` shows border radius and border; `sharp` removes both
16
+
17
+ ### Style Defaults
18
+
19
+ - `display` — `block`
20
+ - `flow` — `column`
21
+ - `padding` — `1.5x`
22
+ - `preset` — `t3`
23
+ - `radius` — `1cr` (switches to `0` when `shape="sharp"`)
24
+ - `color` — `#dark-02`
25
+
26
+ ### Base Properties
27
+
28
+ Supports [Base properties](../../BaseProperties.md).
29
+
30
+ ## Examples
31
+
32
+ ```jsx
33
+ <Alert theme="note">Informational message</Alert>
34
+
35
+ <Alert theme="success">Operation completed successfully</Alert>
36
+
37
+ <Alert theme="danger">Something went wrong</Alert>
38
+
39
+ <Alert theme="warning" shape="sharp">Warning with sharp corners</Alert>
40
+ ```
@@ -0,0 +1,37 @@
1
+ # Avatar
2
+
3
+ A circular avatar for user profiles. Displays initials, icons, or images.
4
+
5
+ ## When to Use
6
+
7
+ - User profile pictures
8
+ - User lists and comments
9
+ - Account indicators
10
+
11
+ ## Properties
12
+
13
+ - **`size`** `string` (default: `'4x'`) — Avatar size (width and height)
14
+ - **`icon`** `ReactNode` — Icon to display
15
+
16
+ ### Style Defaults
17
+
18
+ - `display` — `grid`
19
+ - `fill` — `#primary`
20
+ - `color` — `#white`
21
+ - `radius` — `round`
22
+ - `placeContent` — `center`
23
+ - `fontWeight` — `500`
24
+
25
+ ### Base Properties
26
+
27
+ Supports [Base properties](../../BaseProperties.md).
28
+
29
+ ## Examples
30
+
31
+ ```jsx
32
+ <Avatar>JD</Avatar>
33
+
34
+ <Avatar size="6x">AB</Avatar>
35
+
36
+ <Avatar icon={<IconUser />} />
37
+ ```