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