@sanity/ui 2.10.0-corel.0 → 3.0.0-static.1

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 (389) hide show
  1. package/bin/ui.js +6 -0
  2. package/dist/_chunks-cjs/buildCommand.js +3542 -0
  3. package/dist/_chunks-cjs/buildCommand.js.map +1 -0
  4. package/dist/cli.d.ts +1 -0
  5. package/dist/cli.js +25 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/css.d.mts +1062 -0
  8. package/dist/css.d.ts +1062 -0
  9. package/dist/css.esm.js +3794 -0
  10. package/dist/css.esm.js.map +1 -0
  11. package/dist/css.js +3794 -0
  12. package/dist/css.js.map +1 -0
  13. package/dist/css.mjs +3794 -0
  14. package/dist/css.mjs.map +1 -0
  15. package/dist/index.d.mts +240 -221
  16. package/dist/index.d.ts +240 -221
  17. package/dist/index.esm.js +3033 -4536
  18. package/dist/index.esm.js.map +1 -1
  19. package/dist/index.js +3037 -4541
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.mjs +3033 -4536
  22. package/dist/index.mjs.map +1 -1
  23. package/dist/sanity-theme.css +25 -0
  24. package/dist/system.css +3385 -0
  25. package/dist/theme.d.mts +84 -22
  26. package/dist/theme.d.ts +84 -22
  27. package/dist/theme.esm.js +1718 -656
  28. package/dist/theme.esm.js.map +1 -1
  29. package/dist/theme.js +1757 -693
  30. package/dist/theme.js.map +1 -1
  31. package/dist/theme.mjs +1718 -656
  32. package/dist/theme.mjs.map +1 -1
  33. package/exports/css.ts +1 -0
  34. package/package.json +45 -24
  35. package/src/core/__workshop__/constants.ts +28 -19
  36. package/src/core/_compat/index.ts +2 -0
  37. package/src/core/{styles → _compat/styles}/border/borderStyle.ts +6 -0
  38. package/src/core/{styles → _compat/styles}/border/types.ts +1 -0
  39. package/src/core/{styles → _compat/styles}/box/boxStyle.ts +7 -1
  40. package/src/core/{styles → _compat/styles}/box/types.ts +1 -1
  41. package/src/core/{styles → _compat/styles}/card/_cardColorStyle.ts +2 -10
  42. package/src/core/{styles → _compat/styles}/flex/flexItemStyle.ts +1 -1
  43. package/src/core/{styles → _compat/styles}/flex/flexStyle.ts +0 -18
  44. package/src/core/{styles → _compat/styles}/flex/types.ts +1 -3
  45. package/src/core/{styles → _compat/styles}/font/types.ts +1 -1
  46. package/src/core/{styles → _compat/styles}/grid/gridStyle.ts +0 -10
  47. package/src/core/{styles → _compat/styles}/grid/types.ts +1 -1
  48. package/src/core/{styles → _compat/styles}/helpers.ts +10 -1
  49. package/src/core/{styles → _compat/styles}/input/textInputStyle.ts +2 -2
  50. package/src/core/{styles → _compat/styles}/radius/types.ts +1 -1
  51. package/src/core/{styles → _compat/styles}/shadow/shadowStyle.ts +1 -1
  52. package/src/core/components/autocomplete/__workshop__/custom.tsx +5 -4
  53. package/src/core/components/autocomplete/__workshop__/example.tsx +3 -2
  54. package/src/core/components/autocomplete/autocomplete.tsx +17 -9
  55. package/src/core/components/breadcrumbs/__workshop__/example.tsx +1 -3
  56. package/src/core/components/breadcrumbs/__workshop__/index.ts +0 -5
  57. package/src/core/components/breadcrumbs/breadcrumbs.tsx +14 -9
  58. package/src/core/components/dialog/__workshop__/props.tsx +2 -0
  59. package/src/core/components/dialog/dialog.tsx +73 -92
  60. package/src/core/components/hotkeys/hotkeys.tsx +18 -29
  61. package/src/core/components/menu/menu.tsx +13 -12
  62. package/src/core/components/menu/menuDivider.tsx +16 -0
  63. package/src/core/components/menu/menuGroup.tsx +10 -8
  64. package/src/core/components/menu/menuItem.tsx +23 -14
  65. package/src/core/components/skeleton/skeleton.tsx +14 -20
  66. package/src/core/components/skeleton/textSkeleton.tsx +72 -48
  67. package/src/core/components/tab/tab.tsx +5 -7
  68. package/src/core/components/tab/tabList.tsx +5 -21
  69. package/src/core/components/tab/tabPanel.tsx +1 -0
  70. package/src/core/components/toast/toast.tsx +31 -16
  71. package/src/core/components/toast/toastProvider.tsx +23 -23
  72. package/src/core/components/tree/tree.tsx +7 -2
  73. package/src/core/components/tree/treeGroup.tsx +4 -1
  74. package/src/core/components/tree/treeItem.tsx +44 -35
  75. package/src/core/components/tree/types.ts +5 -1
  76. package/src/core/hooks/useArrayProp.ts +1 -1
  77. package/src/core/index.ts +0 -1
  78. package/src/core/lib/styled/elements.ts +135 -0
  79. package/src/core/lib/styled/index.ts +2 -0
  80. package/src/core/lib/styled/members.ts +15 -0
  81. package/src/core/lib/styled/styled.ts +79 -0
  82. package/src/core/primitives/_selectable/selectable.tsx +27 -14
  83. package/src/core/primitives/avatar/avatar.tsx +38 -39
  84. package/src/core/primitives/avatar/avatarCounter.tsx +2 -2
  85. package/src/core/primitives/avatar/avatarStack.tsx +2 -2
  86. package/src/core/primitives/avatar/styles.ts +2 -2
  87. package/src/core/primitives/badge/__workshop__/tones.tsx +9 -16
  88. package/src/core/primitives/badge/badge.tsx +18 -20
  89. package/src/core/primitives/box/box.tsx +65 -74
  90. package/src/core/primitives/button/__workshop__/props.tsx +5 -2
  91. package/src/core/primitives/button/__workshop__/stacked.tsx +2 -1
  92. package/src/core/primitives/button/button.tsx +38 -45
  93. package/src/core/primitives/button/styles.ts +5 -5
  94. package/src/core/primitives/card/RootCardContext.ts +3 -0
  95. package/src/core/primitives/card/__workshop__/props.tsx +2 -2
  96. package/src/core/primitives/card/card.tsx +37 -42
  97. package/src/core/primitives/checkbox/checkbox.tsx +6 -8
  98. package/src/core/primitives/code/code.tsx +22 -13
  99. package/src/core/primitives/code/styles.ts +1 -1
  100. package/src/core/primitives/container/container.tsx +7 -15
  101. package/src/core/primitives/container/styles.ts +1 -1
  102. package/src/core/primitives/flex/flex.tsx +6 -31
  103. package/src/core/primitives/grid/grid.tsx +6 -19
  104. package/src/core/primitives/heading/heading.tsx +24 -28
  105. package/src/core/primitives/heading/styles.ts +2 -2
  106. package/src/core/primitives/inline/inline.tsx +18 -18
  107. package/src/core/primitives/inline/styles.ts +1 -1
  108. package/src/core/primitives/kbd/kbd.tsx +30 -37
  109. package/src/core/primitives/label/label.tsx +15 -9
  110. package/src/core/primitives/label/styles.ts +2 -2
  111. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +2 -2
  112. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +0 -1
  113. package/src/core/primitives/popover/__workshop__/TestStory.tsx +2 -1
  114. package/src/core/primitives/popover/popover.tsx +21 -15
  115. package/src/core/primitives/popover/popoverCard.tsx +36 -38
  116. package/src/core/primitives/radio/radio.tsx +1 -1
  117. package/src/core/primitives/radio/styles.ts +3 -3
  118. package/src/core/primitives/select/select.tsx +1 -1
  119. package/src/core/primitives/select/styles.ts +3 -3
  120. package/src/core/primitives/spinner/__workshop__/Props.tsx +2 -1
  121. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +16 -0
  122. package/src/core/primitives/spinner/spinner.tsx +8 -22
  123. package/src/core/primitives/stack/stack.tsx +12 -10
  124. package/src/core/primitives/stack/styles.ts +1 -1
  125. package/src/core/primitives/switch/styles.ts +11 -11
  126. package/src/core/primitives/switch/switch.tsx +20 -21
  127. package/src/core/primitives/text/styles.ts +2 -3
  128. package/src/core/primitives/text/text.tsx +18 -25
  129. package/src/core/primitives/textArea/__workshop__/plain.tsx +2 -2
  130. package/src/core/primitives/textArea/textArea.tsx +3 -3
  131. package/src/core/primitives/textInput/__workshop__/plain.tsx +4 -3
  132. package/src/core/primitives/textInput/textInput.tsx +111 -125
  133. package/src/core/primitives/tooltip/tooltip.test.tsx +1 -0
  134. package/src/core/primitives/tooltip/tooltip.tsx +13 -13
  135. package/src/core/primitives/tooltip/tooltipCard.tsx +15 -14
  136. package/src/core/primitives/types.ts +36 -16
  137. package/src/core/theme/__workshop__/build/story.tsx +2 -4
  138. package/src/core/theme/useTheme.ts +1 -1
  139. package/src/core/types/avatar.ts +6 -1
  140. package/src/core/types/box.ts +22 -16
  141. package/src/core/types/button.ts +1 -0
  142. package/src/core/types/flex.ts +27 -26
  143. package/src/core/types/grid.ts +17 -12
  144. package/src/core/types/gridItem.ts +32 -24
  145. package/src/core/types/radius.ts +7 -4
  146. package/src/core/types/text.ts +7 -4
  147. package/src/core/utils/arrow/arrow.tsx +1 -1
  148. package/src/core/utils/layer/layer.tsx +28 -11
  149. package/src/core/utils/srOnly/srOnly.tsx +1 -1
  150. package/src/core/utils/virtualList/virtualList.tsx +1 -1
  151. package/src/css/_resp.ts +28 -0
  152. package/src/css/cli/buildCommand.ts +36 -0
  153. package/src/css/cli/index.ts +38 -0
  154. package/src/css/compile/compileRule.ts +58 -0
  155. package/src/css/compile/compileRules.ts +56 -0
  156. package/src/css/compile/compileSystem.ts +7 -0
  157. package/src/css/compile/compileTheme.ts +512 -0
  158. package/src/css/components/breadcrumbs/breadcrumbs.ts +5 -0
  159. package/src/css/components/breadcrumbs/index.ts +1 -0
  160. package/src/css/components/breadcrumbs/rules.ts +25 -0
  161. package/src/css/components/dialog/classes.ts +29 -0
  162. package/src/css/components/dialog/index.ts +1 -0
  163. package/src/css/components/dialog/rules.ts +75 -0
  164. package/src/css/components/menu/index.ts +1 -0
  165. package/src/css/components/menu/menu.ts +5 -0
  166. package/src/css/components/menu/rules.ts +10 -0
  167. package/src/css/components/skeleton/index.ts +2 -0
  168. package/src/css/components/skeleton/rules.ts +106 -0
  169. package/src/css/components/skeleton/skeleton.ts +31 -0
  170. package/src/css/components/skeleton/types.ts +24 -0
  171. package/src/css/components/toast/rules.ts +68 -0
  172. package/src/css/components/tree/index.ts +1 -0
  173. package/src/css/components/tree/rules.ts +167 -0
  174. package/src/css/components/tree/tree.ts +5 -0
  175. package/src/css/composeClassNames.ts +3 -0
  176. package/src/css/index.ts +51 -0
  177. package/src/css/primitives/avatar/avatar.ts +32 -0
  178. package/src/css/primitives/avatar/index.ts +2 -0
  179. package/src/css/primitives/avatar/rules.ts +190 -0
  180. package/src/css/primitives/avatar/types.ts +9 -0
  181. package/src/css/primitives/badge/badge.ts +8 -0
  182. package/src/css/primitives/badge/index.ts +2 -0
  183. package/src/css/primitives/badge/rules.ts +25 -0
  184. package/src/css/primitives/badge/types.ts +8 -0
  185. package/src/css/primitives/box/box.ts +38 -0
  186. package/src/css/primitives/box/index.ts +2 -0
  187. package/src/css/primitives/box/rules.ts +25 -0
  188. package/src/css/primitives/box/types.ts +48 -0
  189. package/src/css/primitives/button/button.ts +26 -0
  190. package/src/css/primitives/button/index.ts +1 -0
  191. package/src/css/primitives/button/rules.ts +58 -0
  192. package/src/css/primitives/card/card.ts +21 -0
  193. package/src/css/primitives/card/index.ts +1 -0
  194. package/src/css/primitives/card/rules.ts +241 -0
  195. package/src/css/primitives/checkbox/__styles.ts +129 -0
  196. package/src/css/primitives/checkbox/checkbox.ts +9 -0
  197. package/src/css/primitives/checkbox/index.ts +1 -0
  198. package/src/css/primitives/checkbox/rules.ts +136 -0
  199. package/src/css/primitives/code/code.ts +9 -0
  200. package/src/css/primitives/code/index.ts +2 -0
  201. package/src/css/primitives/code/rules.ts +71 -0
  202. package/src/css/primitives/code/types.ts +10 -0
  203. package/src/css/primitives/container/container.ts +7 -0
  204. package/src/css/primitives/container/index.ts +2 -0
  205. package/src/css/primitives/container/rules.ts +8 -0
  206. package/src/css/primitives/container/types.ts +6 -0
  207. package/src/css/primitives/heading/heading.ts +16 -0
  208. package/src/css/primitives/heading/index.ts +2 -0
  209. package/src/css/primitives/heading/rules.ts +84 -0
  210. package/src/css/primitives/heading/types.ts +12 -0
  211. package/src/css/primitives/kbd/index.ts +2 -0
  212. package/src/css/primitives/kbd/kbd.ts +7 -0
  213. package/src/css/primitives/kbd/rules.ts +20 -0
  214. package/src/css/primitives/kbd/types.ts +5 -0
  215. package/src/css/primitives/label/index.ts +2 -0
  216. package/src/css/primitives/label/label.ts +16 -0
  217. package/src/css/primitives/label/rules.ts +85 -0
  218. package/src/css/primitives/label/types.ts +12 -0
  219. package/src/css/primitives/popover/index.ts +1 -0
  220. package/src/css/primitives/popover/popover.ts +5 -0
  221. package/src/css/primitives/popover/rules.ts +5 -0
  222. package/src/css/primitives/radio/index.ts +1 -0
  223. package/src/css/primitives/radio/radio.ts +5 -0
  224. package/src/css/primitives/radio/rules.ts +5 -0
  225. package/src/css/primitives/select/index.ts +1 -0
  226. package/src/css/primitives/select/rules.ts +5 -0
  227. package/src/css/primitives/select/select.ts +5 -0
  228. package/src/css/primitives/selectable/__style.ts +117 -0
  229. package/src/css/primitives/selectable/index.ts +2 -0
  230. package/src/css/primitives/selectable/rules.ts +27 -0
  231. package/src/css/primitives/selectable/selectable.ts +9 -0
  232. package/src/css/primitives/selectable/types.ts +6 -0
  233. package/src/css/primitives/spinner/index.ts +1 -0
  234. package/src/css/primitives/spinner/rules.ts +20 -0
  235. package/src/css/primitives/spinner/spinner.ts +9 -0
  236. package/src/css/primitives/switch/index.ts +1 -0
  237. package/src/css/primitives/switch/rules.ts +132 -0
  238. package/src/css/primitives/switch/switch.ts +5 -0
  239. package/src/css/primitives/text/index.ts +2 -0
  240. package/src/css/primitives/text/rules.ts +75 -0
  241. package/src/css/primitives/text/text.ts +16 -0
  242. package/src/css/primitives/text/types.ts +11 -0
  243. package/src/css/primitives/textArea/index.ts +1 -0
  244. package/src/css/primitives/textArea/rules.ts +5 -0
  245. package/src/css/primitives/textArea/textArea.ts +5 -0
  246. package/src/css/primitives/textInput/index.ts +2 -0
  247. package/src/css/primitives/textInput/rules.ts +321 -0
  248. package/src/css/primitives/textInput/textInput.ts +15 -0
  249. package/src/css/primitives/textInput/types.ts +8 -0
  250. package/src/css/primitives/token/rules.ts +45 -0
  251. package/src/css/primitives/tooltip/index.ts +1 -0
  252. package/src/css/primitives/tooltip/rules.ts +17 -0
  253. package/src/css/primitives/tooltip/tooltip.ts +9 -0
  254. package/src/css/responsiveRules.ts +25 -0
  255. package/src/css/rules.ts +99 -0
  256. package/src/css/styles/border/border.ts +22 -0
  257. package/src/css/styles/border/index.ts +2 -0
  258. package/src/css/styles/border/rules.ts +24 -0
  259. package/src/css/styles/border/types.ts +10 -0
  260. package/src/css/styles/display/rules.ts +62 -0
  261. package/src/css/styles/flex/flex.ts +20 -0
  262. package/src/css/styles/flex/index.ts +2 -0
  263. package/src/css/styles/flex/rules.ts +28 -0
  264. package/src/css/styles/flex/types.ts +35 -0
  265. package/src/css/styles/flexItem/flexItem.ts +8 -0
  266. package/src/css/styles/flexItem/index.ts +2 -0
  267. package/src/css/styles/flexItem/rules.ts +11 -0
  268. package/src/css/styles/flexItem/types.ts +11 -0
  269. package/src/css/styles/font/font.ts +17 -0
  270. package/src/css/styles/font/index.ts +2 -0
  271. package/src/css/styles/font/rules.ts +148 -0
  272. package/src/css/styles/font/types.ts +12 -0
  273. package/src/css/styles/gap/gap.ts +8 -0
  274. package/src/css/styles/gap/index.ts +2 -0
  275. package/src/css/styles/gap/rules.ts +33 -0
  276. package/src/css/styles/gap/types.ts +9 -0
  277. package/src/css/styles/grid/grid.ts +13 -0
  278. package/src/css/styles/grid/index.ts +2 -0
  279. package/src/css/styles/grid/rules.ts +146 -0
  280. package/src/css/styles/grid/types.ts +29 -0
  281. package/src/css/styles/gridItem/gridItem.ts +15 -0
  282. package/src/css/styles/gridItem/index.ts +2 -0
  283. package/src/css/styles/gridItem/rules.ts +96 -0
  284. package/src/css/styles/gridItem/types.ts +41 -0
  285. package/src/css/styles/height/rules.ts +7 -0
  286. package/src/css/styles/margin/index.ts +2 -0
  287. package/src/css/styles/margin/margin.ts +15 -0
  288. package/src/css/styles/margin/rules.ts +63 -0
  289. package/src/css/styles/margin/types.ts +11 -0
  290. package/src/css/styles/maxWidth/index.ts +2 -0
  291. package/src/css/styles/maxWidth/maxWidth.ts +6 -0
  292. package/src/css/styles/maxWidth/rules.ts +36 -0
  293. package/src/css/styles/maxWidth/types.ts +6 -0
  294. package/src/css/styles/outline/rules.ts +7 -0
  295. package/src/css/styles/overflow/index.ts +2 -0
  296. package/src/css/styles/overflow/overflow.ts +11 -0
  297. package/src/css/styles/overflow/rules.ts +9 -0
  298. package/src/css/styles/overflow/types.ts +11 -0
  299. package/src/css/styles/padding/index.ts +2 -0
  300. package/src/css/styles/padding/padding.ts +15 -0
  301. package/src/css/styles/padding/rules.ts +61 -0
  302. package/src/css/styles/padding/types.ts +12 -0
  303. package/src/css/styles/pointerEvents/index.ts +2 -0
  304. package/src/css/styles/pointerEvents/pointerEvents.ts +6 -0
  305. package/src/css/styles/pointerEvents/rules.ts +11 -0
  306. package/src/css/styles/pointerEvents/types.ts +7 -0
  307. package/src/css/styles/position/index.ts +2 -0
  308. package/src/css/styles/position/position.ts +7 -0
  309. package/src/css/styles/position/rules.ts +31 -0
  310. package/src/css/styles/position/types.ts +13 -0
  311. package/src/css/styles/radius/index.ts +2 -0
  312. package/src/css/styles/radius/radius.ts +8 -0
  313. package/src/css/styles/radius/rules.ts +13 -0
  314. package/src/css/styles/radius/types.ts +7 -0
  315. package/src/css/styles/shadow/rules.ts +53 -0
  316. package/src/css/styles/width/index.ts +2 -0
  317. package/src/css/styles/width/rules.ts +7 -0
  318. package/src/css/styles/width/types.ts +8 -0
  319. package/src/css/styles/width/width.ts +6 -0
  320. package/src/css/types.ts +626 -0
  321. package/src/css/varNames.ts +381 -0
  322. package/src/css/vars.ts +399 -0
  323. package/src/theme/build/_deprecated/color/factory.ts +1 -1
  324. package/src/theme/build/_deprecated/color/muted/createMuted.ts +2 -2
  325. package/src/theme/build/buildColorTheme.ts +39 -45
  326. package/src/theme/build/renderColorTheme.ts +65 -239
  327. package/src/theme/build/resolveColorTokens.ts +115 -51
  328. package/src/theme/config/tokens/color/types.ts +18 -4
  329. package/src/theme/defaults/colorTokens.ts +10 -17
  330. package/src/theme/defaults/config.ts +1 -1
  331. package/src/theme/getScopedTheme.ts +2 -9
  332. package/src/theme/system/_constants.ts +25 -0
  333. package/src/theme/system/_types.ts +41 -0
  334. package/src/theme/system/color/_constants.ts +0 -8
  335. package/src/theme/system/color/badge.ts +7 -3
  336. package/src/theme/system/index.ts +2 -0
  337. package/src/theme/system/v0/color/_system.ts +4 -8
  338. package/src/theme/system/v0/color/color.ts +2 -3
  339. package/src/theme/versioning/themeColor_v0_v2.ts +0 -26
  340. package/src/theme/versioning/v0_v2.ts +0 -4
  341. package/dist/_chunks-cjs/getTheme_v2.js +0 -342
  342. package/dist/_chunks-cjs/getTheme_v2.js.map +0 -1
  343. package/dist/_chunks-es/getTheme_v2.mjs +0 -343
  344. package/dist/_chunks-es/getTheme_v2.mjs.map +0 -1
  345. package/dist/_legacy/getTheme_v2.esm.js +0 -343
  346. package/dist/_legacy/getTheme_v2.esm.js.map +0 -1
  347. package/src/core/components/autocomplete/autocomplete.styles.tsx +0 -38
  348. package/src/core/components/breadcrumbs/__workshop__/buttons.tsx +0 -58
  349. package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +0 -5
  350. package/src/core/components/dialog/styles.ts +0 -76
  351. package/src/core/components/menu/menuDivider.ts +0 -12
  352. package/src/core/components/skeleton/styles.ts +0 -50
  353. package/src/core/components/toast/styles.ts +0 -61
  354. package/src/core/components/tree/style.ts +0 -104
  355. package/src/core/primitives/_selectable/style.ts +0 -114
  356. package/src/core/primitives/card/styles.ts +0 -146
  357. package/src/core/primitives/checkbox/styles.ts +0 -127
  358. /package/src/core/{styles → _compat/styles}/border/index.ts +0 -0
  359. /package/src/core/{styles → _compat/styles}/box/index.ts +0 -0
  360. /package/src/core/{styles → _compat/styles}/card/index.ts +0 -0
  361. /package/src/core/{styles → _compat/styles}/flex/index.ts +0 -0
  362. /package/src/core/{styles → _compat/styles}/focusRing/index.ts +0 -0
  363. /package/src/core/{styles → _compat/styles}/font/codeFontStyle.ts +0 -0
  364. /package/src/core/{styles → _compat/styles}/font/headingFontStyle.ts +0 -0
  365. /package/src/core/{styles → _compat/styles}/font/index.ts +0 -0
  366. /package/src/core/{styles → _compat/styles}/font/labelFontStyle.ts +0 -0
  367. /package/src/core/{styles → _compat/styles}/font/responsiveFont.ts +0 -0
  368. /package/src/core/{styles → _compat/styles}/font/textAlignStyle.ts +0 -0
  369. /package/src/core/{styles → _compat/styles}/font/textFontStyle.ts +0 -0
  370. /package/src/core/{styles → _compat/styles}/grid/gridItemStyle.ts +0 -0
  371. /package/src/core/{styles → _compat/styles}/grid/index.ts +0 -0
  372. /package/src/core/{styles → _compat/styles}/index.ts +0 -0
  373. /package/src/core/{styles → _compat/styles}/input/index.ts +0 -0
  374. /package/src/core/{styles → _compat/styles}/input/responsiveInputPaddingStyle.ts +0 -0
  375. /package/src/core/{styles → _compat/styles}/internal.ts +0 -0
  376. /package/src/core/{styles → _compat/styles}/margin/index.ts +0 -0
  377. /package/src/core/{styles → _compat/styles}/margin/marginStyle.ts +0 -0
  378. /package/src/core/{styles → _compat/styles}/margin/marginsStyle.test.ts +0 -0
  379. /package/src/core/{styles → _compat/styles}/margin/types.ts +0 -0
  380. /package/src/core/{styles → _compat/styles}/padding/index.ts +0 -0
  381. /package/src/core/{styles → _compat/styles}/padding/paddingStyle.test.ts +0 -0
  382. /package/src/core/{styles → _compat/styles}/padding/paddingStyle.ts +0 -0
  383. /package/src/core/{styles → _compat/styles}/padding/types.ts +0 -0
  384. /package/src/core/{styles → _compat/styles}/radius/index.ts +0 -0
  385. /package/src/core/{styles → _compat/styles}/radius/radiusStyle.ts +0 -0
  386. /package/src/core/{styles → _compat/styles}/shadow/index.ts +0 -0
  387. /package/src/core/{styles → _compat/styles}/shadow/types.ts +0 -0
  388. /package/src/core/{styles → _compat/styles}/types.ts +0 -0
  389. /package/src/core/{_compat.ts → _compat/types.ts} +0 -0
@@ -0,0 +1,3794 @@
1
+ import { FONT_CODE_SIZE, FONT_HEADING_SIZE, FONT_LABEL_SIZE, FONT_TEXT_SIZE, THEME_COLOR_AVATAR_COLORS, SPACE, THEME_COLOR_CARD_TONES, THEME_COLOR_STATE_TONES, THEME_COLOR_INPUT_MODES, THEME_COLOR_INPUT_STATES, THEME_COLOR_BUTTON_MODES } from "@sanity/ui/theme";
2
+ const breadcrumbsRules = {
3
+ breadcrumbs: {
4
+ lineHeight: 0
5
+ }
6
+ }, dialogRules = {
7
+ dialog: {
8
+ top: 0,
9
+ left: 0,
10
+ right: 0,
11
+ bottom: 0,
12
+ alignItems: "center",
13
+ justifyContent: "center",
14
+ outline: "none",
15
+ background: "var(--color-backdrop)",
16
+ "@keyframes": {
17
+ "dialog-zoom-in": {
18
+ from: {
19
+ opacity: 0,
20
+ transform: "scale(0.95)"
21
+ },
22
+ to: {
23
+ opacity: 1,
24
+ transform: "scale(1)"
25
+ }
26
+ },
27
+ "dialog-fade-in": {
28
+ from: {
29
+ opacity: 0
30
+ },
31
+ to: {
32
+ opacity: 1
33
+ }
34
+ }
35
+ },
36
+ "@nest": {
37
+ "&[data-animate]": {
38
+ animation: "dialog-fade-in 200ms ease-out"
39
+ },
40
+ // Animates the dialog card.
41
+ '&[data-animate] > [data-ui="DialogCard"]': {
42
+ animation: "dialog-zoom-in 200ms ease-out"
43
+ }
44
+ }
45
+ },
46
+ "dialog-container": {
47
+ width: "100%",
48
+ height: "100%"
49
+ },
50
+ "dialog-card-root": {
51
+ width: "100%",
52
+ maxHeight: "100%",
53
+ overflow: ["hidden", "clip"]
54
+ },
55
+ "dialog-layout": {
56
+ width: "100%"
57
+ },
58
+ "dialog-header": {
59
+ zIndex: 2
60
+ },
61
+ "dialog-content": {
62
+ zIndex: 1,
63
+ outline: "none"
64
+ },
65
+ "dialog-footer": {
66
+ zIndex: 3
67
+ }
68
+ }, menuRules = {
69
+ "menu-divider": {
70
+ height: "1px",
71
+ border: 0,
72
+ backgroundColor: "var(--card-border-color)",
73
+ margin: 0
74
+ }
75
+ };
76
+ function responsiveRules(className, props) {
77
+ return {
78
+ [className]: props,
79
+ [`_1:${className}`]: {
80
+ "@media": {
81
+ "screen and (min-width: 360px)": props
82
+ }
83
+ },
84
+ [`_2:${className}`]: {
85
+ "@media": {
86
+ "screen and (min-width: 600px)": props
87
+ }
88
+ },
89
+ [`_3:${className}`]: {
90
+ "@media": {
91
+ "screen and (min-width: 900px)": props
92
+ }
93
+ },
94
+ [`_4:${className}`]: {
95
+ "@media": {
96
+ "screen and (min-width: 1200px)": props
97
+ }
98
+ },
99
+ [`_5:${className}`]: {
100
+ "@media": {
101
+ "screen and (min-width: 1800px)": props
102
+ }
103
+ },
104
+ [`_6:${className}`]: {
105
+ "@media": {
106
+ "screen and (min-width: 2400px)": props
107
+ }
108
+ }
109
+ };
110
+ }
111
+ const skeletonRules = {
112
+ skeleton: {
113
+ backgroundColor: "var(--card-skeleton-from-color)",
114
+ backgroundPosition: "100%",
115
+ backgroundSize: "200% 100%",
116
+ backgroundAttachment: "fixed",
117
+ opacity: 0,
118
+ transition: "opacity 200ms ease-in",
119
+ "@keyframes": {
120
+ "skeleton-pulse": {
121
+ "0%": {
122
+ backgroundPosition: "100%"
123
+ },
124
+ "100%": {
125
+ backgroundPosition: "-100%"
126
+ }
127
+ }
128
+ },
129
+ "@nest": {
130
+ "&[data-animated]": {
131
+ backgroundImage: `linear-gradient(
132
+ to right,
133
+ var(--card-skeleton-from-color),
134
+ var(--card-skeleton-to-color),
135
+ var(--card-skeleton-from-color),
136
+ var(--card-skeleton-from-color),
137
+ var(--card-skeleton-from-color)
138
+ )`,
139
+ animationName: "skeleton-pulse",
140
+ animationTimingFunction: "ease-in-out",
141
+ animationIterationCount: "infinite",
142
+ animationDuration: "2000ms"
143
+ },
144
+ "&[data-visible]": {
145
+ opacity: 1
146
+ }
147
+ },
148
+ "@media": {
149
+ "screen and (prefers-reduced-motion: no-preference)": {
150
+ backgroundColor: "var(--card-skeleton-from-color)"
151
+ }
152
+ }
153
+ },
154
+ "font-skeleton": {
155
+ height: "calc(var(--font-skeleton-line-height) - var(--font-skeleton-ascender-height) - var(--font-skeleton-descender-height))"
156
+ },
157
+ // ...responsiveRules('text-skeleton-0', {
158
+ // '--font-skeleton-line-height': 'var(--font-text-0-line-height)',
159
+ // '--font-skeleton-ascender-height': 'var(--font-text-0-ascender-height)',
160
+ // '--font-skeleton-descender-height': 'var(--font-text-0-descender-height)',
161
+ // }),
162
+ ...FONT_CODE_SIZE.reduce((acc, size) => ({
163
+ ...acc,
164
+ ...responsiveRules(`code-skeleton-${size}`, {
165
+ "--font-skeleton-line-height": `var(--font-code-${size}-line-height)`,
166
+ "--font-skeleton-ascender-height": `var(--font-code-${size}-ascender-height)`,
167
+ "--font-skeleton-descender-height": `var(--font-code-${size}-descender-height)`
168
+ })
169
+ }), {}),
170
+ ...FONT_HEADING_SIZE.reduce((acc, size) => ({
171
+ ...acc,
172
+ ...responsiveRules(`heading-skeleton-${size}`, {
173
+ "--font-skeleton-line-height": `var(--font-heading-${size}-line-height)`,
174
+ "--font-skeleton-ascender-height": `var(--font-heading-${size}-ascender-height)`,
175
+ "--font-skeleton-descender-height": `var(--font-heading-${size}-descender-height)`
176
+ })
177
+ }), {}),
178
+ ...FONT_LABEL_SIZE.reduce((acc, size) => ({
179
+ ...acc,
180
+ ...responsiveRules(`label-skeleton-${size}`, {
181
+ "--font-skeleton-line-height": `var(--font-label-${size}-line-height)`,
182
+ "--font-skeleton-ascender-height": `var(--font-label-${size}-ascender-height)`,
183
+ "--font-skeleton-descender-height": `var(--font-label-${size}-descender-height)`
184
+ })
185
+ }), {}),
186
+ ...FONT_TEXT_SIZE.reduce((acc, size) => ({
187
+ ...acc,
188
+ ...responsiveRules(`text-skeleton-${size}`, {
189
+ "--font-skeleton-line-height": `var(--font-text-${size}-line-height)`,
190
+ "--font-skeleton-ascender-height": `var(--font-text-${size}-ascender-height)`,
191
+ "--font-skeleton-descender-height": `var(--font-text-${size}-descender-height)`
192
+ })
193
+ }), {})
194
+ }, avatarRules = {
195
+ avatar: {
196
+ backgroundColor: "var(--avatar-bg-color)",
197
+ position: "relative",
198
+ boxSizing: "border-box",
199
+ userSelect: "none",
200
+ boxShadow: "0 0 0 1px var(--card-bg-color)",
201
+ "@nest": {
202
+ '&[data-status="inactive"]': {
203
+ opacity: 0.5
204
+ },
205
+ "& > svg:not([hidden])": {
206
+ display: "block"
207
+ },
208
+ /* &:is(button) */
209
+ '&[data-as="button"]': {
210
+ WebkitFontSmoothing: "inherit",
211
+ appearance: "none",
212
+ margin: 0,
213
+ padding: 0,
214
+ border: 0,
215
+ font: "inherit",
216
+ color: "inherit",
217
+ outline: "none"
218
+ },
219
+ '&[data-as="button"]:focus': {
220
+ // boxShadow: focusRingStyle({focusRing: avatar.focusRing}),
221
+ },
222
+ '&[data-as="button"]:focus:not(:focus-visible)': {
223
+ boxShadow: "none"
224
+ }
225
+ }
226
+ },
227
+ ...THEME_COLOR_AVATAR_COLORS.reduce((acc, color) => ({
228
+ ...acc,
229
+ [`avatar-${color}`]: {
230
+ "--avatar-bg-color": `var(--card-avatar-${color}-bg-color)`,
231
+ "--avatar-fg-color": `var(--card-avatar-${color}-fg-color)`
232
+ }
233
+ }), {}),
234
+ "avatar-arrow": {
235
+ position: "absolute",
236
+ boxSizing: "border-box",
237
+ zIndex: 0,
238
+ opacity: 0,
239
+ transition: "all 0.2s linear",
240
+ transform: "rotate(-90deg) translate3d(0, 6px, 0)",
241
+ left: 0,
242
+ right: 0,
243
+ top: 0,
244
+ bottom: 0,
245
+ "@nest": {
246
+ "& > svg": {
247
+ width: "11px",
248
+ height: "7px",
249
+ position: "absolute",
250
+ top: "-5px",
251
+ left: "50%",
252
+ transform: "translateX(-6px)"
253
+ },
254
+ "& > svg:not([hidden])": {
255
+ display: "block"
256
+ },
257
+ ".arrow-position-inside > &": {
258
+ transform: "rotate(-90deg) translate3d(0, 6px, 0)",
259
+ opacity: 0
260
+ },
261
+ ".arrow-position-top > &": {
262
+ opacity: 1,
263
+ transform: "rotate(0deg)"
264
+ },
265
+ ".arrow-position-bottom > &": {
266
+ opacity: 1,
267
+ transform: "rotate(-180deg)"
268
+ }
269
+ }
270
+ },
271
+ ...responsiveRules("avatar-0", {
272
+ width: "var(--avatar-0-size)",
273
+ height: "var(--avatar-0-size)",
274
+ borderRadius: "var(--avatar-0-size)",
275
+ "@nest": {
276
+ "& > svg": {
277
+ width: "var(--avatar-0-size)",
278
+ height: "var(--avatar-0-size)",
279
+ borderRadius: "var(--avatar-0-size)"
280
+ }
281
+ }
282
+ }),
283
+ ...responsiveRules("avatar-1", {
284
+ width: "var(--avatar-1-size)",
285
+ height: "var(--avatar-1-size)",
286
+ borderRadius: "var(--avatar-1-size)",
287
+ "@nest": {
288
+ "& > svg": {
289
+ width: "var(--avatar-1-size)",
290
+ height: "var(--avatar-1-size)",
291
+ borderRadius: "var(--avatar-1-size)"
292
+ }
293
+ }
294
+ }),
295
+ ...responsiveRules("avatar-2", {
296
+ width: "var(--avatar-2-size)",
297
+ height: "var(--avatar-2-size)",
298
+ borderRadius: "var(--avatar-2-size)",
299
+ "@nest": {
300
+ "& > svg": {
301
+ width: "var(--avatar-2-size)",
302
+ height: "var(--avatar-2-size)",
303
+ borderRadius: "var(--avatar-2-size)"
304
+ }
305
+ }
306
+ }),
307
+ ...responsiveRules("avatar-3", {
308
+ width: "var(--avatar-3-size)",
309
+ height: "var(--avatar-3-size)",
310
+ borderRadius: "var(--avatar-3-size)",
311
+ "@nest": {
312
+ "& > svg": {
313
+ width: "var(--avatar-3-size)",
314
+ height: "var(--avatar-3-size)",
315
+ borderRadius: "var(--avatar-3-size)"
316
+ }
317
+ }
318
+ }),
319
+ "avatar-initials": {
320
+ width: "100%",
321
+ height: "100%",
322
+ color: "var(--avatar-fg-color)",
323
+ alignItems: "center",
324
+ justifyContent: "center",
325
+ textTransform: "uppercase",
326
+ textAlign: "center",
327
+ borderRadius: "50%",
328
+ "@nest": {
329
+ "&:not([hidden])": {
330
+ display: "flex"
331
+ }
332
+ }
333
+ },
334
+ "avatar-bg-stroke": {
335
+ strokeWidth: "4px",
336
+ stroke: "var(--card-bg-color)"
337
+ },
338
+ "avatar-stroke": {
339
+ strokeWidth: "2px",
340
+ stroke: "var(--avatar-bg-color)",
341
+ "@nest": {
342
+ '[data-status="editing"] &': {
343
+ strokeDasharray: "2 4",
344
+ strokeLinecap: "round"
345
+ }
346
+ }
347
+ },
348
+ "avatar-image": {
349
+ position: "relative"
350
+ }
351
+ }, varNames = {
352
+ color: {
353
+ dark: {
354
+ transparent: buildColorCardVarNames({
355
+ scheme: "dark",
356
+ tone: "transparent"
357
+ }),
358
+ default: buildColorCardVarNames({
359
+ scheme: "dark",
360
+ tone: "default"
361
+ }),
362
+ primary: buildColorCardVarNames({
363
+ scheme: "dark",
364
+ tone: "primary"
365
+ }),
366
+ positive: buildColorCardVarNames({
367
+ scheme: "dark",
368
+ tone: "positive"
369
+ }),
370
+ caution: buildColorCardVarNames({
371
+ scheme: "dark",
372
+ tone: "caution"
373
+ }),
374
+ critical: buildColorCardVarNames({
375
+ scheme: "dark",
376
+ tone: "critical"
377
+ })
378
+ },
379
+ light: {
380
+ transparent: buildColorCardVarNames({
381
+ scheme: "light",
382
+ tone: "transparent"
383
+ }),
384
+ default: buildColorCardVarNames({
385
+ scheme: "light",
386
+ tone: "default"
387
+ }),
388
+ primary: buildColorCardVarNames({
389
+ scheme: "light",
390
+ tone: "primary"
391
+ }),
392
+ positive: buildColorCardVarNames({
393
+ scheme: "light",
394
+ tone: "positive"
395
+ }),
396
+ caution: buildColorCardVarNames({
397
+ scheme: "light",
398
+ tone: "caution"
399
+ }),
400
+ critical: buildColorCardVarNames({
401
+ scheme: "light",
402
+ tone: "critical"
403
+ })
404
+ },
405
+ //
406
+ accent: {
407
+ fg: "--color-accent-fg"
408
+ },
409
+ avatar: {
410
+ gray: {
411
+ bg: "--color-avatar-gray-bg",
412
+ fg: "--color-avatar-gray-fg"
413
+ },
414
+ blue: {
415
+ bg: "--color-avatar-blue-bg",
416
+ fg: "--color-avatar-blue-fg"
417
+ },
418
+ purple: {
419
+ bg: "--color-avatar-purple-bg",
420
+ fg: "--color-avatar-purple-fg"
421
+ },
422
+ magenta: {
423
+ bg: "--color-avatar-magenta-bg",
424
+ fg: "--color-avatar-magenta-fg"
425
+ },
426
+ red: {
427
+ bg: "--color-avatar-red-bg",
428
+ fg: "--color-avatar-red-fg"
429
+ },
430
+ orange: {
431
+ bg: "--color-avatar-orange-bg",
432
+ fg: "--color-avatar-orange-fg"
433
+ },
434
+ yellow: {
435
+ bg: "--color-avatar-yellow-bg",
436
+ fg: "--color-avatar-yellow-fg"
437
+ },
438
+ green: {
439
+ bg: "--color-avatar-green-bg",
440
+ fg: "--color-avatar-green-fg"
441
+ },
442
+ cyan: {
443
+ bg: "--color-avatar-cyan-bg",
444
+ fg: "--color-avatar-cyan-fg"
445
+ }
446
+ },
447
+ badge: {
448
+ bg: "--color-badge-bg",
449
+ dot: "--color-badge-dot",
450
+ fg: "--color-badge-fg",
451
+ icon: "--color-badge-icon",
452
+ default: {
453
+ bg: "--color-badge-default-bg",
454
+ dot: "--color-badge-default-dot",
455
+ fg: "--color-badge-default-fg",
456
+ icon: "--color-badge-default-icon"
457
+ },
458
+ primary: {
459
+ bg: "--color-badge-primary-bg",
460
+ dot: "--color-badge-primary-dot",
461
+ fg: "--color-badge-primary-fg",
462
+ icon: "--color-badge-primary-icon"
463
+ },
464
+ positive: {
465
+ bg: "--color-badge-positive-bg",
466
+ dot: "--color-badge-positive-dot",
467
+ fg: "--color-badge-positive-fg",
468
+ icon: "--color-badge-positive-icon"
469
+ },
470
+ caution: {
471
+ bg: "--color-badge-caution-bg",
472
+ dot: "--color-badge-caution-dot",
473
+ fg: "--color-badge-caution-fg",
474
+ icon: "--color-badge-caution-icon"
475
+ },
476
+ critical: {
477
+ bg: "--color-badge-critical-bg",
478
+ dot: "--color-badge-critical-dot",
479
+ fg: "--color-badge-critical-fg",
480
+ icon: "--color-badge-critical-icon"
481
+ }
482
+ },
483
+ bg: "--color-bg",
484
+ border: "--color-border",
485
+ code: {
486
+ bg: "--color-code-bg",
487
+ fg: "--color-code-fg"
488
+ },
489
+ fg: "--color-fg",
490
+ icon: "--color-icon",
491
+ kbd: {
492
+ bg: "--color-kbd-bg",
493
+ border: "--color-kbd-border",
494
+ fg: "--color-kbd-fg"
495
+ },
496
+ link: {
497
+ fg: "--color-link-fg"
498
+ },
499
+ muted: {
500
+ bg: "--color-muted-bg",
501
+ fg: "--color-muted-fg"
502
+ },
503
+ shadow: {
504
+ outline: "--color-shadow-outline",
505
+ umbra: "--color-shadow-umbra",
506
+ penumbra: "--color-shadow-penumbra",
507
+ ambient: "--color-shadow-ambient"
508
+ },
509
+ skeleton: {
510
+ from: "--color-skeleton-from",
511
+ to: "--color-skeleton-to"
512
+ },
513
+ syntax: {
514
+ atrule: "--color-syntax-atrule",
515
+ attrName: "--color-syntax-attrName",
516
+ attrValue: "--color-syntax-attrValue",
517
+ attribute: "--color-syntax-attribute",
518
+ boolean: "--color-syntax-boolean",
519
+ builtin: "--color-syntax-builtin",
520
+ cdata: "--color-syntax-cdata",
521
+ char: "--color-syntax-char",
522
+ class: "--color-syntax-class",
523
+ className: "--color-syntax-className",
524
+ comment: "--color-syntax-comment",
525
+ constant: "--color-syntax-constant",
526
+ deleted: "--color-syntax-deleted",
527
+ doctype: "--color-syntax-doctype",
528
+ entity: "--color-syntax-entity",
529
+ function: "--color-syntax-function",
530
+ hexcode: "--color-syntax-hexcode",
531
+ id: "--color-syntax-id",
532
+ important: "--color-syntax-important",
533
+ inserted: "--color-syntax-inserted",
534
+ keyword: "--color-syntax-keyword",
535
+ number: "--color-syntax-number",
536
+ operator: "--color-syntax-operator",
537
+ prolog: "--color-syntax-prolog",
538
+ property: "--color-syntax-property",
539
+ pseudoClass: "--color-syntax-pseudoClass",
540
+ pseudoElement: "--color-syntax-pseudoElement",
541
+ punctuation: "--color-syntax-punctuation",
542
+ regex: "--color-syntax-regex",
543
+ selector: "--color-syntax-selector",
544
+ string: "--color-syntax-string",
545
+ symbol: "--color-syntax-symbol",
546
+ tag: "--color-syntax-tag",
547
+ unit: "--color-syntax-unit",
548
+ url: "--color-syntax-url",
549
+ variable: "--color-syntax-variable"
550
+ }
551
+ },
552
+ avatar: {
553
+ focusRing: {
554
+ offset: "--avatar-focus-ring-offset",
555
+ width: "--avatar-focus-ring-width"
556
+ }
557
+ },
558
+ space: Object.fromEntries(SPACE.map((space) => [space, `--space-${String(space).replace(".", "_")}`]))
559
+ };
560
+ function buildColorCardVarNames(props) {
561
+ const {
562
+ scheme,
563
+ tone
564
+ } = props, prefix = `--color-${scheme}-${tone}`;
565
+ return {
566
+ accent: {
567
+ fg: `${prefix}-accent-fg`
568
+ },
569
+ avatar: {
570
+ gray: {
571
+ bg: `${prefix}-avatar-gray-bg`,
572
+ fg: `${prefix}-avatar-gray-fg`
573
+ },
574
+ blue: {
575
+ bg: `${prefix}-avatar-blue-bg`,
576
+ fg: `${prefix}-avatar-blue-fg`
577
+ },
578
+ purple: {
579
+ bg: `${prefix}-avatar-purple-bg`,
580
+ fg: `${prefix}-avatar-purple-fg`
581
+ },
582
+ magenta: {
583
+ bg: `${prefix}-avatar-magenta-bg`,
584
+ fg: `${prefix}-avatar-magenta-fg`
585
+ },
586
+ red: {
587
+ bg: `${prefix}-avatar-red-bg`,
588
+ fg: `${prefix}-avatar-red-fg`
589
+ },
590
+ orange: {
591
+ bg: `${prefix}-avatar-orange-bg`,
592
+ fg: `${prefix}-avatar-gray-fg`
593
+ },
594
+ yellow: {
595
+ bg: `${prefix}-avatar-yellow-bg`,
596
+ fg: `${prefix}-avatar-yellow-fg`
597
+ },
598
+ green: {
599
+ bg: `${prefix}-avatar-green-bg`,
600
+ fg: `${prefix}-avatar-green-fg`
601
+ },
602
+ cyan: {
603
+ bg: `${prefix}-avatar-cyan-bg`,
604
+ fg: `${prefix}-avatar-yellow-fg`
605
+ }
606
+ },
607
+ backdrop: `${prefix}-backdrop`,
608
+ badge: {
609
+ default: {
610
+ bg: `${prefix}-badge-default-bg`,
611
+ dot: `${prefix}-badge-default-dot`,
612
+ fg: `${prefix}-badge-default-fg`,
613
+ icon: `${prefix}-badge-default-icon`
614
+ },
615
+ primary: {
616
+ bg: `${prefix}-badge-primary-bg`,
617
+ dot: `${prefix}-badge-primary-dot`,
618
+ fg: `${prefix}-badge-primary-fg`,
619
+ icon: `${prefix}-badge-primary-icon`
620
+ },
621
+ positive: {
622
+ bg: `${prefix}-badge-positive-bg`,
623
+ dot: `${prefix}-badge-positive-dot`,
624
+ fg: `${prefix}-badge-positive-fg`,
625
+ icon: `${prefix}-badge-positive-icon`
626
+ },
627
+ caution: {
628
+ bg: `${prefix}-badge-caution-bg`,
629
+ dot: `${prefix}-badge-caution-dot`,
630
+ fg: `${prefix}-badge-caution-fg`,
631
+ icon: `${prefix}-badge-caution-icon`
632
+ },
633
+ critical: {
634
+ bg: `${prefix}-badge-critical-bg`,
635
+ dot: `${prefix}-badge-critical-dot`,
636
+ fg: `${prefix}-badge-critical-fg`,
637
+ icon: `${prefix}-badge-critical-icon`
638
+ }
639
+ },
640
+ bg: `${prefix}-bg`,
641
+ border: `${prefix}-border`,
642
+ code: {
643
+ bg: `${prefix}-code-bg`,
644
+ fg: `${prefix}-code-fg`
645
+ },
646
+ fg: `${prefix}-fg`,
647
+ focusRing: `${prefix}-focus-ring`,
648
+ icon: `${prefix}-icon`,
649
+ input: {
650
+ default: {
651
+ enabled: buildColorInputStateVarNames({
652
+ mode: "default",
653
+ scheme,
654
+ state: "enabled",
655
+ tone
656
+ }),
657
+ hovered: buildColorInputStateVarNames({
658
+ mode: "default",
659
+ scheme,
660
+ state: "hovered",
661
+ tone
662
+ }),
663
+ readOnly: buildColorInputStateVarNames({
664
+ mode: "default",
665
+ scheme,
666
+ state: "readOnly",
667
+ tone
668
+ }),
669
+ disabled: buildColorInputStateVarNames({
670
+ mode: "default",
671
+ scheme,
672
+ state: "disabled",
673
+ tone
674
+ })
675
+ },
676
+ invalid: {
677
+ enabled: buildColorInputStateVarNames({
678
+ mode: "invalid",
679
+ scheme,
680
+ state: "enabled",
681
+ tone
682
+ }),
683
+ hovered: buildColorInputStateVarNames({
684
+ mode: "invalid",
685
+ scheme,
686
+ state: "hovered",
687
+ tone
688
+ }),
689
+ readOnly: buildColorInputStateVarNames({
690
+ mode: "invalid",
691
+ scheme,
692
+ state: "readOnly",
693
+ tone
694
+ }),
695
+ disabled: buildColorInputStateVarNames({
696
+ mode: "invalid",
697
+ scheme,
698
+ state: "disabled",
699
+ tone
700
+ })
701
+ }
702
+ },
703
+ kbd: {
704
+ bg: `${prefix}-kbd-bg`,
705
+ border: `${prefix}-kbd-border`,
706
+ fg: `${prefix}-kbd-fg`
707
+ },
708
+ link: {
709
+ fg: `${prefix}-link-fg`
710
+ },
711
+ muted: {
712
+ bg: `${prefix}-muted-bg`,
713
+ fg: `${prefix}-muted-fg`
714
+ },
715
+ skeleton: {
716
+ from: `${prefix}-skeleton-from`,
717
+ to: `${prefix}-skeleton-to`
718
+ },
719
+ shadow: {
720
+ outline: `${prefix}-shadow-outline`,
721
+ umbra: `${prefix}-shadow-umbra`,
722
+ penumbra: `${prefix}-shadow-penumbra`,
723
+ ambient: `${prefix}-shadow-ambient`
724
+ },
725
+ syntax: {
726
+ atrule: `${prefix}-syntax-atrule`,
727
+ attrName: `${prefix}-syntax-attrName`,
728
+ attrValue: `${prefix}-syntax-attrValue`,
729
+ attribute: `${prefix}-syntax-attribute`,
730
+ boolean: `${prefix}-syntax-boolean`,
731
+ builtin: `${prefix}-syntax-builtin`,
732
+ cdata: `${prefix}-syntax-cdata`,
733
+ char: `${prefix}-syntax-char`,
734
+ class: `${prefix}-syntax-class`,
735
+ className: `${prefix}-syntax-className`,
736
+ comment: `${prefix}-syntax-comment`,
737
+ constant: `${prefix}-syntax-constant`,
738
+ deleted: `${prefix}-syntax-deleted`,
739
+ doctype: `${prefix}-syntax-doctype`,
740
+ entity: `${prefix}-syntax-entity`,
741
+ function: `${prefix}-syntax-function`,
742
+ hexcode: `${prefix}-syntax-hexcode`,
743
+ id: `${prefix}-syntax-id`,
744
+ important: `${prefix}-syntax-important`,
745
+ inserted: `${prefix}-syntax-inserted`,
746
+ keyword: `${prefix}-syntax-keyword`,
747
+ number: `${prefix}-syntax-number`,
748
+ operator: `${prefix}-syntax-operator`,
749
+ prolog: `${prefix}-syntax-prolog`,
750
+ property: `${prefix}-syntax-property`,
751
+ pseudoClass: `${prefix}-syntax-pseudoClass`,
752
+ pseudoElement: `${prefix}-syntax-pseudoElement`,
753
+ punctuation: `${prefix}-syntax-punctuation`,
754
+ regex: `${prefix}-syntax-regex`,
755
+ selector: `${prefix}-syntax-selector`,
756
+ string: `${prefix}-syntax-string`,
757
+ symbol: `${prefix}-syntax-symbol`,
758
+ tag: `${prefix}-syntax-tag`,
759
+ unit: `${prefix}-syntax-unit`,
760
+ url: `${prefix}-syntax-url`,
761
+ variable: `${prefix}-syntax-variable`
762
+ }
763
+ };
764
+ }
765
+ function buildColorInputStateVarNames(props) {
766
+ const {
767
+ mode,
768
+ scheme,
769
+ state,
770
+ tone
771
+ } = props, prefix = `--color-${scheme}-${tone}-input-${mode}-${state}`;
772
+ return {
773
+ bg: `${prefix}-bg`,
774
+ border: `${prefix}-border`,
775
+ fg: `${prefix}-fg`,
776
+ muted: {
777
+ bg: `${prefix}-muted-bg`
778
+ },
779
+ placeholder: `${prefix}-placeholder`
780
+ };
781
+ }
782
+ const vars = {
783
+ color: {
784
+ dark: THEME_COLOR_CARD_TONES.reduce((acc, tone) => ({
785
+ ...acc,
786
+ [tone]: buildColorCardVars({
787
+ scheme: "dark",
788
+ tone
789
+ })
790
+ }), {}),
791
+ light: THEME_COLOR_CARD_TONES.reduce((acc, tone) => ({
792
+ ...acc,
793
+ [tone]: buildColorCardVars({
794
+ scheme: "light",
795
+ tone
796
+ })
797
+ }), {}),
798
+ accent: {
799
+ fg: "var(--color-accent-fg)"
800
+ },
801
+ avatar: {
802
+ ...THEME_COLOR_AVATAR_COLORS.reduce((acc, color) => ({
803
+ ...acc,
804
+ [color]: {
805
+ bg: `var(--color-avatar-${color}-bg)`,
806
+ fg: `var(--color-avatar-${color}-fg)`
807
+ }
808
+ }), {})
809
+ },
810
+ badge: {
811
+ bg: "var(--color-badge-bg)",
812
+ dot: "var(--color-badge-dot)",
813
+ fg: "var(--color-badge-fg)",
814
+ icon: "var(--color-badge-icon)",
815
+ ...THEME_COLOR_STATE_TONES.reduce((acc, tone) => ({
816
+ ...acc,
817
+ [tone]: {
818
+ bg: `var(--color-badge-${tone}-bg)`,
819
+ dot: `var(--color-badge-${tone}-dot)`,
820
+ fg: `var(--color-badge-${tone}-fg)`,
821
+ icon: `var(--color-badge-${tone}-icon)`
822
+ }
823
+ }), {})
824
+ },
825
+ bg: "var(--color-bg)",
826
+ border: "var(--color-border)",
827
+ code: {
828
+ bg: "var(--color-code-bg)",
829
+ fg: "var(--color-code-fg)"
830
+ },
831
+ fg: "var(--color-fg)",
832
+ icon: "var(--color-icon)",
833
+ input: {
834
+ ...THEME_COLOR_INPUT_MODES.reduce((acc, mode) => ({
835
+ ...acc,
836
+ [mode]: {
837
+ ...THEME_COLOR_INPUT_STATES.reduce((acc2, state) => ({
838
+ ...acc2,
839
+ [state]: {
840
+ bg: "var(--color-bg)",
841
+ border: "var(--color-border)",
842
+ fg: "var(--color-fg)",
843
+ muted: {
844
+ fg: "var(--color-muted-fg)"
845
+ },
846
+ placeholder: "var(--color-placeholder)"
847
+ }
848
+ }), {})
849
+ }
850
+ }), {})
851
+ },
852
+ kbd: {
853
+ bg: "var(--color-kbd-bg)",
854
+ border: "var(--color-kbd-border)",
855
+ fg: "var(--color-kbd-fg)"
856
+ },
857
+ link: {
858
+ fg: "var(--color-link-fg)"
859
+ },
860
+ muted: {
861
+ bg: "var(--color-muted-bg)",
862
+ fg: "var(--color-muted-fg)"
863
+ },
864
+ shadow: {
865
+ outline: "var(--color-shadow-outline)",
866
+ umbra: "var(--color-shadow-umbra)",
867
+ penumbra: "var(--color-shadow-penumbra)",
868
+ ambient: "var(--color-shadow-ambient)"
869
+ },
870
+ skeleton: {
871
+ from: "var(--color-skeleton-from)",
872
+ to: "var(--color-skeleton-to)"
873
+ },
874
+ syntax: {
875
+ atrule: "var(--color-syntax-atrule)",
876
+ attrName: "var(--color-syntax-attrName)",
877
+ attrValue: "var(--color-syntax-attrValue)",
878
+ attribute: "var(--color-syntax-attribute)",
879
+ boolean: "var(--color-syntax-boolean)",
880
+ builtin: "var(--color-syntax-builtin)",
881
+ cdata: "var(--color-syntax-cdata)",
882
+ char: "var(--color-syntax-char)",
883
+ class: "var(--color-syntax-class)",
884
+ className: "var(--color-syntax-className)",
885
+ comment: "var(--color-syntax-comment)",
886
+ constant: "var(--color-syntax-constant)",
887
+ deleted: "var(--color-syntax-deleted)",
888
+ doctype: "var(--color-syntax-doctype)",
889
+ entity: "var(--color-syntax-entity)",
890
+ function: "var(--color-syntax-function)",
891
+ hexcode: "var(--color-syntax-hexcode)",
892
+ id: "var(--color-syntax-id)",
893
+ important: "var(--color-syntax-important)",
894
+ inserted: "var(--color-syntax-inserted)",
895
+ keyword: "var(--color-syntax-keyword)",
896
+ number: "var(--color-syntax-number)",
897
+ operator: "var(--color-syntax-operator)",
898
+ prolog: "var(--color-syntax-prolog)",
899
+ property: "var(--color-syntax-property)",
900
+ pseudoClass: "var(--color-syntax-pseudoClass)",
901
+ pseudoElement: "var(--color-syntax-pseudoElement)",
902
+ punctuation: "var(--color-syntax-punctuation)",
903
+ regex: "var(--color-syntax-regex)",
904
+ selector: "var(--color-syntax-selector)",
905
+ string: "var(--color-syntax-string)",
906
+ symbol: "var(--color-syntax-symbol)",
907
+ tag: "var(--color-syntax-tag)",
908
+ unit: "var(--color-syntax-unit)",
909
+ url: "var(--color-syntax-url)",
910
+ variable: "var(--color-syntax-variable)"
911
+ }
912
+ },
913
+ font: {
914
+ code: {
915
+ family: "var(--font-code-family)",
916
+ sizes: FONT_CODE_SIZE.reduce((acc, size) => ({
917
+ ...acc,
918
+ [size]: {
919
+ fontSize: `var(--font-code-${size}-size)`,
920
+ ascenderHeight: `var(--font-code-${size}-ascender-height)`,
921
+ descenderHeight: `var(--font-code-${size}-descender-height)`,
922
+ lineHeight: `var(--font-code-${size}-line-height)`,
923
+ letterSpacing: `var(--font-code-${size}-letter-spacing)`,
924
+ iconSize: `var(--font-code-${size}-icon-size)`
925
+ }
926
+ }), {})
927
+ },
928
+ heading: {
929
+ family: "var(--font-heading-family)",
930
+ sizes: FONT_HEADING_SIZE.reduce((acc, size) => ({
931
+ ...acc,
932
+ [size]: {
933
+ fontSize: `var(--font-code-${size}-size)`,
934
+ ascenderHeight: `var(--font-code-${size}-ascender-height)`,
935
+ descenderHeight: `var(--font-code-${size}-descender-height)`,
936
+ lineHeight: `var(--font-code-${size}-line-height)`,
937
+ letterSpacing: `var(--font-code-${size}-letter-spacing)`,
938
+ iconSize: `var(--font-code-${size}-icon-size)`
939
+ }
940
+ }), {})
941
+ },
942
+ label: {
943
+ family: "var(--font-label-family)",
944
+ sizes: FONT_CODE_SIZE.reduce((acc, size) => ({
945
+ ...acc,
946
+ [size]: {
947
+ fontSize: `var(--font-code-${size}-size)`,
948
+ ascenderHeight: `var(--font-code-${size}-ascender-height)`,
949
+ descenderHeight: `var(--font-code-${size}-descender-height)`,
950
+ lineHeight: `var(--font-code-${size}-line-height)`,
951
+ letterSpacing: `var(--font-code-${size}-letter-spacing)`,
952
+ iconSize: `var(--font-code-${size}-icon-size)`
953
+ }
954
+ }), {})
955
+ },
956
+ text: {
957
+ family: "var(--font-text-family)",
958
+ sizes: FONT_TEXT_SIZE.reduce((acc, size) => ({
959
+ ...acc,
960
+ [size]: {
961
+ fontSize: `var(--font-code-${size}-size)`,
962
+ ascenderHeight: `var(--font-code-${size}-ascender-height)`,
963
+ descenderHeight: `var(--font-code-${size}-descender-height)`,
964
+ lineHeight: `var(--font-code-${size}-line-height)`,
965
+ letterSpacing: `var(--font-code-${size}-letter-spacing)`,
966
+ iconSize: `var(--font-code-${size}-icon-size)`
967
+ }
968
+ }), {})
969
+ }
970
+ },
971
+ space: Object.fromEntries(SPACE.map((space) => [space, `var(${varNames.space[space]})`]))
972
+ };
973
+ function buildColorCardVars(props) {
974
+ const {
975
+ scheme,
976
+ tone
977
+ } = props, prefix = `--color-${scheme}-${tone}`;
978
+ return {
979
+ accent: {
980
+ fg: `var(${prefix}-accent-fg)`
981
+ },
982
+ avatar: {
983
+ ...THEME_COLOR_AVATAR_COLORS.reduce((acc, color) => ({
984
+ ...acc,
985
+ [color]: {
986
+ bg: `var(${prefix}-avatar-${color}-bg)`,
987
+ fg: `var(${prefix}-avatar-${color}-fg)`
988
+ }
989
+ }), {})
990
+ },
991
+ backdrop: `var(${prefix}-backdrop)`,
992
+ badge: {
993
+ ...THEME_COLOR_STATE_TONES.reduce((acc, tone2) => ({
994
+ ...acc,
995
+ [tone2]: {
996
+ bg: `var(${prefix}-badge-${tone2}-bg)`,
997
+ dot: `var(${prefix}-badge-${tone2}-dot)`,
998
+ fg: `var(${prefix}-badge-${tone2}-fg)`,
999
+ icon: `var(${prefix}-badge-${tone2}-icon)`
1000
+ }
1001
+ }), {})
1002
+ },
1003
+ bg: `var(${prefix}-bg)`,
1004
+ border: `var(${prefix}-border)`,
1005
+ code: {
1006
+ bg: `var(${prefix}-code-bg)`,
1007
+ fg: `var(${prefix}-code-fg)`
1008
+ },
1009
+ fg: `var(${prefix}-fg)`,
1010
+ focusRing: `var(${prefix}-focus-ring)`,
1011
+ icon: `var(${prefix}-icon)`,
1012
+ input: {
1013
+ ...THEME_COLOR_INPUT_MODES.reduce((acc, mode) => ({
1014
+ ...acc,
1015
+ [mode]: {
1016
+ ...THEME_COLOR_INPUT_STATES.reduce((acc2, state) => ({
1017
+ ...acc2,
1018
+ [state]: buildColorInputStateVars({
1019
+ mode,
1020
+ scheme,
1021
+ state,
1022
+ tone
1023
+ })
1024
+ }), {})
1025
+ }
1026
+ }), {})
1027
+ },
1028
+ kbd: {
1029
+ bg: `var(${prefix}-kbd-bg)`,
1030
+ border: `var(${prefix}-kbd-border)`,
1031
+ fg: `var(${prefix}-kbd-fg)`
1032
+ },
1033
+ link: {
1034
+ fg: `var(${prefix}-link-fg)`
1035
+ },
1036
+ muted: {
1037
+ bg: `var(${prefix}-muted-bg)`,
1038
+ fg: `var(${prefix}-muted-fg)`
1039
+ },
1040
+ skeleton: {
1041
+ from: `var(${prefix}-skeleton-from)`,
1042
+ to: `var(${prefix}-skeleton-to)`
1043
+ },
1044
+ shadow: {
1045
+ outline: `var(${prefix}-shadow-outline)`,
1046
+ umbra: `var(${prefix}-shadow-umbra)`,
1047
+ penumbra: `var(${prefix}-shadow-penumbra)`,
1048
+ ambient: `var(${prefix}-shadow-ambient)`
1049
+ },
1050
+ syntax: {
1051
+ atrule: `var(${prefix}-syntax-atrule)`,
1052
+ attrName: `var(${prefix}-syntax-attrName)`,
1053
+ attrValue: `var(${prefix}-syntax-attrValue)`,
1054
+ attribute: `var(${prefix}-syntax-attribute)`,
1055
+ boolean: `var(${prefix}-syntax-boolean)`,
1056
+ builtin: `var(${prefix}-syntax-builtin)`,
1057
+ cdata: `var(${prefix}-syntax-cdata)`,
1058
+ char: `var(${prefix}-syntax-char)`,
1059
+ class: `var(${prefix}-syntax-class)`,
1060
+ className: `var(${prefix}-syntax-className)`,
1061
+ comment: `var(${prefix}-syntax-comment)`,
1062
+ constant: `var(${prefix}-syntax-constant)`,
1063
+ deleted: `var(${prefix}-syntax-deleted)`,
1064
+ doctype: `var(${prefix}-syntax-doctype)`,
1065
+ entity: `var(${prefix}-syntax-entity)`,
1066
+ function: `var(${prefix}-syntax-function)`,
1067
+ hexcode: `var(${prefix}-syntax-hexcode)`,
1068
+ id: `var(${prefix}-syntax-id)`,
1069
+ important: `var(${prefix}-syntax-important)`,
1070
+ inserted: `var(${prefix}-syntax-inserted)`,
1071
+ keyword: `var(${prefix}-syntax-keyword)`,
1072
+ number: `var(${prefix}-syntax-number)`,
1073
+ operator: `var(${prefix}-syntax-operator)`,
1074
+ prolog: `var(${prefix}-syntax-prolog)`,
1075
+ property: `var(${prefix}-syntax-property)`,
1076
+ pseudoClass: `var(${prefix}-syntax-pseudoClass)`,
1077
+ pseudoElement: `var(${prefix}-syntax-pseudoElement)`,
1078
+ punctuation: `var(${prefix}-syntax-punctuation)`,
1079
+ regex: `var(${prefix}-syntax-regex)`,
1080
+ selector: `var(${prefix}-syntax-selector)`,
1081
+ string: `var(${prefix}-syntax-string)`,
1082
+ symbol: `var(${prefix}-syntax-symbol)`,
1083
+ tag: `var(${prefix}-syntax-tag)`,
1084
+ unit: `var(${prefix}-syntax-unit)`,
1085
+ url: `var(${prefix}-syntax-url)`,
1086
+ variable: `var(${prefix}-syntax-variable)`
1087
+ }
1088
+ };
1089
+ }
1090
+ function buildColorInputStateVars(props) {
1091
+ const {
1092
+ mode,
1093
+ scheme,
1094
+ state,
1095
+ tone
1096
+ } = props, prefix = `--color-${scheme}-${tone}-input-${mode}-${state}`;
1097
+ return {
1098
+ bg: `var(${prefix}-bg)`,
1099
+ border: `var(${prefix}-border)`,
1100
+ fg: `var(${prefix}-fg)`,
1101
+ muted: {
1102
+ bg: `var(${prefix}-muted-bg)`
1103
+ },
1104
+ placeholder: `var(${prefix}-placeholder)`
1105
+ };
1106
+ }
1107
+ const badgeRules = {
1108
+ badge: {
1109
+ backgroundColor: vars.color.badge.bg,
1110
+ color: vars.color.badge.fg,
1111
+ verticalAlign: "top"
1112
+ },
1113
+ ...THEME_COLOR_STATE_TONES.reduce((acc, tone) => ({
1114
+ ...acc,
1115
+ [`badge-${tone}`]: {
1116
+ [varNames.color.badge.bg]: vars.color.badge[tone].bg,
1117
+ [varNames.color.badge.dot]: vars.color.badge[tone].dot,
1118
+ [varNames.color.badge.fg]: vars.color.badge[tone].fg,
1119
+ [varNames.color.badge.icon]: vars.color.badge[tone].icon
1120
+ }
1121
+ }), {})
1122
+ }, boxRules = {
1123
+ box: {
1124
+ minWidth: 0,
1125
+ minHeight: 0,
1126
+ "@nest": {
1127
+ // 'ul.&, ol.&': {
1128
+ '&[data-as="ul"], &[data-as="ol"]': {
1129
+ listStyle: "none"
1130
+ }
1131
+ }
1132
+ },
1133
+ // sizing
1134
+ "box-content": {
1135
+ boxSizing: "content-box"
1136
+ },
1137
+ "box-border": {
1138
+ boxSizing: "border-box"
1139
+ }
1140
+ }, buttonRules = {
1141
+ button: {
1142
+ WebkitFontSmoothing: "inherit",
1143
+ appearance: "none",
1144
+ display: "inline-flex",
1145
+ alignItems: "center",
1146
+ font: "inherit",
1147
+ outline: "none",
1148
+ userSelect: "none",
1149
+ textDecoration: "none",
1150
+ border: 0,
1151
+ boxSizing: "border-box",
1152
+ padding: 0,
1153
+ overflow: "hidden",
1154
+ margin: 0,
1155
+ textAlign: "left",
1156
+ position: "relative",
1157
+ verticalAlign: "top",
1158
+ backgroundColor: "var(--card-bg-color)",
1159
+ color: "var(--card-fg-color)"
1160
+ },
1161
+ // variants
1162
+ ...THEME_COLOR_BUTTON_MODES.reduce((acc, mode) => ({
1163
+ ...acc,
1164
+ [`button-mode-${mode}`]: {
1165
+ "@nest": THEME_COLOR_STATE_TONES.reduce((acc2, tone) => ({
1166
+ ...acc2,
1167
+ [`&.button-tone-${tone}`]: {
1168
+ "--card-bg-color": `var(--card-button-${mode}-${tone}-enabled-bg-color, rgba(127, 127, 127, 0.1))`,
1169
+ "--card-fg-color": `var(--card-button-${mode}-${tone}-enabled-fg-color, currentColor)`
1170
+ }
1171
+ }), {})
1172
+ }
1173
+ }), {}),
1174
+ "button-loading-box": {
1175
+ position: "absolute",
1176
+ top: 0,
1177
+ left: 0,
1178
+ right: 0,
1179
+ bottom: 0,
1180
+ // display: 'flex',
1181
+ // alignItems: 'center',
1182
+ // justifyContent: 'center',
1183
+ backgroundColor: "var(--card-bg-color)",
1184
+ borderRadius: "inherit",
1185
+ zIndex: 1
1186
+ // boxShadow: 'inherit',
1187
+ }
1188
+ }, cardRules = {
1189
+ card: {
1190
+ backgroundColor: "var(--card-bg-color)",
1191
+ color: "var(--card-fg-color)",
1192
+ /* deprecated variables (kept for legacy) */
1193
+ "--card-accent-fg-color": "var(--color-accent-fg)",
1194
+ ...THEME_COLOR_AVATAR_COLORS.reduce((acc, color) => ({
1195
+ ...acc,
1196
+ [`--card-avatar-${color}-bg-color`]: `var(--color-avatar-${color}-bg)`,
1197
+ [`--card-avatar-${color}-fg-color`]: `var(--color-avatar-${color}-fg)`
1198
+ }), {}),
1199
+ "--card-backdrop-color": "var(--color-backdrop)",
1200
+ ...THEME_COLOR_STATE_TONES.reduce((acc, tone) => ({
1201
+ ...acc,
1202
+ [`--card-badge-${tone}-bg-color`]: `var(--color-badge-${tone}-bg)`,
1203
+ [`--card-badge-${tone}-dot-color`]: `var(--color-badge-${tone}-dot)`,
1204
+ [`--card-badge-${tone}-fg-color`]: `var(--color-badge-${tone}-fg)`,
1205
+ [`--card-badge-${tone}-icon-color`]: `var(--color-badge-${tone}-icon)`
1206
+ }), {}),
1207
+ "--card-bg-color": "var(--color-bg)",
1208
+ "--card-border-color": "var(--color-border)",
1209
+ "--card-code-bg-color": "var(--color-code-bg)",
1210
+ "--card-code-fg-color": "var(--color-code-fg)",
1211
+ "--card-fg-color": "var(--color-fg)",
1212
+ "--card-focus-ring-color": "var(--color-focus-ring)",
1213
+ "--card-icon-color": "var(--color-icon)",
1214
+ "--card-kbd-bg-color": "var(--color-kbd-bg)",
1215
+ "--card-kbd-border-color": "var(--color-kbd-border)",
1216
+ "--card-kbd-fg-color": "var(--color-kbd-fg)",
1217
+ "--card-link-fg-color": "var(--color-link-fg)",
1218
+ "--card-muted-bg-color": "var(--color-muted-bg)",
1219
+ "--card-muted-fg-color": "var(--color-muted-fg)",
1220
+ "--card-shadow-outline-color": "var(--color-shadow-outline)",
1221
+ "--card-shadow-umbra-color": "var(--color-shadow-umbra)",
1222
+ "--card-shadow-penumbra-color": "var(--color-shadow-penumbra)",
1223
+ "--card-shadow-ambient-color": "var(--color-shadow-ambient)",
1224
+ "--card-skeleton-from-color": "var(--color-skeleton-from)",
1225
+ "--card-skeleton-to-color": "var(--color-skeleton-to)",
1226
+ "--card-bg2-color": "var(--color-muted-bg)",
1227
+ "--card-link-color": "var(--color-link-fg)",
1228
+ "--card-hairline-soft-color": "var(--color-border)",
1229
+ "--card-hairline-hard-color": "var(--color-border)",
1230
+ "@nest": {
1231
+ "&[data-checkered]": {
1232
+ "--card-bg-image": "repeating-conic-gradient(var(--color-bg) 0% 25%, var(--color-muted-bg) 0% 50%)",
1233
+ backgroundSize: "var(--space-3) var(--space-3)",
1234
+ backgroundPosition: "50% 50%",
1235
+ backgroundImage: "var(--card-bg-image)"
1236
+ },
1237
+ '&[data-as="button"]': {
1238
+ WebkitFontSmoothing: "inherit",
1239
+ appearance: "none",
1240
+ outline: "none",
1241
+ font: "inherit",
1242
+ textAlign: "inherit",
1243
+ border: 0,
1244
+ width: ["-moz-available", "-webkit-fill-available", "stretch"]
1245
+ },
1246
+ '&[data-as="a"]': {
1247
+ outline: "none",
1248
+ textDecoration: "none"
1249
+ },
1250
+ '&[data-as="pre"]': {
1251
+ font: "inherit"
1252
+ }
1253
+ }
1254
+ }
1255
+ }, checkboxRules = {
1256
+ checkbox: {
1257
+ position: "relative",
1258
+ display: "inline-block"
1259
+ },
1260
+ "checkbox-input": {
1261
+ position: "absolute",
1262
+ top: 0,
1263
+ left: 0,
1264
+ width: "100%",
1265
+ height: "100%",
1266
+ outline: "none",
1267
+ opacity: 0,
1268
+ zIndex: 1,
1269
+ padding: 0,
1270
+ margin: 0,
1271
+ "@nest": {
1272
+ "& + span": {
1273
+ position: "relative",
1274
+ display: "block",
1275
+ width: "var(--input-checkbox-size)",
1276
+ height: "var(--input-checkbox-size)",
1277
+ boxSizing: "border-box",
1278
+ borderRadius: "var(--radius-2)",
1279
+ lineHeight: 1,
1280
+ backgroundColor: "var(--color-checkbox-bg)",
1281
+ boxShadow: "inset 0 0 0 1px var(--color-checkbox-border)",
1282
+ color: "var(--color-checkbox-fg)",
1283
+ "--color-checkbox-bg": "var(--color-input-default-enabled-bg)",
1284
+ "--color-checkbox-border": "var(--color-input-default-enabled-border)",
1285
+ "--color-checkbox-fg": "var(--color-input-default-enabled-fg)"
1286
+ // box-shadow: ${focusRingBorderStyle({
1287
+ // color: color.input.default.enabled.border,
1288
+ // width: input.border.width,
1289
+ // })},
1290
+ },
1291
+ "& + span > svg": {
1292
+ display: "block",
1293
+ position: "absolute",
1294
+ opacity: 0,
1295
+ height: "100%",
1296
+ width: "100%"
1297
+ },
1298
+ "& + span > svg > path": {
1299
+ vectorEffect: "non-scaling-stroke",
1300
+ strokeWidth: "1.5px !important"
1301
+ },
1302
+ "&:checked + span": {
1303
+ "--color-checkbox-bg": "var(--color-input-default-enabled-fg)",
1304
+ "--color-checkbox-border": "var(--color-input-default-enabled-fg)",
1305
+ "--color-checkbox-fg": "var(--color-input-default-enabled-bg)"
1306
+ // box-shadow: ${focusRingBorderStyle({
1307
+ // color: color.input.default.enabled.fg,
1308
+ // width: input.border.width,
1309
+ // })},
1310
+ },
1311
+ "&:checked + span > svg:first-child": {
1312
+ opacity: 1
1313
+ },
1314
+ // focus
1315
+ "&:not(:disabled):focus:focus-visible + span": {
1316
+ // box-shadow: ${focusRingStyle({focusRing})},
1317
+ },
1318
+ // focus when checked - uses a different offset
1319
+ "&:not(:disabled):focus:focus-visible&:checked + span": {
1320
+ // box-shadow: ${focusRingStyle({focusRing: {width: 1, offset: 1}})},
1321
+ },
1322
+ "&[data-error] + span": {
1323
+ "--color-checkbox-bg": "var(--color-input-invalid-enabled-border)",
1324
+ "--color-checkbox-border": "var(--color-input-invalid-enabled-bg)",
1325
+ "--color-checkbox-fg": "var(--color-input-invalid-enabled-fg)"
1326
+ // box-shadow: ${focusRingBorderStyle({
1327
+ // width: input.border.width,
1328
+ // color: color.input.invalid.enabled.muted.bg,
1329
+ // })},
1330
+ },
1331
+ "&[data-error]:checked + span": {
1332
+ "--color-checkbox-bg": "var(--color-input-invalid-enabled-muted-bg)",
1333
+ "--color-checkbox-fg": "var(--color-input-invalid-enabled-bg)"
1334
+ },
1335
+ "&[data-error]:checked:not(:disabled):focus:focus-visible + span": {
1336
+ "--color-checkbox-border": "var(--color-input-invalid-readOnly-muted-bg)"
1337
+ // box-shadow: ${focusRingStyle({
1338
+ // border: {width: input.border.width, color: color.input.invalid.readOnly.muted.bg},
1339
+ // focusRing: {width: 1, offset: 1},
1340
+ // })},
1341
+ },
1342
+ "&:disabled + span": {
1343
+ "--color-checkbox-bg": "var(--color-input-default-disabled-bg)",
1344
+ "--color-checkbox-border": "var(--color-input-default-disabled-border)",
1345
+ "--color-checkbox-fg": "var(--color-input-default-disabled-fg)"
1346
+ // box-shadow: ${focusRingBorderStyle({
1347
+ // width: input.border.width,
1348
+ // color: color.input.default.disabled.border,
1349
+ // })},
1350
+ },
1351
+ "&:disabled:checked + span": {
1352
+ "--color-checkbox-bg": "var(--color-input-default-disabled-muted-bg)"
1353
+ },
1354
+ "&[data-read-only] + span": {
1355
+ "--color-checkbox-bg": "var(--color-input-default-readOnly-bg)",
1356
+ "--color-checkbox-border": "var(--color-input-default-readOnly-border)",
1357
+ "--color-checkbox-fg": "var(--color-input-default-readOnly-fg)"
1358
+ // box-shadow: ${focusRingBorderStyle({
1359
+ // width: input.border.width,
1360
+ // color: color.input.default.readOnly.border,
1361
+ // })},
1362
+ },
1363
+ "&[data-read-only]:checked + span": {
1364
+ "--color-checkbox-bg": "var(--color-input-default-readOnly-muted-bg)"
1365
+ },
1366
+ "&:indeterminate + span > svg:last-child": {
1367
+ opacity: 1
1368
+ }
1369
+ }
1370
+ }
1371
+ }, codeRules = {
1372
+ code: {
1373
+ "--font-weight-regular": "var(--font-code-weight-regular)",
1374
+ "--font-weight-medium": "var(--font-code-weight-medium)",
1375
+ "--font-weight-semibold": "var(--font-code-weight-semibold)",
1376
+ "--font-weight-bold": "var(--font-code-weight-bold)",
1377
+ "--font-family": "var(--font-code-family)",
1378
+ color: "var(--color-fg)",
1379
+ "@nest": {
1380
+ "& > code": {
1381
+ font: "inherit"
1382
+ },
1383
+ "& a": {
1384
+ color: "var(--color-link-fg)",
1385
+ textDecoration: "none"
1386
+ }
1387
+ }
1388
+ },
1389
+ ...responsiveRules("code-0", {
1390
+ "--font-size": "var(--font-code-0-size)",
1391
+ "--font-line-height": "var(--font-code-0-line-height)",
1392
+ "--font-letter-spacing": "var(--font-code-0-letter-spacing)",
1393
+ "--font-icon-size": "var(--font-code-0-icon-size)",
1394
+ "--font-ascender-height": "var(--font-code-0-ascender-height)",
1395
+ "--font-descender-height": "var(--font-code-0-descender-height)"
1396
+ }),
1397
+ ...responsiveRules("code-1", {
1398
+ "--font-size": "var(--font-code-1-size)",
1399
+ "--font-line-height": "var(--font-code-1-line-height)",
1400
+ "--font-letter-spacing": "var(--font-code-1-letter-spacing)",
1401
+ "--font-icon-size": "var(--font-code-1-icon-size)",
1402
+ "--font-ascender-height": "var(--font-code-1-ascender-height)",
1403
+ "--font-descender-height": "var(--font-code-1-descender-height)"
1404
+ }),
1405
+ ...responsiveRules("code-2", {
1406
+ "--font-size": "var(--font-code-2-size)",
1407
+ "--font-line-height": "var(--font-code-2-line-height)",
1408
+ "--font-letter-spacing": "var(--font-code-2-letter-spacing)",
1409
+ "--font-icon-size": "var(--font-code-2-icon-size)",
1410
+ "--font-ascender-height": "var(--font-code-2-ascender-height)",
1411
+ "--font-descender-height": "var(--font-code-2-descender-height)"
1412
+ }),
1413
+ ...responsiveRules("code-3", {
1414
+ "--font-size": "var(--font-code-3-size)",
1415
+ "--font-line-height": "var(--font-code-3-line-height)",
1416
+ "--font-letter-spacing": "var(--font-code-3-letter-spacing)",
1417
+ "--font-icon-size": "var(--font-code-3-icon-size)",
1418
+ "--font-ascender-height": "var(--font-code-3-ascender-height)",
1419
+ "--font-descender-height": "var(--font-code-3-descender-height)"
1420
+ }),
1421
+ ...responsiveRules("code-4", {
1422
+ "--font-size": "var(--font-code-4-size)",
1423
+ "--font-line-height": "var(--font-code-4-line-height)",
1424
+ "--font-letter-spacing": "var(--font-code-4-letter-spacing)",
1425
+ "--font-icon-size": "var(--font-code-4-icon-size)",
1426
+ "--font-ascender-height": "var(--font-code-4-ascender-height)",
1427
+ "--font-descender-height": "var(--font-code-4-descender-height)"
1428
+ })
1429
+ }, containerRules = {
1430
+ container: {
1431
+ margin: "0 auto",
1432
+ width: "100%"
1433
+ }
1434
+ }, headingRules = {
1435
+ heading: {
1436
+ "--font-weight-regular": "var(--font-heading-weight-regular)",
1437
+ "--font-weight-medium": "var(--font-heading-weight-medium)",
1438
+ "--font-weight-semibold": "var(--font-heading-weight-semibold)",
1439
+ "--font-weight-bold": "var(--font-heading-weight-bold)",
1440
+ "--font-family": "var(--font-heading-family)",
1441
+ color: "var(--color-fg)",
1442
+ "@nest": {
1443
+ "& a": {
1444
+ color: "var(--color-link-fg)",
1445
+ textDecoration: "none"
1446
+ }
1447
+ }
1448
+ },
1449
+ "heading-accent": {
1450
+ "--fg-color": "var(--color-accent-fg)"
1451
+ },
1452
+ "heading-muted": {
1453
+ "--fg-color": "var(--color-muted-fg)"
1454
+ },
1455
+ ...responsiveRules("heading-0", {
1456
+ "--font-size": "var(--font-heading-0-size)",
1457
+ "--font-line-height": "var(--font-heading-0-line-height)",
1458
+ "--font-letter-spacing": "var(--font-heading-0-letter-spacing)",
1459
+ "--font-icon-size": "var(--font-heading-0-icon-size)",
1460
+ "--font-ascender-height": "var(--font-heading-0-ascender-height)",
1461
+ "--font-descender-height": "var(--font-heading-0-descender-height)"
1462
+ }),
1463
+ ...responsiveRules("heading-1", {
1464
+ "--font-size": "var(--font-heading-1-size)",
1465
+ "--font-line-height": "var(--font-heading-1-line-height)",
1466
+ "--font-letter-spacing": "var(--font-heading-1-letter-spacing)",
1467
+ "--font-icon-size": "var(--font-heading-1-icon-size)",
1468
+ "--font-ascender-height": "var(--font-heading-1-ascender-height)",
1469
+ "--font-descender-height": "var(--font-heading-1-descender-height)"
1470
+ }),
1471
+ ...responsiveRules("heading-2", {
1472
+ "--font-size": "var(--font-heading-2-size)",
1473
+ "--font-line-height": "var(--font-heading-2-line-height)",
1474
+ "--font-letter-spacing": "var(--font-heading-2-letter-spacing)",
1475
+ "--font-icon-size": "var(--font-heading-2-icon-size)",
1476
+ "--font-ascender-height": "var(--font-heading-2-ascender-height)",
1477
+ "--font-descender-height": "var(--font-heading-2-descender-height)"
1478
+ }),
1479
+ ...responsiveRules("heading-3", {
1480
+ "--font-size": "var(--font-heading-3-size)",
1481
+ "--font-line-height": "var(--font-heading-3-line-height)",
1482
+ "--font-letter-spacing": "var(--font-heading-3-letter-spacing)",
1483
+ "--font-icon-size": "var(--font-heading-3-icon-size)",
1484
+ "--font-ascender-height": "var(--font-label-3-ascender-height)",
1485
+ "--font-descender-height": "var(--font-label-3-descender-height)"
1486
+ }),
1487
+ ...responsiveRules("heading-4", {
1488
+ "--font-size": "var(--font-heading-4-size)",
1489
+ "--font-line-height": "var(--font-heading-4-line-height)",
1490
+ "--font-letter-spacing": "var(--font-heading-4-letter-spacing)",
1491
+ "--font-icon-size": "var(--font-heading-4-icon-size)",
1492
+ "--font-ascender-height": "var(--font-heading-4-ascender-height)",
1493
+ "--font-descender-height": "var(--font-heading-4-descender-height)"
1494
+ }),
1495
+ ...responsiveRules("heading-5", {
1496
+ "--font-size": "var(--font-heading-5-size)",
1497
+ "--font-line-height": "var(--font-heading-5-line-height)",
1498
+ "--font-letter-spacing": "var(--font-heading-5-letter-spacing)",
1499
+ "--font-icon-size": "var(--font-heading-5-icon-size)",
1500
+ "--font-ascender-height": "var(--font-heading-5-ascender-height)",
1501
+ "--font-descender-height": "var(--font-heading-5-descender-height)"
1502
+ })
1503
+ }, kbdRules = {
1504
+ kbd: {
1505
+ "--card-bg-color": "var(--card-kbd-bg-color)",
1506
+ "--card-border-color": "var(--card-kbd-border-color)",
1507
+ "--card-fg-color": "var(--card-kbd-fg-color)",
1508
+ boxShadow: "inset 0 0 0 1px var(--card-border-color)",
1509
+ background: "var(--card-bg-color)",
1510
+ font: "inherit",
1511
+ verticalAlign: "top",
1512
+ "@nest": {
1513
+ "&:not([hidden])": {
1514
+ display: "inline-block"
1515
+ }
1516
+ }
1517
+ }
1518
+ }, labelRules = {
1519
+ label: {
1520
+ "--font-weight-regular": "var(--font-label-weight-regular)",
1521
+ "--font-weight-medium": "var(--font-label-weight-medium)",
1522
+ "--font-weight-semibold": "var(--font-label-weight-semibold)",
1523
+ "--font-weight-bold": "var(--font-label-weight-bold)",
1524
+ "--font-family": "var(--font-label-family)",
1525
+ color: "var(--color-fg)",
1526
+ textTransform: "uppercase",
1527
+ "@nest": {
1528
+ "& a": {
1529
+ color: "var(--color-link-fg)",
1530
+ textDecoration: "none"
1531
+ }
1532
+ }
1533
+ },
1534
+ "label-accent": {
1535
+ "--fg-color": "var(--color-accent-fg)"
1536
+ },
1537
+ "label-muted": {
1538
+ "--fg-color": "var(--color-muted-fg)"
1539
+ },
1540
+ ...responsiveRules("label-0", {
1541
+ "--font-size": "var(--font-label-0-size)",
1542
+ "--font-line-height": "var(--font-label-0-line-height)",
1543
+ "--font-letter-spacing": "var(--font-label-0-letter-spacing)",
1544
+ "--font-icon-size": "var(--font-label-0-icon-size)",
1545
+ "--font-ascender-height": "var(--font-label-0-ascender-height)",
1546
+ "--font-descender-height": "var(--font-label-0-descender-height)"
1547
+ }),
1548
+ ...responsiveRules("label-1", {
1549
+ "--font-size": "var(--font-label-1-size)",
1550
+ "--font-line-height": "var(--font-label-1-line-height)",
1551
+ "--font-letter-spacing": "var(--font-label-1-letter-spacing)",
1552
+ "--font-icon-size": "var(--font-label-1-icon-size)",
1553
+ "--font-ascender-height": "var(--font-label-1-ascender-height)",
1554
+ "--font-descender-height": "var(--font-label-1-descender-height)"
1555
+ }),
1556
+ ...responsiveRules("label-2", {
1557
+ "--font-size": "var(--font-label-2-size)",
1558
+ "--font-line-height": "var(--font-label-2-line-height)",
1559
+ "--font-letter-spacing": "var(--font-label-2-letter-spacing)",
1560
+ "--font-icon-size": "var(--font-label-2-icon-size)",
1561
+ "--font-ascender-height": "var(--font-label-2-ascender-height)",
1562
+ "--font-descender-height": "var(--font-label-2-descender-height)"
1563
+ }),
1564
+ ...responsiveRules("label-3", {
1565
+ "--font-size": "var(--font-label-3-size)",
1566
+ "--font-line-height": "var(--font-label-3-line-height)",
1567
+ "--font-letter-spacing": "var(--font-label-3-letter-spacing)",
1568
+ "--font-icon-size": "var(--font-label-3-icon-size)",
1569
+ "--font-ascender-height": "var(--font-label-3-ascender-height)",
1570
+ "--font-descender-height": "var(--font-label-3-descender-height)"
1571
+ }),
1572
+ ...responsiveRules("label-4", {
1573
+ "--font-size": "var(--font-label-4-size)",
1574
+ "--font-line-height": "var(--font-label-4-line-height)",
1575
+ "--font-letter-spacing": "var(--font-label-4-letter-spacing)",
1576
+ "--font-icon-size": "var(--font-label-4-icon-size)",
1577
+ "--font-ascender-height": "var(--font-label-4-ascender-height)",
1578
+ "--font-descender-height": "var(--font-label-4-descender-height)"
1579
+ }),
1580
+ ...responsiveRules("label-5", {
1581
+ "--font-size": "var(--font-label-5-size)",
1582
+ "--font-line-height": "var(--font-label-5-line-height)",
1583
+ "--font-letter-spacing": "var(--font-label-5-letter-spacing)",
1584
+ "--font-icon-size": "var(--font-label-5-icon-size)",
1585
+ "--font-ascender-height": "var(--font-label-5-ascender-height)",
1586
+ "--font-descender-height": "var(--font-label-5-descender-height)"
1587
+ })
1588
+ }, popoverRules = {
1589
+ //
1590
+ }, radioRules = {
1591
+ //
1592
+ }, selectRules = {
1593
+ //
1594
+ }, selectableRules = {
1595
+ selectable: {
1596
+ backgroundColor: "inherit",
1597
+ color: "inherit",
1598
+ "@nest": {
1599
+ '&[data-as="button"]': {
1600
+ WebkitFontSmoothing: "inherit",
1601
+ appearance: "none",
1602
+ outline: "none",
1603
+ font: "inherit",
1604
+ textAlign: "inherit",
1605
+ border: 0,
1606
+ // width: '-moz-available',
1607
+ // width: '-webkit-fill-available',
1608
+ width: "stretch"
1609
+ },
1610
+ /* &:is(a) */
1611
+ '&[data-as="a"]': {
1612
+ textDecoration: "none"
1613
+ }
1614
+ }
1615
+ }
1616
+ }, spinnerRules = {
1617
+ spinner: {},
1618
+ "animated-spinner-icon": {
1619
+ animation: "spinner-rotate 500ms linear infinite",
1620
+ "@keyframes": {
1621
+ "spinner-rotate": {
1622
+ from: {
1623
+ transform: "rotate(0deg)"
1624
+ },
1625
+ to: {
1626
+ transform: "rotate(360deg)"
1627
+ }
1628
+ }
1629
+ }
1630
+ }
1631
+ }, switchRules = {
1632
+ switch: {},
1633
+ "switch-input": {
1634
+ position: "absolute",
1635
+ top: 0,
1636
+ right: 0,
1637
+ bottom: 0,
1638
+ left: 0,
1639
+ opacity: 0,
1640
+ height: "100%",
1641
+ width: "100%",
1642
+ outline: "none",
1643
+ padding: 0,
1644
+ margin: 0,
1645
+ /* Place the input element above the representation element */
1646
+ zIndex: 1
1647
+ },
1648
+ "switch-presentation": {
1649
+ // --switch-bg-color: ${color.input.default.enabled.border};
1650
+ // --switch-fg-color: ${color.input.default.enabled.bg};
1651
+ // --switch-box-shadow: none;
1652
+ // &:not([hidden]) {
1653
+ // display: block;
1654
+ // }
1655
+ // position: relative;
1656
+ // width: ${rem(input.switch.width)};
1657
+ // height: ${rem(input.switch.height)};
1658
+ // border-radius: ${rem(input.switch.height / 2)};
1659
+ // /* Make sure it’s not possible to interact with the wrapper element */
1660
+ // pointer-events: none;
1661
+ // &:after {
1662
+ // content: '';
1663
+ // display: block;
1664
+ // position: absolute;
1665
+ // top: 0;
1666
+ // left: 0;
1667
+ // right: 0;
1668
+ // bottom: 0;
1669
+ // z-index: 1;
1670
+ // box-shadow: var(--switch-box-shadow);
1671
+ // border-radius: inherit;
1672
+ // }
1673
+ // /* Focus styles */
1674
+ // input:focus + && {
1675
+ // --switch-box-shadow: ${focusRingStyle({focusRing: input.switch.focusRing})};
1676
+ // }
1677
+ // input:focus:not(:focus-visible) + && {
1678
+ // --switch-box-shadow: none;
1679
+ // }
1680
+ // input:checked + && {
1681
+ // --switch-bg-color: ${color.input.default.enabled.fg};
1682
+ // --switch-fg-color: ${color.input.default.enabled.bg};
1683
+ // }
1684
+ // @media (hover: hover) {
1685
+ // input:not(:disabled):hover + && {
1686
+ // --switch-bg-color: ${color.input.default.hovered.border};
1687
+ // --switch-fg-color: ${color.input.default.hovered.bg};
1688
+ // }
1689
+ // input:not(:disabled):checked:hover + && {
1690
+ // --switch-bg-color: ${color.input.default.enabled.fg};
1691
+ // --switch-fg-color: ${color.input.default.enabled.bg};
1692
+ // }
1693
+ // }
1694
+ // input:not([data-read-only]):disabled + && {
1695
+ // --switch-bg-color: ${color.input.default.disabled.border};
1696
+ // --switch-fg-color: ${color.input.default.disabled.bg};
1697
+ // }
1698
+ // input[data-read-only]:disabled + && {
1699
+ // --switch-bg-color: ${color.input.default.readOnly.border};
1700
+ // --switch-fg-color: ${color.input.default.readOnly.bg};
1701
+ // }
1702
+ // input:checked[data-read-only]:disabled + && {
1703
+ // --switch-bg-color: ${color.input.default.readOnly.fg};
1704
+ // --switch-fg-color: ${color.input.default.readOnly.bg};
1705
+ // }
1706
+ },
1707
+ "switch-track": {
1708
+ // &:not([hidden]) {
1709
+ // display: block;
1710
+ // }
1711
+ // background-color: var(--switch-bg-color);
1712
+ // position: absolute;
1713
+ // left: 0;
1714
+ // top: 0;
1715
+ // width: ${rem(input.switch.width)};
1716
+ // height: ${rem(input.switch.height)};
1717
+ // border-radius: ${rem(input.switch.height / 2)};
1718
+ },
1719
+ "switch-thumb": {
1720
+ // const {$indeterminate} = props
1721
+ // const {input} = getTheme_v2(props.theme)
1722
+ // const trackWidth = input.switch.width
1723
+ // const trackHeight = input.switch.height
1724
+ // const trackPadding = input.switch.padding
1725
+ // const size = trackHeight - input.switch.padding * 2
1726
+ // const checkedOffset = trackWidth - trackPadding * 2 - size
1727
+ // const indeterminateOffset = trackWidth / 2 - size / 2 - trackPadding
1728
+ // const checked = $indeterminate !== true && props.$checked === true
1729
+ // return css`
1730
+ // &:not([hidden]) {
1731
+ // display: block;
1732
+ // }
1733
+ // position: absolute;
1734
+ // left: ${rem(trackPadding)};
1735
+ // top: ${rem(trackPadding)};
1736
+ // height: ${rem(size)};
1737
+ // width: ${rem(size)};
1738
+ // border-radius: ${rem(size / 2)};
1739
+ // transition-property: transform;
1740
+ // transition-duration: ${input.switch.transitionDurationMs}ms;
1741
+ // transition-timing-function: ${input.switch.transitionTimingFunction};
1742
+ // background: var(--switch-fg-color);
1743
+ // transform: translate3d(0, 0, 0);
1744
+ // box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.05);
1745
+ // ${checked &&
1746
+ // css`
1747
+ // transform: translate3d(${checkedOffset}px, 0, 0);
1748
+ // `}
1749
+ // ${$indeterminate &&
1750
+ // css`
1751
+ // transform: translate3d(${indeterminateOffset}px, 0, 0);
1752
+ // `}
1753
+ // `
1754
+ }
1755
+ }, textRules = {
1756
+ text: {
1757
+ "--font-weight-regular": "var(--font-text-weight-regular)",
1758
+ "--font-weight-medium": "var(--font-text-weight-medium)",
1759
+ "--font-weight-semibold": "var(--font-text-weight-semibold)",
1760
+ "--font-weight-bold": "var(--font-text-weight-bold)",
1761
+ "--font-family": "var(--font-text-family)",
1762
+ color: "var(--color-fg)",
1763
+ "@nest": {
1764
+ "& a": {
1765
+ color: "var(--color-link-fg)",
1766
+ textDecoration: "none"
1767
+ }
1768
+ }
1769
+ },
1770
+ "text-accent": {
1771
+ "--fg-color": "var(--color-accent-fg)"
1772
+ },
1773
+ "text-muted": {
1774
+ "--fg-color": "var(--color-muted-fg)"
1775
+ },
1776
+ ...responsiveRules("text-0", {
1777
+ "--font-size": "var(--font-text-0-size)",
1778
+ "--font-line-height": "var(--font-text-0-line-height)",
1779
+ "--font-letter-spacing": "var(--font-text-0-letter-spacing)",
1780
+ "--font-icon-size": "var(--font-text-0-icon-size)",
1781
+ "--font-ascender-height": "var(--font-text-0-ascender-height)",
1782
+ "--font-descender-height": "var(--font-text-0-descender-height)"
1783
+ }),
1784
+ ...responsiveRules("text-1", {
1785
+ "--font-size": "var(--font-text-1-size)",
1786
+ "--font-line-height": "var(--font-text-1-line-height)",
1787
+ "--font-letter-spacing": "var(--font-text-1-letter-spacing)",
1788
+ "--font-icon-size": "var(--font-text-1-icon-size)",
1789
+ "--font-ascender-height": "var(--font-text-1-ascender-height)",
1790
+ "--font-descender-height": "var(--font-text-1-descender-height)"
1791
+ }),
1792
+ ...responsiveRules("text-2", {
1793
+ "--font-size": "var(--font-text-2-size)",
1794
+ "--font-line-height": "var(--font-text-2-line-height)",
1795
+ "--font-letter-spacing": "var(--font-text-2-letter-spacing)",
1796
+ "--font-icon-size": "var(--font-text-2-icon-size)",
1797
+ "--font-ascender-height": "var(--font-text-2-ascender-height)",
1798
+ "--font-descender-height": "var(--font-text-2-descender-height)"
1799
+ }),
1800
+ ...responsiveRules("text-3", {
1801
+ "--font-size": "var(--font-text-3-size)",
1802
+ "--font-line-height": "var(--font-text-3-line-height)",
1803
+ "--font-letter-spacing": "var(--font-text-3-letter-spacing)",
1804
+ "--font-icon-size": "var(--font-text-3-icon-size)",
1805
+ "--font-ascender-height": "var(--font-text-3-ascender-height)",
1806
+ "--font-descender-height": "var(--font-text-3-descender-height)"
1807
+ }),
1808
+ ...responsiveRules("text-4", {
1809
+ "--font-size": "var(--font-text-4-size)",
1810
+ "--font-line-height": "var(--font-text-4-line-height)",
1811
+ "--font-letter-spacing": "var(--font-text-4-letter-spacing)",
1812
+ "--font-icon-size": "var(--font-text-4-icon-size)",
1813
+ "--font-ascender-height": "var(--font-text-4-ascender-height)",
1814
+ "--font-descender-height": "var(--font-text-4-descender-height)"
1815
+ })
1816
+ }, textAreaRules = {
1817
+ //
1818
+ }, textInputRules = {
1819
+ "text-input": {
1820
+ "--font-family": vars.font.text.family
1821
+ },
1822
+ ...SPACE.reduce((acc, space) => ({
1823
+ ...acc,
1824
+ ...responsiveRules(`text-input-p-${space}`.replace(".", "_"), {
1825
+ "--padding-top": `calc(${vars.space[space]} - var(--font-ascender-height))`,
1826
+ "--padding-right": vars.space[space],
1827
+ "--padding-bottom": `calc(${vars.space[space]} - var(--font-descender-height))`,
1828
+ "--padding-left": vars.space[space]
1829
+ })
1830
+ }), {}),
1831
+ ...FONT_TEXT_SIZE.reduce((acc, size) => ({
1832
+ ...acc,
1833
+ ...responsiveRules(`text-input-${size}`, {
1834
+ "--font-size": vars.font.text.sizes[size].fontSize,
1835
+ "--font-line-height": vars.font.text.sizes[size].lineHeight,
1836
+ "--font-letter-spacing": vars.font.text.sizes[size].letterSpacing,
1837
+ "--font-ascender-height": vars.font.text.sizes[size].ascenderHeight,
1838
+ "--font-descender-height": vars.font.text.sizes[size].descenderHeight
1839
+ })
1840
+ }), {}),
1841
+ "text-input-element": {
1842
+ appearance: "none",
1843
+ background: "none",
1844
+ border: 0,
1845
+ borderRadius: 0,
1846
+ outline: "none",
1847
+ width: "100%",
1848
+ boxSizing: "border-box",
1849
+ fontFamily: "var(--font-family)",
1850
+ fontSize: "var(--font-size)",
1851
+ fontWeight: "var(--font-weight)",
1852
+ lineHeight: "var(--font-line-height)",
1853
+ letterSpacing: "var(--font-letter-spacing)",
1854
+ margin: 0,
1855
+ position: "relative",
1856
+ zIndex: 1,
1857
+ display: "block",
1858
+ color: "var(--input-fg-color)",
1859
+ paddingTop: "var(--padding-top)",
1860
+ paddingRight: "var(--padding-right)",
1861
+ paddingBottom: "var(--padding-bottom)",
1862
+ paddingLeft: "var(--padding-left)",
1863
+ "--input-fg-color": "var(--color-input-default-enabled-fg)",
1864
+ "@nest": {
1865
+ // NOTE: This is a hack to disable Chrome’s autofill styles
1866
+ "&:-webkit-autofill, &:-webkit-autofill:hover, &:-webkit-autofill:focus, &:-webkit-autofill:active": {
1867
+ WebkitTextFillColor: "var(--input-fg-color) !important",
1868
+ transition: "background-color 5000s",
1869
+ transitionDelay: "86400s"
1870
+ // 24h
1871
+ },
1872
+ /* &:is(textarea) */
1873
+ // '&[data-as="textarea"]': {
1874
+ // resize: 'none',
1875
+ // },
1876
+ "&::placeholder": {
1877
+ color: "var(--input-placeholder-color)"
1878
+ }
1879
+ // &[data-scheme='${$scheme}'][data-tone='${$tone}'] {
1880
+ // /* --input-fg-color: ${color.input.default.enabled.fg}; */
1881
+ // /* --input-placeholder-color: ${color.input.default.enabled.placeholder}; */
1882
+ // /* enabled */
1883
+ // &:not(:invalid):not(:disabled):not(:read-only) {
1884
+ // /* --input-fg-color: ${color.input.default.enabled.fg}; */
1885
+ // /* --input-placeholder-color: ${color.input.default.enabled.placeholder}; */
1886
+ // }
1887
+ // /* disabled */
1888
+ // &:not(:invalid):disabled {
1889
+ // /* --input-fg-color: ${color.input.default.disabled.fg}; */
1890
+ // /* --input-placeholder-color: ${color.input.default.disabled.placeholder}; */
1891
+ // }
1892
+ // /* invalid */
1893
+ // &:invalid {
1894
+ // /* --input-fg-color: ${color.input.invalid.enabled.fg}; */
1895
+ // /* --input-placeholder-color: ${color.input.invalid.enabled.placeholder}; */
1896
+ // }
1897
+ // /* readOnly */
1898
+ // &:read-only {
1899
+ // /* --input-fg-color: ${color.input.default.readOnly.fg}; */
1900
+ // /* --input-placeholder-color: ${color.input.default.readOnly.placeholder}; */
1901
+ // }
1902
+ // }
1903
+ }
1904
+ },
1905
+ "text-input-prefix": {
1906
+ borderTopRightRadius: 0,
1907
+ borderBottomRightRadius: 0,
1908
+ "@nest": {
1909
+ "& > span": {
1910
+ display: "block",
1911
+ margin: "-1px"
1912
+ }
1913
+ }
1914
+ },
1915
+ "text-input-suffix": {
1916
+ borderTopLeftRadius: 0,
1917
+ borderBottomLeftRadius: 0,
1918
+ "@nest": {
1919
+ "& > span": {
1920
+ display: "block",
1921
+ margin: "-1px"
1922
+ }
1923
+ }
1924
+ },
1925
+ "text-input-presentation": {
1926
+ "--input-box-shadow": "inset 0 0 0 1px var(--input-border-color)",
1927
+ position: "absolute",
1928
+ top: 0,
1929
+ left: 0,
1930
+ right: 0,
1931
+ bottom: 0,
1932
+ display: "block",
1933
+ pointerEvents: "none",
1934
+ zIndex: 0,
1935
+ backgroundColor: "var(--input-bg-color)",
1936
+ boxShadow: "var(--input-box-shadow)",
1937
+ "--input-border-color": "var(--color-input-default-enabled-border)"
1938
+ // border-top-left-radius: ${$hasPrefix ? 0 : undefined};
1939
+ // border-bottom-left-radius: ${$hasPrefix ? 0 : undefined};
1940
+ // border-top-right-radius: ${$hasSuffix ? 0 : undefined};
1941
+ // border-bottom-right-radius: ${$hasSuffix ? 0 : undefined};
1942
+ // &[data-scheme='${$scheme}'][data-tone='${$tone}'] {
1943
+ // --card-bg-color: ${color.input.default.enabled.bg};
1944
+ // --card-fg-color: ${color.input.default.enabled.fg};
1945
+ // /* enabled */
1946
+ // *:not(:disabled) + &[data-border] {
1947
+ // --input-box-shadow: ${focusRingBorderStyle({
1948
+ // color: color.input.default.enabled.border,
1949
+ // width: input.border.width,
1950
+ // })};
1951
+ // }
1952
+ // /* invalid */
1953
+ // *:not(:disabled):invalid + & {
1954
+ // --card-bg-color: ${color.input.invalid.enabled.bg};
1955
+ // --card-fg-color: ${color.input.invalid.enabled.fg};
1956
+ // &[data-border] {
1957
+ // --input-box-shadow: ${focusRingBorderStyle({
1958
+ // color: color.input.invalid.enabled.border,
1959
+ // width: input.border.width,
1960
+ // })};
1961
+ // }
1962
+ // }
1963
+ // /* focused */
1964
+ // *:not(:disabled):focus + & {
1965
+ // &[data-border] {
1966
+ // --input-box-shadow: ${$unstableDisableFocusRing
1967
+ // ? undefined
1968
+ // : focusRingStyle({
1969
+ // border: {color: color.input.default.enabled.border, width: input.border.width},
1970
+ // focusRing: input.text.focusRing,
1971
+ // })};
1972
+ // }
1973
+ // &:not([data-border]) {
1974
+ // --input-box-shadow: ${$unstableDisableFocusRing
1975
+ // ? undefined
1976
+ // : focusRingStyle({focusRing: input.text.focusRing})};
1977
+ // }
1978
+ // }
1979
+ // /* disabled */
1980
+ // *:not(:invalid):disabled + & {
1981
+ // --card-bg-color: ${color.input.default.disabled.bg} !important;
1982
+ // --card-fg-color: ${color.input.default.disabled.fg} !important;
1983
+ // --card-icon-color: ${color.input.default.disabled.fg} !important;
1984
+ // &[data-border] {
1985
+ // --input-box-shadow: ${focusRingBorderStyle({
1986
+ // color: color.input.default.disabled.border,
1987
+ // width: input.border.width,
1988
+ // })};
1989
+ // }
1990
+ // }
1991
+ // *:invalid:disabled + & {
1992
+ // --card-bg-color: ${color.input.invalid.disabled.bg} !important;
1993
+ // --card-fg-color: ${color.input.invalid.disabled.fg} !important;
1994
+ // --card-icon-color: ${color.input.invalid.disabled.fg} !important;
1995
+ // &[data-border] {
1996
+ // --input-box-shadow: ${focusRingBorderStyle({
1997
+ // color: color.input.invalid.disabled.border,
1998
+ // width: input.border.width,
1999
+ // })};
2000
+ // }
2001
+ // }
2002
+ // /* readOnly */
2003
+ // *:not(:invalid):read-only + & {
2004
+ // --card-bg-color: ${color.input.default.readOnly.bg} !important;
2005
+ // --card-fg-color: ${color.input.default.readOnly.fg} !important;
2006
+ // }
2007
+ // *:invalid:read-only + & {
2008
+ // --card-bg-color: ${color.input.invalid.readOnly.bg} !important;
2009
+ // --card-fg-color: ${color.input.invalid.readOnly.fg} !important;
2010
+ // }
2011
+ // /* hovered */
2012
+ // @media (hover: hover) {
2013
+ // *:not(:disabled):not(:read-only):not(:invalid):hover + & {
2014
+ // --card-bg-color: ${color.input.default.hovered.bg};
2015
+ // --card-fg-color: ${color.input.default.hovered.fg};
2016
+ // }
2017
+ // *:invalid:not(:disabled):not(:read-only):hover + & {
2018
+ // --card-bg-color: ${color.input.invalid.hovered.bg};
2019
+ // --card-fg-color: ${color.input.invalid.hovered.fg};
2020
+ // }
2021
+ // *:not(:disabled):not(:read-only):not(:invalid):not(:focus):hover + &[data-border] {
2022
+ // --input-box-shadow: ${focusRingBorderStyle({
2023
+ // color: color.input.default.hovered.border,
2024
+ // width: input.border.width,
2025
+ // })};
2026
+ // }
2027
+ // *:invalid:not(:disabled):not(:read-only):not(:focus):hover + &[data-border] {
2028
+ // --input-box-shadow: ${focusRingBorderStyle({
2029
+ // color: color.input.invalid.hovered.border,
2030
+ // width: input.border.width,
2031
+ // })};
2032
+ // }
2033
+ // }
2034
+ // }
2035
+ }
2036
+ }, tokenRules = {
2037
+ token: {
2038
+ "@nest": {
2039
+ "&.atrule": {
2040
+ color: vars.color.syntax.atrule
2041
+ },
2042
+ "&.attr-name": {
2043
+ color: vars.color.syntax.attrName
2044
+ },
2045
+ "&.attr-value": {
2046
+ color: vars.color.syntax.attrValue
2047
+ },
2048
+ "&.attribute": {
2049
+ color: vars.color.syntax.attribute
2050
+ },
2051
+ "&.boolean": {
2052
+ color: vars.color.syntax.boolean
2053
+ },
2054
+ "&.builtin": {
2055
+ color: vars.color.syntax.builtin
2056
+ },
2057
+ "&.cdata": {
2058
+ color: vars.color.syntax.cdata
2059
+ },
2060
+ "&.char": {
2061
+ color: vars.color.syntax.char
2062
+ },
2063
+ "&.class": {
2064
+ color: vars.color.syntax.class
2065
+ },
2066
+ "&.class-name": {
2067
+ color: vars.color.syntax.className
2068
+ },
2069
+ "&.comment": {
2070
+ color: vars.color.syntax.comment
2071
+ },
2072
+ "&.constant": {
2073
+ color: vars.color.syntax.constant
2074
+ },
2075
+ "&.deleted": {
2076
+ color: vars.color.syntax.deleted
2077
+ },
2078
+ "&.doctype": {
2079
+ color: vars.color.syntax.doctype
2080
+ },
2081
+ "&.entity": {
2082
+ color: vars.color.syntax.entity
2083
+ },
2084
+ "&.function": {
2085
+ color: vars.color.syntax.function
2086
+ },
2087
+ "&.hexcode": {
2088
+ color: vars.color.syntax.hexcode
2089
+ },
2090
+ "&.id": {
2091
+ color: vars.color.syntax.id
2092
+ },
2093
+ "&.important": {
2094
+ color: vars.color.syntax.important
2095
+ },
2096
+ "&.inserted": {
2097
+ color: vars.color.syntax.inserted
2098
+ },
2099
+ "&.keyword": {
2100
+ color: vars.color.syntax.keyword
2101
+ },
2102
+ "&.number": {
2103
+ color: vars.color.syntax.number
2104
+ },
2105
+ "&.operator": {
2106
+ color: vars.color.syntax.operator
2107
+ },
2108
+ "&.prolog": {
2109
+ color: vars.color.syntax.prolog
2110
+ },
2111
+ "&.property": {
2112
+ color: vars.color.syntax.property
2113
+ },
2114
+ "&.pseudo-class": {
2115
+ color: vars.color.syntax.pseudoClass
2116
+ },
2117
+ "&.pseudo-element": {
2118
+ color: vars.color.syntax.pseudoElement
2119
+ },
2120
+ "&.punctuation": {
2121
+ color: vars.color.syntax.punctuation
2122
+ },
2123
+ "&.regex": {
2124
+ color: vars.color.syntax.regex
2125
+ },
2126
+ "&.selector": {
2127
+ color: vars.color.syntax.selector
2128
+ },
2129
+ "&.string": {
2130
+ color: vars.color.syntax.string
2131
+ },
2132
+ "&.symbol": {
2133
+ color: vars.color.syntax.symbol
2134
+ },
2135
+ "&.tag": {
2136
+ color: vars.color.syntax.tag
2137
+ },
2138
+ "&.unit": {
2139
+ color: vars.color.syntax.unit
2140
+ },
2141
+ "&.url": {
2142
+ color: vars.color.syntax.url
2143
+ },
2144
+ "&.variable": {
2145
+ color: vars.color.syntax.variable
2146
+ }
2147
+ }
2148
+ }
2149
+ }, tooltipRules = {
2150
+ tooltip: {
2151
+ pointerEvents: "none"
2152
+ },
2153
+ "tooltip-card": {
2154
+ "@nest": {
2155
+ "&[data-animate] > *": {
2156
+ // opacity: var(${POPOVER_MOTION_CONTENT_OPACITY_PROPERTY}, 1);
2157
+ opacity: "var(--motion-content-opacity, 1)",
2158
+ willChange: "opacity"
2159
+ }
2160
+ }
2161
+ }
2162
+ }, borderRules = {
2163
+ ...responsiveRules("border", {
2164
+ border: "1px solid var(--card-border-color)"
2165
+ }),
2166
+ ...responsiveRules("border-t", {
2167
+ borderTop: "1px solid var(--card-border-color)"
2168
+ }),
2169
+ ...responsiveRules("border-r", {
2170
+ borderRight: "1px solid var(--card-border-color)"
2171
+ }),
2172
+ ...responsiveRules("border-b", {
2173
+ borderBottom: "1px solid var(--card-border-color)"
2174
+ }),
2175
+ ...responsiveRules("border-l", {
2176
+ borderLeft: "1px solid var(--card-border-color)"
2177
+ })
2178
+ }, displayRules = {
2179
+ ...responsiveRules("block", {
2180
+ "@nest": {
2181
+ "&:not([hidden])": {
2182
+ display: "block"
2183
+ }
2184
+ }
2185
+ }),
2186
+ ...responsiveRules("inline-block", {
2187
+ "@nest": {
2188
+ "&:not([hidden])": {
2189
+ display: "inline-block"
2190
+ }
2191
+ }
2192
+ }),
2193
+ ...responsiveRules("flex", {
2194
+ "@nest": {
2195
+ "&:not([hidden])": {
2196
+ display: "flex"
2197
+ }
2198
+ }
2199
+ }),
2200
+ ...responsiveRules("inline-flex", {
2201
+ "@nest": {
2202
+ "&:not([hidden])": {
2203
+ display: "inline-flex"
2204
+ }
2205
+ }
2206
+ }),
2207
+ ...responsiveRules("grid", {
2208
+ gridTemplateRows: "auto",
2209
+ "@nest": {
2210
+ "&:not([hidden])": {
2211
+ display: "grid"
2212
+ }
2213
+ }
2214
+ }),
2215
+ ...responsiveRules("grid-flex", {
2216
+ gridTemplateRows: "auto",
2217
+ "@nest": {
2218
+ "&:not([hidden])": {
2219
+ display: "grid-flex"
2220
+ }
2221
+ }
2222
+ }),
2223
+ ...responsiveRules("none", {
2224
+ "@nest": {
2225
+ "&:not([hidden])": {
2226
+ display: "none"
2227
+ }
2228
+ }
2229
+ })
2230
+ }, flexRules = {
2231
+ // direction
2232
+ ...responsiveRules("row", {
2233
+ flexDirection: "row"
2234
+ }),
2235
+ ...responsiveRules("column", {
2236
+ flexDirection: "column"
2237
+ }),
2238
+ // align
2239
+ ...responsiveRules("align-flex-start", {
2240
+ alignItems: "flex-start"
2241
+ }),
2242
+ ...responsiveRules("align-flex-end", {
2243
+ alignItems: "end"
2244
+ }),
2245
+ ...responsiveRules("align-center", {
2246
+ alignItems: "center"
2247
+ }),
2248
+ ...responsiveRules("align-stretch", {
2249
+ alignItems: "stretch"
2250
+ }),
2251
+ ...responsiveRules("align-baseline", {
2252
+ alignItems: "baseline"
2253
+ }),
2254
+ // justify
2255
+ ...responsiveRules("justify-flex-start", {
2256
+ justifyContent: "flex-start"
2257
+ }),
2258
+ ...responsiveRules("justify-flex-end", {
2259
+ justifyContent: "flex-end"
2260
+ }),
2261
+ ...responsiveRules("justify-center", {
2262
+ justifyContent: "center"
2263
+ }),
2264
+ ...responsiveRules("justify-between", {
2265
+ justifyContent: "space-between"
2266
+ }),
2267
+ ...responsiveRules("justify-around", {
2268
+ justifyContent: "space-around"
2269
+ }),
2270
+ ...responsiveRules("justify-evenly", {
2271
+ justifyContent: "space-evenly"
2272
+ }),
2273
+ // wrap
2274
+ ...responsiveRules("wrap-nowrap", {
2275
+ flexWrap: "nowrap"
2276
+ }),
2277
+ ...responsiveRules("wrap-wrap", {
2278
+ flexWrap: "wrap"
2279
+ }),
2280
+ ...responsiveRules("wrap-reverse", {
2281
+ flexWrap: "wrap-reverse"
2282
+ })
2283
+ }, flexItemRules = {
2284
+ ...responsiveRules("flex-none", {
2285
+ flex: "none"
2286
+ }),
2287
+ ...responsiveRules("flex-1", {
2288
+ flex: 1
2289
+ }),
2290
+ ...responsiveRules("flex-2", {
2291
+ flex: 2
2292
+ }),
2293
+ ...responsiveRules("flex-3", {
2294
+ flex: 3
2295
+ }),
2296
+ ...responsiveRules("flex-4", {
2297
+ flex: 4
2298
+ }),
2299
+ ...responsiveRules("flex-5", {
2300
+ flex: 5
2301
+ })
2302
+ }, fontRules = {
2303
+ font: {
2304
+ position: "relative",
2305
+ fontFamily: "var(--font-family)",
2306
+ fontSize: "var(--font-size)",
2307
+ lineHeight: "var(--font-line-height)",
2308
+ letterSpacing: "var(--font-letter-spacing)",
2309
+ fontWeight: "var(--font-weight)",
2310
+ transform: "translateY(var(--font-descender-height))",
2311
+ padding: "1px 0",
2312
+ margin: "0",
2313
+ "--font-cap-height": "calc(var(--font-line-height) - var(--font-ascender-height) - var(--font-descender-height))",
2314
+ "--font-icon-offset": "calc((var(--font-cap-height) - var(--font-icon-size)) / 2)",
2315
+ "--font-weight": "var(--font-weight-regular)",
2316
+ "@nest": {
2317
+ "&:before": {
2318
+ content: '""',
2319
+ display: "block",
2320
+ height: 0,
2321
+ marginTop: "calc((0px - var(--font-ascender-height) - var(--font-descender-height)) - 1px)"
2322
+ },
2323
+ "&:after": {
2324
+ content: '""',
2325
+ display: "block",
2326
+ height: 0,
2327
+ marginBottom: "-1px"
2328
+ },
2329
+ "& svg": {
2330
+ // Certain popular CSS libraries changes the defaults for SVG display
2331
+ // Make sure SVGs are rendered as inline elements
2332
+ display: "inline"
2333
+ },
2334
+ // todo
2335
+ // '& svg:not([data-sanity-icon])': {
2336
+ // fontSize: 'calc(var(--custom-icon-size) / 16 * 1rem)',
2337
+ // margin: 'var(--custom-icon-offset)',
2338
+ // },
2339
+ "& [data-sanity-icon]": {
2340
+ fontSize: "var(--font-icon-size)",
2341
+ margin: "var(--font-icon-offset)",
2342
+ vectorEffect: "non-scaling-stroke"
2343
+ }
2344
+ }
2345
+ },
2346
+ "font-regular": {
2347
+ "--font-weight": "var(--font-weight-regular)"
2348
+ },
2349
+ "font-medium": {
2350
+ "--font-weight": "var(--font-weight-medium)"
2351
+ },
2352
+ "font-semibold": {
2353
+ "--font-weight": "var(--font-weight-semibold)"
2354
+ },
2355
+ "font-bold": {
2356
+ "--font-weight": "var(--font-weight-bold)"
2357
+ },
2358
+ // align
2359
+ ...responsiveRules("text-align-initial", {
2360
+ textAlign: "initial"
2361
+ }),
2362
+ ...responsiveRules("text-align-left", {
2363
+ textAlign: "left"
2364
+ }),
2365
+ ...responsiveRules("text-align-center", {
2366
+ textAlign: "center"
2367
+ }),
2368
+ ...responsiveRules("text-align-right", {
2369
+ textAlign: "right"
2370
+ }),
2371
+ ...responsiveRules("text-align-justify", {
2372
+ textAlign: "justify"
2373
+ })
2374
+ }, gapRules = {
2375
+ ...SPACE.reduce((acc, space) => ({
2376
+ ...acc,
2377
+ ...responsiveRules(`g-${space}`.replace(".", "_"), {
2378
+ gap: vars.space[space]
2379
+ })
2380
+ }), {}),
2381
+ ...SPACE.reduce((acc, space) => ({
2382
+ ...acc,
2383
+ ...responsiveRules(`gx-${space}`.replace(".", "_"), {
2384
+ columnGap: vars.space[space]
2385
+ })
2386
+ }), {}),
2387
+ ...SPACE.reduce((acc, space) => ({
2388
+ ...acc,
2389
+ ...responsiveRules(`gy-${space}`.replace(".", "_"), {
2390
+ rowGap: vars.space[space]
2391
+ })
2392
+ }), {})
2393
+ }, gridRules = {
2394
+ // autoCols
2395
+ ...responsiveRules("auto-cols-auto", {
2396
+ gridAutoColumns: "auto"
2397
+ }),
2398
+ ...responsiveRules("auto-cols-min", {
2399
+ gridAutoColumns: "min"
2400
+ }),
2401
+ ...responsiveRules("auto-cols-max", {
2402
+ gridAutoColumns: "max"
2403
+ }),
2404
+ ...responsiveRules("auto-cols-fr", {
2405
+ gridAutoColumns: "fr"
2406
+ }),
2407
+ // autoFlow
2408
+ ...responsiveRules("auto-flow-row", {
2409
+ gridAutoFlow: "row"
2410
+ }),
2411
+ ...responsiveRules("auto-flow-column", {
2412
+ gridAutoFlow: "column"
2413
+ }),
2414
+ ...responsiveRules("auto-flow-row-dense", {
2415
+ gridAutoFlow: "row dense"
2416
+ }),
2417
+ ...responsiveRules("auto-flow-column-dense", {
2418
+ gridAutoFlow: "column dense"
2419
+ }),
2420
+ // autoRows
2421
+ ...responsiveRules("auto-rows-auto", {
2422
+ gridAutoRows: "auto"
2423
+ }),
2424
+ ...responsiveRules("auto-rows-min", {
2425
+ gridAutoRows: "min-content"
2426
+ }),
2427
+ ...responsiveRules("auto-rows-max", {
2428
+ gridAutoRows: "max-content"
2429
+ }),
2430
+ ...responsiveRules("auto-rows-fr", {
2431
+ gridAutoRows: "minmax(0, 1fr)"
2432
+ }),
2433
+ // columns
2434
+ ...responsiveRules("columns-1", {
2435
+ gridTemplateColumns: "repeat(1, 1fr)"
2436
+ }),
2437
+ ...responsiveRules("columns-2", {
2438
+ gridTemplateColumns: "repeat(2, 1fr)"
2439
+ }),
2440
+ ...responsiveRules("columns-3", {
2441
+ gridTemplateColumns: "repeat(3, 1fr)"
2442
+ }),
2443
+ ...responsiveRules("columns-4", {
2444
+ gridTemplateColumns: "repeat(4, 1fr)"
2445
+ }),
2446
+ ...responsiveRules("columns-5", {
2447
+ gridTemplateColumns: "repeat(5, 1fr)"
2448
+ }),
2449
+ ...responsiveRules("columns-6", {
2450
+ gridTemplateColumns: "repeat(6, 1fr)"
2451
+ }),
2452
+ ...responsiveRules("columns-7", {
2453
+ gridTemplateColumns: "repeat(7, 1fr)"
2454
+ }),
2455
+ ...responsiveRules("columns-8", {
2456
+ gridTemplateColumns: "repeat(8, 1fr)"
2457
+ }),
2458
+ ...responsiveRules("columns-9", {
2459
+ gridTemplateColumns: "repeat(9, 1fr)"
2460
+ }),
2461
+ ...responsiveRules("columns-10", {
2462
+ gridTemplateColumns: "repeat(10, 1fr)"
2463
+ }),
2464
+ ...responsiveRules("columns-12", {
2465
+ gridTemplateColumns: "repeat(12, 1fr)"
2466
+ }),
2467
+ // rows
2468
+ ...responsiveRules("rows-1", {
2469
+ gridTemplateRows: "repeat(1, 1fr)"
2470
+ }),
2471
+ ...responsiveRules("rows-2", {
2472
+ gridTemplateRows: "repeat(2, 1fr)"
2473
+ }),
2474
+ ...responsiveRules("rows-3", {
2475
+ gridTemplateRows: "repeat(3, 1fr)"
2476
+ }),
2477
+ ...responsiveRules("rows-4", {
2478
+ gridTemplateRows: "repeat(4, 1fr)"
2479
+ }),
2480
+ ...responsiveRules("rows-5", {
2481
+ gridTemplateRows: "repeat(5, 1fr)"
2482
+ }),
2483
+ ...responsiveRules("rows-6", {
2484
+ gridTemplateRows: "repeat(6, 1fr)"
2485
+ }),
2486
+ ...responsiveRules("rows-7", {
2487
+ gridTemplateRows: "repeat(7, 1fr)"
2488
+ }),
2489
+ ...responsiveRules("rows-8", {
2490
+ gridTemplateRows: "repeat(8, 1fr)"
2491
+ }),
2492
+ ...responsiveRules("rows-9", {
2493
+ gridTemplateRows: "repeat(9, 1fr)"
2494
+ }),
2495
+ ...responsiveRules("rows-10", {
2496
+ gridTemplateRows: "repeat(10, 1fr)"
2497
+ }),
2498
+ ...responsiveRules("rows-12", {
2499
+ gridTemplateRows: "repeat(12, 1fr)"
2500
+ })
2501
+ }, gridItemRules = {
2502
+ // column
2503
+ ...responsiveRules("col-auto", {
2504
+ gridColumn: "span 1 / span 1"
2505
+ }),
2506
+ ...responsiveRules("col-full", {
2507
+ gridColumn: "1 / -1"
2508
+ }),
2509
+ ...responsiveRules("col-1", {
2510
+ gridColumn: "span 1 / span 1"
2511
+ }),
2512
+ ...responsiveRules("col-2", {
2513
+ gridColumn: "span 2 / span 2"
2514
+ }),
2515
+ ...responsiveRules("col-3", {
2516
+ gridColumn: "span 3 / span 3"
2517
+ }),
2518
+ ...responsiveRules("col-4", {
2519
+ gridColumn: "span 4 / span 4"
2520
+ }),
2521
+ ...responsiveRules("col-5", {
2522
+ gridColumn: "span 5 / span 5"
2523
+ }),
2524
+ ...responsiveRules("col-6", {
2525
+ gridColumn: "span 6 / span 6"
2526
+ }),
2527
+ ...responsiveRules("col-7", {
2528
+ gridColumn: "span 7 / span 7"
2529
+ }),
2530
+ ...responsiveRules("col-8", {
2531
+ gridColumn: "span 8 / span 8"
2532
+ }),
2533
+ ...responsiveRules("col-9", {
2534
+ gridColumn: "span 9 / span 9"
2535
+ }),
2536
+ ...responsiveRules("col-10", {
2537
+ gridColumn: "span 10 / span 10"
2538
+ }),
2539
+ ...responsiveRules("col-11", {
2540
+ gridColumn: "span 11 / span 11"
2541
+ }),
2542
+ ...responsiveRules("col-12", {
2543
+ gridColumn: "span 12 / span 12"
2544
+ }),
2545
+ // columnStart
2546
+ ...responsiveRules("col-start-auto", {
2547
+ gridColumnStart: "auto"
2548
+ }),
2549
+ ...responsiveRules("col-start-1", {
2550
+ gridColumnStart: "1"
2551
+ }),
2552
+ ...responsiveRules("col-start-2", {
2553
+ gridColumnStart: "2"
2554
+ }),
2555
+ ...responsiveRules("col-start-3", {
2556
+ gridColumnStart: "3"
2557
+ }),
2558
+ ...responsiveRules("col-start-4", {
2559
+ gridColumnStart: "4"
2560
+ }),
2561
+ ...responsiveRules("col-start-5", {
2562
+ gridColumnStart: "5"
2563
+ }),
2564
+ ...responsiveRules("col-start-6", {
2565
+ gridColumnStart: "6"
2566
+ }),
2567
+ ...responsiveRules("col-start-7", {
2568
+ gridColumnStart: "7"
2569
+ }),
2570
+ ...responsiveRules("col-start-8", {
2571
+ gridColumnStart: "8"
2572
+ }),
2573
+ ...responsiveRules("col-start-9", {
2574
+ gridColumnStart: "9"
2575
+ }),
2576
+ ...responsiveRules("col-start-10", {
2577
+ gridColumnStart: "10"
2578
+ }),
2579
+ ...responsiveRules("col-start-11", {
2580
+ gridColumnStart: "11"
2581
+ }),
2582
+ ...responsiveRules("col-start-12", {
2583
+ gridColumnStart: "12"
2584
+ }),
2585
+ // columnEnd
2586
+ ...responsiveRules("col-end-auto", {
2587
+ gridColumnEnd: "auto"
2588
+ }),
2589
+ ...responsiveRules("col-end-1", {
2590
+ gridColumnEnd: "1"
2591
+ }),
2592
+ ...responsiveRules("col-end-2", {
2593
+ gridColumnEnd: "2"
2594
+ }),
2595
+ ...responsiveRules("col-end-3", {
2596
+ gridColumnEnd: "3"
2597
+ }),
2598
+ ...responsiveRules("col-end-4", {
2599
+ gridColumnEnd: "4"
2600
+ }),
2601
+ ...responsiveRules("col-end-5", {
2602
+ gridColumnEnd: "5"
2603
+ }),
2604
+ ...responsiveRules("col-end-6", {
2605
+ gridColumnEnd: "6"
2606
+ }),
2607
+ ...responsiveRules("col-end-7", {
2608
+ gridColumnEnd: "7"
2609
+ }),
2610
+ ...responsiveRules("col-end-8", {
2611
+ gridColumnEnd: "8"
2612
+ }),
2613
+ ...responsiveRules("col-end-9", {
2614
+ gridColumnEnd: "9"
2615
+ }),
2616
+ ...responsiveRules("col-end-10", {
2617
+ gridColumnEnd: "10"
2618
+ }),
2619
+ ...responsiveRules("col-end-11", {
2620
+ gridColumnEnd: "11"
2621
+ }),
2622
+ ...responsiveRules("col-end-12", {
2623
+ gridColumnEnd: "12"
2624
+ }),
2625
+ // row
2626
+ ...responsiveRules("row-auto", {
2627
+ gridRow: "span 1 / span 1"
2628
+ }),
2629
+ ...responsiveRules("row-full", {
2630
+ gridRow: "1 / -1"
2631
+ }),
2632
+ ...responsiveRules("row-1", {
2633
+ gridRow: "span 1 / span 1"
2634
+ }),
2635
+ ...responsiveRules("row-2", {
2636
+ gridRow: "span 2 / span 2"
2637
+ }),
2638
+ ...responsiveRules("row-3", {
2639
+ gridRow: "span 3 / span 3"
2640
+ }),
2641
+ ...responsiveRules("row-4", {
2642
+ gridRow: "span 4 / span 4"
2643
+ }),
2644
+ ...responsiveRules("row-5", {
2645
+ gridRow: "span 5 / span 5"
2646
+ }),
2647
+ ...responsiveRules("row-6", {
2648
+ gridRow: "span 6 / span 6"
2649
+ }),
2650
+ ...responsiveRules("row-7", {
2651
+ gridRow: "span 7 / span 7"
2652
+ }),
2653
+ ...responsiveRules("row-8", {
2654
+ gridRow: "span 8 / span 8"
2655
+ }),
2656
+ ...responsiveRules("row-9", {
2657
+ gridRow: "span 9 / span 9"
2658
+ }),
2659
+ ...responsiveRules("row-10", {
2660
+ gridRow: "span 10 / span 10"
2661
+ }),
2662
+ ...responsiveRules("row-11", {
2663
+ gridRow: "span 11 / span 11"
2664
+ }),
2665
+ ...responsiveRules("row-12", {
2666
+ gridRow: "span 12 / span 12"
2667
+ }),
2668
+ // rowStart
2669
+ ...responsiveRules("row-start-auto", {
2670
+ gridRowStart: "auto"
2671
+ }),
2672
+ ...responsiveRules("row-start-1", {
2673
+ gridRowStart: "1"
2674
+ }),
2675
+ ...responsiveRules("row-start-2", {
2676
+ gridRowStart: "2"
2677
+ }),
2678
+ ...responsiveRules("row-start-3", {
2679
+ gridRowStart: "3"
2680
+ }),
2681
+ ...responsiveRules("row-start-4", {
2682
+ gridRowStart: "4"
2683
+ }),
2684
+ ...responsiveRules("row-start-5", {
2685
+ gridRowStart: "5"
2686
+ }),
2687
+ ...responsiveRules("row-start-6", {
2688
+ gridRowStart: "6"
2689
+ }),
2690
+ ...responsiveRules("row-start-7", {
2691
+ gridRowStart: "7"
2692
+ }),
2693
+ ...responsiveRules("row-start-8", {
2694
+ gridRowStart: "8"
2695
+ }),
2696
+ ...responsiveRules("row-start-9", {
2697
+ gridRowStart: "9"
2698
+ }),
2699
+ ...responsiveRules("row-start-10", {
2700
+ gridRowStart: "10"
2701
+ }),
2702
+ ...responsiveRules("row-start-11", {
2703
+ gridRowStart: "11"
2704
+ }),
2705
+ ...responsiveRules("row-start-12", {
2706
+ gridRowStart: "12"
2707
+ }),
2708
+ // rowEnd
2709
+ ...responsiveRules("row-end-auto", {
2710
+ gridRowEnd: "auto"
2711
+ }),
2712
+ ...responsiveRules("row-end-1", {
2713
+ gridRowEnd: "1"
2714
+ }),
2715
+ ...responsiveRules("row-end-2", {
2716
+ gridRowEnd: "2"
2717
+ }),
2718
+ ...responsiveRules("row-end-3", {
2719
+ gridRowEnd: "3"
2720
+ }),
2721
+ ...responsiveRules("row-end-4", {
2722
+ gridRowEnd: "4"
2723
+ }),
2724
+ ...responsiveRules("row-end-5", {
2725
+ gridRowEnd: "5"
2726
+ }),
2727
+ ...responsiveRules("row-end-6", {
2728
+ gridRowEnd: "6"
2729
+ }),
2730
+ ...responsiveRules("row-end-7", {
2731
+ gridRowEnd: "7"
2732
+ }),
2733
+ ...responsiveRules("row-end-8", {
2734
+ gridRowEnd: "8"
2735
+ }),
2736
+ ...responsiveRules("row-end-9", {
2737
+ gridRowEnd: "9"
2738
+ }),
2739
+ ...responsiveRules("row-end-10", {
2740
+ gridRowEnd: "10"
2741
+ }),
2742
+ ...responsiveRules("row-end-11", {
2743
+ gridRowEnd: "11"
2744
+ }),
2745
+ ...responsiveRules("row-end-12", {
2746
+ gridRowEnd: "12"
2747
+ })
2748
+ }, heightRules = {
2749
+ ...responsiveRules("h-fill", {
2750
+ height: "100%"
2751
+ }),
2752
+ ...responsiveRules("h-stretch", {
2753
+ height: "stretch"
2754
+ })
2755
+ }, marginRules = {
2756
+ // NOTE: order matters
2757
+ ...SPACE.reduce((acc, space) => ({
2758
+ ...acc,
2759
+ ...responsiveRules(`m-${space}`.replace(".", "_"), {
2760
+ margin: vars.space[space]
2761
+ })
2762
+ }), {}),
2763
+ ...SPACE.reduce((acc, space) => ({
2764
+ ...acc,
2765
+ ...responsiveRules(`mx-${space}`.replace(".", "_"), {
2766
+ marginLeft: vars.space[space],
2767
+ marginRight: vars.space[space]
2768
+ })
2769
+ }), {}),
2770
+ ...SPACE.reduce((acc, space) => ({
2771
+ ...acc,
2772
+ ...responsiveRules(`my-${space}`.replace(".", "_"), {
2773
+ marginTop: vars.space[space],
2774
+ marginBottom: vars.space[space]
2775
+ })
2776
+ }), {}),
2777
+ ...SPACE.reduce((acc, space) => ({
2778
+ ...acc,
2779
+ ...responsiveRules(`mt-${space}`.replace(".", "_"), {
2780
+ marginTop: vars.space[space]
2781
+ })
2782
+ }), {}),
2783
+ ...SPACE.reduce((acc, space) => ({
2784
+ ...acc,
2785
+ ...responsiveRules(`mr-${space}`.replace(".", "_"), {
2786
+ marginRight: vars.space[space]
2787
+ })
2788
+ }), {}),
2789
+ ...SPACE.reduce((acc, space) => ({
2790
+ ...acc,
2791
+ ...responsiveRules(`mb-${space}`.replace(".", "_"), {
2792
+ marginBottom: vars.space[space]
2793
+ })
2794
+ }), {}),
2795
+ ...SPACE.reduce((acc, space) => ({
2796
+ ...acc,
2797
+ ...responsiveRules(`ml-${space}`.replace(".", "_"), {
2798
+ marginLeft: vars.space[space]
2799
+ })
2800
+ }), {})
2801
+ }, maxWidthRules = {
2802
+ ...responsiveRules("max-w-0", {
2803
+ maxWidth: "var(--container-0)"
2804
+ }),
2805
+ ...responsiveRules("max-w-1", {
2806
+ maxWidth: "var(--container-1)"
2807
+ }),
2808
+ ...responsiveRules("max-w-2", {
2809
+ maxWidth: "var(--container-2)"
2810
+ }),
2811
+ ...responsiveRules("max-w-3", {
2812
+ maxWidth: "var(--container-3)"
2813
+ }),
2814
+ ...responsiveRules("max-w-4", {
2815
+ maxWidth: "var(--container-4)"
2816
+ }),
2817
+ ...responsiveRules("max-w-5", {
2818
+ maxWidth: "var(--container-5)"
2819
+ }),
2820
+ ...responsiveRules("max-w-auto", {
2821
+ maxWidth: "none"
2822
+ }),
2823
+ ...responsiveRules("max-w-fill", {
2824
+ maxWidth: "100%"
2825
+ })
2826
+ }, outlineRules = {
2827
+ "outline-none": {
2828
+ outline: "none"
2829
+ }
2830
+ }, overflowRules = {
2831
+ ...responsiveRules("overflow-visible", {
2832
+ overflow: "visible"
2833
+ }),
2834
+ ...responsiveRules("overflow-hidden", {
2835
+ overflow: "hidden"
2836
+ }),
2837
+ ...responsiveRules("overflow-scroll", {
2838
+ overflow: "scroll"
2839
+ }),
2840
+ ...responsiveRules("overflow-auto", {
2841
+ overflow: "auto"
2842
+ })
2843
+ }, paddingRules = {
2844
+ ...SPACE.reduce((acc, space) => ({
2845
+ ...acc,
2846
+ ...responsiveRules(`p-${space}`.replace(".", "_"), {
2847
+ padding: vars.space[space]
2848
+ })
2849
+ }), {}),
2850
+ ...SPACE.reduce((acc, space) => ({
2851
+ ...acc,
2852
+ ...responsiveRules(`px-${space}`.replace(".", "_"), {
2853
+ paddingLeft: vars.space[space],
2854
+ paddingRight: vars.space[space]
2855
+ })
2856
+ }), {}),
2857
+ ...SPACE.reduce((acc, space) => ({
2858
+ ...acc,
2859
+ ...responsiveRules(`py-${space}`.replace(".", "_"), {
2860
+ paddingTop: vars.space[space],
2861
+ paddingBottom: vars.space[space]
2862
+ })
2863
+ }), {}),
2864
+ ...SPACE.reduce((acc, space) => ({
2865
+ ...acc,
2866
+ ...responsiveRules(`pt-${space}`.replace(".", "_"), {
2867
+ paddingTop: vars.space[space]
2868
+ })
2869
+ }), {}),
2870
+ ...SPACE.reduce((acc, space) => ({
2871
+ ...acc,
2872
+ ...responsiveRules(`pr-${space}`.replace(".", "_"), {
2873
+ paddingRight: vars.space[space]
2874
+ })
2875
+ }), {}),
2876
+ ...SPACE.reduce((acc, space) => ({
2877
+ ...acc,
2878
+ ...responsiveRules(`pb-${space}`.replace(".", "_"), {
2879
+ paddingBottom: vars.space[space]
2880
+ })
2881
+ }), {}),
2882
+ ...SPACE.reduce((acc, space) => ({
2883
+ ...acc,
2884
+ ...responsiveRules(`pl-${space}`.replace(".", "_"), {
2885
+ paddingLeft: vars.space[space]
2886
+ })
2887
+ }), {})
2888
+ }, pointerEventsRules = {
2889
+ "pointer-events-none": {
2890
+ pointerEvents: "none"
2891
+ },
2892
+ "pointer-events-auto": {
2893
+ pointerEvents: "auto"
2894
+ }
2895
+ }, positionRules = {
2896
+ ...responsiveRules("pos-absolute", {
2897
+ position: "absolute"
2898
+ }),
2899
+ ...responsiveRules("pos-fixed", {
2900
+ position: "fixed"
2901
+ }),
2902
+ ...responsiveRules("pos-relative", {
2903
+ position: "relative"
2904
+ }),
2905
+ ...responsiveRules("pos-static", {
2906
+ position: "static"
2907
+ }),
2908
+ ...responsiveRules("pos-sticky", {
2909
+ position: "sticky"
2910
+ }),
2911
+ ...responsiveRules("inset-0", {
2912
+ top: 0,
2913
+ left: 0,
2914
+ right: 0,
2915
+ bottom: 0
2916
+ })
2917
+ }, radiusRules = {
2918
+ ...responsiveRules("r-0", {
2919
+ borderRadius: "var(--radius-0)"
2920
+ }),
2921
+ ...responsiveRules("r-1", {
2922
+ borderRadius: "var(--radius-1)"
2923
+ }),
2924
+ ...responsiveRules("r-2", {
2925
+ borderRadius: "var(--radius-2)"
2926
+ }),
2927
+ ...responsiveRules("r-3", {
2928
+ borderRadius: "var(--radius-3)"
2929
+ }),
2930
+ ...responsiveRules("r-4", {
2931
+ borderRadius: "var(--radius-4)"
2932
+ }),
2933
+ ...responsiveRules("r-5", {
2934
+ borderRadius: "var(--radius-5)"
2935
+ }),
2936
+ ...responsiveRules("r-6", {
2937
+ borderRadius: "var(--radius-6)"
2938
+ }),
2939
+ ...responsiveRules("r-round", {
2940
+ borderRadius: "9999px"
2941
+ })
2942
+ }, shadowRules = {
2943
+ ...responsiveRules("shadow-0", {
2944
+ boxShadow: "none"
2945
+ }),
2946
+ ...responsiveRules("shadow-1", {
2947
+ boxShadow: ["var(--card-shadow-outline) var(--color-shadow-outline)", "var(--shadow-1-umbra) var(--color-shadow-umbra)", "var(--shadow-1-penumbra) var(--color-shadow-penumbra)", "var(--shadow-1-ambient) var(--color-shadow-ambient)"].join(", ")
2948
+ }),
2949
+ ...responsiveRules("shadow-2", {
2950
+ boxShadow: ["var(--card-shadow-outline) var(--color-shadow-outline)", "var(--shadow-2-umbra) var(--color-shadow-umbra)", "var(--shadow-2-penumbra) var(--color-shadow-penumbra)", "var(--shadow-2-ambient) var(--color-shadow-ambient)"].join(", ")
2951
+ }),
2952
+ ...responsiveRules("shadow-3", {
2953
+ boxShadow: ["var(--card-shadow-outline) var(--color-shadow-outline)", "var(--shadow-3-umbra) var(--color-shadow-umbra)", "var(--shadow-3-penumbra) var(--color-shadow-penumbra)", "var(--shadow-3-ambient) var(--color-shadow-ambient)"].join(", ")
2954
+ }),
2955
+ ...responsiveRules("shadow-4", {
2956
+ boxShadow: ["var(--card-shadow-outline) var(--color-shadow-outline)", "var(--shadow-4-umbra) var(--color-shadow-umbra)", "var(--shadow-4-penumbra) var(--color-shadow-penumbra)", "var(--shadow-4-ambient) var(--color-shadow-ambient)"].join(", ")
2957
+ }),
2958
+ ...responsiveRules("shadow-5", {
2959
+ boxShadow: ["var(--card-shadow-outline) var(--color-shadow-outline)", "var(--shadow-5-umbra) var(--color-shadow-umbra)", "var(--shadow-5-penumbra) var(--color-shadow-penumbra)", "var(--shadow-5-ambient) var(--color-shadow-ambient)"].join(", ")
2960
+ })
2961
+ }, widthRules = {
2962
+ "w-fill": {
2963
+ width: ["-moz-available", "-webkit-fill-available", "stretch"]
2964
+ }
2965
+ }, rules = {
2966
+ // styles
2967
+ ...borderRules,
2968
+ ...displayRules,
2969
+ ...flexItemRules,
2970
+ ...flexRules,
2971
+ ...fontRules,
2972
+ ...gapRules,
2973
+ ...gridItemRules,
2974
+ ...gridRules,
2975
+ ...heightRules,
2976
+ ...marginRules,
2977
+ ...outlineRules,
2978
+ ...overflowRules,
2979
+ ...paddingRules,
2980
+ ...pointerEventsRules,
2981
+ ...positionRules,
2982
+ ...radiusRules,
2983
+ ...shadowRules,
2984
+ ...widthRules,
2985
+ // primitives
2986
+ ...avatarRules,
2987
+ ...badgeRules,
2988
+ ...boxRules,
2989
+ ...buttonRules,
2990
+ ...cardRules,
2991
+ ...checkboxRules,
2992
+ ...codeRules,
2993
+ ...containerRules,
2994
+ ...headingRules,
2995
+ ...kbdRules,
2996
+ ...labelRules,
2997
+ ...maxWidthRules,
2998
+ ...popoverRules,
2999
+ ...radioRules,
3000
+ ...selectRules,
3001
+ ...selectableRules,
3002
+ ...spinnerRules,
3003
+ ...switchRules,
3004
+ ...textAreaRules,
3005
+ ...textInputRules,
3006
+ ...textRules,
3007
+ ...tokenRules,
3008
+ ...tooltipRules,
3009
+ // components
3010
+ ...breadcrumbsRules,
3011
+ ...dialogRules,
3012
+ ...menuRules,
3013
+ ...skeletonRules
3014
+ };
3015
+ function compileRule(selector, props) {
3016
+ return compileProperties(selector, props) + compileNestedRules(selector, props["@nest"]);
3017
+ }
3018
+ function compileProperties(selector, props) {
3019
+ let css = "{";
3020
+ for (const key in props) {
3021
+ if (key === "@keyframes" || key === "@media" || key === "@nest") continue;
3022
+ const value = props[key], valueArr = Array.isArray(value) ? value : [value];
3023
+ for (const v of valueArr)
3024
+ css += toSnakeCase(key) + ":" + v + ";";
3025
+ }
3026
+ return css.length === 1 ? "" : selector + css + "}";
3027
+ }
3028
+ function compileNestedRules(selector, props) {
3029
+ if (!props) return "";
3030
+ let css = "";
3031
+ for (const key in props) {
3032
+ const value = props[key];
3033
+ css += `
3034
+ ` + key.replace(/&/g, selector) + compileProperties(selector, value).substring(selector.length);
3035
+ }
3036
+ return css;
3037
+ }
3038
+ function compileMediaQueryRule(query, rules2) {
3039
+ let css = `@media ${query}{`;
3040
+ for (const key in rules2)
3041
+ css += `
3042
+ ` + compileRule(`.${key}`.replace(/:/g, "\\:"), rules2[key]);
3043
+ return css + `
3044
+ }`;
3045
+ }
3046
+ function toSnakeCase(value) {
3047
+ return value.replace(/[A-Z]/g, (match) => "-" + match.toLowerCase());
3048
+ }
3049
+ function compileRules(rules2) {
3050
+ let css = "";
3051
+ const keyframes = {}, mediaQueries = {};
3052
+ for (const [className, props] of Object.entries(rules2)) {
3053
+ const selectorCss = compileRule(`.${className}`.replace(/:/g, "\\:"), props);
3054
+ if (css += selectorCss ? `${selectorCss}
3055
+ ` : "", props["@keyframes"])
3056
+ for (const name in props["@keyframes"])
3057
+ keyframes[name] = props["@keyframes"][name];
3058
+ if (props["@media"])
3059
+ for (const key in props["@media"])
3060
+ mediaQueries[key] || (mediaQueries[key] = {}), mediaQueries[key][className] = props["@media"][key];
3061
+ }
3062
+ for (const [name, value] of Object.entries(keyframes)) {
3063
+ let keyframesCss = `@keyframes ${name} {
3064
+ `;
3065
+ for (const [key, props] of Object.entries(value))
3066
+ keyframesCss += ` ${key}`, keyframesCss += compileRule("", props).replace(/\n/g, `
3067
+ `) + `
3068
+ `;
3069
+ keyframesCss += `
3070
+ }
3071
+ `, css += keyframesCss;
3072
+ }
3073
+ for (const [query, queryRules] of Object.entries(mediaQueries))
3074
+ css += compileMediaQueryRule(query, queryRules) + `
3075
+ `;
3076
+ return css.replace(/\n{2,}/g, `
3077
+ `).trimStart();
3078
+ }
3079
+ function compileSystem() {
3080
+ return compileRules(rules);
3081
+ }
3082
+ function rem(value) {
3083
+ return value === 0 ? "0" : `${value / 16}rem`;
3084
+ }
3085
+ function px(value) {
3086
+ return value === 0 ? "0" : `${value}px`;
3087
+ }
3088
+ function toBoxShadow(value) {
3089
+ return value ? value.map((n) => px(n)).join(" ") : "none";
3090
+ }
3091
+ function countThemeEntries(obj) {
3092
+ let count = 0;
3093
+ if (isArray(obj))
3094
+ for (let i = 0; i < obj.length; i++) {
3095
+ const value = obj[i];
3096
+ isRecord(value) || isArray(value) ? count += countThemeEntries(value) : count++;
3097
+ }
3098
+ else
3099
+ for (const [key, value] of Object.entries(obj))
3100
+ key.startsWith("_") || (isRecord(value) || isArray(value) ? count += countThemeEntries(value) : count++);
3101
+ return count;
3102
+ }
3103
+ function compileTheme(theme) {
3104
+ for (const [key, val] of Object.entries(theme.color.light.default))
3105
+ (isRecord(val) || isArray(val)) && console.log(key, countThemeEntries(val));
3106
+ return [compileRule(":root", {
3107
+ [varNames.avatar.focusRing.offset]: px(theme.avatar.focusRing.offset),
3108
+ [varNames.avatar.focusRing.width]: px(theme.avatar.focusRing.width),
3109
+ // [varNames.avatar.size[0].distance]: px(theme.avatar.size[0].distance),
3110
+ // [varNames.avatar.size[0].size]: px(theme.avatar.size[0].size),
3111
+ "--avatar-0-distance": px(theme.avatar.sizes[0].distance),
3112
+ "--avatar-0-size": px(theme.avatar.sizes[0].size),
3113
+ "--avatar-1-distance": px(theme.avatar.sizes[1].distance),
3114
+ "--avatar-1-size": px(theme.avatar.sizes[1].size),
3115
+ "--avatar-2-distance": px(theme.avatar.sizes[2].distance),
3116
+ "--avatar-2-size": px(theme.avatar.sizes[2].size),
3117
+ "--avatar-3-distance": px(theme.avatar.sizes[3].distance),
3118
+ "--avatar-3-size": px(theme.avatar.sizes[3].size),
3119
+ "--button-border-width": px(theme.button.border.width),
3120
+ "--button-focus-ring-offset": px(theme.button.focusRing.offset),
3121
+ "--button-focus-ring-width": px(theme.button.focusRing.width),
3122
+ "--button-text-weight": `${theme.button.textWeight}`,
3123
+ "--card-border-width": px(theme.card.border.width),
3124
+ "--card-focus-ring-offset": px(theme.card.focusRing.offset),
3125
+ "--card-focus-ring-width": px(theme.card.focusRing.width),
3126
+ "--card-shadow-outline": `0 0 0 ${px(theme.card.shadow.outline)}`,
3127
+ "--font-code-family": theme.font.code.family,
3128
+ "--font-code-weight-regular": `${theme.font.code.weights.regular}`,
3129
+ "--font-code-weight-medium": `${theme.font.code.weights.medium}`,
3130
+ "--font-code-weight-semibold": `${theme.font.code.weights.semibold}`,
3131
+ "--font-code-weight-bold": `${theme.font.code.weights.bold}`,
3132
+ "--font-code-0-size": rem(theme.font.code.sizes[0].fontSize),
3133
+ "--font-code-0-line-height": rem(theme.font.code.sizes[0].lineHeight),
3134
+ "--font-code-0-ascender-height": px(theme.font.code.sizes[0].ascenderHeight),
3135
+ "--font-code-0-descender-height": px(theme.font.code.sizes[0].descenderHeight),
3136
+ "--font-code-0-letter-spacing": px(theme.font.code.sizes[0].letterSpacing),
3137
+ "--font-code-0-icon-size": px(theme.font.code.sizes[0].iconSize),
3138
+ "--font-code-1-size": rem(theme.font.code.sizes[1].fontSize),
3139
+ "--font-code-1-line-height": px(theme.font.code.sizes[1].lineHeight),
3140
+ "--font-code-1-ascender-height": px(theme.font.code.sizes[1].ascenderHeight),
3141
+ "--font-code-1-descender-height": px(theme.font.code.sizes[1].descenderHeight),
3142
+ "--font-code-1-letter-spacing": px(theme.font.code.sizes[1].letterSpacing),
3143
+ "--font-code-1-icon-size": px(theme.font.code.sizes[1].iconSize),
3144
+ "--font-code-2-size": rem(theme.font.code.sizes[2].fontSize),
3145
+ "--font-code-2-line-height": rem(theme.font.code.sizes[2].lineHeight),
3146
+ "--font-code-2-ascender-height": px(theme.font.code.sizes[2].ascenderHeight),
3147
+ "--font-code-2-descender-height": px(theme.font.code.sizes[2].descenderHeight),
3148
+ "--font-code-2-letter-spacing": px(theme.font.code.sizes[2].letterSpacing),
3149
+ "--font-code-2-icon-size": px(theme.font.code.sizes[2].iconSize),
3150
+ "--font-code-3-size": rem(theme.font.code.sizes[3].fontSize),
3151
+ "--font-code-3-line-height": rem(theme.font.code.sizes[3].lineHeight),
3152
+ "--font-code-3-ascender-height": px(theme.font.code.sizes[3].ascenderHeight),
3153
+ "--font-code-3-descender-height": px(theme.font.code.sizes[3].descenderHeight),
3154
+ "--font-code-3-letter-spacing": px(theme.font.code.sizes[3].letterSpacing),
3155
+ "--font-code-3-icon-size": px(theme.font.code.sizes[3].iconSize),
3156
+ "--font-code-4-size": rem(theme.font.code.sizes[4].fontSize),
3157
+ "--font-code-4-line-height": rem(theme.font.code.sizes[4].lineHeight),
3158
+ "--font-code-4-ascender-height": px(theme.font.code.sizes[4].ascenderHeight),
3159
+ "--font-code-4-descender-height": px(theme.font.code.sizes[4].descenderHeight),
3160
+ "--font-code-4-letter-spacing": px(theme.font.code.sizes[4].letterSpacing),
3161
+ "--font-code-4-icon-size": px(theme.font.code.sizes[4].iconSize),
3162
+ "--font-heading-family": theme.font.heading.family,
3163
+ "--font-heading-weight-regular": `${theme.font.heading.weights.regular}`,
3164
+ "--font-heading-weight-medium": `${theme.font.heading.weights.medium}`,
3165
+ "--font-heading-weight-semibold": `${theme.font.heading.weights.semibold}`,
3166
+ "--font-heading-weight-bold": `${theme.font.heading.weights.bold}`,
3167
+ "--font-heading-0-size": rem(theme.font.heading.sizes[0].fontSize),
3168
+ "--font-heading-0-line-height": rem(theme.font.heading.sizes[0].lineHeight),
3169
+ "--font-heading-0-ascender-height": px(theme.font.heading.sizes[0].ascenderHeight),
3170
+ "--font-heading-0-descender-height": px(theme.font.heading.sizes[0].descenderHeight),
3171
+ "--font-heading-0-letter-spacing": px(theme.font.heading.sizes[0].letterSpacing),
3172
+ "--font-heading-0-icon-size": px(theme.font.heading.sizes[0].iconSize),
3173
+ "--font-heading-1-size": rem(theme.font.heading.sizes[1].fontSize),
3174
+ "--font-heading-1-line-height": rem(theme.font.heading.sizes[1].lineHeight),
3175
+ "--font-heading-1-ascender-height": px(theme.font.heading.sizes[1].ascenderHeight),
3176
+ "--font-heading-1-descender-height": px(theme.font.heading.sizes[1].descenderHeight),
3177
+ "--font-heading-1-letter-spacing": px(theme.font.heading.sizes[1].letterSpacing),
3178
+ "--font-heading-1-icon-size": px(theme.font.heading.sizes[1].iconSize),
3179
+ "--font-heading-2-size": rem(theme.font.heading.sizes[2].fontSize),
3180
+ "--font-heading-2-line-height": rem(theme.font.heading.sizes[2].lineHeight),
3181
+ "--font-heading-2-ascender-height": px(theme.font.heading.sizes[2].ascenderHeight),
3182
+ "--font-heading-2-descender-height": px(theme.font.heading.sizes[2].descenderHeight),
3183
+ "--font-heading-2-letter-spacing": px(theme.font.heading.sizes[2].letterSpacing),
3184
+ "--font-heading-2-icon-size": px(theme.font.heading.sizes[2].iconSize),
3185
+ "--font-heading-3-size": rem(theme.font.heading.sizes[3].fontSize),
3186
+ "--font-heading-3-line-height": rem(theme.font.heading.sizes[3].lineHeight),
3187
+ "--font-heading-3-ascender-height": px(theme.font.heading.sizes[3].ascenderHeight),
3188
+ "--font-heading-3-descender-height": px(theme.font.heading.sizes[3].descenderHeight),
3189
+ "--font-heading-3-letter-spacing": px(theme.font.heading.sizes[3].letterSpacing),
3190
+ "--font-heading-3-icon-size": px(theme.font.heading.sizes[3].iconSize),
3191
+ "--font-heading-4-size": rem(theme.font.heading.sizes[4].fontSize),
3192
+ "--font-heading-4-line-height": rem(theme.font.heading.sizes[4].lineHeight),
3193
+ "--font-heading-4-ascender-height": px(theme.font.heading.sizes[4].ascenderHeight),
3194
+ "--font-heading-4-descender-height": px(theme.font.heading.sizes[4].descenderHeight),
3195
+ "--font-heading-4-letter-spacing": px(theme.font.heading.sizes[4].letterSpacing),
3196
+ "--font-heading-4-icon-size": px(theme.font.heading.sizes[4].iconSize),
3197
+ "--font-heading-5-size": rem(theme.font.heading.sizes[5].fontSize),
3198
+ "--font-heading-5-line-height": rem(theme.font.heading.sizes[5].lineHeight),
3199
+ "--font-heading-5-ascender-height": px(theme.font.heading.sizes[5].ascenderHeight),
3200
+ "--font-heading-5-descender-height": px(theme.font.heading.sizes[5].descenderHeight),
3201
+ "--font-heading-5-letter-spacing": px(theme.font.heading.sizes[5].letterSpacing),
3202
+ "--font-heading-5-icon-size": px(theme.font.heading.sizes[5].iconSize),
3203
+ "--font-label-family": theme.font.label.family,
3204
+ "--font-label-weight-regular": `${theme.font.label.weights.regular}`,
3205
+ "--font-label-weight-medium": `${theme.font.label.weights.medium}`,
3206
+ "--font-label-weight-semibold": `${theme.font.label.weights.semibold}`,
3207
+ "--font-label-weight-bold": `${theme.font.label.weights.bold}`,
3208
+ "--font-label-0-size": rem(theme.font.label.sizes[0].fontSize),
3209
+ "--font-label-0-line-height": rem(theme.font.label.sizes[0].lineHeight),
3210
+ "--font-label-0-ascender-height": px(theme.font.label.sizes[0].ascenderHeight),
3211
+ "--font-label-0-descender-height": px(theme.font.label.sizes[0].descenderHeight),
3212
+ "--font-label-0-letter-spacing": px(theme.font.label.sizes[0].letterSpacing),
3213
+ "--font-label-0-icon-size": px(theme.font.label.sizes[0].iconSize),
3214
+ "--font-label-1-size": rem(theme.font.label.sizes[1].fontSize),
3215
+ "--font-label-1-line-height": rem(theme.font.label.sizes[1].lineHeight),
3216
+ "--font-label-1-ascender-height": px(theme.font.label.sizes[1].ascenderHeight),
3217
+ "--font-label-1-descender-height": px(theme.font.label.sizes[1].descenderHeight),
3218
+ "--font-label-1-letter-spacing": px(theme.font.label.sizes[1].letterSpacing),
3219
+ "--font-label-1-icon-size": px(theme.font.label.sizes[1].iconSize),
3220
+ "--font-label-2-size": rem(theme.font.label.sizes[2].fontSize),
3221
+ "--font-label-2-line-height": rem(theme.font.label.sizes[2].lineHeight),
3222
+ "--font-label-2-ascender-height": px(theme.font.label.sizes[2].ascenderHeight),
3223
+ "--font-label-2-descender-height": px(theme.font.label.sizes[2].descenderHeight),
3224
+ "--font-label-2-letter-spacing": px(theme.font.label.sizes[2].letterSpacing),
3225
+ "--font-label-2-icon-size": px(theme.font.label.sizes[2].iconSize),
3226
+ "--font-label-3-size": rem(theme.font.label.sizes[3].fontSize),
3227
+ "--font-label-3-line-height": rem(theme.font.label.sizes[3].lineHeight),
3228
+ "--font-label-3-ascender-height": px(theme.font.label.sizes[3].ascenderHeight),
3229
+ "--font-label-3-descender-height": px(theme.font.label.sizes[3].descenderHeight),
3230
+ "--font-label-3-letter-spacing": px(theme.font.label.sizes[3].letterSpacing),
3231
+ "--font-label-3-icon-size": px(theme.font.label.sizes[3].iconSize),
3232
+ "--font-label-4-size": rem(theme.font.label.sizes[4].fontSize),
3233
+ "--font-label-4-line-height": rem(theme.font.label.sizes[4].lineHeight),
3234
+ "--font-label-4-ascender-height": px(theme.font.label.sizes[4].ascenderHeight),
3235
+ "--font-label-4-descender-height": px(theme.font.label.sizes[4].descenderHeight),
3236
+ "--font-label-4-letter-spacing": px(theme.font.label.sizes[4].letterSpacing),
3237
+ "--font-label-4-icon-size": px(theme.font.label.sizes[4].iconSize),
3238
+ "--font-label-5-size": rem(theme.font.label.sizes[5].fontSize),
3239
+ "--font-label-5-line-height": rem(theme.font.label.sizes[5].lineHeight),
3240
+ "--font-label-5-ascender-height": px(theme.font.label.sizes[5].ascenderHeight),
3241
+ "--font-label-5-descender-height": px(theme.font.label.sizes[5].descenderHeight),
3242
+ "--font-label-5-letter-spacing": px(theme.font.label.sizes[5].letterSpacing),
3243
+ "--font-label-5-icon-size": px(theme.font.label.sizes[5].iconSize),
3244
+ "--font-text-family": theme.font.text.family,
3245
+ "--font-text-weight-regular": `${theme.font.text.weights.regular}`,
3246
+ "--font-text-weight-medium": `${theme.font.text.weights.medium}`,
3247
+ "--font-text-weight-semibold": `${theme.font.text.weights.semibold}`,
3248
+ "--font-text-weight-bold": `${theme.font.text.weights.bold}`,
3249
+ "--font-text-0-size": rem(theme.font.text.sizes[0].fontSize),
3250
+ "--font-text-0-line-height": rem(theme.font.text.sizes[0].lineHeight),
3251
+ "--font-text-0-ascender-height": px(theme.font.text.sizes[0].ascenderHeight),
3252
+ "--font-text-0-descender-height": px(theme.font.text.sizes[0].descenderHeight),
3253
+ "--font-text-0-letter-spacing": px(theme.font.text.sizes[0].letterSpacing),
3254
+ "--font-text-0-icon-size": px(theme.font.text.sizes[0].iconSize),
3255
+ "--font-text-1-size": rem(theme.font.text.sizes[1].fontSize),
3256
+ "--font-text-1-line-height": rem(theme.font.text.sizes[1].lineHeight),
3257
+ "--font-text-1-ascender-height": px(theme.font.text.sizes[1].ascenderHeight),
3258
+ "--font-text-1-descender-height": px(theme.font.text.sizes[1].descenderHeight),
3259
+ "--font-text-1-letter-spacing": px(theme.font.text.sizes[1].letterSpacing),
3260
+ "--font-text-1-icon-size": px(theme.font.text.sizes[1].iconSize),
3261
+ "--font-text-2-size": rem(theme.font.text.sizes[2].fontSize),
3262
+ "--font-text-2-line-height": rem(theme.font.text.sizes[2].lineHeight),
3263
+ "--font-text-2-ascender-height": px(theme.font.text.sizes[2].ascenderHeight),
3264
+ "--font-text-2-descender-height": px(theme.font.text.sizes[2].descenderHeight),
3265
+ "--font-text-2-letter-spacing": px(theme.font.text.sizes[2].letterSpacing),
3266
+ "--font-text-2-icon-size": px(theme.font.text.sizes[2].iconSize),
3267
+ "--font-text-3-size": rem(theme.font.text.sizes[3].fontSize),
3268
+ "--font-text-3-line-height": rem(theme.font.text.sizes[3].lineHeight),
3269
+ "--font-text-3-ascender-height": px(theme.font.text.sizes[3].ascenderHeight),
3270
+ "--font-text-3-descender-height": px(theme.font.text.sizes[3].descenderHeight),
3271
+ "--font-text-3-letter-spacing": px(theme.font.text.sizes[3].letterSpacing),
3272
+ "--font-text-3-icon-size": px(theme.font.text.sizes[3].iconSize),
3273
+ "--font-text-4-size": rem(theme.font.text.sizes[4].fontSize),
3274
+ "--font-text-4-line-height": rem(theme.font.text.sizes[4].lineHeight),
3275
+ "--font-text-4-ascender-height": px(theme.font.text.sizes[4].ascenderHeight),
3276
+ "--font-text-4-descender-height": px(theme.font.text.sizes[4].descenderHeight),
3277
+ "--font-text-4-letter-spacing": px(theme.font.text.sizes[4].letterSpacing),
3278
+ "--font-text-4-icon-size": px(theme.font.text.sizes[4].iconSize),
3279
+ "--input-border-width": px(theme.input.border.width),
3280
+ "--input-checkbox-focus-ring-offset": px(theme.input.checkbox.focusRing.offset),
3281
+ "--input-checkbox-focus-ring-width": px(theme.input.checkbox.focusRing.width),
3282
+ "--input-checkbox-size": px(theme.input.checkbox.size),
3283
+ "--input-radio-focus-ring-offset": px(theme.input.radio.focusRing.offset),
3284
+ "--input-radio-focus-ring-width": px(theme.input.radio.focusRing.width),
3285
+ "--input-radio-mark-size": px(theme.input.radio.markSize),
3286
+ "--input-radio-size": px(theme.input.radio.size),
3287
+ "--input-select-focus-ring-offset": px(theme.input.select.focusRing.offset),
3288
+ "--input-select-focus-ring-width": px(theme.input.select.focusRing.width),
3289
+ "--input-switch-focus-ring-offset": px(theme.input.switch.focusRing.offset),
3290
+ "--input-switch-focus-ring-width": px(theme.input.switch.focusRing.width),
3291
+ "--input-switch-width": px(theme.input.switch.width),
3292
+ "--input-switch-height": px(theme.input.switch.height),
3293
+ "--input-switch-padding": px(theme.input.switch.padding),
3294
+ "--input-switch-transition-duration-ms": px(theme.input.switch.transitionDurationMs),
3295
+ "--input-switch-transition-timing-function": theme.input.switch.transitionTimingFunction,
3296
+ "--input-text-focus-ring-offset": px(theme.input.text.focusRing.offset),
3297
+ "--input-text-focus-ring-width": px(theme.input.text.focusRing.width),
3298
+ "--container-0": px(theme.container[0]),
3299
+ "--container-1": px(theme.container[1]),
3300
+ "--container-2": px(theme.container[2]),
3301
+ "--container-3": px(theme.container[3]),
3302
+ "--container-4": px(theme.container[4]),
3303
+ "--container-5": px(theme.container[5]),
3304
+ "--radius-0": px(theme.radius[0]),
3305
+ "--radius-1": px(theme.radius[1]),
3306
+ "--radius-2": px(theme.radius[2]),
3307
+ "--radius-3": px(theme.radius[3]),
3308
+ "--radius-4": px(theme.radius[4]),
3309
+ "--radius-5": px(theme.radius[5]),
3310
+ "--radius-6": px(theme.radius[6]),
3311
+ [varNames.space[0]]: rem(theme.space[0]),
3312
+ [varNames.space[0.5]]: `calc(${rem(theme.space[1])} / 2)`,
3313
+ [varNames.space[1]]: rem(theme.space[1]),
3314
+ [varNames.space[2]]: rem(theme.space[2]),
3315
+ [varNames.space[3]]: rem(theme.space[3]),
3316
+ [varNames.space[4]]: rem(theme.space[4]),
3317
+ [varNames.space[5]]: rem(theme.space[5]),
3318
+ [varNames.space[6]]: rem(theme.space[6]),
3319
+ [varNames.space[7]]: rem(theme.space[7]),
3320
+ [varNames.space[8]]: rem(theme.space[8]),
3321
+ [varNames.space[9]]: rem(theme.space[9]),
3322
+ "--shadow-0-umbra": toBoxShadow(theme.shadow[0]?.umbra),
3323
+ //`${theme.shadow[0]?.umbra || 'none'}`,
3324
+ "--shadow-0-penumbra": toBoxShadow(theme.shadow[0]?.penumbra),
3325
+ "--shadow-0-ambient": toBoxShadow(theme.shadow[0]?.ambient),
3326
+ "--shadow-1-umbra": toBoxShadow(theme.shadow[1]?.umbra),
3327
+ "--shadow-1-penumbra": toBoxShadow(theme.shadow[1]?.penumbra),
3328
+ "--shadow-1-ambient": toBoxShadow(theme.shadow[1]?.ambient),
3329
+ "--shadow-2-umbra": toBoxShadow(theme.shadow[2]?.umbra),
3330
+ "--shadow-2-penumbra": toBoxShadow(theme.shadow[2]?.penumbra),
3331
+ "--shadow-2-ambient": toBoxShadow(theme.shadow[2]?.ambient),
3332
+ "--shadow-3-umbra": toBoxShadow(theme.shadow[3]?.umbra),
3333
+ "--shadow-3-penumbra": toBoxShadow(theme.shadow[3]?.penumbra),
3334
+ "--shadow-3-ambient": toBoxShadow(theme.shadow[3]?.ambient),
3335
+ "--shadow-4-umbra": toBoxShadow(theme.shadow[4]?.umbra),
3336
+ "--shadow-4-penumbra": toBoxShadow(theme.shadow[4]?.penumbra),
3337
+ "--shadow-4-ambient": toBoxShadow(theme.shadow[4]?.ambient),
3338
+ "--shadow-5-umbra": toBoxShadow(theme.shadow[5]?.umbra),
3339
+ "--shadow-5-penumbra": toBoxShadow(theme.shadow[5]?.penumbra),
3340
+ "--shadow-5-ambient": toBoxShadow(theme.shadow[5]?.ambient),
3341
+ ...Object.fromEntries(getThemeEntries(theme.color, ["color"]))
3342
+ }), compileCardCss({
3343
+ scheme: "dark",
3344
+ tone: "transparent"
3345
+ }), compileCardCss({
3346
+ scheme: "dark",
3347
+ tone: "default"
3348
+ }), compileCardCss({
3349
+ scheme: "dark",
3350
+ tone: "primary"
3351
+ }), compileCardCss({
3352
+ scheme: "dark",
3353
+ tone: "positive"
3354
+ }), compileCardCss({
3355
+ scheme: "dark",
3356
+ tone: "caution"
3357
+ }), compileCardCss({
3358
+ scheme: "dark",
3359
+ tone: "critical"
3360
+ }), compileCardCss({
3361
+ scheme: "light",
3362
+ tone: "transparent"
3363
+ }), compileCardCss({
3364
+ scheme: "light",
3365
+ tone: "default"
3366
+ }), compileCardCss({
3367
+ scheme: "light",
3368
+ tone: "primary"
3369
+ }), compileCardCss({
3370
+ scheme: "light",
3371
+ tone: "positive"
3372
+ }), compileCardCss({
3373
+ scheme: "light",
3374
+ tone: "caution"
3375
+ }), compileCardCss({
3376
+ scheme: "light",
3377
+ tone: "critical"
3378
+ })].join(`
3379
+
3380
+ `);
3381
+ }
3382
+ function compileCardCss(props) {
3383
+ const {
3384
+ scheme,
3385
+ tone
3386
+ } = props, cardVars = vars.color[scheme][tone];
3387
+ return compileRule(`.card[data-scheme="${scheme}"][data-tone="${tone}"]`, {
3388
+ "--color-accent-fg": cardVars.accent.fg,
3389
+ ...THEME_COLOR_AVATAR_COLORS.reduce((acc, color) => ({
3390
+ ...acc,
3391
+ [`--color-avatar-${color}-bg`]: cardVars.avatar[color].bg,
3392
+ [`--color-avatar-${color}-fg`]: cardVars.avatar[color].fg
3393
+ }), {}),
3394
+ "--color-backdrop": cardVars.backdrop,
3395
+ ...THEME_COLOR_STATE_TONES.reduce((acc, tone2) => ({
3396
+ ...acc,
3397
+ [`--color-badge-${tone2}-bg`]: cardVars.badge[tone2].bg,
3398
+ [`--color-badge-${tone2}-dot`]: cardVars.badge[tone2].dot,
3399
+ [`--color-badge-${tone2}-fg`]: cardVars.badge[tone2].fg,
3400
+ [`--color-badge-${tone2}-icon`]: cardVars.badge[tone2].icon
3401
+ }), {}),
3402
+ "--color-bg": cardVars.bg,
3403
+ "--color-border": cardVars.border,
3404
+ // todo: button
3405
+ "--color-code-bg": cardVars.code.bg,
3406
+ "--color-code-fg": cardVars.code.fg,
3407
+ "--color-fg": cardVars.fg,
3408
+ "--color-focus-ring": cardVars.focusRing,
3409
+ "--color-icon": cardVars.icon,
3410
+ "--color-input-default-enabled-bg": cardVars.input.default.enabled.bg,
3411
+ "--color-input-default-enabled-border": cardVars.input.default.enabled.border,
3412
+ "--color-input-default-enabled-fg": cardVars.input.default.enabled.fg,
3413
+ "--color-input-default-enabled-muted-bg": cardVars.input.default.enabled.muted.bg,
3414
+ "--color-input-default-enabled-placeholder": cardVars.input.default.enabled.placeholder,
3415
+ "--color-input-default-hovered-bg": cardVars.input.default.hovered.bg,
3416
+ "--color-input-default-hovered-border": cardVars.input.default.hovered.border,
3417
+ "--color-input-default-hovered-fg": cardVars.input.default.hovered.fg,
3418
+ "--color-input-default-hovered-muted-bg": cardVars.input.default.hovered.muted.bg,
3419
+ "--color-input-default-hovered-placeholder": cardVars.input.default.hovered.placeholder,
3420
+ "--color-input-default-readOnly-bg": cardVars.input.default.readOnly.bg,
3421
+ "--color-input-default-readOnly-border": cardVars.input.default.readOnly.border,
3422
+ "--color-input-default-readOnly-fg": cardVars.input.default.readOnly.fg,
3423
+ "--color-input-default-readOnly-muted-bg": cardVars.input.default.readOnly.muted.bg,
3424
+ "--color-input-default-readOnly-placeholder": cardVars.input.default.readOnly.placeholder,
3425
+ "--color-input-default-disabled-bg": cardVars.input.default.disabled.bg,
3426
+ "--color-input-default-disabled-border": cardVars.input.default.disabled.border,
3427
+ "--color-input-default-disabled-fg": cardVars.input.default.disabled.fg,
3428
+ "--color-input-default-disabled-muted-bg": cardVars.input.default.disabled.muted.bg,
3429
+ "--color-input-default-disabled-placeholder": cardVars.input.default.disabled.placeholder,
3430
+ "--color-input-invalid-enabled-bg": cardVars.input.invalid.enabled.bg,
3431
+ "--color-input-invalid-enabled-border": cardVars.input.invalid.enabled.border,
3432
+ "--color-input-invalid-enabled-fg": cardVars.input.invalid.enabled.fg,
3433
+ "--color-input-invalid-enabled-muted-bg": cardVars.input.invalid.enabled.muted.bg,
3434
+ "--color-input-invalid-enabled-placeholder": cardVars.input.invalid.enabled.placeholder,
3435
+ "--color-input-invalid-hovered-bg": cardVars.input.invalid.hovered.bg,
3436
+ "--color-input-invalid-hovered-border": cardVars.input.invalid.hovered.border,
3437
+ "--color-input-invalid-hovered-fg": cardVars.input.invalid.hovered.fg,
3438
+ "--color-input-invalid-hovered-muted-bg": cardVars.input.invalid.hovered.muted.bg,
3439
+ "--color-input-invalid-hovered-placeholder": cardVars.input.invalid.hovered.placeholder,
3440
+ "--color-input-invalid-readOnly-bg": cardVars.input.invalid.readOnly.bg,
3441
+ "--color-input-invalid-readOnly-border": cardVars.input.invalid.readOnly.border,
3442
+ "--color-input-invalid-readOnly-fg": cardVars.input.invalid.readOnly.fg,
3443
+ "--color-input-invalid-readOnly-muted-bg": cardVars.input.invalid.readOnly.muted.bg,
3444
+ "--color-input-invalid-readOnly-placeholder": cardVars.input.invalid.readOnly.placeholder,
3445
+ "--color-input-invalid-disabled-bg": cardVars.input.invalid.disabled.bg,
3446
+ "--color-input-invalid-disabled-border": cardVars.input.invalid.disabled.border,
3447
+ "--color-input-invalid-disabled-fg": cardVars.input.invalid.disabled.fg,
3448
+ "--color-input-invalid-disabled-muted-bg": cardVars.input.invalid.disabled.muted.bg,
3449
+ "--color-input-invalid-disabled-placeholder": cardVars.input.invalid.disabled.placeholder,
3450
+ "--color-kbd-bg": cardVars.kbd.bg,
3451
+ "--color-kbd-border": cardVars.kbd.border,
3452
+ "--color-kbd-fg": cardVars.kbd.fg,
3453
+ "--color-link-fg": cardVars.link.fg,
3454
+ "--color-muted-bg": cardVars.muted.bg,
3455
+ "--color-muted-fg": cardVars.muted.fg,
3456
+ // todo: selectable
3457
+ "--color-shadow-outline": cardVars.shadow.outline,
3458
+ "--color-shadow-umbra": cardVars.shadow.umbra,
3459
+ "--color-shadow-penumbra": cardVars.shadow.penumbra,
3460
+ "--color-shadow-ambient": cardVars.shadow.outline,
3461
+ "--color-skeleton-from": cardVars.skeleton.from,
3462
+ "--color-skeleton-to": cardVars.skeleton.to,
3463
+ // todo: syntax
3464
+ "--color-syntax-atrule": cardVars.syntax.atrule,
3465
+ "--color-syntax-attrName": cardVars.syntax.attrName,
3466
+ "--color-syntax-attrValue": cardVars.syntax.attrValue,
3467
+ "--color-syntax-attribute": cardVars.syntax.attribute,
3468
+ "--color-syntax-boolean": cardVars.syntax.boolean,
3469
+ "--color-syntax-builtin": cardVars.syntax.builtin,
3470
+ "--color-syntax-cdata": cardVars.syntax.cdata,
3471
+ "--color-syntax-char": cardVars.syntax.char,
3472
+ "--color-syntax-class": cardVars.syntax.class,
3473
+ "--color-syntax-className": cardVars.syntax.className,
3474
+ "--color-syntax-comment": cardVars.syntax.comment,
3475
+ "--color-syntax-constant": cardVars.syntax.constant,
3476
+ "--color-syntax-deleted": cardVars.syntax.deleted,
3477
+ "--color-syntax-doctype": cardVars.syntax.doctype,
3478
+ "--color-syntax-entity": cardVars.syntax.entity,
3479
+ "--color-syntax-function": cardVars.syntax.function,
3480
+ "--color-syntax-hexcode": cardVars.syntax.hexcode,
3481
+ "--color-syntax-id": cardVars.syntax.id,
3482
+ "--color-syntax-important": cardVars.syntax.important,
3483
+ "--color-syntax-inserted": cardVars.syntax.inserted,
3484
+ "--color-syntax-keyword": cardVars.syntax.keyword,
3485
+ "--color-syntax-number": cardVars.syntax.number,
3486
+ "--color-syntax-operator": cardVars.syntax.operator,
3487
+ "--color-syntax-prolog": cardVars.syntax.prolog,
3488
+ "--color-syntax-property": cardVars.syntax.property,
3489
+ "--color-syntax-pseudoClass": cardVars.syntax.pseudoClass,
3490
+ "--color-syntax-pseudoElement": cardVars.syntax.pseudoElement,
3491
+ "--color-syntax-punctuation": cardVars.syntax.punctuation,
3492
+ "--color-syntax-regex": cardVars.syntax.regex,
3493
+ "--color-syntax-selector": cardVars.syntax.selector,
3494
+ "--color-syntax-string": cardVars.syntax.string,
3495
+ "--color-syntax-symbol": cardVars.syntax.symbol,
3496
+ "--color-syntax-tag": cardVars.syntax.tag,
3497
+ "--color-syntax-unit": cardVars.syntax.unit,
3498
+ "--color-syntax-url": cardVars.syntax.url,
3499
+ "--color-syntax-variable": cardVars.syntax.variable
3500
+ });
3501
+ }
3502
+ function getThemeEntries(obj, path = []) {
3503
+ const entries = [];
3504
+ if (isArray(obj))
3505
+ for (let i = 0; i < obj.length; i++) {
3506
+ const key = String(i), value = obj[i];
3507
+ isRecord(value) || isArray(value) ? entries.push(...getThemeEntries(value, [...path, key])) : entries.push([`--${path.concat(key).join("-")}`, value]);
3508
+ }
3509
+ else
3510
+ for (const [key, value] of Object.entries(obj))
3511
+ key.startsWith("_") || key !== "button" && key !== "selectable" && (isRecord(value) || isArray(value) ? entries.push(...getThemeEntries(value, [...path, key])) : entries.push([`--${path.concat(key).join("-")}`, value]));
3512
+ return entries;
3513
+ }
3514
+ function isRecord(value) {
3515
+ return value !== null && typeof value == "object" && !Array.isArray(value);
3516
+ }
3517
+ function isArray(value) {
3518
+ return Array.isArray(value);
3519
+ }
3520
+ function composeClassNames(...classNames) {
3521
+ return classNames.filter(Boolean).join(" ");
3522
+ }
3523
+ function breadcrumbs() {
3524
+ return composeClassNames("breadcrumbs");
3525
+ }
3526
+ function dialog() {
3527
+ return composeClassNames("dialog");
3528
+ }
3529
+ function dialogContainer() {
3530
+ return composeClassNames("dialog-container");
3531
+ }
3532
+ function dialogCardRoot() {
3533
+ return composeClassNames("dialog-card-root");
3534
+ }
3535
+ function dialogLayout() {
3536
+ return composeClassNames("dialog-layout");
3537
+ }
3538
+ function dialogHeader() {
3539
+ return composeClassNames("dialog-header");
3540
+ }
3541
+ function dialogContent() {
3542
+ return composeClassNames("dialog-content");
3543
+ }
3544
+ function dialogFooter() {
3545
+ return composeClassNames("dialog-footer");
3546
+ }
3547
+ function menuDivider() {
3548
+ return composeClassNames("menu-divider");
3549
+ }
3550
+ function _resp(prefix, prop) {
3551
+ if (prop !== void 0)
3552
+ return Array.isArray(prop) ? prop.map((value, index) => {
3553
+ const className = (typeof value == "boolean" ? [prefix] : [prefix, value]).filter((s) => s === 0 || !!s).join("-").replace(/\./g, "_");
3554
+ return index === 0 ? `${className}` : `_${index}:${className}`;
3555
+ }).join(" ") : (typeof prop == "boolean" ? [prefix] : [prefix, prop]).filter((s) => s === 0 || !!s).join("-").replace(/\./g, "_");
3556
+ }
3557
+ function radius(props) {
3558
+ return composeClassNames(_resp("r", props.radius));
3559
+ }
3560
+ function skeleton(props) {
3561
+ return composeClassNames("skeleton", radius(props));
3562
+ }
3563
+ function codeSkeleton(props) {
3564
+ return composeClassNames("font-skeleton", _resp("code-skeleton", props.size));
3565
+ }
3566
+ function headingSkeleton(props) {
3567
+ return composeClassNames("font-skeleton", _resp("heading-skeleton", props.size));
3568
+ }
3569
+ function labelSkeleton(props) {
3570
+ return composeClassNames("font-skeleton", _resp("label-skeleton", props.size));
3571
+ }
3572
+ function textSkeleton(props) {
3573
+ return composeClassNames("font-skeleton", _resp("text-skeleton", props.size));
3574
+ }
3575
+ function treeItem() {
3576
+ return composeClassNames("tree-item");
3577
+ }
3578
+ function avatar(props) {
3579
+ return composeClassNames("avatar", `avatar-${props.color}`, `avatar-arrow-${props.arrowPosition}`, _resp("avatar", props.size));
3580
+ }
3581
+ function avatarArrow() {
3582
+ return composeClassNames("avatar-arrow");
3583
+ }
3584
+ function avatarInitials() {
3585
+ return composeClassNames("avatar-initials");
3586
+ }
3587
+ function avatarBgStroke() {
3588
+ return composeClassNames("avatar-bg-stroke");
3589
+ }
3590
+ function avatarStroke() {
3591
+ return composeClassNames("avatar-stroke");
3592
+ }
3593
+ function avatarImage() {
3594
+ return composeClassNames("avatar-image");
3595
+ }
3596
+ function badge(props) {
3597
+ return composeClassNames("badge", props.tone && `badge-${props.tone}`, radius(props));
3598
+ }
3599
+ const prefixes$2 = {
3600
+ align: "align",
3601
+ // `flex-align`
3602
+ direction: void 0,
3603
+ // `
3604
+ justify: "justify",
3605
+ // `flex-justify`
3606
+ wrap: "wrap"
3607
+ // `flex-wrap`
3608
+ };
3609
+ function flex(props) {
3610
+ return composeClassNames(_resp(prefixes$2.align, props.align), _resp(prefixes$2.direction, props.direction), _resp(prefixes$2.justify, props.justify), _resp(prefixes$2.wrap, props.wrap));
3611
+ }
3612
+ function flexItem(props) {
3613
+ return composeClassNames(_resp("flex", props.flex));
3614
+ }
3615
+ function gap(props) {
3616
+ return composeClassNames(_resp("g", props.gap), _resp("gx", props.gapX), _resp("gy", props.gapY));
3617
+ }
3618
+ function grid(props) {
3619
+ return composeClassNames(_resp("auto-cols", props.autoCols), _resp("auto-rows", props.autoRows), _resp("auto-flow", props.autoFlow), _resp("columns", props.columns), _resp("rows", props.rows));
3620
+ }
3621
+ function gridItem(props) {
3622
+ 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));
3623
+ }
3624
+ function margin(props) {
3625
+ 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));
3626
+ }
3627
+ function maxWidth(props) {
3628
+ return _resp("max-w", props.maxWidth) ?? "";
3629
+ }
3630
+ function overflow(props) {
3631
+ return composeClassNames(_resp("overflow", props.overflow), _resp("overflow-x", props.overflowX), _resp("overflow-y", props.overflowY));
3632
+ }
3633
+ function padding(props) {
3634
+ 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));
3635
+ }
3636
+ function pointerEvents(props) {
3637
+ return composeClassNames(props.pointerEvents && `pointer-events-${props.pointerEvents}`);
3638
+ }
3639
+ function position(props) {
3640
+ return composeClassNames(_resp("pos", props.position), _resp("inset", props.inset));
3641
+ }
3642
+ function width(props) {
3643
+ return _resp("w", props.width) ?? "";
3644
+ }
3645
+ function box(props) {
3646
+ return composeClassNames("box", _resp(void 0, props.display), _resp("h", props.height), _resp("box", props.sizing), flex(props), flexItem(props), grid(props), gridItem(props), gap(props), margin(props), maxWidth(props), props.outline && `outline-${props.outline}`, overflow(props), padding(props), pointerEvents(props), position(props), width(props));
3647
+ }
3648
+ function button(props) {
3649
+ const {
3650
+ mode = "default",
3651
+ tone = "default"
3652
+ } = props;
3653
+ return composeClassNames("button", `button-mode-${mode}`, `button-tone-${tone}`, radius(props), width(props));
3654
+ }
3655
+ function buttonLoadingBox() {
3656
+ return "button-loading-box";
3657
+ }
3658
+ const prefixes$1 = {
3659
+ border: "border",
3660
+ borderTop: "border-t",
3661
+ borderRight: "border-r",
3662
+ borderBottom: "border-b",
3663
+ borderLeft: "border-l"
3664
+ };
3665
+ function border(props) {
3666
+ return composeClassNames(_resp(prefixes$1.border, props.border), _resp(prefixes$1.borderTop, props.borderTop), _resp(prefixes$1.borderRight, props.borderRight), _resp(prefixes$1.borderBottom, props.borderBottom), _resp(prefixes$1.borderLeft, props.borderLeft));
3667
+ }
3668
+ function card(props) {
3669
+ return composeClassNames("card", props.checkered && "card-checkered", box(props), border(props), radius(props), props.shadow === void 0 ? void 0 : `shadow-${props.shadow}`);
3670
+ }
3671
+ function checkbox() {
3672
+ return composeClassNames("checkbox");
3673
+ }
3674
+ function checkboxInput() {
3675
+ return composeClassNames("checkbox-input");
3676
+ }
3677
+ const prefixes = {
3678
+ align: "text-align",
3679
+ weight: "font"
3680
+ };
3681
+ function font(props) {
3682
+ return composeClassNames("font", props.weight && `${prefixes.weight}-${props.weight}`, _resp(prefixes.align, props.align));
3683
+ }
3684
+ function code(props) {
3685
+ return composeClassNames("code", "block", font(props), _resp("code", props.size));
3686
+ }
3687
+ function container(props) {
3688
+ return composeClassNames("container", maxWidth({
3689
+ maxWidth: props.width
3690
+ }));
3691
+ }
3692
+ function heading(props) {
3693
+ return composeClassNames("heading", "block", font(props), props.accent && "heading-accent", props.muted && "heading-muted", _resp("heading", props.size));
3694
+ }
3695
+ function kbd(props) {
3696
+ return composeClassNames("kbd", radius(props));
3697
+ }
3698
+ function label(props) {
3699
+ return composeClassNames("label", "block", font(props), props.accent && "label-accent", props.muted && "label-muted", _resp("label", props.size));
3700
+ }
3701
+ function popover() {
3702
+ return composeClassNames("popover");
3703
+ }
3704
+ function radio() {
3705
+ return composeClassNames("radio");
3706
+ }
3707
+ function select() {
3708
+ return composeClassNames("select");
3709
+ }
3710
+ function selectable(props) {
3711
+ const {
3712
+ tone = "default"
3713
+ } = props;
3714
+ return composeClassNames("selectable", `selectable-tone-${tone}`, radius(props));
3715
+ }
3716
+ function spinner() {
3717
+ return composeClassNames("spinner");
3718
+ }
3719
+ function animatedSpinnerIcon() {
3720
+ return composeClassNames("animated-spinner-icon");
3721
+ }
3722
+ function _switch() {
3723
+ return composeClassNames("switch");
3724
+ }
3725
+ function text(props) {
3726
+ return composeClassNames("text", "block", font(props), props.accent && "text-accent", props.muted && "text-muted", _resp("text", props.size));
3727
+ }
3728
+ function textArea() {
3729
+ return composeClassNames("text-area");
3730
+ }
3731
+ function textInput(props) {
3732
+ return composeClassNames("text-input", _resp("text-input", props.size), _resp("text-input-p", props.padding));
3733
+ }
3734
+ function textInputElement() {
3735
+ return composeClassNames("text-input-element");
3736
+ }
3737
+ function tooltip() {
3738
+ return composeClassNames("tooltip");
3739
+ }
3740
+ function tooltipCard() {
3741
+ return composeClassNames("tooltip-card");
3742
+ }
3743
+ export {
3744
+ _switch,
3745
+ animatedSpinnerIcon,
3746
+ avatar,
3747
+ avatarArrow,
3748
+ avatarBgStroke,
3749
+ avatarImage,
3750
+ avatarInitials,
3751
+ avatarStroke,
3752
+ badge,
3753
+ box,
3754
+ breadcrumbs,
3755
+ button,
3756
+ buttonLoadingBox,
3757
+ card,
3758
+ checkbox,
3759
+ checkboxInput,
3760
+ code,
3761
+ codeSkeleton,
3762
+ compileSystem,
3763
+ compileTheme,
3764
+ composeClassNames,
3765
+ container,
3766
+ dialog,
3767
+ dialogCardRoot,
3768
+ dialogContainer,
3769
+ dialogContent,
3770
+ dialogFooter,
3771
+ dialogHeader,
3772
+ dialogLayout,
3773
+ heading,
3774
+ headingSkeleton,
3775
+ kbd,
3776
+ label,
3777
+ labelSkeleton,
3778
+ menuDivider,
3779
+ popover,
3780
+ radio,
3781
+ select,
3782
+ selectable,
3783
+ skeleton,
3784
+ spinner,
3785
+ text,
3786
+ textArea,
3787
+ textInput,
3788
+ textInputElement,
3789
+ textSkeleton,
3790
+ tooltip,
3791
+ tooltipCard,
3792
+ treeItem
3793
+ };
3794
+ //# sourceMappingURL=css.esm.js.map