@cube-dev/ui-kit 0.0.0-canary-d3e63ad → 0.0.0-canary-e5b4f54

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 (558) hide show
  1. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +1 -1
  16. package/dist/components/actions/Action/Action.js +1 -1
  17. package/dist/components/actions/Banner/Banner.js +1 -1
  18. package/dist/components/actions/Button/Button.js +1 -1
  19. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  21. package/dist/components/actions/ButtonSplit/context.js +1 -1
  22. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  23. package/dist/components/actions/CommandMenu/styled.js +1 -1
  24. package/dist/components/actions/ItemAction/ItemAction.js +2 -6
  25. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  26. package/dist/components/actions/ItemActionContext.d.ts +0 -14
  27. package/dist/components/actions/ItemActionContext.js +2 -2
  28. package/dist/components/actions/ItemActionContext.js.map +1 -1
  29. package/dist/components/actions/ItemButton/ItemButton.js +42 -47
  30. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  31. package/dist/components/actions/Link/Link.js +1 -1
  32. package/dist/components/actions/Menu/Menu.js +1 -1
  33. package/dist/components/actions/Menu/MenuItem.js +1 -1
  34. package/dist/components/actions/Menu/MenuSection.js +1 -1
  35. package/dist/components/actions/Menu/MenuTrigger.d.ts +13 -0
  36. package/dist/components/actions/Menu/MenuTrigger.js +27 -15
  37. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  38. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  39. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  40. package/dist/components/actions/Menu/context.js +1 -1
  41. package/dist/components/actions/Menu/styled.js +1 -1
  42. package/dist/components/actions/index.js +1 -1
  43. package/dist/components/actions/use-action.js +1 -1
  44. package/dist/components/actions/use-anchored-menu.js +1 -1
  45. package/dist/components/actions/use-context-menu.js +1 -1
  46. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  47. package/dist/components/content/Alert/Alert.js +1 -1
  48. package/dist/components/content/Alert/use-alert.js +1 -1
  49. package/dist/components/content/Avatar/Avatar.js +1 -1
  50. package/dist/components/content/Badge/Badge.js +1 -1
  51. package/dist/components/content/Card/Card.js +1 -1
  52. package/dist/components/content/Content.js +1 -1
  53. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  54. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  55. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  56. package/dist/components/content/Divider.js +1 -1
  57. package/dist/components/content/Footer.js +1 -1
  58. package/dist/components/content/Header.js +1 -1
  59. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  60. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  61. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  62. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  63. package/dist/components/content/Item/Item.js +48 -4
  64. package/dist/components/content/Item/Item.js.map +1 -1
  65. package/dist/components/content/ItemBadge/ItemBadge.d.ts +1 -1
  66. package/dist/components/content/ItemBadge/ItemBadge.js +4 -5
  67. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  68. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  69. package/dist/components/content/Layout/GridLayout.js +1 -1
  70. package/dist/components/content/Layout/Layout.js +1 -1
  71. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  72. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  73. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  74. package/dist/components/content/Layout/LayoutContent.js +1 -1
  75. package/dist/components/content/Layout/LayoutContext.js +1 -1
  76. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  77. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  78. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  79. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  80. package/dist/components/content/Layout/LayoutPane.js +1 -1
  81. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  82. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  83. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  84. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  85. package/dist/components/content/Layout/index.js +1 -1
  86. package/dist/components/content/Layout/utils.js +1 -1
  87. package/dist/components/content/Paragraph.js +1 -1
  88. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  89. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  90. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  91. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  92. package/dist/components/content/Result/Result.js +1 -1
  93. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  94. package/dist/components/content/Tag/Tag.js +1 -1
  95. package/dist/components/content/Text.d.ts +14 -14
  96. package/dist/components/content/Text.js +1 -1
  97. package/dist/components/content/TextItem/TextItem.js +1 -1
  98. package/dist/components/content/Title.js +1 -1
  99. package/dist/components/content/Tree/Tree.js +1 -1
  100. package/dist/components/content/Tree/TreeNode.js +1 -1
  101. package/dist/components/content/Tree/styled.js +1 -1
  102. package/dist/components/content/Tree/tree-index.js +1 -1
  103. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  104. package/dist/components/content/Tree/use-load-data.js +1 -1
  105. package/dist/components/content/highlightText.js +1 -1
  106. package/dist/components/content/use-auto-tooltip.js +1 -1
  107. package/dist/components/data/DataTable/DataTable.js +1 -1
  108. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  109. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  110. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  111. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  112. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  113. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  114. package/dist/components/data/TableBase/RowCollection.js +1 -1
  115. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  116. package/dist/components/data/TableBase/TableRow.js +1 -1
  117. package/dist/components/data/TableBase/TableView.js +1 -1
  118. package/dist/components/data/TableBase/column-menu.js +1 -1
  119. package/dist/components/data/TableBase/column-tint.js +1 -1
  120. package/dist/components/data/TableBase/row-menu.js +1 -1
  121. package/dist/components/data/TableBase/styled.js +1 -1
  122. package/dist/components/data/TableBase/types.js +1 -1
  123. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  124. package/dist/components/data/TableBase/use-column-order.js +1 -1
  125. package/dist/components/data/TableBase/use-container-width.js +1 -1
  126. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  127. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  128. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  129. package/dist/components/data/TableBase/use-table-search.js +1 -1
  130. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  131. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  132. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  133. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  134. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  135. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  136. package/dist/components/fields/Checkbox/context.js +1 -1
  137. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  138. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  139. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  140. package/dist/components/fields/ComboBox/ComboBox.js +6 -2
  141. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  142. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  143. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  144. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  145. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  146. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  147. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  148. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  149. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  150. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  151. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  152. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  153. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  154. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  155. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  156. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  157. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  158. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  159. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  160. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  161. package/dist/components/fields/DatePicker/period.js +1 -1
  162. package/dist/components/fields/DatePicker/props.js +1 -1
  163. package/dist/components/fields/DatePicker/utils.js +1 -1
  164. package/dist/components/fields/FileInput/FileInput.js +1 -1
  165. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  166. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  167. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  168. package/dist/components/fields/Input/Input.js +1 -1
  169. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  170. package/dist/components/fields/ListBox/ListBox.js +1 -1
  171. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  172. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  173. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  174. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  175. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  176. package/dist/components/fields/PasswordInput/PasswordInput.js +2 -1
  177. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  178. package/dist/components/fields/Picker/Picker.js +1 -1
  179. package/dist/components/fields/Picker/Picker.js.map +1 -1
  180. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  181. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  182. package/dist/components/fields/RadioGroup/context.js +1 -1
  183. package/dist/components/fields/SearchComboBox/SearchComboBox.js +6 -2
  184. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  185. package/dist/components/fields/SearchInput/SearchInput.js +7 -1
  186. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  187. package/dist/components/fields/Select/Select.js +6 -3
  188. package/dist/components/fields/Select/Select.js.map +1 -1
  189. package/dist/components/fields/Slider/Gradation.js +1 -1
  190. package/dist/components/fields/Slider/HueSlider.js +1 -1
  191. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  192. package/dist/components/fields/Slider/Slider.js +1 -1
  193. package/dist/components/fields/Slider/SliderBase.js +1 -1
  194. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  195. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  196. package/dist/components/fields/Slider/elements.js +1 -1
  197. package/dist/components/fields/Slider/index.js +1 -1
  198. package/dist/components/fields/Switch/Switch.js +1 -1
  199. package/dist/components/fields/TextArea/TextArea.js +1 -1
  200. package/dist/components/fields/TextInput/TextInput.js +1 -1
  201. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  202. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  203. package/dist/components/fields/color/ColorPanel.js +1 -1
  204. package/dist/components/fields/color/ColorSwatch.js +1 -1
  205. package/dist/components/fields/color/channels.js +1 -1
  206. package/dist/components/fields/color/color.js +1 -1
  207. package/dist/components/fields/color/context.js +1 -1
  208. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  209. package/dist/components/form/Form/Field.js +1 -1
  210. package/dist/components/form/Form/Form.js +1 -1
  211. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  212. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  213. package/dist/components/form/Form/SubmitError.js +1 -1
  214. package/dist/components/form/Form/index.js +1 -1
  215. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  216. package/dist/components/form/Form/use-field/use-field.js +1 -1
  217. package/dist/components/form/Form/use-form.js +1 -1
  218. package/dist/components/form/Form/validation.js +1 -1
  219. package/dist/components/form/Label.js +1 -1
  220. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  221. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  222. package/dist/components/form/validation/use-validation-props.js +1 -1
  223. package/dist/components/form/wrapper.js +1 -1
  224. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  225. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  226. package/dist/components/layout/Board/Board.js +1 -1
  227. package/dist/components/layout/Board/BoardProvider.js +1 -1
  228. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  229. package/dist/components/layout/Board/Widget.js +1 -1
  230. package/dist/components/layout/Board/WidgetHost.js +1 -1
  231. package/dist/components/layout/Board/board-context.js +1 -1
  232. package/dist/components/layout/Board/board-store.js +1 -1
  233. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  234. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  235. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  236. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  237. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  238. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  239. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  240. package/dist/components/layout/Board/index.js +1 -1
  241. package/dist/components/layout/Board/responsive-utils.js +1 -1
  242. package/dist/components/layout/Board/use-board-layout.js +1 -1
  243. package/dist/components/layout/Board/use-board-registry.js +1 -1
  244. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  245. package/dist/components/layout/Board/use-board-selection.js +1 -1
  246. package/dist/components/layout/Flex.js +1 -1
  247. package/dist/components/layout/Flow.js +1 -1
  248. package/dist/components/layout/Grid.js +1 -1
  249. package/dist/components/layout/Panel.js +1 -1
  250. package/dist/components/layout/Prefix.js +1 -1
  251. package/dist/components/layout/ResizablePanel.js +1 -1
  252. package/dist/components/layout/Space.js +1 -1
  253. package/dist/components/layout/Suffix.js +1 -1
  254. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  255. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  256. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  257. package/dist/components/navigation/Tabs/TabButton.js +2 -29
  258. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  259. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  260. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  261. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  262. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  263. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  264. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  265. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  266. package/dist/components/navigation/Tabs/styled.js +1 -1
  267. package/dist/components/navigation/Tabs/types.js +1 -1
  268. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  269. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  270. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  271. package/dist/components/other/Calendar/Calendar.js +1 -1
  272. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  273. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  274. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  275. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  276. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  277. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  278. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  279. package/dist/components/other/Calendar/styled.js +1 -1
  280. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  281. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  282. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  283. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  284. package/dist/components/overlays/Dialog/Dialog.js +4 -3
  285. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  286. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  287. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  288. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +13 -0
  289. package/dist/components/overlays/Dialog/DialogTrigger.js +24 -5
  290. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  291. package/dist/components/overlays/Dialog/context.js +1 -1
  292. package/dist/components/overlays/Dialog/context.js.map +1 -1
  293. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  294. package/dist/components/overlays/Modal/Modal.js +1 -1
  295. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  296. package/dist/components/overlays/Modal/Overlay.js +1 -1
  297. package/dist/components/overlays/Modal/Popover.js +1 -1
  298. package/dist/components/overlays/Modal/Tray.js +1 -1
  299. package/dist/components/overlays/Modal/Underlay.js +1 -1
  300. package/dist/components/overlays/Notifications/Notification.js +1 -1
  301. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  302. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  303. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  304. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  305. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  306. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  307. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  308. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  309. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  310. package/dist/components/overlays/Notifications/index.js +1 -1
  311. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  312. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  313. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  314. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  315. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  316. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  317. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  318. package/dist/components/overlays/Toast/index.js +1 -1
  319. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  320. package/dist/components/overlays/Toast/useToast.js +1 -1
  321. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  322. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  323. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  324. package/dist/components/overlays/Tooltip/context.js +1 -1
  325. package/dist/components/portal/Portal.js +1 -1
  326. package/dist/components/portal/PortalProvider.js +1 -1
  327. package/dist/components/portal/usePortal.js +1 -1
  328. package/dist/components/shared/DraggableCollection.js +1 -1
  329. package/dist/components/shared/InvalidIcon.js +1 -1
  330. package/dist/components/shared/ValidIcon.js +1 -1
  331. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  332. package/dist/components/status/Spin/Cube.js +1 -1
  333. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  334. package/dist/components/status/Spin/Spin.js +1 -1
  335. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  336. package/dist/data/item-themes.js +7 -86
  337. package/dist/data/item-themes.js.map +1 -1
  338. package/dist/data/themes.js +1 -1
  339. package/dist/eslint-plugin/defaults.generated.js +19 -5
  340. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  341. package/dist/eslint-plugin/index.js +1 -1
  342. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  343. package/dist/i18n/I18nProvider.js +1 -1
  344. package/dist/i18n/createFormatter.js +1 -1
  345. package/dist/i18n/index.js +1 -1
  346. package/dist/i18n/instance.js +1 -1
  347. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  348. package/dist/i18n/locales/en-US/uikit.js +1 -1
  349. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  350. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  351. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  352. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  353. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  354. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  355. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  356. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  357. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  358. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  359. package/dist/i18n/locales.js +1 -1
  360. package/dist/i18n/useFormatter.js +1 -1
  361. package/dist/i18n/useI18n.js +1 -1
  362. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  363. package/dist/icons/AdjustmentsIcon.js +1 -1
  364. package/dist/icons/AiIcon.js +1 -1
  365. package/dist/icons/AreaChartIcon.js +1 -1
  366. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  367. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  368. package/dist/icons/BackwardIcon.js +1 -1
  369. package/dist/icons/BarChartIcon.js +1 -1
  370. package/dist/icons/BellFilledIcon.js +1 -1
  371. package/dist/icons/BellIcon.js +1 -1
  372. package/dist/icons/BooleanIcon.js +1 -1
  373. package/dist/icons/CalendarEditIcon.js +1 -1
  374. package/dist/icons/CalendarIcon.js +1 -1
  375. package/dist/icons/CaretDownIcon.js +1 -1
  376. package/dist/icons/CaretUpIcon.js +1 -1
  377. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  378. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  379. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  380. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  381. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  382. package/dist/icons/ChartBarLineIcon.js +1 -1
  383. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  384. package/dist/icons/ChartBarStackedIcon.js +1 -1
  385. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  386. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  387. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  388. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  389. package/dist/icons/ChartBubbleIcon.js +1 -1
  390. package/dist/icons/ChartDonut2Icon.js +1 -1
  391. package/dist/icons/ChartFunnelIcon.js +1 -1
  392. package/dist/icons/ChartHeatmapIcon.js +1 -1
  393. package/dist/icons/ChartKPIIcon.js +1 -1
  394. package/dist/icons/ChartPie2Icon.js +1 -1
  395. package/dist/icons/ChartScatterIcon.js +1 -1
  396. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  397. package/dist/icons/CheckCircleIcon.js +1 -1
  398. package/dist/icons/CheckIcon.js +1 -1
  399. package/dist/icons/CircleFilledIcon.js +1 -1
  400. package/dist/icons/ClearIcon.js +1 -1
  401. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  402. package/dist/icons/CloseCircleIcon.js +1 -1
  403. package/dist/icons/CloseIcon.js +1 -1
  404. package/dist/icons/CodeIcon.js +1 -1
  405. package/dist/icons/ColumnTotalIcon.js +1 -1
  406. package/dist/icons/CopyIcon.js +1 -1
  407. package/dist/icons/CountIcon.js +1 -1
  408. package/dist/icons/CubeIcon.js +1 -1
  409. package/dist/icons/CubePauseIcon.js +1 -1
  410. package/dist/icons/CubePlayIcon.js +1 -1
  411. package/dist/icons/CurrencyDollarIcon.js +1 -1
  412. package/dist/icons/DangerIcon.js +1 -1
  413. package/dist/icons/DashboardIcon.js +1 -1
  414. package/dist/icons/DatabaseIcon.js +1 -1
  415. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  416. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  417. package/dist/icons/DirectionIcon.js +1 -1
  418. package/dist/icons/DonutIcon.js +1 -1
  419. package/dist/icons/DownIcon.js +1 -1
  420. package/dist/icons/EditIcon.js +1 -1
  421. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  422. package/dist/icons/ExclamationCircleIcon.js +1 -1
  423. package/dist/icons/ExclamationIcon.js +1 -1
  424. package/dist/icons/EyeIcon.js +1 -1
  425. package/dist/icons/EyeInvisibleIcon.js +1 -1
  426. package/dist/icons/FilterIcon.js +1 -1
  427. package/dist/icons/FolderFilledIcon.js +1 -1
  428. package/dist/icons/FolderIcon.js +1 -1
  429. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  430. package/dist/icons/FolderOpenIcon.js +1 -1
  431. package/dist/icons/ForwardIcon.js +1 -1
  432. package/dist/icons/GripVerticalIcon.js +1 -1
  433. package/dist/icons/HierarchyIcon.js +1 -1
  434. package/dist/icons/HierarchyOpenIcon.js +1 -1
  435. package/dist/icons/Icon.js +1 -1
  436. package/dist/icons/InfoCircleIcon.js +1 -1
  437. package/dist/icons/InfoIcon.js +1 -1
  438. package/dist/icons/KeyIcon.js +1 -1
  439. package/dist/icons/LeftIcon.js +1 -1
  440. package/dist/icons/LineChartIcon.js +1 -1
  441. package/dist/icons/LoadingIcon.js +1 -1
  442. package/dist/icons/LockFilledIcon.js +1 -1
  443. package/dist/icons/LockIcon.js +1 -1
  444. package/dist/icons/MoreIcon.js +1 -1
  445. package/dist/icons/NotAllowedIcon.js +1 -1
  446. package/dist/icons/Number123Icon.js +1 -1
  447. package/dist/icons/NumberIcon.js +1 -1
  448. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  449. package/dist/icons/PauseCircleIcon.js +1 -1
  450. package/dist/icons/PauseIcon.js +1 -1
  451. package/dist/icons/PercentageIcon.js +1 -1
  452. package/dist/icons/PieChartIcon.js +1 -1
  453. package/dist/icons/PipetteIcon.js +1 -1
  454. package/dist/icons/PlayCircleIcon.js +1 -1
  455. package/dist/icons/PlayIcon.js +1 -1
  456. package/dist/icons/PlusIcon.js +1 -1
  457. package/dist/icons/ProgressBarIcon.js +1 -1
  458. package/dist/icons/ReloadIcon.js +1 -1
  459. package/dist/icons/ReportIcon.js +1 -1
  460. package/dist/icons/ReturnIcon.js +1 -1
  461. package/dist/icons/RightIcon.js +1 -1
  462. package/dist/icons/RowTotalsIcon.js +1 -1
  463. package/dist/icons/SchemeIcon.js +1 -1
  464. package/dist/icons/SearchIcon.js +1 -1
  465. package/dist/icons/SemanticQueryIcon.js +1 -1
  466. package/dist/icons/SettingsIcon.js +1 -1
  467. package/dist/icons/ShieldFilledIcon.js +1 -1
  468. package/dist/icons/ShieldIcon.js +1 -1
  469. package/dist/icons/SlashIcon.js +1 -1
  470. package/dist/icons/SparklesIcon.js +1 -1
  471. package/dist/icons/SqlIcon.js +1 -1
  472. package/dist/icons/StatsIcon.js +1 -1
  473. package/dist/icons/StopIcon.js +1 -1
  474. package/dist/icons/StringIcon.js +1 -1
  475. package/dist/icons/SubtotalsIcon.js +1 -1
  476. package/dist/icons/SwitchIcon.js +1 -1
  477. package/dist/icons/TableIcon.js +1 -1
  478. package/dist/icons/ThumbsDownIcon.js +1 -1
  479. package/dist/icons/ThumbsUpIcon.js +1 -1
  480. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  481. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  482. package/dist/icons/ThunderboltIcon.js +1 -1
  483. package/dist/icons/TimeIcon.js +1 -1
  484. package/dist/icons/TrashIcon.js +1 -1
  485. package/dist/icons/UnlockIcon.js +1 -1
  486. package/dist/icons/UpIcon.js +1 -1
  487. package/dist/icons/UserGroupIcon.js +1 -1
  488. package/dist/icons/UserIcon.js +1 -1
  489. package/dist/icons/UserLockIcon.js +1 -1
  490. package/dist/icons/ViewIcon.js +1 -1
  491. package/dist/icons/WarningFilledIcon.js +1 -1
  492. package/dist/icons/WarningIcon.js +1 -1
  493. package/dist/icons/wrap-icon.js +1 -1
  494. package/dist/index.js +1 -1
  495. package/dist/probe/canonicalize.js +1 -1
  496. package/dist/probe/css.js +1 -1
  497. package/dist/probe/index.js +1 -1
  498. package/dist/provider.js +1 -1
  499. package/dist/providers/TrackingProvider.js +1 -1
  500. package/dist/providers/navigationAdapter.default.js +1 -1
  501. package/dist/tokens/base.js +1 -1
  502. package/dist/tokens/color-theme.js +1 -1
  503. package/dist/tokens/colors.js +1 -1
  504. package/dist/tokens/index.js +1 -1
  505. package/dist/tokens/layout.js +1 -1
  506. package/dist/tokens/lazy-styles.js +1 -1
  507. package/dist/tokens/palette-config.js +1 -1
  508. package/dist/tokens/palette.js +1 -1
  509. package/dist/tokens/shadows.js +1 -1
  510. package/dist/tokens/sizes.js +1 -1
  511. package/dist/tokens/spacing.js +1 -1
  512. package/dist/tokens/typography.js +1 -1
  513. package/dist/utils/ResizeSensor.js +1 -1
  514. package/dist/utils/is-dev-env.js +1 -1
  515. package/dist/utils/modules.js +1 -1
  516. package/dist/utils/promise.js +1 -1
  517. package/dist/utils/raf.js +1 -1
  518. package/dist/utils/random.js +1 -1
  519. package/dist/utils/range.js +1 -1
  520. package/dist/utils/react/RenderCache.js +1 -1
  521. package/dist/utils/react/Slots.js +1 -1
  522. package/dist/utils/react/chain.js +1 -1
  523. package/dist/utils/react/disabledProps.js +1 -1
  524. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  525. package/dist/utils/react/index.js +1 -1
  526. package/dist/utils/react/interactions.js +1 -1
  527. package/dist/utils/react/isTextOnly.js +1 -1
  528. package/dist/utils/react/mapProps.js +1 -1
  529. package/dist/utils/react/mergeProps.js +1 -1
  530. package/dist/utils/react/nullableValue.js +1 -1
  531. package/dist/utils/react/resolveIcon.js +1 -1
  532. package/dist/utils/react/sharedStore.js +1 -1
  533. package/dist/utils/react/useBufferedValue.js +1 -1
  534. package/dist/utils/react/useCombinedRefs.js +1 -1
  535. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  536. package/dist/utils/react/useEventBus.js +1 -1
  537. package/dist/utils/react/useId.js +1 -1
  538. package/dist/utils/react/useIsDarwin.js +1 -1
  539. package/dist/utils/react/useKeySymbols.js +1 -1
  540. package/dist/utils/react/useLayoutEffect.js +1 -1
  541. package/dist/utils/react/useLocalStorage.js +1 -1
  542. package/dist/utils/react/useMergeStyles.js +1 -1
  543. package/dist/utils/react/usePopoverSync.js +1 -1
  544. package/dist/utils/react/useQaProps.js +1 -1
  545. package/dist/utils/react/useViewportSize.js +1 -1
  546. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  547. package/dist/utils/selection.js +1 -1
  548. package/dist/utils/styles.js +1 -1
  549. package/dist/utils/tree.js +1 -1
  550. package/dist/utils/warnings.js +1 -1
  551. package/dist/version.js +2 -2
  552. package/docs/components/actions/ItemAction.md +1 -1
  553. package/docs/components/actions/MenuTrigger.md +54 -2
  554. package/docs/components/actions/SubMenuTrigger.md +2 -2
  555. package/docs/components/content/InlineInput.md +1 -1
  556. package/docs/components/content/ItemBadge.md +1 -1
  557. package/docs/components/overlays/DialogTrigger.md +3 -2
  558. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  //#region src/data/item-themes.ts
3
3
  const VALIDATION_STYLES = { border: {
4
4
  invalid: "#danger-accent-text",
@@ -723,43 +723,15 @@ const SPECIAL_ITEM_STYLES = {
723
723
  disabled: "#white.4"
724
724
  }
725
725
  };
726
- const CURRENT_ITEM_RAMP = {
727
- "$current-hover": {
728
- "": "#current.04",
729
- "@dark": "#current.07",
730
- "theme=special": "#current.15"
731
- },
732
- "$current-press": {
733
- "": "#current.06",
734
- "@dark": "#current.1",
735
- "theme=special": "#current.22"
736
- },
737
- "$current-selected": {
738
- "": "#current.09",
739
- "@dark": "#current.14",
740
- "theme=special": "#current.28"
741
- },
742
- "$current-selected-hover": {
743
- "": "#current.12",
744
- "@dark": "#current.18",
745
- "theme=special": "#current.34"
746
- },
747
- "$current-selected-press": {
748
- "": "#current.15",
749
- "@dark": "#current.22",
750
- "theme=special": "#current.4"
751
- }
752
- };
753
726
  const CURRENT_ITEM_STYLES = {
754
- ...CURRENT_ITEM_RAMP,
755
727
  border: "transparent",
756
728
  fill: {
757
729
  "": "#current.0",
758
- "hovered | focused": "var(--current-hover)",
759
- pressed: "var(--current-press)",
760
- selected: "var(--current-selected)",
761
- "selected & (hovered | focused)": "var(--current-selected-hover)",
762
- "selected & pressed": "var(--current-selected-press)",
730
+ "hovered | focused": "#current.04",
731
+ pressed: "#current.06",
732
+ selected: "#current.09",
733
+ "selected & (hovered | focused)": "#current.12",
734
+ "selected & pressed": "#current.15",
763
735
  disabled: "transparent"
764
736
  },
765
737
  color: {
@@ -821,58 +793,7 @@ const NOTE_CARD_STYLES = {
821
793
  fill: "#note-surface",
822
794
  color: "#note-accent-text"
823
795
  };
824
- const ITEM_VARIANTS = {
825
- "default.current": CURRENT_ITEM_STYLES,
826
- "default.primary": DEFAULT_PRIMARY_STYLES,
827
- "default.outline": DEFAULT_OUTLINE_STYLES,
828
- "default.outline-2": DEFAULT_OUTLINE_2_STYLES,
829
- "default.clear": DEFAULT_CLEAR_STYLES,
830
- "default.link": DEFAULT_LINK_STYLES,
831
- "default.item": DEFAULT_ITEM_STYLES,
832
- "default.card": DEFAULT_CARD_STYLES,
833
- "danger.primary": DANGER_PRIMARY_STYLES,
834
- "danger.outline": DANGER_OUTLINE_STYLES,
835
- "danger.outline-2": DANGER_OUTLINE_2_STYLES,
836
- "danger.clear": DANGER_CLEAR_STYLES,
837
- "danger.link": DANGER_LINK_STYLES,
838
- "danger.item": DANGER_ITEM_STYLES,
839
- "danger.card": DANGER_CARD_STYLES,
840
- "success.primary": SUCCESS_PRIMARY_STYLES,
841
- "success.outline": SUCCESS_OUTLINE_STYLES,
842
- "success.outline-2": SUCCESS_OUTLINE_2_STYLES,
843
- "success.clear": SUCCESS_CLEAR_STYLES,
844
- "success.link": SUCCESS_LINK_STYLES,
845
- "success.item": SUCCESS_ITEM_STYLES,
846
- "success.card": SUCCESS_CARD_STYLES,
847
- "warning.primary": WARNING_PRIMARY_STYLES,
848
- "warning.outline": WARNING_OUTLINE_STYLES,
849
- "warning.outline-2": WARNING_OUTLINE_2_STYLES,
850
- "warning.clear": WARNING_CLEAR_STYLES,
851
- "warning.link": WARNING_LINK_STYLES,
852
- "warning.item": WARNING_ITEM_STYLES,
853
- "warning.card": WARNING_CARD_STYLES,
854
- "note.primary": NOTE_PRIMARY_STYLES,
855
- "note.outline": NOTE_OUTLINE_STYLES,
856
- "note.outline-2": NOTE_OUTLINE_2_STYLES,
857
- "note.clear": NOTE_CLEAR_STYLES,
858
- "note.link": NOTE_LINK_STYLES,
859
- "note.item": NOTE_ITEM_STYLES,
860
- "note.card": NOTE_CARD_STYLES,
861
- "special.primary": SPECIAL_PRIMARY_STYLES,
862
- "special.outline": SPECIAL_OUTLINE_STYLES,
863
- "special.clear": SPECIAL_CLEAR_STYLES,
864
- "special.link": SPECIAL_LINK_STYLES,
865
- "special.item": SPECIAL_ITEM_STYLES
866
- };
867
- function resolveItemVariant(theme, type) {
868
- const effectiveType = theme === "special" && type === "outline-2" ? "outline" : type;
869
- return `${effectiveType === "header" || effectiveType === "current" ? "default" : theme}.${effectiveType === "header" ? "item" : effectiveType}`;
870
- }
871
- const ITEM_RESTING_COLOR_VARIANTS = Object.fromEntries(Object.entries(ITEM_VARIANTS).map(([variant, styles]) => {
872
- const color = styles.color;
873
- return [variant, { color: color && typeof color === "object" ? color[""] : color }];
874
- }));
875
796
 
876
797
  //#endregion
877
- export { CURRENT_BUTTON_STYLES, CURRENT_ITEM_STYLES, DANGER_CLEAR_STYLES, DANGER_LINK_STYLES, DANGER_OUTLINE_2_STYLES, DANGER_OUTLINE_STYLES, DANGER_PRIMARY_STYLES, DEFAULT_CLEAR_STYLES, DEFAULT_LINK_STYLES, DEFAULT_OUTLINE_2_STYLES, DEFAULT_OUTLINE_STYLES, DEFAULT_PRIMARY_STYLES, ITEM_ACTION_BASE_STYLES, ITEM_RESTING_COLOR_VARIANTS, ITEM_VARIANTS, NOTE_CLEAR_STYLES, NOTE_LINK_STYLES, NOTE_OUTLINE_2_STYLES, NOTE_OUTLINE_STYLES, NOTE_PRIMARY_STYLES, SPECIAL_CLEAR_STYLES, SPECIAL_LINK_STYLES, SPECIAL_OUTLINE_STYLES, SPECIAL_PRIMARY_STYLES, SUCCESS_CLEAR_STYLES, SUCCESS_LINK_STYLES, SUCCESS_OUTLINE_2_STYLES, SUCCESS_OUTLINE_STYLES, SUCCESS_PRIMARY_STYLES, WARNING_CLEAR_STYLES, WARNING_LINK_STYLES, WARNING_OUTLINE_2_STYLES, WARNING_OUTLINE_STYLES, WARNING_PRIMARY_STYLES, resolveItemVariant };
798
+ export { CURRENT_BUTTON_STYLES, CURRENT_ITEM_STYLES, DANGER_CARD_STYLES, DANGER_CLEAR_STYLES, DANGER_ITEM_STYLES, DANGER_LINK_STYLES, DANGER_OUTLINE_2_STYLES, DANGER_OUTLINE_STYLES, DANGER_PRIMARY_STYLES, DEFAULT_CARD_STYLES, DEFAULT_CLEAR_STYLES, DEFAULT_ITEM_STYLES, DEFAULT_LINK_STYLES, DEFAULT_OUTLINE_2_STYLES, DEFAULT_OUTLINE_STYLES, DEFAULT_PRIMARY_STYLES, ITEM_ACTION_BASE_STYLES, NOTE_CARD_STYLES, NOTE_CLEAR_STYLES, NOTE_ITEM_STYLES, NOTE_LINK_STYLES, NOTE_OUTLINE_2_STYLES, NOTE_OUTLINE_STYLES, NOTE_PRIMARY_STYLES, SPECIAL_CLEAR_STYLES, SPECIAL_ITEM_STYLES, SPECIAL_LINK_STYLES, SPECIAL_OUTLINE_STYLES, SPECIAL_PRIMARY_STYLES, SUCCESS_CARD_STYLES, SUCCESS_CLEAR_STYLES, SUCCESS_ITEM_STYLES, SUCCESS_LINK_STYLES, SUCCESS_OUTLINE_2_STYLES, SUCCESS_OUTLINE_STYLES, SUCCESS_PRIMARY_STYLES, WARNING_CARD_STYLES, WARNING_CLEAR_STYLES, WARNING_ITEM_STYLES, WARNING_LINK_STYLES, WARNING_OUTLINE_2_STYLES, WARNING_OUTLINE_STYLES, WARNING_PRIMARY_STYLES };
878
799
  //# sourceMappingURL=item-themes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"item-themes.js","names":[],"sources":["../../src/data/item-themes.ts"],"sourcesContent":["import type { Styles } from '@tenphi/tasty';\n\nexport const VALIDATION_STYLES: Styles = {\n border: {\n invalid: '#danger-accent-text',\n valid: '#success-accent-text',\n } as Record<string, string>,\n} as const;\n\n// Base styles shared between ItemAction and ItemBadge\nexport const ITEM_ACTION_BASE_STYLES: Styles = {\n display: 'inline-grid',\n flow: 'column',\n placeItems: 'center',\n placeContent: 'center',\n gap: 0,\n position: 'relative',\n margin: {\n '': '0 1bw 0 1bw',\n ':last-child & !:first-child': '0 $side-padding 0 0',\n '!:last-child & :first-child': '0 0 0 $side-padding',\n ':last-child & :first-child': '0 $side-padding',\n context: '0',\n },\n padding: 0,\n radius: '(1r - 1bw)',\n transition: 'theme',\n flexShrink: 0,\n textDecoration: 'none',\n boxSizing: 'border-box',\n whiteSpace: 'nowrap',\n border: 0,\n height: '$action-size',\n width: {\n '': '$action-size',\n 'has-label': 'auto',\n },\n placeSelf: 'center',\n\n // Side padding for the action buttons\n '$side-padding': '(($size - $action-size - 2bw) / 2)',\n // Size using custom property\n '$action-size':\n 'min(max((2x + 2bw), (($size, $size-md) - 1x - 2bw)), (3x - 2bw))',\n\n // Icon styles\n Icon: {\n $: '>',\n display: 'grid',\n placeItems: 'center',\n height: '($action-size - 2bw) ($action-size - 2bw)',\n width: '($action-size - 2bw) ($action-size - 2bw)',\n opacity: {\n '': 1,\n 'checkmark & selected': 1,\n 'checkmark & !selected': 0,\n 'checkmark & !selected & hovered': 0.4,\n },\n },\n} as const;\n\n// ---------- DEFAULT THEME ----------\nexport const DEFAULT_PRIMARY_STYLES: Styles = {\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#primary-accent-surface-border',\n pressed: '#primary-accent-surface-border',\n disabled: 'transparent',\n },\n // All states share the same `#surface` base layer (opaque). Only the\n // *overlay* varies between brand color, hover shade, and disabled chip.\n // Keeping the layer shape identical (always two layers, same base, same\n // gradient overlay slot) lets `background-color`, `background-image` and\n // `--tasty-second-fill-color` all interpolate smoothly during the CSS\n // transition — without it, the gradient overlay would snap on/off and the\n // bg-color would briefly show through (the \"surface flash\" on form submit).\n //\n // The brand ramp `accent-surface` → `-2` → `-3` gives a monotonically\n // increasing contrast against `#surface` (cr ≈ 4.5 → 4.8 → 5.2 in light,\n // similar in dark), so hover and pressed read visibly *darker* than the\n // default state in both schemes. Disabled uses the brand-tinted,\n // scheme-symmetric chip (`accent-disabled-surface` cr ≈ 1.4 vs surface)\n // so the muted state stays identifiable as a brand color.\n fill: {\n '': '#surface #primary-accent-surface',\n hovered: '#surface #primary-accent-surface-2',\n pressed: '#surface #primary-accent-surface-3',\n disabled: '#surface #primary-accent-disabled-surface',\n },\n color: {\n '': '#white',\n disabled: '#primary-accent-disabled-surface-text',\n },\n} as const;\n\nexport const DEFAULT_OUTLINE_STYLES: Styles = {\n // Non-selected = old OUTLINE: neutral border + surface fill.\n // Selected (= old SECONDARY): brand-tinted fill + brand border.\n // Selected BORDER uses the OPAQUE `#primary-border` token (the neutral\n // `border` ramp re-resolved at `saturation: 0.5` per primary-theme — see\n // `TINTED_SURFACE_OVERRIDE` in `palette.ts`). It replaces an alpha-blended\n // brand-text border so adjacent borders in grouped layouts (e.g.\n // `RadioGroup type=\"button\"`) don't double up at their overlap into a\n // darker stripe. Selected FILL anchors to the *fixed* `#primary-accent-surface`\n // brand: anchoring to the adaptive `#primary-accent-text` would drift the\n // bg toward the text lightness in dark mode and collapse label↔bg contrast\n // below AA. Selected label mirrors LINK: soft `#primary-accent-text-soft` at\n // rest, intensifying to `#primary-accent-text` on hover. Both are solved in\n // `palette.ts` for AA against the BASE selected fill (`accent-selected-fill`).\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': true,\n selected: '#primary-border',\n disabled: '#border',\n ...(VALIDATION_STYLES.border as Record<string, string>),\n },\n // Every state uses a two-layer fill: `#surface-2` (opaque base) + a tint\n // overlay. Keeping the layer shape identical across non-selected, selected\n // and disabled states lets the tint, base color, and gradient slot all\n // interpolate smoothly during the CSS transition. Selected states paint the\n // brand tint on top of `#surface-2` (slightly darker base than a\n // body-composited single-layer `#primary-accent-surface.X` would be, but\n // visually almost identical and free of the overlay-snap flash on click).\n // Disabled paints the neutral `#disabled-surface` chip on top of the same\n // base — or, when selected, the brand-tinted `accent-disabled-surface` one, so\n // a disabled segmented control still shows which option is active (CUB-3912).\n // Every `selected & disabled` entry in this file exists for that reason.\n fill: {\n '': '#surface-2 #surface-text.0',\n hovered: '#surface-2 #surface-text.03',\n pressed: '#surface-2 #surface-text.09',\n selected: '#surface-2 #primary-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-2 #primary-accent-surface.12',\n 'selected & pressed': '#surface-2 #primary-accent-surface.18',\n disabled: '#surface-2 #disabled-surface',\n 'selected & disabled': '#surface-2 #primary-accent-disabled-surface',\n },\n color: {\n '': '#surface-text-soft',\n hovered: '#surface-text-soft',\n pressed: '#surface-text',\n selected: '#primary-accent-text-soft',\n 'selected & hovered': '#primary-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#primary-accent-disabled-surface-text',\n },\n} as const;\n\n// Identical to DEFAULT_OUTLINE_STYLES but uses `#surface-3` as the fill base,\n// designed to sit on `#surface-2` containers without blending in.\nexport const DEFAULT_OUTLINE_2_STYLES: Styles = {\n ...DEFAULT_OUTLINE_STYLES,\n fill: {\n '': '#surface-3 #surface-text.0',\n hovered: '#surface-3 #surface-text.03',\n pressed: '#surface-3 #surface-text.09',\n selected: '#surface-3 #primary-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-3 #primary-accent-surface.12',\n 'selected & pressed': '#surface-3 #primary-accent-surface.15',\n disabled: '#surface-3 #disabled-surface',\n 'selected & disabled': '#surface-3 #primary-accent-disabled-surface',\n },\n} as const;\n\nexport const DEFAULT_CLEAR_STYLES: Styles = {\n // Non-selected = old NEUTRAL: transparent / dark-tinted neutral look.\n // Selected = old CLEAR: brand-tinted overlay over the surface.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': 'transparent',\n ...(VALIDATION_STYLES.border as Record<string, string>),\n },\n fill: {\n '': '#surface-text.0',\n 'hovered | focused': '#surface-text.04',\n pressed: '#surface-text.06',\n selected: '#primary-accent-surface.09',\n 'selected & (hovered | focused)': '#primary-accent-surface.12',\n 'selected & pressed': '#primary-accent-surface.18',\n disabled: 'transparent',\n 'selected & disabled': '#primary-accent-disabled-surface',\n },\n // Selected label mirrors LINK: soft at rest, `#primary-accent-text` on\n // hover. See DEFAULT_OUTLINE_STYLES.\n color: {\n '': '#surface-text-soft',\n hovered: '#surface-text-soft',\n 'pressed & !selected': '#surface-text',\n selected: '#primary-accent-text-soft',\n 'selected & hovered': '#primary-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#primary-accent-disabled-surface-text',\n },\n} as const;\n\nexport const DEFAULT_ITEM_STYLES: Styles = {\n border: 'transparent',\n fill: {\n '': '#surface-text.0',\n 'hovered | focused': '#surface-text.04',\n pressed: '#surface-text.06',\n selected: '#surface-text.09',\n 'selected & (hovered | focused)': '#surface-text.12',\n 'selected & pressed': '#surface-text.15',\n disabled: 'transparent',\n },\n color: {\n '': '#surface-text-soft',\n hovered: '#surface-text-soft',\n selected: '#surface-text',\n disabled: '#disabled-surface-text',\n },\n} as const;\n\nexport const DEFAULT_LINK_STYLES: Styles = {\n // Default sits at `#primary-accent-text-soft` and intensifies on hover to the\n // stronger `#primary-accent-text`. Both are solved in `palette.ts` for AA\n // against `accent-selected-fill` (the BASE selected Item fill), so they also\n // clear AA on plain surfaces; both are adaptive across light/dark/HC.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: '0',\n fill: {\n '': 'transparent',\n },\n color: {\n '': '#primary-accent-text-soft',\n 'hovered & !pressed': '#primary-accent-text',\n disabled: '#disabled-surface-text',\n },\n} as const;\n\n// ---------- DANGER THEME ----------\nexport const DANGER_PRIMARY_STYLES: Styles = {\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#white.2',\n pressed: '#danger-accent-text',\n disabled: 'transparent',\n },\n // See `DEFAULT_PRIMARY_STYLES.fill` for the layer-shape + ramp rationale.\n fill: {\n '': '#surface #danger-accent-surface',\n hovered: '#surface #danger-accent-surface-2',\n pressed: '#surface #danger-accent-surface-3',\n disabled: '#surface #danger-accent-disabled-surface',\n },\n color: {\n '': '#white',\n disabled: '#danger-accent-disabled-surface-text',\n },\n} as const;\n\nexport const DANGER_OUTLINE_STYLES: Styles = {\n // Non-selected = old DANGER OUTLINE; selected = old DANGER SECONDARY.\n // Border uses the OPAQUE `#danger-border` token (the neutral `border` ramp\n // re-resolved at `saturation: 0.5` per danger-theme — see\n // `TINTED_SURFACE_OVERRIDE` in `palette.ts`). It replaces an alpha-blended\n // brand-text border so adjacent borders in grouped layouts don't double up\n // at their overlap into a darker stripe.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#danger-border',\n disabled: '#border',\n },\n fill: {\n '': '#surface-2 #danger-accent-surface.0',\n hovered: '#surface-2 #danger-accent-surface.03',\n pressed: '#surface-2 #danger-accent-surface.09',\n selected: '#surface-2 #danger-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-2 #danger-accent-surface.12',\n 'selected & pressed': '#surface-2 #danger-accent-surface.18',\n disabled: '#surface-2 #disabled-surface',\n 'selected & disabled': '#surface-2 #danger-accent-disabled-surface',\n },\n color: {\n '': '#danger-accent-text-soft',\n selected: '#danger-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#danger-accent-disabled-surface-text',\n },\n} as const;\n\nexport const DANGER_OUTLINE_2_STYLES: Styles = {\n ...DANGER_OUTLINE_STYLES,\n fill: {\n '': '#surface-3 #danger-accent-surface.0',\n hovered: '#surface-3 #danger-accent-surface.03',\n pressed: '#surface-3 #danger-accent-surface.09',\n selected: '#surface-3 #danger-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-3 #danger-accent-surface.12',\n 'selected & pressed': '#surface-3 #danger-accent-surface.18',\n disabled: '#surface-3 #disabled-surface',\n 'selected & disabled': '#surface-3 #danger-accent-disabled-surface',\n },\n} as const;\n\nexport const DANGER_CLEAR_STYLES: Styles = {\n // Non-selected = old DANGER NEUTRAL: dark-tinted overlay; pressed switches\n // text to `#danger-accent-text` (matches old neutral).\n // Selected = old DANGER CLEAR: danger-text-tinted overlay.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': 'transparent',\n },\n fill: {\n '': '#surface-text.0',\n 'hovered | focused': '#surface-text.04',\n pressed: '#surface-text.06',\n selected: '#danger-accent-text.09',\n 'selected & (hovered | focused)': '#danger-accent-text.12',\n 'selected & pressed': '#danger-accent-text.18',\n disabled: 'transparent',\n 'selected & disabled': '#danger-accent-disabled-surface',\n },\n color: {\n '': '#danger-accent-text-soft',\n selected: '#danger-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#danger-accent-disabled-surface-text',\n },\n} as const;\n\nexport const DANGER_LINK_STYLES: Styles = {\n // See DEFAULT_LINK_STYLES for the soft→strong rationale.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: 0,\n fill: {\n '': 'transparent',\n },\n color: {\n '': '#danger-accent-text-soft',\n 'hovered & !pressed': '#danger-accent-text',\n disabled: '#disabled-surface-text',\n },\n} as const;\n\nexport const DANGER_ITEM_STYLES: Styles = {\n border: 'transparent',\n fill: {\n '': '#danger-accent-text.0',\n 'hovered | focused': '#danger-accent-text.03',\n selected: '#danger-accent-text.09',\n 'selected & (hovered | focused)': '#danger-accent-text.12',\n pressed: '#danger-accent-text.09',\n disabled: 'transparent',\n },\n color: {\n '': '#danger-accent-text',\n hovered: '#danger-accent-text',\n pressed: '#danger-accent-text',\n disabled: '#danger-accent-text.4',\n },\n} as const;\n\n// ---------- SUCCESS THEME ----------\nexport const SUCCESS_PRIMARY_STYLES: Styles = {\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#white.2',\n pressed: '#success-accent-text',\n disabled: 'transparent',\n },\n // See `DEFAULT_PRIMARY_STYLES.fill` for the layer-shape + ramp rationale.\n fill: {\n '': '#surface #success-accent-surface',\n hovered: '#surface #success-accent-surface-2',\n pressed: '#surface #success-accent-surface-3',\n disabled: '#surface #success-accent-disabled-surface',\n },\n color: {\n '': '#white',\n disabled: '#success-accent-disabled-surface-text',\n },\n} as const;\n\nexport const SUCCESS_OUTLINE_STYLES: Styles = {\n // Non-selected = old SUCCESS OUTLINE; selected = old SUCCESS SECONDARY.\n // See DANGER_OUTLINE_STYLES for the border-anchor rationale.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#success-border',\n disabled: '#border',\n },\n fill: {\n '': '#surface-2 #success-accent-surface.0',\n hovered: '#surface-2 #success-accent-surface.03',\n pressed: '#surface-2 #success-accent-surface.09',\n selected: '#surface-2 #success-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-2 #success-accent-surface.12',\n 'selected & pressed': '#surface-2 #success-accent-surface.18',\n disabled: '#surface-2 #disabled-surface',\n 'selected & disabled': '#surface-2 #success-accent-disabled-surface',\n },\n color: {\n '': '#success-accent-text-soft',\n selected: '#success-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#success-accent-disabled-surface-text',\n },\n} as const;\n\nexport const SUCCESS_OUTLINE_2_STYLES: Styles = {\n ...SUCCESS_OUTLINE_STYLES,\n fill: {\n '': '#surface-3 #success-accent-surface.0',\n hovered: '#surface-3 #success-accent-surface.03',\n pressed: '#surface-3 #success-accent-surface.09',\n selected: '#surface-3 #success-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-3 #success-accent-surface.12',\n 'selected & pressed': '#surface-3 #success-accent-surface.18',\n disabled: '#surface-3 #disabled-surface',\n 'selected & disabled': '#surface-3 #success-accent-disabled-surface',\n },\n} as const;\n\nexport const SUCCESS_CLEAR_STYLES: Styles = {\n // Non-selected = old SUCCESS NEUTRAL; selected = old SUCCESS CLEAR.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': 'transparent',\n },\n fill: {\n '': '#surface-text.0',\n 'hovered | focused': '#surface-text.04',\n pressed: '#surface-text.06',\n selected: '#success-accent-text.09',\n 'selected & (hovered | focused)': '#success-accent-text.12',\n 'selected & pressed': '#success-accent-text.18',\n disabled: 'transparent',\n 'selected & disabled': '#success-accent-disabled-surface',\n },\n color: {\n '': '#success-accent-text-soft',\n selected: '#success-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#success-accent-disabled-surface-text',\n },\n} as const;\n\nexport const SUCCESS_LINK_STYLES: Styles = {\n // See DEFAULT_LINK_STYLES for the soft→strong rationale.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: 0,\n fill: {\n '': 'transparent',\n },\n color: {\n '': '#success-accent-text-soft',\n 'hovered & !pressed': '#success-accent-text',\n disabled: '#disabled-surface-text',\n },\n} as const;\n\nexport const SUCCESS_ITEM_STYLES: Styles = {\n border: 'transparent',\n fill: {\n '': '#success-accent-text.0',\n 'hovered | focused': '#success-accent-text.03',\n selected: '#success-accent-text.09',\n 'selected & (hovered | focused)': '#success-accent-text.12',\n pressed: '#success-accent-text.09',\n disabled: 'transparent',\n },\n color: {\n '': '#success-accent-text',\n hovered: '#success-accent-text',\n pressed: '#success-accent-text',\n disabled: '#success-accent-text.4',\n },\n} as const;\n\n// ---------- WARNING THEME ----------\nexport const WARNING_PRIMARY_STYLES: Styles = {\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#white.2',\n pressed: '#warning-accent-text',\n disabled: 'transparent',\n },\n // See `DEFAULT_PRIMARY_STYLES.fill` for the layer-shape + ramp rationale.\n fill: {\n '': '#surface #warning-accent-surface',\n hovered: '#surface #warning-accent-surface-2',\n pressed: '#surface #warning-accent-surface-3',\n disabled: '#surface #warning-accent-disabled-surface',\n },\n color: {\n '': '#white',\n disabled: '#warning-accent-disabled-surface-text',\n },\n} as const;\n\nexport const WARNING_OUTLINE_STYLES: Styles = {\n // Non-selected = old WARNING OUTLINE; selected = old WARNING SECONDARY.\n // See DANGER_OUTLINE_STYLES for the border-anchor rationale.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#warning-border',\n disabled: '#border',\n },\n fill: {\n '': '#surface-2 #warning-accent-surface.0',\n hovered: '#surface-2 #warning-accent-surface.03',\n pressed: '#surface-2 #warning-accent-surface.09',\n selected: '#surface-2 #warning-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-2 #warning-accent-surface.12',\n 'selected & pressed': '#surface-2 #warning-accent-surface.18',\n disabled: '#surface-2 #disabled-surface',\n 'selected & disabled': '#surface-2 #warning-accent-disabled-surface',\n },\n color: {\n '': '#warning-accent-text-soft',\n selected: '#warning-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#warning-accent-disabled-surface-text',\n },\n} as const;\n\nexport const WARNING_OUTLINE_2_STYLES: Styles = {\n ...WARNING_OUTLINE_STYLES,\n fill: {\n '': '#surface-3 #warning-accent-surface.0',\n hovered: '#surface-3 #warning-accent-surface.03',\n pressed: '#surface-3 #warning-accent-surface.09',\n selected: '#surface-3 #warning-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-3 #warning-accent-surface.12',\n 'selected & pressed': '#surface-3 #warning-accent-surface.18',\n disabled: '#surface-3 #disabled-surface',\n 'selected & disabled': '#surface-3 #warning-accent-disabled-surface',\n },\n} as const;\n\nexport const WARNING_CLEAR_STYLES: Styles = {\n // Non-selected = old WARNING NEUTRAL; selected = old WARNING CLEAR.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': 'transparent',\n },\n fill: {\n '': '#surface-text.0',\n 'hovered | focused': '#surface-text.04',\n pressed: '#surface-text.06',\n selected: '#warning-accent-text.09',\n 'selected & (hovered | focused)': '#warning-accent-text.12',\n 'selected & pressed': '#warning-accent-text.18',\n disabled: 'transparent',\n 'selected & disabled': '#warning-accent-disabled-surface',\n },\n color: {\n '': '#warning-accent-text-soft',\n selected: '#warning-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#warning-accent-disabled-surface-text',\n },\n} as const;\n\nexport const WARNING_LINK_STYLES: Styles = {\n // See DEFAULT_LINK_STYLES for the soft→strong rationale.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: 0,\n fill: {\n '': 'transparent',\n },\n color: {\n '': '#warning-accent-text-soft',\n 'hovered & !pressed': '#warning-accent-text',\n disabled: '#disabled-surface-text',\n },\n} as const;\n\nexport const WARNING_ITEM_STYLES: Styles = {\n border: 'transparent',\n fill: {\n '': '#warning-accent-text.0',\n 'hovered | focused': '#warning-accent-text.03',\n selected: '#warning-accent-text.09',\n 'selected & (hovered | focused)': '#warning-accent-text.12',\n pressed: '#warning-accent-text.09',\n disabled: 'transparent',\n },\n color: {\n '': '#warning-accent-text',\n hovered: '#warning-accent-text',\n pressed: '#warning-accent-text',\n disabled: '#warning-accent-text.4',\n },\n} as const;\n\n// ---------- NOTE THEME ----------\nexport const NOTE_PRIMARY_STYLES: Styles = {\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#white.2',\n pressed: '#note-accent-text',\n disabled: 'transparent',\n },\n // See `DEFAULT_PRIMARY_STYLES.fill` for the layer-shape + ramp rationale.\n fill: {\n '': '#surface #note-accent-surface',\n hovered: '#surface #note-accent-surface-2',\n pressed: '#surface #note-accent-surface-3',\n disabled: '#surface #note-accent-disabled-surface',\n },\n color: {\n '': '#white',\n disabled: '#note-accent-disabled-surface-text',\n },\n} as const;\n\nexport const NOTE_OUTLINE_STYLES: Styles = {\n // Non-selected = old NOTE OUTLINE; selected = old NOTE SECONDARY.\n // See DANGER_OUTLINE_STYLES for the border-anchor rationale.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#note-border',\n disabled: '#border',\n },\n fill: {\n '': '#surface-2 #note-accent-surface.0',\n hovered: '#surface-2 #note-accent-surface.03',\n pressed: '#surface-2 #note-accent-surface.09',\n selected: '#surface-2 #note-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-2 #note-accent-surface.12',\n 'selected & pressed': '#surface-2 #note-accent-surface.18',\n disabled: '#surface-2 #disabled-surface',\n 'selected & disabled': '#surface-2 #note-accent-disabled-surface',\n },\n color: {\n '': '#note-accent-text-soft',\n selected: '#note-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#note-accent-disabled-surface-text',\n },\n} as const;\n\nexport const NOTE_OUTLINE_2_STYLES: Styles = {\n ...NOTE_OUTLINE_STYLES,\n fill: {\n '': '#surface-3 #note-accent-surface.0',\n hovered: '#surface-3 #note-accent-surface.03',\n pressed: '#surface-3 #note-accent-surface.09',\n selected: '#surface-3 #note-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-3 #note-accent-surface.12',\n 'selected & pressed': '#surface-3 #note-accent-surface.18',\n disabled: '#surface-3 #disabled-surface',\n 'selected & disabled': '#surface-3 #note-accent-disabled-surface',\n },\n} as const;\n\nexport const NOTE_CLEAR_STYLES: Styles = {\n // Non-selected = old NOTE NEUTRAL; selected = old NOTE CLEAR.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': 'transparent',\n },\n fill: {\n '': '#surface-text.0',\n 'hovered | focused': '#surface-text.04',\n pressed: '#surface-text.06',\n selected: '#note-accent-text.09',\n 'selected & (hovered | focused)': '#note-accent-text.12',\n 'selected & pressed': '#note-accent-text.18',\n disabled: 'transparent',\n 'selected & disabled': '#note-accent-disabled-surface',\n },\n color: {\n '': '#note-accent-text-soft',\n selected: '#note-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#note-accent-disabled-surface-text',\n },\n} as const;\n\nexport const NOTE_LINK_STYLES: Styles = {\n // See DEFAULT_LINK_STYLES for the soft→strong rationale.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: 0,\n fill: {\n '': 'transparent',\n },\n color: {\n '': '#note-accent-text-soft',\n 'hovered & !pressed': '#note-accent-text',\n disabled: '#disabled-surface-text',\n },\n} as const;\n\nexport const NOTE_ITEM_STYLES: Styles = {\n border: 'transparent',\n fill: {\n '': '#note-accent-text.0',\n 'hovered | focused': '#note-accent-text.03',\n selected: '#note-accent-text.09',\n 'selected & (hovered | focused)': '#note-accent-text.12',\n pressed: '#note-accent-text.09',\n disabled: 'transparent',\n },\n color: {\n '': '#note-accent-text',\n hovered: '#note-accent-text',\n pressed: '#note-accent-text',\n disabled: '#note-accent-text.4',\n },\n} as const;\n\n// ---------- SPECIAL THEME ----------\n// Every color here resolves to a fixed-mode value (built-in `#white`, the\n// standalone `#special-*` theme in `src/tokens/palette.ts`, or `transparent`).\n// `mode: 'fixed'` makes the resolved OKHSL identical in light, dark, and\n// high-contrast, so the special theme renders the same regardless of scheme.\n// The only intentionally adaptive colors are `VALIDATION_STYLES.border`\n// (`#danger-accent-text` / `#success-accent-text`) — validation state is allowed to follow\n// the active scheme.\nexport const SPECIAL_PRIMARY_STYLES: Styles = {\n // Focus ring uses `#special-accent-text` — a fixed-mode dark-purple that\n // stays identical across light/dark/HC, matching the special theme's\n // \"intentionally non-inverting\" identity. Picked over `#primary-accent-text`\n // (the cross-theme default) which is `mode: 'auto'` and would shift in dark.\n outline: {\n '': '0 #special-accent-text.0',\n focused: '1bw #special-accent-text',\n },\n border: {\n '': '#special-accent-surface-border',\n pressed: '#special-accent-surface-border',\n disabled: 'transparent',\n },\n // See `DEFAULT_PRIMARY_STYLES.fill` for the layer-shape + ramp rationale.\n // The base layer is `#white` (matching the rest of the special theme's\n // anchor) instead of `#surface`, but the same monotonic `-1`/`-2`/`-3`\n // ramp gives the brand fill a visibly darker hover and pressed state.\n fill: {\n '': '#white #special-accent-surface',\n hovered: '#white #special-accent-surface-2',\n pressed: '#white #special-accent-surface-3',\n disabled: '#white #special-accent-disabled-surface',\n },\n color: {\n '': '#white',\n disabled: '#special-accent-disabled-surface-text',\n },\n} as const;\n\nexport const SPECIAL_OUTLINE_STYLES: Styles = {\n // Non-selected = old SPECIAL OUTLINE; selected = old SPECIAL SECONDARY.\n // Special is anchored on `#special-surface` (a fixed dark-purple base), so\n // contrast is added by *whitening* the overlay rather than darkening it.\n // The same default → hover → pressed monotonic-contrast pattern as the\n // light themes is preserved, just with white-alpha steps that are tuned\n // to read against the dark base.\n //\n // IMPORTANT: every alpha step within a single state-map must be a unique\n // value string. Tasty's `mergeEntriesByValue` pass coalesces entries that\n // share a serialized value into a single OR-condition entry whose priority\n // is the *max* of the merged group. If `hovered` and `disabled` were both\n // `#white.12`, the merged entry would sit at the higher priority and\n // negate against the `selected & (hovered | focused)` rule below, making\n // the latter resolve to FALSE for `selected & hovered`. Keeping every\n // alpha distinct sidesteps the collision.\n //\n // Focus ring uses the fixed-mode `#special-accent-text` so the indicator\n // stays scheme-invariant alongside the rest of the special theme — see\n // `SPECIAL_PRIMARY_STYLES.outline` for the full rationale.\n outline: {\n '': '0 #special-accent-text.0',\n focused: '1bw #special-accent-text',\n },\n border: {\n '': '#white.15',\n selected: '#white.2',\n ...(VALIDATION_STYLES.border as Record<string, string>),\n },\n fill: {\n '': '#special-surface #white.0',\n hovered: '#special-surface #white.06',\n pressed: '#special-surface #white.12',\n selected: '#special-surface #white.18',\n 'selected & (hovered | focused)': '#special-surface #white.24',\n 'selected & pressed': '#special-surface #white.3',\n disabled: '#special-surface #white.04',\n // Stays in the white-alpha register: the base here is a fixed dark tone.\n 'selected & disabled': '#special-surface #white.09',\n },\n // Mirrors the colored-theme soft→opaque pattern (`*-accent-text-soft` →\n // `*-accent-text`) using white-alpha steps: default is slightly muted so\n // that selected reads as the more prominent state.\n color: {\n '': '#white.8',\n selected: '#white',\n disabled: '#white.4',\n 'selected & disabled': '#white.55',\n },\n} as const;\n\nexport const SPECIAL_CLEAR_STYLES: Styles = {\n // Non-selected = old SPECIAL NEUTRAL: transparent / white-tinted overlay\n // on the dark base.\n // Selected INVERTS the surface — the fill flips to a solid white pill with\n // dark accent-text on top. To express \"increasing contrast on press\" in\n // this inverted layout we go the *other* direction: pure white at rest →\n // slightly tinted on hover → more tinted on press, i.e. progressively\n // letting the dark base bleed through. This keeps the monotonic-contrast\n // pattern semantically (hover < pressed) while preserving the inversion.\n //\n // IMPORTANT: every alpha step within a single state-map must be a unique\n // value string. Tasty's `mergeEntriesByValue` pass coalesces entries that\n // share a serialized value into a single OR-condition entry whose priority\n // is the *max* of the merged group, which then negates against lower-\n // priority rules. If `'hovered | focused'` and `'selected & disabled'`\n // both used `#white.12`, the merged entry would sit at priority 7 and\n // negate against `'selected & (hovered | focused)'` (priority 4), making\n // it resolve to FALSE for `selected & hovered` — which is exactly the\n // \"selected-hover stays dark\" bug. `'selected & disabled'` therefore uses\n // a slightly different alpha (.16) that's visually similar but a distinct\n // value string. The default `''` and `disabled` may share `#white.0`\n // because Tasty keeps the TRUE/default entry separate from non-defaults\n // during merging.\n //\n // Focus ring uses the fixed-mode `#special-accent-text` so the indicator\n // stays scheme-invariant alongside the rest of the special theme — see\n // `SPECIAL_PRIMARY_STYLES.outline` for the full rationale.\n outline: {\n '': '0 #special-accent-text.0',\n focused: '1bw #special-accent-text',\n },\n border: {\n '': 'transparent',\n ...(VALIDATION_STYLES.border as Record<string, string>),\n },\n fill: {\n '': '#white.0',\n 'hovered | focused': '#white.12',\n pressed: '#white.18',\n selected: '#white',\n 'selected & (hovered | focused)': '#white.94',\n 'selected & pressed': '#white.88',\n disabled: '#white.0',\n 'selected & disabled': '#white.16',\n },\n // Non-selected mirrors the colored-theme soft→opaque pattern with\n // white-alpha steps. Selected keeps its inverted look — dark accent-text\n // on a white pill — so the soft/opaque transition only applies to the\n // non-selected variant.\n color: {\n '': '#white.8',\n selected: '#special-accent-text',\n disabled: '#white.4',\n },\n} as const;\n\nexport const SPECIAL_LINK_STYLES: Styles = {\n // See `SPECIAL_PRIMARY_STYLES.outline` for why we use the fixed-mode\n // `#special-accent-text` here instead of the cross-theme `#primary-accent-text`.\n outline: {\n '': '0 #special-accent-text.0',\n focused: '1bw #special-accent-text',\n },\n border: '0',\n fill: {\n '': 'transparent',\n },\n color: {\n '': '#white',\n 'hovered & !pressed': '#white.9',\n disabled: '#white.4',\n },\n} as const;\n\nexport const SPECIAL_ITEM_STYLES: Styles = {\n border: 'transparent',\n fill: {\n '': '#white.0',\n hovered: '#white.12',\n 'pressed | (selected & !hovered)': '#white.18',\n },\n color: {\n '': '#white',\n disabled: '#white.4',\n },\n} as const;\n\n// ---------- CURRENT TYPE ----------\n// Every color is derived from the *inherited* text color (`#current` →\n// `currentcolor`), so the element adopts whatever color its context paints\n// with: a colored Alert, a dark banner, an image overlay, a chart tooltip. That\n// makes the type theme-agnostic — a single style object registered under\n// `default.current`, with the host component forcing the theme to `default`.\n//\n// `color: '#current'` compiles to `color: currentcolor`, which CSS resolves as\n// `color: inherit` — so the label stays fully opaque and, crucially, the\n// element's own `currentcolor` (used by `fill`/`border` below) is the INHERITED\n// color rather than a faded one. The alpha steps are then mixed off that same\n// color, which is why the whole ramp tracks the context automatically.\n//\n// There are two flavours, mirroring the two shapes the neutral types take:\n// `CURRENT_ITEM_STYLES` follows `*_ITEM_STYLES` (borderless, invisible at rest,\n// for list rows) and `CURRENT_BUTTON_STYLES` follows the standalone button types\n// (a resting chip with a border). Both keep the monotonic-contrast pattern of\n// their neutral counterparts: default < hover < pressed, and the same again one\n// level up when selected.\n//\n// IMPORTANT: every alpha step within one state-map must be a unique value\n// string — Tasty's `mergeEntriesByValue` pass coalesces equal values into one\n// OR-entry at the group's max priority, which then negates against\n// lower-priority rules. So no two steps in one map may share an alpha. See\n// `SPECIAL_OUTLINE_STYLES` for the full explanation.\n//\n// A note on `disabled`: fading the label also fades the element's own\n// `currentcolor`, so every other alpha is multiplied by .4 on that state.\n// Disabled `fill`/`border` are therefore written PRE-MULTIPLIED where they need\n// to stay visible.\n\n// The alpha ramp for the item flavour, held in custom properties rather than\n// written inline in `fill`. Two reasons:\n//\n// 1. Unlike the brand tokens, `#current` alphas do NOT adapt to the color\n// scheme: a 4% tint of a dark label on a light surface reads far stronger\n// than a 4% tint of a light label on a dark one, so one ramp cannot serve\n// both. Each step therefore carries a per-surface value — the base entry for\n// the light scheme, `@dark` for the dark scheme, and `theme=special` for the\n// special theme's dark-purple surface. Special is *static* (identical in\n// light, dark and HC by design — see the SPECIAL section above), so it needs\n// a single ramp rather than a light/dark pair. `theme=special` resolves\n// against the element's own `data-theme`, which `ItemAction` sets from the\n// surrounding `ItemActionProvider`.\n// 2. Writing three ramps straight into one `fill` map would put ~18 alpha\n// values in a single state-map, and Tasty's `mergeEntriesByValue` pass\n// coalesces any two equal value strings into one OR-entry at the group's max\n// priority, which then negates against lower-priority rules. Giving each\n// step its own 3-entry map keeps every value string unique by construction —\n// the constraint that `SPECIAL_OUTLINE_STYLES` documents the hard way.\n//\n// The special steps run higher than the light ones because they resolve against\n// a `#white.8` label: an authored `.15` nets roughly the `.12` that\n// `SPECIAL_CLEAR_STYLES` uses on the same base.\nconst CURRENT_ITEM_RAMP: Styles = {\n '$current-hover': {\n '': '#current.04',\n '@dark': '#current.07',\n 'theme=special': '#current.15',\n },\n '$current-press': {\n '': '#current.06',\n '@dark': '#current.1',\n 'theme=special': '#current.22',\n },\n '$current-selected': {\n '': '#current.09',\n '@dark': '#current.14',\n 'theme=special': '#current.28',\n },\n '$current-selected-hover': {\n '': '#current.12',\n '@dark': '#current.18',\n 'theme=special': '#current.34',\n },\n '$current-selected-press': {\n '': '#current.15',\n '@dark': '#current.22',\n 'theme=special': '#current.4',\n },\n} as const;\n\n// Item flavour — the `current` counterpart of `*_ITEM_STYLES`: no border,\n// nothing painted at rest, the fill appearing only on interaction. Used for\n// list rows (`Item`, `ItemButton`) and, as the default type, the actions inside\n// them — where a resting chip on every row would read as noise. Like the other\n// `*_ITEM_STYLES` it leaves the focus ring to the base styles (the collection\n// that owns the row indicates focus), and only steps the fill. `ItemAction`\n// adds a ring of its own on top, since a focusable action is not a list row.\nexport const CURRENT_ITEM_STYLES: Styles = {\n ...CURRENT_ITEM_RAMP,\n border: 'transparent',\n fill: {\n '': '#current.0',\n 'hovered | focused': 'var(--current-hover)',\n pressed: 'var(--current-press)',\n selected: 'var(--current-selected)',\n 'selected & (hovered | focused)': 'var(--current-selected-hover)',\n 'selected & pressed': 'var(--current-selected-press)',\n disabled: 'transparent',\n },\n color: {\n '': '#current',\n disabled: '#current.4',\n },\n} as const;\n\n// Button flavour — a standalone control, so it carries its own weight: a\n// resting `#current.03` chip inside a `#current.08` border. `.03` is enough to\n// separate the button from a flat background without reading as a filled\n// surface, while leaving room for four distinguishable steps above it.\n// Disabled `fill`/`border` are pre-multiplied (`.06`/`.12` → an effective\n// `.024`/`.048`) so the chip stays a muted version of itself instead of\n// vanishing.\nexport const CURRENT_BUTTON_STYLES: Styles = {\n // The focus ring is the one color NOT taken from `#current`: every type in\n // this file uses `#primary-accent-text` (the special theme swapping in its\n // fixed-mode counterpart), so the focus indicator stays the same wherever it\n // appears.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#current.08',\n 'hovered | focused': '#current.15',\n pressed: '#current.25',\n selected: '#current.3',\n 'selected & pressed': '#current.4',\n disabled: '#current.12',\n 'selected & disabled': '#current.35',\n },\n fill: {\n '': '#current.03',\n 'hovered | focused': '#current.07',\n pressed: '#current.1',\n selected: '#current.12',\n 'selected & (hovered | focused)': '#current.16',\n 'selected & pressed': '#current.2',\n disabled: '#current.06',\n // Alpha step rather than a brand token — `current` inherits `currentcolor`.\n // Authored high because the disabled label already dims `currentcolor` to\n // `.4`, and these alphas resolve against it: `.18` renders as ~.07.\n 'selected & disabled': '#current.18',\n },\n color: {\n '': '#current',\n disabled: '#current.4',\n },\n} as const;\n\n// ---------- CARD TYPE STYLES ----------\n// Card type only supports: default, success, danger, note themes\n\nexport const DEFAULT_CARD_STYLES: Styles = {\n border: '#surface-text.20',\n fill: '#surface-3',\n color: '#surface-text-soft',\n} as const;\n\nexport const SUCCESS_CARD_STYLES: Styles = {\n border: '#success-accent-surface.20',\n fill: '#success-surface',\n color: '#success-accent-text',\n} as const;\n\nexport const DANGER_CARD_STYLES: Styles = {\n border: '#danger-accent-surface.20',\n fill: '#danger-surface',\n color: '#danger-accent-text',\n} as const;\n\nexport const WARNING_CARD_STYLES: Styles = {\n border: '#warning-accent-surface.20',\n fill: '#warning-surface',\n color: '#warning-accent-text',\n} as const;\n\nexport const NOTE_CARD_STYLES: Styles = {\n border: '#note-accent-surface.20',\n fill: '#note-surface',\n color: '#note-accent-text',\n} as const;\n\nexport type ItemVariant =\n // The `current` type derives every color from the inherited `currentcolor`,\n // so it has no per-theme flavours — see `CURRENT_ITEM_STYLES`.\n | 'default.current'\n | 'default.primary'\n | 'default.outline'\n | 'default.outline-2'\n | 'default.clear'\n | 'default.link'\n | 'default.item'\n | 'default.card'\n | 'danger.primary'\n | 'danger.outline'\n | 'danger.outline-2'\n | 'danger.clear'\n | 'danger.link'\n | 'danger.item'\n | 'danger.card'\n | 'success.primary'\n | 'success.outline'\n | 'success.outline-2'\n | 'success.clear'\n | 'success.link'\n | 'success.item'\n | 'success.card'\n | 'warning.primary'\n | 'warning.outline'\n | 'warning.outline-2'\n | 'warning.clear'\n | 'warning.link'\n | 'warning.item'\n | 'warning.card'\n | 'note.primary'\n | 'note.outline'\n | 'note.outline-2'\n | 'note.clear'\n | 'note.link'\n | 'note.item'\n | 'note.card'\n | 'special.primary'\n | 'special.outline'\n | 'special.clear'\n | 'special.link'\n | 'special.item';\n\n// The single `theme.type` → styles map. Exported so `Item` and the projections\n// below cannot drift apart: `ITEM_RESTING_COLOR_VARIANTS` is derived from this\n// object rather than restating the palette.\nexport const ITEM_VARIANTS: Record<ItemVariant, Styles> = {\n // Inherited-color type — theme-agnostic, see `CURRENT_ITEM_STYLES`\n 'default.current': CURRENT_ITEM_STYLES,\n // Default theme\n 'default.primary': DEFAULT_PRIMARY_STYLES,\n 'default.outline': DEFAULT_OUTLINE_STYLES,\n 'default.outline-2': DEFAULT_OUTLINE_2_STYLES,\n 'default.clear': DEFAULT_CLEAR_STYLES,\n 'default.link': DEFAULT_LINK_STYLES,\n 'default.item': DEFAULT_ITEM_STYLES,\n 'default.card': DEFAULT_CARD_STYLES,\n // Danger theme\n 'danger.primary': DANGER_PRIMARY_STYLES,\n 'danger.outline': DANGER_OUTLINE_STYLES,\n 'danger.outline-2': DANGER_OUTLINE_2_STYLES,\n 'danger.clear': DANGER_CLEAR_STYLES,\n 'danger.link': DANGER_LINK_STYLES,\n 'danger.item': DANGER_ITEM_STYLES,\n 'danger.card': DANGER_CARD_STYLES,\n // Success theme\n 'success.primary': SUCCESS_PRIMARY_STYLES,\n 'success.outline': SUCCESS_OUTLINE_STYLES,\n 'success.outline-2': SUCCESS_OUTLINE_2_STYLES,\n 'success.clear': SUCCESS_CLEAR_STYLES,\n 'success.link': SUCCESS_LINK_STYLES,\n 'success.item': SUCCESS_ITEM_STYLES,\n 'success.card': SUCCESS_CARD_STYLES,\n // Warning theme\n 'warning.primary': WARNING_PRIMARY_STYLES,\n 'warning.outline': WARNING_OUTLINE_STYLES,\n 'warning.outline-2': WARNING_OUTLINE_2_STYLES,\n 'warning.clear': WARNING_CLEAR_STYLES,\n 'warning.link': WARNING_LINK_STYLES,\n 'warning.item': WARNING_ITEM_STYLES,\n 'warning.card': WARNING_CARD_STYLES,\n // Note theme\n 'note.primary': NOTE_PRIMARY_STYLES,\n 'note.outline': NOTE_OUTLINE_STYLES,\n 'note.outline-2': NOTE_OUTLINE_2_STYLES,\n 'note.clear': NOTE_CLEAR_STYLES,\n 'note.link': NOTE_LINK_STYLES,\n 'note.item': NOTE_ITEM_STYLES,\n 'note.card': NOTE_CARD_STYLES,\n // Special theme\n 'special.primary': SPECIAL_PRIMARY_STYLES,\n 'special.outline': SPECIAL_OUTLINE_STYLES,\n 'special.clear': SPECIAL_CLEAR_STYLES,\n 'special.link': SPECIAL_LINK_STYLES,\n 'special.item': SPECIAL_ITEM_STYLES,\n};\n\n// Resolve a `theme` + `type` pair to the variant key that actually exists in\n// `ITEM_VARIANTS`. Three of the combinations users can write have no entry of\n// their own and are folded onto one that does.\n//\n// Shared rather than inlined because more than one component has to arrive at\n// the same answer: `Item` renders the row, and `ItemButton` repeats the lookup on\n// the wrapper that carries the row color to actions rendered outside it. Those\n// two drifted the moment they were written separately — the `special` fallback\n// below was missed, which silently resolved to a nonexistent\n// `special.outline-2`, left the wrapper with no color, and handed sibling actions\n// the page's `currentcolor` on a dark surface.\nexport function resolveItemVariant(\n theme: string | undefined,\n type: string | undefined,\n): ItemVariant {\n // The `special` theme has no `outline-2` variant (it paints over\n // `#special-surface`, not `#surface-2`/`#surface-3`); fall back to `outline`\n // so the item still renders.\n const effectiveType =\n theme === 'special' && type === 'outline-2' ? 'outline' : type;\n\n // `header` reuses the `item` visuals, and both `header` and `current` are\n // theme-agnostic — `current` paints from the inherited `currentcolor`.\n const variantType = effectiveType === 'header' ? 'item' : effectiveType;\n const variantTheme =\n effectiveType === 'header' || effectiveType === 'current'\n ? 'default'\n : theme;\n\n return `${variantTheme}.${variantType}` as ItemVariant;\n}\n\n// Each variant reduced to just its resting label color.\n//\n// The `current` type paints from `currentcolor`, which only reaches an action\n// that is a DOM *descendant* of the row. `Item` renders its actions inside the\n// row element, so they inherit the row color for free — but `ItemButton` renders\n// them as a sibling of the button (deliberately, so the actions stay reachable\n// and are not nested inside a `<button>`), where `currentcolor` would inherit\n// from the page instead. Painting this color on that wrapper restores the link.\n//\n// Resting only: the wrapper is not the interactive element, so it never carries\n// the row's `hovered` / `selected` / `disabled` mods and the other entries in a\n// variant's `color` map could never match there anyway.\nexport const ITEM_RESTING_COLOR_VARIANTS: Record<ItemVariant, Styles> =\n Object.fromEntries(\n Object.entries(ITEM_VARIANTS).map(([variant, styles]) => {\n const color = styles.color;\n\n return [\n variant,\n {\n color:\n color && typeof color === 'object'\n ? (color as Record<string, string>)['']\n : color,\n },\n ];\n }),\n ) as Record<ItemVariant, Styles>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"item-themes.js","names":[],"sources":["../../src/data/item-themes.ts"],"sourcesContent":["import type { Styles } from '@tenphi/tasty';\n\nexport const VALIDATION_STYLES: Styles = {\n border: {\n invalid: '#danger-accent-text',\n valid: '#success-accent-text',\n } as Record<string, string>,\n} as const;\n\n// Base styles shared between ItemAction and ItemBadge\nexport const ITEM_ACTION_BASE_STYLES: Styles = {\n display: 'inline-grid',\n flow: 'column',\n placeItems: 'center',\n placeContent: 'center',\n gap: 0,\n position: 'relative',\n margin: {\n '': '0 1bw 0 1bw',\n ':last-child & !:first-child': '0 $side-padding 0 0',\n '!:last-child & :first-child': '0 0 0 $side-padding',\n ':last-child & :first-child': '0 $side-padding',\n context: '0',\n },\n padding: 0,\n radius: '(1r - 1bw)',\n transition: 'theme',\n flexShrink: 0,\n textDecoration: 'none',\n boxSizing: 'border-box',\n whiteSpace: 'nowrap',\n border: 0,\n height: '$action-size',\n width: {\n '': '$action-size',\n 'has-label': 'auto',\n },\n placeSelf: 'center',\n\n // Side padding for the action buttons\n '$side-padding': '(($size - $action-size - 2bw) / 2)',\n // Size using custom property\n '$action-size':\n 'min(max((2x + 2bw), (($size, $size-md) - 1x - 2bw)), (3x - 2bw))',\n\n // Icon styles\n Icon: {\n $: '>',\n display: 'grid',\n placeItems: 'center',\n height: '($action-size - 2bw) ($action-size - 2bw)',\n width: '($action-size - 2bw) ($action-size - 2bw)',\n opacity: {\n '': 1,\n 'checkmark & selected': 1,\n 'checkmark & !selected': 0,\n 'checkmark & !selected & hovered': 0.4,\n },\n },\n} as const;\n\n// ---------- DEFAULT THEME ----------\nexport const DEFAULT_PRIMARY_STYLES: Styles = {\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#primary-accent-surface-border',\n pressed: '#primary-accent-surface-border',\n disabled: 'transparent',\n },\n // All states share the same `#surface` base layer (opaque). Only the\n // *overlay* varies between brand color, hover shade, and disabled chip.\n // Keeping the layer shape identical (always two layers, same base, same\n // gradient overlay slot) lets `background-color`, `background-image` and\n // `--tasty-second-fill-color` all interpolate smoothly during the CSS\n // transition — without it, the gradient overlay would snap on/off and the\n // bg-color would briefly show through (the \"surface flash\" on form submit).\n //\n // The brand ramp `accent-surface` → `-2` → `-3` gives a monotonically\n // increasing contrast against `#surface` (cr ≈ 4.5 → 4.8 → 5.2 in light,\n // similar in dark), so hover and pressed read visibly *darker* than the\n // default state in both schemes. Disabled uses the brand-tinted,\n // scheme-symmetric chip (`accent-disabled-surface` cr ≈ 1.4 vs surface)\n // so the muted state stays identifiable as a brand color.\n fill: {\n '': '#surface #primary-accent-surface',\n hovered: '#surface #primary-accent-surface-2',\n pressed: '#surface #primary-accent-surface-3',\n disabled: '#surface #primary-accent-disabled-surface',\n },\n color: {\n '': '#white',\n disabled: '#primary-accent-disabled-surface-text',\n },\n} as const;\n\nexport const DEFAULT_OUTLINE_STYLES: Styles = {\n // Non-selected = old OUTLINE: neutral border + surface fill.\n // Selected (= old SECONDARY): brand-tinted fill + brand border.\n // Selected BORDER uses the OPAQUE `#primary-border` token (the neutral\n // `border` ramp re-resolved at `saturation: 0.5` per primary-theme — see\n // `TINTED_SURFACE_OVERRIDE` in `palette.ts`). It replaces an alpha-blended\n // brand-text border so adjacent borders in grouped layouts (e.g.\n // `RadioGroup type=\"button\"`) don't double up at their overlap into a\n // darker stripe. Selected FILL anchors to the *fixed* `#primary-accent-surface`\n // brand: anchoring to the adaptive `#primary-accent-text` would drift the\n // bg toward the text lightness in dark mode and collapse label↔bg contrast\n // below AA. Selected label mirrors LINK: soft `#primary-accent-text-soft` at\n // rest, intensifying to `#primary-accent-text` on hover. Both are solved in\n // `palette.ts` for AA against the BASE selected fill (`accent-selected-fill`).\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': true,\n selected: '#primary-border',\n disabled: '#border',\n ...(VALIDATION_STYLES.border as Record<string, string>),\n },\n // Every state uses a two-layer fill: `#surface-2` (opaque base) + a tint\n // overlay. Keeping the layer shape identical across non-selected, selected\n // and disabled states lets the tint, base color, and gradient slot all\n // interpolate smoothly during the CSS transition. Selected states paint the\n // brand tint on top of `#surface-2` (slightly darker base than a\n // body-composited single-layer `#primary-accent-surface.X` would be, but\n // visually almost identical and free of the overlay-snap flash on click).\n // Disabled paints the neutral `#disabled-surface` chip on top of the same\n // base — or, when selected, the brand-tinted `accent-disabled-surface` one, so\n // a disabled segmented control still shows which option is active (CUB-3912).\n // Every `selected & disabled` entry in this file exists for that reason.\n fill: {\n '': '#surface-2 #surface-text.0',\n hovered: '#surface-2 #surface-text.03',\n pressed: '#surface-2 #surface-text.09',\n selected: '#surface-2 #primary-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-2 #primary-accent-surface.12',\n 'selected & pressed': '#surface-2 #primary-accent-surface.18',\n disabled: '#surface-2 #disabled-surface',\n 'selected & disabled': '#surface-2 #primary-accent-disabled-surface',\n },\n color: {\n '': '#surface-text-soft',\n hovered: '#surface-text-soft',\n pressed: '#surface-text',\n selected: '#primary-accent-text-soft',\n 'selected & hovered': '#primary-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#primary-accent-disabled-surface-text',\n },\n} as const;\n\n// Identical to DEFAULT_OUTLINE_STYLES but uses `#surface-3` as the fill base,\n// designed to sit on `#surface-2` containers without blending in.\nexport const DEFAULT_OUTLINE_2_STYLES: Styles = {\n ...DEFAULT_OUTLINE_STYLES,\n fill: {\n '': '#surface-3 #surface-text.0',\n hovered: '#surface-3 #surface-text.03',\n pressed: '#surface-3 #surface-text.09',\n selected: '#surface-3 #primary-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-3 #primary-accent-surface.12',\n 'selected & pressed': '#surface-3 #primary-accent-surface.15',\n disabled: '#surface-3 #disabled-surface',\n 'selected & disabled': '#surface-3 #primary-accent-disabled-surface',\n },\n} as const;\n\nexport const DEFAULT_CLEAR_STYLES: Styles = {\n // Non-selected = old NEUTRAL: transparent / dark-tinted neutral look.\n // Selected = old CLEAR: brand-tinted overlay over the surface.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': 'transparent',\n ...(VALIDATION_STYLES.border as Record<string, string>),\n },\n fill: {\n '': '#surface-text.0',\n 'hovered | focused': '#surface-text.04',\n pressed: '#surface-text.06',\n selected: '#primary-accent-surface.09',\n 'selected & (hovered | focused)': '#primary-accent-surface.12',\n 'selected & pressed': '#primary-accent-surface.18',\n disabled: 'transparent',\n 'selected & disabled': '#primary-accent-disabled-surface',\n },\n // Selected label mirrors LINK: soft at rest, `#primary-accent-text` on\n // hover. See DEFAULT_OUTLINE_STYLES.\n color: {\n '': '#surface-text-soft',\n hovered: '#surface-text-soft',\n 'pressed & !selected': '#surface-text',\n selected: '#primary-accent-text-soft',\n 'selected & hovered': '#primary-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#primary-accent-disabled-surface-text',\n },\n} as const;\n\nexport const DEFAULT_ITEM_STYLES: Styles = {\n border: 'transparent',\n fill: {\n '': '#surface-text.0',\n 'hovered | focused': '#surface-text.04',\n pressed: '#surface-text.06',\n selected: '#surface-text.09',\n 'selected & (hovered | focused)': '#surface-text.12',\n 'selected & pressed': '#surface-text.15',\n disabled: 'transparent',\n },\n color: {\n '': '#surface-text-soft',\n hovered: '#surface-text-soft',\n selected: '#surface-text',\n disabled: '#disabled-surface-text',\n },\n} as const;\n\nexport const DEFAULT_LINK_STYLES: Styles = {\n // Default sits at `#primary-accent-text-soft` and intensifies on hover to the\n // stronger `#primary-accent-text`. Both are solved in `palette.ts` for AA\n // against `accent-selected-fill` (the BASE selected Item fill), so they also\n // clear AA on plain surfaces; both are adaptive across light/dark/HC.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: '0',\n fill: {\n '': 'transparent',\n },\n color: {\n '': '#primary-accent-text-soft',\n 'hovered & !pressed': '#primary-accent-text',\n disabled: '#disabled-surface-text',\n },\n} as const;\n\n// ---------- DANGER THEME ----------\nexport const DANGER_PRIMARY_STYLES: Styles = {\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#white.2',\n pressed: '#danger-accent-text',\n disabled: 'transparent',\n },\n // See `DEFAULT_PRIMARY_STYLES.fill` for the layer-shape + ramp rationale.\n fill: {\n '': '#surface #danger-accent-surface',\n hovered: '#surface #danger-accent-surface-2',\n pressed: '#surface #danger-accent-surface-3',\n disabled: '#surface #danger-accent-disabled-surface',\n },\n color: {\n '': '#white',\n disabled: '#danger-accent-disabled-surface-text',\n },\n} as const;\n\nexport const DANGER_OUTLINE_STYLES: Styles = {\n // Non-selected = old DANGER OUTLINE; selected = old DANGER SECONDARY.\n // Border uses the OPAQUE `#danger-border` token (the neutral `border` ramp\n // re-resolved at `saturation: 0.5` per danger-theme — see\n // `TINTED_SURFACE_OVERRIDE` in `palette.ts`). It replaces an alpha-blended\n // brand-text border so adjacent borders in grouped layouts don't double up\n // at their overlap into a darker stripe.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#danger-border',\n disabled: '#border',\n },\n fill: {\n '': '#surface-2 #danger-accent-surface.0',\n hovered: '#surface-2 #danger-accent-surface.03',\n pressed: '#surface-2 #danger-accent-surface.09',\n selected: '#surface-2 #danger-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-2 #danger-accent-surface.12',\n 'selected & pressed': '#surface-2 #danger-accent-surface.18',\n disabled: '#surface-2 #disabled-surface',\n 'selected & disabled': '#surface-2 #danger-accent-disabled-surface',\n },\n color: {\n '': '#danger-accent-text-soft',\n selected: '#danger-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#danger-accent-disabled-surface-text',\n },\n} as const;\n\nexport const DANGER_OUTLINE_2_STYLES: Styles = {\n ...DANGER_OUTLINE_STYLES,\n fill: {\n '': '#surface-3 #danger-accent-surface.0',\n hovered: '#surface-3 #danger-accent-surface.03',\n pressed: '#surface-3 #danger-accent-surface.09',\n selected: '#surface-3 #danger-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-3 #danger-accent-surface.12',\n 'selected & pressed': '#surface-3 #danger-accent-surface.18',\n disabled: '#surface-3 #disabled-surface',\n 'selected & disabled': '#surface-3 #danger-accent-disabled-surface',\n },\n} as const;\n\nexport const DANGER_CLEAR_STYLES: Styles = {\n // Non-selected = old DANGER NEUTRAL: dark-tinted overlay; pressed switches\n // text to `#danger-accent-text` (matches old neutral).\n // Selected = old DANGER CLEAR: danger-text-tinted overlay.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': 'transparent',\n },\n fill: {\n '': '#surface-text.0',\n 'hovered | focused': '#surface-text.04',\n pressed: '#surface-text.06',\n selected: '#danger-accent-text.09',\n 'selected & (hovered | focused)': '#danger-accent-text.12',\n 'selected & pressed': '#danger-accent-text.18',\n disabled: 'transparent',\n 'selected & disabled': '#danger-accent-disabled-surface',\n },\n color: {\n '': '#danger-accent-text-soft',\n selected: '#danger-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#danger-accent-disabled-surface-text',\n },\n} as const;\n\nexport const DANGER_LINK_STYLES: Styles = {\n // See DEFAULT_LINK_STYLES for the soft→strong rationale.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: 0,\n fill: {\n '': 'transparent',\n },\n color: {\n '': '#danger-accent-text-soft',\n 'hovered & !pressed': '#danger-accent-text',\n disabled: '#disabled-surface-text',\n },\n} as const;\n\nexport const DANGER_ITEM_STYLES: Styles = {\n border: 'transparent',\n fill: {\n '': '#danger-accent-text.0',\n 'hovered | focused': '#danger-accent-text.03',\n selected: '#danger-accent-text.09',\n 'selected & (hovered | focused)': '#danger-accent-text.12',\n pressed: '#danger-accent-text.09',\n disabled: 'transparent',\n },\n color: {\n '': '#danger-accent-text',\n hovered: '#danger-accent-text',\n pressed: '#danger-accent-text',\n disabled: '#danger-accent-text.4',\n },\n} as const;\n\n// ---------- SUCCESS THEME ----------\nexport const SUCCESS_PRIMARY_STYLES: Styles = {\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#white.2',\n pressed: '#success-accent-text',\n disabled: 'transparent',\n },\n // See `DEFAULT_PRIMARY_STYLES.fill` for the layer-shape + ramp rationale.\n fill: {\n '': '#surface #success-accent-surface',\n hovered: '#surface #success-accent-surface-2',\n pressed: '#surface #success-accent-surface-3',\n disabled: '#surface #success-accent-disabled-surface',\n },\n color: {\n '': '#white',\n disabled: '#success-accent-disabled-surface-text',\n },\n} as const;\n\nexport const SUCCESS_OUTLINE_STYLES: Styles = {\n // Non-selected = old SUCCESS OUTLINE; selected = old SUCCESS SECONDARY.\n // See DANGER_OUTLINE_STYLES for the border-anchor rationale.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#success-border',\n disabled: '#border',\n },\n fill: {\n '': '#surface-2 #success-accent-surface.0',\n hovered: '#surface-2 #success-accent-surface.03',\n pressed: '#surface-2 #success-accent-surface.09',\n selected: '#surface-2 #success-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-2 #success-accent-surface.12',\n 'selected & pressed': '#surface-2 #success-accent-surface.18',\n disabled: '#surface-2 #disabled-surface',\n 'selected & disabled': '#surface-2 #success-accent-disabled-surface',\n },\n color: {\n '': '#success-accent-text-soft',\n selected: '#success-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#success-accent-disabled-surface-text',\n },\n} as const;\n\nexport const SUCCESS_OUTLINE_2_STYLES: Styles = {\n ...SUCCESS_OUTLINE_STYLES,\n fill: {\n '': '#surface-3 #success-accent-surface.0',\n hovered: '#surface-3 #success-accent-surface.03',\n pressed: '#surface-3 #success-accent-surface.09',\n selected: '#surface-3 #success-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-3 #success-accent-surface.12',\n 'selected & pressed': '#surface-3 #success-accent-surface.18',\n disabled: '#surface-3 #disabled-surface',\n 'selected & disabled': '#surface-3 #success-accent-disabled-surface',\n },\n} as const;\n\nexport const SUCCESS_CLEAR_STYLES: Styles = {\n // Non-selected = old SUCCESS NEUTRAL; selected = old SUCCESS CLEAR.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': 'transparent',\n },\n fill: {\n '': '#surface-text.0',\n 'hovered | focused': '#surface-text.04',\n pressed: '#surface-text.06',\n selected: '#success-accent-text.09',\n 'selected & (hovered | focused)': '#success-accent-text.12',\n 'selected & pressed': '#success-accent-text.18',\n disabled: 'transparent',\n 'selected & disabled': '#success-accent-disabled-surface',\n },\n color: {\n '': '#success-accent-text-soft',\n selected: '#success-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#success-accent-disabled-surface-text',\n },\n} as const;\n\nexport const SUCCESS_LINK_STYLES: Styles = {\n // See DEFAULT_LINK_STYLES for the soft→strong rationale.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: 0,\n fill: {\n '': 'transparent',\n },\n color: {\n '': '#success-accent-text-soft',\n 'hovered & !pressed': '#success-accent-text',\n disabled: '#disabled-surface-text',\n },\n} as const;\n\nexport const SUCCESS_ITEM_STYLES: Styles = {\n border: 'transparent',\n fill: {\n '': '#success-accent-text.0',\n 'hovered | focused': '#success-accent-text.03',\n selected: '#success-accent-text.09',\n 'selected & (hovered | focused)': '#success-accent-text.12',\n pressed: '#success-accent-text.09',\n disabled: 'transparent',\n },\n color: {\n '': '#success-accent-text',\n hovered: '#success-accent-text',\n pressed: '#success-accent-text',\n disabled: '#success-accent-text.4',\n },\n} as const;\n\n// ---------- WARNING THEME ----------\nexport const WARNING_PRIMARY_STYLES: Styles = {\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#white.2',\n pressed: '#warning-accent-text',\n disabled: 'transparent',\n },\n // See `DEFAULT_PRIMARY_STYLES.fill` for the layer-shape + ramp rationale.\n fill: {\n '': '#surface #warning-accent-surface',\n hovered: '#surface #warning-accent-surface-2',\n pressed: '#surface #warning-accent-surface-3',\n disabled: '#surface #warning-accent-disabled-surface',\n },\n color: {\n '': '#white',\n disabled: '#warning-accent-disabled-surface-text',\n },\n} as const;\n\nexport const WARNING_OUTLINE_STYLES: Styles = {\n // Non-selected = old WARNING OUTLINE; selected = old WARNING SECONDARY.\n // See DANGER_OUTLINE_STYLES for the border-anchor rationale.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#warning-border',\n disabled: '#border',\n },\n fill: {\n '': '#surface-2 #warning-accent-surface.0',\n hovered: '#surface-2 #warning-accent-surface.03',\n pressed: '#surface-2 #warning-accent-surface.09',\n selected: '#surface-2 #warning-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-2 #warning-accent-surface.12',\n 'selected & pressed': '#surface-2 #warning-accent-surface.18',\n disabled: '#surface-2 #disabled-surface',\n 'selected & disabled': '#surface-2 #warning-accent-disabled-surface',\n },\n color: {\n '': '#warning-accent-text-soft',\n selected: '#warning-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#warning-accent-disabled-surface-text',\n },\n} as const;\n\nexport const WARNING_OUTLINE_2_STYLES: Styles = {\n ...WARNING_OUTLINE_STYLES,\n fill: {\n '': '#surface-3 #warning-accent-surface.0',\n hovered: '#surface-3 #warning-accent-surface.03',\n pressed: '#surface-3 #warning-accent-surface.09',\n selected: '#surface-3 #warning-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-3 #warning-accent-surface.12',\n 'selected & pressed': '#surface-3 #warning-accent-surface.18',\n disabled: '#surface-3 #disabled-surface',\n 'selected & disabled': '#surface-3 #warning-accent-disabled-surface',\n },\n} as const;\n\nexport const WARNING_CLEAR_STYLES: Styles = {\n // Non-selected = old WARNING NEUTRAL; selected = old WARNING CLEAR.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': 'transparent',\n },\n fill: {\n '': '#surface-text.0',\n 'hovered | focused': '#surface-text.04',\n pressed: '#surface-text.06',\n selected: '#warning-accent-text.09',\n 'selected & (hovered | focused)': '#warning-accent-text.12',\n 'selected & pressed': '#warning-accent-text.18',\n disabled: 'transparent',\n 'selected & disabled': '#warning-accent-disabled-surface',\n },\n color: {\n '': '#warning-accent-text-soft',\n selected: '#warning-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#warning-accent-disabled-surface-text',\n },\n} as const;\n\nexport const WARNING_LINK_STYLES: Styles = {\n // See DEFAULT_LINK_STYLES for the soft→strong rationale.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: 0,\n fill: {\n '': 'transparent',\n },\n color: {\n '': '#warning-accent-text-soft',\n 'hovered & !pressed': '#warning-accent-text',\n disabled: '#disabled-surface-text',\n },\n} as const;\n\nexport const WARNING_ITEM_STYLES: Styles = {\n border: 'transparent',\n fill: {\n '': '#warning-accent-text.0',\n 'hovered | focused': '#warning-accent-text.03',\n selected: '#warning-accent-text.09',\n 'selected & (hovered | focused)': '#warning-accent-text.12',\n pressed: '#warning-accent-text.09',\n disabled: 'transparent',\n },\n color: {\n '': '#warning-accent-text',\n hovered: '#warning-accent-text',\n pressed: '#warning-accent-text',\n disabled: '#warning-accent-text.4',\n },\n} as const;\n\n// ---------- NOTE THEME ----------\nexport const NOTE_PRIMARY_STYLES: Styles = {\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#white.2',\n pressed: '#note-accent-text',\n disabled: 'transparent',\n },\n // See `DEFAULT_PRIMARY_STYLES.fill` for the layer-shape + ramp rationale.\n fill: {\n '': '#surface #note-accent-surface',\n hovered: '#surface #note-accent-surface-2',\n pressed: '#surface #note-accent-surface-3',\n disabled: '#surface #note-accent-disabled-surface',\n },\n color: {\n '': '#white',\n disabled: '#note-accent-disabled-surface-text',\n },\n} as const;\n\nexport const NOTE_OUTLINE_STYLES: Styles = {\n // Non-selected = old NOTE OUTLINE; selected = old NOTE SECONDARY.\n // See DANGER_OUTLINE_STYLES for the border-anchor rationale.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#note-border',\n disabled: '#border',\n },\n fill: {\n '': '#surface-2 #note-accent-surface.0',\n hovered: '#surface-2 #note-accent-surface.03',\n pressed: '#surface-2 #note-accent-surface.09',\n selected: '#surface-2 #note-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-2 #note-accent-surface.12',\n 'selected & pressed': '#surface-2 #note-accent-surface.18',\n disabled: '#surface-2 #disabled-surface',\n 'selected & disabled': '#surface-2 #note-accent-disabled-surface',\n },\n color: {\n '': '#note-accent-text-soft',\n selected: '#note-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#note-accent-disabled-surface-text',\n },\n} as const;\n\nexport const NOTE_OUTLINE_2_STYLES: Styles = {\n ...NOTE_OUTLINE_STYLES,\n fill: {\n '': '#surface-3 #note-accent-surface.0',\n hovered: '#surface-3 #note-accent-surface.03',\n pressed: '#surface-3 #note-accent-surface.09',\n selected: '#surface-3 #note-accent-surface.09',\n 'selected & (hovered | focused)': '#surface-3 #note-accent-surface.12',\n 'selected & pressed': '#surface-3 #note-accent-surface.18',\n disabled: '#surface-3 #disabled-surface',\n 'selected & disabled': '#surface-3 #note-accent-disabled-surface',\n },\n} as const;\n\nexport const NOTE_CLEAR_STYLES: Styles = {\n // Non-selected = old NOTE NEUTRAL; selected = old NOTE CLEAR.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': 'transparent',\n },\n fill: {\n '': '#surface-text.0',\n 'hovered | focused': '#surface-text.04',\n pressed: '#surface-text.06',\n selected: '#note-accent-text.09',\n 'selected & (hovered | focused)': '#note-accent-text.12',\n 'selected & pressed': '#note-accent-text.18',\n disabled: 'transparent',\n 'selected & disabled': '#note-accent-disabled-surface',\n },\n color: {\n '': '#note-accent-text-soft',\n selected: '#note-accent-text',\n disabled: '#disabled-surface-text',\n 'selected & disabled': '#note-accent-disabled-surface-text',\n },\n} as const;\n\nexport const NOTE_LINK_STYLES: Styles = {\n // See DEFAULT_LINK_STYLES for the soft→strong rationale.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: 0,\n fill: {\n '': 'transparent',\n },\n color: {\n '': '#note-accent-text-soft',\n 'hovered & !pressed': '#note-accent-text',\n disabled: '#disabled-surface-text',\n },\n} as const;\n\nexport const NOTE_ITEM_STYLES: Styles = {\n border: 'transparent',\n fill: {\n '': '#note-accent-text.0',\n 'hovered | focused': '#note-accent-text.03',\n selected: '#note-accent-text.09',\n 'selected & (hovered | focused)': '#note-accent-text.12',\n pressed: '#note-accent-text.09',\n disabled: 'transparent',\n },\n color: {\n '': '#note-accent-text',\n hovered: '#note-accent-text',\n pressed: '#note-accent-text',\n disabled: '#note-accent-text.4',\n },\n} as const;\n\n// ---------- SPECIAL THEME ----------\n// Every color here resolves to a fixed-mode value (built-in `#white`, the\n// standalone `#special-*` theme in `src/tokens/palette.ts`, or `transparent`).\n// `mode: 'fixed'` makes the resolved OKHSL identical in light, dark, and\n// high-contrast, so the special theme renders the same regardless of scheme.\n// The only intentionally adaptive colors are `VALIDATION_STYLES.border`\n// (`#danger-accent-text` / `#success-accent-text`) — validation state is allowed to follow\n// the active scheme.\nexport const SPECIAL_PRIMARY_STYLES: Styles = {\n // Focus ring uses `#special-accent-text` — a fixed-mode dark-purple that\n // stays identical across light/dark/HC, matching the special theme's\n // \"intentionally non-inverting\" identity. Picked over `#primary-accent-text`\n // (the cross-theme default) which is `mode: 'auto'` and would shift in dark.\n outline: {\n '': '0 #special-accent-text.0',\n focused: '1bw #special-accent-text',\n },\n border: {\n '': '#special-accent-surface-border',\n pressed: '#special-accent-surface-border',\n disabled: 'transparent',\n },\n // See `DEFAULT_PRIMARY_STYLES.fill` for the layer-shape + ramp rationale.\n // The base layer is `#white` (matching the rest of the special theme's\n // anchor) instead of `#surface`, but the same monotonic `-1`/`-2`/`-3`\n // ramp gives the brand fill a visibly darker hover and pressed state.\n fill: {\n '': '#white #special-accent-surface',\n hovered: '#white #special-accent-surface-2',\n pressed: '#white #special-accent-surface-3',\n disabled: '#white #special-accent-disabled-surface',\n },\n color: {\n '': '#white',\n disabled: '#special-accent-disabled-surface-text',\n },\n} as const;\n\nexport const SPECIAL_OUTLINE_STYLES: Styles = {\n // Non-selected = old SPECIAL OUTLINE; selected = old SPECIAL SECONDARY.\n // Special is anchored on `#special-surface` (a fixed dark-purple base), so\n // contrast is added by *whitening* the overlay rather than darkening it.\n // The same default → hover → pressed monotonic-contrast pattern as the\n // light themes is preserved, just with white-alpha steps that are tuned\n // to read against the dark base.\n //\n // IMPORTANT: every alpha step within a single state-map must be a unique\n // value string. Tasty's `mergeEntriesByValue` pass coalesces entries that\n // share a serialized value into a single OR-condition entry whose priority\n // is the *max* of the merged group. If `hovered` and `disabled` were both\n // `#white.12`, the merged entry would sit at the higher priority and\n // negate against the `selected & (hovered | focused)` rule below, making\n // the latter resolve to FALSE for `selected & hovered`. Keeping every\n // alpha distinct sidesteps the collision.\n //\n // Focus ring uses the fixed-mode `#special-accent-text` so the indicator\n // stays scheme-invariant alongside the rest of the special theme — see\n // `SPECIAL_PRIMARY_STYLES.outline` for the full rationale.\n outline: {\n '': '0 #special-accent-text.0',\n focused: '1bw #special-accent-text',\n },\n border: {\n '': '#white.15',\n selected: '#white.2',\n ...(VALIDATION_STYLES.border as Record<string, string>),\n },\n fill: {\n '': '#special-surface #white.0',\n hovered: '#special-surface #white.06',\n pressed: '#special-surface #white.12',\n selected: '#special-surface #white.18',\n 'selected & (hovered | focused)': '#special-surface #white.24',\n 'selected & pressed': '#special-surface #white.3',\n disabled: '#special-surface #white.04',\n // Stays in the white-alpha register: the base here is a fixed dark tone.\n 'selected & disabled': '#special-surface #white.09',\n },\n // Mirrors the colored-theme soft→opaque pattern (`*-accent-text-soft` →\n // `*-accent-text`) using white-alpha steps: default is slightly muted so\n // that selected reads as the more prominent state.\n color: {\n '': '#white.8',\n selected: '#white',\n disabled: '#white.4',\n 'selected & disabled': '#white.55',\n },\n} as const;\n\nexport const SPECIAL_CLEAR_STYLES: Styles = {\n // Non-selected = old SPECIAL NEUTRAL: transparent / white-tinted overlay\n // on the dark base.\n // Selected INVERTS the surface — the fill flips to a solid white pill with\n // dark accent-text on top. To express \"increasing contrast on press\" in\n // this inverted layout we go the *other* direction: pure white at rest →\n // slightly tinted on hover → more tinted on press, i.e. progressively\n // letting the dark base bleed through. This keeps the monotonic-contrast\n // pattern semantically (hover < pressed) while preserving the inversion.\n //\n // IMPORTANT: every alpha step within a single state-map must be a unique\n // value string. Tasty's `mergeEntriesByValue` pass coalesces entries that\n // share a serialized value into a single OR-condition entry whose priority\n // is the *max* of the merged group, which then negates against lower-\n // priority rules. If `'hovered | focused'` and `'selected & disabled'`\n // both used `#white.12`, the merged entry would sit at priority 7 and\n // negate against `'selected & (hovered | focused)'` (priority 4), making\n // it resolve to FALSE for `selected & hovered` — which is exactly the\n // \"selected-hover stays dark\" bug. `'selected & disabled'` therefore uses\n // a slightly different alpha (.16) that's visually similar but a distinct\n // value string. The default `''` and `disabled` may share `#white.0`\n // because Tasty keeps the TRUE/default entry separate from non-defaults\n // during merging.\n //\n // Focus ring uses the fixed-mode `#special-accent-text` so the indicator\n // stays scheme-invariant alongside the rest of the special theme — see\n // `SPECIAL_PRIMARY_STYLES.outline` for the full rationale.\n outline: {\n '': '0 #special-accent-text.0',\n focused: '1bw #special-accent-text',\n },\n border: {\n '': 'transparent',\n ...(VALIDATION_STYLES.border as Record<string, string>),\n },\n fill: {\n '': '#white.0',\n 'hovered | focused': '#white.12',\n pressed: '#white.18',\n selected: '#white',\n 'selected & (hovered | focused)': '#white.94',\n 'selected & pressed': '#white.88',\n disabled: '#white.0',\n 'selected & disabled': '#white.16',\n },\n // Non-selected mirrors the colored-theme soft→opaque pattern with\n // white-alpha steps. Selected keeps its inverted look — dark accent-text\n // on a white pill — so the soft/opaque transition only applies to the\n // non-selected variant.\n color: {\n '': '#white.8',\n selected: '#special-accent-text',\n disabled: '#white.4',\n },\n} as const;\n\nexport const SPECIAL_LINK_STYLES: Styles = {\n // See `SPECIAL_PRIMARY_STYLES.outline` for why we use the fixed-mode\n // `#special-accent-text` here instead of the cross-theme `#primary-accent-text`.\n outline: {\n '': '0 #special-accent-text.0',\n focused: '1bw #special-accent-text',\n },\n border: '0',\n fill: {\n '': 'transparent',\n },\n color: {\n '': '#white',\n 'hovered & !pressed': '#white.9',\n disabled: '#white.4',\n },\n} as const;\n\nexport const SPECIAL_ITEM_STYLES: Styles = {\n border: 'transparent',\n fill: {\n '': '#white.0',\n hovered: '#white.12',\n 'pressed | (selected & !hovered)': '#white.18',\n },\n color: {\n '': '#white',\n disabled: '#white.4',\n },\n} as const;\n\n// ---------- CURRENT TYPE ----------\n// Every color is derived from the *inherited* text color (`#current` →\n// `currentcolor`), so the element adopts whatever color its context paints\n// with: a colored Alert, a dark banner, an image overlay, a chart tooltip. That\n// makes the type theme-agnostic — a single style object registered under\n// `default.current`, with the host component forcing the theme to `default`.\n//\n// `color: '#current'` compiles to `color: currentcolor`, which CSS resolves as\n// `color: inherit` — so the label stays fully opaque and, crucially, the\n// element's own `currentcolor` (used by `fill`/`border` below) is the INHERITED\n// color rather than a faded one. The alpha steps are then mixed off that same\n// color, which is why the whole ramp tracks the context automatically.\n//\n// There are two flavours, mirroring the two shapes the neutral types take:\n// `CURRENT_ITEM_STYLES` follows `*_ITEM_STYLES` (borderless, invisible at rest,\n// for list rows) and `CURRENT_BUTTON_STYLES` follows the standalone button types\n// (a resting chip with a border). Both keep the monotonic-contrast pattern of\n// their neutral counterparts: default < hover < pressed, and the same again one\n// level up when selected.\n//\n// IMPORTANT: every alpha step within one state-map must be a unique value\n// string — Tasty's `mergeEntriesByValue` pass coalesces equal values into one\n// OR-entry at the group's max priority, which then negates against\n// lower-priority rules. So no two steps in one map may share an alpha. See\n// `SPECIAL_OUTLINE_STYLES` for the full explanation.\n//\n// A note on `disabled`: fading the label also fades the element's own\n// `currentcolor`, so every other alpha is multiplied by .4 on that state.\n// Disabled `fill`/`border` are therefore written PRE-MULTIPLIED where they need\n// to stay visible.\n\n// Item flavour — the `current` counterpart of `*_ITEM_STYLES`: no border,\n// nothing painted at rest, the fill appearing only on interaction. Used for\n// list rows (`Item`, `ItemButton`) and the actions inside them, where a resting\n// chip on every row would read as noise. Like the other `*_ITEM_STYLES` it\n// leaves the focus ring to the base styles (the collection that owns the row\n// indicates focus), and only steps the fill.\nexport const CURRENT_ITEM_STYLES: Styles = {\n border: 'transparent',\n fill: {\n '': '#current.0',\n 'hovered | focused': '#current.04',\n pressed: '#current.06',\n selected: '#current.09',\n 'selected & (hovered | focused)': '#current.12',\n 'selected & pressed': '#current.15',\n disabled: 'transparent',\n },\n color: {\n '': '#current',\n disabled: '#current.4',\n },\n} as const;\n\n// Button flavour — a standalone control, so it carries its own weight: a\n// resting `#current.03` chip inside a `#current.08` border. `.03` is enough to\n// separate the button from a flat background without reading as a filled\n// surface, while leaving room for four distinguishable steps above it.\n// Disabled `fill`/`border` are pre-multiplied (`.06`/`.12` → an effective\n// `.024`/`.048`) so the chip stays a muted version of itself instead of\n// vanishing.\nexport const CURRENT_BUTTON_STYLES: Styles = {\n // The focus ring is the one color NOT taken from `#current`: every type in\n // this file uses `#primary-accent-text` (the special theme swapping in its\n // fixed-mode counterpart), so the focus indicator stays the same wherever it\n // appears.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n border: {\n '': '#current.08',\n 'hovered | focused': '#current.15',\n pressed: '#current.25',\n selected: '#current.3',\n 'selected & pressed': '#current.4',\n disabled: '#current.12',\n 'selected & disabled': '#current.35',\n },\n fill: {\n '': '#current.03',\n 'hovered | focused': '#current.07',\n pressed: '#current.1',\n selected: '#current.12',\n 'selected & (hovered | focused)': '#current.16',\n 'selected & pressed': '#current.2',\n disabled: '#current.06',\n // Alpha step rather than a brand token — `current` inherits `currentcolor`.\n // Authored high because the disabled label already dims `currentcolor` to\n // `.4`, and these alphas resolve against it: `.18` renders as ~.07.\n 'selected & disabled': '#current.18',\n },\n color: {\n '': '#current',\n disabled: '#current.4',\n },\n} as const;\n\n// ---------- CARD TYPE STYLES ----------\n// Card type only supports: default, success, danger, note themes\n\nexport const DEFAULT_CARD_STYLES: Styles = {\n border: '#surface-text.20',\n fill: '#surface-3',\n color: '#surface-text-soft',\n} as const;\n\nexport const SUCCESS_CARD_STYLES: Styles = {\n border: '#success-accent-surface.20',\n fill: '#success-surface',\n color: '#success-accent-text',\n} as const;\n\nexport const DANGER_CARD_STYLES: Styles = {\n border: '#danger-accent-surface.20',\n fill: '#danger-surface',\n color: '#danger-accent-text',\n} as const;\n\nexport const WARNING_CARD_STYLES: Styles = {\n border: '#warning-accent-surface.20',\n fill: '#warning-surface',\n color: '#warning-accent-text',\n} as const;\n\nexport const NOTE_CARD_STYLES: Styles = {\n border: '#note-accent-surface.20',\n fill: '#note-surface',\n color: '#note-accent-text',\n} as const;\n\nexport type ItemVariant =\n // The `current` type derives every color from the inherited `currentcolor`,\n // so it has no per-theme flavours — see `CURRENT_ITEM_STYLES`.\n | 'default.current'\n | 'default.primary'\n | 'default.outline'\n | 'default.outline-2'\n | 'default.clear'\n | 'default.link'\n | 'default.item'\n | 'default.card'\n | 'danger.primary'\n | 'danger.outline'\n | 'danger.outline-2'\n | 'danger.clear'\n | 'danger.link'\n | 'danger.item'\n | 'danger.card'\n | 'success.primary'\n | 'success.outline'\n | 'success.outline-2'\n | 'success.clear'\n | 'success.link'\n | 'success.item'\n | 'success.card'\n | 'warning.primary'\n | 'warning.outline'\n | 'warning.outline-2'\n | 'warning.clear'\n | 'warning.link'\n | 'warning.item'\n | 'warning.card'\n | 'note.primary'\n | 'note.outline'\n | 'note.outline-2'\n | 'note.clear'\n | 'note.link'\n | 'note.item'\n | 'note.card'\n | 'special.primary'\n | 'special.outline'\n | 'special.clear'\n | 'special.link'\n | 'special.item';\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  //#region src/data/themes.ts
3
3
  var themes_default = {
4
4
  special: {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  //#region src/eslint-plugin/defaults.generated.ts
3
3
  const DEFAULTS = {
4
4
  components: {
@@ -582,6 +582,10 @@ const DEFAULTS = {
582
582
  kind: "default",
583
583
  value: true
584
584
  },
585
+ shouldRestoreFocus: {
586
+ kind: "default",
587
+ value: true
588
+ },
585
589
  type: {
586
590
  kind: "default",
587
591
  value: "modal"
@@ -940,8 +944,9 @@ const DEFAULTS = {
940
944
  note: "Redundant in a bare tree but load-bearing under \"inside <ItemActionProvider theme=\"danger\">\", so removing it would change behaviour there."
941
945
  },
942
946
  type: {
943
- kind: "default",
944
- value: "current"
947
+ kind: "skip",
948
+ reason: "context",
949
+ note: "Redundant in a bare tree but load-bearing under \"inside <ItemActionProvider type=\"primary\">\", so removing it would change behaviour there."
945
950
  }
946
951
  } },
947
952
  ItemBadge: { props: {
@@ -960,8 +965,9 @@ const DEFAULTS = {
960
965
  note: "Redundant in a bare tree but load-bearing under \"inside <ItemActionProvider theme=\"danger\">\", so removing it would change behaviour there."
961
966
  },
962
967
  type: {
963
- kind: "default",
964
- value: "current"
968
+ kind: "skip",
969
+ reason: "context",
970
+ note: "Redundant in a bare tree but load-bearing under \"inside <ItemActionProvider type=\"primary\">\", so removing it would change behaviour there."
965
971
  }
966
972
  } },
967
973
  ItemButton: { props: {
@@ -1255,6 +1261,10 @@ const DEFAULTS = {
1255
1261
  kind: "default",
1256
1262
  value: 0
1257
1263
  },
1264
+ mobileType: {
1265
+ kind: "default",
1266
+ value: "popover"
1267
+ },
1258
1268
  offset: {
1259
1269
  kind: "default",
1260
1270
  value: 8
@@ -1267,6 +1277,10 @@ const DEFAULTS = {
1267
1277
  kind: "default",
1268
1278
  value: true
1269
1279
  },
1280
+ shouldRestoreFocus: {
1281
+ kind: "default",
1282
+ value: true
1283
+ },
1270
1284
  trigger: {
1271
1285
  kind: "default",
1272
1286
  value: "press"