@cube-dev/ui-kit 0.0.0-canary-e2a9f35 → 0.0.0-canary-c48279e

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 (688) 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 +3 -4
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Banner/Banner.js +1 -1
  24. package/es/components/actions/Banner/index.js +1 -1
  25. package/es/components/actions/Button/Button.js +1 -1
  26. package/es/components/actions/Button/index.js +1 -1
  27. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  28. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  29. package/es/components/actions/CommandMenu/index.js +1 -1
  30. package/es/components/actions/CommandMenu/styled.js +1 -1
  31. package/es/components/actions/ItemAction/ItemAction.js +5 -1
  32. package/es/components/actions/ItemAction/index.js +1 -1
  33. package/es/components/actions/ItemActionContext.js +1 -1
  34. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  35. package/es/components/actions/ItemButton/index.js +1 -1
  36. package/es/components/actions/Link/Link.js +1 -1
  37. package/es/components/actions/Menu/Menu.js +1 -1
  38. package/es/components/actions/Menu/MenuItem.js +1 -1
  39. package/es/components/actions/Menu/MenuSection.js +1 -1
  40. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  41. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  42. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  43. package/es/components/actions/Menu/context.js +1 -1
  44. package/es/components/actions/Menu/index.js +1 -1
  45. package/es/components/actions/Menu/styled.js +1 -1
  46. package/es/components/actions/index.js +1 -1
  47. package/es/components/actions/use-action.js +1 -1
  48. package/es/components/actions/use-anchored-menu.js +1 -1
  49. package/es/components/actions/use-context-menu.js +1 -1
  50. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  51. package/es/components/content/Alert/Alert.js +1 -1
  52. package/es/components/content/Alert/index.js +1 -1
  53. package/es/components/content/Alert/types.js +1 -1
  54. package/es/components/content/Alert/use-alert.js +1 -1
  55. package/es/components/content/Avatar/Avatar.js +1 -1
  56. package/es/components/content/Badge/Badge.js +1 -1
  57. package/es/components/content/Card/Card.js +1 -1
  58. package/es/components/content/Content.js +1 -1
  59. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  60. package/es/components/content/CopyPasteBlock/index.js +1 -1
  61. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  62. package/es/components/content/CopySnippet/index.js +1 -1
  63. package/es/components/content/Disclosure/Disclosure.js +1 -1
  64. package/es/components/content/Disclosure/index.js +1 -1
  65. package/es/components/content/Divider.js +1 -1
  66. package/es/components/content/Footer.js +1 -1
  67. package/es/components/content/Header.js +1 -1
  68. package/es/components/content/HotKeys/HotKeys.js +1 -1
  69. package/es/components/content/HotKeys/index.js +1 -1
  70. package/es/components/content/Item/Item.js +1 -1
  71. package/es/components/content/Item/index.js +1 -1
  72. package/es/components/content/ItemBadge/ItemBadge.js +1 -1
  73. package/es/components/content/ItemBadge/index.js +1 -1
  74. package/es/components/content/Layout/GridLayout.js +1 -1
  75. package/es/components/content/Layout/Layout.js +1 -1
  76. package/es/components/content/Layout/LayoutBlock.js +1 -1
  77. package/es/components/content/Layout/LayoutCenter.js +1 -1
  78. package/es/components/content/Layout/LayoutContainer.js +1 -1
  79. package/es/components/content/Layout/LayoutContent.js +1 -1
  80. package/es/components/content/Layout/LayoutContext.js +1 -1
  81. package/es/components/content/Layout/LayoutFlex.js +1 -1
  82. package/es/components/content/Layout/LayoutFooter.js +1 -1
  83. package/es/components/content/Layout/LayoutGrid.js +1 -1
  84. package/es/components/content/Layout/LayoutHeader.js +1 -1
  85. package/es/components/content/Layout/LayoutPane.js +1 -1
  86. package/es/components/content/Layout/LayoutPanel.js +1 -1
  87. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  88. package/es/components/content/Layout/LayoutToolbar.js +1 -1
  89. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  90. package/es/components/content/Layout/index.js +1 -1
  91. package/es/components/content/Layout/utils.js +1 -1
  92. package/es/components/content/List/SectionHeading.js +1 -1
  93. package/es/components/content/List/index.js +1 -1
  94. package/es/components/content/Paragraph.js +1 -1
  95. package/es/components/content/Placeholder/Placeholder.js +1 -1
  96. package/es/components/content/PrismCode/PrismCode.js +1 -1
  97. package/es/components/content/PrismCode/prismSetup.js +1 -1
  98. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  99. package/es/components/content/Result/Result.js +1 -1
  100. package/es/components/content/Skeleton/Skeleton.js +1 -1
  101. package/es/components/content/Tag/Tag.js +1 -1
  102. package/es/components/content/Text.js +1 -1
  103. package/es/components/content/TextItem/TextItem.js +1 -1
  104. package/es/components/content/TextItem/index.js +1 -1
  105. package/es/components/content/Title.js +1 -1
  106. package/es/components/content/highlightText.js +1 -1
  107. package/es/components/content/use-auto-tooltip.js +1 -1
  108. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  109. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  110. package/es/components/fields/Checkbox/context.js +1 -1
  111. package/es/components/fields/Checkbox/index.js +1 -1
  112. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  113. package/es/components/fields/ComboBox/index.js +1 -1
  114. package/es/components/fields/DatePicker/DateInput.js +1 -1
  115. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  116. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  117. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  118. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  119. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  120. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  121. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  122. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  123. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  124. package/es/components/fields/DatePicker/index.js +1 -1
  125. package/es/components/fields/DatePicker/intl.js +1 -1
  126. package/es/components/fields/DatePicker/parseDate.js +1 -1
  127. package/es/components/fields/DatePicker/props.js +1 -1
  128. package/es/components/fields/DatePicker/types.js +1 -1
  129. package/es/components/fields/DatePicker/utils.js +1 -1
  130. package/es/components/fields/FileInput/FileInput.js +1 -1
  131. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  132. package/es/components/fields/FilterListBox/index.js +1 -1
  133. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  134. package/es/components/fields/FilterPicker/index.js +1 -1
  135. package/es/components/fields/Input/Input.js +1 -1
  136. package/es/components/fields/Input/index.js +1 -1
  137. package/es/components/fields/ListBox/ListBox.js +1 -1
  138. package/es/components/fields/ListBox/index.js +1 -1
  139. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  140. package/es/components/fields/NumberInput/StepButton.js +1 -1
  141. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  142. package/es/components/fields/Picker/Picker.js +1 -1
  143. package/es/components/fields/Picker/index.js +1 -1
  144. package/es/components/fields/RadioGroup/Radio.js +1 -1
  145. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  146. package/es/components/fields/RadioGroup/context.js +1 -1
  147. package/es/components/fields/RadioGroup/index.js +1 -1
  148. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  149. package/es/components/fields/SearchInput/index.js +1 -1
  150. package/es/components/fields/Select/Select.js +1 -1
  151. package/es/components/fields/Select/index.js +1 -1
  152. package/es/components/fields/Slider/Gradation.js +1 -1
  153. package/es/components/fields/Slider/Header.js +1 -1
  154. package/es/components/fields/Slider/HueSlider.js +1 -1
  155. package/es/components/fields/Slider/RangeSlider.js +1 -1
  156. package/es/components/fields/Slider/Slider.js +1 -1
  157. package/es/components/fields/Slider/SliderBase.js +1 -1
  158. package/es/components/fields/Slider/SliderInput.js +1 -1
  159. package/es/components/fields/Slider/SliderThumb.js +1 -1
  160. package/es/components/fields/Slider/SliderTrack.js +1 -1
  161. package/es/components/fields/Slider/elements.js +1 -1
  162. package/es/components/fields/Slider/index.js +1 -1
  163. package/es/components/fields/Slider/types.js +1 -1
  164. package/es/components/fields/Switch/Switch.js +1 -1
  165. package/es/components/fields/Switch/index.js +1 -1
  166. package/es/components/fields/TextArea/TextArea.js +1 -1
  167. package/es/components/fields/TextArea/index.js +1 -1
  168. package/es/components/fields/TextInput/TextInput.js +1 -1
  169. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  170. package/es/components/fields/TextInput/index.js +1 -1
  171. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  172. package/es/components/fields/TextInputMapper/index.js +1 -1
  173. package/es/components/fields/index.js +1 -1
  174. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  175. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  176. package/es/components/form/FieldWrapper/index.js +1 -1
  177. package/es/components/form/FieldWrapper/types.js +1 -1
  178. package/es/components/form/Form/Field.js +1 -1
  179. package/es/components/form/Form/Form.js +1 -1
  180. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  181. package/es/components/form/Form/ResetButton/index.js +1 -1
  182. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  183. package/es/components/form/Form/SubmitButton/index.js +1 -1
  184. package/es/components/form/Form/SubmitError.js +1 -1
  185. package/es/components/form/Form/index.js +1 -1
  186. package/es/components/form/Form/types.js +1 -1
  187. package/es/components/form/Form/use-field/index.js +1 -1
  188. package/es/components/form/Form/use-field/types.js +1 -1
  189. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  190. package/es/components/form/Form/use-field/use-field.js +1 -1
  191. package/es/components/form/Form/use-form.js +1 -1
  192. package/es/components/form/Form/validation.js +1 -1
  193. package/es/components/form/Label.js +1 -1
  194. package/es/components/form/index.js +1 -1
  195. package/es/components/form/wrapper.js +1 -1
  196. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  197. package/es/components/helpers/DisplayTransition/index.js +1 -1
  198. package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
  199. package/es/components/helpers/index.js +1 -1
  200. package/es/components/layout/Flex.js +1 -1
  201. package/es/components/layout/Flow.js +1 -1
  202. package/es/components/layout/Grid.js +1 -1
  203. package/es/components/layout/Panel.js +1 -1
  204. package/es/components/layout/Prefix.js +1 -1
  205. package/es/components/layout/ResizablePanel.js +1 -1
  206. package/es/components/layout/Space.js +1 -1
  207. package/es/components/layout/Suffix.js +1 -1
  208. package/es/components/navigation/Tabs/DraggableTabList.js +1 -1
  209. package/es/components/navigation/Tabs/EditableTitle.js +1 -1
  210. package/es/components/navigation/Tabs/TabButton.js +1 -1
  211. package/es/components/navigation/Tabs/TabDropIndicator.js +1 -1
  212. package/es/components/navigation/Tabs/TabPanel.js +1 -1
  213. package/es/components/navigation/Tabs/TabPicker.js +1 -1
  214. package/es/components/navigation/Tabs/Tabs.js +1 -1
  215. package/es/components/navigation/Tabs/TabsAction.js +1 -1
  216. package/es/components/navigation/Tabs/TabsContext.js +1 -1
  217. package/es/components/navigation/Tabs/index.js +1 -1
  218. package/es/components/navigation/Tabs/styled.js +1 -1
  219. package/es/components/navigation/Tabs/types.js +1 -1
  220. package/es/components/navigation/Tabs/use-tab-editing.js +1 -1
  221. package/es/components/navigation/Tabs/use-tab-indicator.js +1 -1
  222. package/es/components/navigation/index.js +1 -1
  223. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  224. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  225. package/es/components/other/Calendar/Calendar.js +1 -1
  226. package/es/components/other/Calendar/CalendarCell.js +1 -1
  227. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  228. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  229. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  230. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  231. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  232. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  233. package/es/components/overlays/AlertDialog/index.js +1 -1
  234. package/es/components/overlays/AlertDialog/types.js +1 -1
  235. package/es/components/overlays/Dialog/Dialog.js +1 -1
  236. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  237. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  238. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  239. package/es/components/overlays/Dialog/context.js +1 -1
  240. package/es/components/overlays/Dialog/index.js +1 -1
  241. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  242. package/es/components/overlays/Modal/Modal.js +1 -1
  243. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  244. package/es/components/overlays/Modal/Overlay.js +1 -1
  245. package/es/components/overlays/Modal/Popover.js +1 -1
  246. package/es/components/overlays/Modal/Tray.js +1 -1
  247. package/es/components/overlays/Modal/Underlay.js +1 -1
  248. package/es/components/overlays/Modal/index.js +1 -1
  249. package/es/components/overlays/Modal/types.js +1 -1
  250. package/es/components/overlays/Notifications/Notification.js +92 -0
  251. package/es/components/overlays/Notifications/NotificationAction.js +73 -0
  252. package/es/components/overlays/Notifications/NotificationCard.js +87 -0
  253. package/es/components/overlays/Notifications/NotificationContext.js +44 -0
  254. package/es/components/overlays/Notifications/NotificationItem.js +63 -0
  255. package/es/components/overlays/Notifications/OverlayContainer.js +339 -0
  256. package/es/components/overlays/Notifications/OverlayProvider.js +69 -0
  257. package/es/components/overlays/Notifications/PersistentNotificationsList.js +105 -0
  258. package/es/components/overlays/Notifications/format-relative-time.js +55 -0
  259. package/es/components/overlays/Notifications/index.js +51 -0
  260. package/es/components/overlays/{NewNotifications/NotificationsList → Notifications}/types.js +1 -1
  261. package/es/components/overlays/Notifications/use-notification-state.js +205 -0
  262. package/es/components/overlays/Notifications/use-notifications.js +175 -0
  263. package/es/components/overlays/Notifications/use-overlay-timers.js +138 -0
  264. package/es/components/overlays/Notifications/use-persistent-notifications.js +63 -0
  265. package/es/components/overlays/Notifications/use-persistent-state.js +66 -0
  266. package/es/components/overlays/Notifications/use-toast-state.js +143 -0
  267. package/es/components/overlays/OverlayWrapper.js +1 -1
  268. package/es/components/overlays/Toast/ToastItem.js +6 -3
  269. package/es/components/overlays/Toast/ToastProvider.js +6 -352
  270. package/es/components/overlays/Toast/index.js +3 -8
  271. package/es/components/overlays/Toast/types.js +1 -1
  272. package/es/components/overlays/Toast/useProgressToast.js +2 -5
  273. package/es/components/overlays/Toast/useToast.js +1 -7
  274. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  275. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  276. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  277. package/es/components/overlays/Tooltip/context.js +1 -1
  278. package/es/components/overlays/Tooltip/index.js +1 -1
  279. package/es/components/portal/Portal.js +1 -1
  280. package/es/components/portal/PortalProvider.js +1 -1
  281. package/es/components/portal/index.js +1 -1
  282. package/es/components/portal/types.js +1 -1
  283. package/es/components/portal/usePortal.js +1 -1
  284. package/es/components/shared/InvalidIcon.js +1 -1
  285. package/es/components/shared/ValidIcon.js +1 -1
  286. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  287. package/es/components/status/LoadingAnimation/index.js +1 -1
  288. package/es/components/status/Spin/Cube.js +1 -1
  289. package/es/components/status/Spin/InternalSpinner.js +1 -1
  290. package/es/components/status/Spin/Spin.js +1 -1
  291. package/es/components/status/Spin/SpinsContainer.js +1 -1
  292. package/es/components/status/Spin/index.js +1 -1
  293. package/es/components/status/Spin/types.js +1 -1
  294. package/es/components/status/index.js +1 -1
  295. package/es/data/item-themes.js +1 -1
  296. package/es/data/themes.js +1 -1
  297. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  298. package/es/icons/AdjustmentsIcon.js +1 -1
  299. package/es/icons/AiIcon.js +1 -1
  300. package/es/icons/AreaChartIcon.js +1 -1
  301. package/es/icons/BackwardIcon.js +1 -1
  302. package/es/icons/BarChartIcon.js +1 -1
  303. package/es/icons/BellFilledIcon.js +1 -1
  304. package/es/icons/BellIcon.js +1 -1
  305. package/es/icons/BooleanIcon.js +1 -1
  306. package/es/icons/CalendarEditIcon.js +1 -1
  307. package/es/icons/CalendarIcon.js +1 -1
  308. package/es/icons/CaretDownIcon.js +1 -1
  309. package/es/icons/CaretUpIcon.js +1 -1
  310. package/es/icons/ChartAreaStackedIcon.js +1 -1
  311. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  312. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  313. package/es/icons/ChartBarGroupedIcon.js +1 -1
  314. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  315. package/es/icons/ChartBarLineIcon.js +1 -1
  316. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  317. package/es/icons/ChartBarStackedIcon.js +1 -1
  318. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  319. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  320. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  321. package/es/icons/ChartBoxPlotIcon.js +1 -1
  322. package/es/icons/ChartBubbleIcon.js +1 -1
  323. package/es/icons/ChartDonut2Icon.js +1 -1
  324. package/es/icons/ChartFunnelIcon.js +1 -1
  325. package/es/icons/ChartHeatmapIcon.js +1 -1
  326. package/es/icons/ChartKPIIcon.js +1 -1
  327. package/es/icons/ChartPie2Icon.js +1 -1
  328. package/es/icons/ChartScatterIcon.js +1 -1
  329. package/es/icons/CheckCircleFilledIcon.js +1 -1
  330. package/es/icons/CheckCircleIcon.js +1 -1
  331. package/es/icons/CheckIcon.js +1 -1
  332. package/es/icons/CircleFilledIcon.js +1 -1
  333. package/es/icons/ClearIcon.js +1 -1
  334. package/es/icons/CloseCircleFilledIcon.js +1 -1
  335. package/es/icons/CloseCircleIcon.js +1 -1
  336. package/es/icons/CloseIcon.js +1 -1
  337. package/es/icons/CodeIcon.js +1 -1
  338. package/es/icons/ColumnTotalIcon.js +1 -1
  339. package/es/icons/CopyIcon.js +1 -1
  340. package/es/icons/CountIcon.js +1 -1
  341. package/es/icons/CubeIcon.js +1 -1
  342. package/es/icons/CubePauseIcon.js +1 -1
  343. package/es/icons/CubePlayIcon.js +1 -1
  344. package/es/icons/CurrencyDollarIcon.js +1 -1
  345. package/es/icons/DangerIcon.js +1 -1
  346. package/es/icons/DashboardIcon.js +1 -1
  347. package/es/icons/DatabaseIcon.js +1 -1
  348. package/es/icons/DecimalDecreaseIcon.js +1 -1
  349. package/es/icons/DecimalIncreaseIcon.js +1 -1
  350. package/es/icons/DirectionIcon.js +1 -1
  351. package/es/icons/DonutIcon.js +1 -1
  352. package/es/icons/DownIcon.js +1 -1
  353. package/es/icons/EditIcon.js +1 -1
  354. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  355. package/es/icons/ExclamationCircleIcon.js +1 -1
  356. package/es/icons/ExclamationIcon.js +1 -1
  357. package/es/icons/EyeIcon.js +1 -1
  358. package/es/icons/EyeInvisibleIcon.js +1 -1
  359. package/es/icons/FilterIcon.js +1 -1
  360. package/es/icons/FolderFilledIcon.js +1 -1
  361. package/es/icons/FolderIcon.js +1 -1
  362. package/es/icons/FolderOpenFilledIcon.js +1 -1
  363. package/es/icons/FolderOpenIcon.js +1 -1
  364. package/es/icons/ForwardIcon.js +1 -1
  365. package/es/icons/HierarchyIcon.js +1 -1
  366. package/es/icons/HierarchyOpenIcon.js +1 -1
  367. package/es/icons/Icon.js +1 -1
  368. package/es/icons/InfoCircleIcon.js +1 -1
  369. package/es/icons/InfoIcon.js +1 -1
  370. package/es/icons/KeyIcon.js +1 -1
  371. package/es/icons/LeftIcon.js +1 -1
  372. package/es/icons/LineChartIcon.js +1 -1
  373. package/es/icons/LoadingIcon.js +1 -1
  374. package/es/icons/LockFilledIcon.js +1 -1
  375. package/es/icons/LockIcon.js +1 -1
  376. package/es/icons/MoreIcon.js +1 -1
  377. package/es/icons/NotAllowedIcon.js +1 -1
  378. package/es/icons/Number123Icon.js +1 -1
  379. package/es/icons/NumberIcon.js +1 -1
  380. package/es/icons/PauseCircleFilledIcon.js +1 -1
  381. package/es/icons/PauseCircleIcon.js +1 -1
  382. package/es/icons/PauseIcon.js +1 -1
  383. package/es/icons/PercentageIcon.js +1 -1
  384. package/es/icons/PieChartIcon.js +1 -1
  385. package/es/icons/PlayCircleIcon.js +1 -1
  386. package/es/icons/PlayIcon.js +1 -1
  387. package/es/icons/PlusIcon.js +1 -1
  388. package/es/icons/ProgressBarIcon.js +1 -1
  389. package/es/icons/ReloadIcon.js +1 -1
  390. package/es/icons/ReportIcon.js +1 -1
  391. package/es/icons/ReturnIcon.js +1 -1
  392. package/es/icons/RightIcon.js +1 -1
  393. package/es/icons/RowTotalsIcon.js +1 -1
  394. package/es/icons/SchemeIcon.js +1 -1
  395. package/es/icons/SearchIcon.js +1 -1
  396. package/es/icons/SemanticQueryIcon.js +1 -1
  397. package/es/icons/SettingsIcon.js +1 -1
  398. package/es/icons/ShieldFilledIcon.js +1 -1
  399. package/es/icons/ShieldIcon.js +1 -1
  400. package/es/icons/SlashIcon.js +1 -1
  401. package/es/icons/SparklesIcon.js +1 -1
  402. package/es/icons/SqlIcon.js +1 -1
  403. package/es/icons/StatsIcon.js +1 -1
  404. package/es/icons/StopIcon.js +1 -1
  405. package/es/icons/StringIcon.js +1 -1
  406. package/es/icons/SubtotalsIcon.js +1 -1
  407. package/es/icons/SwitchIcon.js +1 -1
  408. package/es/icons/TableIcon.js +1 -1
  409. package/es/icons/ThumbsDownIcon.js +1 -1
  410. package/es/icons/ThumbsUpIcon.js +1 -1
  411. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  412. package/es/icons/ThunderboltFilledIcon.js +1 -1
  413. package/es/icons/ThunderboltIcon.js +1 -1
  414. package/es/icons/TimeIcon.js +1 -1
  415. package/es/icons/TrashIcon.js +1 -1
  416. package/es/icons/UnlockIcon.js +1 -1
  417. package/es/icons/UpIcon.js +1 -1
  418. package/es/icons/UserGroupIcon.js +1 -1
  419. package/es/icons/UserIcon.js +1 -1
  420. package/es/icons/UserLockIcon.js +1 -1
  421. package/es/icons/ViewIcon.js +1 -1
  422. package/es/icons/WarningFilledIcon.js +1 -1
  423. package/es/icons/WarningIcon.js +1 -1
  424. package/es/icons/index.js +1 -1
  425. package/es/icons/wrap-icon.js +1 -1
  426. package/es/index.js +2 -4
  427. package/es/provider.js +1 -1
  428. package/es/providers/TrackingProvider.js +1 -1
  429. package/es/providers/navigation.types.js +1 -1
  430. package/es/providers/navigationAdapter.default.js +1 -1
  431. package/es/shared/form.js +1 -1
  432. package/es/shared/index.js +1 -1
  433. package/es/stories/Form.legacy-stories.js +1 -1
  434. package/es/stories/FormFieldArgs.js +1 -1
  435. package/es/stories/SimpleLayout.stories.js +1 -1
  436. package/es/stories/Tasty.stories.js +1 -1
  437. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  438. package/es/stories/components/DialogFormApp.js +1 -1
  439. package/es/stories/components/StyledButton.js +1 -1
  440. package/es/stories/lists/baseProps.js +1 -1
  441. package/es/stories/playground/PlaygroundEditor.js +1 -1
  442. package/es/stories/playground/PlaygroundLayout.js +1 -1
  443. package/es/stories/playground/PlaygroundOutput.js +1 -1
  444. package/es/stories/playground/PlaygroundPreview.js +1 -1
  445. package/es/stories/playground/components/Button.js +1 -1
  446. package/es/stories/playground/components/Card.js +1 -1
  447. package/es/stories/playground/components/ScrollProgress.js +1 -1
  448. package/es/stories/playground/examples.js +1 -1
  449. package/es/tasty/chunks/cacheKey.js +1 -1
  450. package/es/tasty/chunks/definitions.js +1 -1
  451. package/es/tasty/chunks/index.js +1 -1
  452. package/es/tasty/chunks/renderChunk.js +1 -1
  453. package/es/tasty/config.js +1 -1
  454. package/es/tasty/debug.js +1 -1
  455. package/es/tasty/hooks/index.js +1 -1
  456. package/es/tasty/hooks/useGlobalStyles.js +1 -1
  457. package/es/tasty/hooks/useKeyframes.js +1 -1
  458. package/es/tasty/hooks/useProperty.js +1 -1
  459. package/es/tasty/hooks/useRawCSS.js +1 -1
  460. package/es/tasty/hooks/useStyles.js +1 -1
  461. package/es/tasty/index.js +1 -3
  462. package/es/tasty/injector/index.js +1 -1
  463. package/es/tasty/injector/injector.js +1 -1
  464. package/es/tasty/injector/sheet-manager.js +1 -1
  465. package/es/tasty/injector/types.js +1 -1
  466. package/es/tasty/keyframes/index.js +1 -1
  467. package/es/tasty/parser/classify.js +1 -1
  468. package/es/tasty/parser/const.js +1 -1
  469. package/es/tasty/parser/lru.js +1 -1
  470. package/es/tasty/parser/parser.js +1 -1
  471. package/es/tasty/parser/tokenizer.js +1 -1
  472. package/es/tasty/parser/types.js +1 -1
  473. package/es/tasty/pipeline/conditions.js +1 -1
  474. package/es/tasty/pipeline/exclusive.js +1 -1
  475. package/es/tasty/pipeline/index.js +1 -1
  476. package/es/tasty/pipeline/materialize.js +1 -1
  477. package/es/tasty/pipeline/parseStateKey.js +1 -1
  478. package/es/tasty/pipeline/simplify.js +1 -1
  479. package/es/tasty/plugins/index.js +1 -1
  480. package/es/tasty/plugins/okhsl-plugin.js +1 -1
  481. package/es/tasty/plugins/types.js +1 -1
  482. package/es/tasty/properties/index.js +1 -1
  483. package/es/tasty/states/index.js +1 -1
  484. package/es/tasty/static/index.js +1 -1
  485. package/es/tasty/static/tastyStatic.js +1 -1
  486. package/es/tasty/static/types.js +1 -1
  487. package/es/tasty/styles/align.js +1 -1
  488. package/es/tasty/styles/border.js +1 -1
  489. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  490. package/es/tasty/styles/color.js +1 -1
  491. package/es/tasty/styles/createStyle.js +1 -1
  492. package/es/tasty/styles/dimension.js +1 -1
  493. package/es/tasty/styles/display.js +1 -1
  494. package/es/tasty/styles/fade.js +1 -1
  495. package/es/tasty/styles/fill.js +1 -1
  496. package/es/tasty/styles/flow.js +1 -1
  497. package/es/tasty/styles/gap.js +1 -1
  498. package/es/tasty/styles/height.js +1 -1
  499. package/es/tasty/styles/index.js +1 -1
  500. package/es/tasty/styles/inset.js +1 -1
  501. package/es/tasty/styles/justify.js +1 -1
  502. package/es/tasty/styles/list.js +1 -1
  503. package/es/tasty/styles/margin.js +1 -1
  504. package/es/tasty/styles/outline.js +1 -1
  505. package/es/tasty/styles/padding.js +1 -1
  506. package/es/tasty/styles/place.js +1 -1
  507. package/es/tasty/styles/predefined.js +1 -1
  508. package/es/tasty/styles/preset.js +1 -1
  509. package/es/tasty/styles/radius.js +1 -1
  510. package/es/tasty/styles/reset.js +1 -1
  511. package/es/tasty/styles/scrollbar.js +1 -1
  512. package/es/tasty/styles/shadow.js +1 -1
  513. package/es/tasty/styles/styledScrollbar.js +1 -1
  514. package/es/tasty/styles/transition.js +1 -1
  515. package/es/tasty/styles/types.js +1 -1
  516. package/es/tasty/styles/width.js +1 -1
  517. package/es/tasty/tasty.js +1 -1
  518. package/es/tasty/types.js +1 -1
  519. package/es/tasty/utils/cache-wrapper.js +1 -1
  520. package/es/tasty/utils/case-converter.js +1 -1
  521. package/es/tasty/utils/colors.js +1 -1
  522. package/es/tasty/utils/dotize.js +1 -1
  523. package/es/tasty/utils/filter-base-props.js +1 -1
  524. package/es/tasty/utils/get-display-name.js +1 -1
  525. package/es/tasty/utils/hsl-to-rgb.js +1 -1
  526. package/es/tasty/utils/is-dev-env.js +1 -1
  527. package/es/tasty/utils/merge-styles.js +1 -1
  528. package/es/tasty/utils/mod-attrs.js +1 -1
  529. package/es/tasty/utils/okhsl-to-rgb.js +1 -1
  530. package/es/tasty/utils/process-tokens.js +1 -1
  531. package/es/tasty/utils/resolve-recipes.js +1 -1
  532. package/es/tasty/utils/rgb-to-okhsl.js +1 -1
  533. package/es/tasty/utils/string.js +1 -1
  534. package/es/tasty/utils/styles.js +1 -1
  535. package/es/tasty/utils/typography.js +1 -1
  536. package/es/tasty/utils/warnings.js +1 -1
  537. package/es/tasty/zero/babel.js +1 -1
  538. package/es/tasty/zero/css-writer.js +1 -1
  539. package/es/tasty/zero/extractor.js +1 -1
  540. package/es/tasty/zero/index.js +1 -1
  541. package/es/tasty/zero/next.js +1 -1
  542. package/es/tokens/base.js +1 -1
  543. package/es/tokens/colors.js +1 -1
  544. package/es/tokens/index.js +1 -1
  545. package/es/tokens/layout.js +1 -1
  546. package/es/tokens/shadows.js +1 -1
  547. package/es/tokens/sizes.js +1 -1
  548. package/es/tokens/spacing.js +1 -1
  549. package/es/tokens/typography.js +1 -1
  550. package/es/utils/ResizeSensor.js +1 -1
  551. package/es/utils/index.js +1 -1
  552. package/es/utils/modules.js +1 -1
  553. package/es/utils/promise.js +1 -1
  554. package/es/utils/raf.js +1 -1
  555. package/es/utils/random.js +1 -1
  556. package/es/utils/range.js +1 -1
  557. package/es/utils/react/RenderCache.js +1 -1
  558. package/es/utils/react/Slots.js +1 -1
  559. package/es/utils/react/chain.js +1 -1
  560. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  561. package/es/utils/react/index.js +1 -1
  562. package/es/utils/react/interactions.js +1 -1
  563. package/es/utils/react/isTextOnly.js +1 -1
  564. package/es/utils/react/mapProps.js +1 -1
  565. package/es/utils/react/mergeProps.js +1 -1
  566. package/es/utils/react/nullableValue.js +1 -1
  567. package/es/utils/react/resolveIcon.js +1 -1
  568. package/es/utils/react/sharedStore.js +1 -1
  569. package/es/utils/react/useCombinedRefs.js +1 -1
  570. package/es/utils/react/useControlledFocusVisible.js +1 -1
  571. package/es/utils/react/useEventBus.js +1 -1
  572. package/es/utils/react/useId.js +1 -1
  573. package/es/utils/react/useIsDarwin.js +1 -1
  574. package/es/utils/react/useKeySymbols.js +1 -1
  575. package/es/utils/react/useLayoutEffect.js +1 -1
  576. package/es/utils/react/useLocalStorage.js +1 -1
  577. package/es/utils/react/useMergeStyles.js +1 -1
  578. package/es/utils/react/useQaProps.js +1 -1
  579. package/es/utils/react/useViewportSize.js +1 -1
  580. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  581. package/es/utils/tree.js +1 -1
  582. package/es/utils/warnings.js +1 -1
  583. package/es/version.js +2 -2
  584. package/package.json +1 -1
  585. package/types/components/overlays/Notifications/Notification.d.ts +33 -0
  586. package/types/components/overlays/Notifications/NotificationAction.d.ts +27 -0
  587. package/types/components/overlays/Notifications/NotificationCard.d.ts +37 -0
  588. package/types/components/overlays/Notifications/NotificationContext.d.ts +16 -0
  589. package/types/components/overlays/Notifications/NotificationItem.d.ts +7 -0
  590. package/types/components/overlays/Notifications/OverlayContainer.d.ts +12 -0
  591. package/types/components/overlays/Notifications/OverlayProvider.d.ts +3 -0
  592. package/types/components/overlays/Notifications/PersistentNotificationsList.d.ts +18 -0
  593. package/types/components/overlays/Notifications/format-relative-time.d.ts +14 -0
  594. package/types/components/overlays/Notifications/index.d.ts +40 -0
  595. package/types/components/overlays/Notifications/types.d.ts +147 -0
  596. package/types/components/overlays/Notifications/use-notification-state.d.ts +20 -0
  597. package/types/components/overlays/Notifications/use-notifications.d.ts +36 -0
  598. package/types/components/overlays/Notifications/use-overlay-timers.d.ts +26 -0
  599. package/types/components/overlays/Notifications/use-persistent-notifications.d.ts +48 -0
  600. package/types/components/overlays/Notifications/use-persistent-state.d.ts +11 -0
  601. package/types/components/overlays/Notifications/use-toast-state.d.ts +16 -0
  602. package/types/components/overlays/Toast/ToastItem.d.ts +3 -1
  603. package/types/components/overlays/Toast/ToastProvider.d.ts +5 -8
  604. package/types/components/overlays/Toast/index.d.ts +1 -1
  605. package/types/components/overlays/Toast/types.d.ts +3 -1
  606. package/types/index.d.ts +1 -3
  607. package/types/tasty/index.d.ts +0 -2
  608. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +0 -54
  609. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +0 -95
  610. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +0 -56
  611. package/es/components/overlays/NewNotifications/Bar/index.js +0 -10
  612. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +0 -19
  613. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +0 -38
  614. package/es/components/overlays/NewNotifications/Dialog/index.js +0 -10
  615. package/es/components/overlays/NewNotifications/Notification.js +0 -41
  616. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +0 -41
  617. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +0 -25
  618. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +0 -36
  619. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +0 -60
  620. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +0 -31
  621. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +0 -69
  622. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +0 -25
  623. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +0 -86
  624. package/es/components/overlays/NewNotifications/NotificationView/index.js +0 -11
  625. package/es/components/overlays/NewNotifications/NotificationView/types.js +0 -10
  626. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +0 -11
  627. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +0 -21
  628. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +0 -11
  629. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +0 -91
  630. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +0 -45
  631. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +0 -29
  632. package/es/components/overlays/NewNotifications/NotificationsList/index.js +0 -10
  633. package/es/components/overlays/NewNotifications/hooks/index.js +0 -14
  634. package/es/components/overlays/NewNotifications/hooks/types.js +0 -10
  635. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +0 -15
  636. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +0 -17
  637. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +0 -29
  638. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +0 -17
  639. package/es/components/overlays/NewNotifications/index.js +0 -15
  640. package/es/components/overlays/NewNotifications/types.js +0 -10
  641. package/es/components/overlays/Notification/Notification.js +0 -80
  642. package/es/services/notification.js +0 -71
  643. package/es/tasty/glaze/contrast-solver.js +0 -235
  644. package/es/tasty/glaze/glaze.js +0 -557
  645. package/es/tasty/glaze/index.js +0 -22
  646. package/es/tasty/glaze/okhsl-color-math.js +0 -300
  647. package/es/tasty/glaze/types.js +0 -13
  648. package/types/components/overlays/NewNotifications/Bar/FloatingNotification.d.ts +0 -15
  649. package/types/components/overlays/NewNotifications/Bar/NotificationsBar.d.ts +0 -21
  650. package/types/components/overlays/NewNotifications/Bar/TransitionComponent.d.ts +0 -4
  651. package/types/components/overlays/NewNotifications/Bar/index.d.ts +0 -1
  652. package/types/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.d.ts +0 -9
  653. package/types/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.d.ts +0 -11
  654. package/types/components/overlays/NewNotifications/Dialog/index.d.ts +0 -1
  655. package/types/components/overlays/NewNotifications/Notification.d.ts +0 -18
  656. package/types/components/overlays/NewNotifications/NotificationView/NotificationAction.d.ts +0 -13
  657. package/types/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.d.ts +0 -4
  658. package/types/components/overlays/NewNotifications/NotificationView/NotificationDescription.d.ts +0 -9
  659. package/types/components/overlays/NewNotifications/NotificationView/NotificationFooter.d.ts +0 -13
  660. package/types/components/overlays/NewNotifications/NotificationView/NotificationHeader.d.ts +0 -9
  661. package/types/components/overlays/NewNotifications/NotificationView/NotificationIcon.d.ts +0 -9
  662. package/types/components/overlays/NewNotifications/NotificationView/NotificationProvider.d.ts +0 -10
  663. package/types/components/overlays/NewNotifications/NotificationView/NotificationView.d.ts +0 -10
  664. package/types/components/overlays/NewNotifications/NotificationView/index.d.ts +0 -2
  665. package/types/components/overlays/NewNotifications/NotificationView/types.d.ts +0 -16
  666. package/types/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.d.ts +0 -5
  667. package/types/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.d.ts +0 -4
  668. package/types/components/overlays/NewNotifications/NotificationsContext/index.d.ts +0 -2
  669. package/types/components/overlays/NewNotifications/NotificationsContext/use-notifications.d.ts +0 -8
  670. package/types/components/overlays/NewNotifications/NotificationsList/NotificationsList.d.ts +0 -21
  671. package/types/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.d.ts +0 -5
  672. package/types/components/overlays/NewNotifications/NotificationsList/index.d.ts +0 -2
  673. package/types/components/overlays/NewNotifications/NotificationsList/types.d.ts +0 -22
  674. package/types/components/overlays/NewNotifications/hooks/index.d.ts +0 -5
  675. package/types/components/overlays/NewNotifications/hooks/types.d.ts +0 -10
  676. package/types/components/overlays/NewNotifications/hooks/use-notification-list-item.d.ts +0 -9
  677. package/types/components/overlays/NewNotifications/hooks/use-notifications-api.d.ts +0 -1
  678. package/types/components/overlays/NewNotifications/hooks/use-notifications-list.d.ts +0 -12
  679. package/types/components/overlays/NewNotifications/hooks/use-notifications-observer.d.ts +0 -2
  680. package/types/components/overlays/NewNotifications/index.d.ts +0 -8
  681. package/types/components/overlays/NewNotifications/types.d.ts +0 -76
  682. package/types/components/overlays/Notification/Notification.d.ts +0 -6
  683. package/types/services/notification.d.ts +0 -28
  684. package/types/tasty/glaze/contrast-solver.d.ts +0 -45
  685. package/types/tasty/glaze/glaze.d.ts +0 -38
  686. package/types/tasty/glaze/index.d.ts +0 -13
  687. package/types/tasty/glaze/okhsl-color-math.d.ts +0 -33
  688. package/types/tasty/glaze/types.d.ts +0 -117
@@ -1,557 +0,0 @@
1
- /**
2
- * @license MIT
3
- * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-e2a9f35
5
- * Released under the MIT license.
6
- */
7
-
8
- /**
9
- * Glaze — color generation API for tasty themes.
10
- *
11
- * Generates robust light, dark, and high-contrast colors from a hue/saturation
12
- * seed, preserving contrast for UI pairs via explicit dependencies.
13
- *
14
- * See: src/THEME_GENERATOR.md
15
- */
16
- import { findLightnessForContrast, } from './contrast-solver.js';
17
- import { formatOkhsl, okhslToLinearSrgb, } from './okhsl-color-math.js';
18
- // ============================================================================
19
- // Global configuration
20
- // ============================================================================
21
- let globalConfig = {
22
- darkLightness: [10, 90],
23
- darkDesaturation: 0.1,
24
- states: {
25
- dark: '@dark',
26
- highContrast: '@high-contrast',
27
- },
28
- modes: {
29
- dark: true,
30
- highContrast: false,
31
- },
32
- };
33
- // ============================================================================
34
- // HCPair helpers
35
- // ============================================================================
36
- function pairNormal(p) {
37
- return Array.isArray(p) ? p[0] : p;
38
- }
39
- function pairHC(p) {
40
- return Array.isArray(p) ? p[1] : p;
41
- }
42
- // ============================================================================
43
- // Validation
44
- // ============================================================================
45
- function validateColorDefs(defs) {
46
- const names = new Set(Object.keys(defs));
47
- for (const [name, def] of Object.entries(defs)) {
48
- if (def.contrast !== undefined && !def.base) {
49
- throw new Error(`glaze: color "${name}" has "contrast" without "base".`);
50
- }
51
- if (def.l !== undefined && def.base !== undefined) {
52
- console.warn(`glaze: color "${name}" has both "l" and "base". "l" takes precedence.`);
53
- }
54
- if (def.base && !names.has(def.base)) {
55
- throw new Error(`glaze: color "${name}" references non-existent base "${def.base}".`);
56
- }
57
- if (def.l === undefined && def.base === undefined) {
58
- throw new Error(`glaze: color "${name}" must have either "l" (root) or "base" + "contrast" (dependent).`);
59
- }
60
- }
61
- // Check for circular references
62
- const visited = new Set();
63
- const inStack = new Set();
64
- function dfs(name) {
65
- if (inStack.has(name)) {
66
- throw new Error(`glaze: circular base reference detected involving "${name}".`);
67
- }
68
- if (visited.has(name))
69
- return;
70
- inStack.add(name);
71
- const def = defs[name];
72
- if (def.base && def.l === undefined) {
73
- dfs(def.base);
74
- }
75
- inStack.delete(name);
76
- visited.add(name);
77
- }
78
- for (const name of names) {
79
- dfs(name);
80
- }
81
- }
82
- // ============================================================================
83
- // Topological sort
84
- // ============================================================================
85
- function topoSort(defs) {
86
- const result = [];
87
- const visited = new Set();
88
- function visit(name) {
89
- if (visited.has(name))
90
- return;
91
- visited.add(name);
92
- const def = defs[name];
93
- if (def.base && def.l === undefined) {
94
- visit(def.base);
95
- }
96
- result.push(name);
97
- }
98
- for (const name of Object.keys(defs)) {
99
- visit(name);
100
- }
101
- return result;
102
- }
103
- // ============================================================================
104
- // Dark scheme mapping
105
- // ============================================================================
106
- function mapLightnessDark(l, mode) {
107
- if (mode === 'static')
108
- return l;
109
- const [lo, hi] = globalConfig.darkLightness;
110
- if (mode === 'fixed') {
111
- // Mapped (not inverted) — brand colors stay recognizable
112
- return (l * (hi - lo)) / 100 + lo;
113
- }
114
- // auto — inverted
115
- return ((100 - l) * (hi - lo)) / 100 + lo;
116
- }
117
- function mapSaturationDark(s, mode) {
118
- if (mode === 'static')
119
- return s;
120
- return s * (1 - globalConfig.darkDesaturation);
121
- }
122
- // ============================================================================
123
- // Contrast sign resolution
124
- // ============================================================================
125
- /**
126
- * Resolve the effective lightness from a contrast delta.
127
- * See spec: "contrast sign convention".
128
- */
129
- function resolveContrastLightness(baseLightness, contrast) {
130
- if (contrast < 0) {
131
- // Explicit negative — darker than base
132
- return clamp(baseLightness + contrast, 0, 100);
133
- }
134
- // Positive or unsigned
135
- const candidate = baseLightness + contrast;
136
- if (candidate > 100) {
137
- // Flip to negative
138
- return clamp(baseLightness - contrast, 0, 100);
139
- }
140
- return clamp(candidate, 0, 100);
141
- }
142
- function clamp(v, min, max) {
143
- return Math.max(min, Math.min(max, v));
144
- }
145
- function resolveRootColor(name, def, ctx, isHighContrast) {
146
- const rawL = def.l;
147
- const lightL = clamp(isHighContrast ? pairHC(rawL) : pairNormal(rawL), 0, 100);
148
- const sat = clamp(def.sat ?? 1, 0, 1);
149
- return { lightL, sat };
150
- }
151
- function resolveDependentColor(name, def, ctx, isHighContrast, isDark) {
152
- const baseName = def.base;
153
- const baseResolved = ctx.resolved.get(baseName);
154
- if (!baseResolved) {
155
- throw new Error(`glaze: base "${baseName}" not yet resolved for "${name}".`);
156
- }
157
- const mode = def.mode ?? 'auto';
158
- const sat = clamp(def.sat ?? 1, 0, 1);
159
- // Get base lightness for the current scheme variant
160
- let baseL;
161
- if (isDark && isHighContrast) {
162
- baseL = baseResolved.darkContrast.l * 100;
163
- }
164
- else if (isDark) {
165
- baseL = baseResolved.dark.l * 100;
166
- }
167
- else if (isHighContrast) {
168
- baseL = baseResolved.lightContrast.l * 100;
169
- }
170
- else {
171
- baseL = baseResolved.light.l * 100;
172
- }
173
- // Resolve contrast delta
174
- const rawContrast = def.contrast ?? 0;
175
- let contrast = isHighContrast ? pairHC(rawContrast) : pairNormal(rawContrast);
176
- // In dark+auto mode, flip the contrast sign
177
- if (isDark && mode === 'auto') {
178
- contrast = -contrast;
179
- }
180
- const preferredL = resolveContrastLightness(baseL, contrast);
181
- // Apply minContrast if specified
182
- const rawMinContrast = def.minContrast;
183
- if (rawMinContrast !== undefined) {
184
- const minCr = isHighContrast
185
- ? pairHC(rawMinContrast)
186
- : pairNormal(rawMinContrast);
187
- const effectiveSat = isDark
188
- ? mapSaturationDark((sat * ctx.saturation) / 100, mode)
189
- : (sat * ctx.saturation) / 100;
190
- // Get base color in linear sRGB for contrast computation
191
- let baseH;
192
- let baseS;
193
- let baseLNorm;
194
- if (isDark && isHighContrast) {
195
- baseH = baseResolved.darkContrast.h;
196
- baseS = baseResolved.darkContrast.s;
197
- baseLNorm = baseResolved.darkContrast.l;
198
- }
199
- else if (isDark) {
200
- baseH = baseResolved.dark.h;
201
- baseS = baseResolved.dark.s;
202
- baseLNorm = baseResolved.dark.l;
203
- }
204
- else if (isHighContrast) {
205
- baseH = baseResolved.lightContrast.h;
206
- baseS = baseResolved.lightContrast.s;
207
- baseLNorm = baseResolved.lightContrast.l;
208
- }
209
- else {
210
- baseH = baseResolved.light.h;
211
- baseS = baseResolved.light.s;
212
- baseLNorm = baseResolved.light.l;
213
- }
214
- const baseLinearRgb = okhslToLinearSrgb(baseH, baseS, baseLNorm);
215
- const result = findLightnessForContrast({
216
- hue: ctx.hue,
217
- saturation: effectiveSat,
218
- preferredLightness: preferredL / 100,
219
- baseLinearRgb,
220
- minContrast: minCr,
221
- });
222
- return { l: result.lightness * 100, sat };
223
- }
224
- return { l: clamp(preferredL, 0, 100), sat };
225
- }
226
- function resolveColorForScheme(name, def, ctx, isDark, isHighContrast) {
227
- const mode = def.mode ?? 'auto';
228
- const isRoot = def.l !== undefined;
229
- let lightL;
230
- let sat;
231
- if (isRoot) {
232
- const root = resolveRootColor(name, def, ctx, isHighContrast);
233
- lightL = root.lightL;
234
- sat = root.sat;
235
- }
236
- else {
237
- // Dependent color — resolved differently
238
- const dep = resolveDependentColor(name, def, ctx, isHighContrast, isDark);
239
- lightL = dep.l;
240
- sat = dep.sat;
241
- }
242
- // Apply dark mapping for root colors (dependent colors already account for dark base)
243
- let finalL;
244
- let finalSat;
245
- if (isDark && isRoot) {
246
- finalL = mapLightnessDark(lightL, mode);
247
- finalSat = mapSaturationDark((sat * ctx.saturation) / 100, mode);
248
- }
249
- else if (isDark && !isRoot) {
250
- // Dependent colors in dark mode: lightL is already computed against dark base
251
- finalL = lightL;
252
- finalSat = mapSaturationDark((sat * ctx.saturation) / 100, mode);
253
- }
254
- else {
255
- finalL = lightL;
256
- finalSat = (sat * ctx.saturation) / 100;
257
- }
258
- return {
259
- h: ctx.hue,
260
- s: clamp(finalSat, 0, 1),
261
- l: clamp(finalL / 100, 0, 1),
262
- };
263
- }
264
- function resolveAllColors(hue, saturation, defs) {
265
- validateColorDefs(defs);
266
- const order = topoSort(defs);
267
- const ctx = {
268
- hue,
269
- saturation,
270
- defs,
271
- resolved: new Map(),
272
- };
273
- // Resolve in four passes: light, dark, lightContrast, darkContrast
274
- // Each pass uses the same topological order.
275
- // We need to resolve all light variants first because dark depends on light for root colors.
276
- // Pass 1: Light normal
277
- const lightMap = new Map();
278
- for (const name of order) {
279
- const variant = resolveColorForScheme(name, defs[name], ctx, false, false);
280
- lightMap.set(name, variant);
281
- // Temporarily store so dependent colors can reference
282
- ctx.resolved.set(name, {
283
- name,
284
- light: variant,
285
- dark: variant, // placeholder
286
- lightContrast: variant, // placeholder
287
- darkContrast: variant, // placeholder
288
- mode: defs[name].mode ?? 'auto',
289
- });
290
- }
291
- // Pass 2: Light high-contrast
292
- const lightHCMap = new Map();
293
- // Reset resolved for HC pass
294
- for (const name of order) {
295
- ctx.resolved.set(name, {
296
- ...ctx.resolved.get(name),
297
- lightContrast: lightMap.get(name), // use light as fallback
298
- });
299
- }
300
- for (const name of order) {
301
- const variant = resolveColorForScheme(name, defs[name], ctx, false, true);
302
- lightHCMap.set(name, variant);
303
- ctx.resolved.set(name, {
304
- ...ctx.resolved.get(name),
305
- lightContrast: variant,
306
- });
307
- }
308
- // Pass 3: Dark normal — root colors need light L for inversion
309
- // For dark pass, root colors use their light L to compute dark L.
310
- // Dependent colors use the already-resolved dark base.
311
- // We need to resolve root colors first, then dependents.
312
- const darkMap = new Map();
313
- // First, set all resolved to have correct light values
314
- for (const name of order) {
315
- ctx.resolved.set(name, {
316
- name,
317
- light: lightMap.get(name),
318
- dark: lightMap.get(name), // placeholder for dark
319
- lightContrast: lightHCMap.get(name),
320
- darkContrast: lightHCMap.get(name), // placeholder
321
- mode: defs[name].mode ?? 'auto',
322
- });
323
- }
324
- for (const name of order) {
325
- const variant = resolveColorForScheme(name, defs[name], ctx, true, false);
326
- darkMap.set(name, variant);
327
- ctx.resolved.set(name, {
328
- ...ctx.resolved.get(name),
329
- dark: variant,
330
- });
331
- }
332
- // Pass 4: Dark high-contrast
333
- const darkHCMap = new Map();
334
- for (const name of order) {
335
- ctx.resolved.set(name, {
336
- ...ctx.resolved.get(name),
337
- darkContrast: darkMap.get(name), // use dark as fallback
338
- });
339
- }
340
- for (const name of order) {
341
- const variant = resolveColorForScheme(name, defs[name], ctx, true, true);
342
- darkHCMap.set(name, variant);
343
- ctx.resolved.set(name, {
344
- ...ctx.resolved.get(name),
345
- darkContrast: variant,
346
- });
347
- }
348
- // Build final result
349
- const result = new Map();
350
- for (const name of order) {
351
- result.set(name, {
352
- name,
353
- light: lightMap.get(name),
354
- dark: darkMap.get(name),
355
- lightContrast: lightHCMap.get(name),
356
- darkContrast: darkHCMap.get(name),
357
- mode: defs[name].mode ?? 'auto',
358
- });
359
- }
360
- return result;
361
- }
362
- // ============================================================================
363
- // Token formatting
364
- // ============================================================================
365
- function variantToOkhslString(v) {
366
- return formatOkhsl(v.h, v.s * 100, v.l * 100);
367
- }
368
- function resolveModes(override) {
369
- return {
370
- dark: override?.dark ?? globalConfig.modes.dark,
371
- highContrast: override?.highContrast ?? globalConfig.modes.highContrast,
372
- };
373
- }
374
- function buildTokenMap(resolved, prefix, states, modes) {
375
- const tokens = {};
376
- for (const [name, color] of resolved) {
377
- const key = `#${prefix}${name}`;
378
- const entry = {
379
- '': variantToOkhslString(color.light),
380
- };
381
- if (modes.dark) {
382
- entry[states.dark] = variantToOkhslString(color.dark);
383
- }
384
- if (modes.highContrast) {
385
- entry[states.highContrast] = variantToOkhslString(color.lightContrast);
386
- }
387
- if (modes.dark && modes.highContrast) {
388
- entry[`${states.dark} & ${states.highContrast}`] = variantToOkhslString(color.darkContrast);
389
- }
390
- tokens[key] = entry;
391
- }
392
- return tokens;
393
- }
394
- function buildJsonMap(resolved, modes) {
395
- const result = {};
396
- for (const [name, color] of resolved) {
397
- const entry = {
398
- light: variantToOkhslString(color.light),
399
- };
400
- if (modes.dark) {
401
- entry.dark = variantToOkhslString(color.dark);
402
- }
403
- if (modes.highContrast) {
404
- entry.lightContrast = variantToOkhslString(color.lightContrast);
405
- }
406
- if (modes.dark && modes.highContrast) {
407
- entry.darkContrast = variantToOkhslString(color.darkContrast);
408
- }
409
- result[name] = entry;
410
- }
411
- return result;
412
- }
413
- // ============================================================================
414
- // Theme implementation
415
- // ============================================================================
416
- function createTheme(hue, saturation, initialColors) {
417
- let colorDefs = initialColors ? { ...initialColors } : {};
418
- const theme = {
419
- get hue() {
420
- return hue;
421
- },
422
- get saturation() {
423
- return saturation;
424
- },
425
- colors(defs) {
426
- colorDefs = { ...defs };
427
- },
428
- extend(options) {
429
- const newHue = options.hue ?? hue;
430
- const newSat = options.saturation ?? saturation;
431
- const mergedColors = options.colors
432
- ? { ...colorDefs, ...options.colors }
433
- : { ...colorDefs };
434
- return createTheme(newHue, newSat, mergedColors);
435
- },
436
- resolve() {
437
- return resolveAllColors(hue, saturation, colorDefs);
438
- },
439
- tokens(options) {
440
- const resolved = resolveAllColors(hue, saturation, colorDefs);
441
- const states = {
442
- dark: options?.states?.dark ?? globalConfig.states.dark,
443
- highContrast: options?.states?.highContrast ?? globalConfig.states.highContrast,
444
- };
445
- const modes = resolveModes(options?.modes);
446
- return buildTokenMap(resolved, '', states, modes);
447
- },
448
- json(options) {
449
- const resolved = resolveAllColors(hue, saturation, colorDefs);
450
- const modes = resolveModes(options?.modes);
451
- return buildJsonMap(resolved, modes);
452
- },
453
- };
454
- return theme;
455
- }
456
- function createPalette(themes) {
457
- return {
458
- tokens(options) {
459
- const states = {
460
- dark: options?.states?.dark ?? globalConfig.states.dark,
461
- highContrast: options?.states?.highContrast ?? globalConfig.states.highContrast,
462
- };
463
- const modes = resolveModes(options?.modes);
464
- const allTokens = {};
465
- for (const [themeName, theme] of Object.entries(themes)) {
466
- const resolved = theme.resolve();
467
- let prefix = '';
468
- if (options?.prefix === true) {
469
- prefix = `${themeName}-`;
470
- }
471
- else if (typeof options?.prefix === 'object' &&
472
- options.prefix !== null) {
473
- prefix = options.prefix[themeName] ?? `${themeName}-`;
474
- }
475
- const tokens = buildTokenMap(resolved, prefix, states, modes);
476
- Object.assign(allTokens, tokens);
477
- }
478
- return allTokens;
479
- },
480
- json(options) {
481
- const modes = resolveModes(options?.modes);
482
- const result = {};
483
- for (const [themeName, theme] of Object.entries(themes)) {
484
- const resolved = theme.resolve();
485
- result[themeName] = buildJsonMap(resolved, modes);
486
- }
487
- return result;
488
- },
489
- };
490
- }
491
- // ============================================================================
492
- // Public API: glaze()
493
- // ============================================================================
494
- /**
495
- * Create a single-hue glaze theme.
496
- *
497
- * @example
498
- * ```ts
499
- * const primary = glaze({ hue: 280, saturation: 80 });
500
- * // or shorthand:
501
- * const primary = glaze(280, 80);
502
- * ```
503
- */
504
- export function glaze(hueOrOptions, saturation) {
505
- if (typeof hueOrOptions === 'number') {
506
- return createTheme(hueOrOptions, saturation ?? 100);
507
- }
508
- return createTheme(hueOrOptions.hue, hueOrOptions.saturation);
509
- }
510
- /**
511
- * Configure global glaze settings.
512
- */
513
- glaze.configure = function configure(config) {
514
- globalConfig = {
515
- darkLightness: config.darkLightness ?? globalConfig.darkLightness,
516
- darkDesaturation: config.darkDesaturation ?? globalConfig.darkDesaturation,
517
- states: {
518
- dark: config.states?.dark ?? globalConfig.states.dark,
519
- highContrast: config.states?.highContrast ?? globalConfig.states.highContrast,
520
- },
521
- modes: {
522
- dark: config.modes?.dark ?? globalConfig.modes.dark,
523
- highContrast: config.modes?.highContrast ?? globalConfig.modes.highContrast,
524
- },
525
- };
526
- };
527
- /**
528
- * Compose multiple themes into a palette.
529
- */
530
- glaze.palette = function palette(themes) {
531
- return createPalette(themes);
532
- };
533
- /**
534
- * Get the current global configuration (for testing/debugging).
535
- */
536
- glaze.getConfig = function getConfig() {
537
- return { ...globalConfig };
538
- };
539
- /**
540
- * Reset global configuration to defaults.
541
- */
542
- glaze.resetConfig = function resetConfig() {
543
- globalConfig = {
544
- darkLightness: [10, 90],
545
- darkDesaturation: 0.1,
546
- states: {
547
- dark: '@dark',
548
- highContrast: '@high-contrast',
549
- },
550
- modes: {
551
- dark: true,
552
- highContrast: false,
553
- },
554
- };
555
- };
556
-
557
-
@@ -1,22 +0,0 @@
1
- /**
2
- * @license MIT
3
- * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-e2a9f35
5
- * Released under the MIT license.
6
- */
7
-
8
- /**
9
- * Glaze — color generation API for tasty themes.
10
- *
11
- * Can be imported from:
12
- * - `@cube-dev/ui-kit` (main bundle)
13
- * - `@cube-dev/ui-kit/tasty` (tasty bundle)
14
- * - `@cube-dev/ui-kit/tasty/glaze` (standalone, tree-shakeable)
15
- */
16
- export { glaze } from './glaze.js';
17
- // Re-export contrast solver utilities for advanced use
18
- export { findLightnessForContrast, resolveMinContrast, } from './contrast-solver.js';
19
- // Re-export color math for advanced use
20
- export { okhslToLinearSrgb, okhslToSrgb, relativeLuminanceFromLinearRgb, contrastRatioFromLuminance, formatOkhsl, } from './okhsl-color-math.js';
21
-
22
-