@cube-dev/ui-kit 0.0.0-canary-3f98351 → 0.0.0-canary-00718fb

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 (613) hide show
  1. package/es/_internal/hooks/index.js +1 -1
  2. package/es/_internal/hooks/use-chained-callback.js +1 -1
  3. package/es/_internal/hooks/use-debounced-value.js +1 -1
  4. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/es/_internal/hooks/use-effect-once.js +1 -1
  6. package/es/_internal/hooks/use-event.js +1 -1
  7. package/es/_internal/hooks/use-is-first-render.js +1 -1
  8. package/es/_internal/hooks/use-sync-ref.js +1 -1
  9. package/es/_internal/hooks/use-timer/index.js +1 -1
  10. package/es/_internal/hooks/use-timer/timer.js +1 -1
  11. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  12. package/es/_internal/hooks/use-update-effect.js +1 -1
  13. package/es/_internal/hooks/use-warn.js +1 -1
  14. package/es/_internal/index.js +1 -1
  15. package/es/components/Block.js +1 -1
  16. package/es/components/CollectionItem.js +1 -1
  17. package/es/components/GlobalStyles.js +1 -1
  18. package/es/components/GridProvider.js +1 -1
  19. package/es/components/HiddenInput.js +1 -1
  20. package/es/components/OpenTrasition.js +1 -1
  21. package/es/components/Root.js +1 -1
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Button/Button.js +1 -1
  24. package/es/components/actions/Button/index.js +1 -1
  25. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  26. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  27. package/es/components/actions/CommandMenu/index.js +1 -1
  28. package/es/components/actions/CommandMenu/styled.js +1 -1
  29. package/es/components/actions/ItemAction/ItemAction.js +1 -1
  30. package/es/components/actions/ItemAction/index.js +1 -1
  31. package/es/components/actions/ItemActionContext.js +1 -1
  32. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  33. package/es/components/actions/ItemButton/index.js +1 -1
  34. package/es/components/actions/Link/Link.js +1 -1
  35. package/es/components/actions/Menu/Menu.js +1 -1
  36. package/es/components/actions/Menu/MenuItem.js +1 -1
  37. package/es/components/actions/Menu/MenuSection.js +1 -1
  38. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  39. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  40. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  41. package/es/components/actions/Menu/context.js +1 -1
  42. package/es/components/actions/Menu/index.js +1 -1
  43. package/es/components/actions/Menu/styled.js +1 -1
  44. package/es/components/actions/index.js +1 -1
  45. package/es/components/actions/use-action.js +1 -1
  46. package/es/components/actions/use-anchored-menu.js +1 -1
  47. package/es/components/actions/use-context-menu.js +1 -1
  48. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  49. package/es/components/content/Alert/Alert.js +1 -1
  50. package/es/components/content/Alert/index.js +1 -1
  51. package/es/components/content/Alert/types.js +1 -1
  52. package/es/components/content/Alert/use-alert.js +1 -1
  53. package/es/components/content/Avatar/Avatar.js +1 -1
  54. package/es/components/content/Badge/Badge.js +1 -1
  55. package/es/components/content/Card/Card.js +1 -1
  56. package/es/components/content/Content.js +1 -1
  57. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  58. package/es/components/content/CopyPasteBlock/index.js +1 -1
  59. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  60. package/es/components/content/CopySnippet/index.js +1 -1
  61. package/es/components/content/Disclosure/Disclosure.js +1 -1
  62. package/es/components/content/Disclosure/index.js +1 -1
  63. package/es/components/content/Divider.js +1 -1
  64. package/es/components/content/Footer.js +1 -1
  65. package/es/components/content/Header.js +1 -1
  66. package/es/components/content/HotKeys/HotKeys.js +1 -1
  67. package/es/components/content/HotKeys/index.js +1 -1
  68. package/es/components/content/Item/Item.js +7 -11
  69. package/es/components/content/Item/index.js +1 -1
  70. package/es/components/content/ItemBadge/ItemBadge.js +1 -1
  71. package/es/components/content/ItemBadge/index.js +1 -1
  72. package/es/components/content/Layout/GridLayout.js +1 -1
  73. package/es/components/content/Layout/Layout.js +1 -1
  74. package/es/components/content/Layout/LayoutBlock.js +1 -1
  75. package/es/components/content/Layout/LayoutCenter.js +1 -1
  76. package/es/components/content/Layout/LayoutContainer.js +1 -1
  77. package/es/components/content/Layout/LayoutContent.js +1 -1
  78. package/es/components/content/Layout/LayoutContext.js +1 -1
  79. package/es/components/content/Layout/LayoutFlex.js +1 -1
  80. package/es/components/content/Layout/LayoutFooter.js +1 -1
  81. package/es/components/content/Layout/LayoutGrid.js +1 -1
  82. package/es/components/content/Layout/LayoutHeader.js +1 -1
  83. package/es/components/content/Layout/LayoutPane.js +1 -1
  84. package/es/components/content/Layout/LayoutPanel.js +1 -1
  85. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  86. package/es/components/content/Layout/LayoutToolbar.js +1 -1
  87. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -13
  88. package/es/components/content/Layout/index.js +1 -1
  89. package/es/components/content/Layout/utils.js +1 -1
  90. package/es/components/content/List/SectionHeading.js +1 -1
  91. package/es/components/content/List/index.js +1 -1
  92. package/es/components/content/Paragraph.js +1 -1
  93. package/es/components/content/Placeholder/Placeholder.js +1 -1
  94. package/es/components/content/PrismCode/PrismCode.js +1 -1
  95. package/es/components/content/PrismCode/prismSetup.js +1 -1
  96. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  97. package/es/components/content/Result/Result.js +1 -1
  98. package/es/components/content/Skeleton/Skeleton.js +1 -1
  99. package/es/components/content/Tag/Tag.js +1 -1
  100. package/es/components/content/Text.js +1 -1
  101. package/es/components/content/TextItem/TextItem.js +1 -1
  102. package/es/components/content/TextItem/index.js +1 -1
  103. package/es/components/content/Title.js +1 -1
  104. package/es/components/content/highlightText.js +1 -1
  105. package/es/components/content/use-auto-tooltip.js +1 -1
  106. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  107. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  108. package/es/components/fields/Checkbox/context.js +1 -1
  109. package/es/components/fields/Checkbox/index.js +1 -1
  110. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  111. package/es/components/fields/ComboBox/index.js +1 -1
  112. package/es/components/fields/DatePicker/DateInput.js +1 -1
  113. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  114. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  115. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  116. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  117. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  118. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  119. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  120. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  121. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  122. package/es/components/fields/DatePicker/index.js +1 -1
  123. package/es/components/fields/DatePicker/intl.js +1 -1
  124. package/es/components/fields/DatePicker/parseDate.js +1 -1
  125. package/es/components/fields/DatePicker/props.js +1 -1
  126. package/es/components/fields/DatePicker/types.js +1 -1
  127. package/es/components/fields/DatePicker/utils.js +1 -1
  128. package/es/components/fields/FileInput/FileInput.js +1 -1
  129. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  130. package/es/components/fields/FilterListBox/index.js +1 -1
  131. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  132. package/es/components/fields/FilterPicker/index.js +1 -1
  133. package/es/components/fields/Input/Input.js +1 -1
  134. package/es/components/fields/Input/index.js +1 -1
  135. package/es/components/fields/ListBox/ListBox.js +1 -1
  136. package/es/components/fields/ListBox/index.js +1 -1
  137. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  138. package/es/components/fields/NumberInput/StepButton.js +1 -1
  139. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  140. package/es/components/fields/Picker/Picker.js +1 -1
  141. package/es/components/fields/Picker/index.js +1 -1
  142. package/es/components/fields/RadioGroup/Radio.js +1 -1
  143. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  144. package/es/components/fields/RadioGroup/context.js +1 -1
  145. package/es/components/fields/RadioGroup/index.js +1 -1
  146. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  147. package/es/components/fields/SearchInput/index.js +1 -1
  148. package/es/components/fields/Select/Select.js +1 -1
  149. package/es/components/fields/Select/index.js +1 -1
  150. package/es/components/fields/Slider/Gradation.js +1 -1
  151. package/es/components/fields/Slider/Header.js +1 -1
  152. package/es/components/fields/Slider/RangeSlider.js +1 -1
  153. package/es/components/fields/Slider/Slider.js +1 -1
  154. package/es/components/fields/Slider/SliderBase.js +1 -1
  155. package/es/components/fields/Slider/SliderInput.js +1 -1
  156. package/es/components/fields/Slider/SliderThumb.js +1 -1
  157. package/es/components/fields/Slider/SliderTrack.js +1 -1
  158. package/es/components/fields/Slider/elements.js +1 -1
  159. package/es/components/fields/Slider/index.js +1 -1
  160. package/es/components/fields/Slider/types.js +1 -1
  161. package/es/components/fields/Switch/Switch.js +1 -1
  162. package/es/components/fields/Switch/index.js +1 -1
  163. package/es/components/fields/TextArea/TextArea.js +1 -1
  164. package/es/components/fields/TextArea/index.js +1 -1
  165. package/es/components/fields/TextInput/TextInput.js +1 -1
  166. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  167. package/es/components/fields/TextInput/index.js +1 -1
  168. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  169. package/es/components/fields/TextInputMapper/index.js +1 -1
  170. package/es/components/fields/index.js +1 -1
  171. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  172. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  173. package/es/components/form/FieldWrapper/index.js +1 -1
  174. package/es/components/form/FieldWrapper/types.js +1 -1
  175. package/es/components/form/Form/Field.js +1 -1
  176. package/es/components/form/Form/Form.js +1 -1
  177. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  178. package/es/components/form/Form/ResetButton/index.js +1 -1
  179. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  180. package/es/components/form/Form/SubmitButton/index.js +1 -1
  181. package/es/components/form/Form/SubmitError.js +1 -1
  182. package/es/components/form/Form/index.js +1 -1
  183. package/es/components/form/Form/types.js +1 -1
  184. package/es/components/form/Form/use-field/index.js +1 -1
  185. package/es/components/form/Form/use-field/types.js +1 -1
  186. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  187. package/es/components/form/Form/use-field/use-field.js +1 -1
  188. package/es/components/form/Form/use-form.js +1 -1
  189. package/es/components/form/Form/validation.js +1 -1
  190. package/es/components/form/Label.js +1 -1
  191. package/es/components/form/index.js +1 -1
  192. package/es/components/form/wrapper.js +1 -1
  193. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  194. package/es/components/helpers/DisplayTransition/index.js +1 -1
  195. package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
  196. package/es/components/helpers/index.js +1 -1
  197. package/es/components/layout/Flex.js +1 -1
  198. package/es/components/layout/Flow.js +1 -1
  199. package/es/components/layout/Grid.js +1 -1
  200. package/es/components/layout/Panel.js +1 -1
  201. package/es/components/layout/Prefix.js +1 -1
  202. package/es/components/layout/ResizablePanel.js +1 -1
  203. package/es/components/layout/Space.js +1 -1
  204. package/es/components/layout/Suffix.js +1 -1
  205. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  206. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  207. package/es/components/other/Calendar/Calendar.js +1 -1
  208. package/es/components/other/Calendar/CalendarCell.js +1 -1
  209. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  210. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  211. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  212. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  213. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  214. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  215. package/es/components/overlays/AlertDialog/index.js +1 -1
  216. package/es/components/overlays/AlertDialog/types.js +1 -1
  217. package/es/components/overlays/Dialog/Dialog.js +1 -1
  218. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  219. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  220. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  221. package/es/components/overlays/Dialog/context.js +1 -1
  222. package/es/components/overlays/Dialog/index.js +1 -1
  223. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  224. package/es/components/overlays/Modal/Modal.js +1 -1
  225. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  226. package/es/components/overlays/Modal/Overlay.js +1 -1
  227. package/es/components/overlays/Modal/Popover.js +1 -1
  228. package/es/components/overlays/Modal/Tray.js +1 -1
  229. package/es/components/overlays/Modal/Underlay.js +1 -1
  230. package/es/components/overlays/Modal/index.js +1 -1
  231. package/es/components/overlays/Modal/types.js +1 -1
  232. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  233. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  234. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  235. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  236. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  237. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  238. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  239. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  240. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  241. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  242. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  249. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  250. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  253. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  254. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  255. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  256. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  257. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  258. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  259. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  260. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  261. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  263. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  264. package/es/components/overlays/NewNotifications/index.js +1 -1
  265. package/es/components/overlays/NewNotifications/types.js +1 -1
  266. package/es/components/overlays/Notification/Notification.js +1 -1
  267. package/es/components/overlays/OverlayWrapper.js +1 -1
  268. package/es/components/overlays/Toasts/Toast.js +1 -1
  269. package/es/components/overlays/Toasts/index.js +1 -1
  270. package/es/components/overlays/Toasts/types.js +1 -1
  271. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  272. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  273. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  274. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  275. package/es/components/overlays/Tooltip/context.js +1 -1
  276. package/es/components/overlays/Tooltip/index.js +1 -1
  277. package/es/components/portal/Portal.js +1 -1
  278. package/es/components/portal/PortalProvider.js +1 -1
  279. package/es/components/portal/index.js +1 -1
  280. package/es/components/portal/types.js +1 -1
  281. package/es/components/portal/usePortal.js +1 -1
  282. package/es/components/shared/InvalidIcon.js +1 -1
  283. package/es/components/shared/ValidIcon.js +1 -1
  284. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  285. package/es/components/status/LoadingAnimation/index.js +1 -1
  286. package/es/components/status/Spin/Cube.js +1 -1
  287. package/es/components/status/Spin/InternalSpinner.js +1 -1
  288. package/es/components/status/Spin/Spin.js +1 -1
  289. package/es/components/status/Spin/SpinsContainer.js +1 -1
  290. package/es/components/status/Spin/index.js +1 -1
  291. package/es/components/status/Spin/types.js +1 -1
  292. package/es/components/status/index.js +1 -1
  293. package/es/data/item-themes.js +1 -1
  294. package/es/data/themes.js +1 -1
  295. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  296. package/es/icons/AdjustmentsIcon.js +1 -1
  297. package/es/icons/AiIcon.js +1 -1
  298. package/es/icons/AreaChartIcon.js +1 -1
  299. package/es/icons/BackwardIcon.js +1 -1
  300. package/es/icons/BarChartIcon.js +1 -1
  301. package/es/icons/BellFilledIcon.js +1 -1
  302. package/es/icons/BellIcon.js +1 -1
  303. package/es/icons/BooleanIcon.js +1 -1
  304. package/es/icons/CalendarEditIcon.js +1 -1
  305. package/es/icons/CalendarIcon.js +1 -1
  306. package/es/icons/CaretDownIcon.js +1 -1
  307. package/es/icons/CaretUpIcon.js +1 -1
  308. package/es/icons/ChartAreaStackedIcon.js +1 -1
  309. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  310. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  311. package/es/icons/ChartBarGroupedIcon.js +1 -1
  312. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  313. package/es/icons/ChartBarLineIcon.js +1 -1
  314. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  315. package/es/icons/ChartBarStackedIcon.js +1 -1
  316. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  317. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  318. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  319. package/es/icons/ChartBoxPlotIcon.js +1 -1
  320. package/es/icons/ChartBubbleIcon.js +1 -1
  321. package/es/icons/ChartDonut2Icon.js +1 -1
  322. package/es/icons/ChartFunnelIcon.js +1 -1
  323. package/es/icons/ChartHeatmapIcon.js +1 -1
  324. package/es/icons/ChartKPIIcon.js +1 -1
  325. package/es/icons/ChartPie2Icon.js +1 -1
  326. package/es/icons/ChartScatterIcon.js +1 -1
  327. package/es/icons/CheckCircleFilledIcon.js +1 -1
  328. package/es/icons/CheckCircleIcon.js +1 -1
  329. package/es/icons/CheckIcon.js +1 -1
  330. package/es/icons/CircleFilledIcon.js +1 -1
  331. package/es/icons/ClearIcon.js +1 -1
  332. package/es/icons/CloseCircleFilledIcon.js +1 -1
  333. package/es/icons/CloseCircleIcon.js +1 -1
  334. package/es/icons/CloseIcon.js +1 -1
  335. package/es/icons/CodeIcon.js +1 -1
  336. package/es/icons/ColumnTotalIcon.js +1 -1
  337. package/es/icons/CopyIcon.js +1 -1
  338. package/es/icons/CountIcon.js +1 -1
  339. package/es/icons/CubeIcon.js +1 -1
  340. package/es/icons/CubePauseIcon.js +1 -1
  341. package/es/icons/CubePlayIcon.js +1 -1
  342. package/es/icons/CurrencyDollarIcon.js +1 -1
  343. package/es/icons/DangerIcon.js +1 -1
  344. package/es/icons/DashboardIcon.js +1 -1
  345. package/es/icons/DatabaseIcon.js +1 -1
  346. package/es/icons/DecimalDecreaseIcon.js +1 -1
  347. package/es/icons/DecimalIncreaseIcon.js +1 -1
  348. package/es/icons/DirectionIcon.js +1 -1
  349. package/es/icons/DonutIcon.js +1 -1
  350. package/es/icons/DownIcon.js +1 -1
  351. package/es/icons/EditIcon.js +1 -1
  352. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  353. package/es/icons/ExclamationCircleIcon.js +1 -1
  354. package/es/icons/ExclamationIcon.js +1 -1
  355. package/es/icons/EyeIcon.js +1 -1
  356. package/es/icons/EyeInvisibleIcon.js +1 -1
  357. package/es/icons/FilterIcon.js +1 -1
  358. package/es/icons/FolderFilledIcon.js +1 -1
  359. package/es/icons/FolderIcon.js +1 -1
  360. package/es/icons/FolderOpenFilledIcon.js +1 -1
  361. package/es/icons/FolderOpenIcon.js +1 -1
  362. package/es/icons/ForwardIcon.js +1 -1
  363. package/es/icons/HierarchyIcon.js +1 -1
  364. package/es/icons/HierarchyOpenIcon.js +1 -1
  365. package/es/icons/Icon.js +1 -1
  366. package/es/icons/InfoCircleIcon.js +1 -1
  367. package/es/icons/InfoIcon.js +1 -1
  368. package/es/icons/KeyIcon.js +1 -1
  369. package/es/icons/LeftIcon.js +1 -1
  370. package/es/icons/LineChartIcon.js +1 -1
  371. package/es/icons/LoadingIcon.js +1 -1
  372. package/es/icons/LockFilledIcon.js +1 -1
  373. package/es/icons/LockIcon.js +1 -1
  374. package/es/icons/MoreIcon.js +1 -1
  375. package/es/icons/NotAllowedIcon.js +1 -1
  376. package/es/icons/Number123Icon.js +1 -1
  377. package/es/icons/NumberIcon.js +1 -1
  378. package/es/icons/PauseCircleFilledIcon.js +1 -1
  379. package/es/icons/PauseCircleIcon.js +1 -1
  380. package/es/icons/PauseIcon.js +1 -1
  381. package/es/icons/PercentageIcon.js +1 -1
  382. package/es/icons/PieChartIcon.js +1 -1
  383. package/es/icons/PlayCircleIcon.js +1 -1
  384. package/es/icons/PlayIcon.js +1 -1
  385. package/es/icons/PlusIcon.js +1 -1
  386. package/es/icons/ProgressBarIcon.js +1 -1
  387. package/es/icons/ReloadIcon.js +1 -1
  388. package/es/icons/ReportIcon.js +1 -1
  389. package/es/icons/ReturnIcon.js +1 -1
  390. package/es/icons/RightIcon.js +1 -1
  391. package/es/icons/RowTotalsIcon.js +1 -1
  392. package/es/icons/SchemeIcon.js +1 -1
  393. package/es/icons/SearchIcon.js +1 -1
  394. package/es/icons/SemanticQueryIcon.js +1 -1
  395. package/es/icons/SettingsIcon.js +1 -1
  396. package/es/icons/ShieldFilledIcon.js +1 -1
  397. package/es/icons/ShieldIcon.js +1 -1
  398. package/es/icons/SlashIcon.js +1 -1
  399. package/es/icons/SparklesIcon.js +1 -1
  400. package/es/icons/SqlIcon.js +1 -1
  401. package/es/icons/StatsIcon.js +1 -1
  402. package/es/icons/StopIcon.js +1 -1
  403. package/es/icons/StringIcon.js +1 -1
  404. package/es/icons/SubtotalsIcon.js +1 -1
  405. package/es/icons/SwitchIcon.js +1 -1
  406. package/es/icons/TableIcon.js +1 -1
  407. package/es/icons/ThumbsDownIcon.js +1 -1
  408. package/es/icons/ThumbsUpIcon.js +1 -1
  409. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  410. package/es/icons/ThunderboltFilledIcon.js +1 -1
  411. package/es/icons/ThunderboltIcon.js +1 -1
  412. package/es/icons/TimeIcon.js +1 -1
  413. package/es/icons/TrashIcon.js +1 -1
  414. package/es/icons/UnlockIcon.js +1 -1
  415. package/es/icons/UpIcon.js +1 -1
  416. package/es/icons/UserGroupIcon.js +1 -1
  417. package/es/icons/UserIcon.js +1 -1
  418. package/es/icons/UserLockIcon.js +1 -1
  419. package/es/icons/ViewIcon.js +1 -1
  420. package/es/icons/WarningFilledIcon.js +1 -1
  421. package/es/icons/WarningIcon.js +1 -1
  422. package/es/icons/index.js +1 -1
  423. package/es/icons/wrap-icon.js +1 -1
  424. package/es/index.js +1 -3
  425. package/es/provider.js +1 -1
  426. package/es/providers/TrackingProvider.js +1 -1
  427. package/es/providers/navigation.types.js +1 -1
  428. package/es/providers/navigationAdapter.default.js +1 -1
  429. package/es/services/notification.js +1 -1
  430. package/es/shared/form.js +1 -1
  431. package/es/shared/index.js +1 -1
  432. package/es/stories/Form.legacy-stories.js +1 -1
  433. package/es/stories/FormFieldArgs.js +1 -1
  434. package/es/stories/SimpleLayout.stories.js +1 -1
  435. package/es/stories/Tasty.stories.js +1 -1
  436. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  437. package/es/stories/components/DialogFormApp.js +1 -1
  438. package/es/stories/components/StyledButton.js +1 -1
  439. package/es/stories/lists/baseProps.js +1 -1
  440. package/es/stories/playground/PlaygroundEditor.js +1 -1
  441. package/es/stories/playground/PlaygroundLayout.js +1 -1
  442. package/es/stories/playground/PlaygroundOutput.js +1 -1
  443. package/es/stories/playground/PlaygroundPreview.js +1 -1
  444. package/es/stories/playground/components/Button.js +1 -1
  445. package/es/stories/playground/components/Card.js +1 -1
  446. package/es/stories/playground/components/ScrollProgress.js +1 -1
  447. package/es/stories/playground/examples.js +1 -1
  448. package/es/tasty/chunks/cacheKey.js +1 -1
  449. package/es/tasty/chunks/definitions.js +3 -3
  450. package/es/tasty/chunks/index.js +1 -1
  451. package/es/tasty/chunks/renderChunk.js +1 -1
  452. package/es/tasty/config.js +1 -1
  453. package/es/tasty/debug.js +1 -1
  454. package/es/tasty/hooks/index.js +1 -3
  455. package/es/tasty/hooks/useGlobalStyles.js +1 -1
  456. package/es/tasty/hooks/useRawCSS.js +1 -1
  457. package/es/tasty/hooks/useStyles.js +2 -15
  458. package/es/tasty/index.js +2 -2
  459. package/es/tasty/injector/index.js +1 -39
  460. package/es/tasty/injector/injector.js +16 -67
  461. package/es/tasty/injector/sheet-manager.js +2 -2
  462. package/es/tasty/injector/types.js +1 -1
  463. package/es/tasty/keyframes/index.js +1 -1
  464. package/es/tasty/parser/classify.js +1 -15
  465. package/es/tasty/parser/const.js +1 -1
  466. package/es/tasty/parser/lru.js +1 -1
  467. package/es/tasty/parser/parser.js +1 -1
  468. package/es/tasty/parser/tokenizer.js +1 -1
  469. package/es/tasty/parser/types.js +1 -1
  470. package/es/tasty/pipeline/conditions.js +1 -1
  471. package/es/tasty/pipeline/exclusive.js +1 -1
  472. package/es/tasty/pipeline/index.js +1 -1
  473. package/es/tasty/pipeline/materialize.js +1 -1
  474. package/es/tasty/pipeline/parseStateKey.js +1 -1
  475. package/es/tasty/pipeline/simplify.js +1 -1
  476. package/es/tasty/plugins/index.js +1 -1
  477. package/es/tasty/plugins/okhsl-plugin.js +1 -1
  478. package/es/tasty/plugins/types.js +1 -1
  479. package/es/tasty/states/index.js +2 -8
  480. package/es/tasty/static/index.js +1 -1
  481. package/es/tasty/static/tastyStatic.js +1 -1
  482. package/es/tasty/static/types.js +1 -1
  483. package/es/tasty/styles/align.js +1 -1
  484. package/es/tasty/styles/border.js +20 -114
  485. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  486. package/es/tasty/styles/color.js +1 -1
  487. package/es/tasty/styles/createStyle.js +1 -1
  488. package/es/tasty/styles/dimension.js +1 -1
  489. package/es/tasty/styles/display.js +1 -1
  490. package/es/tasty/styles/fade.js +13 -46
  491. package/es/tasty/styles/fill.js +56 -7
  492. package/es/tasty/styles/flow.js +1 -1
  493. package/es/tasty/styles/font.js +1 -1
  494. package/es/tasty/styles/fontStyle.js +1 -1
  495. package/es/tasty/styles/gap.js +1 -1
  496. package/es/tasty/styles/groupRadius.js +1 -1
  497. package/es/tasty/styles/height.js +1 -1
  498. package/es/tasty/styles/index.js +1 -1
  499. package/es/tasty/styles/inset.js +1 -1
  500. package/es/tasty/styles/justify.js +1 -1
  501. package/es/tasty/styles/list.js +2 -2
  502. package/es/tasty/styles/margin.js +1 -1
  503. package/es/tasty/styles/outline.js +1 -1
  504. package/es/tasty/styles/padding.js +1 -1
  505. package/es/tasty/styles/place.js +1 -1
  506. package/es/tasty/styles/predefined.js +1 -1
  507. package/es/tasty/styles/preset.js +1 -1
  508. package/es/tasty/styles/radius.js +1 -1
  509. package/es/tasty/styles/reset.js +1 -1
  510. package/es/tasty/styles/scrollbar.js +1 -1
  511. package/es/tasty/styles/shadow.js +1 -1
  512. package/es/tasty/styles/styledScrollbar.js +1 -1
  513. package/es/tasty/styles/transition.js +20 -2
  514. package/es/tasty/styles/types.js +1 -1
  515. package/es/tasty/styles/width.js +1 -1
  516. package/es/tasty/tasty.js +113 -94
  517. package/es/tasty/types.js +1 -1
  518. package/es/tasty/utils/cache-wrapper.js +1 -1
  519. package/es/tasty/utils/case-converter.js +1 -1
  520. package/es/tasty/utils/colors.js +1 -1
  521. package/es/tasty/utils/dotize.js +1 -1
  522. package/es/tasty/utils/filterBaseProps.js +1 -1
  523. package/es/tasty/utils/getDisplayName.js +1 -1
  524. package/es/tasty/utils/isDevEnv.js +1 -1
  525. package/es/tasty/utils/mergeStyles.js +1 -1
  526. package/es/tasty/utils/modAttrs.js +1 -1
  527. package/es/tasty/utils/processTokens.js +1 -1
  528. package/es/tasty/utils/string.js +1 -1
  529. package/es/tasty/utils/styles.js +1 -1
  530. package/es/tasty/utils/typography.js +1 -1
  531. package/es/tasty/utils/warnings.js +1 -1
  532. package/es/tasty/zero/babel.js +1 -1
  533. package/es/tasty/zero/css-writer.js +1 -1
  534. package/es/tasty/zero/extractor.js +1 -1
  535. package/es/tasty/zero/index.js +1 -1
  536. package/es/tasty/zero/next.js +1 -1
  537. package/es/tokens/base.js +1 -5
  538. package/es/tokens/colors.js +1 -1
  539. package/es/tokens/index.js +1 -1
  540. package/es/tokens/layout.js +1 -1
  541. package/es/tokens/shadows.js +1 -1
  542. package/es/tokens/sizes.js +1 -1
  543. package/es/tokens/spacing.js +1 -1
  544. package/es/tokens/typography.js +1 -1
  545. package/es/utils/ResizeSensor.js +1 -1
  546. package/es/utils/index.js +1 -1
  547. package/es/utils/modules.js +1 -1
  548. package/es/utils/promise.js +1 -1
  549. package/es/utils/raf.js +1 -1
  550. package/es/utils/random.js +1 -1
  551. package/es/utils/range.js +1 -1
  552. package/es/utils/react/RenderCache.js +1 -1
  553. package/es/utils/react/Slots.js +1 -1
  554. package/es/utils/react/chain.js +1 -1
  555. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  556. package/es/utils/react/index.js +1 -1
  557. package/es/utils/react/interactions.js +1 -1
  558. package/es/utils/react/isTextOnly.js +1 -1
  559. package/es/utils/react/mapProps.js +1 -1
  560. package/es/utils/react/mergeProps.js +1 -1
  561. package/es/utils/react/nullableValue.js +1 -1
  562. package/es/utils/react/resolveIcon.js +1 -1
  563. package/es/utils/react/sharedStore.js +1 -1
  564. package/es/utils/react/useCombinedRefs.js +1 -1
  565. package/es/utils/react/useControlledFocusVisible.js +1 -1
  566. package/es/utils/react/useEventBus.js +1 -1
  567. package/es/utils/react/useId.js +1 -1
  568. package/es/utils/react/useIsDarwin.js +1 -1
  569. package/es/utils/react/useKeySymbols.js +1 -1
  570. package/es/utils/react/useLayoutEffect.js +1 -1
  571. package/es/utils/react/useLocalStorage.js +1 -1
  572. package/es/utils/react/useQaProps.js +1 -1
  573. package/es/utils/react/useViewportSize.js +1 -1
  574. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  575. package/es/utils/tree.js +1 -1
  576. package/es/utils/warnings.js +1 -1
  577. package/es/version.js +2 -2
  578. package/package.json +1 -1
  579. package/types/components/HiddenInput.d.ts +4 -4
  580. package/types/components/actions/Button/Button.d.ts +14 -14
  581. package/types/components/actions/CommandMenu/styled.d.ts +20 -20
  582. package/types/components/actions/Menu/styled.d.ts +533 -530
  583. package/types/components/content/Item/Item.d.ts +0 -7
  584. package/types/components/content/Layout/hooks/useTinyScrollbar.d.ts +0 -6
  585. package/types/components/content/List/SectionHeading.d.ts +171 -170
  586. package/types/components/content/Text.d.ts +1183 -1176
  587. package/types/components/fields/DatePicker/DatePickerElement.d.ts +171 -170
  588. package/types/components/fields/Select/Select.d.ts +4 -4
  589. package/types/components/fields/Slider/elements.d.ts +24 -24
  590. package/types/index.d.ts +0 -1
  591. package/types/tasty/hooks/index.d.ts +0 -3
  592. package/types/tasty/index.d.ts +2 -2
  593. package/types/tasty/injector/index.d.ts +1 -57
  594. package/types/tasty/injector/injector.d.ts +7 -19
  595. package/types/tasty/injector/types.d.ts +2 -14
  596. package/types/tasty/styles/border.d.ts +3 -11
  597. package/types/tasty/styles/fade.d.ts +1 -1
  598. package/types/tasty/styles/fill.d.ts +13 -3
  599. package/types/tasty/styles/list.d.ts +3 -3
  600. package/types/tasty/styles/types.d.ts +27 -42
  601. package/types/tasty/tasty.d.ts +4 -4
  602. package/es/components/navigation/Tabs/Tabs.js +0 -918
  603. package/es/components/navigation/Tabs/index.js +0 -10
  604. package/es/components/navigation/index.js +0 -10
  605. package/es/tasty/hooks/useKeyframes.js +0 -82
  606. package/es/tasty/hooks/useProperty.js +0 -100
  607. package/es/tasty/properties/index.js +0 -211
  608. package/types/components/navigation/Tabs/Tabs.d.ts +0 -235
  609. package/types/components/navigation/Tabs/index.d.ts +0 -2
  610. package/types/components/navigation/index.d.ts +0 -2
  611. package/types/tasty/hooks/useKeyframes.d.ts +0 -52
  612. package/types/tasty/hooks/useProperty.d.ts +0 -75
  613. package/types/tasty/properties/index.d.ts +0 -90
@@ -1,10 +0,0 @@
1
- /**
2
- * @license MIT
3
- * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-3f98351
5
- * Released under the MIT license.
6
- */
7
-
8
- export { Tabs, Tab } from './Tabs.js';
9
-
10
-
@@ -1,10 +0,0 @@
1
- /**
2
- * @license MIT
3
- * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-3f98351
5
- * Released under the MIT license.
6
- */
7
-
8
- export * from './Tabs/index.js';
9
-
10
-
@@ -1,82 +0,0 @@
1
- /**
2
- * @license MIT
3
- * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-3f98351
5
- * Released under the MIT license.
6
- */
7
-
8
- import { useInsertionEffect, useMemo, useRef } from 'react';
9
- import { keyframes } from '../injector/index.js';
10
- // Implementation
11
- export function useKeyframes(stepsOrFactory, depsOrOptions, options) {
12
- // Detect which overload is being used
13
- const isFactory = typeof stepsOrFactory === 'function';
14
- // Parse arguments based on overload
15
- const deps = isFactory && Array.isArray(depsOrOptions) ? depsOrOptions : undefined;
16
- const opts = isFactory
17
- ? options
18
- : depsOrOptions;
19
- // Memoize the keyframes steps to get a stable reference
20
- const stepsData = useMemo(() => {
21
- const steps = isFactory
22
- ? stepsOrFactory()
23
- : stepsOrFactory;
24
- if (!steps || Object.keys(steps).length === 0) {
25
- return null;
26
- }
27
- return steps;
28
- }, isFactory ? deps ?? [] : [stepsOrFactory]);
29
- // Store keyframes results for cleanup - we need to track both the render-time
30
- // injection (for the name) and the effect-time injection (for Strict Mode safety)
31
- const renderResultRef = useRef(null);
32
- const effectResultRef = useRef(null);
33
- // Inject keyframes during render to ensure the animation name is available
34
- // immediately. The keyframes() function uses reference counting internally,
35
- // so multiple calls with the same content are deduplicated.
36
- const name = useMemo(() => {
37
- // Dispose previous render-time result if deps changed
38
- renderResultRef.current?.dispose();
39
- renderResultRef.current = null;
40
- if (!stepsData) {
41
- return '';
42
- }
43
- // Inject keyframes synchronously
44
- const result = keyframes(stepsData, {
45
- name: opts?.name,
46
- root: opts?.root,
47
- });
48
- renderResultRef.current = result;
49
- return result.toString();
50
- }, [stepsData, opts?.name, opts?.root]);
51
- // Handle injection and cleanup in useInsertionEffect to properly support
52
- // React 18+ Strict Mode double-invocation (mount → unmount → mount).
53
- // The effect setup re-injects the keyframes if cleanup was called, ensuring
54
- // the CSS exists after Strict Mode remounts.
55
- useInsertionEffect(() => {
56
- // Dispose previous effect-time result
57
- effectResultRef.current?.dispose();
58
- effectResultRef.current = null;
59
- // Re-inject keyframes. This ensures the CSS exists after Strict Mode cleanup.
60
- // The keyframes() function uses reference counting, so this is idempotent
61
- // if the CSS wasn't disposed.
62
- if (stepsData) {
63
- const result = keyframes(stepsData, {
64
- name: opts?.name,
65
- root: opts?.root,
66
- });
67
- effectResultRef.current = result;
68
- }
69
- // Cleanup on unmount or when dependencies change.
70
- // Dispose both the effect-time and render-time results to properly
71
- // decrement the reference count.
72
- return () => {
73
- effectResultRef.current?.dispose();
74
- effectResultRef.current = null;
75
- renderResultRef.current?.dispose();
76
- renderResultRef.current = null;
77
- };
78
- }, [stepsData, opts?.name, opts?.root]);
79
- return name;
80
- }
81
-
82
-
@@ -1,100 +0,0 @@
1
- /**
2
- * @license MIT
3
- * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-3f98351
5
- * Released under the MIT license.
6
- */
7
-
8
- import { useInsertionEffect, useMemo } from 'react';
9
- import { getGlobalInjector } from '../config.js';
10
- /**
11
- * Hook to register a CSS @property custom property.
12
- * This enables advanced features like animating custom properties.
13
- *
14
- * Note: @property rules are global and persistent once defined.
15
- * The hook ensures the property is only registered once per root.
16
- *
17
- * Accepts tasty token syntax for the property name:
18
- * - `$name` → defines `--name`
19
- * - `#name` → defines `--name-color` (auto-sets syntax: '<color>', defaults initialValue: 'transparent')
20
- * - `--name` → defines `--name` (legacy format)
21
- *
22
- * @param name - The property token ($name, #name) or CSS property name (--name)
23
- * @param options - Property configuration
24
- *
25
- * @example Basic property with token syntax
26
- * ```tsx
27
- * function Spinner() {
28
- * useProperty('$rotation', {
29
- * syntax: '<angle>',
30
- * inherits: false,
31
- * initialValue: '0deg',
32
- * });
33
- *
34
- * return <div className="spinner" />;
35
- * }
36
- * ```
37
- *
38
- * @example Color property with token syntax (auto-sets syntax)
39
- * ```tsx
40
- * function MyComponent() {
41
- * useProperty('#theme', {
42
- * initialValue: 'red', // syntax: '<color>' is auto-set
43
- * });
44
- *
45
- * // Now --theme-color can be animated with CSS transitions
46
- * return <div style={{ '--theme-color': 'blue' } as React.CSSProperties}>Colored</div>;
47
- * }
48
- * ```
49
- *
50
- * @example Legacy format (still supported)
51
- * ```tsx
52
- * function ResizableBox() {
53
- * useProperty('--box-size', {
54
- * syntax: '<length>',
55
- * initialValue: '100px',
56
- * });
57
- *
58
- * return <div style={{ width: 'var(--box-size)' }} />;
59
- * }
60
- * ```
61
- */
62
- export function useProperty(name, options) {
63
- // Memoize the options to create a stable dependency
64
- const optionsKey = useMemo(() => {
65
- if (!options)
66
- return '';
67
- return JSON.stringify({
68
- syntax: options.syntax,
69
- inherits: options.inherits,
70
- initialValue: options.initialValue,
71
- });
72
- }, [options?.syntax, options?.inherits, options?.initialValue]);
73
- useInsertionEffect(() => {
74
- if (!name) {
75
- if (process.env.NODE_ENV !== 'production') {
76
- console.warn(`[Tasty] useProperty: property name is required`);
77
- }
78
- return;
79
- }
80
- const injector = getGlobalInjector();
81
- // Check if already defined (properties are persistent)
82
- // The injector handles token parsing internally
83
- if (injector.isPropertyDefined(name, { root: options?.root })) {
84
- return;
85
- }
86
- // Register the property
87
- // The injector handles $name, #name, --name parsing and auto-sets
88
- // syntax for color tokens
89
- injector.property(name, {
90
- syntax: options?.syntax,
91
- inherits: options?.inherits,
92
- initialValue: options?.initialValue,
93
- root: options?.root,
94
- });
95
- // No cleanup - @property rules are global and persistent
96
- // Re-registering is a no-op anyway due to the isPropertyDefined check
97
- }, [name, optionsKey, options?.root]);
98
- }
99
-
100
-
@@ -1,211 +0,0 @@
1
- /**
2
- * @license MIT
3
- * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-3f98351
5
- * Released under the MIT license.
6
- */
7
-
8
- /**
9
- * Properties Utilities
10
- *
11
- * Utilities for extracting and processing CSS @property definitions in styles.
12
- * Unlike keyframes, properties are permanent once registered and don't need cleanup.
13
- *
14
- * Property names use tasty token syntax:
15
- * - `$name` for regular properties → `--name`
16
- * - `#name` for color properties → `--name-color` (auto-sets syntax: '<color>')
17
- */
18
- // ============================================================================
19
- // Constants
20
- // ============================================================================
21
- const PROPERTIES_KEY = '@properties';
22
- /**
23
- * Valid CSS custom property name pattern (after the -- prefix).
24
- * Must start with a letter or underscore, followed by letters, digits, hyphens, or underscores.
25
- */
26
- const VALID_PROPERTY_NAME_PATTERN = /^[a-z_][a-z0-9-_]*$/i;
27
- // ============================================================================
28
- // Validation Functions
29
- // ============================================================================
30
- /**
31
- * Validate a CSS custom property name (the part after --).
32
- * Returns true if the name is valid for use as a CSS custom property.
33
- */
34
- export function isValidPropertyName(name) {
35
- return VALID_PROPERTY_NAME_PATTERN.test(name);
36
- }
37
- // ============================================================================
38
- // Extraction Functions
39
- // ============================================================================
40
- /**
41
- * Check if styles object has local @properties definition.
42
- * Fast path: single property lookup.
43
- */
44
- export function hasLocalProperties(styles) {
45
- return PROPERTIES_KEY in styles;
46
- }
47
- /**
48
- * Extract local @properties from styles object.
49
- * Returns null if no local properties (fast path).
50
- */
51
- export function extractLocalProperties(styles) {
52
- const properties = styles[PROPERTIES_KEY];
53
- if (!properties || typeof properties !== 'object') {
54
- return null;
55
- }
56
- return properties;
57
- }
58
- // ============================================================================
59
- // Token Parsing Functions
60
- // ============================================================================
61
- /**
62
- * Parse a property token name and return the CSS property name and whether it's a color.
63
- * Supports tasty token syntax and validates the property name.
64
- *
65
- * Token formats:
66
- * - `$name` → { cssName: '--name', isColor: false }
67
- * - `#name` → { cssName: '--name-color', isColor: true }
68
- * - `--name` → { cssName: '--name', isColor: false } (legacy, auto-detect color by suffix)
69
- * - `name` → { cssName: '--name', isColor: false } (legacy)
70
- *
71
- * @param token - The property token to parse
72
- * @returns Parsed result with cssName, isColor, isValid, and optional error
73
- */
74
- export function parsePropertyToken(token) {
75
- if (!token || typeof token !== 'string') {
76
- return {
77
- cssName: '',
78
- isColor: false,
79
- isValid: false,
80
- error: 'Property token must be a non-empty string',
81
- };
82
- }
83
- let name;
84
- let isColor;
85
- if (token.startsWith('$')) {
86
- // Regular property token: $name → --name
87
- name = token.slice(1);
88
- isColor = false;
89
- }
90
- else if (token.startsWith('#')) {
91
- // Color property token: #name → --name-color
92
- name = token.slice(1);
93
- isColor = true;
94
- }
95
- else if (token.startsWith('--')) {
96
- // Legacy format with -- prefix
97
- name = token.slice(2);
98
- isColor = token.endsWith('-color');
99
- }
100
- else {
101
- // Legacy format without prefix
102
- name = token;
103
- isColor = token.endsWith('-color');
104
- }
105
- // Validate the name
106
- if (!name) {
107
- return {
108
- cssName: '',
109
- isColor,
110
- isValid: false,
111
- error: 'Property name cannot be empty',
112
- };
113
- }
114
- if (!isValidPropertyName(name)) {
115
- return {
116
- cssName: '',
117
- isColor,
118
- isValid: false,
119
- error: `Invalid property name "${name}". Must start with a letter or underscore, followed by letters, digits, hyphens, or underscores.`,
120
- };
121
- }
122
- // Build the CSS custom property name
123
- // For #name tokens, we add -color suffix
124
- // For legacy formats (--name-color or name-color), the name already includes -color
125
- let cssName;
126
- if (token.startsWith('#')) {
127
- // Color token: #name → --name-color
128
- cssName = `--${name}-color`;
129
- }
130
- else {
131
- // All other formats: just add -- prefix
132
- cssName = `--${name}`;
133
- }
134
- return {
135
- cssName,
136
- isColor,
137
- isValid: true,
138
- };
139
- }
140
- // ============================================================================
141
- // Normalization Functions
142
- // ============================================================================
143
- /**
144
- * Normalize a property name to the CSS custom property format.
145
- *
146
- * @deprecated Use parsePropertyToken instead for proper token handling
147
- */
148
- export function normalizePropertyName(name) {
149
- const result = parsePropertyToken(name);
150
- return result.isValid ? result.cssName : `--${name}`;
151
- }
152
- /**
153
- * Normalize a property definition to a consistent string representation.
154
- * Used for comparing definitions to detect changes/conflicts.
155
- *
156
- * Keys are sorted alphabetically to ensure consistent comparison:
157
- * { inherits: true, syntax: '<color>' } === { syntax: '<color>', inherits: true }
158
- */
159
- export function normalizePropertyDefinition(def) {
160
- const normalized = {};
161
- // Add properties in alphabetical order
162
- if (def.inherits !== undefined) {
163
- normalized.inherits = def.inherits;
164
- }
165
- if (def.initialValue !== undefined) {
166
- normalized.initialValue = String(def.initialValue);
167
- }
168
- if (def.syntax !== undefined) {
169
- normalized.syntax = def.syntax;
170
- }
171
- return JSON.stringify(normalized);
172
- }
173
- /**
174
- * Get the effective property definition for a token.
175
- * For color tokens (#name), auto-sets syntax to '<color>' and defaults initialValue to 'transparent'.
176
- *
177
- * @param token - Property token ($name, #name, --name, or plain name)
178
- * @param userDefinition - User-provided definition options
179
- * @returns Effective definition with cssName, definition, isValid, and optional error
180
- */
181
- export function getEffectiveDefinition(token, userDefinition) {
182
- const parsed = parsePropertyToken(token);
183
- if (!parsed.isValid) {
184
- return {
185
- cssName: '',
186
- definition: userDefinition,
187
- isValid: false,
188
- error: parsed.error,
189
- };
190
- }
191
- if (parsed.isColor) {
192
- // Color properties have fixed syntax and default initialValue
193
- return {
194
- cssName: parsed.cssName,
195
- definition: {
196
- syntax: '<color>', // Always '<color>' for color tokens, cannot be overridden
197
- inherits: userDefinition.inherits, // Allow inherits to be customized
198
- initialValue: userDefinition.initialValue ?? 'transparent', // Default to transparent
199
- },
200
- isValid: true,
201
- };
202
- }
203
- // Regular properties use the definition as-is
204
- return {
205
- cssName: parsed.cssName,
206
- definition: userDefinition,
207
- isValid: true,
208
- };
209
- }
210
-
211
-
@@ -1,235 +0,0 @@
1
- import { Key } from '@react-types/shared';
2
- import { ReactElement, ReactNode } from 'react';
3
- import { BaseProps, Styles } from '../../../tasty';
4
- import { CubeItemProps } from '../../content/Item';
5
- /** Visual appearance type for tabs */
6
- export type TabType = 'default' | 'panel' | 'radio';
7
- /** Tab size options */
8
- export type TabSize = 'medium' | 'large';
9
- /** Common props for panel rendering behavior */
10
- interface PanelBehaviorProps {
11
- /** If true, panel is rendered but hidden when not active. */
12
- prerender?: boolean;
13
- /** If true, once visited the panel stays in DOM. */
14
- keepMounted?: boolean;
15
- }
16
- /** Common props for QA attributes */
17
- interface QAProps {
18
- /** QA selector attribute. */
19
- qa?: string;
20
- /** Additional QA value attribute. */
21
- qaVal?: string;
22
- }
23
- /** Props from CubeItemProps that don't apply to Tab */
24
- type OmittedItemProps = 'id' | 'type' | 'size' | 'theme' | 'shape' | 'icon' | 'rightIcon' | 'prefix' | 'suffix' | 'description' | 'descriptionPlacement' | 'descriptionProps' | 'tooltip' | 'defaultTooltipPlacement' | 'hotkeys' | 'keyboardShortcutProps' | 'loadingSlot' | 'isLoading' | 'labelProps' | 'labelRef' | 'level' | 'highlight' | 'highlightCaseSensitive' | 'highlightStyles' | 'variant' | 'htmlType' | 'isSelected' | 'preserveActionsSpace' | 'disableActionsFocus' | 'actions' | 'showActionsOnHover';
25
- /** Common styling props for tabs - inherits style props from CubeItemProps */
26
- interface TabStyleProps extends Omit<CubeItemProps, OmittedItemProps> {
27
- /** Tab size. Large uses `t2m` preset, medium uses `t3m`. */
28
- size?: TabSize;
29
- /** Visual appearance type. */
30
- type?: TabType;
31
- /** Whether to show actions only on hover. */
32
- showActionsOnHover?: boolean;
33
- }
34
- export interface CubeTabsProps extends BaseProps, PanelBehaviorProps {
35
- /** Controlled active tab key. When provided, component is controlled. */
36
- activeKey?: Key;
37
- /** Initial active tab key for uncontrolled mode. */
38
- defaultActiveKey?: Key;
39
- /**
40
- * Visual appearance type for tabs.
41
- * - `default` - Standard tabs with selection indicator below (default)
42
- * - `panel` - Panel-style tabs with sharp edges and no gaps
43
- * - `radio` - Radio button style for tab selection
44
- * @default 'default'
45
- */
46
- type?: TabType;
47
- /** Tab size. Large uses `t2m` preset, medium uses `t3m`. */
48
- size?: TabSize;
49
- /** Accessible label for the tab list. */
50
- label?: string;
51
- /** Content rendered before the tab list. */
52
- prefix?: ReactNode;
53
- /** Content rendered after the tab list. */
54
- suffix?: ReactNode;
55
- /** Callback when active tab changes. */
56
- onChange?: (key: Key) => void;
57
- /** Callback when tab delete button is clicked. Presence enables delete buttons. */
58
- onDelete?: (key: Key) => void;
59
- /** Callback when a tab title is changed. Enables title editing on tabs with isEditable. */
60
- onTitleChange?: (key: Key, newTitle: string) => void;
61
- /** Whether to show tab actions only on hover. Can be overridden per-tab. */
62
- showActionsOnHover?: boolean;
63
- /** Custom tasty styles for the tab bar container. */
64
- styles?: Styles;
65
- /** QA selector attribute. */
66
- qa?: string;
67
- /** Tab components or Tabs.List with Tabs.Panel. */
68
- children?: ReactNode;
69
- /**
70
- * Functional content renderer for optimized lazy evaluation.
71
- * When provided, panel content is only evaluated for the active tab,
72
- * while inactive tabs use cached content. This prevents expensive
73
- * re-renders of tab content on every parent render.
74
- *
75
- * Use with tabs that have no children for maximum optimization.
76
- *
77
- * @param key - The key of the tab to render content for
78
- * @returns Panel content for the given tab
79
- *
80
- * @example
81
- * ```tsx
82
- * <Tabs
83
- * renderPanel={(key) => {
84
- * switch (key) {
85
- * case 'tab1': return <ExpensiveComponent />;
86
- * case 'tab2': return <AnotherExpensive />;
87
- * default: return null;
88
- * }
89
- * }}
90
- * >
91
- * <Tab key="tab1" title="Tab 1" />
92
- * <Tab key="tab2" title="Tab 2" />
93
- * </Tabs>
94
- * ```
95
- */
96
- renderPanel?: (key: Key) => ReactNode;
97
- /**
98
- * Cache keys for individual panels. Enables caching for specified panels.
99
- *
100
- * By default (without cache keys), panels re-render on every Tabs render.
101
- * When a panel has a non-undefined cache key defined, its content is cached
102
- * and reused until the cache key changes.
103
- *
104
- * **Important:**
105
- * - Cache keys must be primitive values (string, number, boolean, null).
106
- * - Objects/arrays will cause cache misses on every render (reference comparison).
107
- * - Symbol tab keys are not supported for caching (use string keys instead).
108
- * - Setting a key to `undefined` is the same as not having it (no caching).
109
- *
110
- * @example
111
- * ```tsx
112
- * // Enable caching for specific panels with their dependencies as cache keys
113
- * <Tabs
114
- * renderPanel={(key) => <Panel data={data[key]} />}
115
- * panelCacheKeys={{
116
- * tab1: data.tab1.version, // Cached, invalidates when version changes
117
- * tab2: data.tab2.version, // Cached, invalidates when version changes
118
- * // tab3 has no cache key - re-renders on every Tabs render
119
- * }}
120
- * />
121
- * ```
122
- */
123
- panelCacheKeys?: Record<string | number, string | number | boolean | null | undefined>;
124
- }
125
- export interface CubeTabProps extends TabStyleProps, PanelBehaviorProps {
126
- /**
127
- * Unique identifier for the tab. Used for activeKey matching.
128
- * Auto-injected from the React `key` prop (converted to string).
129
- * Note: All keys are internally converted to strings for React Aria compatibility.
130
- */
131
- id?: string;
132
- /** Content displayed in the tab button. */
133
- title: ReactNode;
134
- /** Panel content rendered when tab is active. */
135
- children?: ReactNode;
136
- /** Disables the tab (cannot be selected). */
137
- isDisabled?: boolean;
138
- /** Actions to render in the tab (e.g., icons, buttons). Rendered before delete action if tab is deletable. */
139
- actions?: ReactNode;
140
- /** Whether the tab title can be edited. Requires onTitleChange on Tabs or Tab. */
141
- isEditable?: boolean;
142
- /** Callback when this tab's title is changed. Overrides parent's onTitleChange. */
143
- onTitleChange?: (newTitle: string) => void;
144
- }
145
- export interface CubeTabPanelProps extends PanelBehaviorProps, QAProps {
146
- /**
147
- * Panel identifier. Must match a Tab's id.
148
- * Auto-injected from the React `key` prop (converted to string).
149
- */
150
- id?: string;
151
- /** Panel content. */
152
- children?: ReactNode;
153
- /** Custom tasty styles for the panel container. */
154
- styles?: Styles;
155
- }
156
- export interface CubeTabListProps {
157
- /** Tab components. */
158
- children?: ReactNode;
159
- }
160
- /** Ref API for programmatic control of Tabs component */
161
- export interface CubeTabsRef {
162
- /** The root DOM element of the Tabs component */
163
- element: HTMLDivElement | null;
164
- /** Start editing a tab's title by its key */
165
- startEditing: (key: Key) => void;
166
- /** Cancel the current editing session */
167
- cancelEditing: () => void;
168
- }
169
- declare function Tab(_props: CubeTabProps): ReactElement | null;
170
- declare namespace Tab {
171
- var displayName: string;
172
- }
173
- declare function TabPanel(_props: CubeTabPanelProps): ReactElement | null;
174
- declare namespace TabPanel {
175
- var displayName: string;
176
- }
177
- declare function TabList(_props: CubeTabListProps): ReactElement | null;
178
- declare namespace TabList {
179
- var displayName: string;
180
- }
181
- /**
182
- * Tabs component for organizing content into multiple panels.
183
- * Built with React Aria for full accessibility support.
184
- *
185
- * **Note:** Tab keys are internally converted to strings for React Aria compatibility.
186
- * When using `activeKey`, `onChange`, etc., be aware that numeric keys will be
187
- * converted to their string equivalents.
188
- *
189
- * @example
190
- * // Simple usage
191
- * <Tabs defaultActiveKey="tab1">
192
- * <Tab key="tab1" title="Tab 1">Content 1</Tab>
193
- * <Tab key="tab2" title="Tab 2">Content 2</Tab>
194
- * </Tabs>
195
- *
196
- * @example
197
- * // Tabs-only (no panels)
198
- * <Tabs activeKey={activeTab} onChange={setActiveTab}>
199
- * <Tab key="overview" title="Overview" />
200
- * <Tab key="settings" title="Settings" />
201
- * </Tabs>
202
- *
203
- * @example
204
- * // Explicit panels
205
- * <Tabs defaultActiveKey="tab1">
206
- * <Tabs.List>
207
- * <Tab key="tab1" title="Tab 1" />
208
- * <Tab key="tab2" title="Tab 2" />
209
- * </Tabs.List>
210
- * <Tabs.Panel key="tab1">Content 1</Tabs.Panel>
211
- * <Tabs.Panel key="tab2">Content 2</Tabs.Panel>
212
- * </Tabs>
213
- *
214
- * @example
215
- * // Optimized lazy rendering with renderPanel
216
- * <Tabs
217
- * defaultActiveKey="tab1"
218
- * renderPanel={(key) => {
219
- * switch (key) {
220
- * case 'tab1': return <ExpensiveComponent />;
221
- * case 'tab2': return <AnotherExpensive />;
222
- * default: return null;
223
- * }
224
- * }}
225
- * >
226
- * <Tab key="tab1" title="Tab 1" />
227
- * <Tab key="tab2" title="Tab 2" />
228
- * </Tabs>
229
- */
230
- export declare const Tabs: import("react").ForwardRefExoticComponent<CubeTabsProps & import("react").RefAttributes<CubeTabsRef>> & {
231
- Tab: typeof Tab;
232
- List: typeof TabList;
233
- Panel: typeof TabPanel;
234
- };
235
- export { Tab, TabList, TabPanel };
@@ -1,2 +0,0 @@
1
- export { Tabs, Tab } from './Tabs';
2
- export type { CubeTabsProps, CubeTabsRef, CubeTabProps, CubeTabPanelProps, CubeTabListProps, } from './Tabs';
@@ -1,2 +0,0 @@
1
- export * from './Tabs';
2
- export type { CubeTabsProps, CubeTabProps, CubeTabPanelProps, CubeTabListProps, } from './Tabs';