@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/theme.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: !0 });
3
- var getTheme_v2 = require("./_chunks-cjs/getTheme_v2.js"), color = require("@sanity/color");
3
+ var color = require("@sanity/color");
4
4
  function createSelectableTones(opts, base, dark, solid, muted) {
5
5
  return {
6
6
  default: _createSelectableStates(opts, base, dark, solid, muted, "default"),
@@ -57,46 +57,226 @@ function _createSelectableStates(opts, base, dark, solid, muted, tone) {
57
57
  function createSolidTones(opts, base, dark, name) {
58
58
  return {
59
59
  default: {
60
- enabled: opts.solid({ base, dark, tone: "default", name, state: "enabled" }),
61
- disabled: opts.solid({ base, dark, tone: "default", name, state: "disabled" }),
62
- hovered: opts.solid({ base, dark, tone: "default", name, state: "hovered" }),
63
- pressed: opts.solid({ base, dark, tone: "default", name, state: "pressed" }),
64
- selected: opts.solid({ base, dark, tone: "default", name, state: "selected" })
60
+ enabled: opts.solid({
61
+ base,
62
+ dark,
63
+ tone: "default",
64
+ name,
65
+ state: "enabled"
66
+ }),
67
+ disabled: opts.solid({
68
+ base,
69
+ dark,
70
+ tone: "default",
71
+ name,
72
+ state: "disabled"
73
+ }),
74
+ hovered: opts.solid({
75
+ base,
76
+ dark,
77
+ tone: "default",
78
+ name,
79
+ state: "hovered"
80
+ }),
81
+ pressed: opts.solid({
82
+ base,
83
+ dark,
84
+ tone: "default",
85
+ name,
86
+ state: "pressed"
87
+ }),
88
+ selected: opts.solid({
89
+ base,
90
+ dark,
91
+ tone: "default",
92
+ name,
93
+ state: "selected"
94
+ })
65
95
  },
66
96
  transparent: {
67
- enabled: opts.solid({ base, dark, tone: "transparent", name, state: "enabled" }),
68
- disabled: opts.solid({ base, dark, tone: "transparent", name, state: "disabled" }),
69
- hovered: opts.solid({ base, dark, tone: "transparent", name, state: "hovered" }),
70
- pressed: opts.solid({ base, dark, tone: "transparent", name, state: "pressed" }),
71
- selected: opts.solid({ base, dark, tone: "transparent", name, state: "selected" })
97
+ enabled: opts.solid({
98
+ base,
99
+ dark,
100
+ tone: "transparent",
101
+ name,
102
+ state: "enabled"
103
+ }),
104
+ disabled: opts.solid({
105
+ base,
106
+ dark,
107
+ tone: "transparent",
108
+ name,
109
+ state: "disabled"
110
+ }),
111
+ hovered: opts.solid({
112
+ base,
113
+ dark,
114
+ tone: "transparent",
115
+ name,
116
+ state: "hovered"
117
+ }),
118
+ pressed: opts.solid({
119
+ base,
120
+ dark,
121
+ tone: "transparent",
122
+ name,
123
+ state: "pressed"
124
+ }),
125
+ selected: opts.solid({
126
+ base,
127
+ dark,
128
+ tone: "transparent",
129
+ name,
130
+ state: "selected"
131
+ })
72
132
  },
73
133
  primary: {
74
- enabled: opts.solid({ base, dark, tone: "primary", name, state: "enabled" }),
75
- disabled: opts.solid({ base, dark, tone: "primary", name, state: "disabled" }),
76
- hovered: opts.solid({ base, dark, tone: "primary", name, state: "hovered" }),
77
- pressed: opts.solid({ base, dark, tone: "primary", name, state: "pressed" }),
78
- selected: opts.solid({ base, dark, tone: "primary", name, state: "selected" })
134
+ enabled: opts.solid({
135
+ base,
136
+ dark,
137
+ tone: "primary",
138
+ name,
139
+ state: "enabled"
140
+ }),
141
+ disabled: opts.solid({
142
+ base,
143
+ dark,
144
+ tone: "primary",
145
+ name,
146
+ state: "disabled"
147
+ }),
148
+ hovered: opts.solid({
149
+ base,
150
+ dark,
151
+ tone: "primary",
152
+ name,
153
+ state: "hovered"
154
+ }),
155
+ pressed: opts.solid({
156
+ base,
157
+ dark,
158
+ tone: "primary",
159
+ name,
160
+ state: "pressed"
161
+ }),
162
+ selected: opts.solid({
163
+ base,
164
+ dark,
165
+ tone: "primary",
166
+ name,
167
+ state: "selected"
168
+ })
79
169
  },
80
170
  positive: {
81
- enabled: opts.solid({ base, dark, tone: "positive", name, state: "enabled" }),
82
- disabled: opts.solid({ base, dark, tone: "positive", name, state: "disabled" }),
83
- hovered: opts.solid({ base, dark, tone: "positive", name, state: "hovered" }),
84
- pressed: opts.solid({ base, dark, tone: "positive", name, state: "pressed" }),
85
- selected: opts.solid({ base, dark, tone: "positive", name, state: "selected" })
171
+ enabled: opts.solid({
172
+ base,
173
+ dark,
174
+ tone: "positive",
175
+ name,
176
+ state: "enabled"
177
+ }),
178
+ disabled: opts.solid({
179
+ base,
180
+ dark,
181
+ tone: "positive",
182
+ name,
183
+ state: "disabled"
184
+ }),
185
+ hovered: opts.solid({
186
+ base,
187
+ dark,
188
+ tone: "positive",
189
+ name,
190
+ state: "hovered"
191
+ }),
192
+ pressed: opts.solid({
193
+ base,
194
+ dark,
195
+ tone: "positive",
196
+ name,
197
+ state: "pressed"
198
+ }),
199
+ selected: opts.solid({
200
+ base,
201
+ dark,
202
+ tone: "positive",
203
+ name,
204
+ state: "selected"
205
+ })
86
206
  },
87
207
  caution: {
88
- enabled: opts.solid({ base, dark, tone: "caution", name, state: "enabled" }),
89
- disabled: opts.solid({ base, dark, tone: "caution", name, state: "disabled" }),
90
- hovered: opts.solid({ base, dark, tone: "caution", name, state: "hovered" }),
91
- pressed: opts.solid({ base, dark, tone: "caution", name, state: "pressed" }),
92
- selected: opts.solid({ base, dark, tone: "caution", name, state: "selected" })
208
+ enabled: opts.solid({
209
+ base,
210
+ dark,
211
+ tone: "caution",
212
+ name,
213
+ state: "enabled"
214
+ }),
215
+ disabled: opts.solid({
216
+ base,
217
+ dark,
218
+ tone: "caution",
219
+ name,
220
+ state: "disabled"
221
+ }),
222
+ hovered: opts.solid({
223
+ base,
224
+ dark,
225
+ tone: "caution",
226
+ name,
227
+ state: "hovered"
228
+ }),
229
+ pressed: opts.solid({
230
+ base,
231
+ dark,
232
+ tone: "caution",
233
+ name,
234
+ state: "pressed"
235
+ }),
236
+ selected: opts.solid({
237
+ base,
238
+ dark,
239
+ tone: "caution",
240
+ name,
241
+ state: "selected"
242
+ })
93
243
  },
94
244
  critical: {
95
- enabled: opts.solid({ base, dark, tone: "critical", name, state: "enabled" }),
96
- disabled: opts.solid({ base, dark, tone: "critical", name, state: "disabled" }),
97
- hovered: opts.solid({ base, dark, tone: "critical", name, state: "hovered" }),
98
- pressed: opts.solid({ base, dark, tone: "critical", name, state: "pressed" }),
99
- selected: opts.solid({ base, dark, tone: "critical", name, state: "selected" })
245
+ enabled: opts.solid({
246
+ base,
247
+ dark,
248
+ tone: "critical",
249
+ name,
250
+ state: "enabled"
251
+ }),
252
+ disabled: opts.solid({
253
+ base,
254
+ dark,
255
+ tone: "critical",
256
+ name,
257
+ state: "disabled"
258
+ }),
259
+ hovered: opts.solid({
260
+ base,
261
+ dark,
262
+ tone: "critical",
263
+ name,
264
+ state: "hovered"
265
+ }),
266
+ pressed: opts.solid({
267
+ base,
268
+ dark,
269
+ tone: "critical",
270
+ name,
271
+ state: "pressed"
272
+ }),
273
+ selected: opts.solid({
274
+ base,
275
+ dark,
276
+ tone: "critical",
277
+ name,
278
+ state: "selected"
279
+ })
100
280
  }
101
281
  };
102
282
  }
@@ -287,7 +467,10 @@ const black = "hsl(0, 0%, 0%)", white = "hsl(0, 0%, 100%)", colors = {
287
467
  focusRing: [colors.critical.base, colors.critical.base]
288
468
  }
289
469
  }, defaultOpts = {
290
- base: ({ dark, name }) => name === "default" ? {
470
+ base: ({
471
+ dark,
472
+ name
473
+ }) => name === "default" ? {
291
474
  bg: dark ? black : white,
292
475
  fg: dark ? white : black,
293
476
  border: dark ? colors.default.darkest : colors.default.lightest,
@@ -318,7 +501,12 @@ const black = "hsl(0, 0%, 0%)", white = "hsl(0, 0%, 100%)", colors = {
318
501
  to: dark ? white : black
319
502
  }
320
503
  },
321
- solid: ({ base, dark, state, tone }) => {
504
+ solid: ({
505
+ base,
506
+ dark,
507
+ state,
508
+ tone
509
+ }) => {
322
510
  const color2 = colors[tone];
323
511
  return state === "hovered" ? {
324
512
  bg: dark ? color2.light : color2.dark,
@@ -362,7 +550,12 @@ const black = "hsl(0, 0%, 0%)", white = "hsl(0, 0%, 100%)", colors = {
362
550
  skeleton: base.skeleton
363
551
  };
364
552
  },
365
- muted: ({ base, dark, state, tone }) => {
553
+ muted: ({
554
+ base,
555
+ dark,
556
+ state,
557
+ tone
558
+ }) => {
366
559
  const color2 = colors[tone];
367
560
  return state === "hovered" ? {
368
561
  bg: dark ? color2.darker : color2.lighter,
@@ -406,7 +599,12 @@ const black = "hsl(0, 0%, 0%)", white = "hsl(0, 0%, 100%)", colors = {
406
599
  skeleton: base.skeleton
407
600
  };
408
601
  },
409
- button: ({ base, mode, muted, solid }) => mode === "bleed" ? {
602
+ button: ({
603
+ base,
604
+ mode,
605
+ muted,
606
+ solid
607
+ }) => mode === "bleed" ? {
410
608
  ...muted,
411
609
  enabled: {
412
610
  bg: "transparent",
@@ -454,7 +652,9 @@ const black = "hsl(0, 0%, 0%)", white = "hsl(0, 0%, 100%)", colors = {
454
652
  ...solid,
455
653
  enabled: muted.enabled
456
654
  } : solid,
457
- card: ({ base }) => ({
655
+ card: ({
656
+ base
657
+ }) => ({
458
658
  bg: black,
459
659
  bg2: black,
460
660
  fg: black,
@@ -482,8 +682,14 @@ const black = "hsl(0, 0%, 0%)", white = "hsl(0, 0%, 100%)", colors = {
482
682
  border: black,
483
683
  placeholder: black
484
684
  }),
485
- selectable: ({ muted, state, tone }) => muted[tone][state],
486
- spot: ({ key }) => spots[key],
685
+ selectable: ({
686
+ muted,
687
+ state,
688
+ tone
689
+ }) => muted[tone][state],
690
+ spot: ({
691
+ key
692
+ }) => spots[key],
487
693
  syntax: () => ({
488
694
  atrule: black,
489
695
  attrName: black,
@@ -598,64 +804,283 @@ function createInputModes(opts, base, dark, solid, muted) {
598
804
  function createMutedTones(opts, base, dark, name) {
599
805
  return {
600
806
  default: {
601
- enabled: opts.muted({ base, dark, tone: "default", name, state: "enabled" }),
602
- disabled: opts.muted({ base, dark, tone: "default", name, state: "disabled" }),
603
- hovered: opts.muted({ base, dark, tone: "default", name, state: "hovered" }),
604
- pressed: opts.muted({ base, dark, tone: "default", name, state: "pressed" }),
605
- selected: opts.muted({ base, dark, tone: "default", name, state: "selected" })
807
+ enabled: opts.muted({
808
+ base,
809
+ dark,
810
+ tone: "default",
811
+ name,
812
+ state: "enabled"
813
+ }),
814
+ disabled: opts.muted({
815
+ base,
816
+ dark,
817
+ tone: "default",
818
+ name,
819
+ state: "disabled"
820
+ }),
821
+ hovered: opts.muted({
822
+ base,
823
+ dark,
824
+ tone: "default",
825
+ name,
826
+ state: "hovered"
827
+ }),
828
+ pressed: opts.muted({
829
+ base,
830
+ dark,
831
+ tone: "default",
832
+ name,
833
+ state: "pressed"
834
+ }),
835
+ selected: opts.muted({
836
+ base,
837
+ dark,
838
+ tone: "default",
839
+ name,
840
+ state: "selected"
841
+ })
606
842
  },
607
843
  transparent: {
608
- enabled: opts.muted({ base, dark, tone: "transparent", name, state: "enabled" }),
609
- disabled: opts.muted({ base, dark, tone: "transparent", name, state: "disabled" }),
610
- hovered: opts.muted({ base, dark, tone: "transparent", name, state: "hovered" }),
611
- pressed: opts.muted({ base, dark, tone: "transparent", name, state: "pressed" }),
612
- selected: opts.muted({ base, dark, tone: "transparent", name, state: "selected" })
844
+ enabled: opts.muted({
845
+ base,
846
+ dark,
847
+ tone: "transparent",
848
+ name,
849
+ state: "enabled"
850
+ }),
851
+ disabled: opts.muted({
852
+ base,
853
+ dark,
854
+ tone: "transparent",
855
+ name,
856
+ state: "disabled"
857
+ }),
858
+ hovered: opts.muted({
859
+ base,
860
+ dark,
861
+ tone: "transparent",
862
+ name,
863
+ state: "hovered"
864
+ }),
865
+ pressed: opts.muted({
866
+ base,
867
+ dark,
868
+ tone: "transparent",
869
+ name,
870
+ state: "pressed"
871
+ }),
872
+ selected: opts.muted({
873
+ base,
874
+ dark,
875
+ tone: "transparent",
876
+ name,
877
+ state: "selected"
878
+ })
613
879
  },
614
880
  primary: {
615
- enabled: opts.muted({ base, dark, tone: "primary", name, state: "enabled" }),
616
- disabled: opts.muted({ base, dark, tone: "primary", name, state: "disabled" }),
617
- hovered: opts.muted({ base, dark, tone: "primary", name, state: "hovered" }),
618
- pressed: opts.muted({ base, dark, tone: "primary", name, state: "pressed" }),
619
- selected: opts.muted({ base, dark, tone: "primary", name, state: "selected" })
881
+ enabled: opts.muted({
882
+ base,
883
+ dark,
884
+ tone: "primary",
885
+ name,
886
+ state: "enabled"
887
+ }),
888
+ disabled: opts.muted({
889
+ base,
890
+ dark,
891
+ tone: "primary",
892
+ name,
893
+ state: "disabled"
894
+ }),
895
+ hovered: opts.muted({
896
+ base,
897
+ dark,
898
+ tone: "primary",
899
+ name,
900
+ state: "hovered"
901
+ }),
902
+ pressed: opts.muted({
903
+ base,
904
+ dark,
905
+ tone: "primary",
906
+ name,
907
+ state: "pressed"
908
+ }),
909
+ selected: opts.muted({
910
+ base,
911
+ dark,
912
+ tone: "primary",
913
+ name,
914
+ state: "selected"
915
+ })
620
916
  },
621
917
  positive: {
622
- enabled: opts.muted({ base, dark, tone: "positive", name, state: "enabled" }),
623
- disabled: opts.muted({ base, dark, tone: "positive", name, state: "disabled" }),
624
- hovered: opts.muted({ base, dark, tone: "positive", name, state: "hovered" }),
625
- pressed: opts.muted({ base, dark, tone: "positive", name, state: "pressed" }),
626
- selected: opts.muted({ base, dark, tone: "positive", name, state: "selected" })
918
+ enabled: opts.muted({
919
+ base,
920
+ dark,
921
+ tone: "positive",
922
+ name,
923
+ state: "enabled"
924
+ }),
925
+ disabled: opts.muted({
926
+ base,
927
+ dark,
928
+ tone: "positive",
929
+ name,
930
+ state: "disabled"
931
+ }),
932
+ hovered: opts.muted({
933
+ base,
934
+ dark,
935
+ tone: "positive",
936
+ name,
937
+ state: "hovered"
938
+ }),
939
+ pressed: opts.muted({
940
+ base,
941
+ dark,
942
+ tone: "positive",
943
+ name,
944
+ state: "pressed"
945
+ }),
946
+ selected: opts.muted({
947
+ base,
948
+ dark,
949
+ tone: "positive",
950
+ name,
951
+ state: "selected"
952
+ })
627
953
  },
628
954
  caution: {
629
- enabled: opts.muted({ base, dark, tone: "caution", name, state: "enabled" }),
630
- disabled: opts.muted({ base, dark, tone: "caution", name, state: "disabled" }),
631
- hovered: opts.muted({ base, dark, tone: "caution", name, state: "hovered" }),
632
- pressed: opts.muted({ base, dark, tone: "caution", name, state: "pressed" }),
633
- selected: opts.muted({ base, dark, tone: "caution", name, state: "selected" })
955
+ enabled: opts.muted({
956
+ base,
957
+ dark,
958
+ tone: "caution",
959
+ name,
960
+ state: "enabled"
961
+ }),
962
+ disabled: opts.muted({
963
+ base,
964
+ dark,
965
+ tone: "caution",
966
+ name,
967
+ state: "disabled"
968
+ }),
969
+ hovered: opts.muted({
970
+ base,
971
+ dark,
972
+ tone: "caution",
973
+ name,
974
+ state: "hovered"
975
+ }),
976
+ pressed: opts.muted({
977
+ base,
978
+ dark,
979
+ tone: "caution",
980
+ name,
981
+ state: "pressed"
982
+ }),
983
+ selected: opts.muted({
984
+ base,
985
+ dark,
986
+ tone: "caution",
987
+ name,
988
+ state: "selected"
989
+ })
634
990
  },
635
991
  critical: {
636
- enabled: opts.muted({ base, dark, tone: "critical", name, state: "enabled" }),
637
- disabled: opts.muted({ base, dark, tone: "critical", name, state: "disabled" }),
638
- hovered: opts.muted({ base, dark, tone: "critical", name, state: "hovered" }),
639
- pressed: opts.muted({ base, dark, tone: "critical", name, state: "pressed" }),
640
- selected: opts.muted({ base, dark, tone: "critical", name, state: "selected" })
992
+ enabled: opts.muted({
993
+ base,
994
+ dark,
995
+ tone: "critical",
996
+ name,
997
+ state: "enabled"
998
+ }),
999
+ disabled: opts.muted({
1000
+ base,
1001
+ dark,
1002
+ tone: "critical",
1003
+ name,
1004
+ state: "disabled"
1005
+ }),
1006
+ hovered: opts.muted({
1007
+ base,
1008
+ dark,
1009
+ tone: "critical",
1010
+ name,
1011
+ state: "hovered"
1012
+ }),
1013
+ pressed: opts.muted({
1014
+ base,
1015
+ dark,
1016
+ tone: "critical",
1017
+ name,
1018
+ state: "pressed"
1019
+ }),
1020
+ selected: opts.muted({
1021
+ base,
1022
+ dark,
1023
+ tone: "critical",
1024
+ name,
1025
+ state: "selected"
1026
+ })
641
1027
  }
642
1028
  };
643
1029
  }
644
1030
  function createSpot(opts, base, dark) {
645
1031
  return {
646
- gray: opts.spot({ base, dark, key: "gray" }),
647
- blue: opts.spot({ base, dark, key: "blue" }),
648
- purple: opts.spot({ base, dark, key: "purple" }),
649
- magenta: opts.spot({ base, dark, key: "magenta" }),
650
- red: opts.spot({ base, dark, key: "red" }),
651
- orange: opts.spot({ base, dark, key: "orange" }),
652
- yellow: opts.spot({ base, dark, key: "yellow" }),
653
- green: opts.spot({ base, dark, key: "green" }),
654
- cyan: opts.spot({ base, dark, key: "cyan" })
1032
+ gray: opts.spot({
1033
+ base,
1034
+ dark,
1035
+ key: "gray"
1036
+ }),
1037
+ blue: opts.spot({
1038
+ base,
1039
+ dark,
1040
+ key: "blue"
1041
+ }),
1042
+ purple: opts.spot({
1043
+ base,
1044
+ dark,
1045
+ key: "purple"
1046
+ }),
1047
+ magenta: opts.spot({
1048
+ base,
1049
+ dark,
1050
+ key: "magenta"
1051
+ }),
1052
+ red: opts.spot({
1053
+ base,
1054
+ dark,
1055
+ key: "red"
1056
+ }),
1057
+ orange: opts.spot({
1058
+ base,
1059
+ dark,
1060
+ key: "orange"
1061
+ }),
1062
+ yellow: opts.spot({
1063
+ base,
1064
+ dark,
1065
+ key: "yellow"
1066
+ }),
1067
+ green: opts.spot({
1068
+ base,
1069
+ dark,
1070
+ key: "green"
1071
+ }),
1072
+ cyan: opts.spot({
1073
+ base,
1074
+ dark,
1075
+ key: "cyan"
1076
+ })
655
1077
  };
656
1078
  }
657
1079
  function createColorTheme(partialOpts = {}) {
658
- const builders = { ...defaultOpts, ...partialOpts };
1080
+ const builders = {
1081
+ ...defaultOpts,
1082
+ ...partialOpts
1083
+ };
659
1084
  return {
660
1085
  light: _createColorScheme(builders, !1),
661
1086
  dark: _createColorScheme(builders, !0)
@@ -672,7 +1097,10 @@ function _createColorScheme(opts, dark) {
672
1097
  };
673
1098
  }
674
1099
  function _createColor(opts, dark, name) {
675
- const base = opts.base({ dark, name }), solid = createSolidTones(opts, base, dark, name), muted = createMutedTones(opts, base, dark, name);
1100
+ const base = opts.base({
1101
+ dark,
1102
+ name
1103
+ }), solid = createSolidTones(opts, base, dark, name), muted = createMutedTones(opts, base, dark, name);
676
1104
  return {
677
1105
  base,
678
1106
  button: createButtonModes(opts, base, dark, solid, muted),
@@ -681,233 +1109,576 @@ function _createColor(opts, dark, name) {
681
1109
  input: createInputModes(opts, base, dark, solid, muted),
682
1110
  selectable: createSelectableTones(opts, base, dark, solid, muted),
683
1111
  spot: createSpot(opts, base, dark),
684
- syntax: opts.syntax({ base, dark }),
1112
+ syntax: opts.syntax({
1113
+ base,
1114
+ dark
1115
+ }),
685
1116
  solid,
686
1117
  muted
687
1118
  };
688
1119
  }
689
- const defaultThemeFonts = {
690
- code: {
691
- family: "ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace",
692
- weights: {
693
- regular: 400,
694
- medium: 500,
695
- semibold: 600,
696
- bold: 700
1120
+ const defaultThemeConfig = {
1121
+ _version: 2,
1122
+ avatar: {
1123
+ sizes: [{
1124
+ distance: -4,
1125
+ size: 19
1126
+ }, {
1127
+ distance: -4,
1128
+ size: 25
1129
+ }, {
1130
+ distance: -8,
1131
+ size: 33
1132
+ }, {
1133
+ distance: -12,
1134
+ size: 49
1135
+ }],
1136
+ focusRing: {
1137
+ offset: 1,
1138
+ width: 1
1139
+ }
1140
+ },
1141
+ button: {
1142
+ textWeight: "medium",
1143
+ border: {
1144
+ width: 1
1145
+ },
1146
+ focusRing: {
1147
+ offset: -1,
1148
+ width: 1
1149
+ }
1150
+ },
1151
+ card: {
1152
+ border: {
1153
+ width: 1
1154
+ },
1155
+ focusRing: {
1156
+ offset: -1,
1157
+ width: 1
1158
+ },
1159
+ shadow: {
1160
+ outline: 0.5
1161
+ }
1162
+ },
1163
+ container: [320, 640, 960, 1280, 1600, 1920],
1164
+ media: [360, 600, 900, 1200, 1800, 2400],
1165
+ layer: {
1166
+ dialog: {
1167
+ zOffset: 600
1168
+ },
1169
+ popover: {
1170
+ zOffset: 400
1171
+ },
1172
+ tooltip: {
1173
+ zOffset: 200
1174
+ }
1175
+ },
1176
+ radius: [0, 1, 5, 9, 13, 21, 33],
1177
+ shadow: [null, {
1178
+ umbra: [0, 0, 0, 0],
1179
+ penumbra: [0, 0, 0, 0],
1180
+ ambient: [0, 0, 0, 0]
1181
+ }, {
1182
+ umbra: [0, 3, 5, -2],
1183
+ penumbra: [0, 6, 10, 0],
1184
+ ambient: [0, 1, 18, 1]
1185
+ }, {
1186
+ umbra: [0, 7, 8, -4],
1187
+ penumbra: [0, 12, 17, 2],
1188
+ ambient: [0, 5, 22, 4]
1189
+ }, {
1190
+ umbra: [0, 9, 11, -5],
1191
+ penumbra: [0, 18, 28, 2],
1192
+ ambient: [0, 7, 34, 6]
1193
+ }, {
1194
+ umbra: [0, 11, 15, -7],
1195
+ penumbra: [0, 24, 38, 3],
1196
+ ambient: [0, 9, 46, 8]
1197
+ }],
1198
+ space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],
1199
+ input: {
1200
+ border: {
1201
+ width: 1
1202
+ },
1203
+ checkbox: {
1204
+ size: 17,
1205
+ focusRing: {
1206
+ offset: -1,
1207
+ width: 1
1208
+ }
1209
+ },
1210
+ radio: {
1211
+ size: 17,
1212
+ markSize: 9,
1213
+ focusRing: {
1214
+ offset: -1,
1215
+ width: 1
1216
+ }
1217
+ },
1218
+ switch: {
1219
+ width: 25,
1220
+ height: 17,
1221
+ padding: 5,
1222
+ transitionDurationMs: 150,
1223
+ transitionTimingFunction: "ease-out",
1224
+ focusRing: {
1225
+ offset: 1,
1226
+ width: 1
1227
+ }
1228
+ },
1229
+ select: {
1230
+ focusRing: {
1231
+ offset: -1,
1232
+ width: 1
1233
+ }
1234
+ },
1235
+ text: {
1236
+ focusRing: {
1237
+ offset: -1,
1238
+ width: 1
1239
+ }
1240
+ }
1241
+ },
1242
+ style: {
1243
+ button: {
1244
+ root: {
1245
+ transition: "background-color 100ms,border-color 100ms,color 100ms"
1246
+ }
1247
+ }
1248
+ // card: {
1249
+ // root: {
1250
+ // transition: 'background-color 100ms,border-color 100ms,color 100ms',
1251
+ // },
1252
+ // },
1253
+ }
1254
+ }, defaultThemeFonts = {
1255
+ code: {
1256
+ family: "ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace",
1257
+ weights: {
1258
+ regular: 400,
1259
+ medium: 500,
1260
+ semibold: 600,
1261
+ bold: 700
1262
+ },
1263
+ sizes: [{
1264
+ ascenderHeight: 4,
1265
+ descenderHeight: 4,
1266
+ fontSize: 10,
1267
+ iconSize: 17,
1268
+ lineHeight: 15,
1269
+ letterSpacing: 0
1270
+ }, {
1271
+ ascenderHeight: 5,
1272
+ descenderHeight: 5,
1273
+ fontSize: 13,
1274
+ iconSize: 21,
1275
+ lineHeight: 19,
1276
+ letterSpacing: 0
1277
+ }, {
1278
+ ascenderHeight: 6,
1279
+ descenderHeight: 6,
1280
+ fontSize: 16,
1281
+ iconSize: 25,
1282
+ lineHeight: 23,
1283
+ letterSpacing: 0
1284
+ }, {
1285
+ ascenderHeight: 7,
1286
+ descenderHeight: 7,
1287
+ fontSize: 19,
1288
+ iconSize: 29,
1289
+ lineHeight: 27,
1290
+ letterSpacing: 0
1291
+ }, {
1292
+ ascenderHeight: 8,
1293
+ descenderHeight: 8,
1294
+ fontSize: 22,
1295
+ iconSize: 33,
1296
+ lineHeight: 31,
1297
+ letterSpacing: 0
1298
+ }]
1299
+ },
1300
+ heading: {
1301
+ family: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Liberation Sans", Helvetica, Arial, system-ui, sans-serif',
1302
+ weights: {
1303
+ regular: 700,
1304
+ medium: 800,
1305
+ semibold: 900,
1306
+ bold: 900
1307
+ },
1308
+ sizes: [{
1309
+ ascenderHeight: 5,
1310
+ descenderHeight: 5,
1311
+ fontSize: 13,
1312
+ iconSize: 17,
1313
+ lineHeight: 19,
1314
+ letterSpacing: 0
1315
+ }, {
1316
+ ascenderHeight: 6,
1317
+ descenderHeight: 6,
1318
+ fontSize: 16,
1319
+ iconSize: 25,
1320
+ lineHeight: 23,
1321
+ letterSpacing: 0
1322
+ }, {
1323
+ ascenderHeight: 7,
1324
+ descenderHeight: 7,
1325
+ fontSize: 21,
1326
+ iconSize: 33,
1327
+ lineHeight: 29,
1328
+ letterSpacing: 0
1329
+ }, {
1330
+ ascenderHeight: 8,
1331
+ descenderHeight: 8,
1332
+ fontSize: 27,
1333
+ iconSize: 41,
1334
+ lineHeight: 35,
1335
+ letterSpacing: 0
1336
+ }, {
1337
+ ascenderHeight: 9.5,
1338
+ descenderHeight: 8.5,
1339
+ fontSize: 33,
1340
+ iconSize: 49,
1341
+ lineHeight: 41,
1342
+ letterSpacing: 0
1343
+ }, {
1344
+ ascenderHeight: 10.5,
1345
+ descenderHeight: 9.5,
1346
+ fontSize: 38,
1347
+ iconSize: 53,
1348
+ lineHeight: 47,
1349
+ letterSpacing: 0
1350
+ }]
1351
+ },
1352
+ label: {
1353
+ family: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Liberation Sans", system-ui, sans-serif',
1354
+ weights: {
1355
+ regular: 600,
1356
+ medium: 700,
1357
+ semibold: 800,
1358
+ bold: 900
1359
+ },
1360
+ sizes: [{
1361
+ ascenderHeight: 2,
1362
+ descenderHeight: 2,
1363
+ fontSize: 8.1,
1364
+ iconSize: 13,
1365
+ lineHeight: 10,
1366
+ letterSpacing: 0.5
1367
+ }, {
1368
+ ascenderHeight: 2,
1369
+ descenderHeight: 2,
1370
+ fontSize: 9.5,
1371
+ iconSize: 15,
1372
+ lineHeight: 11,
1373
+ letterSpacing: 0.5
1374
+ }, {
1375
+ ascenderHeight: 2,
1376
+ descenderHeight: 2,
1377
+ fontSize: 10.8,
1378
+ iconSize: 17,
1379
+ lineHeight: 12,
1380
+ letterSpacing: 0.5
1381
+ }, {
1382
+ ascenderHeight: 2,
1383
+ descenderHeight: 2,
1384
+ fontSize: 12.25,
1385
+ iconSize: 19,
1386
+ lineHeight: 13,
1387
+ letterSpacing: 0.5
1388
+ }, {
1389
+ ascenderHeight: 2,
1390
+ descenderHeight: 2,
1391
+ fontSize: 13.6,
1392
+ iconSize: 21,
1393
+ lineHeight: 14,
1394
+ letterSpacing: 0.5
1395
+ }, {
1396
+ ascenderHeight: 2,
1397
+ descenderHeight: 2,
1398
+ fontSize: 15,
1399
+ iconSize: 23,
1400
+ lineHeight: 15,
1401
+ letterSpacing: 0.5
1402
+ }]
1403
+ },
1404
+ text: {
1405
+ family: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Liberation Sans", Helvetica, Arial, system-ui, sans-serif',
1406
+ weights: {
1407
+ regular: 400,
1408
+ medium: 500,
1409
+ semibold: 600,
1410
+ bold: 700
1411
+ },
1412
+ sizes: [{
1413
+ ascenderHeight: 4,
1414
+ descenderHeight: 4,
1415
+ fontSize: 10,
1416
+ iconSize: 17,
1417
+ lineHeight: 15,
1418
+ letterSpacing: 0
1419
+ }, {
1420
+ ascenderHeight: 5,
1421
+ descenderHeight: 5,
1422
+ fontSize: 13,
1423
+ iconSize: 21,
1424
+ lineHeight: 19,
1425
+ letterSpacing: 0
1426
+ }, {
1427
+ ascenderHeight: 6,
1428
+ descenderHeight: 6,
1429
+ fontSize: 15,
1430
+ iconSize: 25,
1431
+ lineHeight: 23,
1432
+ letterSpacing: 0
1433
+ }, {
1434
+ ascenderHeight: 7,
1435
+ descenderHeight: 7,
1436
+ fontSize: 18,
1437
+ iconSize: 29,
1438
+ lineHeight: 27,
1439
+ letterSpacing: 0
1440
+ }, {
1441
+ ascenderHeight: 8,
1442
+ descenderHeight: 8,
1443
+ fontSize: 21,
1444
+ iconSize: 33,
1445
+ lineHeight: 31,
1446
+ letterSpacing: 0
1447
+ }]
1448
+ }
1449
+ }, cache$4 = /* @__PURE__ */ new WeakMap();
1450
+ function themeColor_v0_v2(color_v0) {
1451
+ const cached_v2 = cache$4.get(color_v0);
1452
+ if (cached_v2) return cached_v2;
1453
+ const base = stateThemeColor_v0_v2(color_v0, color_v0.card.enabled), color_v2 = {
1454
+ _blend: color_v0._blend || (color_v0.dark ? "screen" : "multiply"),
1455
+ _dark: color_v0.dark,
1456
+ accent: base.accent,
1457
+ avatar: base.avatar,
1458
+ backdrop: color_v0.base.shadow.ambient,
1459
+ badge: base.badge,
1460
+ bg: color_v0.base.bg,
1461
+ border: color_v0.base.border,
1462
+ button: {
1463
+ default: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.default),
1464
+ ghost: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.ghost),
1465
+ bleed: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.bleed)
1466
+ },
1467
+ code: base.code,
1468
+ fg: color_v0.base.fg,
1469
+ focusRing: color_v0.base.focusRing,
1470
+ icon: base.muted.fg,
1471
+ input: {
1472
+ default: inputStatesThemeColor_v0_v2(color_v0.input.default),
1473
+ invalid: inputStatesThemeColor_v0_v2(color_v0.input.invalid)
1474
+ },
1475
+ kbd: base.kbd,
1476
+ link: base.link,
1477
+ muted: {
1478
+ ...base.muted,
1479
+ bg: color_v0.selectable?.default.enabled.bg2 || color_v0.base.bg
1480
+ },
1481
+ selectable: stateTonesThemeColor_v0_v2(color_v0, color_v0.selectable || color_v0.muted),
1482
+ shadow: color_v0.base.shadow,
1483
+ skeleton: {
1484
+ from: color_v0.skeleton?.from || color_v0.base.border,
1485
+ to: color_v0.skeleton?.to || color_v0.base.border
1486
+ },
1487
+ syntax: color_v0.syntax
1488
+ };
1489
+ return cache$4.set(color_v0, color_v2), color_v2;
1490
+ }
1491
+ function stateTonesThemeColor_v0_v2(v0, t) {
1492
+ return {
1493
+ default: {
1494
+ enabled: stateThemeColor_v0_v2(v0, t.default.enabled),
1495
+ hovered: stateThemeColor_v0_v2(v0, t.default.hovered),
1496
+ pressed: stateThemeColor_v0_v2(v0, t.default.pressed),
1497
+ selected: stateThemeColor_v0_v2(v0, t.default.selected),
1498
+ disabled: stateThemeColor_v0_v2(v0, t.default.disabled)
1499
+ },
1500
+ primary: {
1501
+ enabled: stateThemeColor_v0_v2(v0, t.primary.enabled),
1502
+ hovered: stateThemeColor_v0_v2(v0, t.primary.hovered),
1503
+ pressed: stateThemeColor_v0_v2(v0, t.primary.pressed),
1504
+ selected: stateThemeColor_v0_v2(v0, t.primary.selected),
1505
+ disabled: stateThemeColor_v0_v2(v0, t.primary.disabled)
1506
+ },
1507
+ positive: {
1508
+ enabled: stateThemeColor_v0_v2(v0, t.positive.enabled),
1509
+ hovered: stateThemeColor_v0_v2(v0, t.positive.hovered),
1510
+ pressed: stateThemeColor_v0_v2(v0, t.positive.pressed),
1511
+ selected: stateThemeColor_v0_v2(v0, t.positive.selected),
1512
+ disabled: stateThemeColor_v0_v2(v0, t.positive.disabled)
1513
+ },
1514
+ caution: {
1515
+ enabled: stateThemeColor_v0_v2(v0, t.caution.enabled),
1516
+ hovered: stateThemeColor_v0_v2(v0, t.caution.hovered),
1517
+ pressed: stateThemeColor_v0_v2(v0, t.caution.pressed),
1518
+ selected: stateThemeColor_v0_v2(v0, t.caution.selected),
1519
+ disabled: stateThemeColor_v0_v2(v0, t.caution.disabled)
1520
+ },
1521
+ critical: {
1522
+ enabled: stateThemeColor_v0_v2(v0, t.critical.enabled),
1523
+ hovered: stateThemeColor_v0_v2(v0, t.critical.hovered),
1524
+ pressed: stateThemeColor_v0_v2(v0, t.critical.pressed),
1525
+ selected: stateThemeColor_v0_v2(v0, t.critical.selected),
1526
+ disabled: stateThemeColor_v0_v2(v0, t.critical.disabled)
1527
+ }
1528
+ };
1529
+ }
1530
+ function stateThemeColor_v0_v2(v0, state) {
1531
+ return {
1532
+ ...state,
1533
+ avatar: {
1534
+ gray: {
1535
+ bg: v0.spot.gray,
1536
+ fg: v0.base.bg
1537
+ },
1538
+ blue: {
1539
+ bg: v0.spot.blue,
1540
+ fg: v0.base.bg
1541
+ },
1542
+ purple: {
1543
+ bg: v0.spot.purple,
1544
+ fg: v0.base.bg
1545
+ },
1546
+ magenta: {
1547
+ bg: v0.spot.magenta,
1548
+ fg: v0.base.bg
1549
+ },
1550
+ red: {
1551
+ bg: v0.spot.red,
1552
+ fg: v0.base.bg
1553
+ },
1554
+ orange: {
1555
+ bg: v0.spot.orange,
1556
+ fg: v0.base.bg
1557
+ },
1558
+ yellow: {
1559
+ bg: v0.spot.yellow,
1560
+ fg: v0.base.bg
1561
+ },
1562
+ green: {
1563
+ bg: v0.spot.green,
1564
+ fg: v0.base.bg
1565
+ },
1566
+ cyan: {
1567
+ bg: v0.spot.cyan,
1568
+ fg: v0.base.bg
1569
+ }
1570
+ },
1571
+ badge: {
1572
+ default: {
1573
+ bg: v0.muted.default.enabled.bg,
1574
+ fg: v0.muted.default.enabled.fg,
1575
+ dot: v0.muted.default.enabled.muted.fg,
1576
+ icon: v0.muted.default.enabled.muted.fg
1577
+ },
1578
+ primary: {
1579
+ bg: v0.muted.primary.enabled.bg,
1580
+ fg: v0.muted.primary.enabled.fg,
1581
+ dot: v0.muted.primary.enabled.muted.fg,
1582
+ icon: v0.muted.primary.enabled.muted.fg
1583
+ },
1584
+ positive: {
1585
+ bg: v0.muted.positive.enabled.bg,
1586
+ fg: v0.muted.positive.enabled.fg,
1587
+ dot: v0.muted.positive.enabled.muted.fg,
1588
+ icon: v0.muted.positive.enabled.muted.fg
1589
+ },
1590
+ caution: {
1591
+ bg: v0.muted.caution.enabled.bg,
1592
+ fg: v0.muted.caution.enabled.fg,
1593
+ dot: v0.muted.caution.enabled.muted.fg,
1594
+ icon: v0.muted.caution.enabled.muted.fg
1595
+ },
1596
+ critical: {
1597
+ bg: v0.muted.critical.enabled.bg,
1598
+ fg: v0.muted.critical.enabled.fg,
1599
+ dot: v0.muted.critical.enabled.muted.fg,
1600
+ icon: v0.muted.critical.enabled.muted.fg
1601
+ }
1602
+ },
1603
+ kbd: {
1604
+ bg: v0.muted.default.enabled.bg,
1605
+ fg: v0.muted.default.enabled.fg,
1606
+ border: v0.muted.default.enabled.border
1607
+ },
1608
+ muted: {
1609
+ ...v0.muted.default.enabled.muted,
1610
+ bg: state.bg2 || state.bg
1611
+ },
1612
+ skeleton: {
1613
+ from: state.skeleton?.from || state.border,
1614
+ to: state.skeleton?.to || state.border
1615
+ }
1616
+ };
1617
+ }
1618
+ function inputStatesThemeColor_v0_v2(states) {
1619
+ return {
1620
+ enabled: inputStateThemeColor_v0_v2(states.enabled),
1621
+ disabled: inputStateThemeColor_v0_v2(states.disabled),
1622
+ readOnly: inputStateThemeColor_v0_v2(states.readOnly),
1623
+ hovered: inputStateThemeColor_v0_v2(states.hovered)
1624
+ };
1625
+ }
1626
+ function inputStateThemeColor_v0_v2(state) {
1627
+ return {
1628
+ bg: state.bg,
1629
+ border: state.border,
1630
+ fg: state.fg,
1631
+ muted: {
1632
+ bg: state.bg2
697
1633
  },
698
- sizes: [
699
- {
700
- ascenderHeight: 4,
701
- descenderHeight: 4,
702
- fontSize: 10,
703
- iconSize: 17,
704
- lineHeight: 15,
705
- letterSpacing: 0
706
- },
707
- {
708
- ascenderHeight: 5,
709
- descenderHeight: 5,
710
- fontSize: 13,
711
- iconSize: 21,
712
- lineHeight: 19,
713
- letterSpacing: 0
714
- },
715
- {
716
- ascenderHeight: 6,
717
- descenderHeight: 6,
718
- fontSize: 16,
719
- iconSize: 25,
720
- lineHeight: 23,
721
- letterSpacing: 0
722
- },
723
- {
724
- ascenderHeight: 7,
725
- descenderHeight: 7,
726
- fontSize: 19,
727
- iconSize: 29,
728
- lineHeight: 27,
729
- letterSpacing: 0
730
- },
731
- {
732
- ascenderHeight: 8,
733
- descenderHeight: 8,
734
- fontSize: 22,
735
- iconSize: 33,
736
- lineHeight: 31,
737
- letterSpacing: 0
738
- }
739
- ]
740
- },
741
- heading: {
742
- family: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Liberation Sans", Helvetica, Arial, system-ui, sans-serif',
743
- weights: {
744
- regular: 700,
745
- medium: 800,
746
- semibold: 900,
747
- bold: 900
1634
+ placeholder: state.placeholder
1635
+ };
1636
+ }
1637
+ const cache$3 = /* @__PURE__ */ new WeakMap();
1638
+ function getTheme_v2(theme) {
1639
+ if (theme.sanity.v2?._resolved) return theme.sanity.v2;
1640
+ const cached_v2 = cache$3.get(theme);
1641
+ if (cached_v2) return cached_v2;
1642
+ const v2 = {
1643
+ _version: 2,
1644
+ _resolved: !0,
1645
+ avatar: {
1646
+ ...defaultThemeConfig.avatar,
1647
+ ...theme.sanity.avatar
748
1648
  },
749
- sizes: [
750
- {
751
- ascenderHeight: 5,
752
- descenderHeight: 5,
753
- fontSize: 13,
754
- iconSize: 17,
755
- lineHeight: 19,
756
- letterSpacing: 0
757
- },
758
- {
759
- ascenderHeight: 6,
760
- descenderHeight: 6,
761
- fontSize: 16,
762
- iconSize: 25,
763
- lineHeight: 23,
764
- letterSpacing: 0
765
- },
766
- {
767
- ascenderHeight: 7,
768
- descenderHeight: 7,
769
- fontSize: 21,
770
- iconSize: 33,
771
- lineHeight: 29,
772
- letterSpacing: 0
773
- },
774
- {
775
- ascenderHeight: 8,
776
- descenderHeight: 8,
777
- fontSize: 27,
778
- iconSize: 41,
779
- lineHeight: 35,
780
- letterSpacing: 0
781
- },
782
- {
783
- ascenderHeight: 9.5,
784
- descenderHeight: 8.5,
785
- fontSize: 33,
786
- iconSize: 49,
787
- lineHeight: 41,
788
- letterSpacing: 0
789
- },
790
- {
791
- ascenderHeight: 10.5,
792
- descenderHeight: 9.5,
793
- fontSize: 38,
794
- iconSize: 53,
795
- lineHeight: 47,
796
- letterSpacing: 0
797
- }
798
- ]
799
- },
800
- label: {
801
- family: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Liberation Sans", system-ui, sans-serif',
802
- weights: {
803
- regular: 600,
804
- medium: 700,
805
- semibold: 800,
806
- bold: 900
1649
+ button: {
1650
+ ...defaultThemeConfig.button,
1651
+ ...theme.sanity.button
807
1652
  },
808
- sizes: [
809
- {
810
- ascenderHeight: 2,
811
- descenderHeight: 2,
812
- fontSize: 8.1,
813
- iconSize: 13,
814
- lineHeight: 10,
815
- letterSpacing: 0.5
816
- },
817
- {
818
- ascenderHeight: 2,
819
- descenderHeight: 2,
820
- fontSize: 9.5,
821
- iconSize: 15,
822
- lineHeight: 11,
823
- letterSpacing: 0.5
824
- },
825
- {
826
- ascenderHeight: 2,
827
- descenderHeight: 2,
828
- fontSize: 10.8,
829
- iconSize: 17,
830
- lineHeight: 12,
831
- letterSpacing: 0.5
832
- },
833
- {
834
- ascenderHeight: 2,
835
- descenderHeight: 2,
836
- fontSize: 12.25,
837
- iconSize: 19,
838
- lineHeight: 13,
839
- letterSpacing: 0.5
840
- },
841
- {
842
- ascenderHeight: 2,
843
- descenderHeight: 2,
844
- fontSize: 13.6,
845
- iconSize: 21,
846
- lineHeight: 14,
847
- letterSpacing: 0.5
848
- },
849
- {
850
- ascenderHeight: 2,
851
- descenderHeight: 2,
852
- fontSize: 15,
853
- iconSize: 23,
854
- lineHeight: 15,
855
- letterSpacing: 0.5
1653
+ card: defaultThemeConfig.card,
1654
+ color: themeColor_v0_v2(theme.sanity.color),
1655
+ container: theme.sanity.container,
1656
+ font: theme.sanity.fonts,
1657
+ input: {
1658
+ ...defaultThemeConfig.input,
1659
+ ...theme.sanity.input,
1660
+ checkbox: {
1661
+ ...defaultThemeConfig.input.checkbox,
1662
+ ...theme.sanity.input.checkbox
1663
+ },
1664
+ radio: {
1665
+ ...defaultThemeConfig.input.radio,
1666
+ ...theme.sanity.input.radio
1667
+ },
1668
+ switch: {
1669
+ ...defaultThemeConfig.input.switch,
1670
+ ...theme.sanity.input.switch
856
1671
  }
857
- ]
858
- },
859
- text: {
860
- family: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Liberation Sans", Helvetica, Arial, system-ui, sans-serif',
861
- weights: {
862
- regular: 400,
863
- medium: 500,
864
- semibold: 600,
865
- bold: 700
866
1672
  },
867
- sizes: [
868
- {
869
- ascenderHeight: 4,
870
- descenderHeight: 4,
871
- fontSize: 10,
872
- iconSize: 17,
873
- lineHeight: 15,
874
- letterSpacing: 0
875
- },
876
- {
877
- ascenderHeight: 5,
878
- descenderHeight: 5,
879
- fontSize: 13,
880
- iconSize: 21,
881
- lineHeight: 19,
882
- letterSpacing: 0
883
- },
884
- {
885
- ascenderHeight: 6,
886
- descenderHeight: 6,
887
- fontSize: 15,
888
- iconSize: 25,
889
- lineHeight: 23,
890
- letterSpacing: 0
891
- },
892
- {
893
- ascenderHeight: 7,
894
- descenderHeight: 7,
895
- fontSize: 18,
896
- iconSize: 29,
897
- lineHeight: 27,
898
- letterSpacing: 0
899
- },
900
- {
901
- ascenderHeight: 8,
902
- descenderHeight: 8,
903
- fontSize: 21,
904
- iconSize: 33,
905
- lineHeight: 31,
906
- letterSpacing: 0
907
- }
908
- ]
909
- }
910
- };
1673
+ layer: theme.sanity.layer ?? defaultThemeConfig.layer,
1674
+ media: theme.sanity.media,
1675
+ radius: theme.sanity.radius,
1676
+ shadow: theme.sanity.shadows,
1677
+ space: theme.sanity.space,
1678
+ style: theme.sanity.styles
1679
+ };
1680
+ return cache$3.set(theme, v2), v2;
1681
+ }
911
1682
  function is_v0(themeProp) {
912
1683
  return themeProp._version === 0;
913
1684
  }
@@ -937,55 +1708,51 @@ function v0_v2(v0) {
937
1708
  } = v0, v2 = {
938
1709
  _version: 2,
939
1710
  avatar: {
940
- ...getTheme_v2.defaultThemeConfig.avatar,
1711
+ ...defaultThemeConfig.avatar,
941
1712
  ...avatar
942
1713
  },
943
1714
  button: {
944
- ...getTheme_v2.defaultThemeConfig.button,
1715
+ ...defaultThemeConfig.button,
945
1716
  ...button
946
1717
  },
947
- card: getTheme_v2.defaultThemeConfig.card,
1718
+ card: defaultThemeConfig.card,
948
1719
  color: {
949
1720
  light: {
950
- transparent: getTheme_v2.themeColor_v0_v2(color2.light.transparent),
951
- default: getTheme_v2.themeColor_v0_v2(color2.light.default),
952
- primary: getTheme_v2.themeColor_v0_v2(color2.light.primary),
953
- positive: getTheme_v2.themeColor_v0_v2(color2.light.positive),
954
- caution: getTheme_v2.themeColor_v0_v2(color2.light.caution),
955
- critical: getTheme_v2.themeColor_v0_v2(color2.light.critical),
956
- prospect: getTheme_v2.themeColor_v0_v2(color2.light.default),
957
- explore: getTheme_v2.themeColor_v0_v2(color2.light.default)
1721
+ transparent: themeColor_v0_v2(color2.light.transparent),
1722
+ default: themeColor_v0_v2(color2.light.default),
1723
+ primary: themeColor_v0_v2(color2.light.primary),
1724
+ positive: themeColor_v0_v2(color2.light.positive),
1725
+ caution: themeColor_v0_v2(color2.light.caution),
1726
+ critical: themeColor_v0_v2(color2.light.critical)
958
1727
  },
959
1728
  dark: {
960
- transparent: getTheme_v2.themeColor_v0_v2(color2.dark.transparent),
961
- default: getTheme_v2.themeColor_v0_v2(color2.dark.default),
962
- primary: getTheme_v2.themeColor_v0_v2(color2.dark.primary),
963
- positive: getTheme_v2.themeColor_v0_v2(color2.dark.positive),
964
- caution: getTheme_v2.themeColor_v0_v2(color2.dark.caution),
965
- critical: getTheme_v2.themeColor_v0_v2(color2.dark.critical),
966
- prospect: getTheme_v2.themeColor_v0_v2(color2.dark.default),
967
- explore: getTheme_v2.themeColor_v0_v2(color2.dark.default)
1729
+ transparent: themeColor_v0_v2(color2.dark.transparent),
1730
+ default: themeColor_v0_v2(color2.dark.default),
1731
+ primary: themeColor_v0_v2(color2.dark.primary),
1732
+ positive: themeColor_v0_v2(color2.dark.positive),
1733
+ caution: themeColor_v0_v2(color2.dark.caution),
1734
+ critical: themeColor_v0_v2(color2.dark.critical)
968
1735
  }
969
1736
  },
970
1737
  container,
971
1738
  font,
972
1739
  input: {
973
- ...getTheme_v2.defaultThemeConfig.input,
1740
+ ...defaultThemeConfig.input,
974
1741
  ...input,
975
1742
  checkbox: {
976
- ...getTheme_v2.defaultThemeConfig.input.checkbox,
1743
+ ...defaultThemeConfig.input.checkbox,
977
1744
  ...input.checkbox
978
1745
  },
979
1746
  radio: {
980
- ...getTheme_v2.defaultThemeConfig.input.radio,
1747
+ ...defaultThemeConfig.input.radio,
981
1748
  ...input.radio
982
1749
  },
983
1750
  switch: {
984
- ...getTheme_v2.defaultThemeConfig.input.switch,
1751
+ ...defaultThemeConfig.input.switch,
985
1752
  ...input.switch
986
1753
  }
987
1754
  },
988
- layer: layer ?? getTheme_v2.defaultThemeConfig.layer,
1755
+ layer: layer ?? defaultThemeConfig.layer,
989
1756
  media,
990
1757
  radius,
991
1758
  shadow,
@@ -1101,26 +1868,7 @@ function inputStateThemeColor_v2_v0(t) {
1101
1868
  placeholder: t.placeholder
1102
1869
  };
1103
1870
  }
1104
- const THEME_COLOR_SCHEMES = ["light", "dark"], THEME_COLOR_BLEND_MODES = ["multiply", "screen"], THEME_COLOR_CARD_TONES = [
1105
- "transparent",
1106
- "default",
1107
- "primary",
1108
- "positive",
1109
- "caution",
1110
- "critical",
1111
- // new
1112
- "prospect",
1113
- "explore"
1114
- ], THEME_COLOR_STATE_TONES = [
1115
- "default",
1116
- "primary",
1117
- "positive",
1118
- "caution",
1119
- "critical",
1120
- // new
1121
- "prospect",
1122
- "explore"
1123
- ], THEME_COLOR_STATES = ["enabled", "hovered", "pressed", "selected", "disabled"], THEME_COLOR_BUTTON_MODES = ["default", "ghost", "bleed"], THEME_COLOR_INPUT_MODES = ["default", "invalid"], THEME_COLOR_INPUT_STATES = ["enabled", "hovered", "readOnly", "disabled"], THEME_COLOR_AVATAR_COLORS = color.COLOR_HUES;
1871
+ const AVATAR_SIZE = [0, 1, 2, 3], CONTAINER = [0, 1, 2, 3, 4, 5], RADIUS = [0, 1, 2, 3, 4, 5, 6, "full"], SPACE = [0, 0.5, 1, 2, 3, 4, 5, 6, 7, 8, 9], FONT_CODE_SIZE = [0, 1, 2, 3, 4, 5], FONT_HEADING_SIZE = [0, 1, 2, 3, 4, 5, 6], FONT_LABEL_SIZE = [0, 1, 2, 3, 4, 5, 6], FONT_TEXT_SIZE = [0, 1, 2, 3, 4, 5], SHADOW = [0, 1, 2, 3, 4, 5], THEME_COLOR_SCHEMES = ["light", "dark"], THEME_COLOR_BLEND_MODES = ["multiply", "screen"], THEME_COLOR_CARD_TONES = ["transparent", "default", "primary", "positive", "caution", "critical"], THEME_COLOR_STATE_TONES = ["default", "primary", "positive", "caution", "critical"], THEME_COLOR_STATES = ["enabled", "hovered", "pressed", "selected", "disabled"], THEME_COLOR_BUTTON_MODES = ["default", "ghost", "bleed"], THEME_COLOR_INPUT_MODES = ["default", "invalid"], THEME_COLOR_INPUT_STATES = ["enabled", "hovered", "readOnly", "disabled"], THEME_COLOR_AVATAR_COLORS = color.COLOR_HUES;
1124
1872
  function isColorBlendModeValue(str) {
1125
1873
  return THEME_COLOR_BLEND_MODES.includes(str);
1126
1874
  }
@@ -1133,33 +1881,7 @@ function isColorTintKey(str) {
1133
1881
  function isColorButtonMode(str) {
1134
1882
  return THEME_COLOR_BUTTON_MODES.includes(str);
1135
1883
  }
1136
- const COLOR_CONFIG_STATE_KEYS = [
1137
- "_hue",
1138
- "bg",
1139
- "fg",
1140
- "border",
1141
- "focusRing",
1142
- "muted/fg",
1143
- "accent/fg",
1144
- "link/fg",
1145
- "code/bg",
1146
- "code/fg",
1147
- "skeleton/from",
1148
- "skeleton/to",
1149
- "status/dot",
1150
- "status/icon"
1151
- ], COLOR_CONFIG_CARD_KEYS = [
1152
- ...COLOR_CONFIG_STATE_KEYS,
1153
- "_hue",
1154
- "bg",
1155
- "fg",
1156
- "border",
1157
- "focusRing",
1158
- "shadow/outline",
1159
- "shadow/umbra",
1160
- "shadow/penumbra",
1161
- "shadow/ambient"
1162
- ], COLOR_CONFIG_BLEND_KEYS = ["_blend"], COLOR_CONFIG_AVATAR_COLORS = ["*", ...THEME_COLOR_AVATAR_COLORS], COLOR_CONFIG_CARD_TONES = ["*", ...THEME_COLOR_CARD_TONES], COLOR_CONFIG_STATE_TONES = ["*", ...THEME_COLOR_STATE_TONES], COLOR_CONFIG_STATES = ["*", ...THEME_COLOR_STATES], COLOR_CONFIG_INPUT_MODES = ["*", ...THEME_COLOR_INPUT_MODES], COLOR_CONFIG_INPUT_STATES = ["*", ...THEME_COLOR_INPUT_STATES];
1884
+ const COLOR_CONFIG_STATE_KEYS = ["_hue", "bg", "fg", "border", "focusRing", "muted/fg", "accent/fg", "link/fg", "code/bg", "code/fg", "skeleton/from", "skeleton/to", "status/dot", "status/icon"], COLOR_CONFIG_CARD_KEYS = [...COLOR_CONFIG_STATE_KEYS, "_hue", "bg", "fg", "border", "focusRing", "shadow/outline", "shadow/umbra", "shadow/penumbra", "shadow/ambient"], COLOR_CONFIG_BLEND_KEYS = ["_blend"], COLOR_CONFIG_AVATAR_COLORS = ["*", ...THEME_COLOR_AVATAR_COLORS], COLOR_CONFIG_CARD_TONES = ["*", ...THEME_COLOR_CARD_TONES], COLOR_CONFIG_STATE_TONES = ["*", ...THEME_COLOR_STATE_TONES], COLOR_CONFIG_STATES = ["*", ...THEME_COLOR_STATES], COLOR_CONFIG_INPUT_MODES = ["*", ...THEME_COLOR_INPUT_MODES], COLOR_CONFIG_INPUT_STATES = ["*", ...THEME_COLOR_INPUT_STATES];
1163
1885
  function parseTokenKey(str) {
1164
1886
  const segments = str.split("/"), segment0 = segments.shift() || "";
1165
1887
  if (isColorConfigBaseTone(segment0)) {
@@ -1325,10 +2047,16 @@ function compileColorTokenValue(node) {
1325
2047
  }
1326
2048
  const DEFAULT_COLOR_TOKEN_VALUE = ["500", "500"];
1327
2049
  function resolveColorTokenValue(context, value = DEFAULT_COLOR_TOKEN_VALUE) {
1328
- const { hue, scheme } = context, node = parseTokenValue(value[scheme === "light" ? 0 : 1]);
2050
+ const {
2051
+ hue,
2052
+ scheme
2053
+ } = context, node = parseTokenValue(value[scheme === "light" ? 0 : 1]);
1329
2054
  if (!node || node.type !== "color")
1330
2055
  throw new Error(`Invalid color token: ${value[0]}`);
1331
- return compileColorTokenValue({ ...node, hue: node.hue || hue });
2056
+ return compileColorTokenValue({
2057
+ ...node,
2058
+ hue: node.hue || hue
2059
+ });
1332
2060
  }
1333
2061
  const defaultColorTokens = {
1334
2062
  base: {
@@ -1352,9 +2080,6 @@ const defaultColorTokens = {
1352
2080
  icon: ["500", "500"],
1353
2081
  dot: ["500", "500"]
1354
2082
  },
1355
- default: {
1356
- _hue: "gray"
1357
- },
1358
2083
  positive: {
1359
2084
  bg: ["200 50%", "900"],
1360
2085
  fg: ["600", "500"]
@@ -1371,7 +2096,7 @@ const defaultColorTokens = {
1371
2096
  fg: ["600", "400"]
1372
2097
  },
1373
2098
  fg: ["800", "200"],
1374
- focusRing: ["purple/500", "purple/500"],
2099
+ focusRing: ["blue/500", "blue/500"],
1375
2100
  icon: ["600", "400"],
1376
2101
  kbd: {
1377
2102
  bg: ["white", "black"],
@@ -1379,7 +2104,7 @@ const defaultColorTokens = {
1379
2104
  border: ["200", "800"]
1380
2105
  },
1381
2106
  link: {
1382
- fg: ["purple/600", "purple/300"]
2107
+ fg: ["blue/600", "blue/300"]
1383
2108
  },
1384
2109
  muted: {
1385
2110
  bg: ["50", "950"],
@@ -1406,18 +2131,24 @@ const defaultColorTokens = {
1406
2131
  fg: ["600", "400"]
1407
2132
  }
1408
2133
  },
1409
- primary: { _hue: "purple" },
2134
+ primary: {
2135
+ _hue: "blue"
2136
+ },
1410
2137
  positive: {
1411
2138
  _hue: "green",
1412
- shadow: { outline: ["500/0.4", "500/0.4"] }
2139
+ shadow: {
2140
+ outline: ["500/0.4", "500/0.4"]
2141
+ }
1413
2142
  },
1414
2143
  caution: {
1415
2144
  _hue: "yellow",
1416
- shadow: { outline: ["600/0.3", "500/0.4"] }
2145
+ shadow: {
2146
+ outline: ["600/0.3", "500/0.4"]
2147
+ }
1417
2148
  },
1418
- critical: { _hue: "red" },
1419
- prospect: { _hue: "purple" },
1420
- explore: { _hue: "cyan" }
2149
+ critical: {
2150
+ _hue: "red"
2151
+ }
1421
2152
  },
1422
2153
  button: {
1423
2154
  default: {
@@ -1456,7 +2187,7 @@ const defaultColorTokens = {
1456
2187
  border: ["800", "200"]
1457
2188
  },
1458
2189
  link: {
1459
- fg: ["purple/200", "purple/600"]
2190
+ fg: ["blue/200", "blue/600"]
1460
2191
  },
1461
2192
  muted: {
1462
2193
  bg: ["950", "50"],
@@ -1579,7 +2310,7 @@ const defaultColorTokens = {
1579
2310
  border: ["200", "800"]
1580
2311
  },
1581
2312
  link: {
1582
- fg: ["purple/700 60%", "purple/300 60%"]
2313
+ fg: ["blue/700 60%", "blue/300 60%"]
1583
2314
  },
1584
2315
  muted: {
1585
2316
  bg: ["100", "950"],
@@ -1690,7 +2421,7 @@ const defaultColorTokens = {
1690
2421
  border: ["200", "800"]
1691
2422
  },
1692
2423
  link: {
1693
- fg: ["purple/700 70%", "purple/300 70%"]
2424
+ fg: ["blue/700 70%", "blue/300 70%"]
1694
2425
  },
1695
2426
  muted: {
1696
2427
  bg: ["100", "950"],
@@ -1703,8 +2434,7 @@ const defaultColorTokens = {
1703
2434
  },
1704
2435
  hovered: {
1705
2436
  bg: ["50", "950"],
1706
- fg: ["800", "200"],
1707
- icon: ["800 70%", "300 70%"]
2437
+ icon: ["700 70%", "400 70%"]
1708
2438
  },
1709
2439
  pressed: {
1710
2440
  bg: ["100", "900"],
@@ -1828,7 +2558,7 @@ const defaultColorTokens = {
1828
2558
  border: ["200", "800"]
1829
2559
  },
1830
2560
  link: {
1831
- fg: ["purple/700 70%", "purple/300 70%"]
2561
+ fg: ["blue/700 70%", "blue/300 70%"]
1832
2562
  },
1833
2563
  muted: {
1834
2564
  bg: ["50", "950"],
@@ -1843,7 +2573,6 @@ const defaultColorTokens = {
1843
2573
  bg: ["50", "950"]
1844
2574
  },
1845
2575
  pressed: {
1846
- // _hue: 'purple',
1847
2576
  bg: ["100", "900"]
1848
2577
  },
1849
2578
  selected: {
@@ -1880,7 +2609,7 @@ const defaultColorTokens = {
1880
2609
  border: ["800", "200"]
1881
2610
  },
1882
2611
  link: {
1883
- fg: ["purple/200", "purple/600"]
2612
+ fg: ["blue/200", "blue/600"]
1884
2613
  },
1885
2614
  muted: {
1886
2615
  bg: ["500 10%", "400 10%"],
@@ -1935,7 +2664,7 @@ const defaultColorTokens = {
1935
2664
  },
1936
2665
  default: {
1937
2666
  selected: {
1938
- _hue: "purple"
2667
+ _hue: "blue"
1939
2668
  }
1940
2669
  },
1941
2670
  critical: {
@@ -2016,18 +2745,62 @@ function resolveBaseColorTones(inputTokens, tone) {
2016
2745
  return {
2017
2746
  ...spec,
2018
2747
  _hue: hue,
2019
- avatar: color.COLOR_HUES.reduce((acc, hue2) => ({
2020
- ...acc,
2021
- [hue2]: merge({ _hue: hue2 }, spec.avatar?.["*"], spec.avatar?.[hue2])
2022
- }), {}),
2023
- badge: THEME_COLOR_STATE_TONES.reduce((acc, tone2) => ({
2024
- ...acc,
2025
- [tone2]: {
2026
- _hue: inputTokens?.base?.[tone2]?._hue || hue,
2748
+ avatar: {
2749
+ gray: merge({
2750
+ _hue: "gray"
2751
+ }, spec.avatar?.["*"], spec.avatar?.gray),
2752
+ blue: merge({
2753
+ _hue: "blue"
2754
+ }, spec.avatar?.["*"], spec.avatar?.blue),
2755
+ purple: merge({
2756
+ _hue: "purple"
2757
+ }, spec.avatar?.["*"], spec.avatar?.purple),
2758
+ magenta: merge({
2759
+ _hue: "magenta"
2760
+ }, spec.avatar?.["*"], spec.avatar?.magenta),
2761
+ red: merge({
2762
+ _hue: "red"
2763
+ }, spec.avatar?.["*"], spec.avatar?.red),
2764
+ orange: merge({
2765
+ _hue: "orange"
2766
+ }, spec.avatar?.["*"], spec.avatar?.orange),
2767
+ yellow: merge({
2768
+ _hue: "yellow"
2769
+ }, spec.avatar?.["*"], spec.avatar?.yellow),
2770
+ green: merge({
2771
+ _hue: "green"
2772
+ }, spec.avatar?.["*"], spec.avatar?.green),
2773
+ cyan: merge({
2774
+ _hue: "cyan"
2775
+ }, spec.avatar?.["*"], spec.avatar?.cyan)
2776
+ },
2777
+ badge: {
2778
+ default: {
2779
+ _hue: inputTokens?.base?.default?._hue || hue,
2780
+ ...spec.badge?.["*"],
2781
+ ...spec.badge?.default
2782
+ },
2783
+ primary: {
2784
+ _hue: inputTokens?.base?.primary?._hue || hue,
2785
+ ...spec.badge?.["*"],
2786
+ ...spec.badge?.primary
2787
+ },
2788
+ positive: {
2789
+ _hue: inputTokens?.base?.positive?._hue || hue,
2790
+ ...spec.badge?.["*"],
2791
+ ...spec.badge?.positive
2792
+ },
2793
+ caution: {
2794
+ _hue: inputTokens?.base?.caution?._hue || hue,
2795
+ ...spec.badge?.["*"],
2796
+ ...spec.badge?.caution
2797
+ },
2798
+ critical: {
2799
+ _hue: inputTokens?.base?.critical?._hue || hue,
2027
2800
  ...spec.badge?.["*"],
2028
- ...spec.badge?.[tone2]
2801
+ ...spec.badge?.critical
2029
2802
  }
2030
- }), {})
2803
+ }
2031
2804
  };
2032
2805
  }
2033
2806
  function resolveButtonColorTokens(inputTokens) {
@@ -2049,27 +2822,66 @@ function resolveButtonModeColorTokens(inputTokens, mode, tone) {
2049
2822
  return tokens;
2050
2823
  }
2051
2824
  function resolveButtonStateColorTokens(inputTokens, tone, mode, state) {
2052
- const spec = merge(
2053
- inputTokens?.button?.[mode]?.["*"]?.["*"],
2054
- inputTokens?.button?.[mode]?.[tone]?.["*"],
2055
- inputTokens?.button?.[mode]?.["*"]?.[state],
2056
- inputTokens?.button?.[mode]?.[tone]?.[state]
2057
- ), hue = spec._hue || inputTokens?.base?.[tone]?._hue;
2825
+ const spec = merge(inputTokens?.button?.[mode]?.["*"]?.["*"], inputTokens?.button?.[mode]?.[tone]?.["*"], inputTokens?.button?.[mode]?.["*"]?.[state], inputTokens?.button?.[mode]?.[tone]?.[state]), hue = spec._hue || inputTokens?.base?.[tone]?._hue;
2058
2826
  return {
2059
2827
  ...spec,
2060
2828
  _hue: hue,
2061
- avatar: color.COLOR_HUES.reduce((acc, hue2) => ({
2062
- ...acc,
2063
- [hue2]: merge({ _hue: hue2 }, spec.avatar?.["*"], spec.avatar?.[hue2])
2064
- }), {}),
2065
- badge: THEME_COLOR_STATE_TONES.reduce((acc, tone2) => ({
2066
- ...acc,
2067
- [tone2]: {
2068
- _hue: inputTokens?.base?.[tone2]?._hue || hue,
2829
+ avatar: {
2830
+ gray: merge({
2831
+ _hue: "gray"
2832
+ }, spec.avatar?.["*"], spec.avatar?.gray),
2833
+ blue: merge({
2834
+ _hue: "blue"
2835
+ }, spec.avatar?.["*"], spec.avatar?.blue),
2836
+ purple: merge({
2837
+ _hue: "purple"
2838
+ }, spec.avatar?.["*"], spec.avatar?.purple),
2839
+ magenta: merge({
2840
+ _hue: "magenta"
2841
+ }, spec.avatar?.["*"], spec.avatar?.magenta),
2842
+ red: merge({
2843
+ _hue: "red"
2844
+ }, spec.avatar?.["*"], spec.avatar?.red),
2845
+ orange: merge({
2846
+ _hue: "orange"
2847
+ }, spec.avatar?.["*"], spec.avatar?.orange),
2848
+ yellow: merge({
2849
+ _hue: "yellow"
2850
+ }, spec.avatar?.["*"], spec.avatar?.yellow),
2851
+ green: merge({
2852
+ _hue: "green"
2853
+ }, spec.avatar?.["*"], spec.avatar?.green),
2854
+ cyan: merge({
2855
+ _hue: "cyan"
2856
+ }, spec.avatar?.["*"], spec.avatar?.cyan)
2857
+ },
2858
+ badge: {
2859
+ default: {
2860
+ _hue: inputTokens?.base?.default?._hue,
2861
+ ...spec.badge?.["*"],
2862
+ ...spec.badge?.default
2863
+ },
2864
+ primary: {
2865
+ _hue: inputTokens?.base?.primary?._hue,
2866
+ ...spec.badge?.["*"],
2867
+ ...spec.badge?.primary
2868
+ },
2869
+ positive: {
2870
+ _hue: inputTokens?.base?.positive?._hue,
2871
+ ...spec.badge?.["*"],
2872
+ ...spec.badge?.positive
2873
+ },
2874
+ caution: {
2875
+ _hue: inputTokens?.base?.caution?._hue,
2069
2876
  ...spec.badge?.["*"],
2070
- ...spec.badge?.[tone2]
2877
+ ...spec.badge?.caution
2878
+ },
2879
+ critical: {
2880
+ _hue: inputTokens?.base?.critical?._hue,
2881
+ ...spec.badge?.["*"],
2882
+ ...spec.badge?.critical
2071
2883
  }
2072
- }), {})
2884
+ }
2073
2885
  };
2074
2886
  }
2075
2887
  function resolveInputColorTokens(inputTokens) {
@@ -2085,13 +2897,11 @@ function resolveInputModeColorTokens(inputTokens, mode) {
2085
2897
  return states;
2086
2898
  }
2087
2899
  function resolveInputStateColorTokens(inputTokens, mode, state) {
2088
- const spec = merge(
2089
- inputTokens?.input?.["*"]?.["*"],
2090
- inputTokens?.input?.[mode]?.["*"],
2091
- inputTokens?.input?.["*"]?.[state],
2092
- inputTokens?.input?.[mode]?.[state]
2093
- ), hue = spec._hue || inputTokens?.input?.[mode]?._hue;
2094
- return { ...spec, _hue: hue };
2900
+ const spec = merge(inputTokens?.input?.["*"]?.["*"], inputTokens?.input?.[mode]?.["*"], inputTokens?.input?.["*"]?.[state], inputTokens?.input?.[mode]?.[state]), hue = spec._hue || inputTokens?.input?.[mode]?._hue;
2901
+ return {
2902
+ ...spec,
2903
+ _hue: hue
2904
+ };
2095
2905
  }
2096
2906
  function resolveSelectableColorTokens(inputTokens) {
2097
2907
  const tokens = {};
@@ -2108,27 +2918,66 @@ function resolveSelectableToneColorTokens(inputTokens, tone) {
2108
2918
  return states;
2109
2919
  }
2110
2920
  function resolveSelectableStateColorTokens(inputTokens, tone, state) {
2111
- const spec = merge(
2112
- inputTokens?.selectable?.["*"]?.["*"],
2113
- inputTokens?.selectable?.[tone]?.["*"],
2114
- inputTokens?.selectable?.["*"]?.[state],
2115
- inputTokens?.selectable?.[tone]?.[state]
2116
- ), hue = spec._hue || inputTokens?.base?.[tone]?._hue;
2921
+ const spec = merge(inputTokens?.selectable?.["*"]?.["*"], inputTokens?.selectable?.[tone]?.["*"], inputTokens?.selectable?.["*"]?.[state], inputTokens?.selectable?.[tone]?.[state]), hue = spec._hue || inputTokens?.base?.[tone]?._hue;
2117
2922
  return {
2118
2923
  ...spec,
2119
2924
  _hue: hue,
2120
- avatar: color.COLOR_HUES.reduce((acc, hue2) => ({
2121
- ...acc,
2122
- [hue2]: merge({ _hue: hue2 }, spec.avatar?.["*"], spec.avatar?.[hue2])
2123
- }), {}),
2124
- badge: THEME_COLOR_STATE_TONES.reduce((acc, tone2) => ({
2125
- ...acc,
2126
- [tone2]: {
2127
- _hue: inputTokens?.base?.[tone2]?._hue || hue,
2925
+ avatar: {
2926
+ gray: merge({
2927
+ _hue: "gray"
2928
+ }, spec.avatar?.["*"], spec.avatar?.gray),
2929
+ blue: merge({
2930
+ _hue: "blue"
2931
+ }, spec.avatar?.["*"], spec.avatar?.blue),
2932
+ purple: merge({
2933
+ _hue: "purple"
2934
+ }, spec.avatar?.["*"], spec.avatar?.purple),
2935
+ magenta: merge({
2936
+ _hue: "magenta"
2937
+ }, spec.avatar?.["*"], spec.avatar?.magenta),
2938
+ red: merge({
2939
+ _hue: "red"
2940
+ }, spec.avatar?.["*"], spec.avatar?.red),
2941
+ orange: merge({
2942
+ _hue: "orange"
2943
+ }, spec.avatar?.["*"], spec.avatar?.orange),
2944
+ yellow: merge({
2945
+ _hue: "yellow"
2946
+ }, spec.avatar?.["*"], spec.avatar?.yellow),
2947
+ green: merge({
2948
+ _hue: "green"
2949
+ }, spec.avatar?.["*"], spec.avatar?.green),
2950
+ cyan: merge({
2951
+ _hue: "cyan"
2952
+ }, spec.avatar?.["*"], spec.avatar?.cyan)
2953
+ },
2954
+ badge: {
2955
+ default: {
2956
+ _hue: inputTokens?.base?.default?._hue,
2957
+ ...spec.badge?.["*"],
2958
+ ...spec.badge?.default
2959
+ },
2960
+ primary: {
2961
+ _hue: inputTokens?.base?.primary?._hue,
2962
+ ...spec.badge?.["*"],
2963
+ ...spec.badge?.primary
2964
+ },
2965
+ positive: {
2966
+ _hue: inputTokens?.base?.positive?._hue,
2967
+ ...spec.badge?.["*"],
2968
+ ...spec.badge?.positive
2969
+ },
2970
+ caution: {
2971
+ _hue: inputTokens?.base?.caution?._hue,
2972
+ ...spec.badge?.["*"],
2973
+ ...spec.badge?.caution
2974
+ },
2975
+ critical: {
2976
+ _hue: inputTokens?.base?.critical?._hue,
2128
2977
  ...spec.badge?.["*"],
2129
- ...spec.badge?.[tone2]
2978
+ ...spec.badge?.critical
2130
2979
  }
2131
- }), {})
2980
+ }
2132
2981
  };
2133
2982
  }
2134
2983
  function buildColorTheme(config) {
@@ -2137,28 +2986,71 @@ function buildColorTheme(config) {
2137
2986
  color: resolveColorTokens(config?.color)
2138
2987
  };
2139
2988
  return {
2140
- light: buildColorScheme({ scheme: "light" }, resolvedConfig),
2141
- dark: buildColorScheme({ scheme: "dark" }, resolvedConfig)
2989
+ light: buildColorScheme({
2990
+ scheme: "light"
2991
+ }, resolvedConfig),
2992
+ dark: buildColorScheme({
2993
+ scheme: "dark"
2994
+ }, resolvedConfig)
2142
2995
  };
2143
2996
  }
2144
2997
  function buildColorScheme(options, config) {
2145
- const { scheme } = options;
2146
- return THEME_COLOR_CARD_TONES.reduce((acc, tone) => (acc[tone] = buildCardColorTheme({ scheme, tone }, config), acc), {});
2998
+ const {
2999
+ scheme
3000
+ } = options;
3001
+ return {
3002
+ transparent: buildCardColorTheme({
3003
+ scheme,
3004
+ tone: "transparent"
3005
+ }, config),
3006
+ default: buildCardColorTheme({
3007
+ scheme,
3008
+ tone: "default"
3009
+ }, config),
3010
+ primary: buildCardColorTheme({
3011
+ scheme,
3012
+ tone: "primary"
3013
+ }, config),
3014
+ positive: buildCardColorTheme({
3015
+ scheme,
3016
+ tone: "positive"
3017
+ }, config),
3018
+ caution: buildCardColorTheme({
3019
+ scheme,
3020
+ tone: "caution"
3021
+ }, config),
3022
+ critical: buildCardColorTheme({
3023
+ scheme,
3024
+ tone: "critical"
3025
+ }, config)
3026
+ };
2147
3027
  }
2148
3028
  function buildCardColorTheme(options, config) {
2149
- const { scheme, tone } = options, tokens = config?.color?.base?.[tone], context = { hue: tokens?._hue || "gray", scheme };
3029
+ const {
3030
+ scheme,
3031
+ tone
3032
+ } = options, tokens = config?.color?.base?.[tone], context = {
3033
+ hue: tokens?._hue || "gray",
3034
+ scheme
3035
+ };
2150
3036
  return {
2151
3037
  _blend: (tokens?._blend || ["multiply", "screen"])[scheme === "light" ? 0 : 1],
2152
3038
  _dark: scheme === "dark",
2153
3039
  accent: {
2154
3040
  fg: resolveColorTokenValue(context, tokens?.accent?.fg)
2155
3041
  },
2156
- avatar: buildAvatarColorTheme({ scheme }, tokens),
3042
+ avatar: buildAvatarColorTheme({
3043
+ scheme
3044
+ }, tokens),
2157
3045
  backdrop: resolveColorTokenValue(context, tokens?.backdrop),
2158
- badge: buildBadgeColorTheme(tokens?.badge, { scheme }, config),
3046
+ badge: buildBadgeColorTheme(tokens?.badge, {
3047
+ scheme
3048
+ }, config),
2159
3049
  bg: resolveColorTokenValue(context, tokens?.bg),
2160
3050
  border: resolveColorTokenValue(context, tokens?.border),
2161
- button: buildButtonColorTheme({ scheme, tone }, config),
3051
+ button: buildButtonColorTheme({
3052
+ scheme
3053
+ }, config),
2162
3054
  code: {
2163
3055
  bg: resolveColorTokenValue(context, tokens?.code?.bg),
2164
3056
  fg: resolveColorTokenValue(context, tokens?.code?.fg)
@@ -2166,7 +3058,10 @@ function buildCardColorTheme(options, config) {
2166
3058
  fg: resolveColorTokenValue(context, tokens?.fg),
2167
3059
  focusRing: resolveColorTokenValue(context, tokens?.focusRing),
2168
3060
  icon: resolveColorTokenValue(context, tokens?.icon),
2169
- input: buildInputColorTheme({ scheme, tone }, config),
3061
+ input: buildInputColorTheme({
3062
+ scheme,
3063
+ tone
3064
+ }, config),
2170
3065
  kbd: {
2171
3066
  bg: resolveColorTokenValue(context, tokens?.kbd?.bg),
2172
3067
  fg: resolveColorTokenValue(context, tokens?.kbd?.fg),
@@ -2179,17 +3074,30 @@ function buildCardColorTheme(options, config) {
2179
3074
  bg: resolveColorTokenValue(context, tokens?.muted?.bg),
2180
3075
  fg: resolveColorTokenValue(context, tokens?.muted?.fg)
2181
3076
  },
2182
- selectable: buildSelectableColorTheme({ scheme, tone }, config),
2183
- shadow: buildShadowColorTheme({ scheme, tone }, config),
3077
+ selectable: buildSelectableColorTheme({
3078
+ scheme
3079
+ }, config),
3080
+ shadow: buildShadowColorTheme({
3081
+ scheme,
3082
+ tone
3083
+ }, config),
2184
3084
  skeleton: {
2185
3085
  from: resolveColorTokenValue(context, tokens?.skeleton?.from),
2186
3086
  to: resolveColorTokenValue(context, tokens?.skeleton?.to)
2187
3087
  },
2188
- syntax: buildSyntaxColorTheme({ scheme }, config)
3088
+ syntax: buildSyntaxColorTheme({
3089
+ scheme
3090
+ }, config)
2189
3091
  };
2190
3092
  }
2191
3093
  function buildShadowColorTheme(options, config) {
2192
- const { scheme, tone } = options, tokens = config?.color?.base?.[tone], context = { hue: tokens?._hue || "gray", scheme };
3094
+ const {
3095
+ scheme,
3096
+ tone
3097
+ } = options, tokens = config?.color?.base?.[tone], context = {
3098
+ hue: tokens?._hue || "gray",
3099
+ scheme
3100
+ };
2193
3101
  return {
2194
3102
  outline: resolveColorTokenValue(context, tokens?.shadow?.outline),
2195
3103
  umbra: resolveColorTokenValue(context, tokens?.shadow?.umbra),
@@ -2198,21 +3106,56 @@ function buildShadowColorTheme(options, config) {
2198
3106
  };
2199
3107
  }
2200
3108
  function buildAvatarColorTheme(options, stateTokens) {
2201
- const { scheme } = options;
3109
+ const {
3110
+ scheme
3111
+ } = options;
2202
3112
  return {
2203
- gray: _buildAvatarColorTheme({ color: "gray", scheme }, stateTokens),
2204
- blue: _buildAvatarColorTheme({ color: "blue", scheme }, stateTokens),
2205
- purple: _buildAvatarColorTheme({ color: "purple", scheme }, stateTokens),
2206
- magenta: _buildAvatarColorTheme({ color: "magenta", scheme }, stateTokens),
2207
- red: _buildAvatarColorTheme({ color: "red", scheme }, stateTokens),
2208
- orange: _buildAvatarColorTheme({ color: "orange", scheme }, stateTokens),
2209
- yellow: _buildAvatarColorTheme({ color: "yellow", scheme }, stateTokens),
2210
- green: _buildAvatarColorTheme({ color: "green", scheme }, stateTokens),
2211
- cyan: _buildAvatarColorTheme({ color: "cyan", scheme }, stateTokens)
3113
+ gray: _buildAvatarColorTheme({
3114
+ color: "gray",
3115
+ scheme
3116
+ }, stateTokens),
3117
+ blue: _buildAvatarColorTheme({
3118
+ color: "blue",
3119
+ scheme
3120
+ }, stateTokens),
3121
+ purple: _buildAvatarColorTheme({
3122
+ color: "purple",
3123
+ scheme
3124
+ }, stateTokens),
3125
+ magenta: _buildAvatarColorTheme({
3126
+ color: "magenta",
3127
+ scheme
3128
+ }, stateTokens),
3129
+ red: _buildAvatarColorTheme({
3130
+ color: "red",
3131
+ scheme
3132
+ }, stateTokens),
3133
+ orange: _buildAvatarColorTheme({
3134
+ color: "orange",
3135
+ scheme
3136
+ }, stateTokens),
3137
+ yellow: _buildAvatarColorTheme({
3138
+ color: "yellow",
3139
+ scheme
3140
+ }, stateTokens),
3141
+ green: _buildAvatarColorTheme({
3142
+ color: "green",
3143
+ scheme
3144
+ }, stateTokens),
3145
+ cyan: _buildAvatarColorTheme({
3146
+ color: "cyan",
3147
+ scheme
3148
+ }, stateTokens)
2212
3149
  };
2213
3150
  }
2214
3151
  function _buildAvatarColorTheme(options, stateTokens) {
2215
- const { color: color2, scheme } = options, tokens = stateTokens?.avatar?.[color2], context = { hue: tokens?._hue || "gray", scheme };
3152
+ const {
3153
+ color: color2,
3154
+ scheme
3155
+ } = options, tokens = stateTokens?.avatar?.[color2], context = {
3156
+ hue: tokens?._hue || "gray",
3157
+ scheme
3158
+ };
2216
3159
  return {
2217
3160
  _blend: (tokens?._blend || ["screen", "multiply"])[scheme === "light" ? 0 : 1],
2218
3161
  bg: resolveColorTokenValue(context, tokens?.bg),
@@ -2220,11 +3163,40 @@ function _buildAvatarColorTheme(options, stateTokens) {
2220
3163
  };
2221
3164
  }
2222
3165
  function buildBadgeColorTheme(tokens, options, config) {
2223
- const { scheme } = options;
2224
- return THEME_COLOR_STATE_TONES.reduce((acc, tone) => (acc[tone] = _buildBadgeColorTheme(tokens, { scheme, tone }, config), acc), {});
3166
+ const {
3167
+ scheme
3168
+ } = options;
3169
+ return {
3170
+ default: _buildBadgeColorTheme(tokens, {
3171
+ scheme,
3172
+ tone: "default"
3173
+ }, config),
3174
+ primary: _buildBadgeColorTheme(tokens, {
3175
+ scheme,
3176
+ tone: "primary"
3177
+ }, config),
3178
+ positive: _buildBadgeColorTheme(tokens, {
3179
+ scheme,
3180
+ tone: "positive"
3181
+ }, config),
3182
+ caution: _buildBadgeColorTheme(tokens, {
3183
+ scheme,
3184
+ tone: "caution"
3185
+ }, config),
3186
+ critical: _buildBadgeColorTheme(tokens, {
3187
+ scheme,
3188
+ tone: "critical"
3189
+ }, config)
3190
+ };
2225
3191
  }
2226
3192
  function _buildBadgeColorTheme(parentTokens, options, config) {
2227
- const { scheme, tone } = options, tokens = parentTokens?.[tone], context = { hue: tokens?._hue || config?.color?.base?.[tone]?._hue || "gray", scheme };
3193
+ const {
3194
+ scheme,
3195
+ tone
3196
+ } = options, tokens = parentTokens?.[tone], context = {
3197
+ hue: tokens?._hue || config?.color?.base?.[tone]?._hue || "gray",
3198
+ scheme
3199
+ };
2228
3200
  return {
2229
3201
  bg: resolveColorTokenValue(context, tokens?.bg),
2230
3202
  fg: resolveColorTokenValue(context, tokens?.fg),
@@ -2233,32 +3205,65 @@ function _buildBadgeColorTheme(parentTokens, options, config) {
2233
3205
  };
2234
3206
  }
2235
3207
  function buildButtonColorTheme(options, config) {
2236
- const { scheme, tone: cardTone } = options, modes = {};
3208
+ const {
3209
+ scheme
3210
+ } = options, modes = {};
2237
3211
  for (const mode of THEME_COLOR_BUTTON_MODES)
2238
- modes[mode] = buildButtonTonesColorTheme({ cardTone, scheme, mode }, config);
3212
+ modes[mode] = buildButtonTonesColorTheme({
3213
+ scheme,
3214
+ mode
3215
+ }, config);
2239
3216
  return modes;
2240
3217
  }
2241
3218
  function buildButtonTonesColorTheme(options, config) {
2242
- const { cardTone, mode, scheme } = options, tones2 = {};
3219
+ const {
3220
+ mode,
3221
+ scheme
3222
+ } = options, tones2 = {};
2243
3223
  for (const tone of THEME_COLOR_STATE_TONES)
2244
- tones2[tone] = buildButtonStatesColorTheme({ cardTone, mode, scheme, tone }, config);
3224
+ tones2[tone] = buildButtonStatesColorTheme({
3225
+ mode,
3226
+ scheme,
3227
+ tone
3228
+ }, config);
2245
3229
  return tones2;
2246
3230
  }
2247
3231
  function buildButtonStatesColorTheme(options, config) {
2248
- const { cardTone, mode, scheme, tone } = options, states = {};
3232
+ const {
3233
+ mode,
3234
+ scheme,
3235
+ tone
3236
+ } = options, states = {};
2249
3237
  for (const state of THEME_COLOR_STATES)
2250
- states[state] = buildButtonStateColorTheme({ cardTone, mode, tone, scheme, state }, config);
3238
+ states[state] = buildButtonStateColorTheme({
3239
+ mode,
3240
+ tone,
3241
+ scheme,
3242
+ state
3243
+ }, config);
2251
3244
  return states;
2252
3245
  }
2253
3246
  function buildButtonStateColorTheme(options, config) {
2254
- const { cardTone, mode, tone, scheme, state } = options, cardTokens = config?.color?.base?.[cardTone], tokens = config?.color?.button?.[mode]?.[tone]?.[state], hue = tokens?._hue || cardTokens?._hue || "gray", blendMode = tokens?._blend || ["screen", "multiply"], context = { hue, scheme };
3247
+ const {
3248
+ mode,
3249
+ tone,
3250
+ scheme,
3251
+ state
3252
+ } = options, tokens = config?.color?.button?.[mode]?.[tone]?.[state], hue = tokens?._hue || "gray", blendMode = tokens?._blend || ["screen", "multiply"], context = {
3253
+ hue,
3254
+ scheme
3255
+ };
2255
3256
  return {
2256
3257
  _blend: blendMode[scheme === "light" ? 0 : 1],
2257
3258
  accent: {
2258
3259
  fg: resolveColorTokenValue(context, tokens?.accent?.fg)
2259
3260
  },
2260
- avatar: buildAvatarColorTheme({ scheme }, tokens),
2261
- badge: buildBadgeColorTheme(tokens?.badge, { scheme }, config),
3261
+ avatar: buildAvatarColorTheme({
3262
+ scheme
3263
+ }, tokens),
3264
+ badge: buildBadgeColorTheme(tokens?.badge, {
3265
+ scheme
3266
+ }, config),
2262
3267
  bg: resolveColorTokenValue(context, tokens?.bg),
2263
3268
  border: resolveColorTokenValue(context, tokens?.border),
2264
3269
  code: {
@@ -2286,23 +3291,66 @@ function buildButtonStateColorTheme(options, config) {
2286
3291
  };
2287
3292
  }
2288
3293
  function buildInputColorTheme(options, config) {
2289
- const { scheme, tone } = options;
3294
+ const {
3295
+ scheme,
3296
+ tone
3297
+ } = options;
2290
3298
  return {
2291
- default: buildInputStatesColorTheme({ mode: "default", scheme, tone }, config),
2292
- invalid: buildInputStatesColorTheme({ mode: "invalid", scheme, tone }, config)
3299
+ default: buildInputStatesColorTheme({
3300
+ mode: "default",
3301
+ scheme,
3302
+ tone
3303
+ }, config),
3304
+ invalid: buildInputStatesColorTheme({
3305
+ mode: "invalid",
3306
+ scheme,
3307
+ tone
3308
+ }, config)
2293
3309
  };
2294
3310
  }
2295
3311
  function buildInputStatesColorTheme(options, config) {
2296
- const { mode, scheme, tone } = options;
3312
+ const {
3313
+ mode,
3314
+ scheme,
3315
+ tone
3316
+ } = options;
2297
3317
  return {
2298
- enabled: buildInputStateColorTheme({ mode, scheme, state: "enabled", cardTone: tone }, config),
2299
- hovered: buildInputStateColorTheme({ mode, scheme, state: "hovered", cardTone: tone }, config),
2300
- readOnly: buildInputStateColorTheme({ mode, scheme, state: "readOnly", cardTone: tone }, config),
2301
- disabled: buildInputStateColorTheme({ mode, scheme, state: "disabled", cardTone: tone }, config)
3318
+ enabled: buildInputStateColorTheme({
3319
+ mode,
3320
+ scheme,
3321
+ state: "enabled",
3322
+ tone
3323
+ }, config),
3324
+ hovered: buildInputStateColorTheme({
3325
+ mode,
3326
+ scheme,
3327
+ state: "hovered",
3328
+ tone
3329
+ }, config),
3330
+ readOnly: buildInputStateColorTheme({
3331
+ mode,
3332
+ scheme,
3333
+ state: "readOnly",
3334
+ tone
3335
+ }, config),
3336
+ disabled: buildInputStateColorTheme({
3337
+ mode,
3338
+ scheme,
3339
+ state: "disabled",
3340
+ tone
3341
+ }, config)
2302
3342
  };
2303
3343
  }
2304
3344
  function buildInputStateColorTheme(options, config) {
2305
- const { cardTone, mode, scheme, state } = options, cardTokens = config?.color?.base?.[cardTone], tokens = config?.color?.input?.[mode]?.[state], hue = tokens?._hue || cardTokens?._hue || "gray", blendMode = tokens?._blend || ["screen", "multiply"], context = { hue, scheme };
3345
+ const {
3346
+ mode,
3347
+ tone,
3348
+ scheme,
3349
+ state
3350
+ } = options, tokens = config?.color?.input?.[mode]?.[state], hue = tokens?._hue || config?.color?.base?.[tone]?._hue || "gray", blendMode = tokens?._blend || ["screen", "multiply"], context = {
3351
+ hue,
3352
+ scheme
3353
+ };
2306
3354
  return {
2307
3355
  _blend: blendMode[scheme === "light" ? 0 : 1],
2308
3356
  bg: resolveColorTokenValue(context, tokens?.bg),
@@ -2315,26 +3363,49 @@ function buildInputStateColorTheme(options, config) {
2315
3363
  };
2316
3364
  }
2317
3365
  function buildSelectableColorTheme(options, config) {
2318
- const { scheme, tone: cardTone } = options, tones2 = {};
3366
+ const {
3367
+ scheme
3368
+ } = options, tones2 = {};
2319
3369
  for (const tone of THEME_COLOR_STATE_TONES)
2320
- tones2[tone] = buildSelectableStatesColorTheme({ cardTone, scheme, tone }, config);
3370
+ tones2[tone] = buildSelectableStatesColorTheme({
3371
+ scheme,
3372
+ tone
3373
+ }, config);
2321
3374
  return tones2;
2322
3375
  }
2323
3376
  function buildSelectableStatesColorTheme(options, config) {
2324
- const { cardTone, scheme, tone } = options, states = {};
3377
+ const {
3378
+ scheme,
3379
+ tone
3380
+ } = options, states = {};
2325
3381
  for (const state of THEME_COLOR_STATES)
2326
- states[state] = buildSelectableStateColorTheme({ cardTone, tone, scheme, state }, config);
3382
+ states[state] = buildSelectableStateColorTheme({
3383
+ tone,
3384
+ scheme,
3385
+ state
3386
+ }, config);
2327
3387
  return states;
2328
3388
  }
2329
3389
  function buildSelectableStateColorTheme(options, config) {
2330
- const { cardTone, scheme, state, tone } = options, cardTokens = config?.color?.base?.[cardTone], tokens = config?.color?.selectable?.[tone]?.[state], hue = tokens?._hue || cardTokens?._hue || "gray", blendMode = tokens?._blend || ["screen", "multiply"], context = { hue, scheme };
3390
+ const {
3391
+ scheme,
3392
+ state,
3393
+ tone
3394
+ } = options, tokens = config?.color?.selectable?.[tone]?.[state], hue = tokens?._hue || "gray", blendMode = tokens?._blend || ["screen", "multiply"], context = {
3395
+ hue,
3396
+ scheme
3397
+ };
2331
3398
  return {
2332
3399
  _blend: blendMode[scheme === "light" ? 0 : 1],
2333
3400
  accent: {
2334
3401
  fg: resolveColorTokenValue(context, tokens?.accent?.fg)
2335
3402
  },
2336
- avatar: buildAvatarColorTheme({ scheme }, tokens),
2337
- badge: buildBadgeColorTheme(tokens?.badge, { scheme }, config),
3403
+ avatar: buildAvatarColorTheme({
3404
+ scheme
3405
+ }, tokens),
3406
+ badge: buildBadgeColorTheme(tokens?.badge, {
3407
+ scheme
3408
+ }, config),
2338
3409
  bg: resolveColorTokenValue(context, tokens?.bg),
2339
3410
  border: resolveColorTokenValue(context, tokens?.border),
2340
3411
  code: {
@@ -2362,7 +3433,12 @@ function buildSelectableStateColorTheme(options, config) {
2362
3433
  };
2363
3434
  }
2364
3435
  function buildSyntaxColorTheme(options, config) {
2365
- const { scheme } = options, tokens = config?.color?.syntax, context = { hue: "gray", scheme };
3436
+ const {
3437
+ scheme
3438
+ } = options, tokens = config?.color?.syntax, context = {
3439
+ hue: "gray",
3440
+ scheme
3441
+ };
2366
3442
  return {
2367
3443
  atrule: resolveColorTokenValue(context, tokens?.atrule),
2368
3444
  attrName: resolveColorTokenValue(context, tokens?.attrName),
@@ -2477,11 +3553,19 @@ function rgbToHex(color2) {
2477
3553
  const r = round(clamp(Math.round(color2.r), 0, 255)), g = round(clamp(Math.round(color2.g), 0, 255)), b = round(clamp(Math.round(color2.b), 0, 255));
2478
3554
  return "a" in color2 ? `rgba(${r},${g},${b},${color2.a})` : "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
2479
3555
  }
2480
- function rgbToHsl({ r, g, b }) {
3556
+ function rgbToHsl({
3557
+ r,
3558
+ g,
3559
+ b
3560
+ }) {
2481
3561
  r /= 255, g /= 255, b /= 255;
2482
3562
  const cmin = Math.min(r, g, b), cmax = Math.max(r, g, b), delta = cmax - cmin;
2483
3563
  let h = 0, s = 0, l = 0;
2484
- return delta == 0 ? h = 0 : cmax == r ? h = (g - b) / delta % 6 : cmax == g ? h = (b - r) / delta + 2 : h = (r - g) / delta + 4, h = Math.round(h * 60), h < 0 && (h += 360), l = (cmax + cmin) / 2, s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1)), s = +(s * 100).toFixed(1), l = +(l * 100).toFixed(1), { h, s, l };
3564
+ return delta == 0 ? h = 0 : cmax == r ? h = (g - b) / delta % 6 : cmax == g ? h = (b - r) / delta + 2 : h = (r - g) / delta + 4, h = Math.round(h * 60), h < 0 && (h += 360), l = (cmax + cmin) / 2, s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1)), s = +(s * 100).toFixed(1), l = +(l * 100).toFixed(1), {
3565
+ h,
3566
+ s,
3567
+ l
3568
+ };
2485
3569
  }
2486
3570
  function hslToRgb(hsl) {
2487
3571
  const s = hsl.s / 100, l = hsl.l / 100, c = (1 - Math.abs(2 * l - 1)) * s, x = c * (1 - Math.abs(hsl.h / 60 % 2 - 1)), m = l - c / 2;
@@ -2506,10 +3590,18 @@ function parseHsl(str) {
2506
3590
  const res = HSL_RE.exec(str);
2507
3591
  if (!res)
2508
3592
  throw new Error(`parseHsl: string is not a HSL color: "${str}"`);
2509
- return { h: parseInt(res[1]), s: parseFloat(res[3]), l: parseFloat(res[5]) };
3593
+ return {
3594
+ h: parseInt(res[1]),
3595
+ s: parseFloat(res[3]),
3596
+ l: parseFloat(res[5])
3597
+ };
2510
3598
  }
2511
3599
  function parseColor(color2) {
2512
- if (!color2) return { r: 0, g: 0, b: 0 };
3600
+ if (!color2) return {
3601
+ r: 0,
3602
+ g: 0,
3603
+ b: 0
3604
+ };
2513
3605
  if (typeof color2 != "string")
2514
3606
  throw new Error("parseColor: expected a string");
2515
3607
  if (isHex(color2))
@@ -2524,7 +3616,11 @@ function getContrastRatio(bg, fg) {
2524
3616
  const rgb1 = parseColor(bg), rgb2 = parseColor(fg), c1 = rgb_lrgb(rgb1), c2 = rgb_lrgb(rgb2), l1 = lrgb_luminance(c1), l2 = lrgb_luminance(c2);
2525
3617
  return (Math.max(l1, l2) + 0.05) / (Math.min(l1, l2) + 0.05);
2526
3618
  }
2527
- function rgb_lrgb({ r, g, b }) {
3619
+ function rgb_lrgb({
3620
+ r,
3621
+ g,
3622
+ b
3623
+ }) {
2528
3624
  return [rgb_lrgb1(r / 255), rgb_lrgb1(g / 255), rgb_lrgb1(b / 255)];
2529
3625
  }
2530
3626
  function rgb_lrgb1(v) {
@@ -2539,7 +3635,9 @@ function rgba(color2, a) {
2539
3635
  }
2540
3636
  const RGB_RANGE = [0, 255];
2541
3637
  function mixThemeColor(value, options) {
2542
- const { blendMode } = options, color2 = parseColor(value), black2 = parseColor(options.black), white2 = parseColor(options.white), bg = options.bg ? parseColor(options.bg) : blendMode === "multiply" ? white2 : black2, paletteRange = {
3638
+ const {
3639
+ blendMode
3640
+ } = options, color2 = parseColor(value), black2 = parseColor(options.black), white2 = parseColor(options.white), bg = options.bg ? parseColor(options.bg) : blendMode === "multiply" ? white2 : black2, paletteRange = {
2543
3641
  r: [black2.r, white2.r],
2544
3642
  g: [black2.g, white2.g],
2545
3643
  b: [black2.b, white2.b]
@@ -2559,7 +3657,11 @@ function mixThemeColor(value, options) {
2559
3657
  return rgbToHex(v);
2560
3658
  }
2561
3659
  function renderColorValue(str, options) {
2562
- const { bg, blendMode, colorPalette } = options;
3660
+ const {
3661
+ bg,
3662
+ blendMode,
3663
+ colorPalette
3664
+ } = options;
2563
3665
  if (bg === "white")
2564
3666
  throw new Error("Cannot blend with white background");
2565
3667
  const node = parseTokenValue(str);
@@ -2591,60 +3693,68 @@ function renderColorHex(color2) {
2591
3693
  function renderThemeColorSchemes(value, config) {
2592
3694
  const colorPalette = config?.palette ?? defaultColorPalette;
2593
3695
  return {
2594
- light: renderThemeColorScheme(colorPalette, value.light, { debugPath: "light" }),
2595
- dark: renderThemeColorScheme(colorPalette, value.dark, { debugPath: "dark" })
3696
+ light: renderThemeColorScheme(colorPalette, value.light),
3697
+ dark: renderThemeColorScheme(colorPalette, value.dark)
2596
3698
  };
2597
3699
  }
2598
- function renderThemeColorScheme(colorPalette, value, options) {
2599
- const { debugPath } = options, toneEntries = Object.entries(value), [, transparentTone] = toneEntries.find(([k]) => k === "transparent"), [, defaultTone] = toneEntries.find(([k]) => k === "default"), renderedTransparentTone = renderThemeColor(transparentTone, {
2600
- colorPalette,
2601
- debugPath: `${debugPath}.transparent`
3700
+ function renderThemeColorScheme(colorPalette, value) {
3701
+ const toneEntries = Object.entries(value), [, transparentTone] = toneEntries.find(([k]) => k === "transparent"), [, defaultTone] = toneEntries.find(([k]) => k === "default"), renderedTransparentTone = renderThemeColor(transparentTone, {
3702
+ colorPalette
2602
3703
  }), renderedDefaultTone = renderThemeColor(defaultTone, {
2603
- colorPalette,
2604
- debugPath: `${debugPath}.default`
3704
+ colorPalette
2605
3705
  }), bg = renderedDefaultTone.bg;
2606
3706
  if (bg === "white")
2607
3707
  throw new Error("Cannot blend with white background");
2608
- return Object.fromEntries([
2609
- ["transparent", renderedTransparentTone],
2610
- ["default", renderedDefaultTone],
2611
- ...toneEntries.filter(([k]) => k !== "default" && k !== "transparent").map(([k, v]) => [
2612
- k,
2613
- renderThemeColor(v, {
2614
- bg,
2615
- colorPalette,
2616
- debugPath: `${debugPath}.${k}`
2617
- })
2618
- ])
2619
- ]);
3708
+ return Object.fromEntries([["transparent", renderedTransparentTone], ["default", renderedDefaultTone], ...toneEntries.filter(([k]) => k !== "default" && k !== "transparent").map(([k, v]) => [k, renderThemeColor(v, {
3709
+ bg,
3710
+ colorPalette
3711
+ })])]);
2620
3712
  }
2621
3713
  function renderThemeColor(value, options) {
2622
- const { colorPalette, bg, debugPath } = options, blendMode = value._blend || "multiply", baseBg = renderColorValue(value.bg, { colorPalette, bg, blendMode }), colorOptions = { colorPalette, bg: baseBg, blendMode }, button = renderThemeColorButton(value.button, {
3714
+ const {
3715
+ colorPalette,
3716
+ bg
3717
+ } = options, blendMode = value._blend || "multiply", baseBg = renderColorValue(value.bg, {
3718
+ colorPalette,
3719
+ bg,
3720
+ blendMode
3721
+ }), colorOptions = {
3722
+ colorPalette,
3723
+ bg: baseBg,
3724
+ blendMode
3725
+ }, button = renderThemeColorButton(value.button, {
2623
3726
  baseBg,
2624
3727
  blendMode,
2625
- colorPalette,
2626
- debugPath: `${debugPath}.button`
3728
+ colorPalette
2627
3729
  }), selectable = renderThemeColorSelectable(value.selectable, {
2628
3730
  colorPalette,
2629
3731
  baseBg,
2630
- blendMode,
2631
- debugPath: `${debugPath}.selectable`
3732
+ blendMode
2632
3733
  }), shadow = {
2633
3734
  outline: renderColorValue(value.shadow.outline, colorOptions),
2634
3735
  umbra: renderColorValue(value.shadow.umbra, {
2635
3736
  ...colorOptions,
2636
3737
  bg: void 0,
2637
- colorPalette: { ...colorPalette, black: "#000000" }
3738
+ colorPalette: {
3739
+ ...colorPalette,
3740
+ black: "#000000"
3741
+ }
2638
3742
  }),
2639
3743
  penumbra: renderColorValue(value.shadow.penumbra, {
2640
3744
  ...colorOptions,
2641
3745
  bg: void 0,
2642
- colorPalette: { ...colorPalette, black: "#000000" }
3746
+ colorPalette: {
3747
+ ...colorPalette,
3748
+ black: "#000000"
3749
+ }
2643
3750
  }),
2644
3751
  ambient: renderColorValue(value.shadow.ambient, {
2645
3752
  ...colorOptions,
2646
3753
  bg: void 0,
2647
- colorPalette: { ...colorPalette, black: "#000000" }
3754
+ colorPalette: {
3755
+ ...colorPalette,
3756
+ black: "#000000"
3757
+ }
2648
3758
  })
2649
3759
  };
2650
3760
  return {
@@ -2656,15 +3766,13 @@ function renderThemeColor(value, options) {
2656
3766
  avatar: renderThemeColorAvatar(value.avatar, {
2657
3767
  baseBg,
2658
3768
  colorPalette,
2659
- blendMode,
2660
- debugPath: `${debugPath}.avatar`
3769
+ blendMode
2661
3770
  }),
2662
3771
  backdrop: renderColorValue(value.backdrop, colorOptions),
2663
3772
  badge: renderThemeColorBadge(value.badge, {
2664
3773
  baseBg,
2665
3774
  colorPalette,
2666
- blendMode,
2667
- debugPath: `${debugPath}.badge`
3775
+ blendMode
2668
3776
  }),
2669
3777
  bg: baseBg,
2670
3778
  border: renderColorValue(value.border, colorOptions),
@@ -2679,14 +3787,12 @@ function renderThemeColor(value, options) {
2679
3787
  input: renderThemeColorInput(value.input, {
2680
3788
  baseBg,
2681
3789
  colorPalette,
2682
- blendMode,
2683
- debugPath: `${debugPath}.input`
3790
+ blendMode
2684
3791
  }),
2685
3792
  kbd: renderThemeColorKBD(value.kbd, {
2686
3793
  baseBg,
2687
3794
  colorPalette,
2688
- blendMode,
2689
- debugPath: `${debugPath}.kbd`
3795
+ blendMode
2690
3796
  }),
2691
3797
  link: {
2692
3798
  fg: renderColorValue(value.link.fg, colorOptions)
@@ -2703,14 +3809,17 @@ function renderThemeColor(value, options) {
2703
3809
  syntax: renderSyntaxColorTheme(value.syntax, {
2704
3810
  baseBg,
2705
3811
  colorPalette,
2706
- blendMode,
2707
- debugPath: `${debugPath}.syntax`
3812
+ blendMode
2708
3813
  }),
2709
3814
  selectable
2710
3815
  };
2711
3816
  }
2712
3817
  function renderThemeColorKBD(value, options) {
2713
- const { baseBg, blendMode, colorPalette } = options, rootOptions = {
3818
+ const {
3819
+ baseBg,
3820
+ blendMode,
3821
+ colorPalette
3822
+ } = options, rootOptions = {
2714
3823
  bg: baseBg,
2715
3824
  blendMode,
2716
3825
  colorPalette
@@ -2726,48 +3835,24 @@ function renderThemeColorKBD(value, options) {
2726
3835
  };
2727
3836
  }
2728
3837
  function renderThemeColorAvatar(value, options) {
2729
- const { debugPath } = options;
2730
3838
  return {
2731
- gray: renderThemeColorAvatarColor(value.gray, {
2732
- ...options,
2733
- debugPath: `${debugPath}.gray`
2734
- }),
2735
- blue: renderThemeColorAvatarColor(value.blue, {
2736
- ...options,
2737
- debugPath: `${debugPath}.blue`
2738
- }),
2739
- purple: renderThemeColorAvatarColor(value.purple, {
2740
- ...options,
2741
- debugPath: `${debugPath}.purple`
2742
- }),
2743
- magenta: renderThemeColorAvatarColor(value.magenta, {
2744
- ...options,
2745
- debugPath: `${debugPath}.magenta`
2746
- }),
2747
- red: renderThemeColorAvatarColor(value.red, {
2748
- ...options,
2749
- debugPath: `${debugPath}.red`
2750
- }),
2751
- orange: renderThemeColorAvatarColor(value.orange, {
2752
- ...options,
2753
- debugPath: `${debugPath}.orange`
2754
- }),
2755
- yellow: renderThemeColorAvatarColor(value.yellow, {
2756
- ...options,
2757
- debugPath: `${debugPath}.yellow`
2758
- }),
2759
- green: renderThemeColorAvatarColor(value.green, {
2760
- ...options,
2761
- debugPath: `${debugPath}.green`
2762
- }),
2763
- cyan: renderThemeColorAvatarColor(value.cyan, {
2764
- ...options,
2765
- debugPath: `${debugPath}.cyan`
2766
- })
3839
+ gray: renderThemeColorAvatarColor(value.gray, options),
3840
+ blue: renderThemeColorAvatarColor(value.blue, options),
3841
+ purple: renderThemeColorAvatarColor(value.purple, options),
3842
+ magenta: renderThemeColorAvatarColor(value.magenta, options),
3843
+ red: renderThemeColorAvatarColor(value.red, options),
3844
+ orange: renderThemeColorAvatarColor(value.orange, options),
3845
+ yellow: renderThemeColorAvatarColor(value.yellow, options),
3846
+ green: renderThemeColorAvatarColor(value.green, options),
3847
+ cyan: renderThemeColorAvatarColor(value.cyan, options)
2767
3848
  };
2768
3849
  }
2769
3850
  function renderThemeColorAvatarColor(value, options) {
2770
- const { baseBg, blendMode: rootBlendMode, colorPalette } = options, blendMode = value._blend || "multiply", rootOptions = {
3851
+ const {
3852
+ baseBg,
3853
+ blendMode: rootBlendMode,
3854
+ colorPalette
3855
+ } = options, blendMode = value._blend || "multiply", rootOptions = {
2771
3856
  bg: baseBg,
2772
3857
  blendMode: rootBlendMode,
2773
3858
  colorPalette
@@ -2783,14 +3868,20 @@ function renderThemeColorAvatarColor(value, options) {
2783
3868
  };
2784
3869
  }
2785
3870
  function renderThemeColorBadge(value, options) {
2786
- const { debugPath } = options;
2787
- return THEME_COLOR_STATE_TONES.reduce((acc, tone) => (acc[tone] = renderThemeColorBadgeColor(value[tone], {
2788
- ...options,
2789
- debugPath: `${debugPath}.${tone}`
2790
- }), acc), {});
3871
+ return {
3872
+ default: renderThemeColorBadgeColor(value.default, options),
3873
+ primary: renderThemeColorBadgeColor(value.primary, options),
3874
+ positive: renderThemeColorBadgeColor(value.positive, options),
3875
+ caution: renderThemeColorBadgeColor(value.caution, options),
3876
+ critical: renderThemeColorBadgeColor(value.critical, options)
3877
+ };
2791
3878
  }
2792
3879
  function renderThemeColorBadgeColor(value, options) {
2793
- const { baseBg, blendMode: rootBlendMode, colorPalette } = options, blendMode = rootBlendMode, rootOptions = {
3880
+ const {
3881
+ baseBg,
3882
+ blendMode: rootBlendMode,
3883
+ colorPalette
3884
+ } = options, blendMode = rootBlendMode, rootOptions = {
2794
3885
  bg: baseBg,
2795
3886
  blendMode: rootBlendMode,
2796
3887
  colorPalette
@@ -2807,56 +3898,36 @@ function renderThemeColorBadgeColor(value, options) {
2807
3898
  };
2808
3899
  }
2809
3900
  function renderThemeColorButton(value, options) {
2810
- const { debugPath } = options;
2811
3901
  return {
2812
- default: renderThemeColorButtonTones(value.default, {
2813
- ...options,
2814
- debugPath: `${debugPath}.default`
2815
- }),
2816
- ghost: renderThemeColorButtonTones(value.ghost, {
2817
- ...options,
2818
- debugPath: `${debugPath}.ghost`
2819
- }),
2820
- bleed: renderThemeColorButtonTones(value.bleed, {
2821
- ...options,
2822
- debugPath: `${debugPath}.bleed`
2823
- })
3902
+ default: renderThemeColorButtonTones(value.default, options),
3903
+ ghost: renderThemeColorButtonTones(value.ghost, options),
3904
+ bleed: renderThemeColorButtonTones(value.bleed, options)
2824
3905
  };
2825
3906
  }
2826
3907
  function renderThemeColorButtonTones(value, options) {
2827
- const { debugPath } = options;
2828
- return THEME_COLOR_STATE_TONES.reduce((acc, tone) => (acc[tone] = renderThemeColorButtonStates(value[tone], {
2829
- ...options,
2830
- debugPath: `${debugPath}.${tone}`
2831
- }), acc), {});
3908
+ return {
3909
+ default: renderThemeColorButtonStates(value.default, options),
3910
+ primary: renderThemeColorButtonStates(value.primary, options),
3911
+ positive: renderThemeColorButtonStates(value.positive, options),
3912
+ caution: renderThemeColorButtonStates(value.caution, options),
3913
+ critical: renderThemeColorButtonStates(value.critical, options)
3914
+ };
2832
3915
  }
2833
3916
  function renderThemeColorButtonStates(value, options) {
2834
- const { debugPath } = options;
2835
3917
  return {
2836
- enabled: renderThemeColorState(value.enabled, {
2837
- ...options,
2838
- debugPath: `${debugPath}.enabled`
2839
- }),
2840
- hovered: renderThemeColorState(value.hovered, {
2841
- ...options,
2842
- debugPath: `${debugPath}.hovered`
2843
- }),
2844
- pressed: renderThemeColorState(value.pressed, {
2845
- ...options,
2846
- debugPath: `${debugPath}.pressed`
2847
- }),
2848
- selected: renderThemeColorState(value.selected, {
2849
- ...options,
2850
- debugPath: `${debugPath}.selected`
2851
- }),
2852
- disabled: renderThemeColorState(value.disabled, {
2853
- ...options,
2854
- debugPath: `${debugPath}.disabled`
2855
- })
3918
+ enabled: renderThemeColorState(value.enabled, options),
3919
+ hovered: renderThemeColorState(value.hovered, options),
3920
+ pressed: renderThemeColorState(value.pressed, options),
3921
+ selected: renderThemeColorState(value.selected, options),
3922
+ disabled: renderThemeColorState(value.disabled, options)
2856
3923
  };
2857
3924
  }
2858
3925
  function renderThemeColorState(value, options) {
2859
- const { baseBg, blendMode: rootBlendMode, colorPalette, debugPath } = options, blendMode = value._blend || "multiply", rootOptions = {
3926
+ const {
3927
+ baseBg,
3928
+ blendMode: rootBlendMode,
3929
+ colorPalette
3930
+ } = options, blendMode = value._blend || "multiply", rootOptions = {
2860
3931
  bg: baseBg,
2861
3932
  blendMode: rootBlendMode,
2862
3933
  colorPalette
@@ -2873,14 +3944,12 @@ function renderThemeColorState(value, options) {
2873
3944
  avatar: renderThemeColorAvatar(value.avatar, {
2874
3945
  baseBg: bg,
2875
3946
  colorPalette,
2876
- blendMode,
2877
- debugPath: `${debugPath}.avatar`
3947
+ blendMode
2878
3948
  }),
2879
3949
  badge: renderThemeColorBadge(value.badge, {
2880
3950
  baseBg: bg,
2881
3951
  colorPalette,
2882
- blendMode,
2883
- debugPath: `${debugPath}.badge`
3952
+ blendMode
2884
3953
  }),
2885
3954
  bg,
2886
3955
  border: renderColorValue(value.border, colorOptions),
@@ -2909,41 +3978,33 @@ function renderThemeColorState(value, options) {
2909
3978
  };
2910
3979
  }
2911
3980
  function renderThemeColorInput(value, options) {
2912
- const { debugPath } = options;
2913
3981
  return {
2914
- default: renderInputStatesColorTheme(value.default, {
2915
- ...options,
2916
- debugPath: `${debugPath}.default`
2917
- }),
2918
- invalid: renderInputStatesColorTheme(value.invalid, {
2919
- ...options,
2920
- debugPath: `${debugPath}.invalid`
2921
- })
3982
+ default: renderInputStatesColorTheme(value.default, options),
3983
+ invalid: renderInputStatesColorTheme(value.invalid, options)
2922
3984
  };
2923
3985
  }
2924
3986
  function renderInputStatesColorTheme(value, options) {
2925
- const { debugPath } = options;
2926
3987
  return {
2927
- enabled: renderInputStateColorTheme(value.enabled, {
2928
- ...options,
2929
- debugPath: `${debugPath}.enabled`
2930
- }),
2931
- hovered: renderInputStateColorTheme(value.hovered, {
2932
- ...options,
2933
- debugPath: `${debugPath}.hovered`
2934
- }),
2935
- readOnly: renderInputStateColorTheme(value.readOnly, {
2936
- ...options,
2937
- debugPath: `${debugPath}.readOnly`
2938
- }),
2939
- disabled: renderInputStateColorTheme(value.disabled, {
2940
- ...options,
2941
- debugPath: `${debugPath}.disabled`
2942
- })
3988
+ enabled: renderInputStateColorTheme(value.enabled, options),
3989
+ hovered: renderInputStateColorTheme(value.hovered, options),
3990
+ readOnly: renderInputStateColorTheme(value.readOnly, options),
3991
+ disabled: renderInputStateColorTheme(value.disabled, options)
2943
3992
  };
2944
3993
  }
2945
3994
  function renderInputStateColorTheme(value, options) {
2946
- const { baseBg, blendMode: rootBlendMode, colorPalette } = options, blendMode = value._blend || "multiply", rootOptions = { colorPalette, bg: baseBg, blendMode: rootBlendMode }, bg = renderColorValue(value.bg, rootOptions), colorOptions = { colorPalette, bg, blendMode };
3995
+ const {
3996
+ baseBg,
3997
+ blendMode: rootBlendMode,
3998
+ colorPalette
3999
+ } = options, blendMode = value._blend || "multiply", rootOptions = {
4000
+ colorPalette,
4001
+ bg: baseBg,
4002
+ blendMode: rootBlendMode
4003
+ }, bg = renderColorValue(value.bg, rootOptions), colorOptions = {
4004
+ colorPalette,
4005
+ bg,
4006
+ blendMode
4007
+ };
2947
4008
  return {
2948
4009
  _blend: blendMode,
2949
4010
  bg,
@@ -2956,39 +4017,33 @@ function renderInputStateColorTheme(value, options) {
2956
4017
  };
2957
4018
  }
2958
4019
  function renderThemeColorSelectable(value, options) {
2959
- const { debugPath } = options;
2960
- return THEME_COLOR_STATE_TONES.reduce((acc, tone) => (acc[tone] = renderThemeColorSelectableStates(value[tone], {
2961
- ...options,
2962
- debugPath: `${debugPath}.${tone}`
2963
- }), acc), {});
4020
+ return {
4021
+ default: renderThemeColorSelectableStates(value.default, options),
4022
+ primary: renderThemeColorSelectableStates(value.primary, options),
4023
+ positive: renderThemeColorSelectableStates(value.positive, options),
4024
+ caution: renderThemeColorSelectableStates(value.caution, options),
4025
+ critical: renderThemeColorSelectableStates(value.critical, options)
4026
+ };
2964
4027
  }
2965
4028
  function renderThemeColorSelectableStates(value, options) {
2966
- const { debugPath } = options;
2967
4029
  return {
2968
- enabled: renderThemeColorState(value.enabled, {
2969
- ...options,
2970
- debugPath: `${debugPath}.enabled`
2971
- }),
2972
- hovered: renderThemeColorState(value.hovered, {
2973
- ...options,
2974
- debugPath: `${debugPath}.hovered`
2975
- }),
2976
- pressed: renderThemeColorState(value.pressed, {
2977
- ...options,
2978
- debugPath: `${debugPath}.pressed`
2979
- }),
2980
- selected: renderThemeColorState(value.selected, {
2981
- ...options,
2982
- debugPath: `${debugPath}.selected`
2983
- }),
2984
- disabled: renderThemeColorState(value.disabled, {
2985
- ...options,
2986
- debugPath: `${debugPath}.disabled`
2987
- })
4030
+ enabled: renderThemeColorState(value.enabled, options),
4031
+ hovered: renderThemeColorState(value.hovered, options),
4032
+ pressed: renderThemeColorState(value.pressed, options),
4033
+ selected: renderThemeColorState(value.selected, options),
4034
+ disabled: renderThemeColorState(value.disabled, options)
2988
4035
  };
2989
4036
  }
2990
4037
  function renderSyntaxColorTheme(value, options) {
2991
- const { colorPalette, baseBg, blendMode } = options, colorOptions = { colorPalette, bg: baseBg, blendMode };
4038
+ const {
4039
+ colorPalette,
4040
+ baseBg,
4041
+ blendMode
4042
+ } = options, colorOptions = {
4043
+ colorPalette,
4044
+ bg: baseBg,
4045
+ blendMode
4046
+ };
2992
4047
  return {
2993
4048
  atrule: renderColorValue(value.atrule, colorOptions),
2994
4049
  attrName: renderColorValue(value.attrName, colorOptions),
@@ -3031,24 +4086,24 @@ function renderSyntaxColorTheme(value, options) {
3031
4086
  function buildTheme(config) {
3032
4087
  const colorTheme = buildColorTheme(config), v2 = {
3033
4088
  _version: 2,
3034
- avatar: config?.avatar ?? getTheme_v2.defaultThemeConfig.avatar,
3035
- button: config?.button ?? getTheme_v2.defaultThemeConfig.button,
3036
- card: config?.card ?? getTheme_v2.defaultThemeConfig.card,
4089
+ avatar: config?.avatar ?? defaultThemeConfig.avatar,
4090
+ button: config?.button ?? defaultThemeConfig.button,
4091
+ card: config?.card ?? defaultThemeConfig.card,
3037
4092
  // How colors are generated:
3038
4093
  // 1. Merge custom tokens with default tokens
3039
4094
  // 2. Generate tree of color keys (gray/500, black, white, etc.)
3040
4095
  // 3. Apply mixing and render to hex values
3041
4096
  // render(build(mergeWithDefaults()))
3042
4097
  color: renderThemeColorSchemes(colorTheme, config),
3043
- container: config?.container ?? getTheme_v2.defaultThemeConfig.container,
4098
+ container: config?.container ?? defaultThemeConfig.container,
3044
4099
  font: config?.font ?? defaultThemeFonts,
3045
- input: config?.input ?? getTheme_v2.defaultThemeConfig.input,
3046
- layer: config?.layer ?? getTheme_v2.defaultThemeConfig.layer,
3047
- media: config?.media ?? getTheme_v2.defaultThemeConfig.media,
3048
- radius: config?.radius ?? getTheme_v2.defaultThemeConfig.radius,
3049
- shadow: config?.shadow ?? getTheme_v2.defaultThemeConfig.shadow,
3050
- space: config?.space ?? getTheme_v2.defaultThemeConfig.space,
3051
- style: config?.style ?? getTheme_v2.defaultThemeConfig.style
4100
+ input: config?.input ?? defaultThemeConfig.input,
4101
+ layer: config?.layer ?? defaultThemeConfig.layer,
4102
+ media: config?.media ?? defaultThemeConfig.media,
4103
+ radius: config?.radius ?? defaultThemeConfig.radius,
4104
+ shadow: config?.shadow ?? defaultThemeConfig.shadow,
4105
+ space: config?.space ?? defaultThemeConfig.space,
4106
+ style: config?.style ?? defaultThemeConfig.style
3052
4107
  };
3053
4108
  return v2_v0(v2);
3054
4109
  }
@@ -3056,7 +4111,7 @@ const cache = /* @__PURE__ */ new Map();
3056
4111
  function getScopedTheme(themeProp, scheme, tone) {
3057
4112
  const cachedTheme = _getCachedTheme(themeProp, scheme, tone);
3058
4113
  if (cachedTheme) return cachedTheme;
3059
- const v0 = is_v2(themeProp) ? v2_v0(themeProp) : themeProp, v2 = is_v2(themeProp) ? themeProp : v0_v2(themeProp), colorScheme_v0 = v0.color[scheme] || v0.color.light, color_v0 = colorScheme_v0[tone] || colorScheme_v0.default, layer_v0 = v0.layer || getTheme_v2.defaultThemeConfig.layer, colorScheme_v2 = v2.color[scheme] || v2.color.light, color_v2 = colorScheme_v2[tone] || colorScheme_v2.default, layer_v2 = v2.layer || getTheme_v2.defaultThemeConfig.layer, theme = {
4114
+ const v0 = is_v2(themeProp) ? v2_v0(themeProp) : themeProp, v2 = is_v2(themeProp) ? themeProp : v0_v2(themeProp), colorScheme_v0 = v0.color[scheme] || v0.color.light, color_v0 = colorScheme_v0[tone] || colorScheme_v0.default, layer_v0 = v0.layer || defaultThemeConfig.layer, colorScheme_v2 = v2.color[scheme] || v2.color.light, color_v2 = colorScheme_v2[tone] || colorScheme_v2.default, layer_v2 = v2.layer || defaultThemeConfig.layer, theme = {
3060
4115
  sanity: {
3061
4116
  ...v0,
3062
4117
  color: color_v0,
@@ -3083,7 +4138,7 @@ function _setCachedTheme(rootTheme, scheme, tone, theme) {
3083
4138
  const schemeCache = cache.get(scheme);
3084
4139
  schemeCache.has(tone) || schemeCache.set(tone, /* @__PURE__ */ new WeakMap()), schemeCache.get(tone).set(rootTheme, theme);
3085
4140
  }
3086
- exports.getTheme_v2 = getTheme_v2.getTheme_v2;
4141
+ exports.AVATAR_SIZE = AVATAR_SIZE;
3087
4142
  exports.COLOR_CONFIG_AVATAR_COLORS = COLOR_CONFIG_AVATAR_COLORS;
3088
4143
  exports.COLOR_CONFIG_BLEND_KEYS = COLOR_CONFIG_BLEND_KEYS;
3089
4144
  exports.COLOR_CONFIG_CARD_KEYS = COLOR_CONFIG_CARD_KEYS;
@@ -3093,6 +4148,14 @@ exports.COLOR_CONFIG_INPUT_STATES = COLOR_CONFIG_INPUT_STATES;
3093
4148
  exports.COLOR_CONFIG_STATES = COLOR_CONFIG_STATES;
3094
4149
  exports.COLOR_CONFIG_STATE_KEYS = COLOR_CONFIG_STATE_KEYS;
3095
4150
  exports.COLOR_CONFIG_STATE_TONES = COLOR_CONFIG_STATE_TONES;
4151
+ exports.CONTAINER = CONTAINER;
4152
+ exports.FONT_CODE_SIZE = FONT_CODE_SIZE;
4153
+ exports.FONT_HEADING_SIZE = FONT_HEADING_SIZE;
4154
+ exports.FONT_LABEL_SIZE = FONT_LABEL_SIZE;
4155
+ exports.FONT_TEXT_SIZE = FONT_TEXT_SIZE;
4156
+ exports.RADIUS = RADIUS;
4157
+ exports.SHADOW = SHADOW;
4158
+ exports.SPACE = SPACE;
3096
4159
  exports.THEME_COLOR_AVATAR_COLORS = THEME_COLOR_AVATAR_COLORS;
3097
4160
  exports.THEME_COLOR_BLEND_MODES = THEME_COLOR_BLEND_MODES;
3098
4161
  exports.THEME_COLOR_BUTTON_MODES = THEME_COLOR_BUTTON_MODES;
@@ -3106,6 +4169,7 @@ exports.buildTheme = buildTheme;
3106
4169
  exports.createColorTheme = createColorTheme;
3107
4170
  exports.getContrastRatio = getContrastRatio;
3108
4171
  exports.getScopedTheme = getScopedTheme;
4172
+ exports.getTheme_v2 = getTheme_v2;
3109
4173
  exports.hexToRgb = hexToRgb;
3110
4174
  exports.hslToRgb = hslToRgb;
3111
4175
  exports.isColorBlendModeValue = isColorBlendModeValue;