@sanity/ui 2.15.8 → 2.15.9

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 (262) hide show
  1. package/dist/_chunks-cjs/_visual-editing.js +134 -134
  2. package/dist/_chunks-cjs/_visual-editing.js.map +1 -1
  3. package/dist/_chunks-es/_visual-editing.mjs +134 -134
  4. package/dist/_chunks-es/_visual-editing.mjs.map +1 -1
  5. package/dist/_visual-editing.d.mts +1 -1
  6. package/dist/_visual-editing.d.ts +1 -1
  7. package/dist/index.d.mts +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.js +48 -48
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.mjs +48 -49
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/theme.js +431 -40
  14. package/dist/theme.js.map +1 -1
  15. package/dist/theme.mjs +393 -4
  16. package/dist/theme.mjs.map +1 -1
  17. package/exports/_visual-editing.ts +15 -15
  18. package/package.json +31 -27
  19. package/src/core/_compat.ts +11 -11
  20. package/src/core/components/autocomplete/__mocks__/apiStore.ts +1 -1
  21. package/src/core/components/autocomplete/__workshop__/async.tsx +1 -0
  22. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +2 -1
  23. package/src/core/components/autocomplete/__workshop__/custom.tsx +2 -1
  24. package/src/core/components/autocomplete/__workshop__/example.tsx +2 -1
  25. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +1 -0
  26. package/src/core/components/autocomplete/autocomplete.styles.tsx +2 -1
  27. package/src/core/components/autocomplete/autocomplete.tsx +3 -2
  28. package/src/core/components/autocomplete/autocompleteOption.tsx +1 -0
  29. package/src/core/components/breadcrumbs/__workshop__/example.tsx +7 -0
  30. package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +1 -0
  31. package/src/core/components/breadcrumbs/breadcrumbs.tsx +1 -0
  32. package/src/core/components/dialog/__workshop__/activate.tsx +2 -1
  33. package/src/core/components/dialog/__workshop__/panes.tsx +1 -0
  34. package/src/core/components/dialog/__workshop__/position.tsx +1 -0
  35. package/src/core/components/dialog/__workshop__/props.tsx +1 -0
  36. package/src/core/components/dialog/__workshop__/wrapped.tsx +1 -3
  37. package/src/core/components/dialog/dialog.tsx +3 -0
  38. package/src/core/components/dialog/dialogProvider.tsx +1 -0
  39. package/src/core/components/dialog/styles.ts +1 -0
  40. package/src/core/components/dialog/useDialog.ts +1 -0
  41. package/src/core/components/hotkeys/hotkeys.tsx +1 -0
  42. package/src/core/components/menu/__workshop__/asComponent.tsx +1 -0
  43. package/src/core/components/menu/__workshop__/avatarMenu.tsx +1 -0
  44. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +1 -0
  45. package/src/core/components/menu/__workshop__/customSelectedState.tsx +1 -0
  46. package/src/core/components/menu/__workshop__/menuButton.tsx +1 -0
  47. package/src/core/components/menu/__workshop__/shouldFocus.tsx +1 -0
  48. package/src/core/components/menu/__workshop__/tones.tsx +1 -0
  49. package/src/core/components/menu/menu.test.tsx +1 -0
  50. package/src/core/components/menu/menu.tsx +1 -0
  51. package/src/core/components/menu/menuButton.tsx +4 -3
  52. package/src/core/components/menu/menuGroup.tsx +1 -0
  53. package/src/core/components/menu/menuItem.tsx +1 -1
  54. package/src/core/components/menu/useMenu.ts +1 -0
  55. package/src/core/components/menu/useMenuController.ts +1 -0
  56. package/src/core/components/skeleton/__workshop__/delay.tsx +1 -0
  57. package/src/core/components/skeleton/__workshop__/skeleton.tsx +1 -0
  58. package/src/core/components/skeleton/skeleton.tsx +2 -2
  59. package/src/core/components/skeleton/textSkeleton.tsx +3 -2
  60. package/src/core/components/tab/tab.tsx +1 -0
  61. package/src/core/components/tab/tabList.tsx +2 -1
  62. package/src/core/components/tab/tabPanel.tsx +1 -0
  63. package/src/core/components/toast/__workshop__/toast.tsx +1 -0
  64. package/src/core/components/toast/styles.ts +2 -1
  65. package/src/core/components/toast/toast.tsx +4 -4
  66. package/src/core/components/toast/toastLayer.tsx +1 -0
  67. package/src/core/components/toast/toastProvider.tsx +1 -0
  68. package/src/core/components/toast/useToast.ts +1 -0
  69. package/src/core/components/tree/__workshop__/basic.tsx +1 -0
  70. package/src/core/components/tree/__workshop__/tabFromElement.tsx +2 -1
  71. package/src/core/components/tree/style.ts +1 -0
  72. package/src/core/components/tree/tree.tsx +1 -0
  73. package/src/core/components/tree/treeGroup.tsx +1 -0
  74. package/src/core/components/tree/treeItem.tsx +3 -2
  75. package/src/core/components/tree/useTree.ts +1 -0
  76. package/src/core/helpers/focus.ts +2 -2
  77. package/src/core/hooks/useArrayProp.ts +1 -0
  78. package/src/core/hooks/useClickOutside.test.tsx +0 -1
  79. package/src/core/hooks/useClickOutside.ts +1 -0
  80. package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -1
  81. package/src/core/hooks/useClickOutsideEvent.ts +1 -0
  82. package/src/core/hooks/useDelayed.test.ts +2 -1
  83. package/src/core/hooks/useDelayedState.ts +1 -2
  84. package/src/core/hooks/useElementRect/__workshop__/example.tsx +1 -0
  85. package/src/core/hooks/useElementSize.ts +2 -1
  86. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +2 -1
  87. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +1 -0
  88. package/src/core/hooks/usePrefersDark.test.tsx +2 -1
  89. package/src/core/hooks/usePrefersReducedMotion.test.tsx +2 -1
  90. package/src/core/index.ts +1 -2
  91. package/src/core/lib/createGlobalScopedContext.ts +2 -1
  92. package/src/core/primitives/_selectable/selectable.tsx +1 -0
  93. package/src/core/primitives/_selectable/style.ts +1 -0
  94. package/src/core/primitives/avatar/__workshop__/asButton.tsx +1 -0
  95. package/src/core/primitives/avatar/__workshop__/stack.tsx +1 -0
  96. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +1 -0
  97. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +1 -0
  98. package/src/core/primitives/avatar/avatar.tsx +2 -7
  99. package/src/core/primitives/avatar/avatarCounter.tsx +3 -2
  100. package/src/core/primitives/avatar/avatarStack.tsx +3 -2
  101. package/src/core/primitives/avatar/styles.ts +2 -1
  102. package/src/core/primitives/avatar/types.ts +1 -0
  103. package/src/core/primitives/badge/__workshop__/props.tsx +1 -0
  104. package/src/core/primitives/badge/__workshop__/tones.tsx +1 -0
  105. package/src/core/primitives/badge/badge.test.tsx +1 -0
  106. package/src/core/primitives/badge/badge.tsx +1 -0
  107. package/src/core/primitives/badge/styles.ts +1 -0
  108. package/src/core/primitives/box/__workshop__/props.tsx +1 -0
  109. package/src/core/primitives/box/box.tsx +3 -2
  110. package/src/core/primitives/button/__workshop__/custom.tsx +3 -0
  111. package/src/core/primitives/button/__workshop__/disabled.tsx +1 -0
  112. package/src/core/primitives/button/__workshop__/props.tsx +2 -1
  113. package/src/core/primitives/button/__workshop__/stacked.tsx +1 -0
  114. package/src/core/primitives/button/button.test.tsx +1 -0
  115. package/src/core/primitives/button/button.tsx +1 -0
  116. package/src/core/primitives/button/styles.ts +1 -0
  117. package/src/core/primitives/card/__workshop__/asButton.tsx +1 -0
  118. package/src/core/primitives/card/__workshop__/listNavigation.tsx +1 -0
  119. package/src/core/primitives/card/__workshop__/props.tsx +3 -1
  120. package/src/core/primitives/card/__workshop__/selected.tsx +2 -2
  121. package/src/core/primitives/card/card.tsx +1 -0
  122. package/src/core/primitives/card/styles.ts +1 -0
  123. package/src/core/primitives/checkbox/checkbox.tsx +1 -0
  124. package/src/core/primitives/checkbox/styles.ts +1 -0
  125. package/src/core/primitives/code/__workshop__/props.tsx +1 -0
  126. package/src/core/primitives/code/code.tsx +2 -1
  127. package/src/core/primitives/container/__workshop__/example.tsx +1 -0
  128. package/src/core/primitives/container/container.tsx +1 -0
  129. package/src/core/primitives/container/styles.ts +2 -1
  130. package/src/core/primitives/flex/__workshop__/example.tsx +1 -0
  131. package/src/core/primitives/flex/flex.tsx +2 -1
  132. package/src/core/primitives/grid/grid.tsx +1 -0
  133. package/src/core/primitives/heading/__workshop__/plain.tsx +2 -1
  134. package/src/core/primitives/heading/heading.tsx +1 -0
  135. package/src/core/primitives/heading/styles.ts +1 -0
  136. package/src/core/primitives/inline/__workshop__/plain.tsx +1 -0
  137. package/src/core/primitives/inline/inline.tsx +2 -1
  138. package/src/core/primitives/inline/styles.ts +2 -1
  139. package/src/core/primitives/kbd/kbd.tsx +2 -1
  140. package/src/core/primitives/label/__workshop__/plain.tsx +2 -1
  141. package/src/core/primitives/label/label.tsx +1 -0
  142. package/src/core/primitives/label/styles.ts +1 -0
  143. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +1 -0
  144. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +1 -0
  145. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +1 -0
  146. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +4 -1
  147. package/src/core/primitives/popover/__workshop__/TestStory.tsx +1 -0
  148. package/src/core/primitives/popover/floating-ui/size.ts +2 -1
  149. package/src/core/primitives/popover/popover.tsx +6 -7
  150. package/src/core/primitives/popover/popoverCard.tsx +2 -1
  151. package/src/core/primitives/radio/radio.tsx +2 -1
  152. package/src/core/primitives/radio/styles.ts +1 -0
  153. package/src/core/primitives/select/select.tsx +2 -1
  154. package/src/core/primitives/select/styles.ts +3 -3
  155. package/src/core/primitives/spinner/__workshop__/Props.tsx +1 -0
  156. package/src/core/primitives/spinner/spinner.tsx +2 -1
  157. package/src/core/primitives/stack/__workshop__/plain.tsx +1 -0
  158. package/src/core/primitives/stack/stack.tsx +2 -1
  159. package/src/core/primitives/stack/styles.ts +2 -1
  160. package/src/core/primitives/switch/styles.ts +1 -0
  161. package/src/core/primitives/switch/switch.tsx +2 -1
  162. package/src/core/primitives/text/__workshop__/colored.tsx +3 -2
  163. package/src/core/primitives/text/__workshop__/example.tsx +1 -0
  164. package/src/core/primitives/text/styles.ts +1 -0
  165. package/src/core/primitives/text/text.tsx +1 -0
  166. package/src/core/primitives/textArea/__workshop__/plain.tsx +1 -0
  167. package/src/core/primitives/textArea/textArea.tsx +6 -5
  168. package/src/core/primitives/textInput/__workshop__/plain.tsx +2 -1
  169. package/src/core/primitives/textInput/__workshop__/typed.tsx +1 -0
  170. package/src/core/primitives/textInput/textInput.tsx +1 -0
  171. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +1 -0
  172. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +1 -0
  173. package/src/core/primitives/tooltip/__workshop__/props.tsx +3 -2
  174. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +1 -0
  175. package/src/core/primitives/tooltip/tooltip.test.tsx +4 -2
  176. package/src/core/primitives/tooltip/tooltip.tsx +6 -5
  177. package/src/core/primitives/tooltip/tooltipCard.tsx +2 -1
  178. package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +1 -1
  179. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +1 -0
  180. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +1 -0
  181. package/src/core/styles/border/borderStyle.ts +1 -0
  182. package/src/core/styles/box/boxStyle.ts +1 -0
  183. package/src/core/styles/card/_cardColorStyle.ts +1 -2
  184. package/src/core/styles/flex/flexItemStyle.ts +1 -0
  185. package/src/core/styles/flex/flexStyle.ts +2 -1
  186. package/src/core/styles/flex/index.ts +1 -1
  187. package/src/core/styles/flex/types.ts +1 -0
  188. package/src/core/styles/font/codeFontStyle.ts +1 -0
  189. package/src/core/styles/font/headingFontStyle.ts +1 -0
  190. package/src/core/styles/font/labelFontStyle.ts +1 -0
  191. package/src/core/styles/font/responsiveFont.ts +3 -3
  192. package/src/core/styles/font/textAlignStyle.ts +1 -0
  193. package/src/core/styles/font/textFontStyle.ts +1 -0
  194. package/src/core/styles/font/types.ts +1 -0
  195. package/src/core/styles/grid/gridItemStyle.ts +1 -0
  196. package/src/core/styles/grid/gridStyle.ts +2 -1
  197. package/src/core/styles/grid/index.ts +1 -1
  198. package/src/core/styles/helpers.ts +2 -2
  199. package/src/core/styles/input/responsiveInputPaddingStyle.ts +2 -1
  200. package/src/core/styles/input/textInputStyle.ts +3 -3
  201. package/src/core/styles/margin/marginStyle.ts +1 -0
  202. package/src/core/styles/margin/marginsStyle.test.ts +1 -0
  203. package/src/core/styles/padding/paddingStyle.test.ts +1 -0
  204. package/src/core/styles/padding/paddingStyle.ts +1 -0
  205. package/src/core/styles/radius/radiusStyle.ts +1 -0
  206. package/src/core/styles/shadow/shadowStyle.ts +3 -3
  207. package/src/core/theme/__workshop__/build/Root.tsx +1 -1
  208. package/src/core/theme/__workshop__/build/story.tsx +18 -9
  209. package/src/core/theme/__workshop__/canvas.tsx +7 -6
  210. package/src/core/theme/__workshop__/debug/story.tsx +5 -3
  211. package/src/core/theme/index.ts +1 -1
  212. package/src/core/theme/theme.test.tsx +1 -0
  213. package/src/core/theme/themeColorProvider.tsx +1 -0
  214. package/src/core/theme/themeProvider.tsx +3 -2
  215. package/src/core/theme/useRootTheme.ts +1 -0
  216. package/src/core/theme/useTheme.ts +1 -1
  217. package/src/core/utils/arrow/arrow.tsx +4 -3
  218. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +1 -0
  219. package/src/core/utils/boundaryElement/index.ts +1 -1
  220. package/src/core/utils/boundaryElement/useBoundaryElement.ts +1 -0
  221. package/src/core/utils/elementQuery/elementQuery.tsx +1 -0
  222. package/src/core/utils/errorBoundary.tsx +1 -0
  223. package/src/core/utils/layer/__workshop__/multipleRoots.tsx +1 -0
  224. package/src/core/utils/layer/__workshop__/nested.tsx +1 -0
  225. package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +1 -0
  226. package/src/core/utils/layer/index.ts +1 -1
  227. package/src/core/utils/layer/layer.tsx +1 -0
  228. package/src/core/utils/layer/layerProvider.tsx +2 -1
  229. package/src/core/utils/layer/useLayer.ts +1 -0
  230. package/src/core/utils/portal/portal.ts +1 -0
  231. package/src/core/utils/portal/portalProvider.tsx +1 -0
  232. package/src/core/utils/portal/usePortal.ts +1 -0
  233. package/src/core/utils/virtualList/virtualList.tsx +1 -0
  234. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +1 -1
  235. package/src/theme/build/_deprecated/color/card/createCardStates.ts +1 -1
  236. package/src/theme/build/_deprecated/color/factory.ts +6 -6
  237. package/src/theme/build/buildColorTheme.ts +15 -15
  238. package/src/theme/build/colorToken/colorToken.ts +1 -1
  239. package/src/theme/build/mixThemeColor.ts +1 -1
  240. package/src/theme/build/renderColorTheme.ts +7 -6
  241. package/src/theme/build/renderColorValue.ts +3 -2
  242. package/src/theme/build/resolveColorTokens.ts +5 -4
  243. package/src/theme/config/helpers.ts +2 -2
  244. package/src/theme/config/system.ts +2 -1
  245. package/src/theme/config/tokens/color/types.ts +2 -1
  246. package/src/theme/config/tokens/types.ts +2 -1
  247. package/src/theme/config/types.ts +2 -1
  248. package/src/theme/system/color/_helpers.ts +1 -0
  249. package/src/theme/system/color/_system.ts +1 -1
  250. package/src/theme/system/color/color.ts +1 -1
  251. package/src/theme/system/index.ts +1 -2
  252. package/src/theme/system/theme.ts +2 -2
  253. package/src/theme/system/v0/color/index.ts +1 -1
  254. package/src/theme/system/v0/index.ts +1 -1
  255. package/src/theme/versioning/themeColor_v0_v2.ts +5 -5
  256. package/dist/_chunks-cjs/getTheme_v2.js +0 -397
  257. package/dist/_chunks-cjs/getTheme_v2.js.map +0 -1
  258. package/dist/_chunks-es/getTheme_v2.mjs +0 -398
  259. package/dist/_chunks-es/getTheme_v2.mjs.map +0 -1
  260. package/src/core/__workshop__/fontsPlugin.tsx +0 -76
  261. /package/src/core/components/autocomplete/{__fixtures__ → __mocks__}/countries.ts +0 -0
  262. /package/src/core/primitives/kbd/{index.tsx → index.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"),
@@ -1117,7 +1117,140 @@ function _createColor(opts, dark, name) {
1117
1117
  muted
1118
1118
  };
1119
1119
  }
1120
- const defaultThemeFonts = {
1120
+ const defaultThemeConfig = {
1121
+ avatar: {
1122
+ sizes: [{
1123
+ distance: -4,
1124
+ size: 19
1125
+ }, {
1126
+ distance: -4,
1127
+ size: 25
1128
+ }, {
1129
+ distance: -8,
1130
+ size: 33
1131
+ }, {
1132
+ distance: -12,
1133
+ size: 49
1134
+ }],
1135
+ focusRing: {
1136
+ offset: 1,
1137
+ width: 1
1138
+ }
1139
+ },
1140
+ button: {
1141
+ textWeight: "medium",
1142
+ border: {
1143
+ width: 1
1144
+ },
1145
+ focusRing: {
1146
+ offset: -1,
1147
+ width: 1
1148
+ }
1149
+ },
1150
+ card: {
1151
+ border: {
1152
+ width: 1
1153
+ },
1154
+ focusRing: {
1155
+ offset: -1,
1156
+ width: 1
1157
+ },
1158
+ shadow: {
1159
+ outline: 0.5
1160
+ }
1161
+ },
1162
+ container: [320, 640, 960, 1280, 1600, 1920],
1163
+ media: [360, 600, 900, 1200, 1800, 2400],
1164
+ layer: {
1165
+ dialog: {
1166
+ zOffset: 600
1167
+ },
1168
+ popover: {
1169
+ zOffset: 400
1170
+ },
1171
+ tooltip: {
1172
+ zOffset: 200
1173
+ }
1174
+ },
1175
+ radius: [0, 1, 3, 6, 9, 12, 21],
1176
+ shadow: [null, {
1177
+ umbra: [0, 0, 0, 0],
1178
+ penumbra: [0, 0, 0, 0],
1179
+ ambient: [0, 0, 0, 0]
1180
+ }, {
1181
+ umbra: [0, 3, 5, -2],
1182
+ penumbra: [0, 6, 10, 0],
1183
+ ambient: [0, 1, 18, 1]
1184
+ }, {
1185
+ umbra: [0, 7, 8, -4],
1186
+ penumbra: [0, 12, 17, 2],
1187
+ ambient: [0, 5, 22, 4]
1188
+ }, {
1189
+ umbra: [0, 9, 11, -5],
1190
+ penumbra: [0, 18, 28, 2],
1191
+ ambient: [0, 7, 34, 6]
1192
+ }, {
1193
+ umbra: [0, 11, 15, -7],
1194
+ penumbra: [0, 24, 38, 3],
1195
+ ambient: [0, 9, 46, 8]
1196
+ }],
1197
+ space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],
1198
+ input: {
1199
+ border: {
1200
+ width: 1
1201
+ },
1202
+ checkbox: {
1203
+ size: 17,
1204
+ focusRing: {
1205
+ offset: -1,
1206
+ width: 1
1207
+ }
1208
+ },
1209
+ radio: {
1210
+ size: 17,
1211
+ markSize: 9,
1212
+ focusRing: {
1213
+ offset: -1,
1214
+ width: 1
1215
+ }
1216
+ },
1217
+ switch: {
1218
+ width: 25,
1219
+ height: 17,
1220
+ padding: 5,
1221
+ transitionDurationMs: 150,
1222
+ transitionTimingFunction: "ease-out",
1223
+ focusRing: {
1224
+ offset: 1,
1225
+ width: 1
1226
+ }
1227
+ },
1228
+ select: {
1229
+ focusRing: {
1230
+ offset: -1,
1231
+ width: 1
1232
+ }
1233
+ },
1234
+ text: {
1235
+ focusRing: {
1236
+ offset: -1,
1237
+ width: 1
1238
+ }
1239
+ }
1240
+ },
1241
+ style: {
1242
+ button: {
1243
+ root: {
1244
+ transition: "background-color 100ms,border-color 100ms,color 100ms"
1245
+ }
1246
+ }
1247
+ // card: {
1248
+ // root: {
1249
+ // transition: 'background-color 100ms,border-color 100ms,color 100ms',
1250
+ // },
1251
+ // },
1252
+ }
1253
+ }, defaultThemeFonts = {
1121
1254
  code: {
1122
1255
  family: "ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace",
1123
1256
  weights: {
@@ -1312,7 +1445,265 @@ const defaultThemeFonts = {
1312
1445
  letterSpacing: 0
1313
1446
  }]
1314
1447
  }
1315
- };
1448
+ }, cache$4 = /* @__PURE__ */ new WeakMap();
1449
+ function themeColor_v0_v2(color_v0) {
1450
+ const cached_v2 = cache$4.get(color_v0);
1451
+ if (cached_v2) return cached_v2;
1452
+ const base = stateThemeColor_v0_v2(color_v0, color_v0.card.enabled), color_v2 = {
1453
+ _blend: color_v0._blend || (color_v0.dark ? "screen" : "multiply"),
1454
+ _dark: color_v0.dark,
1455
+ accent: base.accent,
1456
+ avatar: base.avatar,
1457
+ backdrop: color_v0.base.shadow.ambient,
1458
+ badge: base.badge,
1459
+ bg: color_v0.base.bg,
1460
+ border: color_v0.base.border,
1461
+ button: {
1462
+ default: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.default),
1463
+ ghost: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.ghost),
1464
+ bleed: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.bleed)
1465
+ },
1466
+ code: base.code,
1467
+ fg: color_v0.base.fg,
1468
+ focusRing: color_v0.base.focusRing,
1469
+ icon: base.muted.fg,
1470
+ input: {
1471
+ default: inputStatesThemeColor_v0_v2(color_v0.input.default),
1472
+ invalid: inputStatesThemeColor_v0_v2(color_v0.input.invalid)
1473
+ },
1474
+ kbd: base.kbd,
1475
+ link: base.link,
1476
+ muted: {
1477
+ ...base.muted,
1478
+ bg: color_v0.selectable?.default.enabled.bg2 || color_v0.base.bg
1479
+ },
1480
+ selectable: stateTonesThemeColor_v0_v2(color_v0, color_v0.selectable || color_v0.muted),
1481
+ shadow: color_v0.base.shadow,
1482
+ skeleton: {
1483
+ from: color_v0.skeleton?.from || color_v0.base.border,
1484
+ to: color_v0.skeleton?.to || color_v0.base.border
1485
+ },
1486
+ syntax: color_v0.syntax
1487
+ };
1488
+ return cache$4.set(color_v0, color_v2), color_v2;
1489
+ }
1490
+ function stateTonesThemeColor_v0_v2(v0, t) {
1491
+ return {
1492
+ default: {
1493
+ enabled: stateThemeColor_v0_v2(v0, t.default.enabled),
1494
+ hovered: stateThemeColor_v0_v2(v0, t.default.hovered),
1495
+ pressed: stateThemeColor_v0_v2(v0, t.default.pressed),
1496
+ selected: stateThemeColor_v0_v2(v0, t.default.selected),
1497
+ disabled: stateThemeColor_v0_v2(v0, t.default.disabled)
1498
+ },
1499
+ neutral: {
1500
+ enabled: stateThemeColor_v0_v2(v0, t.default.enabled),
1501
+ hovered: stateThemeColor_v0_v2(v0, t.default.hovered),
1502
+ pressed: stateThemeColor_v0_v2(v0, t.default.pressed),
1503
+ selected: stateThemeColor_v0_v2(v0, t.default.selected),
1504
+ disabled: stateThemeColor_v0_v2(v0, t.default.disabled)
1505
+ },
1506
+ primary: {
1507
+ enabled: stateThemeColor_v0_v2(v0, t.primary.enabled),
1508
+ hovered: stateThemeColor_v0_v2(v0, t.primary.hovered),
1509
+ pressed: stateThemeColor_v0_v2(v0, t.primary.pressed),
1510
+ selected: stateThemeColor_v0_v2(v0, t.primary.selected),
1511
+ disabled: stateThemeColor_v0_v2(v0, t.primary.disabled)
1512
+ },
1513
+ suggest: {
1514
+ enabled: stateThemeColor_v0_v2(v0, t.primary.enabled),
1515
+ hovered: stateThemeColor_v0_v2(v0, t.primary.hovered),
1516
+ pressed: stateThemeColor_v0_v2(v0, t.primary.pressed),
1517
+ selected: stateThemeColor_v0_v2(v0, t.primary.selected),
1518
+ disabled: stateThemeColor_v0_v2(v0, t.primary.disabled)
1519
+ },
1520
+ positive: {
1521
+ enabled: stateThemeColor_v0_v2(v0, t.positive.enabled),
1522
+ hovered: stateThemeColor_v0_v2(v0, t.positive.hovered),
1523
+ pressed: stateThemeColor_v0_v2(v0, t.positive.pressed),
1524
+ selected: stateThemeColor_v0_v2(v0, t.positive.selected),
1525
+ disabled: stateThemeColor_v0_v2(v0, t.positive.disabled)
1526
+ },
1527
+ caution: {
1528
+ enabled: stateThemeColor_v0_v2(v0, t.caution.enabled),
1529
+ hovered: stateThemeColor_v0_v2(v0, t.caution.hovered),
1530
+ pressed: stateThemeColor_v0_v2(v0, t.caution.pressed),
1531
+ selected: stateThemeColor_v0_v2(v0, t.caution.selected),
1532
+ disabled: stateThemeColor_v0_v2(v0, t.caution.disabled)
1533
+ },
1534
+ critical: {
1535
+ enabled: stateThemeColor_v0_v2(v0, t.critical.enabled),
1536
+ hovered: stateThemeColor_v0_v2(v0, t.critical.hovered),
1537
+ pressed: stateThemeColor_v0_v2(v0, t.critical.pressed),
1538
+ selected: stateThemeColor_v0_v2(v0, t.critical.selected),
1539
+ disabled: stateThemeColor_v0_v2(v0, t.critical.disabled)
1540
+ }
1541
+ };
1542
+ }
1543
+ function stateThemeColor_v0_v2(v0, state) {
1544
+ return {
1545
+ ...state,
1546
+ avatar: {
1547
+ gray: {
1548
+ bg: v0.spot.gray,
1549
+ fg: v0.base.bg
1550
+ },
1551
+ blue: {
1552
+ bg: v0.spot.blue,
1553
+ fg: v0.base.bg
1554
+ },
1555
+ purple: {
1556
+ bg: v0.spot.purple,
1557
+ fg: v0.base.bg
1558
+ },
1559
+ magenta: {
1560
+ bg: v0.spot.magenta,
1561
+ fg: v0.base.bg
1562
+ },
1563
+ red: {
1564
+ bg: v0.spot.red,
1565
+ fg: v0.base.bg
1566
+ },
1567
+ orange: {
1568
+ bg: v0.spot.orange,
1569
+ fg: v0.base.bg
1570
+ },
1571
+ yellow: {
1572
+ bg: v0.spot.yellow,
1573
+ fg: v0.base.bg
1574
+ },
1575
+ green: {
1576
+ bg: v0.spot.green,
1577
+ fg: v0.base.bg
1578
+ },
1579
+ cyan: {
1580
+ bg: v0.spot.cyan,
1581
+ fg: v0.base.bg
1582
+ }
1583
+ },
1584
+ badge: {
1585
+ default: {
1586
+ bg: v0.muted.default.enabled.bg,
1587
+ fg: v0.muted.default.enabled.fg,
1588
+ dot: v0.muted.default.enabled.muted.fg,
1589
+ icon: v0.muted.default.enabled.muted.fg
1590
+ },
1591
+ neutral: {
1592
+ bg: v0.muted.transparent.enabled.bg,
1593
+ fg: v0.muted.transparent.enabled.fg,
1594
+ dot: v0.muted.transparent.enabled.muted.fg,
1595
+ icon: v0.muted.transparent.enabled.muted.fg
1596
+ },
1597
+ primary: {
1598
+ bg: v0.muted.primary.enabled.bg,
1599
+ fg: v0.muted.primary.enabled.fg,
1600
+ dot: v0.muted.primary.enabled.muted.fg,
1601
+ icon: v0.muted.primary.enabled.muted.fg
1602
+ },
1603
+ suggest: {
1604
+ bg: v0.muted.primary.enabled.bg,
1605
+ fg: v0.muted.primary.enabled.fg,
1606
+ dot: v0.muted.primary.enabled.muted.fg,
1607
+ icon: v0.muted.primary.enabled.muted.fg
1608
+ },
1609
+ positive: {
1610
+ bg: v0.muted.positive.enabled.bg,
1611
+ fg: v0.muted.positive.enabled.fg,
1612
+ dot: v0.muted.positive.enabled.muted.fg,
1613
+ icon: v0.muted.positive.enabled.muted.fg
1614
+ },
1615
+ caution: {
1616
+ bg: v0.muted.caution.enabled.bg,
1617
+ fg: v0.muted.caution.enabled.fg,
1618
+ dot: v0.muted.caution.enabled.muted.fg,
1619
+ icon: v0.muted.caution.enabled.muted.fg
1620
+ },
1621
+ critical: {
1622
+ bg: v0.muted.critical.enabled.bg,
1623
+ fg: v0.muted.critical.enabled.fg,
1624
+ dot: v0.muted.critical.enabled.muted.fg,
1625
+ icon: v0.muted.critical.enabled.muted.fg
1626
+ }
1627
+ },
1628
+ kbd: {
1629
+ bg: v0.muted.default.enabled.bg,
1630
+ fg: v0.muted.default.enabled.fg,
1631
+ border: v0.muted.default.enabled.border
1632
+ },
1633
+ muted: {
1634
+ ...v0.muted.default.enabled.muted,
1635
+ bg: state.bg2 || state.bg
1636
+ },
1637
+ skeleton: {
1638
+ from: state.skeleton?.from || state.border,
1639
+ to: state.skeleton?.to || state.border
1640
+ }
1641
+ };
1642
+ }
1643
+ function inputStatesThemeColor_v0_v2(states) {
1644
+ return {
1645
+ enabled: inputStateThemeColor_v0_v2(states.enabled),
1646
+ disabled: inputStateThemeColor_v0_v2(states.disabled),
1647
+ readOnly: inputStateThemeColor_v0_v2(states.readOnly),
1648
+ hovered: inputStateThemeColor_v0_v2(states.hovered)
1649
+ };
1650
+ }
1651
+ function inputStateThemeColor_v0_v2(state) {
1652
+ return {
1653
+ bg: state.bg,
1654
+ border: state.border,
1655
+ fg: state.fg,
1656
+ muted: {
1657
+ bg: state.bg2
1658
+ },
1659
+ placeholder: state.placeholder
1660
+ };
1661
+ }
1662
+ const cache$3 = /* @__PURE__ */ new WeakMap();
1663
+ function getTheme_v2(theme) {
1664
+ if (theme.sanity.v2?._resolved) return theme.sanity.v2;
1665
+ const cached_v2 = cache$3.get(theme);
1666
+ if (cached_v2) return cached_v2;
1667
+ const v2 = {
1668
+ _version: 2,
1669
+ _resolved: !0,
1670
+ avatar: {
1671
+ ...defaultThemeConfig.avatar,
1672
+ ...theme.sanity.avatar
1673
+ },
1674
+ button: {
1675
+ ...defaultThemeConfig.button,
1676
+ ...theme.sanity.button
1677
+ },
1678
+ card: defaultThemeConfig.card,
1679
+ color: themeColor_v0_v2(theme.sanity.color),
1680
+ container: theme.sanity.container,
1681
+ font: theme.sanity.fonts,
1682
+ input: {
1683
+ ...defaultThemeConfig.input,
1684
+ ...theme.sanity.input,
1685
+ checkbox: {
1686
+ ...defaultThemeConfig.input.checkbox,
1687
+ ...theme.sanity.input.checkbox
1688
+ },
1689
+ radio: {
1690
+ ...defaultThemeConfig.input.radio,
1691
+ ...theme.sanity.input.radio
1692
+ },
1693
+ switch: {
1694
+ ...defaultThemeConfig.input.switch,
1695
+ ...theme.sanity.input.switch
1696
+ }
1697
+ },
1698
+ layer: theme.sanity.layer ?? defaultThemeConfig.layer,
1699
+ media: theme.sanity.media,
1700
+ radius: theme.sanity.radius,
1701
+ shadow: theme.sanity.shadows,
1702
+ space: theme.sanity.space,
1703
+ style: theme.sanity.styles
1704
+ };
1705
+ return cache$3.set(theme, v2), v2;
1706
+ }
1316
1707
  function is_v0(themeProp) {
1317
1708
  return themeProp._version === 0;
1318
1709
  }
@@ -1340,55 +1731,55 @@ function v0_v2(v0) {
1340
1731
  } = v0, v2 = {
1341
1732
  _version: 2,
1342
1733
  avatar: {
1343
- ...getTheme_v2.defaultThemeConfig.avatar,
1734
+ ...defaultThemeConfig.avatar,
1344
1735
  ...avatar
1345
1736
  },
1346
1737
  button: {
1347
- ...getTheme_v2.defaultThemeConfig.button,
1738
+ ...defaultThemeConfig.button,
1348
1739
  ...button
1349
1740
  },
1350
- card: getTheme_v2.defaultThemeConfig.card,
1741
+ card: defaultThemeConfig.card,
1351
1742
  color: {
1352
1743
  light: {
1353
- transparent: getTheme_v2.themeColor_v0_v2(color2.light.transparent),
1354
- default: getTheme_v2.themeColor_v0_v2(color2.light.default),
1355
- neutral: getTheme_v2.themeColor_v0_v2(color2.light.transparent),
1356
- primary: getTheme_v2.themeColor_v0_v2(color2.light.primary),
1357
- suggest: getTheme_v2.themeColor_v0_v2(color2.light.primary),
1358
- positive: getTheme_v2.themeColor_v0_v2(color2.light.positive),
1359
- caution: getTheme_v2.themeColor_v0_v2(color2.light.caution),
1360
- critical: getTheme_v2.themeColor_v0_v2(color2.light.critical)
1744
+ transparent: themeColor_v0_v2(color2.light.transparent),
1745
+ default: themeColor_v0_v2(color2.light.default),
1746
+ neutral: themeColor_v0_v2(color2.light.transparent),
1747
+ primary: themeColor_v0_v2(color2.light.primary),
1748
+ suggest: themeColor_v0_v2(color2.light.primary),
1749
+ positive: themeColor_v0_v2(color2.light.positive),
1750
+ caution: themeColor_v0_v2(color2.light.caution),
1751
+ critical: themeColor_v0_v2(color2.light.critical)
1361
1752
  },
1362
1753
  dark: {
1363
- transparent: getTheme_v2.themeColor_v0_v2(color2.dark.transparent),
1364
- default: getTheme_v2.themeColor_v0_v2(color2.dark.default),
1365
- neutral: getTheme_v2.themeColor_v0_v2(color2.dark.transparent),
1366
- primary: getTheme_v2.themeColor_v0_v2(color2.dark.primary),
1367
- suggest: getTheme_v2.themeColor_v0_v2(color2.dark.primary),
1368
- positive: getTheme_v2.themeColor_v0_v2(color2.dark.positive),
1369
- caution: getTheme_v2.themeColor_v0_v2(color2.dark.caution),
1370
- critical: getTheme_v2.themeColor_v0_v2(color2.dark.critical)
1754
+ transparent: themeColor_v0_v2(color2.dark.transparent),
1755
+ default: themeColor_v0_v2(color2.dark.default),
1756
+ neutral: themeColor_v0_v2(color2.dark.transparent),
1757
+ primary: themeColor_v0_v2(color2.dark.primary),
1758
+ suggest: themeColor_v0_v2(color2.dark.primary),
1759
+ positive: themeColor_v0_v2(color2.dark.positive),
1760
+ caution: themeColor_v0_v2(color2.dark.caution),
1761
+ critical: themeColor_v0_v2(color2.dark.critical)
1371
1762
  }
1372
1763
  },
1373
1764
  container,
1374
1765
  font,
1375
1766
  input: {
1376
- ...getTheme_v2.defaultThemeConfig.input,
1767
+ ...defaultThemeConfig.input,
1377
1768
  ...input,
1378
1769
  checkbox: {
1379
- ...getTheme_v2.defaultThemeConfig.input.checkbox,
1770
+ ...defaultThemeConfig.input.checkbox,
1380
1771
  ...input.checkbox
1381
1772
  },
1382
1773
  radio: {
1383
- ...getTheme_v2.defaultThemeConfig.input.radio,
1774
+ ...defaultThemeConfig.input.radio,
1384
1775
  ...input.radio
1385
1776
  },
1386
1777
  switch: {
1387
- ...getTheme_v2.defaultThemeConfig.input.switch,
1778
+ ...defaultThemeConfig.input.switch,
1388
1779
  ...input.switch
1389
1780
  }
1390
1781
  },
1391
- layer: layer ?? getTheme_v2.defaultThemeConfig.layer,
1782
+ layer: layer ?? defaultThemeConfig.layer,
1392
1783
  media,
1393
1784
  radius,
1394
1785
  shadow,
@@ -3580,24 +3971,24 @@ function renderSyntaxColorTheme(value, options) {
3580
3971
  function buildTheme(config) {
3581
3972
  const colorTheme = buildColorTheme(config), v2 = {
3582
3973
  _version: 2,
3583
- avatar: config?.avatar ?? getTheme_v2.defaultThemeConfig.avatar,
3584
- button: config?.button ?? getTheme_v2.defaultThemeConfig.button,
3585
- card: config?.card ?? getTheme_v2.defaultThemeConfig.card,
3974
+ avatar: config?.avatar ?? defaultThemeConfig.avatar,
3975
+ button: config?.button ?? defaultThemeConfig.button,
3976
+ card: config?.card ?? defaultThemeConfig.card,
3586
3977
  // How colors are generated:
3587
3978
  // 1. Merge custom tokens with default tokens
3588
3979
  // 2. Generate tree of color keys (gray/500, black, white, etc.)
3589
3980
  // 3. Apply mixing and render to hex values
3590
3981
  // render(build(mergeWithDefaults()))
3591
3982
  color: renderThemeColorSchemes(colorTheme, config),
3592
- container: config?.container ?? getTheme_v2.defaultThemeConfig.container,
3983
+ container: config?.container ?? defaultThemeConfig.container,
3593
3984
  font: config?.font ?? defaultThemeFonts,
3594
- input: config?.input ?? getTheme_v2.defaultThemeConfig.input,
3595
- layer: config?.layer ?? getTheme_v2.defaultThemeConfig.layer,
3596
- media: config?.media ?? getTheme_v2.defaultThemeConfig.media,
3597
- radius: config?.radius ?? getTheme_v2.defaultThemeConfig.radius,
3598
- shadow: config?.shadow ?? getTheme_v2.defaultThemeConfig.shadow,
3599
- space: config?.space ?? getTheme_v2.defaultThemeConfig.space,
3600
- style: config?.style ?? getTheme_v2.defaultThemeConfig.style
3985
+ input: config?.input ?? defaultThemeConfig.input,
3986
+ layer: config?.layer ?? defaultThemeConfig.layer,
3987
+ media: config?.media ?? defaultThemeConfig.media,
3988
+ radius: config?.radius ?? defaultThemeConfig.radius,
3989
+ shadow: config?.shadow ?? defaultThemeConfig.shadow,
3990
+ space: config?.space ?? defaultThemeConfig.space,
3991
+ style: config?.style ?? defaultThemeConfig.style
3601
3992
  };
3602
3993
  return v2_v0(v2);
3603
3994
  }
@@ -3640,7 +4031,7 @@ const cache = /* @__PURE__ */ new Map();
3640
4031
  function getScopedTheme(themeProp, scheme, tone) {
3641
4032
  const cachedTheme = _getCachedTheme(themeProp, scheme, tone);
3642
4033
  if (cachedTheme) return cachedTheme;
3643
- 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, color_v2_9 = themeColor_v0_v2_9(color_v2), layer_v2 = v2.layer || getTheme_v2.defaultThemeConfig.layer, theme = {
4034
+ 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, color_v2_9 = themeColor_v0_v2_9(color_v2), layer_v2 = v2.layer || defaultThemeConfig.layer, theme = {
3644
4035
  sanity: {
3645
4036
  ...v0,
3646
4037
  color: color_v0,
@@ -3667,7 +4058,6 @@ function _setCachedTheme(rootTheme, scheme, tone, theme) {
3667
4058
  const schemeCache = cache.get(scheme);
3668
4059
  schemeCache.has(tone) || schemeCache.set(tone, /* @__PURE__ */ new WeakMap()), schemeCache.get(tone).set(rootTheme, theme);
3669
4060
  }
3670
- exports.getTheme_v2 = getTheme_v2.getTheme_v2;
3671
4061
  exports.COLOR_CONFIG_AVATAR_COLORS = COLOR_CONFIG_AVATAR_COLORS;
3672
4062
  exports.COLOR_CONFIG_BLEND_KEYS = COLOR_CONFIG_BLEND_KEYS;
3673
4063
  exports.COLOR_CONFIG_CARD_KEYS = COLOR_CONFIG_CARD_KEYS;
@@ -3690,6 +4080,7 @@ exports.buildTheme = buildTheme;
3690
4080
  exports.createColorTheme = createColorTheme;
3691
4081
  exports.getContrastRatio = getContrastRatio;
3692
4082
  exports.getScopedTheme = getScopedTheme;
4083
+ exports.getTheme_v2 = getTheme_v2;
3693
4084
  exports.hexToRgb = hexToRgb;
3694
4085
  exports.hslToRgb = hslToRgb;
3695
4086
  exports.isColorBlendModeValue = isColorBlendModeValue;