@sanity/ui 3.0.0-static.18 → 3.0.0-static.19

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 (542) hide show
  1. package/dist/_chunks-cjs/_visual-editing.cjs +137 -136
  2. package/dist/_chunks-cjs/_visual-editing.cjs.map +1 -1
  3. package/dist/_chunks-cjs/buildCommand.cjs +21 -22
  4. package/dist/_chunks-cjs/buildCommand.cjs.map +1 -1
  5. package/dist/_chunks-es/_visual-editing.js +138 -137
  6. package/dist/_chunks-es/_visual-editing.js.map +1 -1
  7. package/dist/_visual-editing.d.cts +12 -22
  8. package/dist/_visual-editing.d.ts +12 -22
  9. package/dist/cli.cjs +1 -1
  10. package/dist/css.cjs +1589 -2017
  11. package/dist/css.cjs.map +1 -1
  12. package/dist/css.d.cts +9423 -874
  13. package/dist/css.d.ts +9423 -874
  14. package/dist/css.js +1591 -2019
  15. package/dist/css.js.map +1 -1
  16. package/dist/index.cjs +28 -40
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.cts +23 -21
  19. package/dist/index.d.ts +23 -21
  20. package/dist/index.js +30 -42
  21. package/dist/index.js.map +1 -1
  22. package/dist/theme.cjs +2749 -2756
  23. package/dist/theme.cjs.map +1 -1
  24. package/dist/theme.d.cts +242 -161
  25. package/dist/theme.d.ts +242 -161
  26. package/dist/theme.js +2750 -2757
  27. package/dist/theme.js.map +1 -1
  28. package/dist/ui-system.css +15719 -16097
  29. package/dist/ui-system.min.css +1 -1
  30. package/dist/ui-theme.css +850 -4568
  31. package/dist/ui-theme.min.css +1 -1
  32. package/dist/ui.css +16569 -20772
  33. package/dist/ui.min.css +1 -1
  34. package/package.json +10 -15
  35. package/src/cli/buildCommand.ts +13 -30
  36. package/src/core/StyleTags.tsx +4 -12
  37. package/src/core/_compat/styles/_responsive.ts +1 -1
  38. package/src/core/_compat/theme/theme.test.tsx +4 -5
  39. package/src/core/_compat/theme/themeColorProvider.tsx +2 -2
  40. package/src/core/_compat/theme/themeContext.ts +2 -2
  41. package/src/core/_compat/theme/themeProvider.tsx +2 -2
  42. package/src/core/_compat/theme/types.ts +1 -1
  43. package/src/core/_compat/theme/useRootTheme.ts +1 -1
  44. package/src/core/_compat/theme/useTheme.ts +1 -1
  45. package/src/core/components/autocomplete/__workshop__/async.tsx +2 -2
  46. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +2 -2
  47. package/src/core/components/autocomplete/__workshop__/custom.tsx +11 -11
  48. package/src/core/components/autocomplete/__workshop__/example.tsx +6 -7
  49. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +2 -2
  50. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +1 -1
  51. package/src/core/components/autocomplete/autocomplete.tsx +5 -5
  52. package/src/core/components/autocomplete/autocompleteOption.tsx +1 -1
  53. package/src/core/components/autocomplete/autocompleteReducer.ts +1 -1
  54. package/src/core/components/autocomplete/constants.ts +1 -1
  55. package/src/core/components/autocomplete/types.ts +1 -1
  56. package/src/core/components/breadcrumbs/__workshop__/example.tsx +1 -1
  57. package/src/core/components/breadcrumbs/breadcrumbs.tsx +7 -7
  58. package/src/core/components/dialog/__workshop__/activate.tsx +4 -4
  59. package/src/core/components/dialog/__workshop__/position.tsx +1 -1
  60. package/src/core/components/dialog/__workshop__/props.tsx +1 -1
  61. package/src/core/components/dialog/__workshop__/wrapped.tsx +2 -2
  62. package/src/core/components/dialog/dialog.tsx +15 -8
  63. package/src/core/components/dialog/dialogCard.tsx +18 -3
  64. package/src/core/components/dialog/dialogContext.ts +1 -1
  65. package/src/core/components/dialog/dialogProvider.tsx +3 -3
  66. package/src/core/components/dialog/useDialog.ts +1 -1
  67. package/src/core/components/hotkeys/hotkeys.tsx +4 -4
  68. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +5 -4
  69. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +2 -2
  70. package/src/core/components/menu/__workshop__/customMenuItem.tsx +3 -3
  71. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +1 -1
  72. package/src/core/components/menu/__workshop__/groups.tsx +2 -2
  73. package/src/core/components/menu/__workshop__/menuButton.tsx +1 -1
  74. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +1 -1
  75. package/src/core/components/menu/__workshop__/nestedMenu.tsx +1 -1
  76. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +13 -4
  77. package/src/core/components/menu/__workshop__/selectedItem.tsx +2 -2
  78. package/src/core/components/menu/__workshop__/withoutArrow.tsx +1 -1
  79. package/src/core/components/menu/menu.test.tsx +6 -7
  80. package/src/core/components/menu/menu.tsx +2 -2
  81. package/src/core/components/menu/menuButton.tsx +9 -9
  82. package/src/core/components/menu/menuContext.ts +1 -1
  83. package/src/core/components/menu/menuDivider.tsx +3 -3
  84. package/src/core/components/menu/menuGroup.tsx +9 -9
  85. package/src/core/components/menu/menuItem.tsx +9 -6
  86. package/src/core/components/menu/useMenu.ts +1 -1
  87. package/src/core/components/menu/useMenuController.ts +4 -4
  88. package/src/core/components/skeleton/__workshop__/delay.tsx +1 -1
  89. package/src/core/components/skeleton/__workshop__/skeleton.tsx +2 -2
  90. package/src/core/components/skeleton/codeSkeleton.tsx +5 -5
  91. package/src/core/components/skeleton/headingSkeleton.tsx +5 -5
  92. package/src/core/components/skeleton/labelSkeleton.tsx +5 -5
  93. package/src/core/components/skeleton/skeleton.tsx +4 -4
  94. package/src/core/components/skeleton/textSkeleton.tsx +5 -5
  95. package/src/core/components/tab/__workshop__/example.tsx +1 -1
  96. package/src/core/components/tab/tab.tsx +7 -7
  97. package/src/core/components/tab/tabList.tsx +14 -7
  98. package/src/core/components/tab/tabPanel.tsx +10 -7
  99. package/src/core/components/toast/__workshop__/hook.tsx +1 -1
  100. package/src/core/components/toast/toast.test.tsx +5 -5
  101. package/src/core/components/toast/toast.tsx +6 -7
  102. package/src/core/components/toast/toastContext.ts +1 -1
  103. package/src/core/components/toast/toastLayer.tsx +2 -2
  104. package/src/core/components/toast/toastProvider.tsx +1 -1
  105. package/src/core/components/toast/types.ts +1 -1
  106. package/src/core/components/toast/useToast.ts +1 -1
  107. package/src/core/components/tree/__workshop__/basic.perf.ts +1 -1
  108. package/src/core/components/tree/__workshop__/basic.tsx +1 -1
  109. package/src/core/components/tree/__workshop__/tabFromElement.tsx +1 -1
  110. package/src/core/components/tree/helpers.ts +1 -1
  111. package/src/core/components/tree/tree.tsx +6 -6
  112. package/src/core/components/tree/treeContext.ts +1 -1
  113. package/src/core/components/tree/treeGroup.tsx +2 -2
  114. package/src/core/components/tree/treeItem.tsx +15 -15
  115. package/src/core/components/tree/types.ts +2 -2
  116. package/src/core/components/tree/useTree.ts +1 -1
  117. package/src/core/hooks/useClickOutside.test.tsx +15 -16
  118. package/src/core/hooks/useClickOutsideEvent.test.tsx +4 -5
  119. package/src/core/hooks/useDelayed.test.ts +6 -7
  120. package/src/core/hooks/useDelayedState.ts +1 -1
  121. package/src/core/hooks/useElementRect/__workshop__/example.tsx +1 -1
  122. package/src/core/hooks/useElementSize.ts +1 -1
  123. package/src/core/hooks/useForwardedRef.ts +1 -1
  124. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +1 -1
  125. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +1 -0
  126. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +2 -2
  127. package/src/core/hooks/usePrefersDark.hydration.test.tsx +4 -4
  128. package/src/core/hooks/usePrefersDark.test.tsx +1 -0
  129. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +4 -4
  130. package/src/core/hooks/usePrefersReducedMotion.test.tsx +1 -0
  131. package/src/core/middleware/origin.ts +1 -1
  132. package/src/core/primitives/_selectable/selectable.tsx +3 -3
  133. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +1 -1
  134. package/src/core/primitives/avatar/avatar.tsx +6 -6
  135. package/src/core/primitives/avatar/avatarCounter.tsx +3 -3
  136. package/src/core/primitives/avatar/avatarStack.tsx +7 -7
  137. package/src/core/primitives/avatar/types.ts +1 -3
  138. package/src/core/primitives/badge/badge.test.tsx +2 -3
  139. package/src/core/primitives/badge/badge.tsx +3 -3
  140. package/src/core/primitives/box/__workshop__/responsive.tsx +2 -1
  141. package/src/core/primitives/box/box.tsx +4 -2
  142. package/src/core/primitives/button/__workshop__/custom.tsx +2 -2
  143. package/src/core/primitives/button/__workshop__/customIcons.tsx +3 -3
  144. package/src/core/primitives/button/__workshop__/disabled.tsx +9 -9
  145. package/src/core/primitives/button/__workshop__/props.tsx +3 -4
  146. package/src/core/primitives/button/__workshop__/stacked.tsx +4 -5
  147. package/src/core/primitives/button/button.test.tsx +2 -3
  148. package/src/core/primitives/button/button.tsx +11 -6
  149. package/src/core/primitives/card/__workshop__/asButton.tsx +16 -7
  150. package/src/core/primitives/card/__workshop__/checkered.tsx +1 -1
  151. package/src/core/primitives/card/__workshop__/index.ts +1 -1
  152. package/src/core/primitives/card/__workshop__/interactive.tsx +1 -1
  153. package/src/core/primitives/card/__workshop__/listNavigation.tsx +3 -3
  154. package/src/core/primitives/card/__workshop__/props.tsx +3 -3
  155. package/src/core/primitives/card/__workshop__/selected.tsx +2 -2
  156. package/src/core/primitives/card/__workshop__/{allTones.tsx → tones.tsx} +3 -3
  157. package/src/core/primitives/card/card.tsx +4 -4
  158. package/src/core/primitives/card/cardContext.ts +2 -2
  159. package/src/core/primitives/card/cardProvider.tsx +3 -3
  160. package/src/core/primitives/card/types.ts +2 -2
  161. package/src/core/primitives/card/useCard.ts +2 -1
  162. package/src/core/primitives/checkbox/__workshop__/props.tsx +2 -0
  163. package/src/core/primitives/checkbox/__workshop__/tones.tsx +11 -20
  164. package/src/core/primitives/checkbox/checkbox.tsx +5 -7
  165. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +1 -1
  166. package/src/core/primitives/code/code.tsx +3 -3
  167. package/src/core/primitives/container/container.tsx +4 -4
  168. package/src/core/primitives/flex/flex.tsx +2 -2
  169. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +1 -1
  170. package/src/core/primitives/heading/heading.tsx +2 -2
  171. package/src/core/primitives/inline/__workshop__/plain.tsx +1 -1
  172. package/src/core/primitives/inline/inline.tsx +2 -2
  173. package/src/core/primitives/inline/types.ts +1 -0
  174. package/src/core/primitives/kbd/kbd.tsx +5 -5
  175. package/src/core/primitives/label/label.tsx +5 -5
  176. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +2 -2
  177. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +3 -4
  178. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +4 -4
  179. package/src/core/primitives/popover/__workshop__/TestStory.tsx +2 -3
  180. package/src/core/primitives/popover/constants.ts +1 -1
  181. package/src/core/primitives/popover/floating-ui/size.ts +2 -2
  182. package/src/core/primitives/popover/helpers.ts +1 -1
  183. package/src/core/primitives/popover/popover.tsx +1 -1
  184. package/src/core/primitives/popover/popoverLayer.tsx +4 -4
  185. package/src/core/primitives/popover/types.ts +3 -2
  186. package/src/core/primitives/radio/__workshop__/example.tsx +1 -1
  187. package/src/core/primitives/radio/radio.tsx +5 -5
  188. package/src/core/primitives/select/__workshop__/plain.tsx +15 -3
  189. package/src/core/primitives/select/__workshop__/readOnly.tsx +1 -1
  190. package/src/core/primitives/select/select.tsx +4 -10
  191. package/src/core/primitives/spinner/__workshop__/Props.tsx +1 -2
  192. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +3 -3
  193. package/src/core/primitives/spinner/spinner.tsx +3 -3
  194. package/src/core/primitives/stack/__workshop__/plain.tsx +1 -1
  195. package/src/core/primitives/stack/stack.tsx +5 -5
  196. package/src/core/primitives/switch/switch.tsx +3 -3
  197. package/src/core/primitives/text/__workshop__/colored.tsx +5 -5
  198. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +1 -1
  199. package/src/core/primitives/text/text.tsx +6 -6
  200. package/src/core/primitives/textArea/__workshop__/plain.tsx +35 -23
  201. package/src/core/primitives/textArea/textArea.tsx +14 -5
  202. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +1 -1
  203. package/src/core/primitives/textInput/__workshop__/plain.tsx +9 -15
  204. package/src/core/primitives/textInput/__workshop__/states.tsx +4 -4
  205. package/src/core/primitives/textInput/__workshop__/tones.tsx +2 -2
  206. package/src/core/primitives/textInput/textInput.tsx +13 -11
  207. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +2 -2
  208. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +1 -1
  209. package/src/core/primitives/tooltip/__workshop__/props.tsx +5 -4
  210. package/src/core/primitives/tooltip/constants.ts +1 -1
  211. package/src/core/primitives/tooltip/tooltip.test.tsx +61 -60
  212. package/src/core/primitives/tooltip/tooltip.tsx +11 -6
  213. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +1 -1
  214. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +3 -3
  215. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +1 -1
  216. package/src/core/primitives/tooltip/tooltipLayer.tsx +4 -4
  217. package/src/core/primitives/types.ts +15 -24
  218. package/src/core/types/badge.ts +1 -1
  219. package/src/core/types/button.ts +1 -1
  220. package/src/core/types/card.ts +1 -1
  221. package/src/core/types/selectable.ts +1 -1
  222. package/src/core/utils/arrow/arrow.tsx +5 -14
  223. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +5 -5
  224. package/src/core/utils/boundaryElement/boundaryElementContext.ts +1 -1
  225. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +2 -2
  226. package/src/core/utils/boundaryElement/useBoundaryElement.ts +1 -1
  227. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +15 -8
  228. package/src/core/utils/elementQuery/elementQuery.tsx +1 -1
  229. package/src/core/utils/errorBoundary.tsx +4 -4
  230. package/src/core/utils/layer/__workshop__/multipleRoots.tsx +5 -5
  231. package/src/core/utils/layer/__workshop__/nested.tsx +3 -3
  232. package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +9 -5
  233. package/src/core/utils/layer/getLayerContext.test.ts +3 -1
  234. package/src/core/utils/layer/getLayerContext.ts +1 -1
  235. package/src/core/utils/layer/layer.test.tsx +5 -5
  236. package/src/core/utils/layer/layer.tsx +2 -2
  237. package/src/core/utils/layer/layerCard.tsx +3 -3
  238. package/src/core/utils/layer/layerContext.ts +1 -1
  239. package/src/core/utils/layer/layerProvider.tsx +10 -2
  240. package/src/core/utils/layer/useLayer.ts +1 -1
  241. package/src/core/utils/portal/__workshop__/named.tsx +3 -3
  242. package/src/core/utils/portal/portal.test.tsx +5 -5
  243. package/src/core/utils/portal/portal.tsx +3 -2
  244. package/src/core/utils/portal/portalContext.ts +1 -1
  245. package/src/core/utils/portal/portalProvider.tsx +2 -2
  246. package/src/core/utils/portal/usePortal.ts +1 -1
  247. package/src/core/utils/srOnly/srOnly.tsx +3 -3
  248. package/src/core/utils/virtualList/__workshop__/infiniteList.tsx +1 -1
  249. package/src/core/utils/virtualList/virtualList.tsx +3 -3
  250. package/src/css/_assign.ts +3 -0
  251. package/src/css/_compileStyle.ts +12 -4
  252. package/src/css/_compileTheme.ts +10 -13
  253. package/src/css/_composeClassNames.ts +12 -0
  254. package/src/css/_fromEntries.ts +3 -0
  255. package/src/css/_getClassNames.ts +9 -0
  256. package/src/css/_hash.ts +9 -0
  257. package/src/css/_mergeStyles.ts +1 -1
  258. package/src/css/_resp.ts +6 -12
  259. package/src/css/_scopeClassName.ts +9 -0
  260. package/src/css/_scopeClassNames.ts +12 -0
  261. package/src/css/_system.style.ts +2 -0
  262. package/src/css/aspects/border/border.style.ts +2 -2
  263. package/src/css/aspects/border/border.ts +3 -3
  264. package/src/css/aspects/border/types.ts +1 -1
  265. package/src/css/aspects/boxSizing/boxSizing.style.ts +10 -0
  266. package/src/css/aspects/boxSizing/boxSizing.ts +8 -0
  267. package/src/css/aspects/boxSizing/index.ts +2 -0
  268. package/src/css/aspects/boxSizing/types.ts +9 -0
  269. package/src/css/aspects/display/display.style.ts +8 -8
  270. package/src/css/aspects/display/display.ts +3 -3
  271. package/src/css/aspects/display/types.ts +1 -1
  272. package/src/css/aspects/flex/flex.ts +3 -3
  273. package/src/css/aspects/flex/types.ts +1 -1
  274. package/src/css/aspects/flexItem/flex.style.ts +1 -1
  275. package/src/css/aspects/flexItem/flexItem.ts +3 -3
  276. package/src/css/aspects/flexItem/types.ts +1 -1
  277. package/src/css/aspects/font/font.style.ts +33 -22
  278. package/src/css/aspects/font/font.ts +3 -3
  279. package/src/css/aspects/font/types.ts +1 -1
  280. package/src/css/aspects/gap/gap.style.ts +2 -2
  281. package/src/css/aspects/gap/gap.ts +3 -3
  282. package/src/css/aspects/gap/types.ts +2 -2
  283. package/src/css/aspects/grid/grid.ts +3 -3
  284. package/src/css/aspects/grid/types.ts +1 -1
  285. package/src/css/aspects/gridItem/gridItem.ts +3 -3
  286. package/src/css/aspects/gridItem/types.ts +1 -1
  287. package/src/css/aspects/height/height.ts +3 -3
  288. package/src/css/aspects/index.ts +1 -0
  289. package/src/css/aspects/inset/inset.ts +3 -3
  290. package/src/css/aspects/inset/types.ts +1 -1
  291. package/src/css/aspects/margin/margin.style.ts +10 -10
  292. package/src/css/aspects/margin/margin.ts +3 -3
  293. package/src/css/aspects/margin/types.ts +1 -1
  294. package/src/css/aspects/maxWidth/maxWidth.style.ts +1 -1
  295. package/src/css/aspects/maxWidth/maxWidth.ts +4 -3
  296. package/src/css/aspects/maxWidth/types.ts +2 -2
  297. package/src/css/aspects/minWidth/minWidth.ts +4 -3
  298. package/src/css/aspects/minWidth/types.ts +1 -1
  299. package/src/css/aspects/overflow/overflow.ts +3 -3
  300. package/src/css/aspects/overflow/types.ts +1 -1
  301. package/src/css/aspects/padding/padding.style.ts +2 -5
  302. package/src/css/aspects/padding/padding.ts +3 -3
  303. package/src/css/aspects/padding/types.ts +2 -2
  304. package/src/css/aspects/pointerEvents/pointerEvents.ts +3 -3
  305. package/src/css/aspects/position/position.ts +3 -3
  306. package/src/css/aspects/position/types.ts +1 -1
  307. package/src/css/aspects/radius/radius.style.ts +1 -1
  308. package/src/css/aspects/radius/radius.ts +3 -3
  309. package/src/css/aspects/radius/types.ts +2 -2
  310. package/src/css/aspects/shadow/shadow.style.ts +7 -7
  311. package/src/css/aspects/shadow/shadow.ts +3 -3
  312. package/src/css/aspects/shadow/types.ts +2 -2
  313. package/src/css/aspects/textAlign/textAlign.style.ts +1 -1
  314. package/src/css/aspects/textAlign/textAlign.ts +3 -3
  315. package/src/css/aspects/textOverflow/textOverflow.ts +3 -3
  316. package/src/css/aspects/width/types.ts +2 -2
  317. package/src/css/aspects/width/width.style.ts +1 -1
  318. package/src/css/aspects/width/width.ts +4 -3
  319. package/src/css/components/breadcrumbs/breadcrumbs.style.ts +1 -1
  320. package/src/css/components/breadcrumbs/breadcrumbs.ts +2 -2
  321. package/src/css/components/dialog/dialog.style.ts +14 -16
  322. package/src/css/components/dialog/dialog.ts +9 -8
  323. package/src/css/components/menu/menu.style.ts +2 -2
  324. package/src/css/components/menu/menu.ts +3 -3
  325. package/src/css/components/skeleton/skeleton.style.ts +24 -17
  326. package/src/css/components/skeleton/skeleton.ts +8 -7
  327. package/src/css/components/skeleton/types.ts +4 -6
  328. package/src/css/components/toast/toast.style.ts +1 -1
  329. package/src/css/components/toast/toast.ts +6 -6
  330. package/src/css/components/tree/tree.style.ts +7 -23
  331. package/src/css/components/tree/tree.ts +2 -2
  332. package/src/css/constants.ts +0 -3
  333. package/src/css/index.ts +3 -5
  334. package/src/css/prefix/constants.ts +6 -0
  335. package/src/css/prefix/types.ts +1 -0
  336. package/src/css/primitives/_arrow/_arrow.style.ts +11 -13
  337. package/src/css/primitives/_arrow/_arrow.ts +5 -5
  338. package/src/css/primitives/_input/_input.style.ts +171 -75
  339. package/src/css/primitives/_input/input.ts +13 -10
  340. package/src/css/primitives/_input/types.ts +3 -3
  341. package/src/css/primitives/_selectable/_selectable.style.ts +5 -6
  342. package/src/css/primitives/_selectable/selectable.ts +4 -3
  343. package/src/css/primitives/_selectable/types.ts +2 -2
  344. package/src/css/primitives/avatar/avatar.style.ts +38 -39
  345. package/src/css/primitives/avatar/avatar.ts +8 -8
  346. package/src/css/primitives/avatar/types.ts +3 -3
  347. package/src/css/primitives/badge/badge.style.ts +2 -3
  348. package/src/css/primitives/badge/badge.ts +7 -3
  349. package/src/css/primitives/badge/types.ts +2 -2
  350. package/src/css/primitives/box/box.style.ts +5 -15
  351. package/src/css/primitives/box/box.ts +7 -9
  352. package/src/css/primitives/box/types.ts +3 -6
  353. package/src/css/primitives/button/button.style.ts +189 -162
  354. package/src/css/primitives/button/button.ts +11 -4
  355. package/src/css/primitives/button/types.ts +1 -1
  356. package/src/css/primitives/card/card.style.ts +102 -68
  357. package/src/css/primitives/card/card.ts +5 -7
  358. package/src/css/primitives/card/types.ts +2 -2
  359. package/src/css/primitives/checkbox/checkbox.style.ts +125 -101
  360. package/src/css/primitives/checkbox/checkbox.ts +3 -3
  361. package/src/css/primitives/code/code.style.ts +24 -26
  362. package/src/css/primitives/code/code.ts +7 -3
  363. package/src/css/primitives/code/types.ts +2 -2
  364. package/src/css/primitives/container/container.style.ts +1 -1
  365. package/src/css/primitives/container/container.ts +4 -3
  366. package/src/css/primitives/container/types.ts +2 -2
  367. package/src/css/primitives/heading/heading.style.ts +31 -23
  368. package/src/css/primitives/heading/heading.ts +10 -8
  369. package/src/css/primitives/heading/types.ts +3 -2
  370. package/src/css/primitives/kbd/kbd.style.ts +7 -7
  371. package/src/css/primitives/kbd/kbd.ts +4 -3
  372. package/src/css/primitives/kbd/types.ts +1 -1
  373. package/src/css/primitives/label/label.style.ts +27 -24
  374. package/src/css/primitives/label/label.ts +5 -8
  375. package/src/css/primitives/label/types.ts +4 -3
  376. package/src/css/primitives/popover/popover.style.ts +6 -2
  377. package/src/css/primitives/popover/popover.ts +3 -3
  378. package/src/css/primitives/radio/radio.style.ts +37 -76
  379. package/src/css/primitives/radio/radio.ts +2 -2
  380. package/src/css/primitives/select/select.style.ts +3 -3
  381. package/src/css/primitives/select/select.ts +5 -5
  382. package/src/css/primitives/select/types.ts +1 -1
  383. package/src/css/primitives/spinner/spinner.style.ts +1 -1
  384. package/src/css/primitives/spinner/spinner.ts +3 -3
  385. package/src/css/primitives/stack/stack.style.ts +6 -2
  386. package/src/css/primitives/stack/stack.ts +2 -2
  387. package/src/css/primitives/switch/switch.style.ts +47 -39
  388. package/src/css/primitives/switch/switch.ts +6 -6
  389. package/src/css/primitives/text/text.style.ts +28 -23
  390. package/src/css/primitives/text/text.ts +5 -8
  391. package/src/css/primitives/text/types.ts +2 -2
  392. package/src/css/primitives/textArea/textArea.style.ts +6 -2
  393. package/src/css/primitives/textArea/textArea.ts +4 -4
  394. package/src/css/primitives/textArea/types.ts +1 -1
  395. package/src/css/primitives/textInput/textInput.style.ts +23 -17
  396. package/src/css/primitives/textInput/textInput.ts +4 -4
  397. package/src/css/primitives/textInput/types.ts +2 -8
  398. package/src/css/primitives/token/token.style.ts +4 -4
  399. package/src/css/primitives/tooltip/tooltip.style.ts +5 -4
  400. package/src/css/primitives/tooltip/tooltip.ts +3 -3
  401. package/src/css/renderColor.ts +31 -0
  402. package/src/css/theme/index.ts +14 -0
  403. package/src/css/theme/lib/contract/buildVarContract.ts +76 -0
  404. package/src/css/theme/lib/contract/index.ts +2 -0
  405. package/src/css/theme/lib/contract/types.ts +15 -0
  406. package/src/css/theme/resolveTheme.ts +852 -0
  407. package/src/css/types.ts +25 -914
  408. package/src/css/utils/srOnly/srOnly.style.ts +1 -1
  409. package/src/css/utils/srOnly/srOnly.ts +3 -3
  410. package/src/theme/getScopedTheme.ts +4 -4
  411. package/src/theme/index.ts +0 -5
  412. package/src/theme/types.ts +4 -4
  413. package/src/theme/v0/color/_generic.ts +1 -1
  414. package/src/theme/v0/color/button.ts +1 -1
  415. package/src/theme/v0/color/card.ts +1 -1
  416. package/src/theme/v0/color/color.ts +11 -11
  417. package/src/theme/v0/color/input.ts +1 -1
  418. package/src/theme/v0/color/muted.ts +1 -1
  419. package/src/theme/v0/color/selectable.ts +1 -1
  420. package/src/theme/v0/color/solid.ts +1 -1
  421. package/src/theme/v0/color/spot.ts +1 -1
  422. package/src/theme/v0/styles.ts +1 -1
  423. package/src/theme/v0/theme.ts +7 -7
  424. package/src/theme/v2/avatar.ts +1 -1
  425. package/src/theme/{build → v2/build}/_deprecated/color/_selectable/createSelectableTones.ts +3 -3
  426. package/src/theme/{build → v2/build}/_deprecated/color/_solid/createSolidTones.ts +2 -2
  427. package/src/theme/{build → v2/build}/_deprecated/color/button/createButtonModes.ts +7 -2
  428. package/src/theme/{build → v2/build}/_deprecated/color/button/createButtonTones.ts +4 -4
  429. package/src/theme/{build → v2/build}/_deprecated/color/card/createCardStates.ts +3 -3
  430. package/src/theme/{build → v2/build}/_deprecated/color/color.test.ts +1 -1
  431. package/src/theme/{build → v2/build}/_deprecated/color/defaults.ts +1 -1
  432. package/src/theme/{build → v2/build}/_deprecated/color/factory.ts +3 -3
  433. package/src/theme/{build → v2/build}/_deprecated/color/input/createInputModes.ts +7 -2
  434. package/src/theme/{build → v2/build}/_deprecated/color/muted/createMuted.ts +2 -2
  435. package/src/theme/{build → v2/build}/_deprecated/color/spot/createSpot.ts +2 -2
  436. package/src/theme/{build → v2/build}/buildColorTheme.test.ts +3 -1
  437. package/src/theme/{build → v2/build}/buildColorTheme.ts +24 -24
  438. package/src/theme/{build → v2/build}/buildTheme.test.ts +10 -8
  439. package/src/theme/{build → v2/build}/buildTheme.ts +4 -4
  440. package/src/theme/{build → v2/build}/colorToken/colorToken.ts +2 -2
  441. package/src/theme/{build → v2/build}/colorToken/compileColorToken.ts +1 -1
  442. package/src/theme/{build → v2/build}/colorToken/types.ts +2 -2
  443. package/src/theme/{build → v2/build}/lib/color-fns/blend/mix.ts +1 -1
  444. package/src/theme/{build → v2/build}/lib/color-fns/blend/multiply.ts +1 -1
  445. package/src/theme/{build → v2/build}/lib/color-fns/blend/screen.ts +1 -1
  446. package/src/theme/{build → v2/build}/lib/color-fns/color-fns.test.ts +1 -1
  447. package/src/theme/{build → v2/build}/lib/color-fns/contrastRatio.ts +5 -2
  448. package/src/theme/{build → v2/build}/lib/color-fns/convert.ts +1 -1
  449. package/src/theme/{build → v2/build}/lib/color-fns/parse.ts +1 -1
  450. package/src/theme/{build → v2/build}/mixThemeColor.test.ts +2 -0
  451. package/src/theme/{build → v2/build}/mixThemeColor.ts +1 -1
  452. package/src/theme/{build → v2/build}/renderColorTheme.ts +27 -27
  453. package/src/theme/{build → v2/build}/renderColorValue.ts +3 -3
  454. package/src/theme/{build → v2/build}/resolveColorTokens.ts +13 -13
  455. package/src/theme/v2/color/_helpers.ts +2 -2
  456. package/src/theme/v2/color/_system.ts +1 -1
  457. package/src/theme/v2/color/avatar.ts +1 -1
  458. package/src/theme/v2/color/badge.ts +1 -1
  459. package/src/theme/v2/color/button.ts +2 -2
  460. package/src/theme/v2/color/color.ts +7 -7
  461. package/src/theme/v2/color/input.ts +5 -1
  462. package/src/theme/v2/color/selectable.ts +2 -2
  463. package/src/theme/v2/color/state.ts +4 -4
  464. package/src/theme/{config → v2/config}/helpers.ts +6 -13
  465. package/src/theme/{config → v2/config}/system.ts +11 -12
  466. package/src/theme/{config → v2/config}/tokens/color/types.ts +14 -10
  467. package/src/theme/{config → v2/config}/tokens/index.ts +0 -1
  468. package/src/theme/{config → v2/config}/tokens/parseTokenValue.test.ts +2 -0
  469. package/src/theme/{config → v2/config}/tokens/parseTokenValue.ts +2 -2
  470. package/src/theme/{config → v2/config}/tokens/types.ts +3 -3
  471. package/src/theme/{config → v2/config}/types.ts +8 -6
  472. package/src/theme/{defaults → v2/defaults}/colorPalette.ts +1 -1
  473. package/src/theme/{defaults → v2/defaults}/colorTokens.ts +1 -1
  474. package/src/theme/{defaults → v2/defaults}/config.ts +1 -1
  475. package/src/theme/{defaults → v2/defaults}/fonts.ts +1 -1
  476. package/src/theme/v2/index.ts +2 -0
  477. package/src/theme/v2/input.ts +1 -1
  478. package/src/theme/v2/theme.ts +8 -8
  479. package/src/theme/{_constants.ts → v3/_constants.ts} +6 -3
  480. package/src/theme/v3/_parseColorToken.ts +185 -0
  481. package/src/theme/v3/buildTheme_v3.ts +11 -7
  482. package/src/theme/v3/color/_constants.ts +15 -0
  483. package/src/theme/v3/color/avatar.ts +14 -0
  484. package/src/theme/v3/color/card.ts +53 -53
  485. package/src/theme/v3/color/color.ts +66 -68
  486. package/src/theme/v3/color/element.ts +8 -8
  487. package/src/theme/v3/color/index.ts +2 -2
  488. package/src/theme/v3/color/token.ts +18 -4
  489. package/src/theme/v3/color/tokens.ts +2 -2
  490. package/src/theme/v3/defaultTokens.ts +73 -85
  491. package/src/theme/v3/index.ts +3 -0
  492. package/src/theme/v3/palette/index.ts +2 -0
  493. package/src/theme/v3/resolveTokens.ts +65 -65
  494. package/src/theme/v3/tokens.ts +2 -2
  495. package/src/theme/v3/types.ts +61 -7
  496. package/src/theme/versioning/getTheme_v2.ts +3 -3
  497. package/src/theme/versioning/is_v0.ts +2 -2
  498. package/src/theme/versioning/is_v2.ts +2 -2
  499. package/src/theme/versioning/themeColor_v0_v2.ts +2 -2
  500. package/src/theme/versioning/themeColor_v2_v2_9.ts +1 -1
  501. package/src/theme/versioning/themeColor_v3_v2.ts +229 -52
  502. package/src/theme/versioning/v0_v2.ts +3 -3
  503. package/src/theme/versioning/v2_v0.ts +4 -4
  504. package/src/theme/versioning/v3_v2.ts +38 -38
  505. package/dist/ui-palette.css +0 -105
  506. package/dist/ui-palette.min.css +0 -1
  507. package/src/css/_comp.test.ts +0 -7
  508. package/src/css/_comp.ts +0 -11
  509. package/src/css/_compilePalette.ts +0 -32
  510. package/src/css/_compileTheme_v3.ts +0 -440
  511. package/src/css/aspects/flex/flex.style.ts +0 -30
  512. package/src/css/composeClassNames.ts +0 -19
  513. package/src/css/primitives/_selectable/__style.ts +0 -117
  514. package/src/css/primitives/checkbox/__styles.ts +0 -129
  515. package/src/css/scopeClassName.ts +0 -7
  516. package/src/css/varNames.ts +0 -607
  517. package/src/css/vars.ts +0 -520
  518. package/src/theme/_types.ts +0 -41
  519. package/src/theme/build/theme.test.ts +0 -27
  520. package/src/theme/config/tokens/parseTokenKey.test.ts +0 -64
  521. package/src/theme/config/tokens/parseTokenKey.ts +0 -67
  522. package/src/theme/v3/buildTheme_v3.test.ts +0 -40
  523. package/src/theme/v3/color/buildColor_v3.ts +0 -226
  524. package/src/theme/v3/color/parseColor.test.ts +0 -79
  525. package/src/theme/v3/color/parseColor.ts +0 -167
  526. package/src/theme/v3/color/renderColor.test.ts +0 -20
  527. package/src/theme/v3/color/renderColor.ts +0 -43
  528. /package/src/{theme/palette → css/prefix}/index.ts +0 -0
  529. /package/src/theme/{build → v2/build}/_deprecated/color/index.ts +0 -0
  530. /package/src/theme/{build → v2/build}/colorToken/index.ts +0 -0
  531. /package/src/theme/{build → v2/build}/index.ts +0 -0
  532. /package/src/theme/{build → v2/build}/lib/color-fns/blend/index.ts +0 -0
  533. /package/src/theme/{build → v2/build}/lib/color-fns/index.ts +0 -0
  534. /package/src/theme/{build → v2/build}/lib/color-fns/rgba.ts +0 -0
  535. /package/src/theme/{build → v2/build}/lib/color-fns/types.ts +0 -0
  536. /package/src/theme/{build → v2/build}/lib/isRecord.ts +0 -0
  537. /package/src/theme/{build → v2/build}/lib/utils.ts +0 -0
  538. /package/src/theme/{build → v2/build}/merge.ts +0 -0
  539. /package/src/theme/{config → v2/config}/index.ts +0 -0
  540. /package/src/theme/{config → v2/config}/tokens/color/index.ts +0 -0
  541. /package/src/theme/{palette → v3/palette}/constants.ts +0 -0
  542. /package/src/theme/{palette → v3/palette}/types.ts +0 -0
package/dist/css.cjs CHANGED
@@ -1,29 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: !0 });
3
- var color = require("@sanity/color"), theme = require("@sanity/ui/theme");
4
- const BREAKPOINTS = {
5
- 0: 0,
6
- 1: 360,
7
- 2: 600,
8
- 3: 900,
9
- 4: 1200,
10
- 5: 1800,
11
- 6: 2400
12
- }, PREFIX = "s-";
3
+ var theme = require("@sanity/ui/theme"), version = "3.0.0-static.19";
4
+ function _hash(value) {
5
+ let h = 5381;
6
+ for (let index = 0, len = value.length; index < len; index++)
7
+ h = (h << 5) + h + value.charCodeAt(index) >>> 0;
8
+ return h.toString(36);
9
+ }
10
+ const PREFIX = `s${_hash(version).slice(0, 5)}-`;
13
11
  function isRecord(value) {
14
12
  return value !== null && typeof value == "object" && !Array.isArray(value);
15
13
  }
16
14
  function isArray(value) {
17
15
  return Array.isArray(value);
18
16
  }
19
- function rem(value) {
17
+ function rem$1(value) {
20
18
  return value === 0 ? "0" : `${value / 16}rem`;
21
19
  }
22
- function px(value) {
20
+ function px$1(value) {
23
21
  return value === 0 ? "0" : `${value}px`;
24
22
  }
25
- function toBoxShadow(value) {
26
- return value ? value.map((n) => px(n)).join(" ") : "none";
23
+ function toBoxShadow$1(value) {
24
+ return value ? value.map((n) => px$1(n)).join(" ") : "none";
27
25
  }
28
26
  function _compileStyle(style) {
29
27
  let css = "";
@@ -42,7 +40,7 @@ function _compileStyle(style) {
42
40
  }
43
41
  if (style.layers && Object.keys(style.layers).length > 0)
44
42
  for (const [layerName, layerRules] of Object.entries(style.layers))
45
- Object.keys(layerRules).length > 0 && (css += `@layer ${PREFIX}${layerName} {
43
+ Object.keys(layerRules).length > 0 && (css += `@layer ${layerName} {
46
44
  `, css += compileStyleRules(layerRules), css += `}
47
45
 
48
46
  `);
@@ -51,17 +49,17 @@ function _compileStyle(style) {
51
49
  function compileStyleRules(rules2) {
52
50
  let css = "";
53
51
  const mediaMap = /* @__PURE__ */ new Map();
54
- for (const [selector, properties] of Object.entries(rules2))
55
- if (properties) {
56
- if (properties["@media"])
57
- for (const [mediaQuery, mediaProps] of Object.entries(properties["@media"])) {
52
+ for (const [selector, properties2] of Object.entries(rules2))
53
+ if (properties2) {
54
+ if (properties2["@media"])
55
+ for (const [mediaQuery, mediaProps] of Object.entries(properties2["@media"])) {
58
56
  const arr = mediaMap.get(mediaQuery) ?? [];
59
57
  arr.push({
60
58
  selector,
61
59
  props: mediaProps
62
60
  }), mediaMap.set(mediaQuery, arr);
63
61
  }
64
- css += compileStyleRule(selector, properties);
62
+ css += compileStyleRule(selector, properties2);
65
63
  }
66
64
  for (const [mediaQuery, mediaRules] of mediaMap) {
67
65
  css += `@media ${mediaQuery} {
@@ -74,15 +72,15 @@ function compileStyleRules(rules2) {
74
72
  }
75
73
  return css;
76
74
  }
77
- function compileStyleRule(_selector, properties) {
75
+ function compileStyleRule(_selector, properties2) {
78
76
  let css = "";
79
77
  const {
80
78
  _prefix = !0,
81
79
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
82
80
  "@media": _mediaProps,
83
- "@nest": nestedProps,
81
+ nest: nestedProps,
84
82
  ...restProperties
85
- } = properties, selector = _prefix ? `${_selector.replace(/\./g, `.${PREFIX}`)}` : _selector;
83
+ } = properties2, selector = _prefix ? `${_selector.replace(/\./g, `.${PREFIX}`)}` : _selector;
86
84
  if (Object.entries(restProperties).length && (css += `${selector} {
87
85
  `, css += compileProperties(restProperties), css += `}
88
86
 
@@ -99,7 +97,13 @@ function compileStyleRule(_selector, properties) {
99
97
  function compileProperties(props) {
100
98
  let css = "";
101
99
  const propEntries = Object.entries(props);
102
- for (const [key, value] of propEntries)
100
+ for (const [key, value] of propEntries) {
101
+ if (key === "vars") {
102
+ for (const [k, v] of Object.entries(value))
103
+ css += ` ${k}: ${v};
104
+ `;
105
+ continue;
106
+ }
103
107
  if (!key.startsWith("@"))
104
108
  if (isArray(value))
105
109
  for (const item of value)
@@ -108,526 +112,12 @@ function compileProperties(props) {
108
112
  else
109
113
  css += ` ${toSnakeCase(key)}: ${value};
110
114
  `;
115
+ }
111
116
  return css;
112
117
  }
113
118
  function toSnakeCase(str) {
114
119
  return str.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
115
120
  }
116
- const varNames = {
117
- avatar: {
118
- distance: "--avatar-distance",
119
- focusRing: {
120
- offset: "--avatar-focus-ring-offset",
121
- width: "--avatar-focus-ring-width"
122
- },
123
- size: "--avatar-size",
124
- sizes: theme.AVATAR_SIZE.reduce((acc, size) => ({
125
- ...acc,
126
- [size]: {
127
- distance: `--avatar-${size}-distance`,
128
- size: `--avatar-${size}-size`
129
- }
130
- }), {})
131
- },
132
- button: {
133
- border: {
134
- width: "--button-border-width"
135
- },
136
- focusRing: {
137
- offset: "--button-focus-ring-offset",
138
- width: "--button-focus-ring-width"
139
- }
140
- },
141
- card: {
142
- shadow: {
143
- outline: "--card-shadow-outline"
144
- }
145
- },
146
- color: {
147
- // card scope
148
- avatar: {
149
- bg: "--color-avatar-bg",
150
- fg: "--color-avatar-fg",
151
- gray: {
152
- bg: "--color-avatar-gray-bg",
153
- fg: "--color-avatar-gray-fg"
154
- },
155
- blue: {
156
- bg: "--color-avatar-blue-bg",
157
- fg: "--color-avatar-blue-fg"
158
- },
159
- purple: {
160
- bg: "--color-avatar-purple-bg",
161
- fg: "--color-avatar-purple-fg"
162
- },
163
- magenta: {
164
- bg: "--color-avatar-magenta-bg",
165
- fg: "--color-avatar-magenta-fg"
166
- },
167
- red: {
168
- bg: "--color-avatar-red-bg",
169
- fg: "--color-avatar-red-fg"
170
- },
171
- orange: {
172
- bg: "--color-avatar-orange-bg",
173
- fg: "--color-avatar-gray-fg"
174
- },
175
- yellow: {
176
- bg: "--color-avatar-yellow-bg",
177
- fg: "--color-avatar-yellow-fg"
178
- },
179
- green: {
180
- bg: "--color-avatar-green-bg",
181
- fg: "--color-avatar-green-fg"
182
- },
183
- cyan: {
184
- bg: "--color-avatar-cyan-bg",
185
- fg: "--color-avatar-yellow-fg"
186
- }
187
- },
188
- backdrop: "--color-backdrop",
189
- bg: "--color-bg",
190
- border: "--color-border",
191
- code: {
192
- bg: "--color-code-bg",
193
- fg: "--color-code-fg",
194
- token: {
195
- atrule: "--color-code-token-atrule",
196
- attrName: "--color-code-token-attr-name",
197
- attrValue: "--color-code-token-attr-value",
198
- attribute: "--color-code-token-attribute",
199
- boolean: "--color-code-token-boolean",
200
- builtin: "--color-code-token-builtin",
201
- cdata: "--color-code-token-cdata",
202
- char: "--color-code-token-char",
203
- class: "--color-code-token-class",
204
- className: "--color-code-token-class-name",
205
- comment: "--color-code-token-comment",
206
- constant: "--color-code-token-constant",
207
- deleted: "--color-code-token-deleted",
208
- doctype: "--color-code-token-doctype",
209
- entity: "--color-code-token-entity",
210
- function: "--color-code-token-function",
211
- hexcode: "--color-code-token-hexcode",
212
- id: "--color-code-token-id",
213
- important: "--color-code-token-important",
214
- inserted: "--color-code-token-inserted",
215
- keyword: "--color-code-token-keyword",
216
- number: "--color-code-token-number",
217
- operator: "--color-code-token-operator",
218
- prolog: "--color-code-token-prolog",
219
- property: "--color-code-token-property",
220
- pseudoClass: "--color-code-token-pseudo-class",
221
- pseudoElement: "--color-code-token-pseudo-element",
222
- punctuation: "--color-code-token-punctuation",
223
- regex: "--color-code-token-regex",
224
- selector: "--color-code-token-selector",
225
- string: "--color-code-token-string",
226
- symbol: "--color-code-token-symbol",
227
- tag: "--color-code-token-tag",
228
- unit: "--color-code-token-unit",
229
- url: "--color-code-token-url",
230
- variable: "--color-code-token-variable"
231
- }
232
- },
233
- fg: "--color-fg",
234
- focusRing: "--color-focus-ring",
235
- input: {
236
- bg: "--color-input-bg",
237
- border: "--color-input-border",
238
- fg: "--color-input-fg",
239
- placeholder: "--color-input-placeholder"
240
- },
241
- link: {
242
- fg: "--color-link-fg"
243
- },
244
- muted: {
245
- bg: "--color-muted-bg",
246
- fg: "--color-muted-fg"
247
- },
248
- shadow: {
249
- outline: "--color-shadow-outline",
250
- umbra: "--color-shadow-umbra",
251
- penumbra: "--color-shadow-penumbra",
252
- ambient: "--color-shadow-ambient"
253
- },
254
- skeleton: {
255
- from: "--color-skeleton-from",
256
- to: "--color-skeleton-to"
257
- },
258
- solid: buildColorVariantVarNames({
259
- variant: "solid"
260
- }),
261
- tinted: buildColorVariantVarNames({
262
- variant: "tinted"
263
- }),
264
- // tone scopes
265
- ...theme.THEME_COLOR_CARD_TONES.reduce((acc, tone) => (acc[tone] = buildColorCardVarNames({
266
- tone
267
- }), acc), {}),
268
- // scheme scopes
269
- dark: theme.THEME_COLOR_CARD_TONES.reduce((acc, tone) => (acc[tone] = buildColorCardVarNames({
270
- scheme: "dark",
271
- tone
272
- }), acc), {}),
273
- light: theme.THEME_COLOR_CARD_TONES.reduce((acc, tone) => (acc[tone] = buildColorCardVarNames({
274
- scheme: "light",
275
- tone
276
- }), acc), {})
277
- },
278
- container: {
279
- 0: "--container-0",
280
- 1: "--container-1",
281
- 2: "--container-2",
282
- 3: "--container-3",
283
- 4: "--container-4",
284
- 5: "--container-5"
285
- },
286
- font: {
287
- code: {
288
- family: "--font-code-family",
289
- featureSettings: "--font-code-feature-settings",
290
- sizes: theme.FONT_CODE_SIZE.reduce((acc, size) => ({
291
- ...acc,
292
- [size]: {
293
- fontSize: `--font-code-${size}-size`,
294
- ascenderHeight: `--font-code-${size}-ascender-height`,
295
- descenderHeight: `--font-code-${size}-descender-height`,
296
- lineHeight: `--font-code-${size}-line-height`,
297
- letterSpacing: `--font-code-${size}-letter-spacing`,
298
- iconSize: `--font-code-${size}-icon-size`
299
- }
300
- }), {}),
301
- weights: {
302
- regular: "--font-code-weight-regular",
303
- medium: "--font-code-weight-medium",
304
- semibold: "--font-code-weight-semibold",
305
- bold: "--font-code-weight-bold"
306
- }
307
- },
308
- heading: {
309
- family: "--font-heading-family",
310
- featureSettings: "--font-heading-feature-settings",
311
- sizes: theme.FONT_HEADING_SIZE.reduce((acc, size) => ({
312
- ...acc,
313
- [size]: {
314
- fontSize: `--font-heading-${size}-size`,
315
- ascenderHeight: `--font-heading-${size}-ascender-height`,
316
- descenderHeight: `--font-heading-${size}-descender-height`,
317
- lineHeight: `--font-heading-${size}-line-height`,
318
- letterSpacing: `--font-heading-${size}-letter-spacing`,
319
- iconSize: `--font-heading-${size}-icon-size`
320
- }
321
- }), {}),
322
- weights: {
323
- regular: "--font-heading-weight-regular",
324
- medium: "--font-heading-weight-medium",
325
- semibold: "--font-heading-weight-semibold",
326
- bold: "--font-heading-weight-bold"
327
- }
328
- },
329
- label: {
330
- family: "--font-label-family",
331
- featureSettings: "--font-label-feature-settings",
332
- sizes: theme.FONT_LABEL_SIZE.reduce((acc, size) => ({
333
- ...acc,
334
- [size]: {
335
- fontSize: `--font-label-${size}-size`,
336
- ascenderHeight: `--font-label-${size}-ascender-height`,
337
- descenderHeight: `--font-label-${size}-descender-height`,
338
- lineHeight: `--font-label-${size}-line-height`,
339
- letterSpacing: `--font-label-${size}-letter-spacing`,
340
- iconSize: `--font-label-${size}-icon-size`
341
- }
342
- }), {}),
343
- weights: {
344
- regular: "--font-label-weight-regular",
345
- medium: "--font-label-weight-medium",
346
- semibold: "--font-label-weight-semibold",
347
- bold: "--font-label-weight-bold"
348
- }
349
- },
350
- text: {
351
- family: "--font-text-family",
352
- featureSettings: "--font-text-feature-settings",
353
- sizes: theme.FONT_TEXT_SIZE.reduce((acc, size) => ({
354
- ...acc,
355
- [size]: {
356
- fontSize: `--font-text-${size}-size`,
357
- ascenderHeight: `--font-text-${size}-ascender-height`,
358
- descenderHeight: `--font-text-${size}-descender-height`,
359
- lineHeight: `--font-text-${size}-line-height`,
360
- letterSpacing: `--font-text-${size}-letter-spacing`,
361
- iconSize: `--font-text-${size}-icon-size`
362
- }
363
- }), {}),
364
- weights: {
365
- regular: "--font-text-weight-regular",
366
- medium: "--font-text-weight-medium",
367
- semibold: "--font-text-weight-semibold",
368
- bold: "--font-text-weight-bold"
369
- }
370
- }
371
- },
372
- input: {
373
- border: {
374
- width: "--input-border-width"
375
- },
376
- checkbox: {
377
- focusRing: {
378
- offset: "--input-checkbox-focus-ring-offset",
379
- width: "--input-checkbox-focus-ring-width"
380
- },
381
- size: "--input-checkbox-size"
382
- },
383
- radio: {
384
- focusRing: {
385
- offset: "--input-radio-focus-ring-offset",
386
- width: "--input-radio-focus-ring-width"
387
- },
388
- markSize: "--input-radio-mark-size",
389
- size: "--input-radio-size"
390
- },
391
- select: {
392
- focusRing: {
393
- offset: "--input-select-focus-ring-offset",
394
- width: "--input-select-focus-ring-width"
395
- }
396
- },
397
- switch: {
398
- focusRing: {
399
- offset: "--input-switch-focus-ring-offset",
400
- width: "--input-switch-focus-ring-width"
401
- },
402
- height: "--input-switch-height",
403
- padding: "--input-switch-padding",
404
- transitionDurationMs: "--input-switch-transition-duration-ms",
405
- transitionTimingFunction: "--input-switch-transition-timing-function",
406
- width: "--input-switch-width"
407
- },
408
- text: {
409
- focusRing: {
410
- offset: "--input-text-focus-ring-offset",
411
- width: "--input-text-focus-ring-width"
412
- }
413
- },
414
- fontSize: "--input-font-size",
415
- lineHeight: "--input-line-height",
416
- letterSpacing: "--input-letter-spacing",
417
- ascenderHeight: "--input-ascender-height",
418
- descenderHeight: "--input-descender-height",
419
- gap: "--input-gap",
420
- padding: "--input-padding"
421
- },
422
- radius: Object.fromEntries(theme.RADIUS.map((radius2) => [radius2, `--radius-${radius2}`])),
423
- shadow: Object.fromEntries(theme.SHADOW.map((shadow2) => [shadow2, {
424
- umbra: `--shadow-${shadow2}-umbra`,
425
- penumbra: `--shadow-${shadow2}-penumbra`,
426
- ambient: `--shadow-${shadow2}-ambient`
427
- }])),
428
- space: Object.fromEntries(theme.SPACE.map((space) => [space, `--space-${String(space).replace(".", "_")}`])),
429
- // color
430
- black: "--black",
431
- white: "--white",
432
- ...color.COLOR_HUES.reduce((acc, hue) => {
433
- const tints = {};
434
- for (const tint of color.COLOR_TINTS)
435
- tints[tint] = `--${hue}-${tint}`;
436
- return acc[hue] = tints, acc;
437
- }, {})
438
- };
439
- function buildColorCardVarNames(props) {
440
- const {
441
- scheme,
442
- tone
443
- } = props, prefix = scheme ? `--color-${scheme}-${tone}` : `--color-${tone}`;
444
- return {
445
- avatar: {
446
- gray: {
447
- bg: `${prefix}-avatar-gray-bg`,
448
- fg: `${prefix}-avatar-gray-fg`
449
- },
450
- blue: {
451
- bg: `${prefix}-avatar-blue-bg`,
452
- fg: `${prefix}-avatar-blue-fg`
453
- },
454
- purple: {
455
- bg: `${prefix}-avatar-purple-bg`,
456
- fg: `${prefix}-avatar-purple-fg`
457
- },
458
- magenta: {
459
- bg: `${prefix}-avatar-magenta-bg`,
460
- fg: `${prefix}-avatar-magenta-fg`
461
- },
462
- red: {
463
- bg: `${prefix}-avatar-red-bg`,
464
- fg: `${prefix}-avatar-red-fg`
465
- },
466
- orange: {
467
- bg: `${prefix}-avatar-orange-bg`,
468
- fg: `${prefix}-avatar-gray-fg`
469
- },
470
- yellow: {
471
- bg: `${prefix}-avatar-yellow-bg`,
472
- fg: `${prefix}-avatar-yellow-fg`
473
- },
474
- green: {
475
- bg: `${prefix}-avatar-green-bg`,
476
- fg: `${prefix}-avatar-green-fg`
477
- },
478
- cyan: {
479
- bg: `${prefix}-avatar-cyan-bg`,
480
- fg: `${prefix}-avatar-yellow-fg`
481
- }
482
- },
483
- backdrop: `${prefix}-backdrop`,
484
- code: {
485
- bg: `${prefix}-code-bg`,
486
- fg: `${prefix}-code-fg`,
487
- token: {
488
- atrule: `${prefix}-code-token-atrule`,
489
- attrName: `${prefix}-code-token-attr-name`,
490
- attrValue: `${prefix}-code-token-attr-value`,
491
- attribute: `${prefix}-code-token-attribute`,
492
- boolean: `${prefix}-code-token-boolean`,
493
- builtin: `${prefix}-code-token-builtin`,
494
- cdata: `${prefix}-code-token-cdata`,
495
- char: `${prefix}-code-token-char`,
496
- class: `${prefix}-code-token-class`,
497
- className: `${prefix}-code-token-class-name`,
498
- comment: `${prefix}-code-token-comment`,
499
- constant: `${prefix}-code-token-constant`,
500
- deleted: `${prefix}-code-token-deleted`,
501
- doctype: `${prefix}-code-token-doctype`,
502
- entity: `${prefix}-code-token-entity`,
503
- function: `${prefix}-code-token-function`,
504
- hexcode: `${prefix}-code-token-hexcode`,
505
- id: `${prefix}-code-token-id`,
506
- important: `${prefix}-code-token-important`,
507
- inserted: `${prefix}-code-token-inserted`,
508
- keyword: `${prefix}-code-token-keyword`,
509
- number: `${prefix}-code-token-number`,
510
- operator: `${prefix}-code-token-operator`,
511
- prolog: `${prefix}-code-token-prolog`,
512
- property: `${prefix}-code-token-property`,
513
- pseudoClass: `${prefix}-code-token-pseudo-class`,
514
- pseudoElement: `${prefix}-code-token-pseudo-element`,
515
- punctuation: `${prefix}-code-token-punctuation`,
516
- regex: `${prefix}-code-token-regex`,
517
- selector: `${prefix}-code-token-selector`,
518
- string: `${prefix}-code-token-string`,
519
- symbol: `${prefix}-code-token-symbol`,
520
- tag: `${prefix}-code-token-tag`,
521
- unit: `${prefix}-code-token-unit`,
522
- url: `${prefix}-code-token-url`,
523
- variable: `${prefix}-code-token-variable`
524
- }
525
- },
526
- focusRing: `${prefix}-focus-ring`,
527
- link: {
528
- fg: `${prefix}-link-fg`
529
- },
530
- muted: {
531
- bg: `${prefix}-muted-bg`,
532
- fg: `${prefix}-muted-fg`
533
- },
534
- shadow: {
535
- outline: `${prefix}-shadow-outline`,
536
- umbra: `${prefix}-shadow-umbra`,
537
- penumbra: `${prefix}-shadow-penumbra`,
538
- ambient: `${prefix}-shadow-ambient`
539
- },
540
- skeleton: {
541
- from: `${prefix}-skeleton-from`,
542
- to: `${prefix}-skeleton-to`
543
- },
544
- solid: buildColorVariantVarNames({
545
- scheme,
546
- tone,
547
- variant: "solid"
548
- }),
549
- tinted: buildColorVariantVarNames({
550
- scheme,
551
- tone,
552
- variant: "tinted"
553
- })
554
- };
555
- }
556
- function buildColorVariantVarNames(options) {
557
- const {
558
- scheme,
559
- tone,
560
- variant
561
- } = options, prefix = scheme && tone ? `--color-${scheme}-${tone}-${variant}` : tone ? `--color-${tone}-${variant}` : `--color-${variant}`, vars2 = {
562
- bg: {
563
- 0: `${prefix}-bg-0`,
564
- 1: `${prefix}-bg-1`,
565
- 2: `${prefix}-bg-2`,
566
- 3: `${prefix}-bg-3`,
567
- 4: `${prefix}-bg-4`
568
- },
569
- border: {
570
- 0: `${prefix}-border-0`,
571
- 1: `${prefix}-border-1`,
572
- 2: `${prefix}-border-2`,
573
- 3: `${prefix}-border-3`,
574
- 4: `${prefix}-border-4`
575
- },
576
- fg: {
577
- 0: `${prefix}-fg-0`,
578
- 1: `${prefix}-fg-1`,
579
- 2: `${prefix}-fg-2`,
580
- 3: `${prefix}-fg-3`,
581
- 4: `${prefix}-fg-4`
582
- }
583
- };
584
- for (const elementTone of theme.THEME_COLOR_STATE_TONES) {
585
- const _prefix = scheme && tone ? `--color-${scheme}-${tone}-${variant}-${elementTone}` : tone ? `--color-${tone}-${variant}-${elementTone}` : `--color-${variant}-${elementTone}`;
586
- vars2[elementTone] = {
587
- bg: {
588
- 0: `${_prefix}-bg-0`,
589
- 1: `${_prefix}-bg-1`,
590
- 2: `${_prefix}-bg-2`,
591
- 3: `${_prefix}-bg-3`,
592
- 4: `${_prefix}-bg-4`
593
- },
594
- border: {
595
- 0: `${_prefix}-border-0`,
596
- 1: `${_prefix}-border-1`,
597
- 2: `${_prefix}-border-2`,
598
- 3: `${_prefix}-border-3`,
599
- 4: `${_prefix}-border-4`
600
- },
601
- fg: {
602
- 0: `${_prefix}-fg-0`,
603
- 1: `${_prefix}-fg-1`,
604
- 2: `${_prefix}-fg-2`,
605
- 3: `${_prefix}-fg-3`,
606
- 4: `${_prefix}-fg-4`
607
- }
608
- };
609
- }
610
- return vars2;
611
- }
612
- function _compilePalette() {
613
- return _compileStyle({
614
- layers: {
615
- palette: {
616
- ":root": compilePaletteProperties()
617
- }
618
- }
619
- });
620
- }
621
- function compilePaletteProperties() {
622
- const rules2 = {
623
- [varNames.black]: color.color.black.hex,
624
- [varNames.white]: color.color.white.hex
625
- };
626
- for (const hue of theme.HUES)
627
- for (const tint of theme.TINTS)
628
- rules2[varNames[hue][tint]] = color.color[hue][tint].hex;
629
- return rules2;
630
- }
631
121
  function _mergeStyles(styles) {
632
122
  const keyframes2 = {}, layers = {}, rules2 = {};
633
123
  for (const s of styles) {
@@ -642,521 +132,781 @@ function _mergeStyles(styles) {
642
132
  rules: rules2
643
133
  };
644
134
  }
645
- function _responsiveRule(rules2, _name, properties) {
135
+ function _responsiveRule(rules2, _name, properties2) {
646
136
  const name = _name.replace(/\./g, "_");
647
- rules2[`.${name}`] = properties, rules2[`.1\\:${name}`] = {
137
+ rules2[`.${name}`] = properties2, rules2[`.1\\:${name}`] = {
648
138
  "@media": {
649
- "screen and (min-width: 360px)": properties
139
+ "screen and (min-width: 360px)": properties2
650
140
  }
651
141
  }, rules2[`.2\\:${name}`] = {
652
142
  "@media": {
653
- "screen and (min-width: 600px)": properties
143
+ "screen and (min-width: 600px)": properties2
654
144
  }
655
145
  }, rules2[`.3\\:${name}`] = {
656
146
  "@media": {
657
- "screen and (min-width: 900px)": properties
147
+ "screen and (min-width: 900px)": properties2
658
148
  }
659
149
  }, rules2[`.4\\:${name}`] = {
660
150
  "@media": {
661
- "screen and (min-width: 1200px)": properties
151
+ "screen and (min-width: 1200px)": properties2
662
152
  }
663
153
  }, rules2[`.5\\:${name}`] = {
664
154
  "@media": {
665
- "screen and (min-width: 1800px)": properties
155
+ "screen and (min-width: 1800px)": properties2
666
156
  }
667
157
  }, rules2[`.6\\:${name}`] = {
668
158
  "@media": {
669
- "screen and (min-width: 2400px)": properties
159
+ "screen and (min-width: 2400px)": properties2
670
160
  }
671
161
  };
672
162
  }
673
- const darkColorVars = {};
674
- for (const tone of theme.THEME_COLOR_CARD_TONES)
675
- darkColorVars[tone] = buildColorCardVars({
676
- scheme: "dark",
677
- tone
678
- });
679
- const lightColorVars = {};
680
- for (const tone of theme.THEME_COLOR_CARD_TONES)
681
- lightColorVars[tone] = buildColorCardVars({
682
- scheme: "light",
683
- tone
684
- });
685
- const colorVars = {
686
- avatar: {
687
- bg: `var(${varNames.color.avatar.bg})`,
688
- fg: `var(${varNames.color.avatar.fg})`,
689
- gray: {
690
- bg: `var(${varNames.color.avatar.gray.bg})`,
691
- fg: `var(${varNames.color.avatar.gray.fg})`
692
- },
693
- blue: {
694
- bg: `var(${varNames.color.avatar.blue.bg})`,
695
- fg: `var(${varNames.color.avatar.blue.fg})`
696
- },
697
- purple: {
698
- bg: `var(${varNames.color.avatar.purple.bg})`,
699
- fg: `var(${varNames.color.avatar.purple.fg})`
700
- },
701
- magenta: {
702
- bg: `var(${varNames.color.avatar.magenta.bg})`,
703
- fg: `var(${varNames.color.avatar.magenta.fg})`
704
- },
705
- red: {
706
- bg: `var(${varNames.color.avatar.red.bg})`,
707
- fg: `var(${varNames.color.avatar.red.fg})`
708
- },
709
- orange: {
710
- bg: `var(${varNames.color.avatar.orange.bg})`,
711
- fg: `var(${varNames.color.avatar.orange.fg})`
712
- },
713
- yellow: {
714
- bg: `var(${varNames.color.avatar.yellow.bg})`,
715
- fg: `var(${varNames.color.avatar.yellow.fg})`
163
+ function _fromEntries(entries) {
164
+ return Object.fromEntries(entries);
165
+ }
166
+ function buildVarContract(contract, options) {
167
+ return {
168
+ vars: buildVars(contract, options),
169
+ varNames: buildVarNames(contract, options),
170
+ properties: buildProperties(contract, options)
171
+ };
172
+ }
173
+ function buildProperties(contract, options) {
174
+ const _properties = {};
175
+ function walk(c) {
176
+ for (const key in c)
177
+ typeof c[key] == "string" ? _properties[`--${options.prefix}${_hash(`${options.layer}.${c[key]}`)}`] = c[key] : c[key] === null || walk(c[key]);
178
+ }
179
+ return walk(contract), Object.freeze(_properties);
180
+ }
181
+ function buildVars(contract, options, path = "") {
182
+ const _vars = {};
183
+ for (const key in contract)
184
+ typeof contract[key] == "string" ? _vars[key] = `var(--${options.prefix}${_hash(`${options.layer}.${contract[key]}`)})` : contract[key] === null ? _vars[key] = `var(--${options.prefix}${_hash(`${options.layer}.${path}.${key}`)})` : _vars[key] = buildVars(contract[key], options, [path, key].join("."));
185
+ return Object.freeze(_vars);
186
+ }
187
+ function buildVarNames(contract, options, path = "") {
188
+ const _varNames = {};
189
+ for (const key in contract)
190
+ typeof contract[key] == "string" ? _varNames[key] = `--${options.prefix}${_hash(`${options.layer}.${contract[key]}`)}` : contract[key] === null ? _varNames[key] = `--${options.prefix}${_hash(`${options.layer}.${path}.${key}`)}` : _varNames[key] = buildVarNames(contract[key], options, [path, key].join("."));
191
+ return Object.freeze(_varNames);
192
+ }
193
+ function resolveTheme(options) {
194
+ const {
195
+ theme: theme$1
196
+ } = options, paletteResult = buildVarContract({
197
+ palette: {
198
+ black: theme$1.palette.black.hex,
199
+ white: theme$1.palette.white.hex,
200
+ ..._fromEntries(theme.HUES.map((hue) => [hue, _fromEntries(theme.TINTS.map((tint) => [tint, theme$1.palette.hues[hue][tint].hex]))]))
201
+ }
202
+ }, {
203
+ layer: "palette",
204
+ prefix: "s"
205
+ }), themeResult = buildVarContract({
206
+ arrow: {
207
+ size: null
716
208
  },
717
- green: {
718
- bg: `var(${varNames.color.avatar.green.bg})`,
719
- fg: `var(${varNames.color.avatar.green.fg})`
209
+ avatar: {
210
+ distance: null,
211
+ size: null,
212
+ focusRing: {
213
+ offset: px(theme$1.avatar.focusRing.offset),
214
+ width: px(theme$1.avatar.focusRing.width)
215
+ },
216
+ sizes: _fromEntries(theme.AVATAR_SIZE.map((s) => [s, {
217
+ distance: rem(theme$1.avatar.sizes[s].distance),
218
+ size: rem(theme$1.avatar.sizes[s].size)
219
+ }]))
720
220
  },
721
- cyan: {
722
- bg: `var(${varNames.color.avatar.cyan.bg})`,
723
- fg: `var(${varNames.color.avatar.cyan.fg})`
724
- }
725
- },
726
- backdrop: `var(${varNames.color.backdrop})`,
727
- bg: `var(${varNames.color.bg})`,
728
- border: `var(${varNames.color.border})`,
729
- code: {
730
- bg: `var(${varNames.color.code.bg})`,
731
- fg: `var(${varNames.color.code.fg})`,
732
- token: {
733
- atrule: `var(${varNames.color.code.token.atrule})`,
734
- attrName: `var(${varNames.color.code.token.attrName})`,
735
- attrValue: `var(${varNames.color.code.token.attrValue})`,
736
- attribute: `var(${varNames.color.code.token.attribute})`,
737
- boolean: `var(${varNames.color.code.token.boolean})`,
738
- builtin: `var(${varNames.color.code.token.builtin})`,
739
- cdata: `var(${varNames.color.code.token.cdata})`,
740
- char: `var(${varNames.color.code.token.char})`,
741
- class: `var(${varNames.color.code.token.class})`,
742
- className: `var(${varNames.color.code.token.className})`,
743
- comment: `var(${varNames.color.code.token.comment})`,
744
- constant: `var(${varNames.color.code.token.constant})`,
745
- deleted: `var(${varNames.color.code.token.deleted})`,
746
- doctype: `var(${varNames.color.code.token.doctype})`,
747
- entity: `var(${varNames.color.code.token.entity})`,
748
- function: `var(${varNames.color.code.token.function})`,
749
- hexcode: `var(${varNames.color.code.token.hexcode})`,
750
- id: `var(${varNames.color.code.token.id})`,
751
- important: `var(${varNames.color.code.token.important})`,
752
- inserted: `var(${varNames.color.code.token.inserted})`,
753
- keyword: `var(${varNames.color.code.token.keyword})`,
754
- number: `var(${varNames.color.code.token.number})`,
755
- operator: `var(${varNames.color.code.token.operator})`,
756
- prolog: `var(${varNames.color.code.token.prolog})`,
757
- property: `var(${varNames.color.code.token.property})`,
758
- pseudoClass: `var(${varNames.color.code.token.pseudoClass})`,
759
- pseudoElement: `var(${varNames.color.code.token.pseudoElement})`,
760
- punctuation: `var(${varNames.color.code.token.punctuation})`,
761
- regex: `var(${varNames.color.code.token.regex})`,
762
- selector: `var(${varNames.color.code.token.selector})`,
763
- string: `var(${varNames.color.code.token.string})`,
764
- symbol: `var(${varNames.color.code.token.symbol})`,
765
- tag: `var(${varNames.color.code.token.tag})`,
766
- unit: `var(${varNames.color.code.token.unit})`,
767
- url: `var(${varNames.color.code.token.url})`,
768
- variable: `var(${varNames.color.code.token.variable})`
769
- }
770
- },
771
- fg: `var(${varNames.color.fg})`,
772
- focusRing: `var(${varNames.color.focusRing})`,
773
- input: {
774
- bg: `var(${varNames.color.input.bg})`,
775
- border: `var(${varNames.color.input.border})`,
776
- fg: `var(${varNames.color.input.fg})`,
777
- placeholder: `var(${varNames.color.input.placeholder})`
778
- },
779
- link: {
780
- fg: `var(${varNames.color.link.fg})`
781
- },
782
- muted: {
783
- bg: `var(${varNames.color.muted.bg})`,
784
- fg: `var(${varNames.color.muted.fg})`
785
- },
786
- shadow: {
787
- outline: `var(${varNames.color.shadow.outline})`,
788
- umbra: `var(${varNames.color.shadow.umbra})`,
789
- penumbra: `var(${varNames.color.shadow.penumbra})`,
790
- ambient: `var(${varNames.color.shadow.ambient})`
791
- },
792
- skeleton: {
793
- from: `var(${varNames.color.skeleton.from})`,
794
- to: `var(${varNames.color.skeleton.to})`
795
- },
796
- solid: buildColorVariantVars({
797
- variant: "solid"
798
- }),
799
- tinted: buildColorVariantVars({
800
- variant: "tinted"
801
- }),
802
- ...theme.THEME_COLOR_CARD_TONES.reduce((acc, tone) => ({
803
- ...acc,
804
- [tone]: buildColorCardVars({
805
- tone
806
- })
807
- }), {}),
808
- dark: darkColorVars,
809
- light: lightColorVars
810
- }, vars = {
811
- avatar: {
812
- distance: `var(${varNames.avatar.distance})`,
813
- size: `var(${varNames.avatar.size})`,
814
- sizes: theme.AVATAR_SIZE.reduce((acc, size) => ({
815
- ...acc,
816
- [size]: {
817
- size: `var(${varNames.avatar.sizes[size].size})`,
818
- distance: `var(${varNames.avatar.sizes[size].distance})`
819
- }
820
- }), {})
821
- },
822
- card: {
823
- shadow: {
824
- outline: `var(${varNames.card.shadow.outline})`
825
- }
826
- },
827
- color: colorVars,
828
- container: {
829
- 0: `var(${varNames.container[0]})`,
830
- 1: `var(${varNames.container[1]})`,
831
- 2: `var(${varNames.container[2]})`,
832
- 3: `var(${varNames.container[3]})`,
833
- 4: `var(${varNames.container[4]})`,
834
- 5: `var(${varNames.container[5]})`
835
- },
836
- font: {
837
- code: {
838
- family: `var(${varNames.font.code.family})`,
839
- sizes: theme.FONT_CODE_SIZE.reduce((acc, size) => ({
840
- ...acc,
841
- [size]: {
842
- fontSize: `var(${varNames.font.code.sizes[size].fontSize})`,
843
- ascenderHeight: `var(${varNames.font.code.sizes[size].ascenderHeight})`,
844
- descenderHeight: `var(${varNames.font.code.sizes[size].descenderHeight})`,
845
- lineHeight: `var(${varNames.font.code.sizes[size].lineHeight})`,
846
- letterSpacing: `var(${varNames.font.code.sizes[size].letterSpacing})`,
847
- iconSize: `var(${varNames.font.code.sizes[size].iconSize})`
848
- }
849
- }), {}),
850
- weight: {
851
- regular: `var(${varNames.font.code.weights.regular})`,
852
- medium: `var(${varNames.font.code.weights.medium})`,
853
- semibold: `var(${varNames.font.code.weights.semibold})`,
854
- bold: `var(${varNames.font.code.weights.bold})`
221
+ button: {
222
+ boxShadow: null,
223
+ focusRing: {
224
+ offset: px(theme$1.button.focusRing.offset),
225
+ width: px(theme$1.button.focusRing.width)
226
+ },
227
+ border: {
228
+ width: px(theme$1.button.border.width)
855
229
  }
856
230
  },
857
- heading: {
858
- family: `var(${varNames.font.heading.family})`,
859
- sizes: theme.FONT_HEADING_SIZE.reduce((acc, size) => ({
860
- ...acc,
861
- [size]: {
862
- fontSize: `var(${varNames.font.heading.sizes[size].fontSize})`,
863
- ascenderHeight: `var(${varNames.font.heading.sizes[size].ascenderHeight})`,
864
- descenderHeight: `var(${varNames.font.heading.sizes[size].descenderHeight})`,
865
- lineHeight: `var(${varNames.font.heading.sizes[size].lineHeight})`,
866
- letterSpacing: `var(${varNames.font.heading.sizes[size].letterSpacing})`,
867
- iconSize: `var(${varNames.font.heading.sizes[size].iconSize})`
868
- }
869
- }), {}),
870
- weight: {
871
- regular: `var(${varNames.font.heading.weights.regular})`,
872
- medium: `var(${varNames.font.heading.weights.medium})`,
873
- semibold: `var(${varNames.font.heading.weights.semibold})`,
874
- bold: `var(${varNames.font.heading.weights.bold})`
231
+ card: {
232
+ shadow: {
233
+ outline: px(theme$1.card.shadow.outline)
875
234
  }
876
235
  },
877
- label: {
878
- family: `var(${varNames.font.label.family})`,
879
- sizes: theme.FONT_LABEL_SIZE.reduce((acc, size) => ({
880
- ...acc,
881
- [size]: {
882
- fontSize: `var(${varNames.font.label.sizes[size].fontSize})`,
883
- ascenderHeight: `var(${varNames.font.label.sizes[size].ascenderHeight})`,
884
- descenderHeight: `var(${varNames.font.label.sizes[size].descenderHeight})`,
885
- lineHeight: `var(${varNames.font.label.sizes[size].lineHeight})`,
886
- letterSpacing: `var(${varNames.font.label.sizes[size].letterSpacing})`,
887
- iconSize: `var(${varNames.font.label.sizes[size].iconSize})`
236
+ color: {
237
+ backdrop: null,
238
+ bg: null,
239
+ border: null,
240
+ code: {
241
+ bg: null,
242
+ fg: null,
243
+ token: {
244
+ atrule: null,
245
+ attrName: null,
246
+ attrValue: null,
247
+ attribute: null,
248
+ boolean: null,
249
+ builtin: null,
250
+ cdata: null,
251
+ char: null,
252
+ class: null,
253
+ className: null,
254
+ comment: null,
255
+ constant: null,
256
+ deleted: null,
257
+ doctype: null,
258
+ entity: null,
259
+ function: null,
260
+ hexcode: null,
261
+ id: null,
262
+ important: null,
263
+ inserted: null,
264
+ keyword: null,
265
+ number: null,
266
+ operator: null,
267
+ prolog: null,
268
+ property: null,
269
+ pseudoClass: null,
270
+ pseudoElement: null,
271
+ punctuation: null,
272
+ regex: null,
273
+ selector: null,
274
+ string: null,
275
+ symbol: null,
276
+ tag: null,
277
+ unit: null,
278
+ url: null,
279
+ variable: null
888
280
  }
889
- }), {}),
281
+ },
282
+ fg: null,
283
+ focusRing: null,
284
+ link: {
285
+ fg: null
286
+ },
287
+ avatar: {
288
+ bg: null,
289
+ fg: null,
290
+ ..._fromEntries(theme.AVATAR_COLORS.map((c) => [c, {
291
+ bg: null,
292
+ fg: null
293
+ }]))
294
+ },
295
+ button: {},
296
+ input: {
297
+ checkbox: {
298
+ bg: null,
299
+ border: null,
300
+ fg: null
301
+ },
302
+ radio: {
303
+ bg: null,
304
+ border: null,
305
+ fg: null
306
+ },
307
+ text: {
308
+ bg: null,
309
+ fg: null,
310
+ border: null,
311
+ placeholder: null,
312
+ invalid: {
313
+ bg: null,
314
+ border: null,
315
+ fg: null
316
+ }
317
+ },
318
+ switch: {
319
+ bg: null,
320
+ fg: null
321
+ }
322
+ },
323
+ muted: {
324
+ bg: null,
325
+ fg: null
326
+ },
327
+ shadow: {
328
+ outline: null,
329
+ umbra: null,
330
+ penumbra: null,
331
+ ambient: null
332
+ },
333
+ skeleton: {
334
+ from: null,
335
+ to: null
336
+ },
337
+ light: _fromEntries(theme.THEME_COLOR_CARD_TONES.map((t) => [t, buildCardContract({
338
+ theme: theme$1,
339
+ scheme: "light",
340
+ tone: t
341
+ })])),
342
+ dark: _fromEntries(theme.THEME_COLOR_CARD_TONES.map((t) => [t, buildCardContract({
343
+ theme: theme$1,
344
+ scheme: "dark",
345
+ tone: t
346
+ })])),
347
+ // tones
348
+ ..._fromEntries(theme.THEME_COLOR_CARD_TONES.map((t) => [t, {
349
+ avatar: {
350
+ ..._fromEntries(theme.AVATAR_COLORS.map((c) => [c, {
351
+ bg: null,
352
+ fg: null
353
+ }]))
354
+ },
355
+ backdrop: null,
356
+ code: {
357
+ bg: null,
358
+ fg: null,
359
+ token: {
360
+ atrule: null,
361
+ attrName: null,
362
+ attrValue: null,
363
+ attribute: null,
364
+ boolean: null,
365
+ builtin: null,
366
+ cdata: null,
367
+ char: null,
368
+ class: null,
369
+ className: null,
370
+ comment: null,
371
+ constant: null,
372
+ deleted: null,
373
+ doctype: null,
374
+ entity: null,
375
+ function: null,
376
+ hexcode: null,
377
+ id: null,
378
+ important: null,
379
+ inserted: null,
380
+ keyword: null,
381
+ number: null,
382
+ operator: null,
383
+ prolog: null,
384
+ property: null,
385
+ pseudoClass: null,
386
+ pseudoElement: null,
387
+ punctuation: null,
388
+ regex: null,
389
+ selector: null,
390
+ string: null,
391
+ symbol: null,
392
+ tag: null,
393
+ unit: null,
394
+ url: null,
395
+ variable: null
396
+ }
397
+ },
398
+ focusRing: null,
399
+ link: {
400
+ fg: null
401
+ },
402
+ shadow: {
403
+ outline: null,
404
+ umbra: null,
405
+ penumbra: null,
406
+ ambient: null
407
+ },
408
+ skeleton: {
409
+ from: null,
410
+ to: null
411
+ },
412
+ ..._fromEntries(theme.COLOR_VARIANTS.map((v) => [v, {
413
+ bg: {
414
+ 0: null,
415
+ 1: null,
416
+ 2: null,
417
+ 3: null,
418
+ 4: null
419
+ },
420
+ fg: {
421
+ 0: null,
422
+ 1: null,
423
+ 2: null,
424
+ 3: null,
425
+ 4: null
426
+ },
427
+ border: {
428
+ 0: null,
429
+ 1: null,
430
+ 2: null,
431
+ 3: null,
432
+ 4: null
433
+ },
434
+ ..._fromEntries(theme.THEME_COLOR_STATE_TONES.map((t2) => [t2, {
435
+ bg: {
436
+ 0: null,
437
+ 1: null,
438
+ 2: null,
439
+ 3: null,
440
+ 4: null
441
+ },
442
+ fg: {
443
+ 0: null,
444
+ 1: null,
445
+ 2: null,
446
+ 3: null,
447
+ 4: null
448
+ },
449
+ border: {
450
+ 0: null,
451
+ 1: null,
452
+ 2: null,
453
+ 3: null,
454
+ 4: null
455
+ }
456
+ }]))
457
+ }]))
458
+ }])),
459
+ ..._fromEntries(theme.COLOR_VARIANTS.map((v) => [v, {
460
+ bg: {
461
+ 0: null,
462
+ 1: null,
463
+ 2: null,
464
+ 3: null,
465
+ 4: null
466
+ },
467
+ fg: {
468
+ 0: null,
469
+ 1: null,
470
+ 2: null,
471
+ 3: null,
472
+ 4: null
473
+ },
474
+ border: {
475
+ 0: null,
476
+ 1: null,
477
+ 2: null,
478
+ 3: null,
479
+ 4: null
480
+ },
481
+ ..._fromEntries(theme.THEME_COLOR_STATE_TONES.map((t) => [t, {
482
+ bg: {
483
+ 0: null,
484
+ 1: null,
485
+ 2: null,
486
+ 3: null,
487
+ 4: null
488
+ },
489
+ fg: {
490
+ 0: null,
491
+ 1: null,
492
+ 2: null,
493
+ 3: null,
494
+ 4: null
495
+ },
496
+ border: {
497
+ 0: null,
498
+ 1: null,
499
+ 2: null,
500
+ 3: null,
501
+ 4: null
502
+ }
503
+ }]))
504
+ }]))
505
+ },
506
+ container: _fromEntries(theme.CONTAINER_SCALE.map((c) => [c, px(theme$1.container[c])])),
507
+ font: {
508
+ family: null,
509
+ fontSize: null,
510
+ letterSpacing: null,
511
+ lineHeight: null,
512
+ ascenderHeight: null,
513
+ descenderHeight: null,
514
+ iconSize: null,
515
+ featureSettings: null,
516
+ fontWeight: null,
517
+ iconOffset: null,
518
+ code: {
519
+ family: theme$1.font.code.family,
520
+ featureSettings: theme$1.font.code.featureSettings ?? "normal",
521
+ weight: {
522
+ regular: String(theme$1.font.code.weights.regular),
523
+ medium: String(theme$1.font.code.weights.medium),
524
+ semibold: String(theme$1.font.code.weights.semibold),
525
+ bold: String(theme$1.font.code.weights.bold)
526
+ },
527
+ sizes: _fromEntries(theme.FONT_CODE_SIZE.map((s) => [s, {
528
+ fontSize: rem(theme$1.font.code.sizes[s].fontSize),
529
+ lineHeight: rem(theme$1.font.code.sizes[s].lineHeight),
530
+ letterSpacing: rem(theme$1.font.code.sizes[s].letterSpacing),
531
+ ascenderHeight: rem(theme$1.font.code.sizes[s].ascenderHeight),
532
+ descenderHeight: rem(theme$1.font.code.sizes[s].descenderHeight),
533
+ iconSize: rem(theme$1.font.code.sizes[s].iconSize)
534
+ }]))
535
+ },
536
+ heading: {
537
+ family: theme$1.font.heading.family,
538
+ featureSettings: theme$1.font.heading.featureSettings ?? "normal",
539
+ weight: {
540
+ regular: String(theme$1.font.heading.weights.regular),
541
+ medium: String(theme$1.font.heading.weights.medium),
542
+ semibold: String(theme$1.font.heading.weights.semibold),
543
+ bold: String(theme$1.font.heading.weights.bold)
544
+ },
545
+ sizes: _fromEntries(theme.FONT_HEADING_SIZE.map((s) => [s, {
546
+ fontSize: rem(theme$1.font.heading.sizes[s].fontSize),
547
+ lineHeight: rem(theme$1.font.heading.sizes[s].lineHeight),
548
+ letterSpacing: rem(theme$1.font.heading.sizes[s].letterSpacing),
549
+ ascenderHeight: rem(theme$1.font.heading.sizes[s].ascenderHeight),
550
+ descenderHeight: rem(theme$1.font.heading.sizes[s].descenderHeight),
551
+ iconSize: rem(theme$1.font.heading.sizes[s].iconSize)
552
+ }]))
553
+ },
554
+ label: {
555
+ family: theme$1.font.label.family,
556
+ featureSettings: theme$1.font.label.featureSettings ?? "normal",
557
+ weight: {
558
+ regular: String(theme$1.font.label.weights.regular),
559
+ medium: String(theme$1.font.label.weights.medium),
560
+ semibold: String(theme$1.font.label.weights.semibold),
561
+ bold: String(theme$1.font.label.weights.bold)
562
+ },
563
+ sizes: _fromEntries(theme.FONT_LABEL_SIZE.map((s) => [s, {
564
+ fontSize: rem(theme$1.font.label.sizes[s].fontSize),
565
+ lineHeight: rem(theme$1.font.label.sizes[s].lineHeight),
566
+ letterSpacing: rem(theme$1.font.label.sizes[s].letterSpacing),
567
+ ascenderHeight: rem(theme$1.font.label.sizes[s].ascenderHeight),
568
+ descenderHeight: rem(theme$1.font.label.sizes[s].descenderHeight),
569
+ iconSize: rem(theme$1.font.label.sizes[s].iconSize)
570
+ }]))
571
+ },
572
+ text: {
573
+ family: theme$1.font.text.family,
574
+ featureSettings: theme$1.font.text.featureSettings ?? "normal",
575
+ weight: {
576
+ regular: String(theme$1.font.text.weights.regular),
577
+ medium: String(theme$1.font.text.weights.medium),
578
+ semibold: String(theme$1.font.text.weights.semibold),
579
+ bold: String(theme$1.font.text.weights.bold)
580
+ },
581
+ sizes: _fromEntries(theme.FONT_TEXT_SIZE.map((s) => [s, {
582
+ fontSize: rem(theme$1.font.text.sizes[s].fontSize),
583
+ lineHeight: rem(theme$1.font.text.sizes[s].lineHeight),
584
+ letterSpacing: rem(theme$1.font.text.sizes[s].letterSpacing),
585
+ ascenderHeight: rem(theme$1.font.text.sizes[s].ascenderHeight),
586
+ descenderHeight: rem(theme$1.font.text.sizes[s].descenderHeight),
587
+ iconSize: rem(theme$1.font.text.sizes[s].iconSize)
588
+ }]))
589
+ },
590
+ skeleton: {
591
+ lineHeight: null,
592
+ ascenderHeight: null,
593
+ descenderHeight: null
594
+ },
890
595
  weight: {
891
- regular: `var(${varNames.font.label.weights.regular})`,
892
- medium: `var(${varNames.font.label.weights.medium})`,
893
- semibold: `var(${varNames.font.label.weights.semibold})`,
894
- bold: `var(${varNames.font.label.weights.bold})`
596
+ regular: null,
597
+ medium: null,
598
+ semibold: null,
599
+ bold: null
895
600
  }
896
601
  },
897
- text: {
898
- family: `var(${varNames.font.text.family})`,
899
- sizes: theme.FONT_TEXT_SIZE.reduce((acc, size) => ({
900
- ...acc,
901
- [size]: {
902
- fontSize: `var(${varNames.font.text.sizes[size].fontSize})`,
903
- ascenderHeight: `var(${varNames.font.text.sizes[size].ascenderHeight})`,
904
- descenderHeight: `var(${varNames.font.text.sizes[size].descenderHeight})`,
905
- lineHeight: `var(${varNames.font.text.sizes[size].lineHeight})`,
906
- letterSpacing: `var(${varNames.font.text.sizes[size].letterSpacing})`,
907
- iconSize: `var(${varNames.font.text.sizes[size].iconSize})`
602
+ input: {
603
+ gap: null,
604
+ descenderHeight: null,
605
+ ascenderHeight: null,
606
+ fontSize: null,
607
+ lineHeight: null,
608
+ letterSpacing: null,
609
+ padding: null,
610
+ border: {
611
+ width: px(theme$1.input.border.width)
612
+ },
613
+ checkbox: {
614
+ size: px(theme$1.input.checkbox.size),
615
+ focusRing: {
616
+ offset: px(theme$1.input.checkbox.focusRing.offset),
617
+ width: px(theme$1.input.checkbox.focusRing.width)
908
618
  }
909
- }), {}),
910
- weight: {
911
- regular: `var(${varNames.font.text.weights.regular})`,
912
- medium: `var(${varNames.font.text.weights.medium})`,
913
- semibold: `var(${varNames.font.text.weights.semibold})`,
914
- bold: `var(${varNames.font.text.weights.bold})`
915
- }
916
- }
917
- },
918
- input: {
919
- fontSize: "var(--input-font-size)",
920
- lineHeight: "var(--input-line-height)",
921
- letterSpacing: "var(--input-letter-spacing)",
922
- ascenderHeight: "var(--input-ascender-height)",
923
- descenderHeight: "var(--input-descender-height)",
924
- // capHeight: `var(--input-cap-height)`,
925
- gap: "var(--input-gap)",
926
- padding: "var(--input-padding)",
927
- text: {
928
- focusRing: {
929
- width: "var(--input-text-focus-ring-width)",
930
- offset: "var(--input-text-focus-ring-offset)"
931
- }
932
- }
933
- },
934
- radius: Object.fromEntries(theme.RADIUS.map((radius2) => [radius2, `var(${varNames.radius[radius2]})`])),
935
- shadow: Object.fromEntries(theme.SHADOW.map((shadow2) => [shadow2, {
936
- umbra: `var(${varNames.shadow[shadow2].umbra})`,
937
- penumbra: `var(${varNames.shadow[shadow2].penumbra})`,
938
- ambient: `var(${varNames.shadow[shadow2].ambient})`
939
- }])),
940
- space: Object.fromEntries(theme.SPACE.map((space) => [space, `var(${varNames.space[space]})`])),
941
- // color
942
- black: `var(${varNames.black})`,
943
- white: `var(${varNames.white})`,
944
- ...color.COLOR_HUES.reduce((acc, hue) => {
945
- const tints = {};
946
- for (const tint of color.COLOR_TINTS)
947
- tints[tint] = `var(--${hue}-${tint})`;
948
- return acc[hue] = tints, acc;
949
- }, {})
950
- };
951
- function buildColorCardVars(props) {
952
- const {
953
- scheme,
954
- tone
955
- } = props, prefix = scheme ? varNames.color[scheme][tone] : varNames.color[tone];
956
- return {
957
- avatar: {
958
- ...theme.THEME_COLOR_AVATAR_COLORS.reduce((acc, color2) => ({
959
- ...acc,
960
- [color2]: {
961
- bg: `var(${prefix.avatar[color2].bg})`,
962
- fg: `var(${prefix.avatar[color2].fg})`
619
+ },
620
+ radio: {
621
+ focusRing: {
622
+ offset: px(theme$1.input.radio.focusRing.offset),
623
+ width: px(theme$1.input.radio.focusRing.width)
624
+ },
625
+ markSize: px(theme$1.input.radio.markSize),
626
+ size: px(theme$1.input.radio.size)
627
+ },
628
+ select: {
629
+ focusRing: {
630
+ offset: px(theme$1.input.select.focusRing.offset),
631
+ width: px(theme$1.input.select.focusRing.width)
963
632
  }
964
- }), {})
965
- },
966
- backdrop: `var(${prefix.backdrop})`,
967
- code: {
968
- bg: `var(${prefix.code.bg})`,
969
- fg: `var(${prefix.code.fg})`,
970
- token: {
971
- atrule: `var(${prefix.code.token.atrule})`,
972
- attrName: `var(${prefix.code.token.attrName})`,
973
- attrValue: `var(${prefix.code.token.attrValue})`,
974
- attribute: `var(${prefix.code.token.attribute})`,
975
- boolean: `var(${prefix.code.token.boolean})`,
976
- builtin: `var(${prefix.code.token.builtin})`,
977
- cdata: `var(${prefix.code.token.cdata})`,
978
- char: `var(${prefix.code.token.char})`,
979
- class: `var(${prefix.code.token.class})`,
980
- className: `var(${prefix.code.token.className})`,
981
- comment: `var(${prefix.code.token.comment})`,
982
- constant: `var(${prefix.code.token.constant})`,
983
- deleted: `var(${prefix.code.token.deleted})`,
984
- doctype: `var(${prefix.code.token.doctype})`,
985
- entity: `var(${prefix.code.token.entity})`,
986
- function: `var(${prefix.code.token.function})`,
987
- hexcode: `var(${prefix.code.token.hexcode})`,
988
- id: `var(${prefix.code.token.id})`,
989
- important: `var(${prefix.code.token.important})`,
990
- inserted: `var(${prefix.code.token.inserted})`,
991
- keyword: `var(${prefix.code.token.keyword})`,
992
- number: `var(${prefix.code.token.number})`,
993
- operator: `var(${prefix.code.token.operator})`,
994
- prolog: `var(${prefix.code.token.prolog})`,
995
- property: `var(${prefix.code.token.property})`,
996
- pseudoClass: `var(${prefix.code.token.pseudoClass})`,
997
- pseudoElement: `var(${prefix.code.token.pseudoElement})`,
998
- punctuation: `var(${prefix.code.token.punctuation})`,
999
- regex: `var(${prefix.code.token.regex})`,
1000
- selector: `var(${prefix.code.token.selector})`,
1001
- string: `var(${prefix.code.token.string})`,
1002
- symbol: `var(${prefix.code.token.symbol})`,
1003
- tag: `var(${prefix.code.token.tag})`,
1004
- unit: `var(${prefix.code.token.unit})`,
1005
- url: `var(${prefix.code.token.url})`,
1006
- variable: `var(${prefix.code.token.variable})`
633
+ },
634
+ text: {
635
+ focusRing: {
636
+ offset: px(theme$1.input.text.focusRing.offset),
637
+ width: px(theme$1.input.text.focusRing.width)
638
+ }
639
+ },
640
+ switch: {
641
+ width: px(theme$1.input.switch.width),
642
+ height: px(theme$1.input.switch.height),
643
+ focusRing: {
644
+ offset: px(theme$1.input.switch.focusRing.offset),
645
+ width: px(theme$1.input.switch.focusRing.width)
646
+ },
647
+ padding: px(theme$1.input.switch.padding),
648
+ thumb: {
649
+ offset: null,
650
+ size: null
651
+ },
652
+ transitionDurationMs: `${theme$1.input.switch.transitionDurationMs}ms`,
653
+ transitionTimingFunction: theme$1.input.switch.transitionTimingFunction
1007
654
  }
1008
655
  },
1009
- focusRing: `var(${prefix.focusRing})`,
1010
- link: {
1011
- fg: `var(${prefix.link.fg})`
1012
- },
1013
- muted: {
1014
- bg: `var(${prefix.muted.bg})`,
1015
- fg: `var(${prefix.muted.fg})`
1016
- },
1017
- shadow: {
1018
- outline: `var(${prefix.shadow.outline})`,
1019
- umbra: `var(${prefix.shadow.umbra})`,
1020
- penumbra: `var(${prefix.shadow.penumbra})`,
1021
- ambient: `var(${prefix.shadow.ambient})`
1022
- },
1023
- skeleton: {
1024
- from: `var(${prefix.skeleton.from})`,
1025
- to: `var(${prefix.skeleton.to})`
1026
- },
1027
- solid: buildColorVariantVars({
1028
- scheme,
1029
- tone,
1030
- variant: "solid"
656
+ radius: _fromEntries(theme.RADIUS.map((r) => [r, px(theme$1.radius[r])])),
657
+ shadow: _fromEntries(theme.SHADOW.map((s) => [s, {
658
+ umbra: toBoxShadow(theme$1.shadow[s]?.umbra),
659
+ penumbra: toBoxShadow(theme$1.shadow[s]?.penumbra),
660
+ ambient: toBoxShadow(theme$1.shadow[s]?.ambient)
661
+ }])),
662
+ space: _fromEntries(theme.SPACE.map((s) => [s, px(theme$1.space[s])]))
663
+ }, {
664
+ layer: "theme",
665
+ prefix: "s"
666
+ });
667
+ return {
668
+ vars: Object.freeze({
669
+ ...paletteResult.vars,
670
+ ...themeResult.vars
1031
671
  }),
1032
- tinted: buildColorVariantVars({
1033
- scheme,
1034
- tone,
1035
- variant: "tinted"
672
+ varNames: Object.freeze({
673
+ ...paletteResult.varNames,
674
+ ...themeResult.varNames
675
+ }),
676
+ properties: Object.freeze({
677
+ ...paletteResult.properties,
678
+ ...themeResult.properties
1036
679
  })
1037
680
  };
1038
- }
1039
- function buildColorVariantVars(options) {
1040
- const {
1041
- scheme,
1042
- tone,
1043
- variant
1044
- } = options, _prefix = scheme && tone ? `--color-${scheme}-${tone}-${variant}` : tone ? `--color-${tone}-${variant}` : `--color-${variant}`, vars2 = {
1045
- bg: {
1046
- 0: `var(${_prefix}-bg-0)`,
1047
- 1: `var(${_prefix}-bg-1)`,
1048
- 2: `var(${_prefix}-bg-2)`,
1049
- 3: `var(${_prefix}-bg-3)`,
1050
- 4: `var(${_prefix}-bg-4)`
1051
- },
1052
- border: {
1053
- 0: `var(${_prefix}-border-0)`,
1054
- 1: `var(${_prefix}-border-1)`,
1055
- 2: `var(${_prefix}-border-2)`,
1056
- 3: `var(${_prefix}-border-3)`,
1057
- 4: `var(${_prefix}-border-4)`
1058
- },
1059
- fg: {
1060
- 0: `var(${_prefix}-fg-0)`,
1061
- 1: `var(${_prefix}-fg-1)`,
1062
- 2: `var(${_prefix}-fg-2)`,
1063
- 3: `var(${_prefix}-fg-3)`,
1064
- 4: `var(${_prefix}-fg-4)`
1065
- }
1066
- };
1067
- for (const elementTone of theme.THEME_COLOR_STATE_TONES) {
1068
- const prefix = scheme && tone ? `--color-${scheme}-${tone}-${variant}-${elementTone}` : tone ? `--color-${tone}-${variant}-${elementTone}` : `--color-${variant}-${elementTone}`;
1069
- vars2[elementTone] = {
681
+ function renderColor(t, options2) {
682
+ const {
683
+ bgValue = "transparent"
684
+ } = options2, color = theme._parseColorToken(t, options2);
685
+ if (color.type === "inherit")
686
+ return bgValue;
687
+ let value = "#000";
688
+ return color.type === "color" && (value = paletteResult.vars.palette[color.name]), color.type === "tint" && (value = paletteResult.vars.palette[color.hue][color.tint]), color.opacity < 1 && (value = `color-mix(in srgb, transparent, ${value} ${color.opacity * 100}%)`), color.mix < 1 && (value = `color-mix(in srgb, ${bgValue}, ${value} ${color.mix * 100}%)`), value;
689
+ }
690
+ function buildCardContract(options2) {
691
+ const {
692
+ theme: theme2,
693
+ scheme,
694
+ tone
695
+ } = options2, card2 = theme2.color[tone], cardOptions = {
696
+ defaultHue: card2._hue
697
+ }, i = scheme === "dark" ? 1 : 0, defaultElement = buildElementContract({
698
+ card: card2,
699
+ variant: "tinted",
700
+ tone: "default",
701
+ scheme
702
+ });
703
+ return {
704
+ avatar: _fromEntries(theme.AVATAR_COLORS.map((c) => [c, {
705
+ bg: renderColor(card2.avatar[c].bg[i], {
706
+ defaultHue: c
707
+ }),
708
+ fg: renderColor(card2.avatar[c].fg[i], {
709
+ defaultHue: c
710
+ })
711
+ }])),
712
+ backdrop: renderColor(card2.backdrop[i], cardOptions),
713
+ code: {
714
+ bg: renderColor(card2.code.bg[i], cardOptions),
715
+ fg: renderColor(card2.code.fg[i], cardOptions),
716
+ token: {
717
+ atrule: renderColor(card2.code.token.atrule[i], cardOptions),
718
+ attrName: renderColor(card2.code.token.attrName[i], cardOptions),
719
+ attrValue: renderColor(card2.code.token.attrValue[i], cardOptions),
720
+ attribute: renderColor(card2.code.token.attribute[i], cardOptions),
721
+ boolean: renderColor(card2.code.token.boolean[i], cardOptions),
722
+ builtin: renderColor(card2.code.token.builtin[i], cardOptions),
723
+ cdata: renderColor(card2.code.token.cdata[i], cardOptions),
724
+ char: renderColor(card2.code.token.char[i], cardOptions),
725
+ class: renderColor(card2.code.token.class[i], cardOptions),
726
+ className: renderColor(card2.code.token.className[i], cardOptions),
727
+ comment: renderColor(card2.code.token.comment[i], cardOptions),
728
+ constant: renderColor(card2.code.token.constant[i], cardOptions),
729
+ deleted: renderColor(card2.code.token.deleted[i], cardOptions),
730
+ doctype: renderColor(card2.code.token.doctype[i], cardOptions),
731
+ entity: renderColor(card2.code.token.entity[i], cardOptions),
732
+ function: renderColor(card2.code.token.function[i], cardOptions),
733
+ hexcode: renderColor(card2.code.token.hexcode[i], cardOptions),
734
+ id: renderColor(card2.code.token.id[i], cardOptions),
735
+ important: renderColor(card2.code.token.important[i], cardOptions),
736
+ inserted: renderColor(card2.code.token.inserted[i], cardOptions),
737
+ keyword: renderColor(card2.code.token.keyword[i], cardOptions),
738
+ number: renderColor(card2.code.token.number[i], cardOptions),
739
+ operator: renderColor(card2.code.token.operator[i], cardOptions),
740
+ prolog: renderColor(card2.code.token.prolog[i], cardOptions),
741
+ property: renderColor(card2.code.token.property[i], cardOptions),
742
+ pseudoClass: renderColor(card2.code.token.pseudoClass[i], cardOptions),
743
+ pseudoElement: renderColor(card2.code.token.pseudoElement[i], cardOptions),
744
+ punctuation: renderColor(card2.code.token.punctuation[i], cardOptions),
745
+ regex: renderColor(card2.code.token.regex[i], cardOptions),
746
+ selector: renderColor(card2.code.token.selector[i], cardOptions),
747
+ string: renderColor(card2.code.token.string[i], cardOptions),
748
+ symbol: renderColor(card2.code.token.symbol[i], cardOptions),
749
+ tag: renderColor(card2.code.token.tag[i], cardOptions),
750
+ unit: renderColor(card2.code.token.unit[i], cardOptions),
751
+ url: renderColor(card2.code.token.url[i], cardOptions),
752
+ variable: renderColor(card2.code.token.variable[i], cardOptions)
753
+ }
754
+ },
755
+ focusRing: renderColor(card2.focusRing[i], cardOptions),
756
+ link: {
757
+ fg: renderColor(card2.link.fg[i], cardOptions)
758
+ },
759
+ shadow: {
760
+ outline: renderColor(card2.shadow.outline[i], cardOptions),
761
+ umbra: renderColor(card2.shadow.umbra[i], cardOptions),
762
+ penumbra: renderColor(card2.shadow.penumbra[i], cardOptions),
763
+ ambient: renderColor(card2.shadow.ambient[i], cardOptions)
764
+ },
765
+ skeleton: {
766
+ from: renderColor(card2.skeleton.from[i], cardOptions),
767
+ to: renderColor(card2.skeleton.to[i], cardOptions)
768
+ },
769
+ ..._fromEntries(theme.COLOR_VARIANTS.map((v) => [v, _fromEntries(theme.THEME_COLOR_STATE_TONES.map((e) => [e, v === "tinted" && e === "default" ? defaultElement : buildElementContract({
770
+ card: card2,
771
+ variant: v,
772
+ tone: e,
773
+ scheme,
774
+ bgValue: defaultElement.bg[0]
775
+ })]))]))
776
+ };
777
+ }
778
+ function buildElementContract(options2) {
779
+ const {
780
+ bgValue,
781
+ card: card2,
782
+ variant: v,
783
+ tone: e,
784
+ scheme
785
+ } = options2, element = card2.variant[v][e], elementOptions = {
786
+ bgValue,
787
+ defaultHue: element._hue
788
+ }, i = scheme === "dark" ? 1 : 0, bg = {
789
+ 0: renderColor(element.bg[0][i], elementOptions),
790
+ 4: renderColor(element.bg[4][i], elementOptions)
791
+ }, border2 = {
792
+ 0: renderColor(element.border[0][i], elementOptions),
793
+ 4: renderColor(element.border[4][i], elementOptions)
794
+ }, fg = {
795
+ 0: renderColor(element.fg[0][i], elementOptions),
796
+ 4: renderColor(element.fg[4][i], elementOptions)
797
+ };
798
+ return {
1070
799
  bg: {
1071
- 0: `var(${prefix}-bg-0)`,
1072
- 1: `var(${prefix}-bg-1)`,
1073
- 2: `var(${prefix}-bg-2)`,
1074
- 3: `var(${prefix}-bg-3)`,
1075
- 4: `var(${prefix}-bg-4)`
800
+ 0: bg[0],
801
+ 1: `color-mix(in srgb, ${bg[0]}, ${bg[4]} 25%)`,
802
+ 2: `color-mix(in srgb, ${bg[0]}, ${bg[4]} 50%)`,
803
+ 3: `color-mix(in srgb, ${bg[0]}, ${bg[4]} 75%)`,
804
+ 4: bg[4]
1076
805
  },
1077
806
  border: {
1078
- 0: `var(${prefix}-border-0)`,
1079
- 1: `var(${prefix}-border-1)`,
1080
- 2: `var(${prefix}-border-2)`,
1081
- 3: `var(${prefix}-border-3)`,
1082
- 4: `var(${prefix}-border-4)`
807
+ 0: border2[0],
808
+ 1: `color-mix(in srgb, ${border2[0]}, ${border2[4]} 25%)`,
809
+ 2: `color-mix(in srgb, ${border2[0]}, ${border2[4]} 50%)`,
810
+ 3: `color-mix(in srgb, ${border2[0]}, ${border2[4]} 75%)`,
811
+ 4: border2[4]
1083
812
  },
1084
813
  fg: {
1085
- 0: `var(${prefix}-fg-0)`,
1086
- 1: `var(${prefix}-fg-1)`,
1087
- 2: `var(${prefix}-fg-2)`,
1088
- 3: `var(${prefix}-fg-3)`,
1089
- 4: `var(${prefix}-fg-4)`
814
+ 0: fg[0],
815
+ 1: `color-mix(in srgb, ${fg[0]}, ${fg[4]} 25%)`,
816
+ 2: `color-mix(in srgb, ${fg[0]}, ${fg[4]} 50%)`,
817
+ 3: `color-mix(in srgb, ${fg[0]}, ${fg[4]} 75%)`,
818
+ 4: fg[4]
1090
819
  }
1091
820
  };
1092
821
  }
1093
- return vars2;
1094
822
  }
1095
- const util$u = {};
1096
- _responsiveRule(util$u, "border", {
823
+ function px(value) {
824
+ return `${value}px`;
825
+ }
826
+ function rem(value) {
827
+ return `${value / 16}rem`;
828
+ }
829
+ function toBoxShadow(value) {
830
+ return value ? value.map((n) => px(n)).join(" ") : "none";
831
+ }
832
+ const result = resolveTheme({
833
+ theme: theme.buildTheme_v3()
834
+ }), vars = result.vars, varNames = result.varNames, properties = result.properties, util$v = {};
835
+ _responsiveRule(util$v, "border", {
1097
836
  border: `1px solid ${vars.color.border}`
1098
837
  });
1099
- _responsiveRule(util$u, "border-t", {
838
+ _responsiveRule(util$v, "border-t", {
1100
839
  borderTop: `1px solid ${vars.color.border}`
1101
840
  });
1102
- _responsiveRule(util$u, "border-r", {
841
+ _responsiveRule(util$v, "border-r", {
1103
842
  borderRight: `1px solid ${vars.color.border}`
1104
843
  });
1105
- _responsiveRule(util$u, "border-b", {
844
+ _responsiveRule(util$v, "border-b", {
1106
845
  borderBottom: `1px solid ${vars.color.border}`
1107
846
  });
1108
- _responsiveRule(util$u, "border-l", {
847
+ _responsiveRule(util$v, "border-l", {
1109
848
  borderLeft: `1px solid ${vars.color.border}`
1110
849
  });
1111
850
  const borderStyle = {
851
+ layers: {
852
+ util: util$v
853
+ }
854
+ }, util$u = {};
855
+ _responsiveRule(util$u, "box-border", {
856
+ boxSizing: "border-box"
857
+ });
858
+ _responsiveRule(util$u, "box-content", {
859
+ boxSizing: "content-box"
860
+ });
861
+ const boxSizingStyle = {
1112
862
  layers: {
1113
863
  util: util$u
1114
864
  }
1115
865
  }, util$t = {};
1116
866
  _responsiveRule(util$t, "block", {
1117
- "@nest": {
867
+ nest: {
1118
868
  "&:not([hidden])": {
1119
869
  display: "block"
1120
870
  }
1121
871
  }
1122
872
  });
1123
873
  _responsiveRule(util$t, "flex", {
1124
- "@nest": {
874
+ nest: {
1125
875
  "&:not([hidden])": {
1126
876
  display: "flex"
1127
877
  }
1128
878
  }
1129
879
  });
1130
880
  _responsiveRule(util$t, "grid", {
1131
- "@nest": {
881
+ nest: {
1132
882
  "&:not([hidden])": {
1133
883
  display: "grid"
1134
884
  }
1135
885
  }
1136
886
  });
1137
887
  _responsiveRule(util$t, "inline-block", {
1138
- "@nest": {
888
+ nest: {
1139
889
  "&:not([hidden])": {
1140
890
  display: "inline-block"
1141
891
  }
1142
892
  }
1143
893
  });
1144
894
  _responsiveRule(util$t, "inline-flex", {
1145
- "@nest": {
895
+ nest: {
1146
896
  "&:not([hidden])": {
1147
897
  display: "inline-flex"
1148
898
  }
1149
899
  }
1150
900
  });
1151
901
  _responsiveRule(util$t, "inline-grid", {
1152
- "@nest": {
902
+ nest: {
1153
903
  "&:not([hidden])": {
1154
904
  display: "inline-grid"
1155
905
  }
1156
906
  }
1157
907
  });
1158
908
  _responsiveRule(util$t, "none", {
1159
- "@nest": {
909
+ nest: {
1160
910
  "&:not([hidden])": {
1161
911
  display: "none"
1162
912
  }
@@ -1286,23 +1036,25 @@ const flexStyle = {
1286
1036
  }
1287
1037
  }, primitive$q = {
1288
1038
  ".font": {
1289
- fontFamily: "var(--font-family)",
1290
- fontFeatureSettings: "var(--font-feature-settings)",
1291
- fontSize: "var(--font-size)",
1292
- lineHeight: "var(--font-line-height)",
1293
- letterSpacing: "var(--font-letter-spacing)",
1294
- fontWeight: "var(--font-weight)",
1295
- transform: "translateY(var(--font-descender-height))",
1039
+ fontFamily: vars.font.family,
1040
+ fontFeatureSettings: vars.font.featureSettings,
1041
+ fontSize: vars.font.fontSize,
1042
+ lineHeight: vars.font.lineHeight,
1043
+ letterSpacing: vars.font.letterSpacing,
1044
+ fontWeight: vars.font.fontWeight,
1045
+ transform: `translateY(${vars.font.descenderHeight})`,
1296
1046
  padding: "1px 0",
1297
1047
  margin: "0",
1298
- "--font-icon-offset": "calc(((var(--font-line-height) - var(--font-ascender-height) - var(--font-descender-height)) - var(--font-icon-size)) / 2)",
1299
- "--font-weight": "var(--font-weight-regular)",
1300
- "@nest": {
1048
+ vars: {
1049
+ [varNames.font.iconOffset]: `calc(((${vars.font.lineHeight} - ${vars.font.ascenderHeight} - ${vars.font.descenderHeight}) - ${vars.font.iconSize}) / 2)`,
1050
+ [varNames.font.fontWeight]: vars.font.weight.regular
1051
+ },
1052
+ nest: {
1301
1053
  "&:before": {
1302
1054
  content: '""',
1303
1055
  display: "block",
1304
1056
  height: 0,
1305
- marginTop: "calc((0px - var(--font-ascender-height) - var(--font-descender-height)) - 1px)"
1057
+ marginTop: `calc((0px - ${vars.font.ascenderHeight} - ${vars.font.descenderHeight}) - 1px)`
1306
1058
  },
1307
1059
  "&:after": {
1308
1060
  content: '""',
@@ -1315,29 +1067,37 @@ const flexStyle = {
1315
1067
  // Make sure SVGs are rendered as inline elements
1316
1068
  display: "inline"
1317
1069
  },
1318
- // todo
1070
+ // TODO
1319
1071
  // '& svg:not([data-sanity-icon])': {
1320
1072
  // fontSize: 'calc(var(--custom-icon-size) / 16 * 1rem)',
1321
1073
  // margin: 'var(--custom-icon-offset)',
1322
1074
  // },
1323
1075
  "& [data-sanity-icon]": {
1324
- fontSize: "var(--font-icon-size)",
1325
- margin: "var(--font-icon-offset)",
1076
+ fontSize: vars.font.iconSize,
1077
+ margin: vars.font.iconOffset,
1326
1078
  vectorEffect: "non-scaling-stroke"
1327
1079
  }
1328
1080
  }
1329
1081
  },
1330
1082
  ".font-regular": {
1331
- "--font-weight": "var(--font-weight-regular)"
1083
+ vars: {
1084
+ [varNames.font.fontWeight]: vars.font.weight.regular
1085
+ }
1332
1086
  },
1333
1087
  ".font-medium": {
1334
- "--font-weight": "var(--font-weight-medium)"
1088
+ vars: {
1089
+ [varNames.font.fontWeight]: vars.font.weight.medium
1090
+ }
1335
1091
  },
1336
1092
  ".font-semibold": {
1337
- "--font-weight": "var(--font-weight-semibold)"
1093
+ vars: {
1094
+ [varNames.font.fontWeight]: vars.font.weight.semibold
1095
+ }
1338
1096
  },
1339
1097
  ".font-bold": {
1340
- "--font-weight": "var(--font-weight-bold)"
1098
+ vars: {
1099
+ [varNames.font.fontWeight]: vars.font.weight.bold
1100
+ }
1341
1101
  }
1342
1102
  }, fontStyle = {
1343
1103
  layers: {
@@ -1800,21 +1560,21 @@ for (const space of theme.SPACE)
1800
1560
  marginTop: vars.space[space],
1801
1561
  marginBottom: vars.space[space]
1802
1562
  });
1803
- for (const space of theme.SPACE)
1804
- _responsiveRule(util$9, `mt-${space}`, {
1805
- marginTop: vars.space[space]
1563
+ for (const i of theme.SPACE)
1564
+ _responsiveRule(util$9, `mt-${i}`, {
1565
+ marginTop: vars.space[i]
1806
1566
  });
1807
- for (const space of theme.SPACE)
1808
- _responsiveRule(util$9, `mr-${space}`, {
1809
- marginRight: vars.space[space]
1567
+ for (const i of theme.SPACE)
1568
+ _responsiveRule(util$9, `mr-${i}`, {
1569
+ marginRight: vars.space[i]
1810
1570
  });
1811
- for (const space of theme.SPACE)
1812
- _responsiveRule(util$9, `mb-${space}`, {
1813
- marginBottom: vars.space[space]
1571
+ for (const i of theme.SPACE)
1572
+ _responsiveRule(util$9, `mb-${i}`, {
1573
+ marginBottom: vars.space[i]
1814
1574
  });
1815
- for (const space of theme.SPACE)
1816
- _responsiveRule(util$9, `ml-${space}`, {
1817
- marginLeft: vars.space[space]
1575
+ for (const i of theme.SPACE)
1576
+ _responsiveRule(util$9, `ml-${i}`, {
1577
+ marginLeft: vars.space[i]
1818
1578
  });
1819
1579
  const marginStyle = {
1820
1580
  layers: {
@@ -1993,11 +1753,11 @@ const radiusStyle = {
1993
1753
  util: util$3
1994
1754
  }
1995
1755
  }, util$2 = {};
1996
- for (const shadow2 of theme.SHADOW)
1997
- shadow2 === 0 ? _responsiveRule(util$2, "shadow-0", {
1756
+ for (const index of theme.SHADOW)
1757
+ index === 0 ? _responsiveRule(util$2, "shadow-0", {
1998
1758
  boxShadow: "none"
1999
- }) : _responsiveRule(util$2, `shadow-${shadow2}`, {
2000
- boxShadow: [`0 0 0 ${vars.card.shadow.outline} ${vars.color.shadow.outline}`, `${vars.shadow[shadow2].umbra} ${vars.color.shadow.umbra}`, `${vars.shadow[shadow2].penumbra} ${vars.color.shadow.penumbra}`, `${vars.shadow[shadow2].ambient} ${vars.color.shadow.ambient}`].join(", ")
1759
+ }) : _responsiveRule(util$2, `shadow-${index}`, {
1760
+ boxShadow: [`0 0 0 ${vars.card.shadow.outline} ${vars.color.shadow.outline}`, `${vars.shadow[index].umbra} ${vars.color.shadow.umbra}`, `${vars.shadow[index].penumbra} ${vars.color.shadow.penumbra}`, `${vars.shadow[index].ambient} ${vars.color.shadow.ambient}`].join(", ")
2001
1761
  });
2002
1762
  const shadowStyle = {
2003
1763
  layers: {
@@ -2059,8 +1819,8 @@ const widthStyle = {
2059
1819
  layers: {
2060
1820
  component: component$5
2061
1821
  }
2062
- }, keyframes$2 = {
2063
- "dialog-zoom-in": {
1822
+ }, KEYFRAMES_DIALOG_ZOOM_IN = "dialog-zoom-in", KEYFRAMES_DIALOG_FADE_IN = "dialog-fade-in", keyframes$2 = {
1823
+ [KEYFRAMES_DIALOG_ZOOM_IN]: {
2064
1824
  from: {
2065
1825
  opacity: 0,
2066
1826
  transform: "scale(0.95)"
@@ -2070,7 +1830,7 @@ const widthStyle = {
2070
1830
  transform: "scale(1)"
2071
1831
  }
2072
1832
  },
2073
- "dialog-fade-in": {
1833
+ [KEYFRAMES_DIALOG_FADE_IN]: {
2074
1834
  from: {
2075
1835
  opacity: 0
2076
1836
  },
@@ -2080,21 +1840,16 @@ const widthStyle = {
2080
1840
  }
2081
1841
  }, component$4 = {
2082
1842
  ".dialog": {
2083
- // 'top': 0,
2084
- // 'left': 0,
2085
- // 'right': 0,
2086
- // 'bottom': 0,
2087
1843
  alignItems: "center",
2088
1844
  justifyContent: "center",
2089
1845
  outline: "none",
2090
1846
  background: vars.color.backdrop,
2091
- "@nest": {
1847
+ nest: {
2092
1848
  "&[data-animate]": {
2093
- animation: "dialog-fade-in 200ms ease-out"
1849
+ animation: `${KEYFRAMES_DIALOG_FADE_IN} 200ms ease-out`
2094
1850
  },
2095
- // Animates the dialog card.
2096
1851
  '&[data-animate] > [data-ui="DialogCard"]': {
2097
- animation: "dialog-zoom-in 200ms ease-out"
1852
+ animation: `${KEYFRAMES_DIALOG_ZOOM_IN} 200ms ease-out`
2098
1853
  }
2099
1854
  }
2100
1855
  },
@@ -2159,7 +1914,7 @@ const widthStyle = {
2159
1914
  backgroundAttachment: "fixed",
2160
1915
  opacity: 0,
2161
1916
  transition: "opacity 200ms ease-in",
2162
- "@nest": {
1917
+ nest: {
2163
1918
  "&[data-animated]": {
2164
1919
  backgroundImage: ["linear-gradient(to right", vars.color.skeleton.from, vars.color.skeleton.to, vars.color.skeleton.from, vars.color.skeleton.from, vars.color.skeleton.from, ")"].join(", "),
2165
1920
  animationName: KEYFRAMES_PULSE,
@@ -2178,32 +1933,40 @@ const widthStyle = {
2178
1933
  }
2179
1934
  },
2180
1935
  ".font-skeleton": {
2181
- height: "calc(var(--font-skeleton-line-height) - var(--font-skeleton-ascender-height) - var(--font-skeleton-descender-height))"
1936
+ height: `calc(${vars.font.skeleton.lineHeight} - ${vars.font.skeleton.ascenderHeight} - ${vars.font.skeleton.descenderHeight})`
2182
1937
  }
2183
1938
  };
2184
1939
  for (const size of theme.FONT_CODE_SIZE)
2185
1940
  _responsiveRule(component$2, `code-skeleton-${size}`, {
2186
- "--font-skeleton-line-height": vars.font.code.sizes[size].lineHeight,
2187
- "--font-skeleton-ascender-height": vars.font.code.sizes[size].ascenderHeight,
2188
- "--font-skeleton-descender-height": vars.font.code.sizes[size].descenderHeight
1941
+ vars: {
1942
+ [varNames.font.skeleton.lineHeight]: vars.font.code.sizes[size].lineHeight,
1943
+ [varNames.font.skeleton.ascenderHeight]: vars.font.code.sizes[size].ascenderHeight,
1944
+ [varNames.font.skeleton.descenderHeight]: vars.font.code.sizes[size].descenderHeight
1945
+ }
2189
1946
  });
2190
1947
  for (const size of theme.FONT_HEADING_SIZE)
2191
1948
  _responsiveRule(component$2, `heading-skeleton-${size}`, {
2192
- "--font-skeleton-line-height": vars.font.heading.sizes[size].lineHeight,
2193
- "--font-skeleton-ascender-height": vars.font.heading.sizes[size].ascenderHeight,
2194
- "--font-skeleton-descender-height": vars.font.heading.sizes[size].descenderHeight
1949
+ vars: {
1950
+ [varNames.font.skeleton.lineHeight]: vars.font.heading.sizes[size].lineHeight,
1951
+ [varNames.font.skeleton.ascenderHeight]: vars.font.heading.sizes[size].ascenderHeight,
1952
+ [varNames.font.skeleton.descenderHeight]: vars.font.heading.sizes[size].descenderHeight
1953
+ }
2195
1954
  });
2196
1955
  for (const size of theme.FONT_LABEL_SIZE)
2197
1956
  _responsiveRule(component$2, `label-skeleton-${size}`, {
2198
- "--font-skeleton-line-height": vars.font.label.sizes[size].lineHeight,
2199
- "--font-skeleton-ascender-height": vars.font.label.sizes[size].ascenderHeight,
2200
- "--font-skeleton-descender-height": vars.font.label.sizes[size].descenderHeight
1957
+ vars: {
1958
+ [varNames.font.skeleton.lineHeight]: vars.font.label.sizes[size].lineHeight,
1959
+ [varNames.font.skeleton.ascenderHeight]: vars.font.label.sizes[size].ascenderHeight,
1960
+ [varNames.font.skeleton.descenderHeight]: vars.font.label.sizes[size].descenderHeight
1961
+ }
2201
1962
  });
2202
1963
  for (const size of theme.FONT_TEXT_SIZE)
2203
1964
  _responsiveRule(component$2, `text-skeleton-${size}`, {
2204
- "--font-skeleton-line-height": vars.font.text.sizes[size].lineHeight,
2205
- "--font-skeleton-ascender-height": vars.font.text.sizes[size].ascenderHeight,
2206
- "--font-skeleton-descender-height": vars.font.text.sizes[size].descenderHeight
1965
+ vars: {
1966
+ [varNames.font.skeleton.lineHeight]: vars.font.text.sizes[size].lineHeight,
1967
+ [varNames.font.skeleton.ascenderHeight]: vars.font.text.sizes[size].ascenderHeight,
1968
+ [varNames.font.skeleton.descenderHeight]: vars.font.text.sizes[size].descenderHeight
1969
+ }
2207
1970
  });
2208
1971
  const skeletonStyle = {
2209
1972
  keyframes: keyframes$1,
@@ -2230,14 +1993,13 @@ const skeletonStyle = {
2230
1993
  }
2231
1994
  }, component = {
2232
1995
  ".tree-item": {
2233
- "@nest": {
1996
+ nest: {
2234
1997
  '&[role="none"] > [role="treeitem"]': {
2235
1998
  outline: "none",
2236
1999
  cursor: "default",
2237
2000
  borderRadius: "3px",
2238
2001
  backgroundColor: vars.color.bg,
2239
- // 'var(--card-bg-color)',
2240
- color: "var(--treeitem-fg-color)"
2002
+ color: vars.color.fg
2241
2003
  },
2242
2004
  '&[role="none"] > [role="treeitem"]:focus': {
2243
2005
  position: "relative"
@@ -2249,24 +2011,11 @@ const skeletonStyle = {
2249
2011
  cursor: "default",
2250
2012
  borderRadius: "3px",
2251
2013
  backgroundColor: vars.color.bg,
2252
- // 'var(--card-bg-color)',
2253
- color: "var(--treeitem-fg-color)"
2014
+ color: vars.color.fg
2254
2015
  },
2255
2016
  '&[role="treeitem"]:focus > div': {
2256
2017
  position: "relative"
2257
2018
  }
2258
- // &[role='treeitem'] {
2259
- // outline: none;
2260
- // & > div {
2261
- // cursor: default;
2262
- // border-radius: 3px;
2263
- // background-color: var(--card-bg-color);
2264
- // color: var(--treeitem-fg-color);
2265
- // }
2266
- // &:focus > div {
2267
- // position: relative;
2268
- // }
2269
- // }
2270
2019
  }
2271
2020
  }
2272
2021
  }, treeStyle = {
@@ -2276,41 +2025,40 @@ const skeletonStyle = {
2276
2025
  }, primitive$p = {
2277
2026
  ".arrow": {
2278
2027
  position: "absolute",
2279
- // todo: replace with vars?
2280
- width: "var(--arrow-size)",
2281
- height: "var(--arrow-size)",
2282
- "@nest": {
2028
+ width: vars.arrow.size,
2029
+ height: vars.arrow.size,
2030
+ nest: {
2283
2031
  ":empty + &": {
2284
2032
  display: "none"
2285
2033
  },
2286
2034
  "& > svg": {
2287
2035
  display: "block",
2288
- transformOrigin: "calc(var(--arrow-size) / 2) calc(var(--arrow-size) / 2)"
2036
+ transformOrigin: `calc(${vars.arrow.size} / 2) calc(${vars.arrow.size} / 2)`
2289
2037
  },
2290
2038
  // top
2291
2039
  '[data-placement^="top"] > &': {
2292
- bottom: "calc(0px - var(--arrow-size))"
2040
+ bottom: `calc(0px - ${vars.arrow.size})`
2293
2041
  },
2294
2042
  '[data-placement^="top"] > & svg': {
2295
2043
  transform: "rotate(0deg)"
2296
2044
  },
2297
2045
  // right
2298
2046
  '[data-placement^="right"] > &': {
2299
- left: "calc(0px - var(--arrow-size))"
2047
+ left: `calc(0px - ${vars.arrow.size})`
2300
2048
  },
2301
2049
  '[data-placement^="right"] > & svg': {
2302
2050
  transform: "rotate(90deg)"
2303
2051
  },
2304
2052
  // left
2305
2053
  '[data-placement^="left"] > &': {
2306
- right: "calc(0px - var(--arrow-size))"
2054
+ right: `calc(0px - ${vars.arrow.size})`
2307
2055
  },
2308
2056
  '[data-placement^="left"] > & svg': {
2309
2057
  transform: "rotate(-90deg)"
2310
2058
  },
2311
2059
  // bottom
2312
2060
  '[data-placement^="bottom"] > &': {
2313
- top: "calc(0px - var(--arrow-size))"
2061
+ top: `calc(0px - ${vars.arrow.size})`
2314
2062
  },
2315
2063
  '[data-placement^="bottom"] > & svg': {
2316
2064
  transform: "rotate(180deg)"
@@ -2337,15 +2085,13 @@ const skeletonStyle = {
2337
2085
  position: "relative"
2338
2086
  },
2339
2087
  ".input-b": {
2340
- "@nest": {
2088
+ nest: {
2341
2089
  "& .input-presentation": {
2342
- boxShadow: `inset 0 0 0 1px ${vars.color.input.border}`
2090
+ boxShadow: `inset 0 0 0 1px ${vars.color.input.text.border}`
2343
2091
  }
2344
2092
  }
2345
2093
  },
2346
2094
  ".input-element": {
2347
- "--color-input-fg": vars.color.tinted.default.fg[2],
2348
- "--color-input-placeholder": vars.color.tinted.default.border[4],
2349
2095
  WebkitFontSmoothing: "inherit",
2350
2096
  appearance: "none",
2351
2097
  border: 0,
@@ -2356,8 +2102,8 @@ const skeletonStyle = {
2356
2102
  lineHeight: vars.input.lineHeight,
2357
2103
  letterSpacing: vars.input.letterSpacing,
2358
2104
  backgroundColor: "transparent",
2359
- color: vars.color.input.fg,
2360
- padding: ["calc(var(--input-padding) - var(--input-ascender-height))", "var(--input-padding)", "calc(var(--input-padding) - var(--input-descender-height))", "var(--input-padding)"].join(" "),
2105
+ color: vars.color.input.text.fg,
2106
+ padding: [`calc(${vars.input.padding} - ${vars.input.ascenderHeight})`, vars.input.padding, `calc(${vars.input.padding} - ${vars.input.descenderHeight})`, vars.input.padding].join(" "),
2361
2107
  borderRadius: "inherit",
2362
2108
  position: "relative",
2363
2109
  zIndex: 1,
@@ -2366,31 +2112,56 @@ const skeletonStyle = {
2366
2112
  resize: "none",
2367
2113
  // @ts-expect-error - TODO: fix this
2368
2114
  width: ["-moz-available", "-webkit-fill-available", "stretch"],
2369
- "@nest": {
2115
+ nest: {
2370
2116
  ".input[data-icon-left] &": {
2371
- paddingLeft: "calc(var(--input-padding) + calc(var(--input-line-height) - var(--input-ascender-height) - var(--input-descender-height)) + var(--input-gap))"
2117
+ paddingLeft: `calc(${vars.input.padding} + calc(${vars.input.lineHeight} - ${vars.input.ascenderHeight} - ${vars.input.descenderHeight}) + ${vars.input.gap})`
2372
2118
  },
2373
2119
  ".input[data-icon-right] &": {
2374
- paddingRight: "calc(var(--input-padding) + calc(var(--input-line-height) - var(--input-ascender-height) - var(--input-descender-height)) + var(--input-gap))"
2120
+ paddingRight: `calc(${vars.input.padding} + calc(${vars.input.lineHeight} - ${vars.input.ascenderHeight} - ${vars.input.descenderHeight}) + ${vars.input.gap})`
2121
+ },
2122
+ ".input:not([data-invalid]) &": {
2123
+ vars: {
2124
+ [varNames.color.input.text.fg]: vars.color.tinted.default.fg[2],
2125
+ [varNames.color.input.text.placeholder]: vars.color.tinted.default.border[4]
2126
+ }
2375
2127
  },
2376
- "&::placeholder": {
2377
- color: vars.color.input.placeholder
2128
+ ".input:not([data-invalid]) &::placeholder": {
2129
+ color: vars.color.input.text.placeholder
2378
2130
  },
2379
- "&:hover": {
2380
- [varNames.color.input.fg]: vars.color.tinted.default.fg[0]
2131
+ ".input:not([data-invalid]) &:hover": {
2132
+ [varNames.color.input.text.fg]: vars.color.tinted.default.fg[0]
2381
2133
  },
2382
- "&:focus": {
2383
- [varNames.color.input.fg]: vars.color.tinted.default.fg[0]
2134
+ ".input:not([data-invalid]) &:focus": {
2135
+ [varNames.color.input.text.fg]: vars.color.tinted.default.fg[0]
2136
+ },
2137
+ ".input:not([data-invalid]) &:disabled": {
2138
+ vars: {
2139
+ [varNames.color.input.text.fg]: vars.color.tinted.default.border[4],
2140
+ [varNames.color.input.text.placeholder]: vars.color.tinted.default.border[1]
2141
+ }
2142
+ },
2143
+ ".input[data-invalid] &": {
2144
+ vars: {
2145
+ [varNames.color.input.text.fg]: vars.color.tinted.critical.fg[2],
2146
+ [varNames.color.input.text.placeholder]: vars.color.tinted.critical.border[4]
2147
+ }
2384
2148
  },
2385
- "&:disabled": {
2386
- [varNames.color.input.fg]: vars.color.tinted.default.border[3]
2149
+ ".input[data-invalid] &::placeholder": {
2150
+ color: vars.color.input.text.placeholder
2151
+ },
2152
+ ".input[data-invalid] &:hover": {
2153
+ [varNames.color.input.text.fg]: vars.color.tinted.critical.fg[1]
2154
+ },
2155
+ ".input[data-invalid] &:focus": {
2156
+ [varNames.color.input.text.fg]: vars.color.tinted.critical.fg[1]
2157
+ },
2158
+ ".input[data-invalid] &:disabled": {
2159
+ [varNames.color.input.text.fg]: vars.color.tinted.critical.border[3]
2387
2160
  }
2388
2161
  }
2389
2162
  },
2390
2163
  ".input-presentation": {
2391
- [varNames.color.input.fg]: vars.color.tinted.default.fg[4],
2392
- [varNames.color.input.bg]: vars.color.tinted.default.bg[0],
2393
- [varNames.color.input.border]: vars.color.tinted.default.border[1],
2164
+ backgroundColor: vars.color.input.text.bg,
2394
2165
  borderRadius: "inherit",
2395
2166
  position: "absolute",
2396
2167
  top: 0,
@@ -2400,7 +2171,7 @@ const skeletonStyle = {
2400
2171
  display: "block",
2401
2172
  pointerEvents: "none",
2402
2173
  zIndex: 0,
2403
- "@nest": {
2174
+ nest: {
2404
2175
  ".input[data-prefix] &": {
2405
2176
  borderTopLeftRadius: 0,
2406
2177
  borderBottomLeftRadius: 0
@@ -2409,27 +2180,87 @@ const skeletonStyle = {
2409
2180
  borderTopRightRadius: 0,
2410
2181
  borderBottomRightRadius: 0
2411
2182
  },
2412
- ".input-element:placeholder-shown + &": {
2413
- [varNames.color.input.fg]: vars.color.tinted.default.border[4]
2414
- },
2415
- ".input-element:hover + &": {
2416
- [varNames.color.input.border]: vars.color.tinted.default.border[2],
2417
- [varNames.color.input.fg]: vars.color.tinted.default.fg[1],
2418
- boxShadow: `inset 0 0 0 1px ${vars.color.input.border}`
2419
- },
2420
2183
  ".input-element:focus + &": {
2421
- [varNames.color.input.border]: vars.color.tinted.default.border[2],
2422
- [varNames.color.input.fg]: vars.color.tinted.default.fg[1],
2423
- boxShadow: `inset 0 0 0 1px ${vars.color.input.border}`,
2184
+ boxShadow: `inset 0 0 0 1px ${vars.color.input.text.border}`,
2424
2185
  outlineWidth: vars.input.text.focusRing.width,
2425
2186
  outlineStyle: "solid",
2426
2187
  outlineColor: vars.color.focusRing,
2427
2188
  outlineOffset: vars.input.text.focusRing.offset
2428
2189
  },
2429
2190
  ".input-element:disabled + &": {
2430
- [varNames.color.input.bg]: vars.color.tinted.default.bg[1],
2431
- [varNames.color.input.border]: vars.color.tinted.default.border[0],
2432
2191
  opacity: 1
2192
+ },
2193
+ // valid
2194
+ ".input:not([data-invalid]) &": {
2195
+ vars: {
2196
+ [varNames.color.input.text.fg]: vars.color.tinted.default.fg[4],
2197
+ [varNames.color.input.text.bg]: vars.color.tinted.default.bg[0],
2198
+ [varNames.color.input.text.border]: vars.color.tinted.default.border[1]
2199
+ }
2200
+ },
2201
+ ".input:not([data-invalid])[data-read-only] .input-element + &": {
2202
+ vars: {
2203
+ [varNames.color.input.text.bg]: vars.color.tinted.default.bg[1]
2204
+ }
2205
+ },
2206
+ ".input:not([data-invalid]) .input-element:placeholder-shown + &": {
2207
+ vars: {
2208
+ [varNames.color.input.text.fg]: vars.color.tinted.default.border[4]
2209
+ }
2210
+ },
2211
+ ".input:not([data-invalid]):not([data-read-only]) .input-element:not(:disabled):hover + &": {
2212
+ vars: {
2213
+ [varNames.color.input.text.border]: vars.color.tinted.default.border[2],
2214
+ [varNames.color.input.text.fg]: vars.color.tinted.default.fg[1]
2215
+ },
2216
+ boxShadow: `inset 0 0 0 1px ${vars.color.input.text.border}`
2217
+ },
2218
+ ".input:not([data-invalid]) .input-element:focus + &": {
2219
+ vars: {
2220
+ [varNames.color.input.text.border]: vars.color.tinted.default.border[2],
2221
+ [varNames.color.input.text.fg]: vars.color.tinted.default.fg[1]
2222
+ },
2223
+ boxShadow: `inset 0 0 0 1px ${vars.color.input.text.border}`
2224
+ },
2225
+ ".input:not([data-invalid]) .input-element:disabled + &": {
2226
+ vars: {
2227
+ [varNames.color.input.text.bg]: vars.color.tinted.default.bg[1],
2228
+ [varNames.color.input.text.border]: vars.color.tinted.default.border[0],
2229
+ // icon
2230
+ [varNames.color.muted.fg]: vars.color.tinted.default.border[4]
2231
+ }
2232
+ },
2233
+ // invalid
2234
+ ".input[data-invalid] &": {
2235
+ vars: {
2236
+ [varNames.color.input.text.fg]: vars.color.tinted.critical.fg[4],
2237
+ [varNames.color.input.text.bg]: vars.color.tinted.critical.bg[1],
2238
+ [varNames.color.input.text.border]: vars.color.tinted.critical.border[1],
2239
+ [varNames.color.focusRing]: vars.color.solid.critical.bg[0]
2240
+ }
2241
+ },
2242
+ ".input[data-invalid] .input-element:placeholder-shown + &": {
2243
+ vars: {
2244
+ [varNames.color.input.text.fg]: vars.color.tinted.critical.border[4]
2245
+ }
2246
+ },
2247
+ ".input[data-invalid] .input-element:not(:disabled):hover + &": {
2248
+ vars: {
2249
+ [varNames.color.input.text.border]: vars.color.tinted.critical.border[2],
2250
+ [varNames.color.input.text.fg]: vars.color.tinted.critical.fg[1]
2251
+ }
2252
+ },
2253
+ ".input[data-invalid] .input-element:focus + &": {
2254
+ vars: {
2255
+ [varNames.color.input.text.border]: vars.color.tinted.critical.border[2],
2256
+ [varNames.color.input.text.fg]: vars.color.tinted.critical.fg[1]
2257
+ }
2258
+ },
2259
+ ".input[data-invalid] .input-element:disabled + &": {
2260
+ vars: {
2261
+ [varNames.color.input.text.bg]: vars.color.tinted.critical.bg[1],
2262
+ [varNames.color.input.text.border]: vars.color.tinted.critical.border[0]
2263
+ }
2433
2264
  }
2434
2265
  }
2435
2266
  }
@@ -2463,7 +2294,7 @@ const _inputStyle = {
2463
2294
  [varNames.color.bg]: vars.color.tinted.bg[0],
2464
2295
  [varNames.color.border]: vars.color.tinted.border[2],
2465
2296
  [varNames.color.fg]: vars.color.tinted.fg[2],
2466
- "@nest": {
2297
+ nest: {
2467
2298
  "&:is(button)": {
2468
2299
  WebkitFontSmoothing: "inherit",
2469
2300
  appearance: "none",
@@ -2483,9 +2314,9 @@ const _inputStyle = {
2483
2314
  },
2484
2315
  "@media": {
2485
2316
  "(hover: hover)": {
2486
- "@nest": {
2317
+ nest: {
2487
2318
  "&:not([data-disabled])": {
2488
- // cursor: 'pointer',
2319
+ cursor: "pointer"
2489
2320
  },
2490
2321
  "&:not([data-disabled]):hover": {
2491
2322
  [varNames.color.bg]: vars.color.tinted.bg[1],
@@ -2575,7 +2406,7 @@ const primitive$m = {
2575
2406
  width: vars.avatar.size,
2576
2407
  height: vars.avatar.size,
2577
2408
  borderRadius: vars.avatar.size,
2578
- "@nest": {
2409
+ nest: {
2579
2410
  "button&": {
2580
2411
  WebkitFontSmoothing: "inherit",
2581
2412
  appearance: "none",
@@ -2587,8 +2418,8 @@ const primitive$m = {
2587
2418
  outline: "none"
2588
2419
  },
2589
2420
  "button&:focus": {
2590
- outline: "var(--avatar-focus-ring-width) solid var(--color-focus-ring)",
2591
- outlineOffset: "var(--avatar-focus-ring-offset)"
2421
+ outline: `${vars.avatar.focusRing.width} solid ${vars.color.focusRing}`,
2422
+ outlineOffset: vars.avatar.focusRing.offset
2592
2423
  },
2593
2424
  "button&:focus:not(:focus-visible)": {
2594
2425
  boxShadow: "none"
@@ -2597,11 +2428,11 @@ const primitive$m = {
2597
2428
  [varNames.color.avatar.bg]: vars.color.border,
2598
2429
  [varNames.color.avatar.fg]: vars.color.bg
2599
2430
  },
2600
- ...theme.THEME_COLOR_AVATAR_COLORS.reduce((acc, color2) => ({
2431
+ ...theme.AVATAR_COLORS.reduce((acc, color) => ({
2601
2432
  ...acc,
2602
- [`&.${color2}`]: {
2603
- [varNames.color.avatar.bg]: vars.color.avatar[color2].bg,
2604
- [varNames.color.avatar.fg]: vars.color.avatar[color2].fg
2433
+ [`&.${color}`]: {
2434
+ [varNames.color.avatar.bg]: vars.color.avatar[color].bg,
2435
+ [varNames.color.avatar.fg]: vars.color.avatar[color].fg
2605
2436
  }
2606
2437
  }), {})
2607
2438
  }
@@ -2617,7 +2448,7 @@ const primitive$m = {
2617
2448
  right: 0,
2618
2449
  top: 0,
2619
2450
  bottom: 0,
2620
- "@nest": {
2451
+ nest: {
2621
2452
  "& > svg": {
2622
2453
  display: "block",
2623
2454
  width: "11px",
@@ -2642,7 +2473,7 @@ const primitive$m = {
2642
2473
  }
2643
2474
  },
2644
2475
  ".avatar-image": {
2645
- "@nest": {
2476
+ nest: {
2646
2477
  "& > img": {
2647
2478
  display: "block",
2648
2479
  position: "absolute",
@@ -2674,7 +2505,7 @@ const primitive$m = {
2674
2505
  userSelect: "none",
2675
2506
  borderRadius: vars.avatar.size,
2676
2507
  height: vars.avatar.size,
2677
- "@nest": {
2508
+ nest: {
2678
2509
  "&&": {
2679
2510
  minWidth: vars.avatar.size
2680
2511
  },
@@ -2684,7 +2515,7 @@ const primitive$m = {
2684
2515
  }
2685
2516
  },
2686
2517
  ".avatar-stack": {
2687
- "@nest": {
2518
+ nest: {
2688
2519
  "& > div + div": {
2689
2520
  marginLeft: vars.avatar.distance
2690
2521
  }
@@ -2718,9 +2549,9 @@ const badgeStyle = {
2718
2549
  }
2719
2550
  }, primitive$k = {
2720
2551
  ".box": {
2721
- // todo: move to aspects
2552
+ // TODO: move to aspects
2722
2553
  minHeight: 0,
2723
- "@nest": {
2554
+ nest: {
2724
2555
  "iframe&": {
2725
2556
  border: "none"
2726
2557
  },
@@ -2731,13 +2562,6 @@ const badgeStyle = {
2731
2562
  backgroundColor: vars.color.muted.bg
2732
2563
  }
2733
2564
  }
2734
- },
2735
- // sizing
2736
- ".box-content": {
2737
- boxSizing: "content-box"
2738
- },
2739
- ".box-border": {
2740
- boxSizing: "border-box"
2741
2565
  }
2742
2566
  }, boxStyle = {
2743
2567
  layers: {
@@ -2761,17 +2585,16 @@ const badgeStyle = {
2761
2585
  verticalAlign: "top",
2762
2586
  backgroundColor: vars.color.bg,
2763
2587
  color: vars.color.fg,
2764
- boxShadow: "var(--button-box-shadow)",
2588
+ boxShadow: vars.button.boxShadow,
2765
2589
  alignItems: "center",
2766
- // 'justifyContent': 'center',
2767
- "@nest": {
2590
+ nest: {
2768
2591
  "&::-moz-focus-inner": {
2769
2592
  border: 0,
2770
2593
  padding: 0
2771
2594
  },
2772
2595
  "&:focus": {
2773
- outline: "var(--button-focus-ring-width) solid var(--color-focus-ring)",
2774
- outlineOffset: "var(--button-focus-ring-offset)"
2596
+ outline: `${vars.button.focusRing.width} solid ${vars.color.focusRing}`,
2597
+ outlineOffset: vars.button.focusRing.offset
2775
2598
  },
2776
2599
  "&:focus:not(:focus-visible)": {
2777
2600
  outline: "none"
@@ -2793,166 +2616,193 @@ const badgeStyle = {
2793
2616
  for (const tone of theme.THEME_COLOR_STATE_TONES) {
2794
2617
  const solid = vars.color.solid[tone], tinted = vars.color.tinted[tone];
2795
2618
  primitive$j[`.button[data-mode="default"][data-tone="${tone}"]`] = {
2796
- [varNames.color.bg]: solid.bg[0],
2797
- [varNames.color.border]: solid.border[1],
2798
- [varNames.color.code.bg]: solid.bg[1],
2799
- [varNames.color.code.fg]: solid.fg[4],
2800
- [varNames.color.fg]: solid.fg[0],
2801
- [varNames.color.muted.bg]: solid.bg[1],
2802
- [varNames.color.muted.fg]: solid.fg[4],
2803
- "--button-box-shadow": "none",
2804
- "@nest": {
2619
+ vars: {
2620
+ [varNames.color.bg]: solid.bg[0],
2621
+ [varNames.color.border]: solid.border[1],
2622
+ [varNames.color.code.bg]: solid.bg[1],
2623
+ [varNames.color.code.fg]: solid.fg[4],
2624
+ [varNames.color.fg]: solid.fg[0],
2625
+ [varNames.color.muted.bg]: solid.bg[1],
2626
+ [varNames.color.muted.fg]: solid.fg[4],
2627
+ [varNames.button.boxShadow]: "none"
2628
+ },
2629
+ nest: {
2805
2630
  "&:not([data-disabled]):hover": {
2806
- [varNames.color.bg]: solid.bg[1],
2807
- [varNames.color.border]: solid.border[2],
2808
- [varNames.color.code.bg]: solid.bg[2],
2809
- [varNames.color.code.fg]: solid.fg[4],
2810
- [varNames.color.fg]: solid.fg[0],
2811
- [varNames.color.muted.bg]: solid.bg[2],
2812
- [varNames.color.muted.fg]: solid.fg[4]
2631
+ vars: {
2632
+ [varNames.color.bg]: solid.bg[1],
2633
+ [varNames.color.border]: solid.border[2],
2634
+ [varNames.color.code.bg]: solid.bg[2],
2635
+ [varNames.color.code.fg]: solid.fg[4],
2636
+ [varNames.color.fg]: solid.fg[0],
2637
+ [varNames.color.muted.bg]: solid.bg[2],
2638
+ [varNames.color.muted.fg]: solid.fg[4]
2639
+ }
2813
2640
  },
2814
2641
  "&:not([data-disabled]):active": {
2815
- [varNames.color.bg]: solid.bg[2],
2816
- [varNames.color.border]: solid.border[3],
2817
- [varNames.color.code.bg]: solid.bg[3],
2818
- [varNames.color.code.fg]: solid.fg[4],
2819
- [varNames.color.fg]: solid.fg[0],
2820
- [varNames.color.muted.bg]: solid.bg[3],
2821
- [varNames.color.muted.fg]: solid.fg[4]
2642
+ vars: {
2643
+ [varNames.color.bg]: solid.bg[2],
2644
+ [varNames.color.border]: solid.border[3],
2645
+ [varNames.color.code.bg]: solid.bg[3],
2646
+ [varNames.color.code.fg]: solid.fg[4],
2647
+ [varNames.color.fg]: solid.fg[0],
2648
+ [varNames.color.muted.bg]: solid.bg[3],
2649
+ [varNames.color.muted.fg]: solid.fg[4]
2650
+ }
2822
2651
  },
2823
2652
  "&:not([data-disabled])[data-selected]": {
2824
- [varNames.color.bg]: solid.bg[2],
2825
- [varNames.color.border]: solid.border[3],
2826
- [varNames.color.code.bg]: solid.bg[3],
2827
- [varNames.color.code.fg]: solid.fg[4],
2828
- [varNames.color.fg]: solid.fg[0],
2829
- [varNames.color.muted.bg]: solid.bg[3],
2830
- [varNames.color.muted.fg]: solid.fg[4]
2653
+ vars: {
2654
+ [varNames.color.bg]: solid.bg[2],
2655
+ [varNames.color.border]: solid.border[3],
2656
+ [varNames.color.code.bg]: solid.bg[3],
2657
+ [varNames.color.code.fg]: solid.fg[4],
2658
+ [varNames.color.fg]: solid.fg[0],
2659
+ [varNames.color.muted.bg]: solid.bg[3],
2660
+ [varNames.color.muted.fg]: solid.fg[4]
2661
+ }
2831
2662
  },
2832
2663
  "&[data-disabled]": {
2833
- [varNames.color.avatar.gray.bg]: vars.color.tinted.default.bg[3],
2834
- [varNames.color.avatar.blue.bg]: vars.color.tinted.default.bg[3],
2835
- [varNames.color.avatar.purple.bg]: vars.color.tinted.default.bg[3],
2836
- [varNames.color.avatar.magenta.bg]: vars.color.tinted.default.bg[3],
2837
- [varNames.color.avatar.red.bg]: vars.color.tinted.default.bg[3],
2838
- [varNames.color.avatar.orange.bg]: vars.color.tinted.default.bg[3],
2839
- [varNames.color.avatar.yellow.bg]: vars.color.tinted.default.bg[3],
2840
- [varNames.color.avatar.green.bg]: vars.color.tinted.default.bg[3],
2841
- [varNames.color.avatar.cyan.bg]: vars.color.tinted.default.bg[3],
2842
- [varNames.color.bg]: vars.color.tinted.default.bg[1],
2843
- [varNames.color.border]: vars.color.tinted.default.border[1],
2844
- [varNames.color.code.bg]: vars.color.tinted.default.bg[2],
2845
- [varNames.color.code.fg]: vars.color.tinted.default.border[4],
2846
- [varNames.color.fg]: vars.color.tinted.default.border[4],
2847
- [varNames.color.muted.bg]: vars.color.tinted.default.bg[2],
2848
- [varNames.color.muted.fg]: vars.color.tinted.default.border[4]
2664
+ vars: {
2665
+ [varNames.color.avatar.blue.bg]: vars.color.tinted.default.bg[3],
2666
+ [varNames.color.avatar.purple.bg]: vars.color.tinted.default.bg[3],
2667
+ [varNames.color.avatar.magenta.bg]: vars.color.tinted.default.bg[3],
2668
+ [varNames.color.avatar.red.bg]: vars.color.tinted.default.bg[3],
2669
+ [varNames.color.avatar.orange.bg]: vars.color.tinted.default.bg[3],
2670
+ [varNames.color.avatar.yellow.bg]: vars.color.tinted.default.bg[3],
2671
+ [varNames.color.avatar.green.bg]: vars.color.tinted.default.bg[3],
2672
+ [varNames.color.avatar.cyan.bg]: vars.color.tinted.default.bg[3],
2673
+ [varNames.color.bg]: vars.color.tinted.default.bg[1],
2674
+ [varNames.color.border]: vars.color.tinted.default.border[1],
2675
+ [varNames.color.code.bg]: vars.color.tinted.default.bg[2],
2676
+ [varNames.color.code.fg]: vars.color.tinted.default.border[4],
2677
+ [varNames.color.fg]: vars.color.tinted.default.border[4],
2678
+ [varNames.color.muted.bg]: vars.color.tinted.default.bg[2],
2679
+ [varNames.color.muted.fg]: vars.color.tinted.default.border[4]
2680
+ }
2849
2681
  }
2850
2682
  }
2851
2683
  }, primitive$j[`.button[data-mode="ghost"][data-tone="${tone}"]`] = {
2852
- [varNames.color.bg]: tinted.bg[1],
2853
- [varNames.color.border]: tinted.border[1],
2854
- [varNames.color.fg]: tinted.fg[2],
2855
- [varNames.color.code.bg]: tinted.bg[2],
2856
- [varNames.color.code.fg]: tinted.fg[4],
2857
- [varNames.color.muted.bg]: tinted.bg[2],
2858
- [varNames.color.muted.fg]: tinted.fg[4],
2859
- "--button-box-shadow": "inset 0 0 0 var(--button-border-width) var(--color-border)",
2860
- "@nest": {
2684
+ vars: {
2685
+ [varNames.color.bg]: tinted.bg[1],
2686
+ [varNames.color.border]: tinted.border[1],
2687
+ [varNames.color.fg]: tinted.fg[2],
2688
+ [varNames.color.code.bg]: tinted.bg[2],
2689
+ [varNames.color.code.fg]: tinted.fg[4],
2690
+ [varNames.color.muted.bg]: tinted.bg[2],
2691
+ [varNames.color.muted.fg]: tinted.fg[4],
2692
+ [varNames.button.boxShadow]: `inset 0 0 0 ${vars.button.border.width} ${vars.color.border}`
2693
+ },
2694
+ nest: {
2861
2695
  "&:not([data-disabled]):hover": {
2862
- [varNames.color.bg]: tinted.bg[2],
2863
- [varNames.color.border]: tinted.border[2],
2864
- [varNames.color.code.bg]: tinted.bg[3],
2865
- [varNames.color.code.fg]: tinted.fg[3],
2866
- [varNames.color.fg]: tinted.fg[1],
2867
- [varNames.color.muted.bg]: tinted.bg[3],
2868
- [varNames.color.muted.fg]: tinted.fg[3]
2696
+ vars: {
2697
+ [varNames.color.bg]: tinted.bg[2],
2698
+ [varNames.color.border]: tinted.border[2],
2699
+ [varNames.color.code.bg]: tinted.bg[3],
2700
+ [varNames.color.code.fg]: tinted.fg[3],
2701
+ [varNames.color.fg]: tinted.fg[1],
2702
+ [varNames.color.muted.bg]: tinted.bg[3],
2703
+ [varNames.color.muted.fg]: tinted.fg[3]
2704
+ }
2869
2705
  },
2870
2706
  "&:not([data-disabled]):active": {
2871
- [varNames.color.bg]: tinted.bg[3],
2872
- [varNames.color.border]: tinted.border[3],
2873
- [varNames.color.code.bg]: tinted.bg[4],
2874
- [varNames.color.code.fg]: tinted.fg[3],
2875
- [varNames.color.fg]: tinted.fg[1],
2876
- [varNames.color.muted.bg]: tinted.bg[4],
2877
- [varNames.color.muted.fg]: tinted.fg[3],
2878
- "--button-box-shadow": "inset 0 0 0 var(--button-border-width) var(--color-border)"
2707
+ vars: {
2708
+ [varNames.color.bg]: tinted.bg[3],
2709
+ [varNames.color.border]: tinted.border[3],
2710
+ [varNames.color.code.bg]: tinted.bg[4],
2711
+ [varNames.color.code.fg]: tinted.fg[3],
2712
+ [varNames.color.fg]: tinted.fg[1],
2713
+ [varNames.color.muted.bg]: tinted.bg[4],
2714
+ [varNames.color.muted.fg]: tinted.fg[3],
2715
+ [varNames.button.boxShadow]: `inset 0 0 0 ${vars.button.border.width} ${vars.color.border}`
2716
+ }
2879
2717
  },
2880
2718
  "&:not([data-disabled])[data-selected]": {
2881
- [varNames.color.bg]: tinted.bg[3],
2882
- [varNames.color.border]: tinted.border[3],
2883
- [varNames.color.code.bg]: tinted.bg[4],
2884
- [varNames.color.code.fg]: tinted.fg[3],
2885
- [varNames.color.fg]: tinted.fg[1],
2886
- [varNames.color.muted.bg]: tinted.bg[4],
2887
- [varNames.color.muted.fg]: tinted.fg[3],
2888
- "--button-box-shadow": "inset 0 0 0 var(--button-border-width) var(--color-border)"
2719
+ vars: {
2720
+ [varNames.color.bg]: tinted.bg[3],
2721
+ [varNames.color.border]: tinted.border[3],
2722
+ [varNames.color.code.bg]: tinted.bg[4],
2723
+ [varNames.color.code.fg]: tinted.fg[3],
2724
+ [varNames.color.fg]: tinted.fg[1],
2725
+ [varNames.color.muted.bg]: tinted.bg[4],
2726
+ [varNames.color.muted.fg]: tinted.fg[3],
2727
+ [varNames.button.boxShadow]: `inset 0 0 0 ${vars.button.border.width} ${vars.color.border}`
2728
+ }
2889
2729
  },
2890
2730
  "&[data-disabled]": {
2891
- [varNames.color.avatar.gray.bg]: vars.color.tinted.default.bg[2],
2892
- [varNames.color.avatar.blue.bg]: vars.color.tinted.default.bg[2],
2893
- [varNames.color.avatar.purple.bg]: vars.color.tinted.default.bg[2],
2894
- [varNames.color.avatar.magenta.bg]: vars.color.tinted.default.bg[2],
2895
- [varNames.color.avatar.red.bg]: vars.color.tinted.default.bg[2],
2896
- [varNames.color.avatar.orange.bg]: vars.color.tinted.default.bg[2],
2897
- [varNames.color.avatar.yellow.bg]: vars.color.tinted.default.bg[2],
2898
- [varNames.color.avatar.green.bg]: vars.color.tinted.default.bg[2],
2899
- [varNames.color.avatar.cyan.bg]: vars.color.tinted.default.bg[2],
2900
- [varNames.color.bg]: vars.color.tinted.default.bg[0],
2901
- [varNames.color.border]: vars.color.tinted.default.border[0],
2902
- [varNames.color.code.bg]: vars.color.tinted.default.bg[1],
2903
- [varNames.color.code.fg]: vars.color.tinted.default.border[3],
2904
- [varNames.color.fg]: vars.color.tinted.default.border[4],
2905
- [varNames.color.muted.bg]: vars.color.tinted.default.bg[1],
2906
- [varNames.color.muted.fg]: vars.color.tinted.default.border[3]
2731
+ vars: {
2732
+ [varNames.color.avatar.blue.bg]: vars.color.tinted.default.bg[2],
2733
+ [varNames.color.avatar.purple.bg]: vars.color.tinted.default.bg[2],
2734
+ [varNames.color.avatar.magenta.bg]: vars.color.tinted.default.bg[2],
2735
+ [varNames.color.avatar.red.bg]: vars.color.tinted.default.bg[2],
2736
+ [varNames.color.avatar.orange.bg]: vars.color.tinted.default.bg[2],
2737
+ [varNames.color.avatar.yellow.bg]: vars.color.tinted.default.bg[2],
2738
+ [varNames.color.avatar.green.bg]: vars.color.tinted.default.bg[2],
2739
+ [varNames.color.avatar.cyan.bg]: vars.color.tinted.default.bg[2],
2740
+ [varNames.color.bg]: vars.color.tinted.default.bg[0],
2741
+ [varNames.color.border]: vars.color.tinted.default.border[0],
2742
+ [varNames.color.code.bg]: vars.color.tinted.default.bg[1],
2743
+ [varNames.color.code.fg]: vars.color.tinted.default.border[3],
2744
+ [varNames.color.fg]: vars.color.tinted.default.border[4],
2745
+ [varNames.color.muted.bg]: vars.color.tinted.default.bg[1],
2746
+ [varNames.color.muted.fg]: vars.color.tinted.default.border[3]
2747
+ }
2907
2748
  }
2908
2749
  }
2909
2750
  }, primitive$j[`.button[data-mode="bleed"][data-tone="${tone}"]`] = {
2910
2751
  boxShadow: "none",
2911
- [varNames.color.bg]: tinted.bg[0],
2912
- [varNames.color.border]: tinted.border[1],
2913
- [varNames.color.fg]: tinted.fg[2],
2914
- [varNames.color.muted.bg]: tinted.bg[1],
2915
- [varNames.color.muted.fg]: tinted.fg[4],
2916
- "--button-box-shadow": "none",
2917
- "@nest": {
2752
+ vars: {
2753
+ [varNames.color.bg]: tinted.bg[0],
2754
+ [varNames.color.border]: tinted.border[1],
2755
+ [varNames.color.fg]: tinted.fg[2],
2756
+ [varNames.color.muted.bg]: tinted.bg[1],
2757
+ [varNames.color.muted.fg]: tinted.fg[4],
2758
+ [varNames.button.boxShadow]: "none"
2759
+ },
2760
+ nest: {
2918
2761
  "&:not([data-disabled]):hover": {
2919
- [varNames.color.bg]: tinted.bg[1],
2920
- [varNames.color.border]: tinted.border[2],
2921
- [varNames.color.fg]: tinted.fg[1],
2922
- [varNames.color.muted.bg]: tinted.bg[2],
2923
- [varNames.color.muted.fg]: tinted.fg[3]
2762
+ vars: {
2763
+ [varNames.color.bg]: tinted.bg[1],
2764
+ [varNames.color.border]: tinted.border[2],
2765
+ [varNames.color.fg]: tinted.fg[1],
2766
+ [varNames.color.muted.bg]: tinted.bg[2],
2767
+ [varNames.color.muted.fg]: tinted.fg[3]
2768
+ }
2924
2769
  },
2925
2770
  "&:not([data-disabled]):active": {
2926
- [varNames.color.bg]: tinted.bg[2],
2927
- [varNames.color.border]: tinted.border[3],
2928
- [varNames.color.fg]: tinted.fg[1],
2929
- [varNames.color.muted.bg]: tinted.bg[3],
2930
- [varNames.color.muted.fg]: tinted.fg[3]
2771
+ vars: {
2772
+ [varNames.color.bg]: tinted.bg[2],
2773
+ [varNames.color.border]: tinted.border[3],
2774
+ [varNames.color.fg]: tinted.fg[1],
2775
+ [varNames.color.muted.bg]: tinted.bg[3],
2776
+ [varNames.color.muted.fg]: tinted.fg[3]
2777
+ }
2931
2778
  },
2932
2779
  "&:not([data-disabled])[data-selected]": {
2933
- [varNames.color.bg]: tinted.bg[2],
2934
- [varNames.color.border]: tinted.border[3],
2935
- [varNames.color.fg]: tinted.fg[1],
2936
- [varNames.color.muted.bg]: tinted.bg[3],
2937
- [varNames.color.muted.fg]: tinted.fg[3]
2780
+ vars: {
2781
+ [varNames.color.bg]: tinted.bg[2],
2782
+ [varNames.color.border]: tinted.border[3],
2783
+ [varNames.color.fg]: tinted.fg[1],
2784
+ [varNames.color.muted.bg]: tinted.bg[3],
2785
+ [varNames.color.muted.fg]: tinted.fg[3]
2786
+ }
2938
2787
  },
2939
2788
  "&[data-disabled]": {
2940
- [varNames.color.avatar.gray.bg]: vars.color.tinted.default.bg[2],
2941
- [varNames.color.avatar.blue.bg]: vars.color.tinted.default.bg[2],
2942
- [varNames.color.avatar.purple.bg]: vars.color.tinted.default.bg[2],
2943
- [varNames.color.avatar.magenta.bg]: vars.color.tinted.default.bg[2],
2944
- [varNames.color.avatar.red.bg]: vars.color.tinted.default.bg[2],
2945
- [varNames.color.avatar.orange.bg]: vars.color.tinted.default.bg[2],
2946
- [varNames.color.avatar.yellow.bg]: vars.color.tinted.default.bg[2],
2947
- [varNames.color.avatar.green.bg]: vars.color.tinted.default.bg[2],
2948
- [varNames.color.avatar.cyan.bg]: vars.color.tinted.default.bg[2],
2949
- [varNames.color.bg]: vars.color.tinted.default.bg[0],
2950
- [varNames.color.border]: vars.color.tinted.default.border[0],
2951
- [varNames.color.code.bg]: vars.color.tinted.default.bg[1],
2952
- [varNames.color.code.fg]: vars.color.tinted.default.border[3],
2953
- [varNames.color.fg]: vars.color.tinted.default.border[4],
2954
- [varNames.color.muted.bg]: vars.color.tinted.default.bg[1],
2955
- [varNames.color.muted.fg]: vars.color.tinted.default.border[3]
2789
+ vars: {
2790
+ [varNames.color.avatar.blue.bg]: vars.color.tinted.default.bg[2],
2791
+ [varNames.color.avatar.purple.bg]: vars.color.tinted.default.bg[2],
2792
+ [varNames.color.avatar.magenta.bg]: vars.color.tinted.default.bg[2],
2793
+ [varNames.color.avatar.red.bg]: vars.color.tinted.default.bg[2],
2794
+ [varNames.color.avatar.orange.bg]: vars.color.tinted.default.bg[2],
2795
+ [varNames.color.avatar.yellow.bg]: vars.color.tinted.default.bg[2],
2796
+ [varNames.color.avatar.green.bg]: vars.color.tinted.default.bg[2],
2797
+ [varNames.color.avatar.cyan.bg]: vars.color.tinted.default.bg[2],
2798
+ [varNames.color.bg]: vars.color.tinted.default.bg[0],
2799
+ [varNames.color.border]: vars.color.tinted.default.border[0],
2800
+ [varNames.color.code.bg]: vars.color.tinted.default.bg[1],
2801
+ [varNames.color.code.fg]: vars.color.tinted.default.border[3],
2802
+ [varNames.color.fg]: vars.color.tinted.default.border[4],
2803
+ [varNames.color.muted.bg]: vars.color.tinted.default.bg[1],
2804
+ [varNames.color.muted.fg]: vars.color.tinted.default.border[3]
2805
+ }
2956
2806
  }
2957
2807
  }
2958
2808
  };
@@ -2961,18 +2811,22 @@ const buttonStyle = {
2961
2811
  layers: {
2962
2812
  primitive: primitive$j
2963
2813
  }
2964
- }, primitive$i = {
2814
+ };
2815
+ function _assign(target, source) {
2816
+ return Object.assign(target, source);
2817
+ }
2818
+ const primitive$i = {
2965
2819
  ".card": {
2966
2820
  backgroundColor: vars.color.bg,
2967
2821
  color: vars.color.fg,
2968
- [varNames.color.bg]: vars.color.tinted.default.bg[0],
2969
- [varNames.color.border]: vars.color.tinted.default.border[1],
2970
- [varNames.color.code.bg]: vars.color.code.bg,
2971
- [varNames.color.code.fg]: vars.color.code.fg,
2972
- [varNames.color.fg]: vars.color.tinted.default.fg[0],
2973
- [varNames.color.muted.bg]: vars.color.tinted.default.bg[1],
2974
- [varNames.color.muted.fg]: vars.color.tinted.default.fg[4],
2975
- "@nest": {
2822
+ vars: {
2823
+ [varNames.color.bg]: vars.color.tinted.default.bg[0],
2824
+ [varNames.color.border]: vars.color.tinted.default.border[1],
2825
+ [varNames.color.fg]: vars.color.tinted.default.fg[0],
2826
+ [varNames.color.muted.bg]: vars.color.tinted.default.bg[1],
2827
+ [varNames.color.muted.fg]: vars.color.tinted.default.fg[4]
2828
+ },
2829
+ nest: {
2976
2830
  "button&": {
2977
2831
  WebkitFontSmoothing: "inherit",
2978
2832
  appearance: "none",
@@ -2998,64 +2852,91 @@ const buttonStyle = {
2998
2852
  backgroundImage: `repeating-conic-gradient(${vars.color.bg} 0% 25%, ${vars.color.muted.bg} 0% 50%)`
2999
2853
  },
3000
2854
  "a&:not([data-disabled]):hover, button&:not([data-disabled]):hover": {
3001
- [varNames.color.bg]: vars.color.tinted.default.bg[1],
3002
- [varNames.color.border]: vars.color.tinted.default.border[3],
3003
- [varNames.color.fg]: vars.color.tinted.default.fg[1],
3004
- [varNames.color.muted.bg]: vars.color.tinted.default.bg[2],
3005
- [varNames.color.muted.fg]: vars.color.tinted.default.fg[4]
2855
+ vars: {
2856
+ [varNames.color.bg]: vars.color.tinted.default.bg[1],
2857
+ [varNames.color.border]: vars.color.tinted.default.border[3],
2858
+ [varNames.color.fg]: vars.color.tinted.default.fg[1],
2859
+ [varNames.color.code.bg]: vars.color.tinted.default.bg[2],
2860
+ [varNames.color.code.fg]: vars.color.tinted.default.fg[4],
2861
+ [varNames.color.muted.bg]: vars.color.tinted.default.bg[2],
2862
+ [varNames.color.muted.fg]: vars.color.tinted.default.fg[4]
2863
+ }
3006
2864
  },
3007
2865
  "a&:not([data-disabled]):active, button&:not([data-disabled]):active": {
3008
- [varNames.color.bg]: vars.color.tinted.default.bg[2],
3009
- [varNames.color.border]: vars.color.tinted.default.border[4],
3010
- [varNames.color.fg]: vars.color.tinted.default.fg[0],
3011
- [varNames.color.muted.bg]: vars.color.tinted.default.bg[3],
3012
- [varNames.color.muted.fg]: vars.color.tinted.default.fg[4]
2866
+ vars: {
2867
+ [varNames.color.bg]: vars.color.tinted.default.bg[2],
2868
+ [varNames.color.border]: vars.color.tinted.default.border[4],
2869
+ [varNames.color.fg]: vars.color.tinted.default.fg[0],
2870
+ [varNames.color.code.bg]: vars.color.tinted.default.bg[3],
2871
+ [varNames.color.code.fg]: vars.color.tinted.default.fg[4],
2872
+ [varNames.color.muted.bg]: vars.color.tinted.default.bg[3],
2873
+ [varNames.color.muted.fg]: vars.color.tinted.default.fg[4]
2874
+ }
3013
2875
  },
3014
2876
  // toggle button
3015
2877
  'a&:not([data-disabled])[aria-pressed="true"], button&:not([data-disabled])[aria-pressed="true"]': {
3016
- [varNames.color.bg]: vars.color.tinted.default.bg[2],
3017
- [varNames.color.border]: vars.color.tinted.default.border[4],
3018
- [varNames.color.fg]: vars.color.tinted.default.fg[0],
3019
- [varNames.color.muted.bg]: vars.color.tinted.default.bg[3],
3020
- [varNames.color.muted.fg]: vars.color.tinted.default.fg[4]
2878
+ vars: {
2879
+ [varNames.color.bg]: vars.color.tinted.default.bg[2],
2880
+ [varNames.color.border]: vars.color.tinted.default.border[4],
2881
+ [varNames.color.fg]: vars.color.tinted.default.fg[0],
2882
+ [varNames.color.code.bg]: vars.color.tinted.default.bg[3],
2883
+ [varNames.color.code.fg]: vars.color.tinted.default.fg[4],
2884
+ [varNames.color.muted.bg]: vars.color.tinted.default.bg[3],
2885
+ [varNames.color.muted.fg]: vars.color.tinted.default.fg[4]
2886
+ }
3021
2887
  },
3022
2888
  "a&:not([data-disabled])[data-pressed], button&:not([data-disabled])[data-pressed]": {
3023
- [varNames.color.bg]: vars.color.tinted.default.bg[2],
3024
- [varNames.color.border]: vars.color.tinted.default.border[4],
3025
- [varNames.color.fg]: vars.color.tinted.default.fg[0],
3026
- [varNames.color.muted.bg]: vars.color.tinted.default.bg[3],
3027
- [varNames.color.muted.fg]: vars.color.tinted.default.fg[4]
2889
+ vars: {
2890
+ [varNames.color.bg]: vars.color.tinted.default.bg[2],
2891
+ [varNames.color.border]: vars.color.tinted.default.border[4],
2892
+ [varNames.color.fg]: vars.color.tinted.default.fg[0],
2893
+ [varNames.color.code.bg]: vars.color.tinted.default.bg[3],
2894
+ [varNames.color.code.fg]: vars.color.tinted.default.fg[4],
2895
+ [varNames.color.muted.bg]: vars.color.tinted.default.bg[3],
2896
+ [varNames.color.muted.fg]: vars.color.tinted.default.fg[4]
2897
+ }
3028
2898
  },
3029
2899
  "a&:not([data-disabled])[data-selected], button&:not([data-disabled])[data-selected]": {
3030
- [varNames.color.bg]: vars.color.solid.primary.bg[0],
3031
- [varNames.color.border]: vars.color.solid.primary.border[1],
3032
- [varNames.color.fg]: vars.color.solid.primary.fg[0],
3033
- [varNames.color.muted.bg]: vars.color.solid.primary.bg[1],
3034
- [varNames.color.muted.fg]: vars.color.solid.primary.fg[3]
2900
+ vars: {
2901
+ [varNames.color.bg]: vars.color.solid.primary.bg[0],
2902
+ [varNames.color.border]: vars.color.solid.primary.border[1],
2903
+ [varNames.color.fg]: vars.color.solid.primary.fg[0],
2904
+ [varNames.color.code.bg]: vars.color.solid.primary.bg[1],
2905
+ [varNames.color.code.fg]: vars.color.solid.primary.fg[3],
2906
+ [varNames.color.muted.bg]: vars.color.solid.primary.bg[1],
2907
+ [varNames.color.muted.fg]: vars.color.solid.primary.fg[3]
2908
+ }
3035
2909
  },
3036
2910
  "a&[data-disabled], button&[data-disabled]": {
3037
- [varNames.color.bg]: vars.color.tinted.default.bg[0],
3038
- [varNames.color.border]: vars.color.tinted.default.border[1],
3039
- [varNames.color.fg]: vars.color.tinted.default.border[3],
3040
- [varNames.color.muted.bg]: vars.color.tinted.default.bg[1],
3041
- [varNames.color.muted.fg]: vars.color.tinted.default.border[1]
2911
+ vars: {
2912
+ [varNames.color.bg]: vars.color.tinted.default.bg[0],
2913
+ [varNames.color.border]: vars.color.tinted.default.border[1],
2914
+ [varNames.color.fg]: vars.color.tinted.default.border[3],
2915
+ [varNames.color.code.bg]: vars.color.tinted.default.bg[0],
2916
+ [varNames.color.code.fg]: vars.color.tinted.default.border[2],
2917
+ [varNames.color.muted.bg]: vars.color.tinted.default.bg[1],
2918
+ [varNames.color.muted.fg]: vars.color.tinted.default.border[2]
2919
+ }
3042
2920
  }
3043
2921
  }
3044
2922
  }
3045
2923
  };
3046
2924
  for (const scheme of theme.THEME_COLOR_SCHEMES) {
3047
- const schemeProps = {
3048
- colorScheme: scheme
2925
+ const customProps = {}, props = {
2926
+ colorScheme: scheme,
2927
+ vars: customProps
3049
2928
  };
3050
2929
  for (const tone of theme.THEME_COLOR_CARD_TONES) {
3051
2930
  const _varNames = varNames.color[tone], _vars = vars.color[scheme][tone];
3052
- _assignToneProps(schemeProps, _varNames, _vars);
2931
+ _assignToneProps(customProps, _varNames, _vars);
3053
2932
  }
3054
- primitive$i[`.card.${scheme}`] = schemeProps;
2933
+ primitive$i[`.card.${scheme}`] = props;
3055
2934
  }
3056
2935
  for (const tone of theme.THEME_COLOR_CARD_TONES) {
3057
- const _varNames = varNames.color, _vars = vars.color[tone], toneProps = {};
3058
- _assignToneProps(toneProps, _varNames, _vars), Object.assign(toneProps, {
2936
+ const _varNames = varNames.color, _vars = vars.color[tone], customProps = {}, props = {
2937
+ vars: customProps
2938
+ };
2939
+ _assignToneProps(customProps, _varNames, _vars), _assign(customProps, {
3059
2940
  "--card-bg-color": vars.color.bg,
3060
2941
  "--card-bg2-color": vars.color.muted.bg,
3061
2942
  "--card-border-color": vars.color.border,
@@ -3076,21 +2957,20 @@ for (const tone of theme.THEME_COLOR_CARD_TONES) {
3076
2957
  "--card-shadow-outline-color": vars.color.shadow.outline,
3077
2958
  "--card-shadow-umbra-color": vars.color.shadow.umbra,
3078
2959
  "--card-shadow-penumbra-color": vars.color.shadow.penumbra,
3079
- "--card-shadow-ambient-color": vars.color.shadow.ambient
3080
- // todo
3081
- // '--card-skeleton-from-color': 'var(--color-skeleton-from)',
3082
- // '--card-skeleton-to-color': 'var(--color-skeleton-to)',
3083
- }), primitive$i[`.card.${tone}`] = toneProps;
2960
+ "--card-shadow-ambient-color": vars.color.shadow.ambient,
2961
+ "--card-skeleton-from-color": vars.color.skeleton.from,
2962
+ "--card-skeleton-to-color": vars.color.skeleton.to
2963
+ }), primitive$i[`.card.${tone}`] = props;
3084
2964
  }
3085
2965
  const cardStyle = {
3086
2966
  layers: {
3087
2967
  primitive: primitive$i
3088
2968
  }
3089
2969
  };
3090
- function _assignToneProps(toneProps, _varNames, _vars) {
3091
- for (const hue of theme.THEME_COLOR_AVATAR_COLORS)
3092
- toneProps[`${_varNames.avatar[hue].bg}`] = _vars.avatar[hue].bg, toneProps[`${_varNames.avatar[hue].fg}`] = _vars.avatar[hue].fg;
3093
- Object.assign(toneProps, {
2970
+ function _assignToneProps(props, _varNames, _vars) {
2971
+ for (const hue of theme.AVATAR_COLORS)
2972
+ props[_varNames.avatar[hue].bg] = _vars.avatar[hue].bg, props[_varNames.avatar[hue].fg] = _vars.avatar[hue].fg;
2973
+ _assign(props, {
3094
2974
  [_varNames.backdrop]: _vars.backdrop,
3095
2975
  [_varNames.code.fg]: _vars.code.fg,
3096
2976
  [_varNames.code.bg]: _vars.code.bg,
@@ -3137,10 +3017,10 @@ function _assignToneProps(toneProps, _varNames, _vars) {
3137
3017
  [_varNames.shadow.penumbra]: _vars.shadow.penumbra,
3138
3018
  [_varNames.shadow.ambient]: _vars.shadow.ambient
3139
3019
  });
3140
- for (const variant of ["solid", "tinted"])
3020
+ for (const variant of theme.COLOR_VARIANTS)
3141
3021
  for (const elementTone of theme.THEME_COLOR_STATE_TONES) {
3142
3022
  const __varNames = _varNames[variant][elementTone], __vars = _vars[variant][elementTone];
3143
- Object.assign(toneProps, {
3023
+ _assign(props, {
3144
3024
  [__varNames.bg[0]]: __vars.bg[0],
3145
3025
  [__varNames.bg[1]]: __vars.bg[1],
3146
3026
  [__varNames.bg[2]]: __vars.bg[2],
@@ -3162,7 +3042,11 @@ function _assignToneProps(toneProps, _varNames, _vars) {
3162
3042
  const primitive$h = {
3163
3043
  ".checkbox": {
3164
3044
  position: "relative",
3165
- display: "inline-block"
3045
+ nest: {
3046
+ "&:not([hidden])": {
3047
+ display: "block"
3048
+ }
3049
+ }
3166
3050
  },
3167
3051
  ".checkbox-input": {
3168
3052
  position: "absolute",
@@ -3175,28 +3059,23 @@ const primitive$h = {
3175
3059
  zIndex: 1,
3176
3060
  padding: 0,
3177
3061
  margin: 0,
3178
- "@nest": {
3062
+ nest: {
3179
3063
  "& + span": {
3180
3064
  position: "relative",
3181
3065
  display: "block",
3182
- width: "var(--input-checkbox-size)",
3183
- height: "var(--input-checkbox-size)",
3066
+ width: vars.input.checkbox.size,
3067
+ height: vars.input.checkbox.size,
3184
3068
  boxSizing: "border-box",
3185
- borderRadius: "var(--radius-2)",
3069
+ borderRadius: vars.radius[2],
3186
3070
  lineHeight: 1,
3187
- backgroundColor: "var(--color-checkbox-bg)",
3188
- boxShadow: "inset 0 0 0 1px var(--color-checkbox-border)",
3189
- color: "var(--color-checkbox-fg)",
3190
- // '--color-checkbox-bg': 'var(--color-input-default-enabled-bg)',
3191
- // '--color-checkbox-border': 'var(--color-input-default-enabled-border)',
3192
- // '--color-checkbox-fg': 'var(--color-input-default-enabled-fg)',
3193
- "--color-checkbox-bg": "var(--color-tinted-default-bg-0)",
3194
- "--color-checkbox-border": "var(--color-tinted-default-border-1)",
3195
- "--color-checkbox-fg": "var(--color-tinted-default-fg-0)"
3196
- // box-shadow: ${focusRingBorderStyle({
3197
- // color: color.input.default.enabled.border,
3198
- // width: input.border.width,
3199
- // })},
3071
+ backgroundColor: vars.color.input.checkbox.bg,
3072
+ boxShadow: `inset 0 0 0 1px ${vars.color.input.checkbox.border}`,
3073
+ color: vars.color.input.checkbox.fg,
3074
+ vars: {
3075
+ [varNames.color.input.checkbox.bg]: vars.color.tinted.default.bg[0],
3076
+ [varNames.color.input.checkbox.border]: vars.color.tinted.default.border[2],
3077
+ [varNames.color.input.checkbox.fg]: vars.color.tinted.default.fg[0]
3078
+ }
3200
3079
  },
3201
3080
  "& + span > svg": {
3202
3081
  display: "block",
@@ -3209,81 +3088,106 @@ const primitive$h = {
3209
3088
  vectorEffect: "non-scaling-stroke",
3210
3089
  strokeWidth: "1.5px !important"
3211
3090
  },
3212
- "&:hover + span": {
3213
- "--color-checkbox-bg": "var(--color-tinted-default-bg-1)",
3214
- "--color-checkbox-border": "var(--color-tinted-default-border-2)",
3215
- "--color-checkbox-fg": "var(--color-tinted-default-fg-0)"
3216
- },
3217
- "&:checked + span": {
3218
- "--color-checkbox-bg": "var(--color-solid-default-bg-0)",
3219
- "--color-checkbox-border": "var(--color-solid-default-bg-0)",
3220
- "--color-checkbox-fg": "var(--color-solid-default-fg-0)"
3221
- // '--color-checkbox-bg': 'var(--color-input-default-enabled-fg)',
3222
- // '--color-checkbox-border': 'var(--color-input-default-enabled-fg)',
3223
- // '--color-checkbox-fg': 'var(--color-input-default-enabled-bg)',
3224
- // box-shadow: ${focusRingBorderStyle({
3225
- // color: color.input.default.enabled.fg,
3226
- // width: input.border.width,
3227
- // })},
3228
- },
3091
+ // show checkmark when checked
3229
3092
  "&:checked + span > svg:first-child": {
3230
3093
  opacity: 1
3231
3094
  },
3232
- // focus
3233
- "&:not(:disabled):focus:focus-visible + span": {
3234
- // box-shadow: ${focusRingStyle({focusRing})},
3235
- },
3236
- // focus when checked - uses a different offset
3237
- "&:not(:disabled):focus:focus-visible&:checked + span": {
3238
- // box-shadow: ${focusRingStyle({focusRing: {width: 1, offset: 1}})},
3239
- },
3240
- "&[data-error] + span": {
3241
- "--color-checkbox-bg": "var(--color-input-invalid-enabled-border)",
3242
- "--color-checkbox-border": "var(--color-input-invalid-enabled-bg)",
3243
- "--color-checkbox-fg": "var(--color-input-invalid-enabled-fg)"
3244
- // box-shadow: ${focusRingBorderStyle({
3245
- // width: input.border.width,
3246
- // color: color.input.invalid.enabled.muted.bg,
3247
- // })},
3248
- },
3249
- "&[data-error]:checked + span": {
3250
- "--color-checkbox-bg": "var(--color-input-invalid-enabled-muted-bg)",
3251
- "--color-checkbox-fg": "var(--color-input-invalid-enabled-bg)"
3252
- },
3253
- "&[data-error]:checked:not(:disabled):focus:focus-visible + span": {
3254
- "--color-checkbox-border": "var(--color-input-invalid-readOnly-muted-bg)"
3255
- // box-shadow: ${focusRingStyle({
3256
- // border: {width: input.border.width, color: color.input.invalid.readOnly.muted.bg},
3257
- // focusRing: {width: 1, offset: 1},
3258
- // })},
3259
- },
3260
- "&:disabled + span": {
3261
- "--color-checkbox-bg": "var(--color-tinted-default-bg-1)",
3262
- "--color-checkbox-border": "var(--color-tinted-default-border-0)",
3263
- "--color-checkbox-fg": "var(--color-tinted-default-border-2)"
3095
+ // show minus when indeterminate
3096
+ "&:indeterminate + span > svg:last-child": {
3097
+ opacity: 1
3264
3098
  },
3265
- "&:checked:disabled + span": {
3266
- "--color-checkbox-bg": "var(--color-tinted-default-border-2)",
3267
- "--color-checkbox-border": "var(--color-tinted-default-border-2)",
3268
- "--color-checkbox-fg": "var(--color-tinted-default-bg-0)"
3099
+ // checked, not disabled, not invalid
3100
+ "&:checked:not(:disabled):not([data-invalid]) + span": {
3101
+ vars: {
3102
+ [varNames.color.input.checkbox.bg]: vars.color.solid.default.bg[0],
3103
+ [varNames.color.input.checkbox.border]: vars.color.solid.default.bg[0],
3104
+ [varNames.color.input.checkbox.fg]: vars.color.solid.default.fg[0]
3105
+ }
3269
3106
  },
3270
- // '&:disabled:checked + span': {
3271
- // '--color-checkbox-bg': 'var(--color-input-default-disabled-muted-bg)',
3272
- // },
3273
- "&[data-read-only] + span": {
3274
- "--color-checkbox-bg": "var(--color-input-default-readOnly-bg)",
3275
- "--color-checkbox-border": "var(--color-input-default-readOnly-border)",
3276
- "--color-checkbox-fg": "var(--color-input-default-readOnly-fg)"
3277
- // box-shadow: ${focusRingBorderStyle({
3278
- // width: input.border.width,
3279
- // color: color.input.default.readOnly.border,
3280
- // })},
3281
- },
3282
- "&[data-read-only]:checked + span": {
3283
- "--color-checkbox-bg": "var(--color-input-default-readOnly-muted-bg)"
3107
+ // not checked, not invalid, hovered
3108
+ "&:not(:checked):not([data-invalid]):hover + span": {
3109
+ vars: {
3110
+ [varNames.color.input.checkbox.bg]: vars.color.tinted.default.bg[1],
3111
+ [varNames.color.input.checkbox.border]: vars.color.tinted.default.border[4],
3112
+ [varNames.color.input.checkbox.fg]: vars.color.tinted.default.fg[0]
3113
+ }
3284
3114
  },
3285
- "&:indeterminate + span > svg:last-child": {
3286
- opacity: 1
3115
+ // not checked, not disabled, invalid
3116
+ "&:not(:checked):not(:disabled)[data-invalid] + span": {
3117
+ vars: {
3118
+ [varNames.color.input.checkbox.bg]: vars.color.tinted.critical.bg[1],
3119
+ [varNames.color.input.checkbox.border]: vars.color.tinted.critical.border[3],
3120
+ [varNames.color.input.checkbox.fg]: vars.color.tinted.critical.fg[4]
3121
+ }
3122
+ },
3123
+ // not checked, invalid, hovered
3124
+ "&:not(:checked)[data-invalid]:hover + span": {
3125
+ vars: {
3126
+ [varNames.color.input.checkbox.bg]: vars.color.tinted.critical.bg[2],
3127
+ [varNames.color.input.checkbox.border]: vars.color.tinted.critical.border[4],
3128
+ [varNames.color.input.checkbox.fg]: vars.color.tinted.critical.fg[1]
3129
+ // [varNames.color.input.checkbox.border]: vars.color.focusRing,
3130
+ }
3131
+ },
3132
+ // checked, not disabled, invalid
3133
+ "&:checked:not(:disabled)[data-invalid] + span": {
3134
+ vars: {
3135
+ [varNames.color.input.checkbox.bg]: vars.color.solid.critical.bg[0],
3136
+ [varNames.color.input.checkbox.border]: vars.color.solid.critical.bg[0],
3137
+ [varNames.color.input.checkbox.fg]: vars.color.solid.critical.fg[0]
3138
+ }
3139
+ },
3140
+ // not checked, not indeterminate, read only
3141
+ "&:not(:checked):not(:indeterminate)[data-read-only] + span": {
3142
+ vars: {
3143
+ [varNames.color.input.checkbox.bg]: vars.color.tinted.default.bg[0],
3144
+ [varNames.color.input.checkbox.border]: vars.color.tinted.default.border[2],
3145
+ [varNames.color.input.checkbox.fg]: vars.color.tinted.default.fg[0]
3146
+ }
3147
+ },
3148
+ // checked, read only
3149
+ "&:checked[data-read-only] + span": {
3150
+ vars: {
3151
+ [varNames.color.input.checkbox.bg]: vars.color.tinted.default.bg[1]
3152
+ }
3153
+ },
3154
+ // not checked, focused
3155
+ "&:not(:checked):focus:focus-visible + span": {
3156
+ vars: {
3157
+ [varNames.color.input.checkbox.border]: vars.color.focusRing
3158
+ }
3159
+ },
3160
+ // checked, focused
3161
+ "&:checked:focus:focus-visible + span": {
3162
+ vars: {
3163
+ [varNames.color.input.checkbox.border]: vars.color.focusRing,
3164
+ [varNames.color.input.checkbox.bg]: vars.color.focusRing,
3165
+ [varNames.color.input.checkbox.fg]: vars.color.solid.default.fg[0]
3166
+ }
3167
+ },
3168
+ // not checked, disabled
3169
+ "&:not(:checked):disabled + span": {
3170
+ vars: {
3171
+ [varNames.color.input.checkbox.bg]: vars.color.tinted.default.bg[1],
3172
+ [varNames.color.input.checkbox.border]: vars.color.tinted.default.border[0],
3173
+ [varNames.color.input.checkbox.fg]: vars.color.tinted.default.border[2]
3174
+ }
3175
+ },
3176
+ // checked, disabled
3177
+ "&:checked:disabled + span": {
3178
+ vars: {
3179
+ [varNames.color.input.checkbox.bg]: vars.color.tinted.default.border[2],
3180
+ [varNames.color.input.checkbox.border]: vars.color.tinted.default.border[2],
3181
+ [varNames.color.input.checkbox.fg]: vars.color.tinted.default.bg[0]
3182
+ }
3183
+ },
3184
+ // indeterminate, disabled
3185
+ "&:indeterminate:disabled + span": {
3186
+ vars: {
3187
+ [varNames.color.input.checkbox.bg]: vars.color.tinted.default.bg[1],
3188
+ [varNames.color.input.checkbox.border]: vars.color.tinted.default.border[0],
3189
+ [varNames.color.input.checkbox.fg]: vars.color.tinted.default.border[2]
3190
+ }
3287
3191
  }
3288
3192
  }
3289
3193
  }
@@ -3293,25 +3197,21 @@ const primitive$h = {
3293
3197
  }
3294
3198
  }, primitive$g = {
3295
3199
  ".code": {
3296
- "--font-weight-regular": "var(--font-code-weight-regular)",
3297
- "--font-weight-medium": "var(--font-code-weight-medium)",
3298
- "--font-weight-semibold": "var(--font-code-weight-semibold)",
3299
- "--font-weight-bold": "var(--font-code-weight-bold)",
3300
- "--font-family": "var(--font-code-family)",
3301
- "--font-feature-settings": "var(--font-code-feature-settings)",
3302
- color: "var(--color-code-fg)",
3303
- "@nest": {
3200
+ vars: {
3201
+ [varNames.font.weight.regular]: vars.font.code.weight.regular,
3202
+ [varNames.font.weight.medium]: vars.font.code.weight.medium,
3203
+ [varNames.font.weight.semibold]: vars.font.code.weight.semibold,
3204
+ [varNames.font.weight.bold]: vars.font.code.weight.bold,
3205
+ [varNames.font.family]: vars.font.code.family,
3206
+ [varNames.font.featureSettings]: vars.font.code.featureSettings
3207
+ },
3208
+ color: vars.color.code.fg,
3209
+ nest: {
3304
3210
  "& > code": {
3305
3211
  fontFamily: "inherit"
3306
3212
  },
3307
- // & code {
3308
- // font-family: inherit;
3309
- // &.refractor .token {
3310
- // ${codeSyntaxHighlightingStyle}
3311
- // }
3312
- // }
3313
3213
  "& a": {
3314
- color: "var(--color-link-fg)",
3214
+ color: vars.color.link.fg,
3315
3215
  textDecoration: "none",
3316
3216
  borderRadius: "1px"
3317
3217
  },
@@ -3326,16 +3226,19 @@ const primitive$h = {
3326
3226
  }
3327
3227
  }
3328
3228
  };
3329
- for (const size of theme.FONT_CODE_SIZE)
3229
+ for (const size of theme.FONT_CODE_SIZE) {
3230
+ const v = vars.font.code.sizes[size];
3330
3231
  _responsiveRule(primitive$g, `code-${size}`, {
3331
- "--font-size": `var(--font-code-${size}-size)`,
3332
- "--font-line-height": `var(--font-code-${size}-line-height)`,
3333
- "--font-letter-spacing": `var(--font-code-${size}-letter-spacing)`,
3334
- "--font-icon-size": `var(--font-code-${size}-icon-size)`,
3335
- "--font-ascender-height": `var(--font-code-${size}-ascender-height)`,
3336
- "--font-descender-height": `var(--font-code-${size}-descender-height)`
3337
- // '--font-cap-height': `var(--font-code-${size}-cap-height)`,
3232
+ vars: {
3233
+ [varNames.font.fontSize]: v.fontSize,
3234
+ [varNames.font.lineHeight]: v.lineHeight,
3235
+ [varNames.font.letterSpacing]: v.letterSpacing,
3236
+ [varNames.font.iconSize]: v.iconSize,
3237
+ [varNames.font.ascenderHeight]: v.ascenderHeight,
3238
+ [varNames.font.descenderHeight]: v.descenderHeight
3239
+ }
3338
3240
  });
3241
+ }
3339
3242
  const codeStyle = {
3340
3243
  layers: {
3341
3244
  primitive: primitive$g
@@ -3351,37 +3254,44 @@ const codeStyle = {
3351
3254
  }
3352
3255
  }, primitive$e = {
3353
3256
  ".heading": {
3354
- "--font-weight-regular": "var(--font-heading-weight-regular)",
3355
- "--font-weight-medium": "var(--font-heading-weight-medium)",
3356
- "--font-weight-semibold": "var(--font-heading-weight-semibold)",
3357
- "--font-weight-bold": "var(--font-heading-weight-bold)",
3358
- "--font-family": "var(--font-heading-family)",
3359
- "--font-feature-settings": "var(--font-heading-feature-settings)",
3360
- color: "var(--color-fg)",
3361
- "@nest": {
3257
+ vars: {
3258
+ [varNames.font.weight.regular]: vars.font.heading.weight.regular,
3259
+ [varNames.font.weight.medium]: vars.font.heading.weight.medium,
3260
+ [varNames.font.weight.semibold]: vars.font.heading.weight.semibold,
3261
+ [varNames.font.weight.bold]: vars.font.heading.weight.bold,
3262
+ [varNames.font.family]: vars.font.heading.family,
3263
+ [varNames.font.featureSettings]: vars.font.heading.featureSettings
3264
+ },
3265
+ color: vars.color.fg,
3266
+ nest: {
3362
3267
  "& a": {
3363
- color: "var(--color-link-fg)",
3268
+ color: vars.color.link.fg,
3364
3269
  textDecoration: "none"
3270
+ },
3271
+ "& a:hover": {
3272
+ color: "inherit"
3365
3273
  }
3366
3274
  }
3367
3275
  },
3368
- // '.heading-accent': {
3369
- // '--color-fg': 'var(--color-accent-fg)',
3370
- // },
3371
3276
  ".heading-muted": {
3372
- "--color-fg": "var(--color-tinted-default-fg-4)"
3277
+ vars: {
3278
+ [varNames.color.fg]: vars.color.muted.fg
3279
+ }
3373
3280
  }
3374
3281
  };
3375
- for (const size of theme.FONT_HEADING_SIZE)
3282
+ for (const size of theme.FONT_HEADING_SIZE) {
3283
+ const v = vars.font.heading.sizes[size];
3376
3284
  _responsiveRule(primitive$e, `heading-${size}`, {
3377
- "--font-size": `var(--font-heading-${size}-size)`,
3378
- "--font-line-height": `var(--font-heading-${size}-line-height)`,
3379
- "--font-letter-spacing": `var(--font-heading-${size}-letter-spacing)`,
3380
- "--font-icon-size": `var(--font-heading-${size}-icon-size)`,
3381
- "--font-ascender-height": `var(--font-heading-${size}-ascender-height)`,
3382
- "--font-descender-height": `var(--font-heading-${size}-descender-height)`
3383
- // '--font-cap-height': `var(--font-heading-${size}-cap-height)`,
3285
+ vars: {
3286
+ [varNames.font.fontSize]: v.fontSize,
3287
+ [varNames.font.lineHeight]: v.lineHeight,
3288
+ [varNames.font.letterSpacing]: v.letterSpacing,
3289
+ [varNames.font.iconSize]: v.iconSize,
3290
+ [varNames.font.ascenderHeight]: v.ascenderHeight,
3291
+ [varNames.font.descenderHeight]: v.descenderHeight
3292
+ }
3384
3293
  });
3294
+ }
3385
3295
  const headingStyle = {
3386
3296
  layers: {
3387
3297
  primitive: primitive$e
@@ -3392,7 +3302,7 @@ const headingStyle = {
3392
3302
  backgroundColor: vars.color.muted.bg,
3393
3303
  font: "inherit",
3394
3304
  verticalAlign: "top",
3395
- "@nest": {
3305
+ nest: {
3396
3306
  "&:not([hidden])": {
3397
3307
  display: "inline-block"
3398
3308
  }
@@ -3404,38 +3314,40 @@ const headingStyle = {
3404
3314
  }
3405
3315
  }, primitive$c = {
3406
3316
  ".label": {
3407
- "--font-weight-regular": "var(--font-label-weight-regular)",
3408
- "--font-weight-medium": "var(--font-label-weight-medium)",
3409
- "--font-weight-semibold": "var(--font-label-weight-semibold)",
3410
- "--font-weight-bold": "var(--font-label-weight-bold)",
3411
- "--font-family": "var(--font-label-family)",
3412
- "--font-feature-settings": "var(--font-label-feature-settings)",
3413
- color: "var(--color-fg)",
3317
+ vars: {
3318
+ [varNames.font.weight.regular]: vars.font.label.weight.regular,
3319
+ [varNames.font.weight.medium]: vars.font.label.weight.medium,
3320
+ [varNames.font.weight.semibold]: vars.font.label.weight.semibold,
3321
+ [varNames.font.weight.bold]: vars.font.label.weight.bold,
3322
+ [varNames.font.family]: vars.font.label.family,
3323
+ [varNames.font.featureSettings]: vars.font.label.featureSettings
3324
+ },
3325
+ color: vars.color.fg,
3414
3326
  textTransform: "uppercase",
3415
- "@nest": {
3327
+ nest: {
3416
3328
  "& a": {
3417
- color: "var(--color-link-fg)",
3329
+ color: vars.color.link.fg,
3418
3330
  textDecoration: "none"
3419
3331
  }
3420
3332
  }
3421
3333
  },
3422
- ".label-accent": {
3423
- "--color-fg": "var(--color-accent-fg)"
3424
- },
3425
3334
  ".label-muted": {
3426
- "--color-fg": "var(--color-muted-fg)"
3335
+ [varNames.color.fg]: vars.color.muted.fg
3427
3336
  }
3428
3337
  };
3429
- for (const size of theme.FONT_LABEL_SIZE)
3338
+ for (const size of theme.FONT_LABEL_SIZE) {
3339
+ const k = varNames.font, v = vars.font.label.sizes[size];
3430
3340
  _responsiveRule(primitive$c, `label-${size}`, {
3431
- "--font-size": `var(--font-label-${size}-size)`,
3432
- "--font-line-height": `var(--font-label-${size}-line-height)`,
3433
- "--font-letter-spacing": `var(--font-label-${size}-letter-spacing)`,
3434
- "--font-icon-size": `var(--font-label-${size}-icon-size)`,
3435
- "--font-ascender-height": `var(--font-label-${size}-ascender-height)`,
3436
- "--font-descender-height": `var(--font-label-${size}-descender-height)`
3437
- // '--font-cap-height': `var(--font-label-${size}-cap-height)`,
3341
+ vars: {
3342
+ [k.fontSize]: v.fontSize,
3343
+ [k.lineHeight]: v.lineHeight,
3344
+ [k.letterSpacing]: v.letterSpacing,
3345
+ [k.iconSize]: v.iconSize,
3346
+ [k.ascenderHeight]: v.ascenderHeight,
3347
+ [k.descenderHeight]: v.descenderHeight
3348
+ }
3438
3349
  });
3350
+ }
3439
3351
  const labelStyle = {
3440
3352
  layers: {
3441
3353
  primitive: primitive$c
@@ -3447,7 +3359,7 @@ const labelStyle = {
3447
3359
  }, primitive$a = {
3448
3360
  ".radio": {
3449
3361
  position: "relative",
3450
- "@nest": {
3362
+ nest: {
3451
3363
  "&:not([hidden])": {
3452
3364
  display: "inline-block"
3453
3365
  },
@@ -3466,86 +3378,48 @@ const labelStyle = {
3466
3378
  borderRadius: "9999px",
3467
3379
  border: "none"
3468
3380
  },
3469
- /* enabled */
3381
+ // enabled
3470
3382
  "& > input + span": {
3471
3383
  display: "block",
3472
3384
  position: "relative",
3473
- width: "var(--input-radio-size)",
3474
- height: "var(--input-radio-size)",
3385
+ width: vars.input.radio.size,
3386
+ height: vars.input.radio.size,
3475
3387
  borderRadius: "9999px",
3476
- backgroundColor: "var(--color-input-bg)",
3477
- boxShadow: "inset 0 0 0 1px var(--color-input-border)",
3478
- // border-radius: ${rem(input.radio.size / 2)};
3479
- // background: ${color.input.default.enabled.bg};
3480
- // box-shadow: ${focusRingBorderStyle({
3481
- // color: color.input.default.enabled.border,
3482
- // width: input.border.width,
3483
- // })};
3484
- "--color-input-fg": "var(--color-tinted-default-fg-0)",
3485
- "--color-input-bg": "var(--color-tinted-default-bg-0)",
3486
- "--color-input-border": "var(--color-tinted-default-border-1)"
3388
+ backgroundColor: vars.color.input.radio.bg,
3389
+ boxShadow: `inset 0 0 0 1px ${vars.color.input.radio.border}`,
3390
+ vars: {
3391
+ [varNames.color.input.radio.fg]: vars.color.tinted.default.fg[0],
3392
+ [varNames.color.input.radio.bg]: vars.color.tinted.default.bg[0],
3393
+ [varNames.color.input.radio.border]: vars.color.tinted.default.border[1]
3394
+ }
3487
3395
  },
3488
3396
  "& > input + span::after": {
3489
3397
  content: '""',
3490
3398
  position: "absolute",
3491
- top: "calc((var(--input-radio-size) - var(--input-radio-mark-size)) / 2)",
3492
- left: "calc((var(--input-radio-size) - var(--input-radio-mark-size)) / 2)",
3493
- width: "var(--input-radio-mark-size)",
3494
- height: "var(--input-radio-mark-size)",
3495
- backgroundColor: "var(--color-input-fg)",
3399
+ top: `calc((${vars.input.radio.size} - ${vars.input.radio.markSize}) / 2)`,
3400
+ left: `calc((${vars.input.radio.size} - ${vars.input.radio.markSize}) / 2)`,
3401
+ width: vars.input.radio.markSize,
3402
+ height: vars.input.radio.markSize,
3403
+ backgroundColor: vars.color.input.radio.fg,
3496
3404
  borderRadius: "9999px",
3497
3405
  opacity: 0
3498
3406
  },
3499
- /* hovered */
3407
+ // hovered
3500
3408
  "& > input:not(:disabled):hover + span": {
3501
- "--color-input-bg": "var(--color-tinted-default-bg-1)",
3502
- "--color-input-border": "var(--color-tinted-default-border-2)"
3409
+ vars: {
3410
+ [varNames.color.input.radio.bg]: vars.color.tinted.default.bg[1],
3411
+ [varNames.color.input.radio.border]: vars.color.tinted.default.border[2]
3412
+ }
3503
3413
  },
3504
- /* focused */
3414
+ // focused
3505
3415
  "& > input:not(:disabled):focus + span": {
3506
- "--color-input-border": "var(--color-tinted-default-border-2)"
3507
- // box-shadow: ${focusRingStyle({
3508
- // border: {width: input.border.width, color: color.input.default.enabled.border},
3509
- // focusRing: input.radio.focusRing,
3510
- // })};
3511
- },
3512
- "& > input:not(:disabled):focus:not(:focus-visible) + span": {
3513
- // box-shadow: ${focusRingBorderStyle({
3514
- // color: color.input.default.enabled.border,
3515
- // width: input.border.width,
3516
- // })};
3416
+ vars: {
3417
+ [varNames.color.input.radio.border]: vars.color.tinted.default.border[2]
3418
+ }
3517
3419
  },
3518
3420
  "& > input:checked + span::after": {
3519
3421
  opacity: 1
3520
3422
  }
3521
- // /* customValidity */
3522
- // &[data-error] + span {
3523
- // background-color: ${color.input.invalid.enabled.border};
3524
- // box-shadow: ${focusRingBorderStyle({
3525
- // width: input.border.width,
3526
- // color: color.input.invalid.enabled.muted.bg,
3527
- // })};
3528
- // &::after {
3529
- // background: ${color.input.invalid.enabled.muted.bg};
3530
- // }
3531
- // }
3532
- // /* read only */
3533
- // &[data-read-only] + span {
3534
- // box-shadow: 0 0 0 1px ${color.input.default.readOnly.border};
3535
- // background: ${color.input.default.readOnly.bg};
3536
- // &::after {
3537
- // background: ${color.input.default.readOnly.border};
3538
- // }
3539
- // }
3540
- // /* disabled */
3541
- // &:not([data-read-only]):disabled + span {
3542
- // box-shadow: 0 0 0 1px ${color.input.default.disabled.border};
3543
- // background: ${color.input.default.disabled.bg};
3544
- // &::after {
3545
- // background: ${color.input.default.disabled.border};
3546
- // }
3547
- // }
3548
- // `
3549
3423
  }
3550
3424
  }
3551
3425
  }, radioStyle = {
@@ -3554,14 +3428,14 @@ const labelStyle = {
3554
3428
  }
3555
3429
  }, primitive$9 = {
3556
3430
  ".select": {
3557
- "@nest": {
3431
+ nest: {
3558
3432
  "& > select:disabled": {
3559
3433
  opacity: 1
3560
3434
  }
3561
3435
  }
3562
3436
  },
3563
3437
  ".select-presentation": {
3564
- "@nest": {
3438
+ nest: {
3565
3439
  "& > span": {
3566
3440
  // place icon to the right
3567
3441
  position: "absolute",
@@ -3619,60 +3493,69 @@ const labelStyle = {
3619
3493
  zIndex: 1
3620
3494
  },
3621
3495
  ".switch-presentation": {
3622
- "--switch-bg-color": "var(--color-tinted-default-border-2)",
3623
- "--switch-fg-color": "var(--color-tinted-default-bg-0)",
3624
- "--switch-thumb-offset": "0",
3625
- "--switch-thumb-size": "calc(var(--input-switch-height) - var(--input-switch-padding) * 2)",
3496
+ vars: {
3497
+ [varNames.color.input.switch.bg]: vars.color.tinted.default.border[2],
3498
+ [varNames.color.input.switch.fg]: vars.color.tinted.default.bg[0],
3499
+ [varNames.input.switch.thumb.offset]: "0",
3500
+ [varNames.input.switch.thumb.size]: `calc(${vars.input.switch.height} - ${vars.input.switch.padding} * 2)`
3501
+ },
3626
3502
  display: "block",
3627
3503
  position: "relative",
3628
- width: "var(--input-switch-width)",
3629
- height: "var(--input-switch-height)",
3630
- borderRadius: "calc(var(--input-switch-height) / 2)",
3631
- outlineOffset: "var(--input-switch-focus-ring-offset)",
3504
+ width: vars.input.switch.width,
3505
+ height: vars.input.switch.height,
3506
+ borderRadius: `calc(${vars.input.switch.height} / 2)`,
3507
+ outlineOffset: vars.input.switch.focusRing.offset,
3632
3508
  // Make sure it’s not possible to interact with the presentation element
3633
3509
  pointerEvents: "none",
3634
- "@nest": {
3635
- ".switch-element:focus + &": {
3636
- outline: "var(--input-switch-focus-ring-width) solid var(--color-focus-ring)"
3637
- },
3638
- "input:focus:not(:focus-visible) + &": {
3639
- outline: "none"
3510
+ nest: {
3511
+ "input:not(:checked):hover + &": {
3512
+ vars: {
3513
+ [varNames.color.input.switch.bg]: vars.color.tinted.default.border[4]
3514
+ }
3640
3515
  },
3641
3516
  "input:checked + &": {
3642
- "--switch-bg-color": "var(--color-solid-default-bg-0)",
3643
- "--switch-fg-color": "var(--color-solid-default-fg-0)"
3517
+ vars: {
3518
+ [varNames.color.input.switch.bg]: vars.color.solid.default.bg[0],
3519
+ [varNames.color.input.switch.fg]: vars.color.solid.default.fg[0],
3520
+ [varNames.input.switch.thumb.offset]: `calc(${vars.input.switch.width} - (${vars.input.switch.padding} * 2) - ${vars.input.switch.thumb.size})`
3521
+ }
3644
3522
  },
3645
- ".switch-element:checked + &": {
3646
- "--switch-thumb-offset": "calc(var(--input-switch-width) - (var(--input-switch-padding) * 2) - var(--switch-thumb-size))"
3523
+ "[data-indeterminate] > input + &": {
3524
+ vars: {
3525
+ [varNames.input.switch.thumb.offset]: `calc(${vars.input.switch.width} / 2 - ${vars.input.switch.thumb.size} / 2 - ${vars.input.switch.padding})`
3526
+ }
3527
+ },
3528
+ "input:focus + &": {
3529
+ outline: `${vars.input.switch.focusRing.width} solid ${vars.color.focusRing}`
3647
3530
  },
3648
- "[data-indeterminate] > .switch-element + &": {
3649
- "--switch-thumb-offset": "calc(var(--input-switch-width) / 2 - var(--switch-thumb-size) / 2 - var(--input-switch-padding))"
3531
+ "input:focus:not(:focus-visible) + &": {
3532
+ outline: "none"
3650
3533
  }
3651
3534
  }
3652
3535
  },
3653
3536
  ".switch-track": {
3654
3537
  display: "block",
3655
- backgroundColor: "var(--switch-bg-color)",
3538
+ backgroundColor: vars.color.input.switch.bg,
3656
3539
  position: "absolute",
3657
3540
  left: 0,
3658
3541
  top: 0,
3659
3542
  right: 0,
3660
3543
  bottom: 0,
3661
3544
  borderRadius: "inherit",
3662
- transition: "box-shadow, background-color var(--input-switch-transition-duration-ms) var(--input-switch-transition-timing-function)"
3545
+ transition: `box-shadow, background-color ${vars.input.switch.transitionDurationMs} ${vars.input.switch.transitionTimingFunction}`
3663
3546
  },
3664
3547
  ".switch-thumb": {
3665
3548
  display: "block",
3666
3549
  position: "absolute",
3667
- left: "var(--input-switch-padding)",
3668
- top: "var(--input-switch-padding)",
3669
- width: "var(--switch-thumb-size)",
3670
- height: "var(--switch-thumb-size)",
3671
- backgroundColor: "var(--switch-fg-color)",
3550
+ left: vars.input.switch.padding,
3551
+ top: vars.input.switch.padding,
3552
+ width: vars.input.switch.thumb.size,
3553
+ height: vars.input.switch.thumb.size,
3554
+ backgroundColor: vars.color.input.switch.fg,
3672
3555
  borderRadius: "9999px",
3673
- boxShadow: "0 0 0 0.5px var(--color-shadow-umbra), 0 0.5px 2px 0.5px var(--color-shadow-umbra)",
3674
- transform: "translate3d(var(--switch-thumb-offset), 0, 0)",
3675
- transition: "transform var(--input-switch-transition-duration-ms) var(--input-switch-transition-timing-function)"
3556
+ boxShadow: `0 0 0 0.5px ${vars.color.shadow.umbra}, 0 0.5px 2px 0.5px ${vars.color.shadow.umbra}`,
3557
+ transform: `translate3d(${vars.input.switch.thumb.offset}, 0, 0)`,
3558
+ transition: `transform ${vars.input.switch.transitionDurationMs} ${vars.input.switch.transitionTimingFunction}`
3676
3559
  }
3677
3560
  }, switchStyle = {
3678
3561
  layers: {
@@ -3680,46 +3563,51 @@ const labelStyle = {
3680
3563
  }
3681
3564
  }, primitive$5 = {
3682
3565
  ".text": {
3683
- "--font-weight-regular": "var(--font-text-weight-regular)",
3684
- "--font-weight-medium": "var(--font-text-weight-medium)",
3685
- "--font-weight-semibold": "var(--font-text-weight-semibold)",
3686
- "--font-weight-bold": "var(--font-text-weight-bold)",
3687
- "--font-family": "var(--font-text-family)",
3688
- "--font-feature-settings": "var(--font-text-feature-settings)",
3689
- color: "var(--color-fg)",
3690
- "@nest": {
3566
+ vars: {
3567
+ [varNames.font.family]: vars.font.text.family,
3568
+ [varNames.font.featureSettings]: vars.font.text.featureSettings,
3569
+ [varNames.font.weight.regular]: vars.font.text.weight.regular,
3570
+ [varNames.font.weight.medium]: vars.font.text.weight.medium,
3571
+ [varNames.font.weight.semibold]: vars.font.text.weight.semibold,
3572
+ [varNames.font.weight.bold]: vars.font.text.weight.bold
3573
+ },
3574
+ color: vars.color.fg,
3575
+ nest: {
3691
3576
  "& a": {
3692
- color: "var(--color-link-fg)",
3577
+ color: vars.color.link.fg,
3693
3578
  textDecoration: "none"
3694
3579
  },
3695
3580
  "& a:hover": {
3696
- color: "var(--color-fg)"
3581
+ color: vars.color.fg
3697
3582
  },
3698
3583
  "& code": {
3699
3584
  fontFamily: vars.font.code.family,
3700
- color: "var(--color-code-fg)",
3701
- backgroundColor: "var(--color-muted-bg)",
3585
+ color: vars.color.code.fg,
3586
+ backgroundColor: vars.color.code.bg,
3702
3587
  borderRadius: vars.radius[2]
3703
3588
  },
3704
3589
  "& svg": {
3705
- color: "var(--color-muted-fg)"
3590
+ color: vars.color.muted.fg
3706
3591
  }
3707
3592
  }
3708
3593
  },
3709
3594
  ".text-muted": {
3710
- color: "var(--color-muted-fg)"
3595
+ color: vars.color.muted.fg
3711
3596
  }
3712
3597
  };
3713
- for (const size of theme.FONT_TEXT_SIZE)
3598
+ for (const size of theme.FONT_TEXT_SIZE) {
3599
+ const v = vars.font.text.sizes[size];
3714
3600
  _responsiveRule(primitive$5, `text-${size}`, {
3715
- "--font-size": `var(--font-text-${size}-size)`,
3716
- "--font-line-height": `var(--font-text-${size}-line-height)`,
3717
- "--font-letter-spacing": `var(--font-text-${size}-letter-spacing)`,
3718
- "--font-icon-size": `var(--font-text-${size}-icon-size)`,
3719
- "--font-ascender-height": `var(--font-text-${size}-ascender-height)`,
3720
- "--font-descender-height": `var(--font-text-${size}-descender-height)`
3721
- // '--font-cap-height': `var(--font-text-${size}-cap-height)`,
3601
+ vars: {
3602
+ [varNames.font.fontSize]: v.fontSize,
3603
+ [varNames.font.lineHeight]: v.lineHeight,
3604
+ [varNames.font.letterSpacing]: v.letterSpacing,
3605
+ [varNames.font.iconSize]: v.iconSize,
3606
+ [varNames.font.ascenderHeight]: v.ascenderHeight,
3607
+ [varNames.font.descenderHeight]: v.descenderHeight
3608
+ }
3722
3609
  });
3610
+ }
3723
3611
  const textStyle = {
3724
3612
  layers: {
3725
3613
  primitive: primitive$5
@@ -3734,20 +3622,22 @@ const textStyle = {
3734
3622
  }
3735
3623
  }, primitive$3 = {
3736
3624
  ".text-input": {
3737
- "--font-family": vars.font.text.family,
3738
- "@nest": {
3625
+ vars: {
3626
+ [varNames.font.family]: vars.font.text.family
3627
+ },
3628
+ nest: {
3739
3629
  "& > span": {
3740
3630
  borderRadius: "inherit"
3741
3631
  }
3742
3632
  }
3743
3633
  },
3744
3634
  ".text-input-prefix": {
3745
- borderTop: "1px solid var(--color-border)",
3746
- borderLeft: "1px solid var(--color-border)",
3747
- borderBottom: "1px solid var(--color-border)",
3635
+ borderTop: `1px solid ${vars.color.border}`,
3636
+ borderLeft: `1px solid ${vars.color.border}`,
3637
+ borderBottom: `1px solid ${vars.color.border}`,
3748
3638
  borderTopRightRadius: "0 !important",
3749
3639
  borderBottomRightRadius: "0 !important",
3750
- "@nest": {
3640
+ nest: {
3751
3641
  "& > span": {
3752
3642
  display: "block",
3753
3643
  margin: "-1px"
@@ -3755,12 +3645,12 @@ const textStyle = {
3755
3645
  }
3756
3646
  },
3757
3647
  ".text-input-suffix": {
3758
- borderTop: "1px solid var(--color-border)",
3759
- borderRight: "1px solid var(--color-border)",
3760
- borderBottom: "1px solid var(--color-border)",
3648
+ borderTop: `1px solid ${vars.color.border}`,
3649
+ borderRight: `1px solid ${vars.color.border}`,
3650
+ borderBottom: `1px solid ${vars.color.border}`,
3761
3651
  borderTopLeftRadius: "0 !important",
3762
3652
  borderBottomLeftRadius: "0 !important",
3763
- "@nest": {
3653
+ nest: {
3764
3654
  "& > span": {
3765
3655
  display: "block",
3766
3656
  margin: "-1px"
@@ -3775,7 +3665,7 @@ const textStyle = {
3775
3665
  }, primitive$2 = {
3776
3666
  ".token": {
3777
3667
  _prefix: !1,
3778
- "@nest": {
3668
+ nest: {
3779
3669
  "&.atrule": {
3780
3670
  color: vars.color.code.token.atrule
3781
3671
  },
@@ -3899,10 +3789,11 @@ const textStyle = {
3899
3789
  },
3900
3790
  ".tooltip-card": {
3901
3791
  willChange: "transform",
3902
- "@nest": {
3792
+ nest: {
3903
3793
  "&[data-animate] > *": {
3794
+ // TODO
3904
3795
  // opacity: var(${POPOVER_MOTION_CONTENT_OPACITY_PROPERTY}, 1);
3905
- opacity: "var(--motion-content-opacity, 1)",
3796
+ // opacity: `var(--motion-content-opacity, 1)`,
3906
3797
  willChange: "opacity"
3907
3798
  }
3908
3799
  }
@@ -3938,6 +3829,7 @@ const textStyle = {
3938
3829
  },
3939
3830
  // aspects
3940
3831
  borderStyle,
3832
+ boxSizingStyle,
3941
3833
  displayStyle,
3942
3834
  flexStyle,
3943
3835
  flexAlignStyle,
@@ -4013,323 +3905,28 @@ const textStyle = {
4013
3905
  function _compileSystem() {
4014
3906
  return _compileStyle(_systemStyle);
4015
3907
  }
4016
- const THEME_COLOR_SCHEMES = ["dark", "light"], THEME_COLOR_VARIANTS = ["tinted", "solid"];
4017
- function _compileTheme_v3(theme2) {
3908
+ function _compileTheme() {
4018
3909
  return _compileStyle({
4019
3910
  layers: {
4020
3911
  theme: {
4021
- ":root": compileThemeProperties(theme2)
3912
+ ":root": properties
4022
3913
  }
4023
3914
  }
4024
3915
  });
4025
3916
  }
4026
- function compileThemeProperties(theme2) {
4027
- return {
4028
- ...buildAvatarThemeProperties(theme2),
4029
- ...buildButtonThemeProperties(theme2),
4030
- // card
4031
- [varNames.card.shadow.outline]: px(theme2.card.shadow.outline),
4032
- ...buildColorThemeProperties(theme2),
4033
- ...buildContainerThemeProperties(theme2),
4034
- ...buildFontCodeThemeProperties(theme2),
4035
- ...buildFontHeadingThemeProperties(theme2),
4036
- ...buildFontLabelThemeProperties(theme2),
4037
- ...buildFontTextThemeProperties(theme2),
4038
- ...buildInputThemeProperties(theme2),
4039
- ...buildRadiusThemeProperties(theme2),
4040
- ...buildShadowThemeProperties(theme2),
4041
- ...buildSpaceThemeProperties(theme2)
4042
- };
4043
- }
4044
- function buildAvatarThemeProperties(theme2) {
4045
- return {
4046
- [varNames.avatar.focusRing.offset]: px(theme2.avatar.focusRing.offset),
4047
- [varNames.avatar.focusRing.width]: px(theme2.avatar.focusRing.width),
4048
- [varNames.avatar.sizes[0].distance]: rem(theme2.avatar.sizes[0].distance),
4049
- [varNames.avatar.sizes[0].size]: rem(theme2.avatar.sizes[0].size),
4050
- [varNames.avatar.sizes[1].distance]: rem(theme2.avatar.sizes[1].distance),
4051
- [varNames.avatar.sizes[1].size]: rem(theme2.avatar.sizes[1].size),
4052
- [varNames.avatar.sizes[2].distance]: rem(theme2.avatar.sizes[2].distance),
4053
- [varNames.avatar.sizes[2].size]: rem(theme2.avatar.sizes[2].size),
4054
- [varNames.avatar.sizes[3].distance]: rem(theme2.avatar.sizes[3].distance),
4055
- [varNames.avatar.sizes[3].size]: rem(theme2.avatar.sizes[3].size)
4056
- };
4057
- }
4058
- function buildButtonThemeProperties(theme2) {
4059
- return {
4060
- [varNames.button.border.width]: px(theme2.button.border.width),
4061
- [varNames.button.focusRing.offset]: px(theme2.button.focusRing.offset),
4062
- [varNames.button.focusRing.width]: px(theme2.button.focusRing.width)
4063
- };
4064
- }
4065
- function buildContainerThemeProperties(theme2) {
4066
- return {
4067
- [varNames.container[0]]: rem(theme2.container[0]),
4068
- [varNames.container[1]]: rem(theme2.container[1]),
4069
- [varNames.container[2]]: rem(theme2.container[2]),
4070
- [varNames.container[3]]: rem(theme2.container[3]),
4071
- [varNames.container[4]]: rem(theme2.container[4]),
4072
- [varNames.container[5]]: rem(theme2.container[5])
4073
- };
4074
- }
4075
- function buildFontCodeThemeProperties(theme$1) {
4076
- const v = varNames.font.code, t = theme$1.font.code, props = {
4077
- [v.family]: t.family,
4078
- [v.featureSettings]: t.featureSettings || "normal",
4079
- [v.weights.regular]: t.weights.regular,
4080
- [v.weights.medium]: t.weights.medium,
4081
- [v.weights.semibold]: t.weights.semibold,
4082
- [v.weights.bold]: t.weights.bold
4083
- };
4084
- for (const size of theme.FONT_CODE_SIZE) {
4085
- const _v = varNames.font.code.sizes[size], _t = theme$1.font.code.sizes[size];
4086
- props[_v.fontSize] = rem(_t.fontSize), props[_v.lineHeight] = rem(_t.lineHeight), props[_v.ascenderHeight] = rem(_t.ascenderHeight), props[_v.descenderHeight] = rem(_t.descenderHeight), props[_v.letterSpacing] = rem(_t.letterSpacing), props[_v.iconSize] = rem(_t.iconSize);
4087
- }
4088
- return props;
4089
- }
4090
- function buildFontHeadingThemeProperties(theme$1) {
4091
- const v = varNames.font.heading, t = theme$1.font.heading, props = {
4092
- [v.family]: t.family,
4093
- [v.featureSettings]: t.featureSettings,
4094
- [v.weights.regular]: t.weights.regular,
4095
- [v.weights.medium]: t.weights.medium,
4096
- [v.weights.semibold]: t.weights.semibold,
4097
- [v.weights.bold]: t.weights.bold
4098
- };
4099
- for (const size of theme.FONT_HEADING_SIZE) {
4100
- const _v = v.sizes[size], _t = t.sizes[size];
4101
- props[_v.fontSize] = rem(_t.fontSize), props[_v.lineHeight] = rem(_t.lineHeight), props[_v.ascenderHeight] = rem(_t.ascenderHeight), props[_v.descenderHeight] = rem(_t.descenderHeight), props[_v.letterSpacing] = rem(_t.letterSpacing), props[_v.iconSize] = rem(_t.iconSize);
4102
- }
4103
- return props;
4104
- }
4105
- function buildFontLabelThemeProperties(theme$1) {
4106
- const v = varNames.font.label, t = theme$1.font.label, props = {
4107
- [v.family]: t.family,
4108
- [v.featureSettings]: t.featureSettings,
4109
- [v.weights.regular]: t.weights.regular,
4110
- [v.weights.medium]: t.weights.medium,
4111
- [v.weights.semibold]: t.weights.semibold,
4112
- [v.weights.bold]: t.weights.bold
4113
- };
4114
- for (const size of theme.FONT_LABEL_SIZE) {
4115
- const _v = v.sizes[size], _t = t.sizes[size];
4116
- props[_v.fontSize] = rem(_t.fontSize), props[_v.lineHeight] = rem(_t.lineHeight), props[_v.ascenderHeight] = rem(_t.ascenderHeight), props[_v.descenderHeight] = rem(_t.descenderHeight), props[_v.letterSpacing] = rem(_t.letterSpacing), props[_v.iconSize] = rem(_t.iconSize);
4117
- }
4118
- return props;
4119
- }
4120
- function buildFontTextThemeProperties(theme$1) {
4121
- const v = varNames.font.text, t = theme$1.font.text, props = {
4122
- [v.family]: t.family,
4123
- [v.featureSettings]: t.featureSettings,
4124
- [v.weights.regular]: t.weights.regular,
4125
- [v.weights.medium]: t.weights.medium,
4126
- [v.weights.semibold]: t.weights.semibold,
4127
- [v.weights.bold]: t.weights.bold
4128
- };
4129
- for (const size of theme.FONT_TEXT_SIZE) {
4130
- const _v = v.sizes[size], _t = t.sizes[size];
4131
- props[_v.fontSize] = rem(_t.fontSize), props[_v.lineHeight] = rem(_t.lineHeight), props[_v.ascenderHeight] = rem(_t.ascenderHeight), props[_v.descenderHeight] = rem(_t.descenderHeight), props[_v.letterSpacing] = rem(_t.letterSpacing), props[_v.iconSize] = rem(_t.iconSize);
4132
- }
4133
- return props;
4134
- }
4135
- function buildInputThemeProperties(theme2) {
4136
- return {
4137
- [varNames.input.border.width]: px(theme2.input.border.width),
4138
- [varNames.input.checkbox.focusRing.offset]: px(theme2.input.checkbox.focusRing.offset),
4139
- [varNames.input.checkbox.focusRing.width]: px(theme2.input.checkbox.focusRing.width),
4140
- [varNames.input.checkbox.size]: rem(theme2.input.checkbox.size),
4141
- [varNames.input.radio.focusRing.offset]: px(theme2.input.radio.focusRing.offset),
4142
- [varNames.input.radio.focusRing.width]: px(theme2.input.radio.focusRing.width),
4143
- [varNames.input.radio.markSize]: rem(theme2.input.radio.markSize),
4144
- [varNames.input.radio.size]: rem(theme2.input.radio.size),
4145
- [varNames.input.select.focusRing.offset]: px(theme2.input.select.focusRing.offset),
4146
- [varNames.input.select.focusRing.width]: px(theme2.input.select.focusRing.width),
4147
- [varNames.input.switch.focusRing.offset]: px(theme2.input.switch.focusRing.offset),
4148
- [varNames.input.switch.focusRing.width]: px(theme2.input.switch.focusRing.width),
4149
- [varNames.input.switch.height]: rem(theme2.input.switch.height),
4150
- [varNames.input.switch.padding]: rem(theme2.input.switch.padding),
4151
- [varNames.input.switch.transitionDurationMs]: `${theme2.input.switch.transitionDurationMs}ms`,
4152
- [varNames.input.switch.transitionTimingFunction]: theme2.input.switch.transitionTimingFunction,
4153
- [varNames.input.switch.width]: rem(theme2.input.switch.width),
4154
- [varNames.input.text.focusRing.offset]: px(theme2.input.text.focusRing.offset),
4155
- [varNames.input.text.focusRing.width]: px(theme2.input.text.focusRing.width)
4156
- };
4157
- }
4158
- function buildRadiusThemeProperties(theme2) {
4159
- return {
4160
- [varNames.radius[0]]: px(theme2.radius[0]),
4161
- [varNames.radius[1]]: px(theme2.radius[1]),
4162
- [varNames.radius[2]]: px(theme2.radius[2]),
4163
- [varNames.radius[3]]: px(theme2.radius[3]),
4164
- [varNames.radius[4]]: px(theme2.radius[4]),
4165
- [varNames.radius[5]]: px(theme2.radius[5]),
4166
- [varNames.radius[6]]: px(theme2.radius[6])
4167
- };
4168
- }
4169
- function buildShadowThemeProperties(theme2) {
4170
- return {
4171
- [varNames.shadow[0].umbra]: toBoxShadow(theme2.shadow[0]?.umbra),
4172
- [varNames.shadow[0].penumbra]: toBoxShadow(theme2.shadow[0]?.penumbra),
4173
- [varNames.shadow[0].ambient]: toBoxShadow(theme2.shadow[0]?.ambient),
4174
- [varNames.shadow[1].umbra]: toBoxShadow(theme2.shadow[1]?.umbra),
4175
- [varNames.shadow[1].penumbra]: toBoxShadow(theme2.shadow[1]?.penumbra),
4176
- [varNames.shadow[1].ambient]: toBoxShadow(theme2.shadow[1]?.ambient),
4177
- [varNames.shadow[2].umbra]: toBoxShadow(theme2.shadow[2]?.umbra),
4178
- [varNames.shadow[2].penumbra]: toBoxShadow(theme2.shadow[2]?.penumbra),
4179
- [varNames.shadow[2].ambient]: toBoxShadow(theme2.shadow[2]?.ambient),
4180
- [varNames.shadow[3].umbra]: toBoxShadow(theme2.shadow[3]?.umbra),
4181
- [varNames.shadow[3].penumbra]: toBoxShadow(theme2.shadow[3]?.penumbra),
4182
- [varNames.shadow[3].ambient]: toBoxShadow(theme2.shadow[3]?.ambient),
4183
- [varNames.shadow[4].umbra]: toBoxShadow(theme2.shadow[4]?.umbra),
4184
- [varNames.shadow[4].penumbra]: toBoxShadow(theme2.shadow[4]?.penumbra),
4185
- [varNames.shadow[4].ambient]: toBoxShadow(theme2.shadow[4]?.ambient),
4186
- [varNames.shadow[5].umbra]: toBoxShadow(theme2.shadow[5]?.umbra),
4187
- [varNames.shadow[5].penumbra]: toBoxShadow(theme2.shadow[5]?.penumbra),
4188
- [varNames.shadow[5].ambient]: toBoxShadow(theme2.shadow[5]?.ambient)
4189
- };
4190
- }
4191
- function buildSpaceThemeProperties(theme2) {
4192
- return {
4193
- [varNames.space[0]]: px(theme2.space[0]),
4194
- [varNames.space[0.5]]: px(theme2.space[1] / 2),
4195
- [varNames.space[1]]: px(theme2.space[1]),
4196
- [varNames.space[2]]: px(theme2.space[2]),
4197
- [varNames.space[3]]: px(theme2.space[3]),
4198
- [varNames.space[4]]: px(theme2.space[4]),
4199
- [varNames.space[5]]: px(theme2.space[5]),
4200
- [varNames.space[6]]: px(theme2.space[6]),
4201
- [varNames.space[7]]: px(theme2.space[7]),
4202
- [varNames.space[8]]: px(theme2.space[8]),
4203
- [varNames.space[9]]: px(theme2.space[9])
4204
- };
4205
- }
4206
- function buildColorThemeProperties(theme$1) {
4207
- const props = {};
4208
- for (const scheme of THEME_COLOR_SCHEMES)
4209
- for (const cardTone of theme.THEME_COLOR_CARD_TONES) {
4210
- Object.assign(props, buildColorAvatarThemeProperties(theme$1, {
4211
- scheme,
4212
- cardTone
4213
- })), Object.assign(props, buildColorCardThemeProperties(theme$1, {
4214
- scheme,
4215
- cardTone
4216
- }));
4217
- for (const colorVariant of THEME_COLOR_VARIANTS)
4218
- for (const elementTone of theme.THEME_COLOR_STATE_TONES) {
4219
- const v = varNames.color[scheme][cardTone][colorVariant][elementTone], t = theme$1._tokens.color[cardTone].variant[colorVariant][elementTone], context = {
4220
- bgValue: "transparent",
4221
- bgVar: v.bg[0],
4222
- hue: t._hue,
4223
- scheme
4224
- };
4225
- Object.assign(props, {
4226
- [v.bg[0]]: theme.renderColor(t.bg[0], context),
4227
- [v.bg[1]]: `color-mix(in srgb, var(${v.bg[0]}), var(${v.bg[4]}) 25%)`,
4228
- [v.bg[2]]: `color-mix(in srgb, var(${v.bg[0]}), var(${v.bg[4]}) 50%)`,
4229
- [v.bg[3]]: `color-mix(in srgb, var(${v.bg[0]}), var(${v.bg[4]}) 75%)`,
4230
- [v.bg[4]]: theme.renderColor(t.bg[4], context),
4231
- [v.border[0]]: theme.renderColor(t.border[0], context),
4232
- [v.border[1]]: `color-mix(in srgb, var(${v.border[0]}), var(${v.border[4]}) 25%)`,
4233
- [v.border[2]]: `color-mix(in srgb, var(${v.border[0]}), var(${v.border[4]}) 50%)`,
4234
- [v.border[3]]: `color-mix(in srgb, var(${v.border[0]}), var(${v.border[4]}) 75%)`,
4235
- [v.border[4]]: theme.renderColor(t.border[4], context),
4236
- [v.fg[0]]: theme.renderColor(t.fg[0], context),
4237
- [v.fg[1]]: `color-mix(in srgb, var(${v.fg[0]}), var(${v.fg[4]}) 25%)`,
4238
- [v.fg[2]]: `color-mix(in srgb, var(${v.fg[0]}), var(${v.fg[4]}) 50%)`,
4239
- [v.fg[3]]: `color-mix(in srgb, var(${v.fg[0]}), var(${v.fg[4]}) 75%)`,
4240
- [v.fg[4]]: theme.renderColor(t.fg[4], context)
4241
- });
4242
- }
4243
- }
4244
- return props;
3917
+ function _getClassNames(...classNames) {
3918
+ return classNames.map((n) => typeof n == "string" && n.trim()).filter(Boolean).join(" ").split(" ").filter(Boolean);
4245
3919
  }
4246
- function buildColorAvatarThemeProperties(theme$1, options) {
4247
- const {
4248
- scheme,
4249
- cardTone
4250
- } = options, v = varNames.color[scheme][cardTone], t = theme$1._tokens.color[cardTone], props = {};
4251
- for (const hue of theme.HUES) {
4252
- const context = {
4253
- bgValue: "transparent",
4254
- bgVar: varNames.color.bg,
4255
- hue: t.avatar[hue]._hue ?? hue,
4256
- scheme
4257
- };
4258
- Object.assign(props, {
4259
- [v.avatar[hue].bg]: theme.renderColor(t.avatar[hue].bg, context),
4260
- [v.avatar[hue].fg]: theme.renderColor(t.avatar[hue].fg, context)
4261
- });
4262
- }
4263
- return props;
3920
+ function _composeClassNames(...classNames) {
3921
+ return unique(_getClassNames(...classNames)).join(" ") || void 0;
4264
3922
  }
4265
- function buildColorCardThemeProperties(theme$1, options) {
4266
- const {
4267
- scheme,
4268
- cardTone
4269
- } = options, v = varNames.color[scheme][cardTone], t = theme$1._tokens.color[cardTone], context = {
4270
- bgValue: "transparent",
4271
- bgVar: varNames.color.bg,
4272
- hue: t._hue,
4273
- scheme
4274
- };
4275
- return {
4276
- // backdrop
4277
- [v.backdrop]: theme.renderColor(t.backdrop, context),
4278
- // code
4279
- [v.code.bg]: theme.renderColor(t.code.bg, context),
4280
- [v.code.fg]: theme.renderColor(t.code.fg, context),
4281
- // code / token
4282
- [v.code.token.atrule]: theme.renderColor(t.code.token.atrule, context),
4283
- [v.code.token.attrName]: theme.renderColor(t.code.token.attrName, context),
4284
- [v.code.token.attrValue]: theme.renderColor(t.code.token.attrValue, context),
4285
- [v.code.token.attribute]: theme.renderColor(t.code.token.attribute, context),
4286
- [v.code.token.boolean]: theme.renderColor(t.code.token.boolean, context),
4287
- [v.code.token.builtin]: theme.renderColor(t.code.token.builtin, context),
4288
- [v.code.token.cdata]: theme.renderColor(t.code.token.cdata, context),
4289
- [v.code.token.char]: theme.renderColor(t.code.token.char, context),
4290
- [v.code.token.className]: theme.renderColor(t.code.token.className, context),
4291
- [v.code.token.class]: theme.renderColor(t.code.token.class, context),
4292
- [v.code.token.comment]: theme.renderColor(t.code.token.comment, context),
4293
- [v.code.token.constant]: theme.renderColor(t.code.token.constant, context),
4294
- [v.code.token.deleted]: theme.renderColor(t.code.token.deleted, context),
4295
- [v.code.token.doctype]: theme.renderColor(t.code.token.doctype, context),
4296
- [v.code.token.entity]: theme.renderColor(t.code.token.entity, context),
4297
- [v.code.token.function]: theme.renderColor(t.code.token.function, context),
4298
- [v.code.token.hexcode]: theme.renderColor(t.code.token.hexcode, context),
4299
- [v.code.token.id]: theme.renderColor(t.code.token.id, context),
4300
- [v.code.token.important]: theme.renderColor(t.code.token.important, context),
4301
- [v.code.token.inserted]: theme.renderColor(t.code.token.inserted, context),
4302
- [v.code.token.keyword]: theme.renderColor(t.code.token.keyword, context),
4303
- [v.code.token.number]: theme.renderColor(t.code.token.number, context),
4304
- [v.code.token.operator]: theme.renderColor(t.code.token.operator, context),
4305
- [v.code.token.prolog]: theme.renderColor(t.code.token.prolog, context),
4306
- [v.code.token.property]: theme.renderColor(t.code.token.property, context),
4307
- [v.code.token.pseudoClass]: theme.renderColor(t.code.token.pseudoClass, context),
4308
- [v.code.token.pseudoElement]: theme.renderColor(t.code.token.pseudoElement, context),
4309
- [v.code.token.punctuation]: theme.renderColor(t.code.token.punctuation, context),
4310
- [v.code.token.regex]: theme.renderColor(t.code.token.regex, context),
4311
- [v.code.token.selector]: theme.renderColor(t.code.token.selector, context),
4312
- [v.code.token.string]: theme.renderColor(t.code.token.string, context),
4313
- [v.code.token.symbol]: theme.renderColor(t.code.token.symbol, context),
4314
- [v.code.token.tag]: theme.renderColor(t.code.token.tag, context),
4315
- [v.code.token.unit]: theme.renderColor(t.code.token.unit, context),
4316
- [v.code.token.url]: theme.renderColor(t.code.token.url, context),
4317
- [v.code.token.variable]: theme.renderColor(t.code.token.variable, context),
4318
- // focus ring
4319
- [v.focusRing]: theme.renderColor(t.focusRing, context),
4320
- // link
4321
- [v.link.fg]: theme.renderColor(t.link.fg, context),
4322
- // shadow
4323
- [v.shadow.outline]: theme.renderColor(t.shadow.outline, context),
4324
- [v.shadow.umbra]: theme.renderColor(t.shadow.umbra, context),
4325
- [v.shadow.penumbra]: theme.renderColor(t.shadow.penumbra, context),
4326
- [v.shadow.ambient]: theme.renderColor(t.shadow.ambient, context)
4327
- };
3923
+ function unique(array) {
3924
+ return Array.from(new Set(array));
4328
3925
  }
4329
- function _compileTheme(theme2) {
4330
- return theme2.v3 ? _compileTheme_v3(theme2.v3) : theme2.v2 ? `/* v2 - not supported */
4331
- ` : `/* v0 - not supported */
4332
- `;
3926
+ const p = PREFIX === "__PREFIX__" ? "s-" : PREFIX;
3927
+ function _scopeClassName(className) {
3928
+ if (className !== void 0)
3929
+ return `${p}${className.trim()}`;
4333
3930
  }
4334
3931
  function _resp(prefix, prop) {
4335
3932
  if (!(prop === void 0 || prop === !1))
@@ -4339,334 +3936,309 @@ function _resp(prefix, prop) {
4339
3936
  return index === 0 ? className : `${index}:${className}`;
4340
3937
  }).filter(Boolean).join(" ") : (typeof prop == "boolean" ? [prefix] : [prefix, prop]).filter((s) => s === 0 || !!s).join("-").replace(/\./g, "_");
4341
3938
  }
4342
- function _getClassNames(...classNames) {
4343
- return classNames.map((n) => typeof n == "string" && n.trim()).filter(Boolean).join(" ").split(" ");
4344
- }
4345
- function composeClassNames(...classNames) {
4346
- return unique(_getClassNames(...classNames)).join(" ") || void 0;
4347
- }
4348
- function unique(array) {
4349
- return Array.from(new Set(array));
3939
+ function _scopeClassNames(...classNames) {
3940
+ return _getClassNames(...classNames).map(_scopeClassName).join(" ") || void 0;
4350
3941
  }
4351
3942
  function border(props) {
4352
- return composeClassNames(_resp("border", props.border), _resp("border-t", props.borderTop), _resp("border-r", props.borderRight), _resp("border-b", props.borderBottom), _resp("border-l", props.borderLeft));
3943
+ return _scopeClassNames(_resp("border", props.border), _resp("border-t", props.borderTop), _resp("border-r", props.borderRight), _resp("border-b", props.borderBottom), _resp("border-l", props.borderLeft));
3944
+ }
3945
+ function boxSizing(props) {
3946
+ return _scopeClassNames(_resp("box", props.boxSizing));
4353
3947
  }
4354
3948
  function display(props) {
4355
- return composeClassNames(_resp(void 0, props.display));
3949
+ return _scopeClassNames(_resp(void 0, props.display));
4356
3950
  }
4357
3951
  function flex(props) {
4358
- return composeClassNames(_resp("flex-align", props.align), _resp("f", props.direction), _resp("flex-justify", props.justify), _resp("flex", props.wrap));
3952
+ return _scopeClassNames(_resp("flex-align", props.align), _resp("f", props.direction), _resp("flex-justify", props.justify), _resp("flex", props.wrap));
4359
3953
  }
4360
3954
  function flexItem(props) {
4361
- return composeClassNames(_resp("f", props.flex));
3955
+ return _scopeClassNames(_resp("f", props.flex));
4362
3956
  }
4363
3957
  function font(props) {
4364
- return composeClassNames("font", props.weight && `font-${props.weight}`);
3958
+ return _scopeClassNames("font", props.weight && `font-${props.weight}`);
4365
3959
  }
4366
3960
  function gap(props) {
4367
- return composeClassNames(_resp("g", props.gap), _resp("gx", props.gapX), _resp("gy", props.gapY));
3961
+ return _scopeClassNames(_resp("g", props.gap), _resp("gx", props.gapX), _resp("gy", props.gapY));
4368
3962
  }
4369
3963
  function grid(props) {
4370
- return composeClassNames(_resp("auto-cols", props.autoCols), _resp("auto-flow", props.autoFlow), _resp("auto-rows", props.autoRows), _resp("cols", props.columns), _resp("rows", props.rows));
3964
+ return _scopeClassNames(_resp("auto-cols", props.autoCols), _resp("auto-flow", props.autoFlow), _resp("auto-rows", props.autoRows), _resp("cols", props.columns), _resp("rows", props.rows));
4371
3965
  }
4372
3966
  function gridItem(props) {
4373
- return composeClassNames(_resp("col", props.column), _resp("col-start", props.columnStart), _resp("col-end", props.columnEnd), _resp("row", props.row), _resp("row-start", props.rowStart), _resp("row-end", props.rowEnd));
3967
+ return _scopeClassNames(_resp("col", props.column), _resp("col-start", props.columnStart), _resp("col-end", props.columnEnd), _resp("row", props.row), _resp("row-start", props.rowStart), _resp("row-end", props.rowEnd));
4374
3968
  }
4375
3969
  function height(props) {
4376
- return composeClassNames(_resp("h", props.height));
3970
+ return _scopeClassNames(_resp("h", props.height));
4377
3971
  }
4378
3972
  function inset(props) {
4379
- return composeClassNames(_resp("inset", props.inset), _resp("top", props.insetTop), _resp("right", props.insetRight), _resp("bottom", props.insetBottom), _resp("left", props.insetLeft));
3973
+ return _scopeClassNames(_resp("inset", props.inset), _resp("top", props.insetTop), _resp("right", props.insetRight), _resp("bottom", props.insetBottom), _resp("left", props.insetLeft));
4380
3974
  }
4381
3975
  function margin(props) {
4382
- return composeClassNames(_resp("m", props.margin), _resp("mx", props.marginX), _resp("my", props.marginY), _resp("mt", props.marginTop), _resp("mr", props.marginRight), _resp("mb", props.marginBottom), _resp("ml", props.marginLeft));
3976
+ return _scopeClassNames(_resp("m", props.margin), _resp("mx", props.marginX), _resp("my", props.marginY), _resp("mt", props.marginTop), _resp("mr", props.marginRight), _resp("mb", props.marginBottom), _resp("ml", props.marginLeft));
4383
3977
  }
4384
3978
  function maxWidth(props) {
4385
- return _resp("max-w", props.maxWidth) ?? "";
3979
+ return _scopeClassNames(_resp("max-w", props.maxWidth) ?? "");
4386
3980
  }
4387
3981
  function minWidth(props) {
4388
- return _resp("min-w", props.minWidth) ?? "";
3982
+ return _scopeClassNames(_resp("min-w", props.minWidth) ?? "");
4389
3983
  }
4390
3984
  function overflow(props) {
4391
- return composeClassNames(_resp("overflow", props.overflow), _resp("overflow-x", props.overflowX), _resp("overflow-y", props.overflowY));
3985
+ return _scopeClassNames(_resp("overflow", props.overflow), _resp("overflow-x", props.overflowX), _resp("overflow-y", props.overflowY));
4392
3986
  }
4393
3987
  function padding(props) {
4394
- return composeClassNames(_resp("p", props.padding), _resp("px", props.paddingX), _resp("py", props.paddingY), _resp("pt", props.paddingTop), _resp("pr", props.paddingRight), _resp("pb", props.paddingBottom), _resp("pl", props.paddingLeft));
3988
+ return _scopeClassNames(_resp("p", props.padding), _resp("px", props.paddingX), _resp("py", props.paddingY), _resp("pt", props.paddingTop), _resp("pr", props.paddingRight), _resp("pb", props.paddingBottom), _resp("pl", props.paddingLeft));
4395
3989
  }
4396
3990
  function pointerEvents(props) {
4397
- return composeClassNames(props.pointerEvents && `pointer-events-${props.pointerEvents}`);
3991
+ return _scopeClassNames(props.pointerEvents && `pointer-events-${props.pointerEvents}`);
4398
3992
  }
4399
3993
  function position(props) {
4400
- return composeClassNames(_resp("position", props.position));
3994
+ return _scopeClassNames(_resp("position", props.position));
4401
3995
  }
4402
3996
  function radius(props) {
4403
- return composeClassNames(_resp("r", props.radius));
3997
+ return _scopeClassNames(_resp("r", props.radius));
4404
3998
  }
4405
3999
  function shadow(props) {
4406
- return composeClassNames(_resp("shadow", props.shadow));
4000
+ return _scopeClassNames(_resp("shadow", props.shadow));
4407
4001
  }
4408
4002
  function textAlign(props) {
4409
- return composeClassNames(_resp("text-align", props.textAlign));
4410
- }
4411
- function scopeClassName(className) {
4412
- if (className !== void 0)
4413
- return `${PREFIX}${className.trim()}`;
4414
- }
4415
- function _comp(...classNames) {
4416
- return _getClassNames(...classNames).filter(Boolean).map(scopeClassName).join(" ") || void 0;
4003
+ return _scopeClassNames(_resp("text-align", props.textAlign));
4417
4004
  }
4418
4005
  function textOverflow(props) {
4419
- return _comp(props.textOverflow && `text-overflow-${props.textOverflow}`);
4006
+ return _scopeClassNames(props.textOverflow && `text-overflow-${props.textOverflow}`);
4420
4007
  }
4421
4008
  function width(props) {
4422
- return _resp("w", props.width) ?? "";
4009
+ return _scopeClassNames(_resp("w", props.width) ?? "");
4423
4010
  }
4424
4011
  function breadcrumbs() {
4425
- return _comp("breadcrumbs");
4012
+ return _scopeClassNames("breadcrumbs");
4426
4013
  }
4427
4014
  function dialog() {
4428
- return _comp("dialog", inset({
4015
+ return _composeClassNames(_scopeClassNames("dialog"), inset({
4429
4016
  inset: 0
4430
4017
  }));
4431
4018
  }
4432
4019
  function dialogContainer() {
4433
- return _comp("dialog-container");
4020
+ return _scopeClassNames("dialog-container");
4434
4021
  }
4435
4022
  function dialogCardRoot() {
4436
- return _comp("dialog-card-root");
4023
+ return _scopeClassNames("dialog-card-root");
4437
4024
  }
4438
4025
  function dialogLayout() {
4439
- return _comp("dialog-layout");
4026
+ return _scopeClassNames("dialog-layout");
4440
4027
  }
4441
4028
  function dialogHeader() {
4442
- return _comp("dialog-header");
4029
+ return _scopeClassNames("dialog-header");
4443
4030
  }
4444
4031
  function dialogContent() {
4445
- return _comp("dialog-content");
4032
+ return _scopeClassNames("dialog-content");
4446
4033
  }
4447
4034
  function dialogFooter() {
4448
- return _comp("dialog-footer");
4035
+ return _scopeClassNames("dialog-footer");
4449
4036
  }
4450
4037
  function menu() {
4451
- return _comp("menu");
4038
+ return _scopeClassNames("menu");
4452
4039
  }
4453
4040
  function menuDivider() {
4454
- return _comp("menu-divider");
4041
+ return _scopeClassNames("menu-divider");
4455
4042
  }
4456
4043
  function skeleton(props) {
4457
- return _comp("skeleton", radius(props));
4044
+ return _composeClassNames(_scopeClassNames("skeleton"), radius(props));
4458
4045
  }
4459
4046
  function codeSkeleton(props) {
4460
- return _comp("font-skeleton", _resp("code-skeleton", props.size));
4047
+ return _scopeClassNames("font-skeleton", _resp("code-skeleton", props.size));
4461
4048
  }
4462
4049
  function headingSkeleton(props) {
4463
- return _comp("font-skeleton", _resp("heading-skeleton", props.size));
4050
+ return _scopeClassNames("font-skeleton", _resp("heading-skeleton", props.size));
4464
4051
  }
4465
4052
  function labelSkeleton(props) {
4466
- return _comp("font-skeleton", _resp("label-skeleton", props.size));
4053
+ return _scopeClassNames("font-skeleton", _resp("label-skeleton", props.size));
4467
4054
  }
4468
4055
  function textSkeleton(props) {
4469
- return _comp("font-skeleton", _resp("text-skeleton", props.size));
4056
+ return _scopeClassNames("font-skeleton", _resp("text-skeleton", props.size));
4470
4057
  }
4471
4058
  function toastLayer() {
4472
- return _comp("toast-layer");
4059
+ return _scopeClassNames("toast-layer");
4473
4060
  }
4474
4061
  function toast() {
4475
- return _comp("toast");
4062
+ return _scopeClassNames("toast");
4476
4063
  }
4477
4064
  function toastLoadingBar() {
4478
- return _comp("toast-loading-bar");
4065
+ return _scopeClassNames("toast-loading-bar");
4479
4066
  }
4480
4067
  function toastLoadingBarProgress() {
4481
- return _comp("toast-loading-bar-progress");
4068
+ return _scopeClassNames("toast-loading-bar-progress");
4482
4069
  }
4483
4070
  function toastLoadingBarMask() {
4484
- return _comp("toast-loading-bar-mask");
4071
+ return _scopeClassNames("toast-loading-bar-mask");
4485
4072
  }
4486
4073
  function treeItem() {
4487
- return _comp("tree-item");
4074
+ return _scopeClassNames("tree-item");
4488
4075
  }
4076
+ const BREAKPOINTS = {
4077
+ 0: 0,
4078
+ 1: 360,
4079
+ 2: 600,
4080
+ 3: 900,
4081
+ 4: 1200,
4082
+ 5: 1800,
4083
+ 6: 2400
4084
+ };
4489
4085
  function _arrow() {
4490
- return _comp("arrow");
4086
+ return _scopeClassNames("arrow");
4491
4087
  }
4492
4088
  function _arrowStroke() {
4493
- return _comp("arrow-stroke");
4089
+ return _scopeClassNames("arrow-stroke");
4494
4090
  }
4495
4091
  function _arrowStrokeMask() {
4496
- return _comp("arrow-stroke-mask");
4092
+ return _scopeClassNames("arrow-stroke-mask");
4497
4093
  }
4498
4094
  function _arrowShape() {
4499
- return _comp("arrow-shape");
4095
+ return _scopeClassNames("arrow-shape");
4500
4096
  }
4501
4097
  function _input(props) {
4502
- return _comp("input", props.border ? "input-b" : void 0, _resp("input", props.fontSize), _resp("input-p", props.padding), _resp("input-g", props.gap), radius(props), width(props));
4098
+ return _composeClassNames(_scopeClassNames("input", props.border ? "input-b" : void 0, _resp("input", props.fontSize), _resp("input-p", props.padding), _resp("input-g", props.gap)), radius(props), width(props));
4503
4099
  }
4504
4100
  function _inputElement() {
4505
- return _comp("input-element");
4101
+ return _scopeClassNames("input-element");
4506
4102
  }
4507
4103
  function _inputPresentation() {
4508
- return _comp("input-presentation");
4104
+ return _scopeClassNames("input-presentation");
4509
4105
  }
4510
4106
  function _selectable(props) {
4511
- return _comp("selectable", props.tone ?? "default", radius(props));
4107
+ return _composeClassNames(_scopeClassNames("selectable", props.tone ?? "default"), radius(props));
4512
4108
  }
4513
4109
  function avatar(props) {
4514
- return _comp("avatar", props.color || "gray", _resp("avatar", props.size));
4110
+ return _scopeClassNames("avatar", props.color || "gray", _resp("avatar", props.size));
4515
4111
  }
4516
4112
  function avatarArrow() {
4517
- return _comp("avatar-arrow");
4113
+ return _scopeClassNames("avatar-arrow");
4518
4114
  }
4519
4115
  function avatarInitials() {
4520
- return _comp("avatar-initials");
4116
+ return _scopeClassNames("avatar-initials");
4521
4117
  }
4522
4118
  function avatarImage() {
4523
- return _comp("avatar-image");
4119
+ return _scopeClassNames("avatar-image");
4524
4120
  }
4525
4121
  function avatarCounter(props) {
4526
- return _comp("avatar-counter", _resp("avatar", props.size));
4122
+ return _scopeClassNames("avatar-counter", _resp("avatar", props.size));
4527
4123
  }
4528
4124
  function avatarStack(props) {
4529
- return _comp("avatar-stack", _resp("avatar", props.size));
4125
+ return _scopeClassNames("avatar-stack", _resp("avatar", props.size));
4530
4126
  }
4531
4127
  function badge(props) {
4532
- return _comp("badge", props.tone && `badge-${props.tone}`, radius(props));
4128
+ return _composeClassNames(_scopeClassNames("badge", props.tone && `badge-${props.tone}`), radius(props));
4533
4129
  }
4534
4130
  function box(props) {
4535
- return _comp(
4536
- "box",
4537
- props.muted && "muted",
4538
- // todo: consider this naming
4539
- _resp("box", props.sizing),
4540
- border(props),
4541
- display(props),
4542
- height(props),
4543
- flex(props),
4544
- flexItem(props),
4545
- grid(props),
4546
- gridItem(props),
4547
- gap(props),
4548
- inset(props),
4549
- margin(props),
4550
- maxWidth(props),
4551
- minWidth(props),
4552
- props.outline && `outline-${props.outline}`,
4553
- overflow(props),
4554
- padding(props),
4555
- pointerEvents(props),
4556
- position(props),
4557
- radius(props),
4558
- textAlign(props),
4559
- width(props)
4560
- );
4131
+ return _composeClassNames(_scopeClassNames("box", props.muted && "muted", props.outline && `outline-${props.outline}`), border(props), boxSizing({
4132
+ boxSizing: props.sizing
4133
+ }), display(props), height(props), flex(props), flexItem(props), grid(props), gridItem(props), gap(props), inset(props), margin(props), maxWidth(props), minWidth(props), overflow(props), padding(props), pointerEvents(props), position(props), radius(props), textAlign(props), width(props));
4561
4134
  }
4562
4135
  function button(props) {
4563
- return _comp("button", display(props), flexItem(props), radius(props), width(props));
4136
+ return _composeClassNames(_scopeClassNames("button"), display(props), flexItem(props), radius(props), width(props));
4564
4137
  }
4565
4138
  function buttonLoadingBox() {
4566
- return "button-loading-box";
4139
+ return _scopeClassNames("button-loading-box");
4567
4140
  }
4568
4141
  function card(props) {
4569
- return _comp(props.scheme, props.tone ?? "default", "card", props.checkered && "card-checkered", shadow(props));
4142
+ return _composeClassNames(_scopeClassNames(props.scheme, props.tone, "card", props.checkered && "card-checkered"), shadow(props));
4570
4143
  }
4571
4144
  function checkbox() {
4572
- return _comp("checkbox");
4145
+ return _scopeClassNames("checkbox");
4573
4146
  }
4574
4147
  function checkboxInput() {
4575
- return _comp("checkbox-input");
4148
+ return _scopeClassNames("checkbox-input");
4576
4149
  }
4577
4150
  function code(props) {
4578
- return _comp("code", "block", font(props), _resp("code", props.size));
4151
+ return _composeClassNames(_scopeClassNames("code", "block", _resp("code", props.size)), font(props));
4579
4152
  }
4580
4153
  function container(props) {
4581
- return _comp("container", maxWidth({
4154
+ return _composeClassNames(_scopeClassNames("container"), maxWidth({
4582
4155
  maxWidth: props.width
4583
4156
  }));
4584
4157
  }
4585
4158
  function heading(props) {
4586
- return _comp("block", "heading", font(props), props.accent && "heading-accent", props.muted && "heading-muted", _resp("heading", props.size), flexItem(props), textAlign({
4159
+ return _composeClassNames(_scopeClassNames("block", "heading", props.muted && "heading-muted", _resp("heading", props.size)), font(props), flexItem(props), textAlign({
4587
4160
  textAlign: props.align
4588
4161
  }));
4589
4162
  }
4590
4163
  function kbd(props) {
4591
- return _comp("kbd", radius(props));
4164
+ return _composeClassNames(_scopeClassNames("kbd"), radius(props));
4592
4165
  }
4593
4166
  function label(props) {
4594
- return _comp("label", "block", font(props), props.accent && "label-accent", props.muted && "label-muted", _resp("label", props.size), textAlign({
4167
+ return _composeClassNames(_scopeClassNames("label", "block", props.muted && "label-muted", _resp("label", props.size)), font(props), textAlign({
4595
4168
  textAlign: props.align
4596
4169
  }));
4597
4170
  }
4598
4171
  function popover() {
4599
- return _comp("popover");
4172
+ return _scopeClassNames("popover");
4600
4173
  }
4601
4174
  function popoverCard() {
4602
- return _comp("popover-card");
4175
+ return _scopeClassNames("popover-card");
4603
4176
  }
4604
4177
  function radio() {
4605
- return _comp("radio");
4178
+ return _scopeClassNames("radio");
4606
4179
  }
4607
4180
  function select(props) {
4608
- return composeClassNames(_comp("select"), _input(props));
4181
+ return _composeClassNames(_scopeClassNames("select"), _input(props));
4609
4182
  }
4610
4183
  function selectPresentation() {
4611
- return composeClassNames(_comp("select-presentation"), _inputPresentation());
4184
+ return _composeClassNames(_scopeClassNames("select-presentation"), _inputPresentation());
4612
4185
  }
4613
4186
  function spinner() {
4614
- return _comp("spinner");
4187
+ return _scopeClassNames("spinner");
4615
4188
  }
4616
4189
  function animatedSpinnerIcon() {
4617
- return _comp("animated-spinner-icon");
4190
+ return _scopeClassNames("animated-spinner-icon");
4618
4191
  }
4619
4192
  function stack() {
4620
- return _comp("stack");
4193
+ return _scopeClassNames("stack");
4621
4194
  }
4622
4195
  function _switch() {
4623
- return _comp("switch");
4196
+ return _scopeClassNames("switch");
4624
4197
  }
4625
4198
  function _switchElement() {
4626
- return _comp("switch-element");
4199
+ return _scopeClassNames("switch-element");
4627
4200
  }
4628
4201
  function _switchPresentation() {
4629
- return _comp("switch-presentation");
4202
+ return _scopeClassNames("switch-presentation");
4630
4203
  }
4631
4204
  function _switchThumb() {
4632
- return _comp("switch-thumb");
4205
+ return _scopeClassNames("switch-thumb");
4633
4206
  }
4634
4207
  function _switchTrack() {
4635
- return _comp("switch-track");
4208
+ return _scopeClassNames("switch-track");
4636
4209
  }
4637
4210
  function text(props) {
4638
- return _comp("text", "block", flexItem(props), font(props), props.accent && "text-accent", props.muted && "text-muted", _resp("text", props.size), textAlign({
4211
+ return _composeClassNames(_scopeClassNames("text", "block", props.muted && "text-muted", _resp("text", props.size)), flexItem(props), font(props), textAlign({
4639
4212
  textAlign: props.align
4640
4213
  }));
4641
4214
  }
4642
4215
  function textArea(props) {
4643
- return composeClassNames(_comp("text-area"), _input(props));
4216
+ return _composeClassNames(_scopeClassNames("text-area"), _input(props));
4644
4217
  }
4645
4218
  function textInput(props) {
4646
- return composeClassNames(_input(props), _comp("text-input"));
4219
+ return _composeClassNames(_scopeClassNames("text-input"), _input(props));
4647
4220
  }
4648
4221
  function tooltip() {
4649
- return _comp("tooltip");
4222
+ return _scopeClassNames("tooltip");
4650
4223
  }
4651
4224
  function tooltipCard() {
4652
- return _comp("tooltip-card");
4225
+ return _scopeClassNames("tooltip-card");
4653
4226
  }
4654
4227
  function srOnly() {
4655
- return _comp(composeClassNames("sr-only"));
4228
+ return _scopeClassNames(_composeClassNames("sr-only"));
4656
4229
  }
4657
4230
  exports.BREAKPOINTS = BREAKPOINTS;
4658
- exports.PREFIX = PREFIX;
4659
4231
  exports._arrow = _arrow;
4660
4232
  exports._arrowShape = _arrowShape;
4661
4233
  exports._arrowStroke = _arrowStroke;
4662
4234
  exports._arrowStrokeMask = _arrowStrokeMask;
4663
- exports._compilePalette = _compilePalette;
4664
4235
  exports._compileSystem = _compileSystem;
4665
4236
  exports._compileTheme = _compileTheme;
4666
- exports._getClassNames = _getClassNames;
4237
+ exports._composeClassNames = _composeClassNames;
4667
4238
  exports._input = _input;
4668
4239
  exports._inputElement = _inputElement;
4669
4240
  exports._inputPresentation = _inputPresentation;
4241
+ exports._scopeClassName = _scopeClassName;
4670
4242
  exports._selectable = _selectable;
4671
4243
  exports._switch = _switch;
4672
4244
  exports._switchElement = _switchElement;
@@ -4683,6 +4255,7 @@ exports.avatarStack = avatarStack;
4683
4255
  exports.badge = badge;
4684
4256
  exports.border = border;
4685
4257
  exports.box = box;
4258
+ exports.boxSizing = boxSizing;
4686
4259
  exports.breadcrumbs = breadcrumbs;
4687
4260
  exports.button = button;
4688
4261
  exports.buttonLoadingBox = buttonLoadingBox;
@@ -4691,7 +4264,6 @@ exports.checkbox = checkbox;
4691
4264
  exports.checkboxInput = checkboxInput;
4692
4265
  exports.code = code;
4693
4266
  exports.codeSkeleton = codeSkeleton;
4694
- exports.composeClassNames = composeClassNames;
4695
4267
  exports.container = container;
4696
4268
  exports.dialog = dialog;
4697
4269
  exports.dialogCardRoot = dialogCardRoot;
@@ -4727,11 +4299,11 @@ exports.pointerEvents = pointerEvents;
4727
4299
  exports.popover = popover;
4728
4300
  exports.popoverCard = popoverCard;
4729
4301
  exports.position = position;
4730
- exports.px = px;
4302
+ exports.properties = properties;
4303
+ exports.px = px$1;
4731
4304
  exports.radio = radio;
4732
4305
  exports.radius = radius;
4733
- exports.rem = rem;
4734
- exports.scopeClassName = scopeClassName;
4306
+ exports.rem = rem$1;
4735
4307
  exports.select = select;
4736
4308
  exports.selectPresentation = selectPresentation;
4737
4309
  exports.shadow = shadow;
@@ -4745,7 +4317,7 @@ exports.textArea = textArea;
4745
4317
  exports.textInput = textInput;
4746
4318
  exports.textOverflow = textOverflow;
4747
4319
  exports.textSkeleton = textSkeleton;
4748
- exports.toBoxShadow = toBoxShadow;
4320
+ exports.toBoxShadow = toBoxShadow$1;
4749
4321
  exports.toast = toast;
4750
4322
  exports.toastLayer = toastLayer;
4751
4323
  exports.toastLoadingBar = toastLoadingBar;