@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,211 @@
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
+ | Feature | `useAnchoredMenu` | `useContextMenu` |
180
+ |---------|-------------------|------------------|
181
+ | **Positioning** | Element-anchored | Cursor coordinates |
182
+ | **Trigger** | Manual (programmatic) | Right-click (automatic) |
183
+ | **Event Binding** | Manual event handling | Automatic `onContextMenu` |
184
+ | **Use Cases** | Dropdown menus, action buttons | Context menus, right-click actions |
185
+ | **Default Placement** | `"bottom start"` | `"bottom start"` |
186
+ | **Setup Complexity** | Manual open calls | Minimal (auto-binding) |
187
+
188
+ ## Implementation Notes
189
+
190
+ ### Positioning
191
+
192
+ The hook positions the menu by:
193
+
194
+ 1. Using the **`anchorRef`** as the positioning target
195
+ 2. Creating a visually hidden trigger for accessibility
196
+ 3. Delegating to **`MenuTrigger`** for collision detection and final positioning
197
+
198
+ ### Event Handling
199
+
200
+ - **No automatic events** - consumer must call `open()` in response to events
201
+ - **State management** handled internally with synchronization
202
+
203
+ ### Memory Management
204
+
205
+ - **Event listeners** for global synchronization cleaned up automatically
206
+ - **Menu content** only rendered when open
207
+ - **No memory leaks** from uncleaned handlers
208
+
209
+ ---
210
+
211
+ *Last updated: 2025-01-16*
@@ -0,0 +1,220 @@
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
+ | Feature | `useContextMenu` | `useAnchoredMenu` |
152
+ |---------|------------------|-------------------|
153
+ | **Positioning** | Cursor coordinates or element center | Element-anchored |
154
+ | **Trigger** | Right-click (automatic) + programmatic | Manual (button click) |
155
+ | **Event Binding** | Automatic `onContextMenu` | Manual event handling |
156
+ | **Use Cases** | Context menus, right-click actions, toolbar dropdowns | Dropdown menus, action buttons |
157
+ | **Default Placement** | `"bottom start"` | `"bottom start"` |
158
+ | **Setup Complexity** | Minimal (auto-binding) | Manual event handling |
159
+
160
+ ## Implementation Notes
161
+
162
+ ### Coordinate Calculation
163
+
164
+ The hook calculates menu position differently based on whether an event is provided:
165
+
166
+ **With Event (Coordinate-Based):**
167
+ 1. **Getting viewport coordinates** from the pointer event
168
+ 2. **Converting to container-relative coordinates** accounting for borders and scroll
169
+ 3. **Clamping to container bounds** to ensure the menu stays visible
170
+ 4. **Creating an invisible anchor** at the calculated position
171
+ 5. **Delegating to MenuTrigger** for collision detection and final positioning
172
+
173
+ **Without Event (Center-Based):**
174
+ 1. **Calculating element center** using `clientWidth/2` and `clientHeight/2`
175
+ 2. **Accounting for scroll offset** to position relative to content area
176
+ 3. **Clamping to container bounds** to ensure proper positioning
177
+ 4. **Creating an invisible anchor** at the center position
178
+
179
+ ### Event Handling
180
+
181
+ - **Automatic binding** occurs via `useEffect` on the `targetRef`
182
+ - **Event listeners** are properly cleaned up on unmount
183
+ - **`preventDefault()`** is called automatically for context menu events
184
+ - **Manual `open()` calls** can still prevent default if an event is provided
185
+
186
+ ### Memory Management
187
+
188
+ - **Event listeners** are bound/unbound automatically
189
+ - **Menu content** is only rendered when needed
190
+ - **Position calculations** are performed only when opening
191
+ - **No memory leaks** from uncleaned event handlers
192
+
193
+ ### Rendered Element Placement
194
+
195
+ The `{rendered}` element contains the invisible anchor and MenuTrigger components needed for positioning. It **must** be placed directly inside the element with `targetRef` because:
196
+
197
+ - **Coordinate calculations** are relative to the target container
198
+ - **Scroll offset handling** requires the rendered element to be within the scrollable area
199
+ - **CSS positioning context** needs to be established correctly
200
+ - **Event coordinate mapping** depends on the proper parent-child relationship
201
+
202
+ ```tsx
203
+ // ✅ Correct placement
204
+ <div ref={targetRef}>
205
+ {rendered}
206
+ <content />
207
+ </div>
208
+
209
+ // ❌ Incorrect placement
210
+ <div>
211
+ <div ref={targetRef}>
212
+ <content />
213
+ </div>
214
+ {rendered}
215
+ </div>
216
+ ```
217
+
218
+ ---
219
+
220
+ *Last updated: 2025-01-16*
@@ -0,0 +1,187 @@
1
+ # Badge
2
+
3
+ Badges are small, circular indicators that display numerical counts or short status text. They are typically used to draw attention to new, updated, or important information.
4
+
5
+ ## When to Use
6
+
7
+ - **Notification counts**: Show unread messages, notifications, or pending items
8
+ - **Status indicators**: Display simple status like "NEW", "HOT", or error counts
9
+ - **Numerical data**: Show counts, quantities, or metrics at a glance
10
+ - **Activity indicators**: Highlight areas with recent activity or updates
11
+ - **Completion tracking**: Display progress counts (e.g., "3/10")
12
+
13
+ ## When Not to Use
14
+
15
+ - **Long text**: Use `Tag` for longer labels or categorization
16
+ - **Interactive elements**: Use `Button` for clickable actions
17
+ - **Detailed information**: Use `Tooltip` or expanded content for complex details
18
+ - **Navigation**: Use `Button` or `Link` for navigation purposes
19
+
20
+ ## Component
21
+
22
+ ---
23
+
24
+ ### Properties
25
+
26
+ ### Base Properties
27
+
28
+ Badge extends from `Item` component and supports all base design system properties including:
29
+ - Layout props: `width`, `height`, `margin`, `padding`
30
+ - Color props: `fill`, `color`, `border`
31
+ - Typography props: `preset`, `fontSize`, `fontWeight`
32
+ - Other Item props: `tooltip`, `isDisabled`, `qa`
33
+
34
+ ## Examples
35
+
36
+ ### Themes
37
+
38
+ Badges support multiple themes for different semantic meanings:
39
+
40
+ Available themes:
41
+ - **Special** (default): Purple background, highlighted features
42
+ - **Warning**: Yellow/amber background, caution or attention needed
43
+ - **Note**: Violet background, informational content
44
+ - **Success**: Green background, positive states
45
+ - **Danger**: Red background, errors or urgent items
46
+ - **Disabled**: Gray background, inactive items
47
+
48
+ ### Numbers
49
+
50
+ Badges commonly display numerical counts:
51
+
52
+ Best practices for numbers:
53
+ - Use single digits for small counts (1-9)
54
+ - Show exact numbers up to 99
55
+ - Consider "99+" format for counts over 99
56
+ - Keep numerical badges concise and scannable
57
+
58
+ ```jsx
59
+ <Badge>5</Badge>
60
+ <Badge>99</Badge>
61
+ <Badge theme="danger">12</Badge>
62
+ ```
63
+
64
+ ### Text Content
65
+
66
+ Short text labels work well in badges:
67
+
68
+ Guidelines for text badges:
69
+ - Keep text to 2-4 characters maximum
70
+ - Use uppercase for better readability
71
+ - Common patterns: "NEW", "HOT", "BETA", "PRO"
72
+
73
+ ```jsx
74
+ <Badge>NEW</Badge>
75
+ <Badge theme="success">OK</Badge>
76
+ <Badge theme="danger">ERR</Badge>
77
+ ```
78
+
79
+ ### Sizes
80
+
81
+ Badges support multiple sizes inherited from the Item component:
82
+
83
+ - **inline** (default): Compact, inline badge optimized for text flow
84
+ - **xsmall**: Extra small size
85
+ - **small**: Small size
86
+ - **medium**: Medium size
87
+ - **large**: Large size
88
+ - **xlarge**: Extra large size
89
+
90
+ ### With Icons
91
+
92
+ Badges can include icons for additional visual context:
93
+
94
+ Add an icon before the badge content using the `icon` prop:
95
+
96
+ ```jsx
97
+ import { IconCoin } from '@tabler/icons-react';
98
+
99
+ <Badge icon={<IconCoin />} theme="success">
100
+ 12
101
+ </Badge>
102
+ ```
103
+
104
+ ### With Right Icon
105
+
106
+ Place icons after the content using the `rightIcon` prop:
107
+
108
+ ```jsx
109
+ <Badge rightIcon={<IconCoin />} theme="danger">
110
+ ERR
111
+ </Badge>
112
+ ```
113
+
114
+ ### With Both Icons
115
+
116
+ Combine both `icon` and `rightIcon` for complex layouts:
117
+
118
+ ```jsx
119
+ <Badge icon={<IconCoin />} rightIcon={<IconCoin />} theme="success">
120
+ NEW
121
+ </Badge>
122
+ ```
123
+
124
+ ## Best Practices
125
+
126
+ ### Content
127
+
128
+ - Keep badge content concise and scannable
129
+ - Use numbers for counts ("3" not "three")
130
+ - Use uppercase for text badges for better readability
131
+ - Consider "99+" format for very large counts
132
+
133
+ ### Placement
134
+
135
+ - Position badges near related content without obscuring it
136
+ - Maintain consistent positioning across similar contexts
137
+
138
+ ### Visual Design
139
+
140
+ - Use theme colors consistently for semantic meaning
141
+ - Ensure adequate spacing from surrounding content
142
+
143
+ ### Accessibility
144
+
145
+ - Provide context for counts via tooltips when needed
146
+ - Don't rely solely on color to convey meaning
147
+ - All themes maintain sufficient color contrast
148
+
149
+ ## Use Cases
150
+
151
+ ### Navigation Badges
152
+
153
+ Display notification counts on menu items:
154
+
155
+ ```jsx
156
+ <Item icon={<IconBell />}>
157
+ Notifications
158
+ <Badge theme="danger">5</Badge>
159
+ </Item>
160
+ ```
161
+
162
+ ### Status Indicators
163
+
164
+ Show item status or state:
165
+
166
+ ```jsx
167
+ <Item>
168
+ Beta Feature <Badge theme="special">BETA</Badge>
169
+ </Item>
170
+ ```
171
+
172
+ ### Inline Counts
173
+
174
+ Display counts within text:
175
+
176
+ ```jsx
177
+ <Text>
178
+ Unread Messages <Badge>12</Badge>
179
+ </Text>
180
+ ```
181
+
182
+ ## Related Components
183
+
184
+ - **Tag**: For longer labels, categorization, or closable elements
185
+ - **Chip**: For interactive selection chips
186
+ - **Item**: Base component that Badge extends from
187
+ - **Text**: For displaying badge content inline with text