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