@sanity/ui 2.0.0-beta.2 → 2.0.0-beta.21
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.
- package/LICENSE +1 -1
- package/README.md +6 -3
- package/dist/index.cjs.mjs +11 -36
- package/dist/index.d.ts +247 -267
- package/dist/index.esm.js +477 -326
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +486 -539
- package/dist/index.js.map +1 -1
- package/dist/theme.cjs.mjs +1 -1
- package/dist/theme.d.ts +87 -115
- package/dist/theme.esm.js +348 -290
- package/dist/theme.esm.js.map +1 -1
- package/dist/theme.js +348 -290
- package/dist/theme.js.map +1 -1
- package/package.json +6 -3
- package/src/core/__workshop__/fontsPlugin.tsx +48 -8
- package/src/core/_compat.ts +236 -87
- package/src/core/components/dialog/dialog.tsx +1 -1
- package/src/core/components/dialog/styles.ts +2 -2
- package/src/core/components/menu/__workshop__/selectedItem.tsx +7 -2
- package/src/core/components/menu/menuButton.tsx +12 -1
- package/src/core/components/toast/toast.tsx +17 -2
- package/src/core/components/toast/toastProvider.tsx +20 -3
- package/src/core/constants.ts +37 -0
- package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +6 -3
- package/src/core/middleware/origin.ts +47 -0
- package/src/core/primitives/badge/badge.tsx +1 -3
- package/src/core/primitives/button/button.tsx +9 -11
- package/src/core/primitives/heading/styles.ts +4 -0
- package/src/core/primitives/kbd/kbd.tsx +2 -0
- package/src/core/primitives/popover/popover.tsx +67 -13
- package/src/core/primitives/popover/popoverCard.tsx +31 -15
- package/src/core/primitives/select/select.tsx +1 -1
- package/src/core/primitives/switch/styles.ts +6 -1
- package/src/core/primitives/textInput/__workshop__/plain.tsx +1 -1
- package/src/core/primitives/textInput/__workshop__/states.tsx +10 -2
- package/src/core/primitives/tooltip/tooltip.tsx +46 -56
- package/src/core/primitives/tooltip/tooltipCard.tsx +110 -0
- package/src/core/styles/card/_cardColorStyle.ts +2 -0
- package/src/core/styles/input/textInputStyle.ts +33 -2
- package/src/core/styles/margin/marginsStyle.test.ts +2 -2
- package/src/core/styles/padding/paddingStyle.test.ts +2 -2
- package/src/core/theme/__workshop__/build/Root.tsx +20 -3
- package/src/core/theme/__workshop__/build/story.tsx +16 -10
- package/src/core/theme/__workshop__/canvas.tsx +7 -7
- package/src/core/theme/__workshop__/debug/story.tsx +196 -0
- package/src/core/theme/__workshop__/index.ts +5 -0
- package/src/core/theme/theme.test.tsx +2 -2
- package/src/core/types/button.ts +1 -2
- package/src/core/{primitives/tooltip → utils/conditionalWrapper}/conditionalWrapper.tsx +3 -0
- package/src/core/utils/conditionalWrapper/index.ts +1 -0
- package/src/core/utils/index.ts +1 -0
- package/src/theme/build/_deprecated/color/factory.ts +3 -3
- package/src/theme/build/buildColorTheme.test.ts +2 -2
- package/src/theme/build/buildColorTheme.ts +16 -16
- package/src/theme/build/colorToken/colorToken.ts +19 -0
- package/src/theme/build/colorToken/compileColorToken.ts +21 -0
- package/src/theme/build/colorToken/index.ts +2 -0
- package/src/theme/build/colorToken/types.ts +6 -0
- package/src/theme/build/renderColorTheme.ts +14 -15
- package/src/theme/build/renderColorValue.ts +9 -2
- package/src/theme/config/system.ts +12 -10
- package/src/theme/config/tokens/color/types.ts +12 -1
- package/src/theme/config/tokens/parseTokenKey.ts +1 -0
- package/src/theme/config/tokens/parseTokenValue.test.ts +13 -16
- package/src/theme/config/tokens/parseTokenValue.ts +45 -14
- package/src/theme/config/tokens/types.ts +3 -2
- package/src/theme/defaults/colorTokens.ts +279 -253
- package/src/theme/defaults/config.ts +2 -2
- package/src/theme/getScopedTheme.ts +1 -0
- package/src/theme/index.ts +0 -7
- package/src/theme/system/color/_constants.ts +5 -2
- package/src/theme/system/color/_system.ts +2 -1
- package/src/theme/system/color/avatar.ts +2 -12
- package/src/theme/system/color/button.ts +4 -20
- package/src/theme/system/color/input.ts +3 -11
- package/src/theme/system/color/selectable.ts +3 -14
- package/src/theme/system/shadow.ts +0 -6
- package/src/theme/system/styles.ts +0 -6
- package/src/theme/system/theme.ts +11 -1
- package/src/theme/system/v0/avatar.ts +1 -1
- package/src/theme/system/v0/color/button.ts +4 -4
- package/src/theme/system/v0/color/card.ts +2 -2
- package/src/theme/system/v0/color/color.ts +0 -1
- package/src/theme/system/v0/color/input.ts +3 -3
- package/src/theme/system/v0/color/muted.ts +2 -2
- package/src/theme/system/v0/color/solid.ts +2 -2
- package/src/theme/versioning/getTheme_v2.ts +2 -1
- package/src/theme/versioning/themeColor_v0_v2.ts +2 -2
- package/src/theme/versioning/v2_v0.ts +3 -2
- package/src/theme/build/colorToken.ts +0 -39
package/dist/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sources":["../src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts","../src/theme/build/_deprecated/color/_solid/createSolidTones.ts","../src/theme/build/_deprecated/color/button/createButtonTones.ts","../src/theme/build/_deprecated/color/button/createButtonModes.ts","../src/theme/build/_deprecated/color/card/createCardStates.ts","../src/theme/build/_deprecated/color/defaults.ts","../src/theme/build/_deprecated/color/input/createInputModes.ts","../src/theme/build/_deprecated/color/muted/createMuted.ts","../src/theme/build/_deprecated/color/spot/createSpot.ts","../src/theme/build/_deprecated/color/factory.ts","../src/theme/defaults/config.ts","../src/theme/defaults/fonts.ts","../src/theme/versioning/themeColor_v0_v2.ts","../src/theme/versioning/getTheme_v2.ts","../src/theme/versioning/is_v0.ts","../src/theme/versioning/is_v2.ts","../src/theme/versioning/v0_v2.ts","../src/theme/versioning/v2_v0.ts","../src/theme/system/color/_constants.ts","../src/theme/system/color/_helpers.ts","../src/theme/config/system.ts","../src/theme/config/tokens/parseTokenKey.ts","../src/theme/config/tokens/parseTokenValue.ts","../src/theme/config/helpers.ts","../src/theme/build/colorToken.ts","../src/theme/defaults/colorTokens.ts","../src/theme/build/lib/isRecord.ts","../src/theme/build/merge.ts","../src/theme/build/resolveColorTokens.ts","../src/theme/build/buildColorTheme.ts","../src/theme/defaults/colorPalette.ts","../src/theme/build/lib/color-fns/blend/mix.ts","../src/theme/build/lib/color-fns/blend/multiply.ts","../src/theme/build/lib/color-fns/blend/screen.ts","../src/theme/build/lib/utils.ts","../src/theme/build/lib/color-fns/convert.ts","../src/theme/build/lib/color-fns/parse.ts","../src/theme/build/lib/color-fns/contrastRatio.ts","../src/theme/build/lib/color-fns/rgba.ts","../src/theme/build/mixThemeColor.ts","../src/theme/build/renderColorValue.ts","../src/theme/build/renderColorTheme.ts","../src/theme/build/buildTheme.ts","../src/theme/getScopedTheme.ts","../src/theme/index.ts"],"sourcesContent":["import {\n ThemeColorBase,\n ThemeColorMuted,\n ThemeColorSelectable,\n ThemeColorSelectableStates,\n ThemeColorSolid,\n} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\n\nexport function createSelectableTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n): ThemeColorSelectable {\n return {\n default: _createSelectableStates(opts, base, dark, solid, muted, 'default'),\n primary: _createSelectableStates(opts, base, dark, solid, muted, 'primary'),\n positive: _createSelectableStates(opts, base, dark, solid, muted, 'positive'),\n caution: _createSelectableStates(opts, base, dark, solid, muted, 'caution'),\n critical: _createSelectableStates(opts, base, dark, solid, muted, 'critical'),\n }\n}\n\nfunction _createSelectableStates(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n tone: 'default' | 'primary' | 'positive' | 'caution' | 'critical',\n): ThemeColorSelectableStates {\n return {\n enabled: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'enabled',\n tone,\n }),\n hovered: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'hovered',\n tone,\n }),\n pressed: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'pressed',\n tone,\n }),\n selected: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'selected',\n tone,\n }),\n disabled: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'disabled',\n tone,\n }),\n }\n}\n","import {ThemeColorBase, ThemeColorSolid, ThemeColorName} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\n\nexport function createSolidTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorName,\n): ThemeColorSolid {\n return {\n default: {\n enabled: opts.solid({base, dark, tone: 'default', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'default', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'default', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'default', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'default', name, state: 'selected'}),\n },\n transparent: {\n enabled: opts.solid({base, dark, tone: 'transparent', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'transparent', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'transparent', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'transparent', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'transparent', name, state: 'selected'}),\n },\n primary: {\n enabled: opts.solid({base, dark, tone: 'primary', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'primary', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'primary', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'primary', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'primary', name, state: 'selected'}),\n },\n positive: {\n enabled: opts.solid({base, dark, tone: 'positive', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'positive', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'positive', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'positive', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'positive', name, state: 'selected'}),\n },\n caution: {\n enabled: opts.solid({base, dark, tone: 'caution', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'caution', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'caution', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'caution', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'caution', name, state: 'selected'}),\n },\n critical: {\n enabled: opts.solid({base, dark, tone: 'critical', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'critical', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'critical', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'critical', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'critical', name, state: 'selected'}),\n },\n }\n}\n","import {\n ThemeColorBase,\n ThemeColorButtonModeKey,\n ThemeColorButtonTones,\n ThemeColorMuted,\n ThemeColorSolid,\n} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\n\nexport function createButtonTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n mode: ThemeColorButtonModeKey,\n): ThemeColorButtonTones {\n return {\n default: opts.button({\n base,\n dark,\n solid: solid.default,\n muted: muted.default,\n mode,\n }),\n primary: opts.button({\n base,\n dark,\n solid: solid.primary,\n muted: muted.primary,\n mode,\n }),\n positive: opts.button({\n base,\n dark,\n solid: solid.positive,\n muted: muted.positive,\n mode,\n }),\n caution: opts.button({\n base,\n dark,\n solid: solid.caution,\n muted: muted.caution,\n mode,\n }),\n critical: opts.button({\n base,\n dark,\n solid: solid.critical,\n muted: muted.critical,\n mode,\n }),\n }\n}\n","import {\n ThemeColorBase,\n ThemeColorButton,\n ThemeColorMuted,\n ThemeColorSolid,\n} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {createButtonTones} from './createButtonTones'\n\nexport function createButtonModes(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n): ThemeColorButton {\n return {\n default: createButtonTones(opts, base, dark, solid, muted, 'default'),\n ghost: createButtonTones(opts, base, dark, solid, muted, 'ghost'),\n bleed: createButtonTones(opts, base, dark, solid, muted, 'bleed'),\n }\n}\n","import {\n ThemeColorBase,\n ThemeColorCard,\n ThemeColorMuted,\n ThemeColorSolid,\n ThemeColorName,\n} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\n\nexport function createCardStates(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorName,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n): ThemeColorCard {\n return {\n enabled: opts.card({\n base,\n dark,\n name,\n state: 'enabled',\n solid,\n muted,\n }),\n disabled: opts.card({\n base,\n dark,\n name,\n state: 'disabled',\n solid,\n muted,\n }),\n hovered: opts.card({\n base,\n dark,\n name,\n state: 'hovered',\n solid,\n muted,\n }),\n pressed: opts.card({\n base,\n dark,\n name,\n state: 'pressed',\n solid,\n muted,\n }),\n selected: opts.card({\n base,\n dark,\n name,\n state: 'selected',\n solid,\n muted,\n }),\n }\n}\n","import {ThemeColorBuilderOpts} from './factory'\n\nconst black = 'hsl(0, 0%, 0%)'\nconst white = 'hsl(0, 0%, 100%)'\n\nconst colors = {\n default: {\n lightest: 'hsl(0, 0%, 95%)',\n lighter: 'hsl(0, 0%, 70%)',\n light: 'hsl(0, 0%, 65%)',\n base: 'hsl(0, 0%, 50%)',\n dark: 'hsl(0, 0%, 35%)',\n darker: 'hsl(0, 0%, 20%)',\n darkest: 'hsl(0, 0%, 5%)',\n },\n transparent: {\n lightest: 'hsl(240, 100%, 95%)',\n lighter: 'hsl(240, 100%, 70%)',\n light: 'hsl(240, 100%, 65%)',\n base: 'hsl(240, 100%, 50%)',\n dark: 'hsl(240, 100%, 35%)',\n darker: 'hsl(240, 100%, 20%)',\n darkest: 'hsl(240, 100%, 5%)',\n },\n primary: {\n lightest: 'hsl(240, 100%, 95%)',\n lighter: 'hsl(240, 100%, 70%)',\n light: 'hsl(240, 100%, 65%)',\n base: 'hsl(240, 100%, 50%)',\n dark: 'hsl(240, 100%, 35%)',\n darker: 'hsl(240, 100%, 20%)',\n darkest: 'hsl(240, 100%, 5%)',\n },\n positive: {\n lightest: 'hsl(120, 100%, 95%)',\n lighter: 'hsl(120, 100%, 70%)',\n light: 'hsl(120, 100%, 65%)',\n base: 'hsl(120, 100%, 50%)',\n dark: 'hsl(120, 100%, 35%)',\n darker: 'hsl(120, 100%, 20%)',\n darkest: 'hsl(120, 100%, 5%)',\n },\n caution: {\n lightest: 'hsl(60, 100%, 95%)',\n lighter: 'hsl(60, 100%, 70%)',\n light: 'hsl(60, 100%, 65%)',\n base: 'hsl(60, 100%, 50%)',\n dark: 'hsl(60, 100%, 35%)',\n darker: 'hsl(60, 100%, 20%)',\n darkest: 'hsl(60, 100%, 5%)',\n },\n critical: {\n lightest: 'hsl(0, 100%, 95%)',\n lighter: 'hsl(0, 100%, 70%)',\n light: 'hsl(0, 100%, 65%)',\n base: 'hsl(0, 100%, 50%)',\n dark: 'hsl(0, 100%, 35%)',\n darker: 'hsl(0, 100%, 20%)',\n darkest: 'hsl(0, 100%, 5%)',\n },\n}\n\nconst spots = {\n gray: 'hsl(0, 0%, 50%)',\n red: 'hsl(0, 100%, 50%)',\n orange: 'hsl(30, 100%, 50%)',\n yellow: 'hsl(60, 100%, 50%)',\n green: 'hsl(120, 100%, 50%)',\n cyan: 'hsl(180, 100%, 50%)',\n blue: 'hsl(240, 100%, 50%)',\n purple: 'hsl(270, 100%, 50%)',\n magenta: 'hsl(300, 100%, 50%)',\n}\n\nconst tones = {\n transparent: {\n bg: [colors.transparent.darkest, colors.transparent.lightest],\n fg: [colors.transparent.lightest, colors.transparent.darkest],\n border: [colors.transparent.darker, colors.transparent.lighter],\n focusRing: [colors.transparent.base, colors.transparent.base],\n },\n primary: {\n bg: [colors.primary.darkest, colors.primary.lightest],\n fg: [colors.primary.lightest, colors.primary.darkest],\n border: [colors.primary.darker, colors.primary.lighter],\n focusRing: [colors.primary.base, colors.primary.base],\n },\n positive: {\n bg: [colors.positive.darkest, colors.positive.lightest],\n fg: [colors.positive.lightest, colors.positive.darkest],\n border: [colors.positive.darker, colors.positive.lighter],\n focusRing: [colors.positive.base, colors.positive.base],\n },\n caution: {\n bg: [colors.caution.darkest, colors.caution.lightest],\n fg: [colors.caution.lightest, colors.caution.darkest],\n border: [colors.caution.darker, colors.caution.lighter],\n focusRing: [colors.caution.base, colors.caution.base],\n },\n critical: {\n bg: [colors.critical.darkest, colors.critical.lightest],\n fg: [colors.critical.lightest, colors.critical.darkest],\n border: [colors.critical.darker, colors.critical.lighter],\n focusRing: [colors.critical.base, colors.critical.base],\n },\n}\n\nexport const defaultOpts: ThemeColorBuilderOpts = {\n base: ({dark, name}) => {\n if (name === 'default') {\n return {\n bg: dark ? black : white,\n fg: dark ? white : black,\n border: dark ? colors.default.darkest : colors.default.lightest,\n focusRing: colors.primary.base,\n shadow: {\n outline: black,\n umbra: black,\n penumbra: black,\n ambient: black,\n },\n skeleton: {\n from: dark ? white : black,\n to: dark ? white : black,\n },\n }\n }\n\n // Variants:\n // - primary\n // - positive\n // - caution\n // - critical\n return {\n bg: tones[name].bg[dark ? 0 : 1],\n fg: tones[name].fg[dark ? 0 : 1],\n border: tones[name].border[dark ? 0 : 1],\n focusRing: tones[name].focusRing[dark ? 0 : 1],\n shadow: {\n outline: black,\n umbra: black,\n penumbra: black,\n ambient: black,\n },\n skeleton: {\n from: dark ? white : black,\n to: dark ? white : black,\n },\n }\n },\n\n solid: ({base, dark, state, tone}) => {\n const color = colors[tone]\n\n if (state === 'hovered') {\n return {\n bg: dark ? color.light : color.dark,\n bg2: dark ? color.light : color.dark,\n border: dark ? color.lighter : color.darker,\n fg: dark ? color.darkest : color.lightest,\n icon: dark ? color.darkest : color.lightest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n }\n\n return {\n bg: color.base,\n bg2: color.base,\n border: dark ? color.light : color.dark,\n fg: dark ? color.darkest : color.lightest,\n icon: dark ? color.darkest : color.lightest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n muted: ({base, dark, state, tone}) => {\n const color = colors[tone]\n\n if (state === 'hovered') {\n return {\n bg: dark ? color.darker : color.lighter,\n bg2: dark ? color.darker : color.lighter,\n border: dark ? color.lighter : color.darker,\n fg: dark ? color.lightest : color.darkest,\n icon: dark ? color.lightest : color.darkest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n }\n\n return {\n bg: dark ? color.darkest : color.lightest,\n bg2: dark ? color.darkest : color.lightest,\n border: dark ? color.darker : color.lighter,\n fg: dark ? color.lighter : color.darker,\n icon: dark ? color.lighter : color.darker,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n button: ({base, mode, muted, solid}) => {\n if (mode === 'bleed') {\n return {\n ...muted,\n enabled: {\n bg: 'transparent',\n bg2: 'transparent',\n fg: muted.enabled.fg,\n icon: muted.enabled.fg,\n border: 'transparent',\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n },\n hovered: {\n bg: muted.enabled.bg,\n bg2: muted.enabled.bg,\n fg: muted.hovered.fg,\n icon: muted.hovered.fg,\n border: 'transparent',\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n },\n }\n }\n\n if (mode === 'ghost')\n return {\n ...solid,\n enabled: muted.enabled,\n }\n\n return solid\n },\n\n card: ({base}) => {\n return {\n bg: black,\n bg2: black,\n fg: black,\n icon: black,\n border: black,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n input: () => {\n return {\n bg: black,\n bg2: black,\n fg: black,\n border: black,\n placeholder: black,\n }\n },\n\n selectable: ({muted, state, tone}) => {\n return muted[tone][state]\n },\n\n spot: ({key}) => {\n return spots[key]\n },\n\n syntax: () => ({\n atrule: black,\n attrName: black,\n attrValue: black,\n attribute: black,\n boolean: black,\n builtin: black,\n cdata: black,\n char: black,\n class: black,\n className: black,\n comment: black,\n constant: black,\n deleted: black,\n doctype: black,\n entity: black,\n function: black,\n hexcode: black,\n id: black,\n important: black,\n inserted: black,\n keyword: black,\n number: black,\n operator: black,\n prolog: black,\n property: black,\n pseudoClass: black,\n pseudoElement: black,\n punctuation: black,\n regex: black,\n selector: black,\n string: black,\n symbol: black,\n tag: black,\n unit: black,\n url: black,\n variable: black,\n }),\n}\n","import {ThemeColorBase, ThemeColorInput, ThemeColorMuted, ThemeColorSolid} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\n\nexport function createInputModes(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n): ThemeColorInput {\n return {\n default: {\n enabled: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'enabled',\n solid: solid.default,\n muted: muted.default,\n }),\n disabled: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'disabled',\n solid: solid.default,\n muted: muted.default,\n }),\n hovered: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'hovered',\n solid: solid.default,\n muted: muted.default,\n }),\n readOnly: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'readOnly',\n solid: solid.default,\n muted: muted.default,\n }),\n },\n invalid: {\n enabled: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'enabled',\n solid: solid.default,\n muted: muted.default,\n }),\n disabled: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'disabled',\n solid: solid.default,\n muted: muted.default,\n }),\n hovered: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'hovered',\n solid: solid.default,\n muted: muted.default,\n }),\n readOnly: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'readOnly',\n solid: solid.default,\n muted: muted.default,\n }),\n },\n }\n}\n","import {ThemeColorBase, ThemeColorCardToneKey, ThemeColorMuted} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\n\nexport function createMutedTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorCardToneKey,\n): ThemeColorMuted {\n return {\n default: {\n enabled: opts.muted({base, dark, tone: 'default', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'default', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'default', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'default', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'default', name, state: 'selected'}),\n },\n transparent: {\n enabled: opts.muted({base, dark, tone: 'transparent', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'transparent', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'transparent', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'transparent', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'transparent', name, state: 'selected'}),\n },\n primary: {\n enabled: opts.muted({base, dark, tone: 'primary', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'primary', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'primary', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'primary', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'primary', name, state: 'selected'}),\n },\n positive: {\n enabled: opts.muted({base, dark, tone: 'positive', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'positive', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'positive', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'positive', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'positive', name, state: 'selected'}),\n },\n caution: {\n enabled: opts.muted({base, dark, tone: 'caution', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'caution', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'caution', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'caution', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'caution', name, state: 'selected'}),\n },\n critical: {\n enabled: opts.muted({base, dark, tone: 'critical', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'critical', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'critical', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'critical', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'critical', name, state: 'selected'}),\n },\n }\n}\n","import {ThemeColorBase, ThemeColorSpot} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\n\nexport function createSpot(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n): ThemeColorSpot {\n return {\n gray: opts.spot({base, dark, key: 'gray'}),\n blue: opts.spot({base, dark, key: 'blue'}),\n purple: opts.spot({base, dark, key: 'purple'}),\n magenta: opts.spot({base, dark, key: 'magenta'}),\n red: opts.spot({base, dark, key: 'red'}),\n orange: opts.spot({base, dark, key: 'orange'}),\n yellow: opts.spot({base, dark, key: 'yellow'}),\n green: opts.spot({base, dark, key: 'green'}),\n cyan: opts.spot({base, dark, key: 'cyan'}),\n }\n}\n","import {\n ThemeColorGenericState,\n ThemeColorBase,\n ThemeColorButtonModeKey,\n ThemeColorButtonStates,\n ThemeColorInputState,\n ThemeColorMuted,\n ThemeColorMutedTone,\n ThemeColorSolid,\n ThemeColorSolidTone,\n ThemeColorSyntax,\n ThemeColorName,\n ThemeColorScheme,\n ThemeColorSchemes,\n ThemeColor,\n ThemeColorToneKey,\n ThemeColorSpotKey,\n} from '../../../system'\nimport {createSelectableTones} from './_selectable/createSelectableTones'\nimport {createSolidTones} from './_solid/createSolidTones'\nimport {createButtonModes} from './button/createButtonModes'\nimport {createCardStates} from './card/createCardStates'\nimport {defaultOpts} from './defaults'\nimport {createInputModes} from './input/createInputModes'\nimport {createMutedTones} from './muted/createMuted'\nimport {createSpot} from './spot/createSpot'\n\n/**\n * @public\n * @deprecated\n */\nexport interface ThemeColorBuilderOpts {\n base: (opts: {dark: boolean; name: ThemeColorName}) => ThemeColorBase\n solid: (opts: {\n base: ThemeColorBase\n dark: boolean\n tone: ThemeColorToneKey\n name: ThemeColorName\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorGenericState\n muted: (opts: {\n base: ThemeColorBase\n dark: boolean\n tone: ThemeColorToneKey\n name: ThemeColorName\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorGenericState\n card: (opts: {\n base: ThemeColorBase\n dark: boolean\n muted: ThemeColorMuted\n name: ThemeColorName\n solid: ThemeColorSolid\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorGenericState\n button: (opts: {\n dark: boolean\n mode: ThemeColorButtonModeKey\n base: ThemeColorBase\n solid: ThemeColorSolidTone\n muted: ThemeColorMutedTone\n }) => ThemeColorButtonStates\n input: (opts: {\n base: ThemeColorBase\n solid: ThemeColorSolidTone\n muted: ThemeColorMutedTone\n dark: boolean\n mode: 'default' | 'invalid'\n state: 'enabled' | 'disabled' | 'hovered' | 'readOnly'\n }) => ThemeColorInputState\n selectable: (opts: {\n dark: boolean\n base: ThemeColorBase\n solid: ThemeColorSolid\n muted: ThemeColorMuted\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n tone: 'default' | 'primary' | 'positive' | 'caution' | 'critical'\n }) => ThemeColorGenericState\n syntax: (opts: {base: ThemeColorBase; dark: boolean}) => ThemeColorSyntax\n spot: (opts: {base: ThemeColorBase; dark: boolean; key: ThemeColorSpotKey}) => string\n}\n\n/**\n * @public\n * @deprecated\n */\nexport type PartialThemeColorBuilderOpts = Partial<ThemeColorBuilderOpts>\n\n/**\n * @public\n * @deprecated Use `buildTheme` instead\n */\nexport function createColorTheme(\n partialOpts: PartialThemeColorBuilderOpts = {},\n): ThemeColorSchemes {\n const builders: ThemeColorBuilderOpts = {...defaultOpts, ...partialOpts}\n\n return {\n light: _createColorScheme(builders, false),\n dark: _createColorScheme(builders, true),\n }\n}\n\n/**\n * @internal\n */\nfunction _createColorScheme(opts: ThemeColorBuilderOpts, dark: boolean): ThemeColorScheme {\n return {\n default: _createColor(opts, dark, 'default'),\n transparent: _createColor(opts, dark, 'transparent'),\n primary: _createColor(opts, dark, 'primary'),\n positive: _createColor(opts, dark, 'positive'),\n caution: _createColor(opts, dark, 'caution'),\n critical: _createColor(opts, dark, 'critical'),\n }\n}\n\n/**\n * @internal\n */\nfunction _createColor(\n opts: ThemeColorBuilderOpts,\n dark: boolean,\n name: ThemeColorName,\n): ThemeColor {\n const base = opts.base({dark, name})\n const solid = createSolidTones(opts, base, dark, name)\n const muted = createMutedTones(opts, base, dark, name)\n\n return {\n base,\n button: createButtonModes(opts, base, dark, solid, muted),\n card: createCardStates(opts, base, dark, name, solid, muted),\n dark,\n input: createInputModes(opts, base, dark, solid, muted),\n selectable: createSelectableTones(opts, base, dark, solid, muted),\n spot: createSpot(opts, base, dark),\n syntax: opts.syntax({base, dark}),\n solid,\n muted,\n }\n}\n","import {RootTheme_v2} from '../system'\n\nconst BORDER_WIDTH = 1\nconst OUTLINE_WIDTH = 0.5\n\nexport const defaultThemeConfig: Omit<RootTheme_v2, 'color' | 'font'> = {\n _version: 2,\n avatar: {\n sizes: [\n {distance: -4, size: 19},\n {distance: -4, size: 25},\n {distance: -8, size: 33},\n {distance: -12, size: 49},\n ],\n focusRing: {offset: 1, width: 1},\n },\n button: {\n textWeight: 'medium',\n border: {width: BORDER_WIDTH},\n focusRing: {offset: -1, width: 1},\n },\n card: {\n border: {width: BORDER_WIDTH},\n focusRing: {offset: -1, width: 1},\n shadow: {outline: OUTLINE_WIDTH},\n },\n container: [480, 640, 960, 1280, 1600, 1920],\n media: [360, 600, 900, 1200, 1800, 2400],\n layer: {\n dialog: {zOffset: 600},\n popover: {zOffset: 400},\n tooltip: {zOffset: 200},\n },\n radius: [0, 1, 3, 6, 9, 12, 21],\n shadow: [\n null,\n {umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0]},\n {umbra: [0, 3, 5, -2], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 1]},\n {umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4]},\n {umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6]},\n {umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8]},\n ],\n space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],\n input: {\n border: {\n width: BORDER_WIDTH,\n },\n checkbox: {\n size: 17,\n focusRing: {offset: -1, width: 1},\n },\n radio: {\n size: 17,\n markSize: 9,\n focusRing: {offset: -1, width: 1},\n },\n switch: {\n width: 25,\n height: 17,\n padding: 2,\n transitionDurationMs: 150,\n transitionTimingFunction: 'ease-out',\n focusRing: {offset: 1, width: 1},\n },\n select: {\n focusRing: {offset: -1, width: 1},\n },\n text: {\n focusRing: {offset: -1, width: 1},\n },\n },\n style: {\n button: {\n root: {\n transition: 'background-color 100ms,border-color 100ms,color 100ms',\n },\n },\n // card: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n },\n}\n","import {ThemeFonts} from '../system'\n\nexport const defaultThemeFonts: ThemeFonts = {\n code: {\n family: 'ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 19,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 22,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n },\n ],\n },\n heading: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 700,\n medium: 800,\n semibold: 900,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 17,\n lineHeight: 19,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 27,\n iconSize: 41,\n lineHeight: 35,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 9.5,\n descenderHeight: 8.5,\n fontSize: 33,\n iconSize: 49,\n lineHeight: 41,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 10.5,\n descenderHeight: 9.5,\n fontSize: 38,\n iconSize: 53,\n lineHeight: 47,\n letterSpacing: 0,\n },\n ],\n },\n label: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", system-ui, sans-serif',\n weights: {\n regular: 600,\n medium: 700,\n semibold: 800,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 8.1,\n iconSize: 13,\n lineHeight: 10,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 9.5,\n iconSize: 15,\n lineHeight: 11,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 10.8,\n iconSize: 17,\n lineHeight: 12,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 12.25,\n iconSize: 19,\n lineHeight: 13,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 13.6,\n iconSize: 21,\n lineHeight: 14,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 15,\n iconSize: 23,\n lineHeight: 15,\n letterSpacing: 0.5,\n },\n ],\n },\n text: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 15,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 18,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n },\n ],\n },\n}\n","import {\n ThemeColor,\n ThemeColorGenericState,\n ThemeColorMuted,\n ThemeColorSelectable_v2,\n ThemeColorState_v2,\n ThemeColorCard_v2,\n ThemeColorInputStates,\n ThemeColorInputStates_v2,\n ThemeColorInputState,\n ThemeColorInputState_v2,\n} from '../system'\n\nconst cache = new WeakMap<ThemeColor, ThemeColorCard_v2>()\n\n/** @internal */\nexport function themeColor_v0_v2(color_v0: ThemeColor): ThemeColorCard_v2 {\n const cached_v2 = cache.get(color_v0)\n\n if (cached_v2) return cached_v2\n\n const base = stateThemeColor_v0_v2(color_v0, color_v0.card.enabled)\n\n const color_v2: ThemeColorCard_v2 = {\n _blend: color_v0._blend || (color_v0.dark ? 'screen' : 'multiply'),\n _dark: color_v0.dark,\n accent: base.accent,\n avatar: base.avatar,\n backdrop: color_v0.base.shadow.ambient,\n badge: base.badge,\n bg: color_v0.base.bg,\n border: color_v0.base.border,\n button: {\n default: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.default),\n ghost: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.ghost),\n bleed: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.bleed),\n },\n code: base.code,\n fg: color_v0.base.fg,\n focusRing: color_v0.base.focusRing,\n icon: base.muted.fg,\n input: {\n default: inputStatesThemeColor_v0_v2(color_v0.input.default),\n invalid: inputStatesThemeColor_v0_v2(color_v0.input.invalid),\n },\n kbd: base.kbd,\n link: base.link,\n muted: {\n ...base.muted,\n bg: color_v0.selectable?.default.enabled.bg2 || color_v0.base.bg,\n },\n selectable: stateTonesThemeColor_v0_v2(color_v0, color_v0.selectable || color_v0.muted),\n shadow: color_v0.base.shadow,\n skeleton: {\n from: color_v0.skeleton?.from || color_v0.base.border,\n to: color_v0.skeleton?.to || color_v0.base.border,\n },\n syntax: color_v0.syntax,\n }\n\n cache.set(color_v0, color_v2)\n\n return color_v2\n}\n\nfunction stateTonesThemeColor_v0_v2(\n v0: ThemeColor,\n t: Omit<ThemeColorMuted, 'transparent'>,\n): ThemeColorSelectable_v2 {\n return {\n default: {\n enabled: stateThemeColor_v0_v2(v0, t.default.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.default.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.default.pressed),\n selected: stateThemeColor_v0_v2(v0, t.default.selected),\n disabled: stateThemeColor_v0_v2(v0, t.default.disabled),\n },\n primary: {\n enabled: stateThemeColor_v0_v2(v0, t.primary.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.primary.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.primary.pressed),\n selected: stateThemeColor_v0_v2(v0, t.primary.selected),\n disabled: stateThemeColor_v0_v2(v0, t.primary.disabled),\n },\n positive: {\n enabled: stateThemeColor_v0_v2(v0, t.positive.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.positive.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.positive.pressed),\n selected: stateThemeColor_v0_v2(v0, t.positive.selected),\n disabled: stateThemeColor_v0_v2(v0, t.positive.disabled),\n },\n caution: {\n enabled: stateThemeColor_v0_v2(v0, t.caution.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.caution.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.caution.pressed),\n selected: stateThemeColor_v0_v2(v0, t.caution.selected),\n disabled: stateThemeColor_v0_v2(v0, t.caution.disabled),\n },\n critical: {\n enabled: stateThemeColor_v0_v2(v0, t.critical.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.critical.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.critical.pressed),\n selected: stateThemeColor_v0_v2(v0, t.critical.selected),\n disabled: stateThemeColor_v0_v2(v0, t.critical.disabled),\n },\n }\n}\n\nfunction stateThemeColor_v0_v2(v0: ThemeColor, state: ThemeColorGenericState): ThemeColorState_v2 {\n return {\n ...state,\n avatar: {\n gray: {\n bg: v0.spot.gray,\n fg: v0.base.bg,\n },\n blue: {\n bg: v0.spot.blue,\n fg: v0.base.bg,\n },\n purple: {\n bg: v0.spot.purple,\n fg: v0.base.bg,\n },\n magenta: {\n bg: v0.spot.magenta,\n fg: v0.base.bg,\n },\n red: {\n bg: v0.spot.red,\n fg: v0.base.bg,\n },\n orange: {\n bg: v0.spot.orange,\n fg: v0.base.bg,\n },\n yellow: {\n bg: v0.spot.yellow,\n fg: v0.base.bg,\n },\n green: {\n bg: v0.spot.green,\n fg: v0.base.bg,\n },\n cyan: {\n bg: v0.spot.cyan,\n fg: v0.base.bg,\n },\n },\n badge: {\n default: {\n bg: v0.muted.default.enabled.bg,\n fg: v0.muted.default.enabled.fg,\n dot: v0.muted.default.enabled.muted.fg,\n icon: v0.muted.default.enabled.muted.fg,\n },\n primary: {\n bg: v0.muted.primary.enabled.bg,\n fg: v0.muted.primary.enabled.fg,\n dot: v0.muted.primary.enabled.muted.fg,\n icon: v0.muted.primary.enabled.muted.fg,\n },\n positive: {\n bg: v0.muted.positive.enabled.bg,\n fg: v0.muted.positive.enabled.fg,\n dot: v0.muted.positive.enabled.muted.fg,\n icon: v0.muted.positive.enabled.muted.fg,\n },\n caution: {\n bg: v0.muted.caution.enabled.bg,\n fg: v0.muted.caution.enabled.fg,\n dot: v0.muted.caution.enabled.muted.fg,\n icon: v0.muted.caution.enabled.muted.fg,\n },\n critical: {\n bg: v0.muted.critical.enabled.bg,\n fg: v0.muted.critical.enabled.fg,\n dot: v0.muted.critical.enabled.muted.fg,\n icon: v0.muted.critical.enabled.muted.fg,\n },\n },\n kbd: {\n bg: v0.muted.default.enabled.bg,\n fg: v0.muted.default.enabled.fg,\n border: v0.muted.default.enabled.border,\n },\n muted: {\n ...v0.muted.default.enabled.muted,\n bg: state.bg2 || state.bg,\n },\n skeleton: {\n from: state.skeleton?.from || state.border,\n to: state.skeleton?.to || state.border,\n },\n }\n}\n\nfunction inputStatesThemeColor_v0_v2(states: ThemeColorInputStates): ThemeColorInputStates_v2 {\n return {\n enabled: inputStateThemeColor_v0_v2(states.enabled),\n disabled: inputStateThemeColor_v0_v2(states.disabled),\n readOnly: inputStateThemeColor_v0_v2(states.readOnly),\n hovered: inputStateThemeColor_v0_v2(states.hovered),\n }\n}\n\nfunction inputStateThemeColor_v0_v2(state: ThemeColorInputState): ThemeColorInputState_v2 {\n return {\n bg: state.bg,\n border: state.border,\n fg: state.fg,\n muted: {\n bg: state.bg2,\n },\n placeholder: state.placeholder,\n }\n}\n","import {defaultThemeConfig} from '../defaults/config'\nimport {Theme, Theme_v2} from '../system'\nimport {themeColor_v0_v2} from './themeColor_v0_v2'\n\nconst cache = new WeakMap<Theme, Theme_v2>()\n\n/** @public */\nexport function getTheme_v2(theme: Theme): Theme_v2 {\n if (theme.sanity.v2) return theme.sanity.v2\n\n const cached_v2 = cache.get(theme)\n\n if (cached_v2) return cached_v2\n\n const v2: Theme_v2 = {\n _version: 2,\n avatar: {\n ...defaultThemeConfig.avatar,\n ...theme.sanity.avatar,\n },\n button: {\n ...defaultThemeConfig.button,\n ...theme.sanity.button,\n },\n card: defaultThemeConfig.card,\n color: themeColor_v0_v2(theme.sanity.color),\n container: theme.sanity.container,\n font: theme.sanity.fonts,\n input: {\n ...defaultThemeConfig.input,\n ...theme.sanity.input,\n checkbox: {\n ...defaultThemeConfig.input.checkbox,\n ...theme.sanity.input.checkbox,\n },\n radio: {\n ...defaultThemeConfig.input.radio,\n ...theme.sanity.input.radio,\n },\n switch: {\n ...defaultThemeConfig.input.switch,\n ...theme.sanity.input.switch,\n },\n },\n layer: theme.sanity.layer ?? defaultThemeConfig.layer,\n media: theme.sanity.media,\n radius: theme.sanity.radius,\n shadow: theme.sanity.shadows,\n space: theme.sanity.space,\n style: theme.sanity.styles,\n }\n\n cache.set(theme, v2)\n\n return v2\n}\n","import {RootTheme, RootTheme_v2} from '../system'\n\n/** @internal */\nexport function is_v0(themeProp: RootTheme | RootTheme_v2): themeProp is RootTheme {\n return themeProp._version === 0\n}\n","import {RootTheme, RootTheme_v2} from '../system'\n\n/** @internal */\nexport function is_v2(themeProp: RootTheme | RootTheme_v2): themeProp is RootTheme_v2 {\n return themeProp._version === 2\n}\n","import {defaultThemeConfig} from '../defaults/config'\nimport {RootTheme, RootTheme_v2} from '../system'\nimport {themeColor_v0_v2} from './themeColor_v0_v2'\n\nconst cache = new WeakMap<RootTheme, RootTheme_v2>()\n\n/** @internal */\nexport function v0_v2(v0: RootTheme): RootTheme_v2 {\n if (v0.v2) return v0.v2\n\n const cached_v2 = cache.get(v0)\n\n if (cached_v2) return cached_v2\n\n const {\n avatar,\n button,\n color,\n container,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusRing: _unused_focusRing,\n fonts: font,\n input,\n layer,\n media,\n radius,\n shadows: shadow,\n space,\n styles: style,\n } = v0\n\n const v2: RootTheme_v2 = {\n _version: 2,\n avatar: {\n ...defaultThemeConfig.avatar,\n ...avatar,\n },\n button: {\n ...defaultThemeConfig.button,\n ...button,\n },\n card: defaultThemeConfig.card,\n color: {\n light: {\n transparent: themeColor_v0_v2(color.light.transparent),\n default: themeColor_v0_v2(color.light.default),\n primary: themeColor_v0_v2(color.light.primary),\n positive: themeColor_v0_v2(color.light.positive),\n caution: themeColor_v0_v2(color.light.caution),\n critical: themeColor_v0_v2(color.light.critical),\n },\n dark: {\n transparent: themeColor_v0_v2(color.dark.transparent),\n default: themeColor_v0_v2(color.dark.default),\n primary: themeColor_v0_v2(color.dark.primary),\n positive: themeColor_v0_v2(color.dark.positive),\n caution: themeColor_v0_v2(color.dark.caution),\n critical: themeColor_v0_v2(color.dark.critical),\n },\n },\n container,\n font,\n input: {\n ...defaultThemeConfig.input,\n ...input,\n checkbox: {\n ...defaultThemeConfig.input.checkbox,\n ...input.checkbox,\n },\n radio: {\n ...defaultThemeConfig.input.radio,\n ...input.radio,\n },\n switch: {\n ...defaultThemeConfig.input.switch,\n ...input.switch,\n },\n },\n layer: layer ?? defaultThemeConfig.layer,\n media,\n radius,\n shadow,\n space,\n style,\n }\n\n cache.set(v0, v2)\n\n return v2\n}\n","import {\n RootTheme,\n RootTheme_v2,\n ThemeColor,\n ThemeColorCard_v2,\n ThemeColorInputState,\n ThemeColorInputState_v2,\n ThemeColorInputStates,\n ThemeColorInputStates_v2,\n} from '../system'\n\nconst cache = new WeakMap<RootTheme_v2, RootTheme>()\n\n/** @internal */\nexport function v2_v0(v2: RootTheme_v2): RootTheme {\n const cachedTheme = cache.get(v2)\n\n if (cachedTheme) return cachedTheme\n\n const {\n avatar,\n button,\n color,\n container,\n font: fonts,\n input,\n media,\n radius,\n shadow: shadows,\n space,\n style: styles,\n } = v2\n\n return {\n _version: 0,\n avatar,\n button,\n container,\n color: {\n light: {\n transparent: themeColor_v2_v0(color.light.transparent),\n default: themeColor_v2_v0(color.light.default),\n primary: themeColor_v2_v0(color.light.primary),\n positive: themeColor_v2_v0(color.light.positive),\n caution: themeColor_v2_v0(color.light.caution),\n critical: themeColor_v2_v0(color.light.critical),\n },\n dark: {\n transparent: themeColor_v2_v0(color.dark.transparent),\n default: themeColor_v2_v0(color.dark.default),\n primary: themeColor_v2_v0(color.dark.primary),\n positive: themeColor_v2_v0(color.dark.positive),\n caution: themeColor_v2_v0(color.dark.caution),\n critical: themeColor_v2_v0(color.dark.critical),\n },\n },\n focusRing: input.text.focusRing,\n fonts,\n input,\n media,\n radius,\n shadows,\n space,\n styles,\n\n v2,\n }\n}\n\nfunction themeColor_v2_v0(color_v2: ThemeColorCard_v2): ThemeColor {\n return {\n base: {\n bg: color_v2.bg,\n fg: color_v2.fg,\n border: color_v2.border,\n focusRing: color_v2.focusRing,\n shadow: color_v2.shadow,\n },\n button: color_v2.button,\n card: color_v2.selectable.default,\n dark: color_v2._dark,\n input: {\n default: inputStatesThemeColor_v2_v0(color_v2.input.default),\n invalid: inputStatesThemeColor_v2_v0(color_v2.input.invalid),\n },\n muted: {\n ...color_v2.button.ghost,\n transparent: color_v2.button.ghost.default,\n },\n solid: {\n ...color_v2.button.default,\n transparent: color_v2.button.default.default,\n },\n spot: {\n gray: color_v2.avatar.gray.bg,\n blue: color_v2.avatar.blue.bg,\n purple: color_v2.avatar.purple.bg,\n magenta: color_v2.avatar.magenta.bg,\n red: color_v2.avatar.red.bg,\n orange: color_v2.avatar.orange.bg,\n yellow: color_v2.avatar.yellow.bg,\n green: color_v2.avatar.green.bg,\n cyan: color_v2.avatar.cyan.bg,\n },\n syntax: color_v2.syntax,\n }\n}\n\nfunction inputStatesThemeColor_v2_v0(t: ThemeColorInputStates_v2): ThemeColorInputStates {\n return {\n enabled: inputStateThemeColor_v2_v0(t.enabled),\n disabled: inputStateThemeColor_v2_v0(t.disabled),\n readOnly: inputStateThemeColor_v2_v0(t.readOnly),\n hovered: inputStateThemeColor_v2_v0(t.hovered),\n }\n}\n\nfunction inputStateThemeColor_v2_v0(t: ThemeColorInputState_v2): ThemeColorInputState {\n return {\n bg: t.bg,\n bg2: t.muted.bg,\n border: t.border,\n fg: t.fg,\n placeholder: t.placeholder,\n }\n}\n","import {COLOR_HUES} from '@sanity/color'\n\n/** @public */\nexport const THEME_COLOR_BLEND_MODES = ['multiply', 'screen'] as const\n\n/** @public */\nexport const THEME_COLOR_CARD_TONES = [\n 'transparent',\n 'default',\n 'primary', // todo: rename to `accent` in the next breaking major version\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const THEME_COLOR_STATE_TONES = [\n 'default',\n 'primary', // todo: rename to `accent` in the next breaking major version\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const THEME_COLOR_STATES = ['enabled', 'hovered', 'pressed', 'selected', 'disabled'] as const\n\n/** @public */\nexport const THEME_COLOR_BUTTON_MODES = ['default', 'ghost', 'bleed'] as const\n\n/** @public */\nexport const THEME_COLOR_INPUT_MODES = ['default', 'invalid'] as const\n\n/** @public */\nexport const THEME_COLOR_INPUT_STATES = ['enabled', 'hovered', 'readOnly', 'disabled'] as const\n\n/** @public */\nexport const THEME_COLOR_AVATAR_COLORS = COLOR_HUES\n","import {COLOR_HUES, COLOR_TINTS, ColorHueKey, ColorTintKey} from '@sanity/color'\nimport {THEME_COLOR_BLEND_MODES, THEME_COLOR_BUTTON_MODES} from './_constants'\nimport {ThemeColorBlendModeKey, ThemeColorButtonModeKey} from './_system'\n\n/** @internal */\nexport function isColorBlendModeValue(str: string): str is ThemeColorBlendModeKey {\n return THEME_COLOR_BLEND_MODES.includes(str as ThemeColorBlendModeKey)\n}\n\n/** @internal */\nexport function isColorHueKey(str: string): str is ColorHueKey {\n return COLOR_HUES.includes(str as ColorHueKey)\n}\n\n/** @internal */\nexport function isColorTintKey(str: string): str is ColorTintKey {\n return COLOR_TINTS.includes(str as ColorTintKey)\n}\n\n/** @internal */\nexport function isColorButtonMode(str: string): str is ThemeColorButtonModeKey {\n return THEME_COLOR_BUTTON_MODES.includes(str as ThemeColorButtonModeKey)\n}\n","import {ColorHueKey, ColorTintKey} from '@sanity/color'\nimport {\n THEME_COLOR_AVATAR_COLORS,\n THEME_COLOR_CARD_TONES,\n THEME_COLOR_INPUT_MODES,\n THEME_COLOR_INPUT_STATES,\n THEME_COLOR_STATES,\n THEME_COLOR_STATE_TONES,\n ThemeColorBlendModeKey,\n} from '../system'\n\n/** @internal */\nexport const COLOR_CONFIG_STATE_KEYS = [\n '_hue',\n 'bg',\n 'fg',\n 'border',\n 'focusRing',\n 'muted/fg',\n 'accent/fg',\n 'link/fg',\n 'code/bg',\n 'code/fg',\n 'skeleton/from',\n 'skeleton/to',\n 'status/dot',\n 'status/icon',\n] as const\n\n/** @public */\nexport type ColorConfigStateKey = (typeof COLOR_CONFIG_STATE_KEYS)[number]\n\n/** @internal */\nexport const COLOR_CONFIG_CARD_KEYS = [\n ...COLOR_CONFIG_STATE_KEYS,\n '_hue',\n 'bg',\n 'fg',\n 'border',\n 'focusRing',\n 'shadow/outline',\n 'shadow/umbra',\n 'shadow/penumbra',\n 'shadow/ambient',\n] as const\n\n/** @public */\nexport type ColorConfigCardKey = (typeof COLOR_CONFIG_CARD_KEYS)[number]\n\n/** @internal */\nexport const COLOR_CONFIG_BLEND_KEYS = ['_blend'] as const\n\n/** @public */\nexport type ColorConfigBlendKey = (typeof COLOR_CONFIG_BLEND_KEYS)[number]\n\n/** @public */\nexport type ColorConfigOpacityValue = `0` | `0.${number}` | `1`\n\n/** @public */\nexport type ColorConfigValue =\n | `black`\n | `white`\n | `black/${ColorConfigOpacityValue}`\n | `white/${ColorConfigOpacityValue}`\n | `${ColorHueKey}`\n | `${ColorHueKey}/${ColorTintKey}`\n | `${ColorHueKey}/${ColorTintKey}/${ColorConfigOpacityValue}`\n | `${ColorTintKey}`\n | `${ColorTintKey}/${ColorConfigOpacityValue}`\n | ThemeColorBlendModeKey\n\n/** @public */\nexport type ThemeColorTokenValue = [ColorConfigValue, ColorConfigValue]\n\n/** @public */\nexport type ColorBlendModeTokenValue = [ThemeColorBlendModeKey, ThemeColorBlendModeKey]\n\n/** @internal */\nexport const COLOR_CONFIG_AVATAR_COLORS = ['*', ...THEME_COLOR_AVATAR_COLORS] as const\n\n/** @public */\nexport type ColorConfigAvatarColor = (typeof COLOR_CONFIG_AVATAR_COLORS)[number]\n\n/** @internal */\nexport const COLOR_CONFIG_CARD_TONES = ['*', ...THEME_COLOR_CARD_TONES] as const\n\n/** @public */\nexport type ColorConfigCardTone = (typeof COLOR_CONFIG_CARD_TONES)[number]\n\n/** @internal */\nexport const COLOR_CONFIG_STATE_TONES = ['*', ...THEME_COLOR_STATE_TONES] as const\n\n/** @public */\nexport type ColorConfigStateTone = (typeof COLOR_CONFIG_STATE_TONES)[number]\n\n/** @internal */\nexport const COLOR_CONFIG_STATES = ['*', ...THEME_COLOR_STATES] as const\n\n/** @public */\nexport type ColorConfigState = (typeof COLOR_CONFIG_STATES)[number]\n\n/** @internal */\nexport const COLOR_CONFIG_INPUT_MODES = ['*', ...THEME_COLOR_INPUT_MODES] as const\n\n/** @public */\nexport type ColorConfigInputMode = (typeof COLOR_CONFIG_INPUT_MODES)[number]\n\n/** @internal */\nexport const COLOR_CONFIG_INPUT_STATES = ['*', ...THEME_COLOR_INPUT_STATES] as const\n\n/** @public */\nexport type ColorConfigInputState = (typeof COLOR_CONFIG_INPUT_STATES)[number]\n","import {isColorButtonMode} from '../../system'\nimport {\n isColorConfigBaseKey,\n isColorConfigBaseTone,\n isColorConfigBlendKey,\n isColorConfigStateKey,\n isColorConfigStateTone,\n} from '../helpers'\nimport {TokenKeyNode} from './types'\n\nexport function parseTokenKey(str: string): TokenKeyNode | undefined {\n const segments = str.split('/')\n const segment0 = segments.shift() || ''\n\n if (isColorConfigBaseTone(segment0)) {\n const key = segments.join('/')\n\n if (isColorConfigBaseKey(key)) {\n return {\n type: 'base',\n tone: segment0,\n key,\n }\n }\n\n if (isColorConfigBlendKey(key)) {\n return {\n type: 'base',\n tone: segment0,\n key,\n }\n }\n }\n\n if (segment0 === 'button') {\n const segment1 = segments.shift() || ''\n\n if (isColorConfigStateTone(segment1)) {\n const segment2 = segments.shift() || ''\n\n if (isColorButtonMode(segment2)) {\n const key = segments.join('/')\n\n if (isColorConfigStateKey(key)) {\n return {\n type: 'button',\n tone: segment1,\n mode: segment2,\n key,\n }\n }\n\n if (isColorConfigBlendKey(key)) {\n return {\n type: 'button',\n tone: segment1,\n mode: segment2,\n key,\n }\n }\n }\n }\n }\n\n return undefined\n}\n","import {isColorBlendModeValue, isColorHueKey, isColorTintKey} from '../../system'\nimport {isColorOpacityValue, isColorValue} from '../helpers'\nimport {TokenValueNode} from './types'\n\nexport function parseTokenValue(str: string): TokenValueNode | undefined {\n const segments = str.split('/')\n const segment0 = segments.shift() || ''\n\n if (isColorTintKey(segment0)) {\n const tint = segment0\n const segment1 = segments.shift() || ''\n\n if (isColorOpacityValue(segment1)) {\n const opacity = Number(segment1)\n\n return {\n type: 'color',\n tint,\n opacity,\n }\n }\n\n return {\n type: 'color',\n tint,\n }\n }\n\n if (isColorValue(segment0)) {\n const key = segment0 as 'black' | 'white'\n const segment1 = segments.shift() || ''\n\n if (isColorOpacityValue(segment1)) {\n const opacity = Number(segment1)\n\n return {\n type: 'color',\n key,\n opacity,\n }\n }\n\n return {\n type: 'color',\n key,\n }\n }\n\n if (isColorHueKey(segment0)) {\n const hue = segment0\n const segment1 = segments.shift() || ''\n\n if (isColorTintKey(segment1)) {\n const tint = segment1\n const segment2 = segments.shift() || ''\n\n if (isColorOpacityValue(segment2)) {\n const opacity = Number(segment2)\n\n return {\n type: 'color',\n key: `${hue}/${tint}`,\n hue,\n tint,\n opacity,\n }\n }\n\n return {\n type: 'color',\n key: `${hue}/${tint}`,\n hue,\n tint,\n }\n }\n\n return {\n type: 'hue',\n value: `${hue}`,\n }\n }\n\n if (isColorOpacityValue(segment0)) {\n const opacity = Number(segment0)\n\n return {\n type: 'color',\n opacity,\n }\n }\n\n if (isColorBlendModeValue(segment0)) {\n const value = segment0\n\n return {\n type: 'blendMode',\n value,\n }\n }\n\n return undefined\n}\n","import {\n COLOR_CONFIG_CARD_KEYS,\n COLOR_CONFIG_CARD_TONES,\n COLOR_CONFIG_BLEND_KEYS,\n COLOR_CONFIG_STATE_KEYS,\n COLOR_CONFIG_STATE_TONES,\n ColorConfigCardKey,\n ColorConfigCardTone,\n ColorConfigBlendKey,\n ColorConfigOpacityValue,\n ColorConfigStateKey,\n ColorConfigStateTone,\n ColorConfigValue,\n} from './system'\nimport {parseTokenValue} from './tokens'\n\n/** @internal */\nexport function isColorConfigBaseTone(str: string): str is ColorConfigCardTone {\n return COLOR_CONFIG_CARD_TONES.includes(str as ColorConfigCardTone)\n}\n\n/** @internal */\nexport function isColorConfigBaseKey(str: string): str is ColorConfigCardKey {\n return COLOR_CONFIG_CARD_KEYS.includes(str as ColorConfigCardKey)\n}\n\n/** @internal */\nexport function isColorConfigStateKey(str: string): str is ColorConfigStateKey {\n return COLOR_CONFIG_STATE_KEYS.includes(str as ColorConfigStateKey)\n}\n\n/** @internal */\nexport function isColorConfigStateTone(str: string): str is ColorConfigStateTone {\n return COLOR_CONFIG_STATE_TONES.includes(str as ColorConfigStateTone)\n}\n\n/** @internal */\nexport function isColorConfigBlendKey(str: string): str is ColorConfigBlendKey {\n return COLOR_CONFIG_BLEND_KEYS.includes(str as ColorConfigBlendKey)\n}\n\n/** @internal */\nexport function isColorTokenValue(str: string): str is ColorConfigValue {\n return parseTokenValue(str)?.type === 'color' || parseTokenValue(str)?.type === 'hue'\n}\n\n/** @internal */\nexport function isColorValue(str: string): str is 'black' | 'white' {\n return str === 'black' || str === 'white'\n}\n\n/** @internal */\nexport function isColorOpacityValue(str: string): str is ColorConfigOpacityValue {\n return str === '0' || /^0\\.[0-9]+$/.test(str) || str === '1'\n}\n","import {ColorHueKey} from '@sanity/color'\nimport {ThemeColorTokenValue, parseTokenValue, TokenColorValueNode} from '../config'\n\nexport interface ColorTokenContext {\n hue: ColorHueKey\n scheme: 'light' | 'dark'\n}\n\nconst DEFAULT_COLOR_TOKEN_VALUE: ThemeColorTokenValue = ['500', '500']\n\nexport function resolveColorTokenValue(\n context: ColorTokenContext,\n value: ThemeColorTokenValue = DEFAULT_COLOR_TOKEN_VALUE,\n): string {\n const {hue, scheme} = context\n const node = parseTokenValue(value[scheme === 'light' ? 0 : 1])\n\n if (!node || node.type !== 'color') {\n throw new Error(`Invalid color token: ${value[0]}`)\n }\n\n return compileColorTokenValue({...node, hue: node.hue || hue})\n}\n\nexport function compileColorTokenValue(node: TokenColorValueNode): string {\n let key = ''\n\n if (node.key === 'black' || node.key === 'white') {\n key = node.key\n } else {\n key = `${node.hue}/${node.tint}`\n }\n\n if (node.opacity !== undefined) {\n key += `/${node.opacity}`\n }\n\n return key\n}\n","import {ThemeColorTokens} from '../config'\n\nexport const defaultColorTokens: ThemeColorTokens = {\n base: {\n '*': {\n _blend: ['multiply', 'screen'],\n avatar: {\n '*': {\n _blend: ['screen', 'multiply'],\n bg: ['500', '400'],\n fg: ['white', 'black'],\n },\n yellow: {bg: ['600', '400']},\n green: {bg: ['600', '400']},\n cyan: {bg: ['600', '400']},\n },\n backdrop: ['gray/200/0.2', 'black/0.5'],\n badge: {\n '*': {\n bg: ['100', '900'],\n fg: ['600', '400'],\n },\n positive: {\n bg: ['200/0.6', '900'],\n fg: ['700', '500'],\n },\n caution: {\n bg: ['200/0.7', '900'],\n fg: ['700', '500'],\n },\n },\n bg: ['50', '950'],\n border: ['200', '800'],\n code: {\n bg: ['50', '950'],\n fg: ['600', '400'],\n },\n fg: ['800', '200'],\n focusRing: ['blue/500', 'blue/500'],\n kbd: {\n bg: ['white', 'black'],\n fg: ['600', '400'],\n border: ['200', '800'],\n },\n link: {\n fg: ['blue/600', 'blue/400'],\n },\n muted: {\n bg: ['50', '950'],\n fg: ['600', '400'],\n },\n shadow: {\n outline: ['500/0.3', '500/0.4'],\n umbra: ['gray/500/0.1', 'black/0.2'],\n penumbra: ['gray/500/0.07', 'black/0.14'],\n ambient: ['gray/500/0.06', 'black/0.12'],\n },\n skeleton: {\n from: ['100', '900'],\n to: ['100/0.5', '900/0.5'],\n },\n },\n transparent: {\n bg: ['50', 'black'],\n fg: ['600', '400'],\n },\n default: {\n bg: ['white', '950'],\n fg: ['black', '200'],\n },\n primary: {\n _hue: 'blue',\n },\n positive: {\n _hue: 'green',\n shadow: {\n outline: ['600/0.3', '500/0.25'],\n },\n },\n caution: {\n _hue: 'yellow',\n shadow: {\n outline: ['600/0.3', '500/0.25'],\n },\n },\n critical: {\n _hue: 'red',\n shadow: {\n outline: ['500/0.3', '500/0.3'],\n },\n },\n },\n button: {\n default: {\n '*': {\n '*': {\n _blend: ['screen', 'multiply'],\n accent: {\n fg: ['purple/200', 'purple/700'],\n },\n badge: {\n '*': {\n dot: ['300', '700'],\n icon: ['600', '400'],\n },\n },\n bg: ['500', '400'],\n border: ['500/0', '400/0'],\n code: {\n bg: ['500/0.2', '400/0.2'],\n fg: ['200', '700'],\n },\n fg: ['white', 'black'],\n icon: ['200', '800'],\n kbd: {\n bg: ['900', '50'],\n fg: ['white', 'black'],\n border: ['800', '200'],\n },\n link: {\n fg: ['blue/200', 'blue/700'],\n },\n muted: {\n bg: ['900', '50'],\n fg: ['200', '700'],\n },\n skeleton: {\n from: ['900', '100'],\n to: ['900/0.5', '100/0.5'],\n },\n },\n hovered: {\n bg: ['600', '300'],\n border: ['600/0', '300/0'],\n },\n pressed: {\n bg: ['700', '200'],\n },\n selected: {\n bg: ['700', '200'],\n },\n disabled: {\n _hue: 'gray',\n bg: ['200', '800'],\n icon: ['white', 'black'],\n },\n },\n default: {\n '*': {\n bg: ['800', '200'],\n },\n hovered: {\n bg: ['900', '100'],\n },\n pressed: {\n bg: ['black', 'white'],\n },\n selected: {\n bg: ['black', 'white'],\n },\n },\n positive: {\n '*': {\n bg: ['600', '400'],\n },\n hovered: {\n bg: ['700', '300'],\n },\n pressed: {\n bg: ['800', '200'],\n },\n selected: {\n bg: ['800', '200'],\n },\n },\n caution: {\n '*': {\n bg: ['600', '400'],\n },\n hovered: {\n bg: ['700', '300'],\n },\n pressed: {\n bg: ['800', '200'],\n },\n selected: {\n bg: ['800', '200'],\n },\n },\n },\n ghost: {\n '*': {\n '*': {\n _blend: ['multiply', 'screen'],\n bg: ['50', '950'],\n fg: ['700', '400'],\n icon: ['600', '500'],\n border: ['100', '900'],\n accent: {\n fg: ['purple/700/0.6', 'purple/400/0.8'],\n },\n link: {\n fg: ['blue/700/0.6', 'blue/400/0.8'],\n },\n muted: {\n bg: ['100', '950'],\n fg: ['700/0.6', '400/0.6'],\n },\n code: {\n bg: ['500/0.1', '400/0.1'],\n fg: ['700/0.6', '400/0.6'],\n },\n skeleton: {\n from: ['100', '900'],\n to: ['100/0.5', '900/0.5'],\n },\n badge: {\n '*': {\n dot: ['300', '700'],\n icon: ['600', '400'],\n },\n },\n },\n hovered: {\n bg: ['100', '900'],\n fg: ['700', '300'],\n },\n pressed: {\n bg: ['100', '900'],\n fg: ['800', '200'],\n },\n selected: {\n bg: ['100', '900'],\n fg: ['800', '200'],\n },\n disabled: {\n _hue: 'gray',\n fg: ['200', '800'],\n icon: ['200', '800'],\n border: ['100', '900'],\n muted: {\n fg: ['200/0.6', '900/0.6'],\n },\n accent: {\n fg: ['200/0.6', '900/0.6'],\n },\n link: {\n fg: ['200/0.6', '900/0.6'],\n },\n code: {\n bg: ['50/0.5', '950/0.5'],\n fg: ['200/0.6', '900/0.6'],\n },\n },\n },\n positive: {\n '*': {\n border: ['600/0.2', '800'],\n },\n },\n caution: {\n '*': {\n border: ['600/0.2', '800'],\n },\n },\n },\n bleed: {\n '*': {\n '*': {\n _blend: ['multiply', 'screen'],\n bg: ['white', 'black'],\n fg: ['700', '300'],\n icon: ['700/0.7', '300/0.7'],\n border: ['white/0', 'black/0'],\n muted: {\n bg: ['100', '950'],\n fg: ['700/0.7', '300/0.7'],\n },\n accent: {\n fg: ['purple/700/0.7', 'purple/300/0.7'],\n },\n link: {\n fg: ['blue/700/0.7', 'blue/300/0.7'],\n },\n code: {\n bg: ['100', '950'],\n fg: ['600', '300'],\n },\n skeleton: {\n from: ['100', '900'],\n to: ['100/0.5', '900/0.5'],\n },\n badge: {\n '*': {\n dot: ['300', '700'],\n icon: ['600', '400'],\n },\n },\n },\n hovered: {\n bg: ['50', '950'],\n fg: ['700', '300'],\n icon: ['700/0.7', '400/0.7'],\n },\n pressed: {\n bg: ['100', '900'],\n fg: ['800', '200'],\n icon: ['800/0.7', '200/0.7'],\n },\n selected: {\n bg: ['100', '900'],\n fg: ['800', '200'],\n icon: ['800/0.7', '200/0.7'],\n },\n disabled: {\n _hue: 'gray',\n fg: ['200', '800'],\n muted: {\n fg: ['200/0.6', '900/0.6'],\n },\n accent: {\n fg: ['200/0.6', '900/0.6'],\n },\n link: {\n fg: ['200/0.6', '900/0.6'],\n },\n code: {\n bg: ['50/0.5', '950/0.5'],\n fg: ['200/0.6', '900/0.6'],\n },\n },\n },\n },\n },\n input: {\n '*': {\n '*': {\n _blend: ['multiply', 'screen'],\n bg: ['white', 'black'],\n border: ['200', '800'],\n fg: ['black', '200'],\n muted: {\n bg: ['50', '950'],\n },\n placeholder: ['400', '600/0.5'],\n },\n\n hovered: {\n border: ['300', '800'],\n },\n\n readOnly: {\n border: ['200/0', '900/0'],\n bg: ['100', '950'],\n fg: ['800', '200'],\n },\n\n disabled: {\n fg: ['200', '800'],\n border: ['100', '900'],\n },\n },\n invalid: {\n '*': {\n _hue: 'red',\n bg: ['100', '950'],\n },\n },\n },\n selectable: {\n '*': {\n '*': {\n _blend: ['multiply', 'screen'],\n bg: ['white', 'black'],\n fg: ['800', '200'],\n icon: ['700/0.7', '300/0.7'],\n avatar: {\n '*': {\n _blend: ['screen', 'multiply'],\n bg: ['500', '400'],\n fg: ['white', 'black'],\n },\n // yellow: {bg: ['600', '400']},\n // green: {bg: ['600', '400']},\n // cyan: {bg: ['600', '400']},\n },\n border: ['200', '800'],\n muted: {\n bg: ['50', '950'],\n fg: ['700', '300'],\n },\n accent: {\n fg: ['purple/600', 'purple/400'],\n },\n link: {\n fg: ['blue/700', 'blue/300'],\n },\n code: {\n bg: ['100', '950'],\n fg: ['700', '300'],\n },\n skeleton: {\n from: ['100', '900'],\n to: ['100/0.5', '900/0.5'],\n },\n badge: {\n '*': {\n // _blend: ['multiply', 'screen'],\n bg: ['100', '900'],\n fg: ['600', '200'],\n dot: ['300', '700'],\n icon: ['600', '400'],\n },\n },\n kbd: {\n // _blend: ['multiply', 'screen'],\n bg: ['white', 'black'],\n fg: ['600', '400'],\n border: ['200', '800'],\n },\n },\n hovered: {\n bg: ['50', '950'],\n },\n pressed: {\n bg: ['100', '900'],\n },\n selected: {\n _blend: ['screen', 'multiply'],\n bg: ['500', '400'],\n fg: ['white', 'black'],\n icon: ['200', '800'],\n avatar: {\n '*': {\n _blend: ['multiply', 'screen'],\n bg: ['white', 'black'],\n fg: ['black', 'white'],\n },\n // magenta: {_hue: 'green'},\n // yellow: {bg: ['600', '400']},\n // green: {bg: ['600', '400']},\n // cyan: {bg: ['600', '400']},\n },\n badge: {\n '*': {\n // _blend: ['multiply', 'screen'],\n // _blend: ['screen', 'multiply'],\n bg: ['700', '300'],\n fg: ['white', 'black'],\n },\n },\n border: ['500/0.2', '400/0.2'],\n muted: {\n bg: ['900', '50'],\n fg: ['200', '800'],\n },\n accent: {\n fg: ['purple/200', 'purple/800'],\n },\n kbd: {\n bg: ['black/0', 'white/0'],\n fg: ['white', 'black'],\n border: ['gray/700', 'gray/300'],\n },\n link: {\n fg: ['blue/200', 'blue/800'],\n },\n code: {\n bg: ['500/0.2', '400/0.2'],\n fg: ['200', '700'],\n },\n skeleton: {\n from: ['900', '100'],\n to: ['900/0.5', '100/0.5'],\n },\n // badge: {\n // '*': {\n // _blend: ['multiply', 'screen'],\n // bg: ['900', '100'],\n // fg: ['white', 'black'],\n // dot: ['700', '300'],\n // icon: ['400', '600'],\n // },\n // },\n },\n disabled: {\n fg: ['200', '800'],\n icon: ['200', '800'],\n muted: {\n fg: ['200', '800/0.5'],\n },\n accent: {\n fg: ['purple/200', 'purple/800/0.5'],\n },\n link: {\n fg: ['blue/200', 'blue/800/0.5'],\n },\n code: {\n bg: ['100', '950/0.5'],\n fg: ['200', '800/0.5'],\n },\n },\n },\n default: {\n selected: {\n _hue: 'blue',\n // bg: ['500', '400'],\n },\n },\n critical: {\n disabled: {\n bg: ['50/0.5', '950/0.5'],\n },\n },\n },\n syntax: {\n atrule: ['purple/700', 'purple/400'],\n attrName: ['green/700', 'green/400'],\n attrValue: ['yellow/700', 'yellow/400'],\n attribute: ['yellow/700', 'yellow/400'],\n boolean: ['purple/700', 'purple/400'],\n builtin: ['purple/700', 'purple/400'],\n cdata: ['yellow/700', 'yellow/400'],\n char: ['yellow/700', 'yellow/400'],\n class: ['orange/700', 'orange/400'],\n className: ['cyan/700', 'cyan/400'],\n comment: ['gray/700/0.5', 'gray/400/0.5'],\n constant: ['purple/700', 'purple/400'],\n deleted: ['red/700', 'red/400'],\n entity: ['red/700', 'red/400'],\n function: ['green/700', 'green/400'],\n hexcode: ['blue/700', 'blue/400'],\n id: ['purple/700', 'purple/400'],\n important: ['purple/700', 'purple/400'],\n inserted: ['yellow/700', 'yellow/400'],\n keyword: ['magenta/700', 'magenta/400'],\n number: ['purple/700', 'purple/400'],\n operator: ['magenta/700', 'magenta/400'],\n property: ['blue/700', 'blue/400'],\n pseudoClass: ['yellow/700', 'yellow/400'],\n pseudoElement: ['yellow/700', 'yellow/400'],\n punctuation: ['gray/700', 'gray/400'],\n regex: ['blue/700', 'blue/400'],\n selector: ['red/700', 'red/400'],\n string: ['yellow/700', 'yellow/400'],\n symbol: ['purple/700', 'purple/400'],\n tag: ['red/700', 'red/400'],\n unit: ['orange/700', 'orange/400'],\n url: ['red/700', 'red/400'],\n variable: ['red/700', 'red/400'],\n },\n}\n","export function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value && typeof value === 'object' && !Array.isArray(value))\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport {isRecord} from './lib/isRecord'\n\nexport function merge<T extends Record<string, any>>(...records: (T | undefined)[]): T {\n const _records = records.filter(Boolean) as T[]\n\n if (_records.length === 0) {\n return {} as T\n }\n\n return _records.reduce(_merge, {} as T)\n}\n\nfunction _merge<T extends Record<string, any>>(acc: T, source: T): T {\n for (const key of Object.keys(source)) {\n const prevValue = acc[key]\n const nextValue = source[key]\n\n if (isRecord(prevValue) && isRecord(nextValue)) {\n ;(acc as any)[key] = merge(prevValue, nextValue)\n } else {\n ;(acc as any)[key] = nextValue\n }\n }\n\n return acc\n}\n","import {ColorHueKey} from '@sanity/color'\nimport {\n ColorConfigCardTone,\n ColorConfigInputMode,\n ColorConfigInputState,\n ColorConfigStateTone,\n ThemeColorBaseTokens,\n ThemeColorButtonTokens,\n ThemeColorInputStateTokens,\n ThemeColorInputTokens,\n ThemeColorStateTokens,\n ThemeColorStatesTokens,\n ThemeColorTokens,\n} from '../config'\nimport {defaultColorTokens} from '../defaults/colorTokens'\nimport {\n THEME_COLOR_CARD_TONES,\n THEME_COLOR_BUTTON_MODES,\n THEME_COLOR_INPUT_MODES,\n THEME_COLOR_INPUT_STATES,\n THEME_COLOR_STATES,\n THEME_COLOR_STATE_TONES,\n ThemeColorCardToneKey,\n ThemeColorButtonModeKey,\n ThemeColorStateKey,\n ThemeColorStateToneKey,\n} from '../system'\nimport {merge} from './merge'\n\n/**\n * Convert a tree of color tokens from a sparse format to a dense format.\n */\nexport function resolveColorTokens(inputTokens?: ThemeColorTokens): ThemeColorTokens {\n const tokens = merge(defaultColorTokens, inputTokens)\n\n return {\n base: resolveBaseColorTokens(tokens),\n button: resolveButtonColorTokens(tokens),\n input: resolveInputColorTokens(tokens),\n selectable: resolveSelectableColorTokens(tokens),\n syntax: tokens.syntax,\n }\n}\n\nfunction resolveBaseColorTokens(sparseTokens: ThemeColorTokens) {\n const tokens: Partial<Record<ColorConfigCardTone, ThemeColorBaseTokens>> = {}\n\n // base tones\n for (const tone of THEME_COLOR_CARD_TONES) {\n tokens[tone] = resolveBaseColorTones(sparseTokens, tone)\n }\n\n return tokens\n}\n\nfunction resolveBaseColorTones(\n inputTokens: ThemeColorTokens,\n tone: ThemeColorCardToneKey,\n): ThemeColorBaseTokens {\n const spec = merge(inputTokens?.base?.['*'], inputTokens?.base?.[tone])\n\n const hue = spec._hue || inputTokens?.base?.[tone]?._hue || 'gray'\n\n return {\n ...spec,\n _hue: hue,\n avatar: {\n gray: merge({_hue: 'gray'}, spec.avatar?.['*'], spec.avatar?.gray),\n blue: merge({_hue: 'blue'}, spec.avatar?.['*'], spec.avatar?.blue),\n purple: merge({_hue: 'purple'}, spec.avatar?.['*'], spec.avatar?.purple),\n magenta: merge({_hue: 'magenta'}, spec.avatar?.['*'], spec.avatar?.magenta),\n red: merge({_hue: 'red'}, spec.avatar?.['*'], spec.avatar?.red),\n orange: merge({_hue: 'orange'}, spec.avatar?.['*'], spec.avatar?.orange),\n yellow: merge({_hue: 'yellow'}, spec.avatar?.['*'], spec.avatar?.yellow),\n green: merge({_hue: 'green'}, spec.avatar?.['*'], spec.avatar?.green),\n cyan: merge({_hue: 'cyan'}, spec.avatar?.['*'], spec.avatar?.cyan),\n },\n badge: {\n default: {\n _hue: inputTokens?.base?.default?._hue || hue,\n ...spec.badge?.['*'],\n ...spec.badge?.default,\n },\n primary: {\n _hue: inputTokens?.base?.primary?._hue || hue,\n ...spec.badge?.['*'],\n ...spec.badge?.primary,\n },\n positive: {\n _hue: inputTokens?.base?.positive?._hue || hue,\n ...spec.badge?.['*'],\n ...spec.badge?.positive,\n },\n caution: {\n _hue: inputTokens?.base?.caution?._hue || hue,\n ...spec.badge?.['*'],\n ...spec.badge?.caution,\n },\n critical: {\n _hue: inputTokens?.base?.critical?._hue || hue,\n ...spec.badge?.['*'],\n ...spec.badge?.critical,\n },\n },\n }\n}\n\nfunction resolveButtonColorTokens(\n inputTokens: ThemeColorTokens,\n): Partial<Record<ThemeColorButtonModeKey, ThemeColorButtonTokens>> {\n const tokens: Partial<Record<ThemeColorButtonModeKey, ThemeColorButtonTokens>> = {}\n\n for (const mode of THEME_COLOR_BUTTON_MODES) {\n tokens[mode] = resolveButtonToneColorTokens(inputTokens, mode)\n }\n\n return tokens\n}\n\nfunction resolveButtonToneColorTokens(\n inputTokens: ThemeColorTokens,\n mode: ThemeColorButtonModeKey,\n): ThemeColorButtonTokens {\n const tokens: ThemeColorButtonTokens = {}\n\n for (const tone of THEME_COLOR_STATE_TONES) {\n tokens[tone] = resolveButtonModeColorTokens(inputTokens, mode, tone)\n }\n\n return tokens\n}\n\nfunction resolveButtonModeColorTokens(\n inputTokens: ThemeColorTokens,\n mode: ThemeColorButtonModeKey,\n tone: ThemeColorStateToneKey,\n): ThemeColorStatesTokens {\n const tokens: ThemeColorStatesTokens = {}\n\n for (const state of THEME_COLOR_STATES) {\n tokens[state] = resolveButtonStateColorTokens(inputTokens, tone, mode, state)\n }\n\n return tokens\n}\n\nfunction resolveButtonStateColorTokens(\n inputTokens: ThemeColorTokens,\n tone: ThemeColorStateToneKey,\n mode: ThemeColorButtonModeKey,\n state: ThemeColorStateKey,\n): ThemeColorStateTokens {\n const spec = merge(\n inputTokens?.button?.[mode]?.['*']?.['*'],\n inputTokens?.button?.[mode]?.[tone]?.['*'],\n inputTokens?.button?.[mode]?.['*']?.[state],\n inputTokens?.button?.[mode]?.[tone]?.[state],\n )\n\n const hue = spec._hue || inputTokens?.base?.[tone]?._hue\n\n return {\n ...spec,\n _hue: hue,\n avatar: {\n gray: merge({_hue: 'gray'}, spec.avatar?.['*'], spec.avatar?.gray),\n blue: merge({_hue: 'blue'}, spec.avatar?.['*'], spec.avatar?.blue),\n purple: merge({_hue: 'purple'}, spec.avatar?.['*'], spec.avatar?.purple),\n magenta: merge({_hue: 'magenta'}, spec.avatar?.['*'], spec.avatar?.magenta),\n red: merge({_hue: 'red'}, spec.avatar?.['*'], spec.avatar?.red),\n orange: merge({_hue: 'orange'}, spec.avatar?.['*'], spec.avatar?.orange),\n yellow: merge({_hue: 'yellow'}, spec.avatar?.['*'], spec.avatar?.yellow),\n green: merge({_hue: 'green'}, spec.avatar?.['*'], spec.avatar?.green),\n cyan: merge({_hue: 'cyan'}, spec.avatar?.['*'], spec.avatar?.cyan),\n },\n badge: {\n default: {\n _hue: inputTokens?.base?.default?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.default,\n },\n primary: {\n _hue: inputTokens?.base?.primary?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.primary,\n },\n positive: {\n _hue: inputTokens?.base?.positive?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.positive,\n },\n caution: {\n _hue: inputTokens?.base?.caution?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.caution,\n },\n critical: {\n _hue: inputTokens?.base?.critical?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.critical,\n },\n },\n }\n}\n\nfunction resolveInputColorTokens(\n inputTokens: ThemeColorTokens,\n): Partial<Record<ColorConfigInputMode, ThemeColorInputTokens>> {\n const tokens: Partial<Record<ColorConfigInputMode, ThemeColorInputTokens>> = {}\n\n for (const mode of THEME_COLOR_INPUT_MODES) {\n tokens[mode] = resolveInputModeColorTokens(inputTokens, mode)\n }\n\n return tokens\n}\n\nfunction resolveInputModeColorTokens(\n inputTokens: ThemeColorTokens,\n mode: ColorConfigInputMode,\n): ThemeColorInputTokens {\n const states: ThemeColorInputTokens = {}\n\n for (const state of THEME_COLOR_INPUT_STATES) {\n states[state] = resolveInputStateColorTokens(inputTokens, mode, state)\n }\n\n return states\n}\n\nfunction resolveInputStateColorTokens(\n inputTokens: ThemeColorTokens,\n mode: ColorConfigInputMode,\n state: ColorConfigInputState,\n): ThemeColorInputStateTokens {\n const spec = merge(\n inputTokens?.input?.['*']?.['*'],\n inputTokens?.input?.[mode]?.['*'],\n inputTokens?.input?.['*']?.[state],\n inputTokens?.input?.[mode]?.[state],\n )\n\n const hue = spec._hue || inputTokens?.input?.[mode]?._hue\n\n return {...spec, _hue: hue}\n}\n\nfunction resolveSelectableColorTokens(\n inputTokens: ThemeColorTokens,\n): Partial<Record<ColorConfigStateTone, {_hue?: ColorHueKey} & ThemeColorStatesTokens>> {\n const tokens: ThemeColorButtonTokens = {}\n\n for (const tone of THEME_COLOR_STATE_TONES) {\n tokens[tone] = resolveSelectableToneColorTokens(inputTokens, tone)\n }\n\n return tokens\n}\n\nfunction resolveSelectableToneColorTokens(\n inputTokens: ThemeColorTokens,\n tone: ThemeColorStateToneKey,\n): {_hue?: ColorHueKey} & ThemeColorStatesTokens {\n const states: {_hue?: ColorHueKey} & ThemeColorStatesTokens = {\n _hue: inputTokens?.selectable?.[tone]?._hue || inputTokens?.base?.[tone]?._hue,\n }\n\n for (const state of THEME_COLOR_STATES) {\n states[state] = resolveSelectableStateColorTokens(inputTokens, tone, state)\n }\n\n return states\n}\n\nfunction resolveSelectableStateColorTokens(\n inputTokens: ThemeColorTokens,\n tone: ThemeColorStateToneKey,\n state: ThemeColorStateKey,\n) {\n const spec = merge(\n inputTokens?.selectable?.['*']?.['*'],\n inputTokens?.selectable?.[tone]?.['*'],\n inputTokens?.selectable?.['*']?.[state],\n inputTokens?.selectable?.[tone]?.[state],\n )\n\n const hue = spec._hue || inputTokens?.base?.[tone]?._hue\n\n return {\n ...spec,\n _hue: hue,\n avatar: {\n gray: merge({_hue: 'gray'}, spec.avatar?.['*'], spec.avatar?.gray),\n blue: merge({_hue: 'blue'}, spec.avatar?.['*'], spec.avatar?.blue),\n purple: merge({_hue: 'purple'}, spec.avatar?.['*'], spec.avatar?.purple),\n magenta: merge({_hue: 'magenta'}, spec.avatar?.['*'], spec.avatar?.magenta),\n red: merge({_hue: 'red'}, spec.avatar?.['*'], spec.avatar?.red),\n orange: merge({_hue: 'orange'}, spec.avatar?.['*'], spec.avatar?.orange),\n yellow: merge({_hue: 'yellow'}, spec.avatar?.['*'], spec.avatar?.yellow),\n green: merge({_hue: 'green'}, spec.avatar?.['*'], spec.avatar?.green),\n cyan: merge({_hue: 'cyan'}, spec.avatar?.['*'], spec.avatar?.cyan),\n },\n badge: {\n default: {\n _hue: inputTokens?.base?.default?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.default,\n },\n primary: {\n _hue: inputTokens?.base?.primary?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.primary,\n },\n positive: {\n _hue: inputTokens?.base?.positive?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.positive,\n },\n caution: {\n _hue: inputTokens?.base?.caution?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.caution,\n },\n critical: {\n _hue: inputTokens?.base?.critical?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.critical,\n },\n },\n }\n}\n","import {ThemeColorBadgeTokens, ThemeColorStateTokens, ThemeConfig} from '../config'\nimport {\n THEME_COLOR_BUTTON_MODES,\n THEME_COLOR_STATES,\n THEME_COLOR_STATE_TONES,\n ThemeColorAvatarColorKey,\n ThemeColorCardToneKey,\n ThemeColorButtonModeKey,\n ThemeColorStateKey,\n ThemeColorStateToneKey,\n ThemeColorAvatar_v2,\n ThemeColorBadge_v2,\n ThemeColorSyntax,\n ThemeColorSchemes_v2,\n ThemeColorScheme_v2,\n ThemeColorCard_v2,\n ThemeColorSchemeKey,\n ThemeColorShadow,\n ThemeColorState_v2,\n ThemeColorButton_v2,\n ThemeColorButtonTones_v2,\n ThemeColorButtonStates_v2,\n ThemeColorAvatarHue_v2,\n ThemeColorInput_v2,\n ThemeColorInputStates_v2,\n ThemeColorInputState_v2,\n} from '../system'\nimport {ColorTokenContext, resolveColorTokenValue as _color} from './colorToken'\nimport {resolveColorTokens} from './resolveColorTokens'\n\nexport function buildColorTheme(config?: ThemeConfig): ThemeColorSchemes_v2 {\n const resolvedConfig: ThemeConfig = {\n ...config,\n color: resolveColorTokens(config?.color),\n }\n\n return {\n light: buildColorScheme({scheme: 'light'}, resolvedConfig),\n dark: buildColorScheme({scheme: 'dark'}, resolvedConfig),\n }\n}\n\nfunction buildColorScheme(\n options: {scheme: ThemeColorSchemeKey},\n config: ThemeConfig,\n): ThemeColorScheme_v2 {\n const {scheme} = options\n\n return {\n transparent: buildCardColorTheme({scheme, tone: 'transparent'}, config),\n default: buildCardColorTheme({scheme, tone: 'default'}, config),\n primary: buildCardColorTheme({scheme, tone: 'primary'}, config),\n positive: buildCardColorTheme({scheme, tone: 'positive'}, config),\n caution: buildCardColorTheme({scheme, tone: 'caution'}, config),\n critical: buildCardColorTheme({scheme, tone: 'critical'}, config),\n }\n}\n\nfunction buildCardColorTheme(\n options: {scheme: ThemeColorSchemeKey; tone: ThemeColorCardToneKey},\n config?: ThemeConfig,\n): ThemeColorCard_v2 {\n const {scheme, tone} = options\n const tokens = config?.color?.base?.[tone]\n const hue = tokens?._hue || 'gray'\n const context: ColorTokenContext = {hue, scheme}\n const blendMode = tokens?._blend || ['multiply', 'screen']\n\n return {\n _blend: blendMode[scheme === 'light' ? 0 : 1],\n _dark: scheme === 'dark',\n accent: {\n fg: _color(context, tokens?.accent?.fg),\n },\n avatar: buildAvatarColorTheme({scheme}, tokens),\n backdrop: _color(context, tokens?.backdrop),\n badge: buildBadgeColorTheme(tokens?.badge, {scheme}, config),\n bg: _color(context, tokens?.bg),\n border: _color(context, tokens?.border),\n button: buildButtonColorTheme({scheme}, config),\n code: {\n bg: _color(context, tokens?.code?.bg),\n fg: _color(context, tokens?.code?.fg),\n },\n fg: _color(context, tokens?.fg),\n focusRing: _color(context, tokens?.focusRing),\n icon: _color(context, tokens?.icon),\n input: buildInputColorTheme({scheme, tone}, config),\n kbd: {\n bg: _color(context, tokens?.kbd?.bg),\n fg: _color(context, tokens?.kbd?.fg),\n border: _color(context, tokens?.kbd?.border),\n },\n link: {\n fg: _color(context, tokens?.link?.fg),\n },\n muted: {\n bg: _color(context, tokens?.muted?.bg),\n fg: _color(context, tokens?.muted?.fg),\n },\n selectable: buildSelectableColorTheme({scheme}, config),\n shadow: buildShadowColorTheme({scheme, tone}, config),\n skeleton: {\n from: _color(context, tokens?.skeleton?.from),\n to: _color(context, tokens?.skeleton?.to),\n },\n syntax: buildSyntaxColorTheme({scheme}, config),\n }\n}\n\nfunction buildShadowColorTheme(\n options: {scheme: ThemeColorSchemeKey; tone: ThemeColorCardToneKey},\n config?: ThemeConfig,\n): ThemeColorShadow {\n const {scheme, tone} = options\n const tokens = config?.color?.base?.[tone]\n const hue = tokens?._hue || 'gray'\n const context: ColorTokenContext = {hue, scheme}\n\n return {\n outline: _color(context, tokens?.shadow?.outline),\n umbra: _color(context, tokens?.shadow?.umbra),\n penumbra: _color(context, tokens?.shadow?.penumbra),\n ambient: _color(context, tokens?.shadow?.ambient),\n }\n}\n\nfunction buildAvatarColorTheme(\n options: {scheme: ThemeColorSchemeKey},\n stateTokens?: ThemeColorStateTokens,\n): ThemeColorAvatar_v2 {\n const {scheme} = options\n\n return {\n gray: _buildAvatarColorTheme({color: 'gray', scheme}, stateTokens),\n blue: _buildAvatarColorTheme({color: 'blue', scheme}, stateTokens),\n purple: _buildAvatarColorTheme({color: 'purple', scheme}, stateTokens),\n magenta: _buildAvatarColorTheme({color: 'magenta', scheme}, stateTokens),\n red: _buildAvatarColorTheme({color: 'red', scheme}, stateTokens),\n orange: _buildAvatarColorTheme({color: 'orange', scheme}, stateTokens),\n yellow: _buildAvatarColorTheme({color: 'yellow', scheme}, stateTokens),\n green: _buildAvatarColorTheme({color: 'green', scheme}, stateTokens),\n cyan: _buildAvatarColorTheme({color: 'cyan', scheme}, stateTokens),\n }\n}\n\nfunction _buildAvatarColorTheme(\n options: {color: ThemeColorAvatarColorKey; scheme: ThemeColorSchemeKey},\n stateTokens?: ThemeColorStateTokens,\n): ThemeColorAvatarHue_v2 {\n const {color, scheme} = options\n const tokens = stateTokens?.avatar?.[color]\n const context: ColorTokenContext = {hue: tokens?._hue || 'gray', scheme}\n const blendMode = tokens?._blend || ['screen', 'multiply']\n\n return {\n _blend: blendMode[scheme === 'light' ? 0 : 1],\n bg: _color(context, tokens?.bg),\n fg: _color(context, tokens?.fg),\n }\n}\n\nfunction buildBadgeColorTheme(\n tokens: ThemeColorBadgeTokens | undefined,\n options: {scheme: ThemeColorSchemeKey},\n config?: ThemeConfig,\n): ThemeColorBadge_v2 {\n const {scheme} = options\n\n return {\n default: _buildBadgeColorTheme(tokens, {scheme, tone: 'default'}, config),\n primary: _buildBadgeColorTheme(tokens, {scheme, tone: 'primary'}, config),\n positive: _buildBadgeColorTheme(tokens, {scheme, tone: 'positive'}, config),\n caution: _buildBadgeColorTheme(tokens, {scheme, tone: 'caution'}, config),\n critical: _buildBadgeColorTheme(tokens, {scheme, tone: 'critical'}, config),\n }\n}\n\nfunction _buildBadgeColorTheme(\n parentTokens: ThemeColorBadgeTokens | undefined,\n options: {scheme: ThemeColorSchemeKey; tone: ThemeColorStateToneKey},\n config?: ThemeConfig,\n): ThemeColorBadge_v2['default'] {\n const {scheme, tone} = options\n const tokens = parentTokens?.[tone]\n const hue = tokens?._hue || config?.color?.base?.[tone]?._hue || 'gray'\n const context: ColorTokenContext = {hue, scheme}\n\n return {\n bg: _color(context, tokens?.bg),\n fg: _color(context, tokens?.fg),\n dot: _color(context, tokens?.dot),\n icon: _color(context, tokens?.icon),\n }\n}\n\nfunction buildButtonColorTheme(\n options: {scheme: ThemeColorSchemeKey},\n config?: ThemeConfig,\n): ThemeColorButton_v2 {\n const {scheme} = options\n\n const modes: Partial<ThemeColorButton_v2> = {}\n\n for (const mode of THEME_COLOR_BUTTON_MODES) {\n modes[mode] = buildButtonTonesColorTheme({scheme, mode}, config)\n }\n\n return modes as ThemeColorButton_v2\n}\n\nfunction buildButtonTonesColorTheme(\n options: {\n scheme: ThemeColorSchemeKey\n mode: ThemeColorButtonModeKey\n },\n config?: ThemeConfig,\n): ThemeColorButtonTones_v2 {\n const {mode, scheme} = options\n\n const tones: Partial<ThemeColorButtonTones_v2> = {}\n\n for (const tone of THEME_COLOR_STATE_TONES) {\n tones[tone] = buildButtonStatesColorTheme({mode, scheme, tone}, config)\n }\n\n return tones as ThemeColorButtonTones_v2\n}\n\nfunction buildButtonStatesColorTheme(\n options: {\n mode: ThemeColorButtonModeKey\n scheme: ThemeColorSchemeKey\n tone: ThemeColorStateToneKey\n },\n config?: ThemeConfig,\n): ThemeColorButtonStates_v2 {\n const {mode, scheme, tone} = options\n\n const states: Partial<ThemeColorButtonStates_v2> = {}\n\n for (const state of THEME_COLOR_STATES) {\n states[state] = buildButtonStateColorTheme({mode, tone, scheme, state}, config)\n }\n\n return states as ThemeColorButtonStates_v2\n}\n\nfunction buildButtonStateColorTheme(\n options: {\n mode: ThemeColorButtonModeKey\n tone: ThemeColorStateToneKey\n scheme: ThemeColorSchemeKey\n state: ThemeColorStateKey\n },\n config?: ThemeConfig,\n): ThemeColorState_v2 {\n const {mode, tone, scheme, state} = options\n const tokens = config?.color?.button?.[mode]?.[tone]?.[state]\n const hue = tokens?._hue || 'gray'\n const blendMode = tokens?._blend || ['screen', 'multiply']\n const context: ColorTokenContext = {hue, scheme}\n\n return {\n _blend: blendMode[scheme === 'light' ? 0 : 1],\n accent: {\n fg: _color(context, tokens?.accent?.fg),\n },\n avatar: buildAvatarColorTheme({scheme}, tokens),\n badge: buildBadgeColorTheme(tokens?.badge, {scheme}, config),\n bg: _color(context, tokens?.bg),\n border: _color(context, tokens?.border),\n code: {\n bg: _color(context, tokens?.code?.bg),\n fg: _color(context, tokens?.code?.fg),\n },\n fg: _color(context, tokens?.fg),\n icon: _color(context, tokens?.icon),\n muted: {\n bg: _color(context, tokens?.muted?.bg),\n fg: _color(context, tokens?.muted?.fg),\n },\n kbd: {\n bg: _color(context, tokens?.kbd?.bg),\n fg: _color(context, tokens?.kbd?.fg),\n border: _color(context, tokens?.kbd?.border),\n },\n link: {\n fg: _color(context, tokens?.link?.fg),\n },\n skeleton: {\n from: _color(context, tokens?.skeleton?.from),\n to: _color(context, tokens?.skeleton?.to),\n },\n }\n}\n\nfunction buildInputColorTheme(\n options: {scheme: ThemeColorSchemeKey; tone: ThemeColorCardToneKey},\n config?: ThemeConfig,\n): ThemeColorInput_v2 {\n const {scheme, tone} = options\n\n return {\n default: buildInputStatesColorTheme({mode: 'default', scheme, tone}, config),\n invalid: buildInputStatesColorTheme({mode: 'invalid', scheme, tone}, config),\n }\n}\n\nfunction buildInputStatesColorTheme(\n options: {\n mode: 'default' | 'invalid'\n scheme: ThemeColorSchemeKey\n tone: ThemeColorCardToneKey\n },\n config?: ThemeConfig,\n): ThemeColorInputStates_v2 {\n const {mode, scheme, tone} = options\n\n return {\n enabled: buildInputStateColorTheme({mode, scheme, state: 'enabled', tone}, config),\n hovered: buildInputStateColorTheme({mode, scheme, state: 'hovered', tone}, config),\n readOnly: buildInputStateColorTheme({mode, scheme, state: 'readOnly', tone}, config),\n disabled: buildInputStateColorTheme({mode, scheme, state: 'disabled', tone}, config),\n }\n}\n\nfunction buildInputStateColorTheme(\n options: {\n mode: 'default' | 'invalid'\n scheme: ThemeColorSchemeKey\n state: 'enabled' | 'hovered' | 'readOnly' | 'disabled'\n tone: ThemeColorCardToneKey\n },\n config?: ThemeConfig,\n): ThemeColorInputState_v2 {\n const {mode, tone, scheme, state} = options\n const tokens = config?.color?.input?.[mode]?.[state]\n const hue = tokens?._hue || config?.color?.base?.[tone]?._hue || 'gray'\n const blendMode = tokens?._blend || ['screen', 'multiply']\n const context: ColorTokenContext = {hue, scheme}\n\n return {\n _blend: blendMode[scheme === 'light' ? 0 : 1],\n bg: _color(context, tokens?.bg),\n border: _color(context, tokens?.border),\n fg: _color(context, tokens?.fg),\n muted: {\n bg: _color(context, tokens?.muted?.bg),\n },\n placeholder: _color(context, tokens?.placeholder),\n }\n}\n\nfunction buildSelectableColorTheme(\n options: {\n scheme: ThemeColorSchemeKey\n },\n config?: ThemeConfig,\n): ThemeColorButtonTones_v2 {\n const {scheme} = options\n\n const tones: Partial<ThemeColorButtonTones_v2> = {}\n\n for (const tone of THEME_COLOR_STATE_TONES) {\n tones[tone] = buildSelectableStatesColorTheme({scheme, tone}, config)\n }\n\n return tones as ThemeColorButtonTones_v2\n}\n\nfunction buildSelectableStatesColorTheme(\n options: {\n scheme: ThemeColorSchemeKey\n tone: ThemeColorStateToneKey\n },\n config?: ThemeConfig,\n): ThemeColorButtonStates_v2 {\n const {scheme, tone} = options\n\n const states: Partial<ThemeColorButtonStates_v2> = {}\n\n for (const state of THEME_COLOR_STATES) {\n states[state] = buildSelectableStateColorTheme({tone, scheme, state}, config)\n }\n\n return states as ThemeColorButtonStates_v2\n}\n\nfunction buildSelectableStateColorTheme(\n options: {\n scheme: ThemeColorSchemeKey\n state: ThemeColorStateKey\n tone: ThemeColorStateToneKey\n },\n config?: ThemeConfig,\n): ThemeColorState_v2 {\n const {scheme, state, tone} = options\n const tokens = config?.color?.selectable?.[tone]?.[state]\n const hue = tokens?._hue || 'gray'\n const blendMode = tokens?._blend || ['screen', 'multiply']\n const context: ColorTokenContext = {hue, scheme}\n\n return {\n _blend: blendMode[scheme === 'light' ? 0 : 1],\n accent: {\n fg: _color(context, tokens?.accent?.fg),\n },\n avatar: buildAvatarColorTheme({scheme}, tokens),\n badge: buildBadgeColorTheme(tokens?.badge, {scheme}, config),\n bg: _color(context, tokens?.bg),\n border: _color(context, tokens?.border),\n code: {\n bg: _color(context, tokens?.code?.bg),\n fg: _color(context, tokens?.code?.fg),\n },\n fg: _color(context, tokens?.fg),\n icon: _color(context, tokens?.icon),\n muted: {\n bg: _color(context, tokens?.muted?.bg),\n fg: _color(context, tokens?.muted?.fg),\n },\n kbd: {\n bg: _color(context, tokens?.kbd?.bg),\n fg: _color(context, tokens?.kbd?.fg),\n border: _color(context, tokens?.kbd?.border),\n },\n link: {\n fg: _color(context, tokens?.link?.fg),\n },\n skeleton: {\n from: _color(context, tokens?.skeleton?.from),\n to: _color(context, tokens?.skeleton?.to),\n },\n }\n}\n\nfunction buildSyntaxColorTheme(\n options: {scheme: ThemeColorSchemeKey},\n config?: ThemeConfig,\n): ThemeColorSyntax {\n const {scheme} = options\n const tokens = config?.color?.syntax\n const context: ColorTokenContext = {hue: 'gray', scheme}\n\n return {\n atrule: _color(context, tokens?.atrule),\n attrName: _color(context, tokens?.attrName),\n attrValue: _color(context, tokens?.attrValue),\n attribute: _color(context, tokens?.attribute),\n boolean: _color(context, tokens?.boolean),\n builtin: _color(context, tokens?.builtin),\n cdata: _color(context, tokens?.cdata),\n char: _color(context, tokens?.char),\n class: _color(context, tokens?.class),\n className: _color(context, tokens?.className),\n comment: _color(context, tokens?.comment),\n constant: _color(context, tokens?.constant),\n deleted: _color(context, tokens?.deleted),\n doctype: _color(context, tokens?.doctype),\n entity: _color(context, tokens?.entity),\n function: _color(context, tokens?.function),\n hexcode: _color(context, tokens?.hexcode),\n id: _color(context, tokens?.id),\n important: _color(context, tokens?.important),\n inserted: _color(context, tokens?.inserted),\n keyword: _color(context, tokens?.keyword),\n number: _color(context, tokens?.number),\n operator: _color(context, tokens?.operator),\n prolog: _color(context, tokens?.prolog),\n property: _color(context, tokens?.property),\n pseudoClass: _color(context, tokens?.pseudoClass),\n pseudoElement: _color(context, tokens?.pseudoElement),\n punctuation: _color(context, tokens?.punctuation),\n regex: _color(context, tokens?.regex),\n selector: _color(context, tokens?.selector),\n string: _color(context, tokens?.string),\n symbol: _color(context, tokens?.symbol),\n tag: _color(context, tokens?.tag),\n unit: _color(context, tokens?.unit),\n url: _color(context, tokens?.url),\n variable: _color(context, tokens?.variable),\n }\n}\n","import {color} from '@sanity/color'\n\nimport {ThemeColorPalette} from '../config'\n\nexport const defaultColorPalette: ThemeColorPalette = color\n","import {RGB, RGBA} from '../types'\n\nfunction mixChannel(b: number, s: number, weight: number) {\n const diff = s - b\n\n const delta = diff * weight\n\n return b + delta\n}\n\n/**\n * Apply the \\`mix\\` blend mode\n * @internal\n */\nexport function mix(b: RGB | RGBA, s: RGB | RGBA, weight: number): RGB {\n return {\n r: mixChannel(b.r, s.r, weight),\n g: mixChannel(b.g, s.g, weight),\n b: mixChannel(b.b, s.b, weight),\n }\n}\n","import {RGB, RGBA} from '../types'\n\nfunction multiplyChannel(b: number, s: number) {\n return b * s\n}\n\n/**\n * Apply the \\`multiply\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingmultiply\n * @internal\n */\nexport function multiply(b: RGB | RGBA, s: RGB | RGBA): RGB {\n return {\n r: multiplyChannel(b.r / 255, s.r / 255) * 255,\n g: multiplyChannel(b.g / 255, s.g / 255) * 255,\n b: multiplyChannel(b.b / 255, s.b / 255) * 255,\n }\n}\n","import {RGB, RGBA} from '../types'\n\nfunction screenChannel(b: number, s: number) {\n return b + s - b * s\n}\n\n/**\n * Apply the \\`screen\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingscreen\n * @internal\n */\nexport function screen(b: RGB | RGBA, s: RGB | RGBA): RGB {\n return {\n r: screenChannel(b.r / 255, s.r / 255) * 255,\n g: screenChannel(b.g / 255, s.g / 255) * 255,\n b: screenChannel(b.b / 255, s.b / 255) * 255,\n }\n}\n","export function lerp(x: number, y: number, a: number): number {\n return x * (1 - a) + y * a\n}\n\nexport function invlerp(x: number, y: number, a: number): number {\n return clamp((a - x) / (y - x))\n}\n\nexport function clamp(a: number, min = 0, max = 1): number {\n return Math.min(max, Math.max(min, a))\n}\n\nexport function range(x1: number, y1: number, x2: number, y2: number, a: number): number {\n return lerp(x2, y2, invlerp(x1, y1, a))\n}\n\nexport function round(value: number): number {\n return Math.round(value)\n}\n","import {clamp, round} from '../utils'\nimport {HSL, RGB, RGBA} from './types'\n\n/**\n * @internal\n */\nexport function hexToRgb(hex: string): RGB {\n if (hex.length === 4) {\n const hexR = hex.slice(1, 2)\n const hexG = hex.slice(2, 3)\n const hexB = hex.slice(3, 4)\n\n return {\n r: parseInt(hexR + hexR, 16),\n g: parseInt(hexG + hexG, 16),\n b: parseInt(hexB + hexB, 16),\n }\n }\n\n return {\n r: parseInt(hex.slice(1, 3), 16),\n g: parseInt(hex.slice(3, 5), 16),\n b: parseInt(hex.slice(5, 7), 16),\n }\n}\n\n/**\n * @internal\n */\nexport function rgbaToRGBA(rgba: string): RGBA {\n const values = rgba.replace(/rgba\\(|\\)/g, '').split(',')\n\n return {\n r: parseInt(values[0]),\n g: parseInt(values[1]),\n b: parseInt(values[2]),\n a: parseFloat(values[3]),\n }\n}\n\n/**\n * @internal\n */\nexport function rgbToHex(color: RGB | RGBA): string {\n const r = round(clamp(Math.round(color.r), 0, 255))\n const g = round(clamp(Math.round(color.g), 0, 255))\n const b = round(clamp(Math.round(color.b), 0, 255))\n\n if ('a' in color) {\n return `rgba(${r},${g},${b},${color.a})`\n }\n\n return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)\n}\n\n/**\n * @internal\n * @see https://css-tricks.com/converting-color-spaces-in-javascript/\n */\nexport function rgbToHsl({r, g, b}: RGB): HSL {\n // Make r, g, and b fractions of 1\n r /= 255\n g /= 255\n b /= 255\n\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b)\n const cmax = Math.max(r, g, b)\n const delta = cmax - cmin\n\n let h = 0\n let s = 0\n let l = 0\n\n // Calculate hue\n // No difference\n if (delta == 0) h = 0\n // Red is max\n else if (cmax == r) h = ((g - b) / delta) % 6\n // Green is max\n else if (cmax == g) h = (b - r) / delta + 2\n // Blue is max\n else h = (r - g) / delta + 4\n\n h = Math.round(h * 60)\n\n // Make negative hues positive behind 360°\n if (h < 0) h += 360\n\n // Calculate lightness\n l = (cmax + cmin) / 2\n\n // Calculate saturation\n s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1))\n\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1)\n l = +(l * 100).toFixed(1)\n\n return {h, s, l}\n}\n\n/**\n * @internal\n */\nexport function hslToRgb(hsl: HSL): RGB {\n // Must be fractions of 1\n const s = hsl.s / 100\n const l = hsl.l / 100\n\n const c = (1 - Math.abs(2 * l - 1)) * s\n const x = c * (1 - Math.abs(((hsl.h / 60) % 2) - 1))\n const m = l - c / 2\n\n let r = 0\n let g = 0\n let b = 0\n\n if (0 <= hsl.h && hsl.h < 60) {\n r = c\n g = x\n b = 0\n } else if (60 <= hsl.h && hsl.h < 120) {\n r = x\n g = c\n b = 0\n } else if (120 <= hsl.h && hsl.h < 180) {\n r = 0\n g = c\n b = x\n } else if (180 <= hsl.h && hsl.h < 240) {\n r = 0\n g = x\n b = c\n } else if (240 <= hsl.h && hsl.h < 300) {\n r = x\n g = 0\n b = c\n } else if (300 <= hsl.h && hsl.h < 360) {\n r = c\n g = 0\n b = x\n }\n\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n }\n}\n","import {hexToRgb, hslToRgb, rgbaToRGBA} from './convert'\nimport {HSL, RGB, RGBA} from './types'\n\nconst HEX_CHARS = '0123456789ABCDEFabcdef'\n\nconst HSL_RE = /hsl\\(\\s*(\\d+)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*\\)/i\n\nfunction isHexChars(str: string) {\n for (const c of str) {\n if (HEX_CHARS.indexOf(c) === -1) {\n return false\n }\n }\n\n return true\n}\n\nfunction isHex(str: string) {\n if (str[0] !== '#') return false\n\n // Accept both #000 and #000000\n if (!(str.length === 4 || str.length === 7)) return false\n\n return isHexChars(str.slice(1))\n}\n\nfunction parseHsl(str: string): HSL {\n const res = HSL_RE.exec(str)\n\n if (!res) {\n throw new Error(`parseHsl: string is not a HSL color: \"${str}\"`)\n }\n\n return {h: parseInt(res[1]), s: parseFloat(res[3]), l: parseFloat(res[5])}\n}\n\n/**\n * @internal\n */\nexport function parseColor(color: unknown): RGB | RGBA {\n if (!color) return {r: 0, g: 0, b: 0}\n\n if (typeof color !== 'string') {\n throw new Error('parseColor: expected a string')\n }\n\n if (isHex(color)) {\n return hexToRgb(color)\n }\n\n if (color.startsWith('hsl(')) {\n return hslToRgb(parseHsl(color))\n }\n\n if (color.startsWith('rgba(')) {\n return rgbaToRGBA(color)\n }\n\n throw new Error(`parseColor: unexpected color format: \"${color}\"`)\n}\n","import {parseColor} from './parse'\nimport {RGB, RGBA} from './types'\n\n/** @internal */\nexport function getContrastRatio(bg: string, fg: string): number {\n const rgb1 = parseColor(bg) // bg: RGB | RGBA, fg: RGB | RGBA\n const rgb2 = parseColor(fg)\n\n // convert the two colors from sRGB to linear-light RGB\n const c1 = rgb_lrgb(rgb1)\n const c2 = rgb_lrgb(rgb2)\n\n // compute the relative luminances\n const l1 = lrgb_luminance(c1)\n const l2 = lrgb_luminance(c2)\n\n // compute the contrast ratio\n return (Math.max(l1, l2) + 0.05) / (Math.min(l1, l2) + 0.05)\n}\n\nfunction rgb_lrgb({r, g, b}: RGB | RGBA): [number, number, number] {\n return [rgb_lrgb1(r / 255), rgb_lrgb1(g / 255), rgb_lrgb1(b / 255)]\n}\n\nfunction rgb_lrgb1(v: number) {\n return v <= 0.04045 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4\n}\n\nfunction lrgb_luminance([r, g, b]: [number, number, number]) {\n return 0.2126 * r + 0.7152 * g + 0.0722 * b\n}\n","import {parseColor} from './parse'\n\n/**\n * @internal\n */\nexport function rgba(color: unknown, a: number): string {\n const rgb = parseColor(color)\n\n return `rgba(${rgb.r},${rgb.g},${rgb.b},${a})`\n}\n","import {RGB, multiply, parseColor, rgbToHex, screen} from './lib/color-fns'\nimport {clamp, range} from './lib/utils'\n\nconst RGB_RANGE: [number, number] = [0, 255]\n\nexport function mixThemeColor(\n value: string,\n options: {\n bg?: string\n blendMode: 'multiply' | 'screen'\n black: string\n white: string\n },\n): string {\n const {blendMode} = options\n\n const color = parseColor(value)\n const black = parseColor(options.black)\n const white = parseColor(options.white)\n\n const bg = options.bg ? parseColor(options.bg) : blendMode === 'multiply' ? white : black\n\n const paletteRange: {r: [number, number]; g: [number, number]; b: [number, number]} = {\n r: [black.r, white.r],\n g: [black.g, white.g],\n b: [black.b, white.b],\n }\n\n const convertedBgColor: RGB = {\n r: clamp(range(...paletteRange.r, ...RGB_RANGE, bg.r), ...RGB_RANGE),\n g: clamp(range(...paletteRange.g, ...RGB_RANGE, bg.g), ...RGB_RANGE),\n b: clamp(range(...paletteRange.b, ...RGB_RANGE, bg.b), ...RGB_RANGE),\n }\n\n const convertedColor: RGB = {\n r: clamp(range(...paletteRange.r, ...RGB_RANGE, color.r), ...RGB_RANGE),\n g: clamp(range(...paletteRange.g, ...RGB_RANGE, color.g), ...RGB_RANGE),\n b: clamp(range(...paletteRange.b, ...RGB_RANGE, color.b), ...RGB_RANGE),\n }\n\n const resultColor =\n blendMode === 'multiply'\n ? multiply(convertedBgColor, convertedColor)\n : screen(convertedBgColor, convertedColor)\n\n const v: RGB = {\n r: clamp(range(...RGB_RANGE, ...paletteRange.r, resultColor.r), ...paletteRange.r),\n g: clamp(range(...RGB_RANGE, ...paletteRange.g, resultColor.g), ...paletteRange.g),\n b: clamp(range(...RGB_RANGE, ...paletteRange.b, resultColor.b), ...paletteRange.b),\n }\n\n return rgbToHex(v)\n}\n","import {ColorTint as ColorPaletteValue} from '@sanity/color'\nimport {ThemeColorPalette, parseTokenValue} from '../config'\nimport {ThemeColorBlendModeKey} from '../system'\nimport {rgba} from './lib/color-fns'\nimport {mixThemeColor} from './mixThemeColor'\n\nexport interface RenderColorValueOptions {\n bg?: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n}\n\nexport function renderColorValue(str: string, options: RenderColorValueOptions): string {\n const {bg, blendMode, colorPalette} = options\n\n if (bg === 'white') {\n throw new Error('Cannot blend with white background')\n }\n\n const node = parseTokenValue(str)\n\n if (!node || node.type !== 'color') {\n throw new Error(`Invalid color token value: ${str}`)\n }\n\n let hex = ''\n\n if (node.key === 'black') {\n hex = renderColorHex(colorPalette.black)\n }\n\n if (node.key === 'white') {\n hex = renderColorHex(colorPalette.white)\n }\n\n if (node.hue && node.tint) {\n hex = renderColorHex(colorPalette[node.hue][node.tint])\n }\n\n if (!hex) {\n throw new Error(`Invalid color token value: ${str}`)\n }\n\n const hexBeforeMix = hex\n\n const mixOptions = {\n blendMode,\n bg,\n black: renderColorHex(colorPalette.black),\n // opacity: node.opacity,\n white: renderColorHex(colorPalette.white),\n }\n\n try {\n hex = mixThemeColor(hex, mixOptions)\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log('could not blend', hex, mixOptions)\n throw err\n }\n\n if (hex === '#aN') {\n // eslint-disable-next-line no-console\n console.warn(`invalid color token value: ${str}`)\n hex = hexBeforeMix\n }\n\n if (node.opacity !== undefined) {\n hex = rgba(hex, node.opacity)\n }\n\n return hex\n}\n\nfunction renderColorHex(color: string | ColorPaletteValue) {\n return typeof color === 'string' ? color : color.hex\n}\n","import {ThemeColorPalette, ThemeConfig} from '../config'\nimport {defaultColorPalette} from '../defaults/colorPalette'\nimport {\n ThemeColorAvatar_v2,\n ThemeColorBadgeTone_v2,\n ThemeColorBadge_v2,\n ThemeColorBlendModeKey,\n ThemeColorButtonStates_v2,\n ThemeColorButtonTones_v2,\n ThemeColorButton_v2,\n ThemeColorCardToneKey,\n ThemeColorCard_v2,\n ThemeColorInputState_v2,\n ThemeColorInputStates_v2,\n ThemeColorInput_v2,\n ThemeColorKBD,\n ThemeColorScheme_v2,\n ThemeColorSchemes_v2,\n ThemeColorSelectableStates_v2,\n ThemeColorSelectable_v2,\n ThemeColorShadow,\n ThemeColorState_v2,\n ThemeColorSyntax,\n} from '../system'\nimport {RenderColorValueOptions, renderColorValue} from './renderColorValue'\n\nexport function renderThemeColorSchemes(\n value: ThemeColorSchemes_v2,\n config?: ThemeConfig,\n): ThemeColorSchemes_v2 {\n const colorPalette = config?.palette ?? defaultColorPalette\n\n return {\n light: renderThemeColorScheme(colorPalette, value.light),\n dark: renderThemeColorScheme(colorPalette, value.dark),\n }\n}\n\nfunction renderThemeColorScheme(\n colorPalette: ThemeColorPalette,\n value: ThemeColorScheme_v2,\n): ThemeColorScheme_v2 {\n const toneEntries = Object.entries(value) as [ThemeColorCardToneKey, ThemeColorCard_v2][]\n\n const [, transparentTone] = toneEntries.find(([k]) => k === 'transparent')!\n const [, defaultTone] = toneEntries.find(([k]) => k === 'default')!\n\n // The `transparent` and `default` tones are special cases, so we render them first\n // (rendered without a `bg` option).\n // But the rest of the tones are rendered on top of the `default` tone's `bg`.\n const renderedTransparentTone = renderThemeColor(transparentTone, {colorPalette})\n const renderedDefaultTone = renderThemeColor(defaultTone, {colorPalette})\n\n // Get the `default` tone's `bg` property\n const bg = renderedDefaultTone.bg\n\n if (bg === 'white') {\n throw new Error('Cannot blend with white background')\n }\n\n return Object.fromEntries([\n ['transparent', renderedTransparentTone],\n ['default', renderedDefaultTone],\n ...toneEntries\n .filter(([k]) => k !== 'default' && k !== 'transparent')\n .map(([k, v]) => [k, renderThemeColor(v, {bg, colorPalette})]),\n ]) as ThemeColorScheme_v2\n}\n\nfunction renderThemeColor(\n value: ThemeColorCard_v2,\n options: {\n bg?: string\n colorPalette: ThemeColorPalette\n },\n): ThemeColorCard_v2 {\n const {colorPalette, bg} = options\n const blendMode = value._blend || 'multiply'\n const baseBg = renderColorValue(value.bg, {colorPalette, bg, blendMode})\n const colorOptions: RenderColorValueOptions = {colorPalette, bg: baseBg, blendMode}\n\n const button = renderThemeColorButton(value.button, {\n baseBg,\n blendMode,\n colorPalette,\n })\n\n const selectable = renderThemeColorSelectable(value.selectable, {\n colorPalette,\n baseBg,\n blendMode,\n })\n\n const shadow: ThemeColorShadow = {\n outline: renderColorValue(value.shadow.outline, colorOptions),\n umbra: renderColorValue(value.shadow.umbra, {\n ...colorOptions,\n bg: undefined,\n colorPalette: {...colorPalette, black: '#000000'},\n }),\n penumbra: renderColorValue(value.shadow.penumbra, {\n ...colorOptions,\n bg: undefined,\n colorPalette: {...colorPalette, black: '#000000'},\n }),\n ambient: renderColorValue(value.shadow.ambient, {\n ...colorOptions,\n bg: undefined,\n colorPalette: {...colorPalette, black: '#000000'},\n }),\n }\n\n return {\n _blend: blendMode,\n _dark: value._dark,\n accent: {\n fg: renderColorValue(value.accent.fg, colorOptions),\n },\n avatar: renderThemeColorAvatar(value.avatar, {baseBg, colorPalette, blendMode}),\n backdrop: renderColorValue(value.backdrop, colorOptions),\n badge: renderThemeColorBadge(value.badge, {baseBg, colorPalette, blendMode}),\n bg: baseBg,\n border: renderColorValue(value.border, colorOptions),\n button,\n code: {\n bg: renderColorValue(value.code.bg, colorOptions),\n fg: renderColorValue(value.code.fg, colorOptions),\n },\n fg: renderColorValue(value.fg, colorOptions),\n focusRing: renderColorValue(value.focusRing, colorOptions),\n icon: renderColorValue(value.icon, colorOptions),\n input: renderThemeColorInput(value.input, {baseBg, colorPalette, blendMode}),\n kbd: renderThemeColorKBD(value.kbd, {baseBg, colorPalette, blendMode}),\n link: {\n fg: renderColorValue(value.link.fg, colorOptions),\n },\n muted: {\n bg: renderColorValue(value.muted.bg, colorOptions),\n fg: renderColorValue(value.muted.fg, colorOptions),\n },\n shadow,\n skeleton: {\n from: renderColorValue(value.skeleton.from, colorOptions),\n to: renderColorValue(value.skeleton.to, colorOptions),\n },\n syntax: renderSyntaxColorTheme(value.syntax, {baseBg, colorPalette, blendMode}),\n selectable,\n }\n}\n\nfunction renderThemeColorKBD(\n value: ThemeColorKBD,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorKBD {\n const {baseBg, blendMode, colorPalette} = options\n\n const rootOptions: RenderColorValueOptions = {\n bg: baseBg,\n blendMode,\n colorPalette,\n }\n\n const bg = renderColorValue(value.bg, rootOptions)\n\n const colorOptions: RenderColorValueOptions = {\n bg,\n blendMode,\n colorPalette,\n }\n\n return {\n bg,\n fg: renderColorValue(value.fg, colorOptions),\n border: renderColorValue(value.border, colorOptions),\n }\n}\n\nfunction renderThemeColorAvatar(\n value: ThemeColorAvatar_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorAvatar_v2 {\n return {\n gray: renderThemeColorAvatarColor(value.gray, options),\n blue: renderThemeColorAvatarColor(value.blue, options),\n purple: renderThemeColorAvatarColor(value.purple, options),\n magenta: renderThemeColorAvatarColor(value.magenta, options),\n red: renderThemeColorAvatarColor(value.red, options),\n orange: renderThemeColorAvatarColor(value.orange, options),\n yellow: renderThemeColorAvatarColor(value.yellow, options),\n green: renderThemeColorAvatarColor(value.green, options),\n cyan: renderThemeColorAvatarColor(value.cyan, options),\n }\n}\n\nfunction renderThemeColorAvatarColor(\n value: ThemeColorAvatar_v2['gray'],\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorAvatar_v2['gray'] {\n const {baseBg, blendMode: rootBlendMode, colorPalette} = options\n const blendMode = value._blend || 'multiply'\n\n const rootOptions: RenderColorValueOptions = {\n bg: baseBg,\n blendMode: rootBlendMode,\n colorPalette,\n }\n\n const bg = renderColorValue(value.bg, rootOptions)\n\n const colorOptions: RenderColorValueOptions = {\n bg,\n blendMode,\n colorPalette,\n }\n\n return {\n _blend: blendMode,\n bg,\n fg: renderColorValue(value.fg, colorOptions),\n }\n}\n\nfunction renderThemeColorBadge(\n value: ThemeColorBadge_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorBadge_v2 {\n return {\n default: renderThemeColorBadgeColor(value.default, options),\n primary: renderThemeColorBadgeColor(value.primary, options),\n positive: renderThemeColorBadgeColor(value.positive, options),\n caution: renderThemeColorBadgeColor(value.caution, options),\n critical: renderThemeColorBadgeColor(value.critical, options),\n }\n}\n\nfunction renderThemeColorBadgeColor(\n value: ThemeColorBadgeTone_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorBadgeTone_v2 {\n const {baseBg, blendMode: rootBlendMode, colorPalette} = options\n\n // const blendMode = value._blend || 'multiply'\n\n const blendMode = rootBlendMode\n\n const rootOptions: RenderColorValueOptions = {\n bg: baseBg,\n blendMode: rootBlendMode,\n colorPalette,\n }\n\n const bg = renderColorValue(value.bg, rootOptions)\n\n const colorOptions: RenderColorValueOptions = {\n bg,\n blendMode,\n colorPalette,\n }\n\n return {\n // _blend: blendMode,\n bg,\n fg: renderColorValue(value.fg, colorOptions),\n dot: renderColorValue(value.dot, colorOptions),\n icon: renderColorValue(value.icon, colorOptions),\n }\n}\n\nfunction renderThemeColorButton(\n value: ThemeColorButton_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorButton_v2 {\n return {\n default: renderThemeColorButtonTones(value.default, options),\n ghost: renderThemeColorButtonTones(value.ghost, options),\n bleed: renderThemeColorButtonTones(value.bleed, options),\n }\n}\n\nfunction renderThemeColorButtonTones(\n value: ThemeColorButtonTones_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorButtonTones_v2 {\n return {\n default: renderThemeColorButtonStates(value.default, options),\n primary: renderThemeColorButtonStates(value.primary, options),\n positive: renderThemeColorButtonStates(value.positive, options),\n caution: renderThemeColorButtonStates(value.caution, options),\n critical: renderThemeColorButtonStates(value.critical, options),\n }\n}\n\nfunction renderThemeColorButtonStates(\n value: ThemeColorButtonStates_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorButtonStates_v2 {\n return {\n enabled: renderThemeColorState(value.enabled, options),\n hovered: renderThemeColorState(value.hovered, options),\n pressed: renderThemeColorState(value.pressed, options),\n selected: renderThemeColorState(value.selected, options),\n disabled: renderThemeColorState(value.disabled, options),\n }\n}\n\nfunction renderThemeColorState(\n value: ThemeColorState_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorState_v2 {\n const {baseBg, blendMode: rootBlendMode, colorPalette} = options\n const blendMode = value._blend || 'multiply'\n\n const rootOptions: RenderColorValueOptions = {\n bg: baseBg,\n blendMode: rootBlendMode,\n colorPalette,\n }\n\n const bg = renderColorValue(value.bg, rootOptions)\n\n const colorOptions: RenderColorValueOptions = {\n bg,\n blendMode,\n colorPalette,\n }\n\n return {\n _blend: blendMode,\n accent: {\n fg: renderColorValue(value.accent.fg, colorOptions),\n },\n avatar: renderThemeColorAvatar(value.avatar, {baseBg, colorPalette, blendMode}),\n badge: renderThemeColorBadge(value.badge, {baseBg, colorPalette, blendMode}),\n bg,\n border: renderColorValue(value.border, colorOptions),\n code: {\n bg: renderColorValue(value.code.bg, colorOptions),\n fg: renderColorValue(value.code.fg, colorOptions),\n },\n fg: renderColorValue(value.fg, colorOptions),\n icon: renderColorValue(value.icon, colorOptions),\n link: {\n fg: renderColorValue(value.link.fg, colorOptions),\n },\n muted: {\n bg: renderColorValue(value.muted.bg, colorOptions),\n fg: renderColorValue(value.muted.fg, colorOptions),\n },\n kbd: {\n bg: renderColorValue(value.kbd.bg, colorOptions),\n fg: renderColorValue(value.kbd.fg, colorOptions),\n border: renderColorValue(value.kbd.border, colorOptions),\n },\n skeleton: {\n from: renderColorValue(value.skeleton?.from, colorOptions),\n to: renderColorValue(value.skeleton?.to, colorOptions),\n },\n }\n}\n\nfunction renderThemeColorInput(\n value: ThemeColorInput_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorInput_v2 {\n return {\n default: renderInputStatesColorTheme(value.default, options),\n invalid: renderInputStatesColorTheme(value.invalid, options),\n }\n}\n\nfunction renderInputStatesColorTheme(\n value: ThemeColorInputStates_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorInputStates_v2 {\n return {\n enabled: renderInputStateColorTheme(value.enabled, options),\n hovered: renderInputStateColorTheme(value.hovered, options),\n readOnly: renderInputStateColorTheme(value.readOnly, options),\n disabled: renderInputStateColorTheme(value.disabled, options),\n }\n}\n\nfunction renderInputStateColorTheme(\n value: ThemeColorInputState_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorInputState_v2 {\n const {baseBg, blendMode: rootBlendMode, colorPalette} = options\n const blendMode = value._blend || 'multiply'\n const rootOptions: RenderColorValueOptions = {colorPalette, bg: baseBg, blendMode: rootBlendMode}\n const bg = renderColorValue(value.bg, rootOptions)\n const colorOptions: RenderColorValueOptions = {colorPalette, bg, blendMode}\n\n return {\n _blend: blendMode,\n bg,\n border: renderColorValue(value.border, colorOptions),\n fg: renderColorValue(value.fg, colorOptions),\n muted: {\n bg: renderColorValue(value.muted.bg, colorOptions),\n },\n placeholder: renderColorValue(value.placeholder, colorOptions),\n }\n}\n\nfunction renderThemeColorSelectable(\n value: ThemeColorSelectable_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorSelectable_v2 {\n return {\n default: renderThemeColorSelectableStates(value.default, options),\n primary: renderThemeColorSelectableStates(value.primary, options),\n positive: renderThemeColorSelectableStates(value.positive, options),\n caution: renderThemeColorSelectableStates(value.caution, options),\n critical: renderThemeColorSelectableStates(value.critical, options),\n }\n}\n\nfunction renderThemeColorSelectableStates(\n value: ThemeColorSelectableStates_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorSelectableStates_v2 {\n return {\n enabled: renderThemeColorState(value.enabled, options),\n hovered: renderThemeColorState(value.hovered, options),\n pressed: renderThemeColorState(value.pressed, options),\n selected: renderThemeColorState(value.selected, options),\n disabled: renderThemeColorState(value.disabled, options),\n }\n}\n\nfunction renderSyntaxColorTheme(\n value: ThemeColorSyntax,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorSyntax {\n const {colorPalette, baseBg, blendMode} = options\n const colorOptions: RenderColorValueOptions = {colorPalette, bg: baseBg, blendMode}\n\n return {\n atrule: renderColorValue(value.atrule, colorOptions),\n attrName: renderColorValue(value.attrName, colorOptions),\n attrValue: renderColorValue(value.attrValue, colorOptions),\n attribute: renderColorValue(value.attribute, colorOptions),\n boolean: renderColorValue(value.boolean, colorOptions),\n builtin: renderColorValue(value.builtin, colorOptions),\n cdata: renderColorValue(value.cdata, colorOptions),\n char: renderColorValue(value.char, colorOptions),\n class: renderColorValue(value.class, colorOptions),\n className: renderColorValue(value.className, colorOptions),\n comment: renderColorValue(value.comment, colorOptions),\n constant: renderColorValue(value.constant, colorOptions),\n deleted: renderColorValue(value.deleted, colorOptions),\n doctype: renderColorValue(value.doctype, colorOptions),\n entity: renderColorValue(value.entity, colorOptions),\n function: renderColorValue(value.function, colorOptions),\n hexcode: renderColorValue(value.hexcode, colorOptions),\n id: renderColorValue(value.id, colorOptions),\n important: renderColorValue(value.important, colorOptions),\n inserted: renderColorValue(value.inserted, colorOptions),\n keyword: renderColorValue(value.keyword, colorOptions),\n number: renderColorValue(value.number, colorOptions),\n operator: renderColorValue(value.operator, colorOptions),\n prolog: renderColorValue(value.prolog, colorOptions),\n property: renderColorValue(value.property, colorOptions),\n pseudoClass: renderColorValue(value.pseudoClass, colorOptions),\n pseudoElement: renderColorValue(value.pseudoElement, colorOptions),\n punctuation: renderColorValue(value.punctuation, colorOptions),\n regex: renderColorValue(value.regex, colorOptions),\n selector: renderColorValue(value.selector, colorOptions),\n string: renderColorValue(value.string, colorOptions),\n symbol: renderColorValue(value.symbol, colorOptions),\n tag: renderColorValue(value.tag, colorOptions),\n unit: renderColorValue(value.unit, colorOptions),\n url: renderColorValue(value.url, colorOptions),\n variable: renderColorValue(value.variable, colorOptions),\n }\n}\n","import {ThemeConfig} from '../config'\nimport {defaultThemeConfig} from '../defaults/config'\nimport {defaultThemeFonts} from '../defaults/fonts'\nimport {RootTheme, RootTheme_v2} from '../system'\nimport {v2_v0} from '../versioning'\nimport {buildColorTheme} from './buildColorTheme'\nimport {renderThemeColorSchemes} from './renderColorTheme'\n\n/** @internal */\nexport function buildTheme(config?: ThemeConfig): RootTheme {\n const colorTheme = buildColorTheme(config)\n\n const v2: RootTheme_v2 = {\n _version: 2,\n avatar: config?.avatar ?? defaultThemeConfig.avatar,\n button: config?.button ?? defaultThemeConfig.button,\n card: config?.card ?? defaultThemeConfig.card,\n // How colors are generated:\n // 1. Merge custom tokens with default tokens\n // 2. Generate tree of color keys (gray/500, black, white, etc.)\n // 3. Apply mixing and render to hex values\n // render(build(mergeWithDefaults()))\n color: renderThemeColorSchemes(colorTheme, config),\n container: config?.container ?? defaultThemeConfig.container,\n font: config?.font ?? defaultThemeFonts,\n input: config?.input ?? defaultThemeConfig.input,\n layer: config?.layer ?? defaultThemeConfig.layer,\n media: config?.media ?? defaultThemeConfig.media,\n radius: config?.radius ?? defaultThemeConfig.radius,\n shadow: config?.shadow ?? defaultThemeConfig.shadow,\n space: config?.space ?? defaultThemeConfig.space,\n style: config?.style ?? defaultThemeConfig.style,\n }\n\n return v2_v0(v2)\n}\n","import {defaultThemeConfig} from './defaults/config'\nimport {RootTheme, RootTheme_v2, Theme, ThemeColorCardToneKey, ThemeColorSchemeKey} from './system'\nimport {is_v2, v0_v2, v2_v0} from './versioning'\n\n// cache[scheme][tone][rootTheme] = theme\nconst cache = new Map<\n ThemeColorSchemeKey,\n Map<ThemeColorCardToneKey, WeakMap<RootTheme | RootTheme_v2, Theme>>\n>()\n\n/** @internal */\nexport function getScopedTheme(\n themeProp: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n): Theme {\n const cachedTheme = _getCachedTheme(themeProp, scheme, tone)\n\n if (cachedTheme) return cachedTheme\n\n const v0 = is_v2(themeProp) ? v2_v0(themeProp) : themeProp\n const v2 = is_v2(themeProp) ? themeProp : v0_v2(themeProp)\n\n const colorScheme_v0 = v0.color[scheme] || v0.color.light\n const color_v0 = colorScheme_v0[tone] || colorScheme_v0.default\n const layer_v0 = v0.layer || defaultThemeConfig.layer\n\n const colorScheme_v2 = v2.color[scheme] || v2.color.light\n const color_v2 = colorScheme_v2[tone] || colorScheme_v2.default\n const layer_v2 = v2.layer || defaultThemeConfig.layer\n\n const theme: Theme = {\n sanity: {\n ...v0,\n color: color_v0,\n layer: layer_v0,\n v2: {\n ...v2,\n color: color_v2,\n layer: layer_v2,\n },\n },\n }\n\n _setCachedTheme(themeProp, scheme, tone, theme)\n\n return theme\n}\n\nfunction _getCachedTheme(\n rootTheme: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n) {\n const schemeCache = cache.get(scheme)\n\n if (!schemeCache) return undefined\n\n const toneCache = schemeCache.get(tone)\n\n if (!toneCache) return undefined\n\n return toneCache.get(rootTheme)\n}\n\nfunction _setCachedTheme(\n rootTheme: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n theme: Theme,\n) {\n if (!cache.has(scheme)) cache.set(scheme, new Map())\n\n const schemeCache = cache.get(scheme)!\n\n if (!schemeCache.has(tone)) schemeCache.set(tone, new WeakMap())\n\n const toneCache = schemeCache.get(tone)!\n\n toneCache.set(rootTheme, theme)\n}\n","import {buildTheme} from './build'\n\nexport * from './build'\nexport * from './config'\nexport * from './getScopedTheme'\nexport * from './system'\nexport * from './versioning'\n\n/**\n * @public\n */\nexport const defaultTheme = buildTheme()\n"],"names":["createSelectableTones","opts","base","dark","solid","muted","default","_createSelectableStates","primary","positive","caution","critical","tone","enabled","selectable","state","hovered","pressed","selected","disabled","createSolidTones","name","transparent","createButtonTones","mode","button","createButtonModes","ghost","bleed","createCardStates","card","black","white","colors","lightest","lighter","light","darker","darkest","spots","gray","red","orange","yellow","green","cyan","blue","purple","magenta","tones","bg","fg","border","focusRing","defaultOpts","_ref","shadow","outline","umbra","penumbra","ambient","skeleton","from","to","_ref2","color","bg2","icon","accent","link","code","_ref3","_ref4","_ref5","input","placeholder","_ref6","spot","_ref7","key","syntax","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","doctype","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","createInputModes","readOnly","invalid","createMutedTones","createSpot","createColorTheme","partialOpts","arguments","length","undefined","builders","_createColorScheme","_createColor","BORDER_WIDTH","OUTLINE_WIDTH","defaultThemeConfig","_version","avatar","sizes","distance","size","offset","width","textWeight","container","media","layer","dialog","zOffset","popover","tooltip","radius","space","checkbox","radio","markSize","switch","height","padding","transitionDurationMs","transitionTimingFunction","select","text","style","root","transition","defaultThemeFonts","family","weights","regular","medium","semibold","bold","ascenderHeight","descenderHeight","fontSize","iconSize","lineHeight","letterSpacing","heading","label","cache","WeakMap","themeColor_v0_v2","color_v0","_a","_b","_c","cached_v2","get","stateThemeColor_v0_v2","color_v2","_blend","_dark","backdrop","badge","stateTonesThemeColor_v0_v2","inputStatesThemeColor_v0_v2","kbd","set","v0","t","dot","states","inputStateThemeColor_v0_v2","getTheme_v2","theme","sanity","v2","font","fonts","shadows","styles","is_v0","themeProp","is_v2","v0_v2","_unused_focusRing","v2_v0","cachedTheme","themeColor_v2_v0","inputStatesThemeColor_v2_v0","inputStateThemeColor_v2_v0","THEME_COLOR_BLEND_MODES","THEME_COLOR_CARD_TONES","THEME_COLOR_STATE_TONES","THEME_COLOR_STATES","THEME_COLOR_BUTTON_MODES","THEME_COLOR_INPUT_MODES","THEME_COLOR_INPUT_STATES","THEME_COLOR_AVATAR_COLORS","COLOR_HUES","isColorBlendModeValue","str","includes","isColorHueKey","isColorTintKey","COLOR_TINTS","isColorButtonMode","COLOR_CONFIG_STATE_KEYS","COLOR_CONFIG_CARD_KEYS","COLOR_CONFIG_BLEND_KEYS","COLOR_CONFIG_AVATAR_COLORS","COLOR_CONFIG_CARD_TONES","COLOR_CONFIG_STATE_TONES","COLOR_CONFIG_STATES","COLOR_CONFIG_INPUT_MODES","COLOR_CONFIG_INPUT_STATES","parseTokenKey","segments","split","segment0","shift","isColorConfigBaseTone","join","isColorConfigBaseKey","type","isColorConfigBlendKey","segment1","isColorConfigStateTone","segment2","isColorConfigStateKey","parseTokenValue","tint","isColorOpacityValue","opacity","Number","isColorValue","hue","concat","value","isColorTokenValue","test","DEFAULT_COLOR_TOKEN_VALUE","resolveColorTokenValue","context","scheme","node","Error","compileColorTokenValue","defaultColorTokens","_hue","isRecord","Boolean","Array","isArray","merge","_len","records","_key","_records","filter","reduce","_merge","acc","source","Object","keys","prevValue","nextValue","resolveColorTokens","inputTokens","tokens","resolveBaseColorTokens","resolveButtonColorTokens","resolveInputColorTokens","resolveSelectableColorTokens","sparseTokens","resolveBaseColorTones","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","spec","resolveButtonToneColorTokens","resolveButtonModeColorTokens","resolveButtonStateColorTokens","_Q","_R","_S","_T","_U","_V","_W","_X","_Y","_Z","resolveInputModeColorTokens","resolveInputStateColorTokens","resolveSelectableToneColorTokens","resolveSelectableStateColorTokens","buildColorTheme","config","resolvedConfig","buildColorScheme","options","buildCardColorTheme","blendMode","_color","buildAvatarColorTheme","buildBadgeColorTheme","buildButtonColorTheme","buildInputColorTheme","buildSelectableColorTheme","buildShadowColorTheme","buildSyntaxColorTheme","stateTokens","_buildAvatarColorTheme","_buildBadgeColorTheme","parentTokens","modes","buildButtonTonesColorTheme","buildButtonStatesColorTheme","buildButtonStateColorTheme","buildInputStatesColorTheme","buildInputStateColorTheme","buildSelectableStatesColorTheme","buildSelectableStateColorTheme","defaultColorPalette","mixChannel","b","s","weight","diff","delta","mix","r","g","multiplyChannel","multiply","screenChannel","screen","lerp","x","y","a","invlerp","clamp","min","max","Math","range","x1","y1","x2","y2","round","hexToRgb","hex","hexR","slice","hexG","hexB","parseInt","rgbaToRGBA","rgba","values","replace","parseFloat","rgbToHex","toString","rgbToHsl","_ref8","cmin","cmax","h","l","abs","toFixed","hslToRgb","hsl","c","m","HEX_CHARS","HSL_RE","isHexChars","indexOf","isHex","parseHsl","res","exec","parseColor","startsWith","getContrastRatio","rgb1","rgb2","c1","rgb_lrgb","c2","l1","lrgb_luminance","l2","_ref9","rgb_lrgb1","v","_ref10","rgb","RGB_RANGE","mixThemeColor","paletteRange","convertedBgColor","convertedColor","resultColor","renderColorValue","colorPalette","renderColorHex","hexBeforeMix","mixOptions","err","console","log","warn","renderThemeColorSchemes","palette","renderThemeColorScheme","toneEntries","entries","transparentTone","find","_ref11","k","defaultTone","_ref12","renderedTransparentTone","renderThemeColor","renderedDefaultTone","fromEntries","_ref13","map","_ref14","baseBg","colorOptions","renderThemeColorButton","renderThemeColorSelectable","renderThemeColorAvatar","renderThemeColorBadge","renderThemeColorInput","renderThemeColorKBD","renderSyntaxColorTheme","rootOptions","renderThemeColorAvatarColor","rootBlendMode","renderThemeColorBadgeColor","renderThemeColorButtonTones","renderThemeColorButtonStates","renderThemeColorState","renderInputStatesColorTheme","renderInputStateColorTheme","renderThemeColorSelectableStates","buildTheme","colorTheme","Map","getScopedTheme","_getCachedTheme","colorScheme_v0","layer_v0","colorScheme_v2","layer_v2","_setCachedTheme","rootTheme","schemeCache","toneCache","has","defaultTheme"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theme.js","sources":["../src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts","../src/theme/build/_deprecated/color/_solid/createSolidTones.ts","../src/theme/build/_deprecated/color/button/createButtonTones.ts","../src/theme/build/_deprecated/color/button/createButtonModes.ts","../src/theme/build/_deprecated/color/card/createCardStates.ts","../src/theme/build/_deprecated/color/defaults.ts","../src/theme/build/_deprecated/color/input/createInputModes.ts","../src/theme/build/_deprecated/color/muted/createMuted.ts","../src/theme/build/_deprecated/color/spot/createSpot.ts","../src/theme/build/_deprecated/color/factory.ts","../src/theme/defaults/config.ts","../src/theme/defaults/fonts.ts","../src/theme/versioning/themeColor_v0_v2.ts","../src/theme/versioning/getTheme_v2.ts","../src/theme/versioning/is_v0.ts","../src/theme/versioning/is_v2.ts","../src/theme/versioning/v0_v2.ts","../src/theme/versioning/v2_v0.ts","../src/theme/system/color/_constants.ts","../src/theme/system/color/_helpers.ts","../src/theme/config/system.ts","../src/theme/config/tokens/parseTokenKey.ts","../src/theme/config/tokens/parseTokenValue.ts","../src/theme/config/helpers.ts","../src/theme/build/colorToken/compileColorToken.ts","../src/theme/build/colorToken/colorToken.ts","../src/theme/defaults/colorTokens.ts","../src/theme/build/lib/isRecord.ts","../src/theme/build/merge.ts","../src/theme/build/resolveColorTokens.ts","../src/theme/build/buildColorTheme.ts","../src/theme/defaults/colorPalette.ts","../src/theme/build/lib/color-fns/blend/mix.ts","../src/theme/build/lib/color-fns/blend/multiply.ts","../src/theme/build/lib/color-fns/blend/screen.ts","../src/theme/build/lib/utils.ts","../src/theme/build/lib/color-fns/convert.ts","../src/theme/build/lib/color-fns/parse.ts","../src/theme/build/lib/color-fns/contrastRatio.ts","../src/theme/build/lib/color-fns/rgba.ts","../src/theme/build/mixThemeColor.ts","../src/theme/build/renderColorValue.ts","../src/theme/build/renderColorTheme.ts","../src/theme/build/buildTheme.ts","../src/theme/getScopedTheme.ts"],"sourcesContent":["import {\n ThemeColorBase,\n ThemeColorMuted,\n ThemeColorSelectable,\n ThemeColorSelectableStates,\n ThemeColorSolid,\n} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\n\nexport function createSelectableTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n): ThemeColorSelectable {\n return {\n default: _createSelectableStates(opts, base, dark, solid, muted, 'default'),\n primary: _createSelectableStates(opts, base, dark, solid, muted, 'primary'),\n positive: _createSelectableStates(opts, base, dark, solid, muted, 'positive'),\n caution: _createSelectableStates(opts, base, dark, solid, muted, 'caution'),\n critical: _createSelectableStates(opts, base, dark, solid, muted, 'critical'),\n }\n}\n\nfunction _createSelectableStates(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n tone: 'default' | 'primary' | 'positive' | 'caution' | 'critical',\n): ThemeColorSelectableStates {\n return {\n enabled: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'enabled',\n tone,\n }),\n hovered: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'hovered',\n tone,\n }),\n pressed: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'pressed',\n tone,\n }),\n selected: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'selected',\n tone,\n }),\n disabled: opts.selectable({\n base,\n dark,\n solid,\n muted,\n state: 'disabled',\n tone,\n }),\n }\n}\n","import {ThemeColorBase, ThemeColorSolid, ThemeColorName} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\n\nexport function createSolidTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorName,\n): ThemeColorSolid {\n return {\n default: {\n enabled: opts.solid({base, dark, tone: 'default', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'default', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'default', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'default', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'default', name, state: 'selected'}),\n },\n transparent: {\n enabled: opts.solid({base, dark, tone: 'transparent', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'transparent', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'transparent', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'transparent', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'transparent', name, state: 'selected'}),\n },\n primary: {\n enabled: opts.solid({base, dark, tone: 'primary', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'primary', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'primary', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'primary', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'primary', name, state: 'selected'}),\n },\n positive: {\n enabled: opts.solid({base, dark, tone: 'positive', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'positive', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'positive', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'positive', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'positive', name, state: 'selected'}),\n },\n caution: {\n enabled: opts.solid({base, dark, tone: 'caution', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'caution', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'caution', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'caution', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'caution', name, state: 'selected'}),\n },\n critical: {\n enabled: opts.solid({base, dark, tone: 'critical', name, state: 'enabled'}),\n disabled: opts.solid({base, dark, tone: 'critical', name, state: 'disabled'}),\n hovered: opts.solid({base, dark, tone: 'critical', name, state: 'hovered'}),\n pressed: opts.solid({base, dark, tone: 'critical', name, state: 'pressed'}),\n selected: opts.solid({base, dark, tone: 'critical', name, state: 'selected'}),\n },\n }\n}\n","import {\n ThemeColorBase,\n ThemeColorButtonModeKey,\n ThemeColorButtonTones,\n ThemeColorMuted,\n ThemeColorSolid,\n} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\n\nexport function createButtonTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n mode: ThemeColorButtonModeKey,\n): ThemeColorButtonTones {\n return {\n default: opts.button({\n base,\n dark,\n solid: solid.default,\n muted: muted.default,\n mode,\n }),\n primary: opts.button({\n base,\n dark,\n solid: solid.primary,\n muted: muted.primary,\n mode,\n }),\n positive: opts.button({\n base,\n dark,\n solid: solid.positive,\n muted: muted.positive,\n mode,\n }),\n caution: opts.button({\n base,\n dark,\n solid: solid.caution,\n muted: muted.caution,\n mode,\n }),\n critical: opts.button({\n base,\n dark,\n solid: solid.critical,\n muted: muted.critical,\n mode,\n }),\n }\n}\n","import {\n ThemeColorBase,\n ThemeColorButton,\n ThemeColorMuted,\n ThemeColorSolid,\n} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\nimport {createButtonTones} from './createButtonTones'\n\nexport function createButtonModes(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n): ThemeColorButton {\n return {\n default: createButtonTones(opts, base, dark, solid, muted, 'default'),\n ghost: createButtonTones(opts, base, dark, solid, muted, 'ghost'),\n bleed: createButtonTones(opts, base, dark, solid, muted, 'bleed'),\n }\n}\n","import {\n ThemeColorBase,\n ThemeColorCard,\n ThemeColorMuted,\n ThemeColorSolid,\n ThemeColorName,\n} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\n\nexport function createCardStates(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorName,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n): ThemeColorCard {\n return {\n enabled: opts.card({\n base,\n dark,\n name,\n state: 'enabled',\n solid,\n muted,\n }),\n disabled: opts.card({\n base,\n dark,\n name,\n state: 'disabled',\n solid,\n muted,\n }),\n hovered: opts.card({\n base,\n dark,\n name,\n state: 'hovered',\n solid,\n muted,\n }),\n pressed: opts.card({\n base,\n dark,\n name,\n state: 'pressed',\n solid,\n muted,\n }),\n selected: opts.card({\n base,\n dark,\n name,\n state: 'selected',\n solid,\n muted,\n }),\n }\n}\n","import {ThemeColorBuilderOpts} from './factory'\n\nconst black = 'hsl(0, 0%, 0%)'\nconst white = 'hsl(0, 0%, 100%)'\n\nconst colors = {\n default: {\n lightest: 'hsl(0, 0%, 95%)',\n lighter: 'hsl(0, 0%, 70%)',\n light: 'hsl(0, 0%, 65%)',\n base: 'hsl(0, 0%, 50%)',\n dark: 'hsl(0, 0%, 35%)',\n darker: 'hsl(0, 0%, 20%)',\n darkest: 'hsl(0, 0%, 5%)',\n },\n transparent: {\n lightest: 'hsl(240, 100%, 95%)',\n lighter: 'hsl(240, 100%, 70%)',\n light: 'hsl(240, 100%, 65%)',\n base: 'hsl(240, 100%, 50%)',\n dark: 'hsl(240, 100%, 35%)',\n darker: 'hsl(240, 100%, 20%)',\n darkest: 'hsl(240, 100%, 5%)',\n },\n primary: {\n lightest: 'hsl(240, 100%, 95%)',\n lighter: 'hsl(240, 100%, 70%)',\n light: 'hsl(240, 100%, 65%)',\n base: 'hsl(240, 100%, 50%)',\n dark: 'hsl(240, 100%, 35%)',\n darker: 'hsl(240, 100%, 20%)',\n darkest: 'hsl(240, 100%, 5%)',\n },\n positive: {\n lightest: 'hsl(120, 100%, 95%)',\n lighter: 'hsl(120, 100%, 70%)',\n light: 'hsl(120, 100%, 65%)',\n base: 'hsl(120, 100%, 50%)',\n dark: 'hsl(120, 100%, 35%)',\n darker: 'hsl(120, 100%, 20%)',\n darkest: 'hsl(120, 100%, 5%)',\n },\n caution: {\n lightest: 'hsl(60, 100%, 95%)',\n lighter: 'hsl(60, 100%, 70%)',\n light: 'hsl(60, 100%, 65%)',\n base: 'hsl(60, 100%, 50%)',\n dark: 'hsl(60, 100%, 35%)',\n darker: 'hsl(60, 100%, 20%)',\n darkest: 'hsl(60, 100%, 5%)',\n },\n critical: {\n lightest: 'hsl(0, 100%, 95%)',\n lighter: 'hsl(0, 100%, 70%)',\n light: 'hsl(0, 100%, 65%)',\n base: 'hsl(0, 100%, 50%)',\n dark: 'hsl(0, 100%, 35%)',\n darker: 'hsl(0, 100%, 20%)',\n darkest: 'hsl(0, 100%, 5%)',\n },\n}\n\nconst spots = {\n gray: 'hsl(0, 0%, 50%)',\n red: 'hsl(0, 100%, 50%)',\n orange: 'hsl(30, 100%, 50%)',\n yellow: 'hsl(60, 100%, 50%)',\n green: 'hsl(120, 100%, 50%)',\n cyan: 'hsl(180, 100%, 50%)',\n blue: 'hsl(240, 100%, 50%)',\n purple: 'hsl(270, 100%, 50%)',\n magenta: 'hsl(300, 100%, 50%)',\n}\n\nconst tones = {\n transparent: {\n bg: [colors.transparent.darkest, colors.transparent.lightest],\n fg: [colors.transparent.lightest, colors.transparent.darkest],\n border: [colors.transparent.darker, colors.transparent.lighter],\n focusRing: [colors.transparent.base, colors.transparent.base],\n },\n primary: {\n bg: [colors.primary.darkest, colors.primary.lightest],\n fg: [colors.primary.lightest, colors.primary.darkest],\n border: [colors.primary.darker, colors.primary.lighter],\n focusRing: [colors.primary.base, colors.primary.base],\n },\n positive: {\n bg: [colors.positive.darkest, colors.positive.lightest],\n fg: [colors.positive.lightest, colors.positive.darkest],\n border: [colors.positive.darker, colors.positive.lighter],\n focusRing: [colors.positive.base, colors.positive.base],\n },\n caution: {\n bg: [colors.caution.darkest, colors.caution.lightest],\n fg: [colors.caution.lightest, colors.caution.darkest],\n border: [colors.caution.darker, colors.caution.lighter],\n focusRing: [colors.caution.base, colors.caution.base],\n },\n critical: {\n bg: [colors.critical.darkest, colors.critical.lightest],\n fg: [colors.critical.lightest, colors.critical.darkest],\n border: [colors.critical.darker, colors.critical.lighter],\n focusRing: [colors.critical.base, colors.critical.base],\n },\n}\n\nexport const defaultOpts: ThemeColorBuilderOpts = {\n base: ({dark, name}) => {\n if (name === 'default') {\n return {\n bg: dark ? black : white,\n fg: dark ? white : black,\n border: dark ? colors.default.darkest : colors.default.lightest,\n focusRing: colors.primary.base,\n shadow: {\n outline: black,\n umbra: black,\n penumbra: black,\n ambient: black,\n },\n skeleton: {\n from: dark ? white : black,\n to: dark ? white : black,\n },\n }\n }\n\n // Variants:\n // - primary\n // - positive\n // - caution\n // - critical\n return {\n bg: tones[name].bg[dark ? 0 : 1],\n fg: tones[name].fg[dark ? 0 : 1],\n border: tones[name].border[dark ? 0 : 1],\n focusRing: tones[name].focusRing[dark ? 0 : 1],\n shadow: {\n outline: black,\n umbra: black,\n penumbra: black,\n ambient: black,\n },\n skeleton: {\n from: dark ? white : black,\n to: dark ? white : black,\n },\n }\n },\n\n solid: ({base, dark, state, tone}) => {\n const color = colors[tone]\n\n if (state === 'hovered') {\n return {\n bg: dark ? color.light : color.dark,\n bg2: dark ? color.light : color.dark,\n border: dark ? color.lighter : color.darker,\n fg: dark ? color.darkest : color.lightest,\n icon: dark ? color.darkest : color.lightest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n }\n\n return {\n bg: color.base,\n bg2: color.base,\n border: dark ? color.light : color.dark,\n fg: dark ? color.darkest : color.lightest,\n icon: dark ? color.darkest : color.lightest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n muted: ({base, dark, state, tone}) => {\n const color = colors[tone]\n\n if (state === 'hovered') {\n return {\n bg: dark ? color.darker : color.lighter,\n bg2: dark ? color.darker : color.lighter,\n border: dark ? color.lighter : color.darker,\n fg: dark ? color.lightest : color.darkest,\n icon: dark ? color.lightest : color.darkest,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n }\n\n return {\n bg: dark ? color.darkest : color.lightest,\n bg2: dark ? color.darkest : color.lightest,\n border: dark ? color.darker : color.lighter,\n fg: dark ? color.lighter : color.darker,\n icon: dark ? color.lighter : color.darker,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n button: ({base, mode, muted, solid}) => {\n if (mode === 'bleed') {\n return {\n ...muted,\n enabled: {\n bg: 'transparent',\n bg2: 'transparent',\n fg: muted.enabled.fg,\n icon: muted.enabled.fg,\n border: 'transparent',\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n },\n hovered: {\n bg: muted.enabled.bg,\n bg2: muted.enabled.bg,\n fg: muted.hovered.fg,\n icon: muted.hovered.fg,\n border: 'transparent',\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n },\n }\n }\n\n if (mode === 'ghost')\n return {\n ...solid,\n enabled: muted.enabled,\n }\n\n return solid\n },\n\n card: ({base}) => {\n return {\n bg: black,\n bg2: black,\n fg: black,\n icon: black,\n border: black,\n muted: {\n fg: black,\n },\n accent: {\n fg: black,\n },\n link: {\n fg: black,\n },\n code: {\n bg: black,\n fg: black,\n },\n skeleton: base.skeleton,\n }\n },\n\n input: () => {\n return {\n bg: black,\n bg2: black,\n fg: black,\n border: black,\n placeholder: black,\n }\n },\n\n selectable: ({muted, state, tone}) => {\n return muted[tone][state]\n },\n\n spot: ({key}) => {\n return spots[key]\n },\n\n syntax: () => ({\n atrule: black,\n attrName: black,\n attrValue: black,\n attribute: black,\n boolean: black,\n builtin: black,\n cdata: black,\n char: black,\n class: black,\n className: black,\n comment: black,\n constant: black,\n deleted: black,\n doctype: black,\n entity: black,\n function: black,\n hexcode: black,\n id: black,\n important: black,\n inserted: black,\n keyword: black,\n number: black,\n operator: black,\n prolog: black,\n property: black,\n pseudoClass: black,\n pseudoElement: black,\n punctuation: black,\n regex: black,\n selector: black,\n string: black,\n symbol: black,\n tag: black,\n unit: black,\n url: black,\n variable: black,\n }),\n}\n","import {ThemeColorBase, ThemeColorInput, ThemeColorMuted, ThemeColorSolid} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\n\nexport function createInputModes(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n solid: ThemeColorSolid,\n muted: ThemeColorMuted,\n): ThemeColorInput {\n return {\n default: {\n enabled: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'enabled',\n solid: solid.default,\n muted: muted.default,\n }),\n disabled: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'disabled',\n solid: solid.default,\n muted: muted.default,\n }),\n hovered: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'hovered',\n solid: solid.default,\n muted: muted.default,\n }),\n readOnly: opts.input({\n base,\n dark,\n mode: 'default',\n state: 'readOnly',\n solid: solid.default,\n muted: muted.default,\n }),\n },\n invalid: {\n enabled: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'enabled',\n solid: solid.default,\n muted: muted.default,\n }),\n disabled: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'disabled',\n solid: solid.default,\n muted: muted.default,\n }),\n hovered: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'hovered',\n solid: solid.default,\n muted: muted.default,\n }),\n readOnly: opts.input({\n base,\n dark,\n mode: 'invalid',\n state: 'readOnly',\n solid: solid.default,\n muted: muted.default,\n }),\n },\n }\n}\n","import {ThemeColorBase, ThemeColorCardToneKey, ThemeColorMuted} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\n\nexport function createMutedTones(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n name: ThemeColorCardToneKey,\n): ThemeColorMuted {\n return {\n default: {\n enabled: opts.muted({base, dark, tone: 'default', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'default', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'default', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'default', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'default', name, state: 'selected'}),\n },\n transparent: {\n enabled: opts.muted({base, dark, tone: 'transparent', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'transparent', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'transparent', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'transparent', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'transparent', name, state: 'selected'}),\n },\n primary: {\n enabled: opts.muted({base, dark, tone: 'primary', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'primary', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'primary', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'primary', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'primary', name, state: 'selected'}),\n },\n positive: {\n enabled: opts.muted({base, dark, tone: 'positive', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'positive', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'positive', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'positive', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'positive', name, state: 'selected'}),\n },\n caution: {\n enabled: opts.muted({base, dark, tone: 'caution', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'caution', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'caution', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'caution', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'caution', name, state: 'selected'}),\n },\n critical: {\n enabled: opts.muted({base, dark, tone: 'critical', name, state: 'enabled'}),\n disabled: opts.muted({base, dark, tone: 'critical', name, state: 'disabled'}),\n hovered: opts.muted({base, dark, tone: 'critical', name, state: 'hovered'}),\n pressed: opts.muted({base, dark, tone: 'critical', name, state: 'pressed'}),\n selected: opts.muted({base, dark, tone: 'critical', name, state: 'selected'}),\n },\n }\n}\n","import {ThemeColorBase, ThemeColorSpot} from '../../../../system'\nimport {ThemeColorBuilderOpts} from '../factory'\n\nexport function createSpot(\n opts: ThemeColorBuilderOpts,\n base: ThemeColorBase,\n dark: boolean,\n): ThemeColorSpot {\n return {\n gray: opts.spot({base, dark, key: 'gray'}),\n blue: opts.spot({base, dark, key: 'blue'}),\n purple: opts.spot({base, dark, key: 'purple'}),\n magenta: opts.spot({base, dark, key: 'magenta'}),\n red: opts.spot({base, dark, key: 'red'}),\n orange: opts.spot({base, dark, key: 'orange'}),\n yellow: opts.spot({base, dark, key: 'yellow'}),\n green: opts.spot({base, dark, key: 'green'}),\n cyan: opts.spot({base, dark, key: 'cyan'}),\n }\n}\n","import {\n ThemeColorGenericState,\n ThemeColorBase,\n ThemeColorButtonModeKey,\n ThemeColorButtonStates,\n ThemeColorInputState,\n ThemeColorMuted,\n ThemeColorMutedTone,\n ThemeColorSolid,\n ThemeColorSolidTone,\n ThemeColorSyntax,\n ThemeColorName,\n ThemeColorScheme,\n ThemeColorSchemes,\n ThemeColor,\n ThemeColorToneKey,\n ThemeColorSpotKey,\n} from '../../../system'\nimport {createSelectableTones} from './_selectable/createSelectableTones'\nimport {createSolidTones} from './_solid/createSolidTones'\nimport {createButtonModes} from './button/createButtonModes'\nimport {createCardStates} from './card/createCardStates'\nimport {defaultOpts} from './defaults'\nimport {createInputModes} from './input/createInputModes'\nimport {createMutedTones} from './muted/createMuted'\nimport {createSpot} from './spot/createSpot'\n\n/**\n * @public\n * @deprecated Use `buildColorTheme` instead.\n */\nexport interface ThemeColorBuilderOpts {\n base: (opts: {dark: boolean; name: ThemeColorName}) => ThemeColorBase\n solid: (opts: {\n base: ThemeColorBase\n dark: boolean\n tone: ThemeColorToneKey\n name: ThemeColorName\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorGenericState\n muted: (opts: {\n base: ThemeColorBase\n dark: boolean\n tone: ThemeColorToneKey\n name: ThemeColorName\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorGenericState\n card: (opts: {\n base: ThemeColorBase\n dark: boolean\n muted: ThemeColorMuted\n name: ThemeColorName\n solid: ThemeColorSolid\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n }) => ThemeColorGenericState\n button: (opts: {\n dark: boolean\n mode: ThemeColorButtonModeKey\n base: ThemeColorBase\n solid: ThemeColorSolidTone\n muted: ThemeColorMutedTone\n }) => ThemeColorButtonStates\n input: (opts: {\n base: ThemeColorBase\n solid: ThemeColorSolidTone\n muted: ThemeColorMutedTone\n dark: boolean\n mode: 'default' | 'invalid'\n state: 'enabled' | 'disabled' | 'hovered' | 'readOnly'\n }) => ThemeColorInputState\n selectable: (opts: {\n dark: boolean\n base: ThemeColorBase\n solid: ThemeColorSolid\n muted: ThemeColorMuted\n state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'\n tone: 'default' | 'primary' | 'positive' | 'caution' | 'critical'\n }) => ThemeColorGenericState\n syntax: (opts: {base: ThemeColorBase; dark: boolean}) => ThemeColorSyntax\n spot: (opts: {base: ThemeColorBase; dark: boolean; key: ThemeColorSpotKey}) => string\n}\n\n/**\n * @public\n * @deprecated Use `ThemeConfig` instead.\n */\nexport type PartialThemeColorBuilderOpts = Partial<ThemeColorBuilderOpts>\n\n/**\n * @public\n * @deprecated Use `buildColorTheme` instead.\n */\nexport function createColorTheme(\n partialOpts: PartialThemeColorBuilderOpts = {},\n): ThemeColorSchemes {\n const builders: ThemeColorBuilderOpts = {...defaultOpts, ...partialOpts}\n\n return {\n light: _createColorScheme(builders, false),\n dark: _createColorScheme(builders, true),\n }\n}\n\n/**\n * @internal\n */\nfunction _createColorScheme(opts: ThemeColorBuilderOpts, dark: boolean): ThemeColorScheme {\n return {\n default: _createColor(opts, dark, 'default'),\n transparent: _createColor(opts, dark, 'transparent'),\n primary: _createColor(opts, dark, 'primary'),\n positive: _createColor(opts, dark, 'positive'),\n caution: _createColor(opts, dark, 'caution'),\n critical: _createColor(opts, dark, 'critical'),\n }\n}\n\n/**\n * @internal\n */\nfunction _createColor(\n opts: ThemeColorBuilderOpts,\n dark: boolean,\n name: ThemeColorName,\n): ThemeColor {\n const base = opts.base({dark, name})\n const solid = createSolidTones(opts, base, dark, name)\n const muted = createMutedTones(opts, base, dark, name)\n\n return {\n base,\n button: createButtonModes(opts, base, dark, solid, muted),\n card: createCardStates(opts, base, dark, name, solid, muted),\n dark,\n input: createInputModes(opts, base, dark, solid, muted),\n selectable: createSelectableTones(opts, base, dark, solid, muted),\n spot: createSpot(opts, base, dark),\n syntax: opts.syntax({base, dark}),\n solid,\n muted,\n }\n}\n","import {RootTheme_v2} from '../system'\n\nconst BORDER_WIDTH = 1\nconst OUTLINE_WIDTH = 0.5\n\nexport const defaultThemeConfig: Omit<RootTheme_v2, 'color' | 'font'> = {\n _version: 2,\n avatar: {\n sizes: [\n {distance: -4, size: 19},\n {distance: -4, size: 25},\n {distance: -8, size: 33},\n {distance: -12, size: 49},\n ],\n focusRing: {offset: 1, width: 1},\n },\n button: {\n textWeight: 'medium',\n border: {width: BORDER_WIDTH},\n focusRing: {offset: -1, width: 1},\n },\n card: {\n border: {width: BORDER_WIDTH},\n focusRing: {offset: -1, width: 1},\n shadow: {outline: OUTLINE_WIDTH},\n },\n container: [320, 640, 960, 1280, 1600, 1920],\n media: [360, 600, 900, 1200, 1800, 2400],\n layer: {\n dialog: {zOffset: 600},\n popover: {zOffset: 400},\n tooltip: {zOffset: 200},\n },\n radius: [0, 1, 3, 6, 9, 12, 21],\n shadow: [\n null,\n {umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0]},\n {umbra: [0, 3, 5, -2], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 1]},\n {umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4]},\n {umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6]},\n {umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8]},\n ],\n space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],\n input: {\n border: {\n width: BORDER_WIDTH,\n },\n checkbox: {\n size: 17,\n focusRing: {offset: -1, width: 1},\n },\n radio: {\n size: 17,\n markSize: 9,\n focusRing: {offset: -1, width: 1},\n },\n switch: {\n width: 25,\n height: 17,\n padding: 5,\n transitionDurationMs: 150,\n transitionTimingFunction: 'ease-out',\n focusRing: {offset: 1, width: 1},\n },\n select: {\n focusRing: {offset: -1, width: 1},\n },\n text: {\n focusRing: {offset: -1, width: 1},\n },\n },\n style: {\n button: {\n root: {\n transition: 'background-color 100ms,border-color 100ms,color 100ms',\n },\n },\n // card: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n },\n}\n","import {ThemeFonts} from '../system'\n\nexport const defaultThemeFonts: ThemeFonts = {\n code: {\n family: 'ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 19,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 22,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n },\n ],\n },\n heading: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 700,\n medium: 800,\n semibold: 900,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 17,\n lineHeight: 19,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 27,\n iconSize: 41,\n lineHeight: 35,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 9.5,\n descenderHeight: 8.5,\n fontSize: 33,\n iconSize: 49,\n lineHeight: 41,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 10.5,\n descenderHeight: 9.5,\n fontSize: 38,\n iconSize: 53,\n lineHeight: 47,\n letterSpacing: 0,\n },\n ],\n },\n label: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", system-ui, sans-serif',\n weights: {\n regular: 600,\n medium: 700,\n semibold: 800,\n bold: 900,\n },\n sizes: [\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 8.1,\n iconSize: 13,\n lineHeight: 10,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 9.5,\n iconSize: 15,\n lineHeight: 11,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 10.8,\n iconSize: 17,\n lineHeight: 12,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 12.25,\n iconSize: 19,\n lineHeight: 13,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 13.6,\n iconSize: 21,\n lineHeight: 14,\n letterSpacing: 0.5,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 15,\n iconSize: 23,\n lineHeight: 15,\n letterSpacing: 0.5,\n },\n ],\n },\n text: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weights: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n sizes: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 15,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 18,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n },\n ],\n },\n}\n","import {\n ThemeColor,\n ThemeColorGenericState,\n ThemeColorMuted,\n ThemeColorSelectable_v2,\n ThemeColorState_v2,\n ThemeColorCard_v2,\n ThemeColorInputStates,\n ThemeColorInputMode_v2,\n ThemeColorInputState,\n ThemeColorInputState_v2,\n} from '../system'\n\nconst cache = new WeakMap<ThemeColor, ThemeColorCard_v2>()\n\n/** @internal */\nexport function themeColor_v0_v2(color_v0: ThemeColor): ThemeColorCard_v2 {\n const cached_v2 = cache.get(color_v0)\n\n if (cached_v2) return cached_v2\n\n const base = stateThemeColor_v0_v2(color_v0, color_v0.card.enabled)\n\n const color_v2: ThemeColorCard_v2 = {\n _blend: color_v0._blend || (color_v0.dark ? 'screen' : 'multiply'),\n _dark: color_v0.dark,\n accent: base.accent,\n avatar: base.avatar,\n backdrop: color_v0.base.shadow.ambient,\n badge: base.badge,\n bg: color_v0.base.bg,\n border: color_v0.base.border,\n button: {\n default: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.default),\n ghost: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.ghost),\n bleed: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.bleed),\n },\n code: base.code,\n fg: color_v0.base.fg,\n focusRing: color_v0.base.focusRing,\n icon: base.muted.fg,\n input: {\n default: inputStatesThemeColor_v0_v2(color_v0.input.default),\n invalid: inputStatesThemeColor_v0_v2(color_v0.input.invalid),\n },\n kbd: base.kbd,\n link: base.link,\n muted: {\n ...base.muted,\n bg: color_v0.selectable?.default.enabled.bg2 || color_v0.base.bg,\n },\n selectable: stateTonesThemeColor_v0_v2(color_v0, color_v0.selectable || color_v0.muted),\n shadow: color_v0.base.shadow,\n skeleton: {\n from: color_v0.skeleton?.from || color_v0.base.border,\n to: color_v0.skeleton?.to || color_v0.base.border,\n },\n syntax: color_v0.syntax,\n }\n\n cache.set(color_v0, color_v2)\n\n return color_v2\n}\n\nfunction stateTonesThemeColor_v0_v2(\n v0: ThemeColor,\n t: Omit<ThemeColorMuted, 'transparent'>,\n): ThemeColorSelectable_v2 {\n return {\n default: {\n enabled: stateThemeColor_v0_v2(v0, t.default.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.default.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.default.pressed),\n selected: stateThemeColor_v0_v2(v0, t.default.selected),\n disabled: stateThemeColor_v0_v2(v0, t.default.disabled),\n },\n primary: {\n enabled: stateThemeColor_v0_v2(v0, t.primary.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.primary.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.primary.pressed),\n selected: stateThemeColor_v0_v2(v0, t.primary.selected),\n disabled: stateThemeColor_v0_v2(v0, t.primary.disabled),\n },\n positive: {\n enabled: stateThemeColor_v0_v2(v0, t.positive.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.positive.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.positive.pressed),\n selected: stateThemeColor_v0_v2(v0, t.positive.selected),\n disabled: stateThemeColor_v0_v2(v0, t.positive.disabled),\n },\n caution: {\n enabled: stateThemeColor_v0_v2(v0, t.caution.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.caution.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.caution.pressed),\n selected: stateThemeColor_v0_v2(v0, t.caution.selected),\n disabled: stateThemeColor_v0_v2(v0, t.caution.disabled),\n },\n critical: {\n enabled: stateThemeColor_v0_v2(v0, t.critical.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.critical.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.critical.pressed),\n selected: stateThemeColor_v0_v2(v0, t.critical.selected),\n disabled: stateThemeColor_v0_v2(v0, t.critical.disabled),\n },\n }\n}\n\nfunction stateThemeColor_v0_v2(v0: ThemeColor, state: ThemeColorGenericState): ThemeColorState_v2 {\n return {\n ...state,\n avatar: {\n gray: {\n bg: v0.spot.gray,\n fg: v0.base.bg,\n },\n blue: {\n bg: v0.spot.blue,\n fg: v0.base.bg,\n },\n purple: {\n bg: v0.spot.purple,\n fg: v0.base.bg,\n },\n magenta: {\n bg: v0.spot.magenta,\n fg: v0.base.bg,\n },\n red: {\n bg: v0.spot.red,\n fg: v0.base.bg,\n },\n orange: {\n bg: v0.spot.orange,\n fg: v0.base.bg,\n },\n yellow: {\n bg: v0.spot.yellow,\n fg: v0.base.bg,\n },\n green: {\n bg: v0.spot.green,\n fg: v0.base.bg,\n },\n cyan: {\n bg: v0.spot.cyan,\n fg: v0.base.bg,\n },\n },\n badge: {\n default: {\n bg: v0.muted.default.enabled.bg,\n fg: v0.muted.default.enabled.fg,\n dot: v0.muted.default.enabled.muted.fg,\n icon: v0.muted.default.enabled.muted.fg,\n },\n primary: {\n bg: v0.muted.primary.enabled.bg,\n fg: v0.muted.primary.enabled.fg,\n dot: v0.muted.primary.enabled.muted.fg,\n icon: v0.muted.primary.enabled.muted.fg,\n },\n positive: {\n bg: v0.muted.positive.enabled.bg,\n fg: v0.muted.positive.enabled.fg,\n dot: v0.muted.positive.enabled.muted.fg,\n icon: v0.muted.positive.enabled.muted.fg,\n },\n caution: {\n bg: v0.muted.caution.enabled.bg,\n fg: v0.muted.caution.enabled.fg,\n dot: v0.muted.caution.enabled.muted.fg,\n icon: v0.muted.caution.enabled.muted.fg,\n },\n critical: {\n bg: v0.muted.critical.enabled.bg,\n fg: v0.muted.critical.enabled.fg,\n dot: v0.muted.critical.enabled.muted.fg,\n icon: v0.muted.critical.enabled.muted.fg,\n },\n },\n kbd: {\n bg: v0.muted.default.enabled.bg,\n fg: v0.muted.default.enabled.fg,\n border: v0.muted.default.enabled.border,\n },\n muted: {\n ...v0.muted.default.enabled.muted,\n bg: state.bg2 || state.bg,\n },\n skeleton: {\n from: state.skeleton?.from || state.border,\n to: state.skeleton?.to || state.border,\n },\n }\n}\n\nfunction inputStatesThemeColor_v0_v2(states: ThemeColorInputStates): ThemeColorInputMode_v2 {\n return {\n enabled: inputStateThemeColor_v0_v2(states.enabled),\n disabled: inputStateThemeColor_v0_v2(states.disabled),\n readOnly: inputStateThemeColor_v0_v2(states.readOnly),\n hovered: inputStateThemeColor_v0_v2(states.hovered),\n }\n}\n\nfunction inputStateThemeColor_v0_v2(state: ThemeColorInputState): ThemeColorInputState_v2 {\n return {\n bg: state.bg,\n border: state.border,\n fg: state.fg,\n muted: {\n bg: state.bg2,\n },\n placeholder: state.placeholder,\n }\n}\n","import {defaultThemeConfig} from '../defaults/config'\nimport {Theme, Theme_v2} from '../system'\nimport {themeColor_v0_v2} from './themeColor_v0_v2'\n\nconst cache = new WeakMap<Theme, Theme_v2>()\n\n/** @public */\nexport function getTheme_v2(theme: Theme): Theme_v2 {\n if (theme.sanity.v2?._resolved) return theme.sanity.v2\n\n const cached_v2 = cache.get(theme)\n\n if (cached_v2) return cached_v2\n\n const v2: Theme_v2 = {\n _version: 2,\n _resolved: true,\n avatar: {\n ...defaultThemeConfig.avatar,\n ...theme.sanity.avatar,\n },\n button: {\n ...defaultThemeConfig.button,\n ...theme.sanity.button,\n },\n card: defaultThemeConfig.card,\n color: themeColor_v0_v2(theme.sanity.color),\n container: theme.sanity.container,\n font: theme.sanity.fonts,\n input: {\n ...defaultThemeConfig.input,\n ...theme.sanity.input,\n checkbox: {\n ...defaultThemeConfig.input.checkbox,\n ...theme.sanity.input.checkbox,\n },\n radio: {\n ...defaultThemeConfig.input.radio,\n ...theme.sanity.input.radio,\n },\n switch: {\n ...defaultThemeConfig.input.switch,\n ...theme.sanity.input.switch,\n },\n },\n layer: theme.sanity.layer ?? defaultThemeConfig.layer,\n media: theme.sanity.media,\n radius: theme.sanity.radius,\n shadow: theme.sanity.shadows,\n space: theme.sanity.space,\n style: theme.sanity.styles,\n }\n\n cache.set(theme, v2)\n\n return v2\n}\n","import {RootTheme, RootTheme_v2} from '../system'\n\n/** @internal */\nexport function is_v0(themeProp: RootTheme | RootTheme_v2): themeProp is RootTheme {\n return themeProp._version === 0\n}\n","import {RootTheme, RootTheme_v2} from '../system'\n\n/** @internal */\nexport function is_v2(themeProp: RootTheme | RootTheme_v2): themeProp is RootTheme_v2 {\n return themeProp._version === 2\n}\n","import {defaultThemeConfig} from '../defaults/config'\nimport {RootTheme, RootTheme_v2} from '../system'\nimport {themeColor_v0_v2} from './themeColor_v0_v2'\n\nconst cache = new WeakMap<RootTheme, RootTheme_v2>()\n\n/** @internal */\nexport function v0_v2(v0: RootTheme): RootTheme_v2 {\n if (v0.v2) return v0.v2\n\n const cached_v2 = cache.get(v0)\n\n if (cached_v2) return cached_v2\n\n const {\n avatar,\n button,\n color,\n container,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusRing: _unused_focusRing,\n fonts: font,\n input,\n layer,\n media,\n radius,\n shadows: shadow,\n space,\n styles: style,\n } = v0\n\n const v2: RootTheme_v2 = {\n _version: 2,\n avatar: {\n ...defaultThemeConfig.avatar,\n ...avatar,\n },\n button: {\n ...defaultThemeConfig.button,\n ...button,\n },\n card: defaultThemeConfig.card,\n color: {\n light: {\n transparent: themeColor_v0_v2(color.light.transparent),\n default: themeColor_v0_v2(color.light.default),\n primary: themeColor_v0_v2(color.light.primary),\n positive: themeColor_v0_v2(color.light.positive),\n caution: themeColor_v0_v2(color.light.caution),\n critical: themeColor_v0_v2(color.light.critical),\n },\n dark: {\n transparent: themeColor_v0_v2(color.dark.transparent),\n default: themeColor_v0_v2(color.dark.default),\n primary: themeColor_v0_v2(color.dark.primary),\n positive: themeColor_v0_v2(color.dark.positive),\n caution: themeColor_v0_v2(color.dark.caution),\n critical: themeColor_v0_v2(color.dark.critical),\n },\n },\n container,\n font,\n input: {\n ...defaultThemeConfig.input,\n ...input,\n checkbox: {\n ...defaultThemeConfig.input.checkbox,\n ...input.checkbox,\n },\n radio: {\n ...defaultThemeConfig.input.radio,\n ...input.radio,\n },\n switch: {\n ...defaultThemeConfig.input.switch,\n ...input.switch,\n },\n },\n layer: layer ?? defaultThemeConfig.layer,\n media,\n radius,\n shadow,\n space,\n style,\n }\n\n cache.set(v0, v2)\n\n return v2\n}\n","import {\n RootTheme,\n RootTheme_v2,\n ThemeColor,\n ThemeColorCard_v2,\n ThemeColorInputMode_v2,\n ThemeColorInputState,\n ThemeColorInputState_v2,\n ThemeColorInputStates,\n} from '../system'\n\nconst cache = new WeakMap<RootTheme_v2, RootTheme>()\n\n/** @internal */\nexport function v2_v0(v2: RootTheme_v2): RootTheme {\n const cachedTheme = cache.get(v2)\n\n if (cachedTheme) return cachedTheme\n\n const {\n avatar,\n button,\n color,\n container,\n font: fonts,\n input,\n media,\n radius,\n shadow: shadows,\n space,\n style: styles,\n } = v2\n\n return {\n _version: 0,\n avatar,\n button,\n container,\n color: {\n light: {\n transparent: themeColor_v2_v0(color.light.transparent),\n default: themeColor_v2_v0(color.light.default),\n primary: themeColor_v2_v0(color.light.primary),\n positive: themeColor_v2_v0(color.light.positive),\n caution: themeColor_v2_v0(color.light.caution),\n critical: themeColor_v2_v0(color.light.critical),\n },\n dark: {\n transparent: themeColor_v2_v0(color.dark.transparent),\n default: themeColor_v2_v0(color.dark.default),\n primary: themeColor_v2_v0(color.dark.primary),\n positive: themeColor_v2_v0(color.dark.positive),\n caution: themeColor_v2_v0(color.dark.caution),\n critical: themeColor_v2_v0(color.dark.critical),\n },\n },\n focusRing: input.text.focusRing,\n fonts,\n input,\n media,\n radius,\n shadows,\n space,\n styles,\n\n v2,\n }\n}\n\nfunction themeColor_v2_v0(color_v2: ThemeColorCard_v2): ThemeColor {\n return {\n base: {\n bg: color_v2.bg,\n fg: color_v2.fg,\n border: color_v2.border,\n focusRing: color_v2.focusRing,\n shadow: color_v2.shadow,\n },\n button: color_v2.button,\n card: color_v2.selectable.default,\n dark: color_v2._dark,\n input: {\n default: inputStatesThemeColor_v2_v0(color_v2.input.default),\n invalid: inputStatesThemeColor_v2_v0(color_v2.input.invalid),\n },\n muted: {\n ...color_v2.button.ghost,\n transparent: color_v2.button.ghost.default,\n },\n solid: {\n ...color_v2.button.default,\n transparent: color_v2.button.default.default,\n },\n selectable: color_v2.selectable,\n spot: {\n gray: color_v2.avatar.gray.bg,\n blue: color_v2.avatar.blue.bg,\n purple: color_v2.avatar.purple.bg,\n magenta: color_v2.avatar.magenta.bg,\n red: color_v2.avatar.red.bg,\n orange: color_v2.avatar.orange.bg,\n yellow: color_v2.avatar.yellow.bg,\n green: color_v2.avatar.green.bg,\n cyan: color_v2.avatar.cyan.bg,\n },\n syntax: color_v2.syntax,\n }\n}\n\nfunction inputStatesThemeColor_v2_v0(t: ThemeColorInputMode_v2): ThemeColorInputStates {\n return {\n enabled: inputStateThemeColor_v2_v0(t.enabled),\n disabled: inputStateThemeColor_v2_v0(t.disabled),\n readOnly: inputStateThemeColor_v2_v0(t.readOnly),\n hovered: inputStateThemeColor_v2_v0(t.hovered),\n }\n}\n\nfunction inputStateThemeColor_v2_v0(t: ThemeColorInputState_v2): ThemeColorInputState {\n return {\n bg: t.bg,\n bg2: t.muted.bg,\n border: t.border,\n fg: t.fg,\n placeholder: t.placeholder,\n }\n}\n","import {COLOR_HUES} from '@sanity/color'\n\n/** @public */\nexport const THEME_COLOR_SCHEMES = ['light', 'dark'] as const\n\n/** @public */\nexport const THEME_COLOR_BLEND_MODES = ['multiply', 'screen'] as const\n\n/** @public */\nexport const THEME_COLOR_CARD_TONES = [\n 'transparent',\n 'default',\n 'primary',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const THEME_COLOR_STATE_TONES = [\n 'default',\n 'primary',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const THEME_COLOR_STATES = ['enabled', 'hovered', 'pressed', 'selected', 'disabled'] as const\n\n/** @public */\nexport const THEME_COLOR_BUTTON_MODES = ['default', 'ghost', 'bleed'] as const\n\n/** @public */\nexport const THEME_COLOR_INPUT_MODES = ['default', 'invalid'] as const\n\n/** @public */\nexport const THEME_COLOR_INPUT_STATES = ['enabled', 'hovered', 'readOnly', 'disabled'] as const\n\n/** @public */\nexport const THEME_COLOR_AVATAR_COLORS = COLOR_HUES\n","import {COLOR_HUES, COLOR_TINTS, ColorHueKey, ColorTintKey} from '@sanity/color'\nimport {THEME_COLOR_BLEND_MODES, THEME_COLOR_BUTTON_MODES} from './_constants'\nimport {ThemeColorBlendModeKey, ThemeColorButtonModeKey} from './_system'\n\n/** @internal */\nexport function isColorBlendModeValue(str: string): str is ThemeColorBlendModeKey {\n return THEME_COLOR_BLEND_MODES.includes(str as ThemeColorBlendModeKey)\n}\n\n/** @internal */\nexport function isColorHueKey(str: string): str is ColorHueKey {\n return COLOR_HUES.includes(str as ColorHueKey)\n}\n\n/** @internal */\nexport function isColorTintKey(str: string): str is ColorTintKey {\n return COLOR_TINTS.includes(str as ColorTintKey)\n}\n\n/** @internal */\nexport function isColorButtonMode(str: string): str is ThemeColorButtonModeKey {\n return THEME_COLOR_BUTTON_MODES.includes(str as ThemeColorButtonModeKey)\n}\n","import {ColorHueKey, ColorTintKey} from '@sanity/color'\nimport {\n THEME_COLOR_AVATAR_COLORS,\n THEME_COLOR_CARD_TONES,\n THEME_COLOR_INPUT_MODES,\n THEME_COLOR_INPUT_STATES,\n THEME_COLOR_STATES,\n THEME_COLOR_STATE_TONES,\n ThemeColorBlendModeKey,\n} from '../system'\n\n/** @public */\nexport const COLOR_CONFIG_STATE_KEYS = [\n '_hue',\n 'bg',\n 'fg',\n 'border',\n 'focusRing',\n 'muted/fg',\n 'accent/fg',\n 'link/fg',\n 'code/bg',\n 'code/fg',\n 'skeleton/from',\n 'skeleton/to',\n 'status/dot',\n 'status/icon',\n] as const\n\n/** @public */\nexport type ColorConfigStateKey = (typeof COLOR_CONFIG_STATE_KEYS)[number]\n\n/** @public */\nexport const COLOR_CONFIG_CARD_KEYS = [\n ...COLOR_CONFIG_STATE_KEYS,\n '_hue',\n 'bg',\n 'fg',\n 'border',\n 'focusRing',\n 'shadow/outline',\n 'shadow/umbra',\n 'shadow/penumbra',\n 'shadow/ambient',\n] as const\n\n/** @public */\nexport type ColorConfigCardKey = (typeof COLOR_CONFIG_CARD_KEYS)[number]\n\n/** @public */\nexport const COLOR_CONFIG_BLEND_KEYS = ['_blend'] as const\n\n/** @public */\nexport type ColorConfigBlendKey = (typeof COLOR_CONFIG_BLEND_KEYS)[number]\n\n/** @public */\nexport type ColorConfigOpacityValue = `0` | `0.${number}` | `1`\n\n/** @public */\nexport type ColorConfigValue =\n | `black`\n | `white`\n | `black/${ColorConfigOpacityValue}`\n | `white/${ColorConfigOpacityValue}`\n | `${ColorHueKey}`\n | `${ColorHueKey} ${number}%`\n | `${ColorHueKey}/${ColorTintKey}`\n | `${ColorHueKey}/${ColorTintKey} ${number}%`\n | `${ColorHueKey}/${ColorTintKey}/${ColorConfigOpacityValue}`\n | `${ColorTintKey}`\n | `${ColorTintKey} ${number}%`\n | `${ColorTintKey}/${ColorConfigOpacityValue}`\n\n/** @public */\nexport type ThemeColorTokenValue = [ColorConfigValue, ColorConfigValue]\n\n/** @public */\nexport type ColorBlendModeTokenValue = [ThemeColorBlendModeKey, ThemeColorBlendModeKey]\n\n/** @public */\nexport const COLOR_CONFIG_AVATAR_COLORS = ['*', ...THEME_COLOR_AVATAR_COLORS] as const\n\n/** @public */\nexport type ColorConfigAvatarColor = (typeof COLOR_CONFIG_AVATAR_COLORS)[number]\n\n/** @public */\nexport const COLOR_CONFIG_CARD_TONES = ['*', ...THEME_COLOR_CARD_TONES] as const\n\n/** @public */\nexport type ColorConfigCardTone = (typeof COLOR_CONFIG_CARD_TONES)[number]\n\n/** @public */\nexport const COLOR_CONFIG_STATE_TONES = ['*', ...THEME_COLOR_STATE_TONES] as const\n\n/** @public */\nexport type ColorConfigStateTone = (typeof COLOR_CONFIG_STATE_TONES)[number]\n\n/** @public */\nexport const COLOR_CONFIG_STATES = ['*', ...THEME_COLOR_STATES] as const\n\n/** @public */\nexport type ColorConfigState = (typeof COLOR_CONFIG_STATES)[number]\n\n/** @public */\nexport const COLOR_CONFIG_INPUT_MODES = ['*', ...THEME_COLOR_INPUT_MODES] as const\n\n/** @public */\nexport type ColorConfigInputMode = (typeof COLOR_CONFIG_INPUT_MODES)[number]\n\n/** @public */\nexport const COLOR_CONFIG_INPUT_STATES = ['*', ...THEME_COLOR_INPUT_STATES] as const\n\n/** @public */\nexport type ColorConfigInputState = (typeof COLOR_CONFIG_INPUT_STATES)[number]\n","import {isColorButtonMode} from '../../system'\nimport {\n isColorConfigBaseKey,\n isColorConfigBaseTone,\n isColorConfigBlendKey,\n isColorConfigStateKey,\n isColorConfigStateTone,\n} from '../helpers'\nimport {TokenKeyNode} from './types'\n\n/** @internal */\nexport function parseTokenKey(str: string): TokenKeyNode | undefined {\n const segments = str.split('/')\n const segment0 = segments.shift() || ''\n\n if (isColorConfigBaseTone(segment0)) {\n const key = segments.join('/')\n\n if (isColorConfigBaseKey(key)) {\n return {\n type: 'base',\n tone: segment0,\n key,\n }\n }\n\n if (isColorConfigBlendKey(key)) {\n return {\n type: 'base',\n tone: segment0,\n key,\n }\n }\n }\n\n if (segment0 === 'button') {\n const segment1 = segments.shift() || ''\n\n if (isColorConfigStateTone(segment1)) {\n const segment2 = segments.shift() || ''\n\n if (isColorButtonMode(segment2)) {\n const key = segments.join('/')\n\n if (isColorConfigStateKey(key)) {\n return {\n type: 'button',\n tone: segment1,\n mode: segment2,\n key,\n }\n }\n\n if (isColorConfigBlendKey(key)) {\n return {\n type: 'button',\n tone: segment1,\n mode: segment2,\n key,\n }\n }\n }\n }\n }\n\n return undefined\n}\n","import {isColorBlendModeValue, isColorHueKey, isColorTintKey} from '../../system'\nimport {isColorOpacityValue, isColorValue} from '../helpers'\nimport {TokenValueNode} from './types'\n\nfunction isColorMixPercentValue(str: string): str is `${number}%` {\n return /^\\d+%$/.test(str)\n}\n\n/** @internal */\nexport function parseTokenValue(str: string): TokenValueNode | undefined {\n const segments = str.split('/')\n\n let nextSegment = segments.shift() || ''\n\n const [segment0, segment0mix] = nextSegment.split(' ')\n\n if (isColorTintKey(segment0)) {\n const tint = segment0\n const segment1 = segments.shift() || ''\n\n if (isColorMixPercentValue(segment0mix)) {\n const mix = Number(segment0mix.slice(0, -1)) / 100\n\n return {\n type: 'color',\n tint,\n mix,\n }\n }\n\n if (isColorOpacityValue(segment1)) {\n const opacity = Number(segment1)\n\n return {\n type: 'color',\n tint,\n opacity,\n }\n }\n\n return {\n type: 'color',\n tint,\n }\n }\n\n if (isColorValue(segment0)) {\n const key = segment0 as 'black' | 'white'\n const segment1 = segments.shift() || ''\n\n if (isColorMixPercentValue(segment0mix)) {\n const mix = Number(segment0mix.slice(0, -1)) / 100\n\n return {\n type: 'color',\n key,\n mix,\n }\n }\n\n if (isColorOpacityValue(segment1)) {\n const opacity = Number(segment1)\n\n return {\n type: 'color',\n key,\n opacity,\n }\n }\n\n return {\n type: 'color',\n key,\n }\n }\n\n if (isColorHueKey(segment0)) {\n const hue = segment0\n\n nextSegment = segments.shift() || ''\n\n const [segment1, segment1mix] = nextSegment.split(' ')\n\n if (isColorTintKey(segment1)) {\n const tint = segment1\n const segment2 = segments.shift() || ''\n\n if (isColorMixPercentValue(segment1mix)) {\n const mix = Number(segment1mix.slice(0, -1)) / 100\n\n return {\n type: 'color',\n hue,\n tint,\n mix,\n }\n }\n\n if (isColorOpacityValue(segment2)) {\n const opacity = Number(segment2)\n\n return {\n type: 'color',\n hue,\n tint,\n opacity,\n }\n }\n\n return {\n type: 'color',\n hue,\n tint,\n }\n }\n\n return {\n type: 'hue',\n value: hue,\n }\n }\n\n if (isColorBlendModeValue(segment0)) {\n const value = segment0\n\n return {\n type: 'blendMode',\n value,\n }\n }\n\n return undefined\n}\n","import {\n COLOR_CONFIG_CARD_KEYS,\n COLOR_CONFIG_CARD_TONES,\n COLOR_CONFIG_BLEND_KEYS,\n COLOR_CONFIG_STATE_KEYS,\n COLOR_CONFIG_STATE_TONES,\n ColorConfigCardKey,\n ColorConfigCardTone,\n ColorConfigBlendKey,\n ColorConfigOpacityValue,\n ColorConfigStateKey,\n ColorConfigStateTone,\n ColorConfigValue,\n} from './system'\nimport {parseTokenValue} from './tokens'\n\n/** @internal */\nexport function isColorConfigBaseTone(str: string): str is ColorConfigCardTone {\n return COLOR_CONFIG_CARD_TONES.includes(str as ColorConfigCardTone)\n}\n\n/** @internal */\nexport function isColorConfigBaseKey(str: string): str is ColorConfigCardKey {\n return COLOR_CONFIG_CARD_KEYS.includes(str as ColorConfigCardKey)\n}\n\n/** @internal */\nexport function isColorConfigStateKey(str: string): str is ColorConfigStateKey {\n return COLOR_CONFIG_STATE_KEYS.includes(str as ColorConfigStateKey)\n}\n\n/** @internal */\nexport function isColorConfigStateTone(str: string): str is ColorConfigStateTone {\n return COLOR_CONFIG_STATE_TONES.includes(str as ColorConfigStateTone)\n}\n\n/** @internal */\nexport function isColorConfigBlendKey(str: string): str is ColorConfigBlendKey {\n return COLOR_CONFIG_BLEND_KEYS.includes(str as ColorConfigBlendKey)\n}\n\n/** @internal */\nexport function isColorTokenValue(str: string): str is ColorConfigValue {\n return parseTokenValue(str)?.type === 'color' || parseTokenValue(str)?.type === 'hue'\n}\n\n/** @internal */\nexport function isColorValue(str: string): str is 'black' | 'white' {\n return str === 'black' || str === 'white'\n}\n\n/** @internal */\nexport function isColorOpacityValue(str: string): str is ColorConfigOpacityValue {\n return str === '0' || /^0\\.[0-9]+$/.test(str) || str === '1'\n}\n","import {TokenColorValueNode} from '../../config'\n\nexport function compileColorTokenValue(node: TokenColorValueNode): string {\n let key = ''\n\n if (node.key === 'black' || node.key === 'white') {\n key = node.key\n } else {\n key = `${node.hue}/${node.tint}`\n }\n\n if (node.mix !== undefined) {\n return `${key} ${node.mix * 100}%`\n }\n\n if (node.opacity !== undefined) {\n key += `/${node.opacity}`\n }\n\n return key\n}\n","import {ThemeColorTokenValue, parseTokenValue} from '../../config'\nimport {compileColorTokenValue} from './compileColorToken'\nimport {ColorTokenContext} from './types'\n\nconst DEFAULT_COLOR_TOKEN_VALUE: ThemeColorTokenValue = ['500', '500']\n\nexport function resolveColorTokenValue(\n context: ColorTokenContext,\n value: ThemeColorTokenValue = DEFAULT_COLOR_TOKEN_VALUE,\n): string {\n const {hue, scheme} = context\n const node = parseTokenValue(value[scheme === 'light' ? 0 : 1])\n\n if (!node || node.type !== 'color') {\n throw new Error(`Invalid color token: ${value[0]}`)\n }\n\n return compileColorTokenValue({...node, hue: node.hue || hue})\n}\n","import {ThemeColorTokens} from '../config'\n\nexport const defaultColorTokens: ThemeColorTokens = {\n base: {\n '*': {\n _blend: ['multiply', 'screen'],\n accent: {\n fg: ['purple/600', 'purple/400'],\n },\n avatar: {\n '*': {\n _blend: ['screen', 'multiply'],\n bg: ['500', '400'],\n fg: ['white', 'black'],\n },\n },\n backdrop: ['gray/200/0.5', 'black/0.5'],\n badge: {\n '*': {\n bg: ['100', '900'],\n fg: ['600', '400'],\n icon: ['500', '500'],\n dot: ['500', '500'],\n },\n positive: {\n bg: ['200 50%', '900'],\n fg: ['600', '500'],\n },\n caution: {\n bg: ['200 50%', '900'],\n fg: ['600', '500'],\n },\n },\n bg: ['50', '950'],\n border: ['200', '800'],\n code: {\n bg: ['50', '950'],\n fg: ['600', '400'],\n },\n fg: ['800', '200'],\n focusRing: ['blue/500', 'blue/500'],\n icon: ['600', '400'],\n kbd: {\n bg: ['white', 'black'],\n fg: ['600', '400'],\n border: ['200', '800'],\n },\n link: {\n fg: ['blue/600', 'blue/300'],\n },\n muted: {\n bg: ['50', '950'],\n fg: ['700 75%', '300 75%'],\n },\n shadow: {\n outline: ['500/0.3', '500/0.4'],\n umbra: ['gray/500/0.1', 'black/0.2'],\n penumbra: ['gray/500/0.07', 'black/0.14'],\n ambient: ['gray/500/0.06', 'black/0.12'],\n },\n skeleton: {\n from: ['100', '900'],\n to: ['100 50%', '900 50%'],\n },\n },\n transparent: {\n bg: ['50', 'black'],\n },\n default: {\n bg: ['white', '950'],\n fg: ['800', '200'],\n muted: {\n fg: ['600', '400'],\n },\n },\n primary: {_hue: 'blue'},\n positive: {\n _hue: 'green',\n shadow: {outline: ['500/0.4', '500/0.4']},\n },\n caution: {\n _hue: 'yellow',\n shadow: {outline: ['600/0.3', '500/0.4']},\n },\n critical: {_hue: 'red'},\n },\n button: {\n default: {\n '*': {\n '*': {\n _blend: ['screen', 'multiply'],\n accent: {\n fg: ['purple/300', 'purple/700'],\n },\n avatar: {\n '*': {\n _blend: ['multiply', 'screen'],\n bg: ['white', 'black'],\n fg: ['black', 'white'],\n },\n },\n badge: {\n '*': {\n bg: ['900', '100'],\n fg: ['400', '600'],\n dot: ['500', '500'],\n icon: ['500', '500'],\n },\n },\n bg: ['500', '400'],\n border: ['500/0', '400/0'],\n code: {\n bg: ['500 20%', '400 20%'],\n fg: ['200', '600'],\n },\n fg: ['white', 'black'],\n icon: ['100 70%', '900 70%'],\n kbd: {\n bg: ['black', 'white'],\n fg: ['200', '600'],\n border: ['800', '200'],\n },\n link: {\n fg: ['blue/200', 'blue/600'],\n },\n muted: {\n bg: ['950', '50'],\n fg: ['100 70%', '900 70%'],\n },\n skeleton: {\n from: ['900', '100'],\n to: ['900 50%', '100 50%'],\n },\n },\n hovered: {\n bg: ['700', '300'],\n border: ['700/0', '300/0'],\n },\n pressed: {\n bg: ['700', '300'],\n },\n selected: {\n bg: ['700', '300'],\n },\n disabled: {\n _hue: 'gray',\n accent: {\n fg: ['100 70%', '900 70%'],\n },\n badge: {\n '*': {\n bg: ['gray/700', 'gray/300'],\n fg: ['white', 'black'],\n dot: ['white', 'black'],\n icon: ['white', 'black'],\n },\n },\n bg: ['200', '800'],\n kbd: {\n bg: ['black', 'white'],\n fg: ['white', 'black'],\n border: ['700', '300'],\n },\n link: {\n fg: ['100 70%', '900 70%'],\n },\n },\n },\n default: {\n '*': {\n bg: ['800', '200'],\n muted: {\n bg: ['950', '50'],\n fg: ['400', '600'],\n },\n },\n hovered: {\n bg: ['900', '100'],\n },\n pressed: {\n bg: ['black', 'white'],\n },\n selected: {\n bg: ['black', 'white'],\n },\n },\n },\n ghost: {\n '*': {\n '*': {\n _blend: ['multiply', 'screen'],\n accent: {\n fg: ['purple/700 60%', 'purple/300 70%'],\n },\n badge: {\n '*': {\n bg: ['100', '900'],\n fg: ['600', '400'],\n dot: ['500', '500'],\n icon: ['500', '500'],\n },\n },\n bg: ['50', '950'],\n border: ['100', '900'],\n code: {\n bg: ['500 10%', '400 10%'],\n fg: ['700 60%', '400 60%'],\n },\n fg: ['600', '400'],\n icon: ['700 60%', '300 60%'],\n kbd: {\n bg: ['white', 'black'],\n fg: ['600', '400'],\n border: ['200', '800'],\n },\n link: {\n fg: ['blue/700 60%', 'blue/300 60%'],\n },\n muted: {\n bg: ['100', '950'],\n fg: ['700 60%', '300 60%'],\n },\n skeleton: {\n from: ['100', '900'],\n to: ['100 50%', '900 50%'],\n },\n },\n hovered: {\n bg: ['100', '900'],\n fg: ['700', '300'],\n },\n pressed: {\n bg: ['100', '900'],\n fg: ['800', '200'],\n },\n selected: {\n bg: ['100', '900'],\n fg: ['800', '200'],\n },\n disabled: {\n _hue: 'gray',\n accent: {\n fg: ['200', '800'],\n },\n badge: {\n '*': {\n _hue: 'gray',\n bg: ['50', '950'],\n fg: ['gray/200', 'gray/800'],\n dot: ['gray/200', 'gray/800'],\n icon: ['gray/200', 'gray/800'],\n },\n },\n border: ['100', '900'],\n code: {\n bg: ['50', '950'],\n fg: ['200', '800'],\n },\n fg: ['200', '800'],\n icon: ['200', '800'],\n kbd: {\n bg: ['white', 'black'],\n fg: ['200', '800'],\n border: ['100', '900'],\n },\n link: {\n fg: ['200', '800'],\n },\n muted: {\n fg: ['200', '800'],\n },\n },\n },\n positive: {\n '*': {\n border: ['600 20%', '800'],\n },\n },\n caution: {\n '*': {\n border: ['600 20%', '800'],\n },\n },\n },\n bleed: {\n '*': {\n '*': {\n _blend: ['multiply', 'screen'],\n accent: {\n fg: ['purple/700 70%', 'purple/300 70%'],\n },\n badge: {\n '*': {\n bg: ['100', '900'],\n fg: ['600', '400'],\n dot: ['500', '500'],\n icon: ['500', '500'],\n },\n },\n bg: ['white', 'black'],\n border: ['white/0', 'black/0'],\n code: {\n bg: ['50', '950'],\n fg: ['700 75%', '300 75%'],\n },\n fg: ['700', '300'],\n icon: ['700 75%', '300 75%'],\n kbd: {\n bg: ['white', 'black'],\n fg: ['700', '300'],\n border: ['200', '800'],\n },\n link: {\n fg: ['blue/700 70%', 'blue/300 70%'],\n },\n muted: {\n bg: ['100', '950'],\n fg: ['700 75%', '300 75%'],\n },\n skeleton: {\n from: ['100', '900'],\n to: ['100 50%', '900 50%'],\n },\n },\n hovered: {\n bg: ['50', '950'],\n icon: ['700 70%', '400 70%'],\n },\n pressed: {\n bg: ['100', '900'],\n fg: ['800', '200'],\n icon: ['800 70%', '200 70%'],\n },\n selected: {\n bg: ['100', '900'],\n fg: ['800', '200'],\n icon: ['800 60%', '200 60%'],\n },\n disabled: {\n _hue: 'gray',\n accent: {\n fg: ['200', '800'],\n },\n badge: {\n '*': {\n _hue: 'gray',\n bg: ['50', '950'],\n fg: ['gray/200', 'gray/800'],\n dot: ['gray/200', 'gray/800'],\n icon: ['gray/200', 'gray/800'],\n },\n },\n code: {\n bg: ['50', '950'],\n fg: ['200', '800'],\n },\n fg: ['200', '800'],\n icon: ['200', '800'],\n kbd: {\n bg: ['white', 'black'],\n fg: ['200', '800'],\n border: ['100', '900'],\n },\n link: {\n fg: ['200', '800'],\n },\n muted: {\n fg: ['200', '800'],\n },\n },\n },\n },\n },\n input: {\n '*': {\n '*': {\n _blend: ['multiply', 'screen'],\n bg: ['white', 'black'],\n border: ['200', '800'],\n fg: ['black', '200'],\n muted: {\n bg: ['50', '950'],\n },\n placeholder: ['400', '600 50%'],\n },\n hovered: {\n border: ['300', '700'],\n },\n readOnly: {\n bg: ['50', '950'],\n border: ['200', '800'],\n fg: ['800', '200'],\n },\n disabled: {\n fg: ['200', '800'],\n border: ['100', '900'],\n },\n },\n invalid: {\n '*': {\n _hue: 'red',\n bg: ['100', '950'],\n },\n },\n },\n selectable: {\n '*': {\n '*': {\n _blend: ['multiply', 'screen'],\n accent: {\n fg: ['purple/700 70%', 'purple/300 70%'],\n },\n badge: {\n '*': {\n bg: ['100', '900'],\n fg: ['600', '400'],\n dot: ['500', '500'],\n icon: ['500', '500'],\n },\n },\n bg: ['white', 'black'],\n border: ['200', '800'],\n code: {\n bg: ['50', '950'],\n fg: ['600', '400'],\n },\n fg: ['700', '300'],\n icon: ['700 75%', '300 75%'],\n kbd: {\n bg: ['white', 'black'],\n fg: ['600', '400'],\n border: ['200', '800'],\n },\n link: {\n fg: ['blue/700 70%', 'blue/300 70%'],\n },\n muted: {\n bg: ['100', '950'],\n fg: ['700 75%', '300 75%'],\n },\n skeleton: {\n from: ['100', '900'],\n to: ['100 50%', '900 50%'],\n },\n },\n hovered: {\n bg: ['50', '950'],\n },\n pressed: {\n bg: ['100', '900'],\n },\n selected: {\n _blend: ['screen', 'multiply'],\n accent: {\n fg: ['purple/300', 'purple/700'],\n },\n avatar: {\n '*': {\n _blend: ['multiply', 'screen'],\n bg: ['white', 'black'],\n fg: ['black', 'white'],\n },\n },\n badge: {\n '*': {\n bg: ['900', '100'],\n fg: ['400', '600'],\n dot: ['500', '500'],\n icon: ['500', '500'],\n },\n },\n bg: ['500', '400'],\n border: ['500 20%', '400 20%'],\n code: {\n bg: ['500 20%', '400 20%'],\n fg: ['200', '600'],\n },\n fg: ['white', 'black'],\n icon: ['100 70%', '900 70%'],\n kbd: {\n bg: ['black', 'white'],\n fg: ['200', '600'],\n border: ['800', '200'],\n },\n link: {\n fg: ['blue/200', 'blue/600'],\n },\n muted: {\n bg: ['950', '50'],\n fg: ['100 70%', '900 70%'],\n },\n skeleton: {\n from: ['900', '100'],\n to: ['900 50%', '100 50%'],\n },\n },\n disabled: {\n _hue: 'gray',\n accent: {\n fg: ['200', '800'],\n },\n badge: {\n '*': {\n _hue: 'gray',\n bg: ['50', '950'],\n fg: ['gray/200', 'gray/800'],\n dot: ['gray/200', 'gray/800'],\n icon: ['gray/200', 'gray/800'],\n },\n },\n border: ['100', '900'],\n code: {\n bg: ['50', '950'],\n fg: ['200', '800'],\n },\n fg: ['200', '800'],\n icon: ['200', '800'],\n kbd: {\n bg: ['white', 'black'],\n fg: ['200', '800'],\n border: ['100', '900'],\n },\n link: {\n fg: ['200', '800'],\n },\n muted: {\n fg: ['200', '800'],\n },\n },\n },\n default: {\n selected: {\n _hue: 'blue',\n },\n },\n critical: {\n disabled: {\n bg: ['50 50%', '950 50%'],\n },\n },\n },\n syntax: {\n atrule: ['purple/600', 'purple/400'],\n attrName: ['green/600', 'green/400'],\n attrValue: ['yellow/600', 'yellow/400'],\n attribute: ['yellow/600', 'yellow/400'],\n boolean: ['purple/600', 'purple/400'],\n builtin: ['purple/600', 'purple/400'],\n cdata: ['yellow/600', 'yellow/400'],\n char: ['yellow/600', 'yellow/400'],\n class: ['orange/600', 'orange/400'],\n className: ['cyan/600', 'cyan/400'],\n comment: ['gray/400', 'gray/600'],\n constant: ['purple/600', 'purple/400'],\n deleted: ['red/600', 'red/400'],\n entity: ['red/600', 'red/400'],\n function: ['green/600', 'green/400'],\n hexcode: ['blue/600', 'blue/400'],\n id: ['purple/600', 'purple/400'],\n important: ['purple/600', 'purple/400'],\n inserted: ['yellow/600', 'yellow/400'],\n keyword: ['magenta/600', 'magenta/400'],\n number: ['purple/600', 'purple/400'],\n operator: ['magenta/600', 'magenta/400'],\n property: ['blue/600', 'blue/400'],\n pseudoClass: ['yellow/600', 'yellow/400'],\n pseudoElement: ['yellow/600', 'yellow/400'],\n punctuation: ['gray/600', 'gray/400'],\n regex: ['blue/600', 'blue/400'],\n selector: ['red/600', 'red/400'],\n string: ['yellow/600', 'yellow/400'],\n symbol: ['purple/600', 'purple/400'],\n tag: ['red/600', 'red/400'],\n unit: ['orange/600', 'orange/400'],\n url: ['red/600', 'red/400'],\n variable: ['red/600', 'red/400'],\n },\n}\n","export function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value && typeof value === 'object' && !Array.isArray(value))\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport {isRecord} from './lib/isRecord'\n\nexport function merge<T extends Record<string, any>>(...records: (T | undefined)[]): T {\n const _records = records.filter(Boolean) as T[]\n\n if (_records.length === 0) {\n return {} as T\n }\n\n return _records.reduce(_merge, {} as T)\n}\n\nfunction _merge<T extends Record<string, any>>(acc: T, source: T): T {\n for (const key of Object.keys(source)) {\n const prevValue = acc[key]\n const nextValue = source[key]\n\n if (isRecord(prevValue) && isRecord(nextValue)) {\n ;(acc as any)[key] = merge(prevValue, nextValue)\n } else {\n ;(acc as any)[key] = nextValue\n }\n }\n\n return acc\n}\n","import {ColorHueKey} from '@sanity/color'\nimport {\n ColorConfigCardTone,\n ColorConfigInputMode,\n ColorConfigInputState,\n ColorConfigStateTone,\n ThemeColorBaseTokens,\n ThemeColorButtonTokens,\n ThemeColorInputStateTokens,\n ThemeColorInputTokens,\n ThemeColorStateTokens,\n ThemeColorStatesTokens,\n ThemeColorTokens,\n} from '../config'\nimport {defaultColorTokens} from '../defaults/colorTokens'\nimport {\n THEME_COLOR_CARD_TONES,\n THEME_COLOR_BUTTON_MODES,\n THEME_COLOR_INPUT_MODES,\n THEME_COLOR_INPUT_STATES,\n THEME_COLOR_STATES,\n THEME_COLOR_STATE_TONES,\n ThemeColorCardToneKey,\n ThemeColorButtonModeKey,\n ThemeColorStateKey,\n ThemeColorStateToneKey,\n} from '../system'\nimport {merge} from './merge'\n\n/**\n * Convert a tree of color tokens from a sparse format to a dense format.\n */\nexport function resolveColorTokens(inputTokens?: ThemeColorTokens): ThemeColorTokens {\n const tokens = merge(defaultColorTokens, inputTokens)\n\n return {\n base: resolveBaseColorTokens(tokens),\n button: resolveButtonColorTokens(tokens),\n input: resolveInputColorTokens(tokens),\n selectable: resolveSelectableColorTokens(tokens),\n syntax: tokens.syntax,\n }\n}\n\nfunction resolveBaseColorTokens(sparseTokens: ThemeColorTokens) {\n const tokens: Partial<Record<ColorConfigCardTone, ThemeColorBaseTokens>> = {}\n\n // base tones\n for (const tone of THEME_COLOR_CARD_TONES) {\n tokens[tone] = resolveBaseColorTones(sparseTokens, tone)\n }\n\n return tokens\n}\n\nfunction resolveBaseColorTones(\n inputTokens: ThemeColorTokens,\n tone: ThemeColorCardToneKey,\n): ThemeColorBaseTokens {\n const spec = merge(inputTokens?.base?.['*'], inputTokens?.base?.[tone])\n\n const hue = spec._hue || inputTokens?.base?.[tone]?._hue || 'gray'\n\n return {\n ...spec,\n _hue: hue,\n avatar: {\n gray: merge({_hue: 'gray'}, spec.avatar?.['*'], spec.avatar?.gray),\n blue: merge({_hue: 'blue'}, spec.avatar?.['*'], spec.avatar?.blue),\n purple: merge({_hue: 'purple'}, spec.avatar?.['*'], spec.avatar?.purple),\n magenta: merge({_hue: 'magenta'}, spec.avatar?.['*'], spec.avatar?.magenta),\n red: merge({_hue: 'red'}, spec.avatar?.['*'], spec.avatar?.red),\n orange: merge({_hue: 'orange'}, spec.avatar?.['*'], spec.avatar?.orange),\n yellow: merge({_hue: 'yellow'}, spec.avatar?.['*'], spec.avatar?.yellow),\n green: merge({_hue: 'green'}, spec.avatar?.['*'], spec.avatar?.green),\n cyan: merge({_hue: 'cyan'}, spec.avatar?.['*'], spec.avatar?.cyan),\n },\n badge: {\n default: {\n _hue: inputTokens?.base?.default?._hue || hue,\n ...spec.badge?.['*'],\n ...spec.badge?.default,\n },\n primary: {\n _hue: inputTokens?.base?.primary?._hue || hue,\n ...spec.badge?.['*'],\n ...spec.badge?.primary,\n },\n positive: {\n _hue: inputTokens?.base?.positive?._hue || hue,\n ...spec.badge?.['*'],\n ...spec.badge?.positive,\n },\n caution: {\n _hue: inputTokens?.base?.caution?._hue || hue,\n ...spec.badge?.['*'],\n ...spec.badge?.caution,\n },\n critical: {\n _hue: inputTokens?.base?.critical?._hue || hue,\n ...spec.badge?.['*'],\n ...spec.badge?.critical,\n },\n },\n }\n}\n\nfunction resolveButtonColorTokens(\n inputTokens: ThemeColorTokens,\n): Partial<Record<ThemeColorButtonModeKey, ThemeColorButtonTokens>> {\n const tokens: Partial<Record<ThemeColorButtonModeKey, ThemeColorButtonTokens>> = {}\n\n for (const mode of THEME_COLOR_BUTTON_MODES) {\n tokens[mode] = resolveButtonToneColorTokens(inputTokens, mode)\n }\n\n return tokens\n}\n\nfunction resolveButtonToneColorTokens(\n inputTokens: ThemeColorTokens,\n mode: ThemeColorButtonModeKey,\n): ThemeColorButtonTokens {\n const tokens: ThemeColorButtonTokens = {}\n\n for (const tone of THEME_COLOR_STATE_TONES) {\n tokens[tone] = resolveButtonModeColorTokens(inputTokens, mode, tone)\n }\n\n return tokens\n}\n\nfunction resolveButtonModeColorTokens(\n inputTokens: ThemeColorTokens,\n mode: ThemeColorButtonModeKey,\n tone: ThemeColorStateToneKey,\n): ThemeColorStatesTokens {\n const tokens: ThemeColorStatesTokens = {}\n\n for (const state of THEME_COLOR_STATES) {\n tokens[state] = resolveButtonStateColorTokens(inputTokens, tone, mode, state)\n }\n\n return tokens\n}\n\nfunction resolveButtonStateColorTokens(\n inputTokens: ThemeColorTokens,\n tone: ThemeColorStateToneKey,\n mode: ThemeColorButtonModeKey,\n state: ThemeColorStateKey,\n): ThemeColorStateTokens {\n const spec = merge(\n inputTokens?.button?.[mode]?.['*']?.['*'],\n inputTokens?.button?.[mode]?.[tone]?.['*'],\n inputTokens?.button?.[mode]?.['*']?.[state],\n inputTokens?.button?.[mode]?.[tone]?.[state],\n )\n\n const hue = spec._hue || inputTokens?.base?.[tone]?._hue\n\n return {\n ...spec,\n _hue: hue,\n avatar: {\n gray: merge({_hue: 'gray'}, spec.avatar?.['*'], spec.avatar?.gray),\n blue: merge({_hue: 'blue'}, spec.avatar?.['*'], spec.avatar?.blue),\n purple: merge({_hue: 'purple'}, spec.avatar?.['*'], spec.avatar?.purple),\n magenta: merge({_hue: 'magenta'}, spec.avatar?.['*'], spec.avatar?.magenta),\n red: merge({_hue: 'red'}, spec.avatar?.['*'], spec.avatar?.red),\n orange: merge({_hue: 'orange'}, spec.avatar?.['*'], spec.avatar?.orange),\n yellow: merge({_hue: 'yellow'}, spec.avatar?.['*'], spec.avatar?.yellow),\n green: merge({_hue: 'green'}, spec.avatar?.['*'], spec.avatar?.green),\n cyan: merge({_hue: 'cyan'}, spec.avatar?.['*'], spec.avatar?.cyan),\n },\n badge: {\n default: {\n _hue: inputTokens?.base?.default?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.default,\n },\n primary: {\n _hue: inputTokens?.base?.primary?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.primary,\n },\n positive: {\n _hue: inputTokens?.base?.positive?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.positive,\n },\n caution: {\n _hue: inputTokens?.base?.caution?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.caution,\n },\n critical: {\n _hue: inputTokens?.base?.critical?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.critical,\n },\n },\n }\n}\n\nfunction resolveInputColorTokens(\n inputTokens: ThemeColorTokens,\n): Partial<Record<ColorConfigInputMode, ThemeColorInputTokens>> {\n const tokens: Partial<Record<ColorConfigInputMode, ThemeColorInputTokens>> = {}\n\n for (const mode of THEME_COLOR_INPUT_MODES) {\n tokens[mode] = resolveInputModeColorTokens(inputTokens, mode)\n }\n\n return tokens\n}\n\nfunction resolveInputModeColorTokens(\n inputTokens: ThemeColorTokens,\n mode: ColorConfigInputMode,\n): ThemeColorInputTokens {\n const states: ThemeColorInputTokens = {}\n\n for (const state of THEME_COLOR_INPUT_STATES) {\n states[state] = resolveInputStateColorTokens(inputTokens, mode, state)\n }\n\n return states\n}\n\nfunction resolveInputStateColorTokens(\n inputTokens: ThemeColorTokens,\n mode: ColorConfigInputMode,\n state: ColorConfigInputState,\n): ThemeColorInputStateTokens {\n const spec = merge(\n inputTokens?.input?.['*']?.['*'],\n inputTokens?.input?.[mode]?.['*'],\n inputTokens?.input?.['*']?.[state],\n inputTokens?.input?.[mode]?.[state],\n )\n\n const hue = spec._hue || inputTokens?.input?.[mode]?._hue\n\n return {...spec, _hue: hue}\n}\n\nfunction resolveSelectableColorTokens(\n inputTokens: ThemeColorTokens,\n): Partial<Record<ColorConfigStateTone, {_hue?: ColorHueKey} & ThemeColorStatesTokens>> {\n const tokens: ThemeColorButtonTokens = {}\n\n for (const tone of THEME_COLOR_STATE_TONES) {\n tokens[tone] = resolveSelectableToneColorTokens(inputTokens, tone)\n }\n\n return tokens\n}\n\nfunction resolveSelectableToneColorTokens(\n inputTokens: ThemeColorTokens,\n tone: ThemeColorStateToneKey,\n): {_hue?: ColorHueKey} & ThemeColorStatesTokens {\n const states: {_hue?: ColorHueKey} & ThemeColorStatesTokens = {\n _hue: inputTokens?.selectable?.[tone]?._hue || inputTokens?.base?.[tone]?._hue,\n }\n\n for (const state of THEME_COLOR_STATES) {\n states[state] = resolveSelectableStateColorTokens(inputTokens, tone, state)\n }\n\n return states\n}\n\nfunction resolveSelectableStateColorTokens(\n inputTokens: ThemeColorTokens,\n tone: ThemeColorStateToneKey,\n state: ThemeColorStateKey,\n) {\n const spec = merge(\n inputTokens?.selectable?.['*']?.['*'],\n inputTokens?.selectable?.[tone]?.['*'],\n inputTokens?.selectable?.['*']?.[state],\n inputTokens?.selectable?.[tone]?.[state],\n )\n\n const hue = spec._hue || inputTokens?.base?.[tone]?._hue\n\n return {\n ...spec,\n _hue: hue,\n avatar: {\n gray: merge({_hue: 'gray'}, spec.avatar?.['*'], spec.avatar?.gray),\n blue: merge({_hue: 'blue'}, spec.avatar?.['*'], spec.avatar?.blue),\n purple: merge({_hue: 'purple'}, spec.avatar?.['*'], spec.avatar?.purple),\n magenta: merge({_hue: 'magenta'}, spec.avatar?.['*'], spec.avatar?.magenta),\n red: merge({_hue: 'red'}, spec.avatar?.['*'], spec.avatar?.red),\n orange: merge({_hue: 'orange'}, spec.avatar?.['*'], spec.avatar?.orange),\n yellow: merge({_hue: 'yellow'}, spec.avatar?.['*'], spec.avatar?.yellow),\n green: merge({_hue: 'green'}, spec.avatar?.['*'], spec.avatar?.green),\n cyan: merge({_hue: 'cyan'}, spec.avatar?.['*'], spec.avatar?.cyan),\n },\n badge: {\n default: {\n _hue: inputTokens?.base?.default?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.default,\n },\n primary: {\n _hue: inputTokens?.base?.primary?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.primary,\n },\n positive: {\n _hue: inputTokens?.base?.positive?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.positive,\n },\n caution: {\n _hue: inputTokens?.base?.caution?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.caution,\n },\n critical: {\n _hue: inputTokens?.base?.critical?._hue,\n ...spec.badge?.['*'],\n ...spec.badge?.critical,\n },\n },\n }\n}\n","import {ThemeColorBadgeTokens, ThemeColorStateTokens, ThemeConfig} from '../config'\nimport {\n THEME_COLOR_BUTTON_MODES,\n THEME_COLOR_STATES,\n THEME_COLOR_STATE_TONES,\n ThemeColorAvatarColorKey,\n ThemeColorCardToneKey,\n ThemeColorButtonModeKey,\n ThemeColorStateKey,\n ThemeColorStateToneKey,\n ThemeColorAvatar_v2,\n ThemeColorBadge_v2,\n ThemeColorSyntax,\n ThemeColorSchemes_v2,\n ThemeColorScheme_v2,\n ThemeColorCard_v2,\n ThemeColorSchemeKey,\n ThemeColorShadow,\n ThemeColorState_v2,\n ThemeColorButton_v2,\n ThemeColorButtonMode_v2,\n ThemeColorButtonTone_v2,\n ThemeColorAvatarHue_v2,\n ThemeColorInput_v2,\n ThemeColorInputMode_v2,\n ThemeColorInputState_v2,\n} from '../system'\nimport {ColorTokenContext, resolveColorTokenValue as _color} from './colorToken'\nimport {resolveColorTokens} from './resolveColorTokens'\n\nexport function buildColorTheme(config?: ThemeConfig): ThemeColorSchemes_v2 {\n const resolvedConfig: ThemeConfig = {\n ...config,\n color: resolveColorTokens(config?.color),\n }\n\n return {\n light: buildColorScheme({scheme: 'light'}, resolvedConfig),\n dark: buildColorScheme({scheme: 'dark'}, resolvedConfig),\n }\n}\n\nfunction buildColorScheme(\n options: {scheme: ThemeColorSchemeKey},\n config: ThemeConfig,\n): ThemeColorScheme_v2 {\n const {scheme} = options\n\n return {\n transparent: buildCardColorTheme({scheme, tone: 'transparent'}, config),\n default: buildCardColorTheme({scheme, tone: 'default'}, config),\n primary: buildCardColorTheme({scheme, tone: 'primary'}, config),\n positive: buildCardColorTheme({scheme, tone: 'positive'}, config),\n caution: buildCardColorTheme({scheme, tone: 'caution'}, config),\n critical: buildCardColorTheme({scheme, tone: 'critical'}, config),\n }\n}\n\nfunction buildCardColorTheme(\n options: {scheme: ThemeColorSchemeKey; tone: ThemeColorCardToneKey},\n config?: ThemeConfig,\n): ThemeColorCard_v2 {\n const {scheme, tone} = options\n const tokens = config?.color?.base?.[tone]\n const hue = tokens?._hue || 'gray'\n const context: ColorTokenContext = {hue, scheme}\n const blendMode = tokens?._blend || ['multiply', 'screen']\n\n return {\n _blend: blendMode[scheme === 'light' ? 0 : 1],\n _dark: scheme === 'dark',\n accent: {\n fg: _color(context, tokens?.accent?.fg),\n },\n avatar: buildAvatarColorTheme({scheme}, tokens),\n backdrop: _color(context, tokens?.backdrop),\n badge: buildBadgeColorTheme(tokens?.badge, {scheme}, config),\n bg: _color(context, tokens?.bg),\n border: _color(context, tokens?.border),\n button: buildButtonColorTheme({scheme}, config),\n code: {\n bg: _color(context, tokens?.code?.bg),\n fg: _color(context, tokens?.code?.fg),\n },\n fg: _color(context, tokens?.fg),\n focusRing: _color(context, tokens?.focusRing),\n icon: _color(context, tokens?.icon),\n input: buildInputColorTheme({scheme, tone}, config),\n kbd: {\n bg: _color(context, tokens?.kbd?.bg),\n fg: _color(context, tokens?.kbd?.fg),\n border: _color(context, tokens?.kbd?.border),\n },\n link: {\n fg: _color(context, tokens?.link?.fg),\n },\n muted: {\n bg: _color(context, tokens?.muted?.bg),\n fg: _color(context, tokens?.muted?.fg),\n },\n selectable: buildSelectableColorTheme({scheme}, config),\n shadow: buildShadowColorTheme({scheme, tone}, config),\n skeleton: {\n from: _color(context, tokens?.skeleton?.from),\n to: _color(context, tokens?.skeleton?.to),\n },\n syntax: buildSyntaxColorTheme({scheme}, config),\n }\n}\n\nfunction buildShadowColorTheme(\n options: {scheme: ThemeColorSchemeKey; tone: ThemeColorCardToneKey},\n config?: ThemeConfig,\n): ThemeColorShadow {\n const {scheme, tone} = options\n const tokens = config?.color?.base?.[tone]\n const hue = tokens?._hue || 'gray'\n const context: ColorTokenContext = {hue, scheme}\n\n return {\n outline: _color(context, tokens?.shadow?.outline),\n umbra: _color(context, tokens?.shadow?.umbra),\n penumbra: _color(context, tokens?.shadow?.penumbra),\n ambient: _color(context, tokens?.shadow?.ambient),\n }\n}\n\nfunction buildAvatarColorTheme(\n options: {scheme: ThemeColorSchemeKey},\n stateTokens?: ThemeColorStateTokens,\n): ThemeColorAvatar_v2 {\n const {scheme} = options\n\n return {\n gray: _buildAvatarColorTheme({color: 'gray', scheme}, stateTokens),\n blue: _buildAvatarColorTheme({color: 'blue', scheme}, stateTokens),\n purple: _buildAvatarColorTheme({color: 'purple', scheme}, stateTokens),\n magenta: _buildAvatarColorTheme({color: 'magenta', scheme}, stateTokens),\n red: _buildAvatarColorTheme({color: 'red', scheme}, stateTokens),\n orange: _buildAvatarColorTheme({color: 'orange', scheme}, stateTokens),\n yellow: _buildAvatarColorTheme({color: 'yellow', scheme}, stateTokens),\n green: _buildAvatarColorTheme({color: 'green', scheme}, stateTokens),\n cyan: _buildAvatarColorTheme({color: 'cyan', scheme}, stateTokens),\n }\n}\n\nfunction _buildAvatarColorTheme(\n options: {color: ThemeColorAvatarColorKey; scheme: ThemeColorSchemeKey},\n stateTokens?: ThemeColorStateTokens,\n): ThemeColorAvatarHue_v2 {\n const {color, scheme} = options\n const tokens = stateTokens?.avatar?.[color]\n const context: ColorTokenContext = {hue: tokens?._hue || 'gray', scheme}\n const blendMode = tokens?._blend || ['screen', 'multiply']\n\n return {\n _blend: blendMode[scheme === 'light' ? 0 : 1],\n bg: _color(context, tokens?.bg),\n fg: _color(context, tokens?.fg),\n }\n}\n\nfunction buildBadgeColorTheme(\n tokens: ThemeColorBadgeTokens | undefined,\n options: {scheme: ThemeColorSchemeKey},\n config?: ThemeConfig,\n): ThemeColorBadge_v2 {\n const {scheme} = options\n\n return {\n default: _buildBadgeColorTheme(tokens, {scheme, tone: 'default'}, config),\n primary: _buildBadgeColorTheme(tokens, {scheme, tone: 'primary'}, config),\n positive: _buildBadgeColorTheme(tokens, {scheme, tone: 'positive'}, config),\n caution: _buildBadgeColorTheme(tokens, {scheme, tone: 'caution'}, config),\n critical: _buildBadgeColorTheme(tokens, {scheme, tone: 'critical'}, config),\n }\n}\n\nfunction _buildBadgeColorTheme(\n parentTokens: ThemeColorBadgeTokens | undefined,\n options: {scheme: ThemeColorSchemeKey; tone: ThemeColorStateToneKey},\n config?: ThemeConfig,\n): ThemeColorBadge_v2['default'] {\n const {scheme, tone} = options\n const tokens = parentTokens?.[tone]\n const hue = tokens?._hue || config?.color?.base?.[tone]?._hue || 'gray'\n const context: ColorTokenContext = {hue, scheme}\n\n return {\n bg: _color(context, tokens?.bg),\n fg: _color(context, tokens?.fg),\n dot: _color(context, tokens?.dot),\n icon: _color(context, tokens?.icon),\n }\n}\n\nfunction buildButtonColorTheme(\n options: {scheme: ThemeColorSchemeKey},\n config?: ThemeConfig,\n): ThemeColorButton_v2 {\n const {scheme} = options\n\n const modes: Partial<ThemeColorButton_v2> = {}\n\n for (const mode of THEME_COLOR_BUTTON_MODES) {\n modes[mode] = buildButtonTonesColorTheme({scheme, mode}, config)\n }\n\n return modes as ThemeColorButton_v2\n}\n\nfunction buildButtonTonesColorTheme(\n options: {\n scheme: ThemeColorSchemeKey\n mode: ThemeColorButtonModeKey\n },\n config?: ThemeConfig,\n): ThemeColorButtonMode_v2 {\n const {mode, scheme} = options\n\n const tones: Partial<ThemeColorButtonMode_v2> = {}\n\n for (const tone of THEME_COLOR_STATE_TONES) {\n tones[tone] = buildButtonStatesColorTheme({mode, scheme, tone}, config)\n }\n\n return tones as ThemeColorButtonMode_v2\n}\n\nfunction buildButtonStatesColorTheme(\n options: {\n mode: ThemeColorButtonModeKey\n scheme: ThemeColorSchemeKey\n tone: ThemeColorStateToneKey\n },\n config?: ThemeConfig,\n): ThemeColorButtonTone_v2 {\n const {mode, scheme, tone} = options\n\n const states: Partial<ThemeColorButtonTone_v2> = {}\n\n for (const state of THEME_COLOR_STATES) {\n states[state] = buildButtonStateColorTheme({mode, tone, scheme, state}, config)\n }\n\n return states as ThemeColorButtonTone_v2\n}\n\nfunction buildButtonStateColorTheme(\n options: {\n mode: ThemeColorButtonModeKey\n tone: ThemeColorStateToneKey\n scheme: ThemeColorSchemeKey\n state: ThemeColorStateKey\n },\n config?: ThemeConfig,\n): ThemeColorState_v2 {\n const {mode, tone, scheme, state} = options\n const tokens = config?.color?.button?.[mode]?.[tone]?.[state]\n const hue = tokens?._hue || 'gray'\n const blendMode = tokens?._blend || ['screen', 'multiply']\n const context: ColorTokenContext = {hue, scheme}\n\n return {\n _blend: blendMode[scheme === 'light' ? 0 : 1],\n accent: {\n fg: _color(context, tokens?.accent?.fg),\n },\n avatar: buildAvatarColorTheme({scheme}, tokens),\n badge: buildBadgeColorTheme(tokens?.badge, {scheme}, config),\n bg: _color(context, tokens?.bg),\n border: _color(context, tokens?.border),\n code: {\n bg: _color(context, tokens?.code?.bg),\n fg: _color(context, tokens?.code?.fg),\n },\n fg: _color(context, tokens?.fg),\n icon: _color(context, tokens?.icon),\n muted: {\n bg: _color(context, tokens?.muted?.bg),\n fg: _color(context, tokens?.muted?.fg),\n },\n kbd: {\n bg: _color(context, tokens?.kbd?.bg),\n fg: _color(context, tokens?.kbd?.fg),\n border: _color(context, tokens?.kbd?.border),\n },\n link: {\n fg: _color(context, tokens?.link?.fg),\n },\n skeleton: {\n from: _color(context, tokens?.skeleton?.from),\n to: _color(context, tokens?.skeleton?.to),\n },\n }\n}\n\nfunction buildInputColorTheme(\n options: {scheme: ThemeColorSchemeKey; tone: ThemeColorCardToneKey},\n config?: ThemeConfig,\n): ThemeColorInput_v2 {\n const {scheme, tone} = options\n\n return {\n default: buildInputStatesColorTheme({mode: 'default', scheme, tone}, config),\n invalid: buildInputStatesColorTheme({mode: 'invalid', scheme, tone}, config),\n }\n}\n\nfunction buildInputStatesColorTheme(\n options: {\n mode: 'default' | 'invalid'\n scheme: ThemeColorSchemeKey\n tone: ThemeColorCardToneKey\n },\n config?: ThemeConfig,\n): ThemeColorInputMode_v2 {\n const {mode, scheme, tone} = options\n\n return {\n enabled: buildInputStateColorTheme({mode, scheme, state: 'enabled', tone}, config),\n hovered: buildInputStateColorTheme({mode, scheme, state: 'hovered', tone}, config),\n readOnly: buildInputStateColorTheme({mode, scheme, state: 'readOnly', tone}, config),\n disabled: buildInputStateColorTheme({mode, scheme, state: 'disabled', tone}, config),\n }\n}\n\nfunction buildInputStateColorTheme(\n options: {\n mode: 'default' | 'invalid'\n scheme: ThemeColorSchemeKey\n state: 'enabled' | 'hovered' | 'readOnly' | 'disabled'\n tone: ThemeColorCardToneKey\n },\n config?: ThemeConfig,\n): ThemeColorInputState_v2 {\n const {mode, tone, scheme, state} = options\n const tokens = config?.color?.input?.[mode]?.[state]\n const hue = tokens?._hue || config?.color?.base?.[tone]?._hue || 'gray'\n const blendMode = tokens?._blend || ['screen', 'multiply']\n const context: ColorTokenContext = {hue, scheme}\n\n return {\n _blend: blendMode[scheme === 'light' ? 0 : 1],\n bg: _color(context, tokens?.bg),\n border: _color(context, tokens?.border),\n fg: _color(context, tokens?.fg),\n muted: {\n bg: _color(context, tokens?.muted?.bg),\n },\n placeholder: _color(context, tokens?.placeholder),\n }\n}\n\nfunction buildSelectableColorTheme(\n options: {\n scheme: ThemeColorSchemeKey\n },\n config?: ThemeConfig,\n): ThemeColorButtonMode_v2 {\n const {scheme} = options\n\n const tones: Partial<ThemeColorButtonMode_v2> = {}\n\n for (const tone of THEME_COLOR_STATE_TONES) {\n tones[tone] = buildSelectableStatesColorTheme({scheme, tone}, config)\n }\n\n return tones as ThemeColorButtonMode_v2\n}\n\nfunction buildSelectableStatesColorTheme(\n options: {\n scheme: ThemeColorSchemeKey\n tone: ThemeColorStateToneKey\n },\n config?: ThemeConfig,\n): ThemeColorButtonTone_v2 {\n const {scheme, tone} = options\n\n const states: Partial<ThemeColorButtonTone_v2> = {}\n\n for (const state of THEME_COLOR_STATES) {\n states[state] = buildSelectableStateColorTheme({tone, scheme, state}, config)\n }\n\n return states as ThemeColorButtonTone_v2\n}\n\nfunction buildSelectableStateColorTheme(\n options: {\n scheme: ThemeColorSchemeKey\n state: ThemeColorStateKey\n tone: ThemeColorStateToneKey\n },\n config?: ThemeConfig,\n): ThemeColorState_v2 {\n const {scheme, state, tone} = options\n const tokens = config?.color?.selectable?.[tone]?.[state]\n const hue = tokens?._hue || 'gray'\n const blendMode = tokens?._blend || ['screen', 'multiply']\n const context: ColorTokenContext = {hue, scheme}\n\n return {\n _blend: blendMode[scheme === 'light' ? 0 : 1],\n accent: {\n fg: _color(context, tokens?.accent?.fg),\n },\n avatar: buildAvatarColorTheme({scheme}, tokens),\n badge: buildBadgeColorTheme(tokens?.badge, {scheme}, config),\n bg: _color(context, tokens?.bg),\n border: _color(context, tokens?.border),\n code: {\n bg: _color(context, tokens?.code?.bg),\n fg: _color(context, tokens?.code?.fg),\n },\n fg: _color(context, tokens?.fg),\n icon: _color(context, tokens?.icon),\n muted: {\n bg: _color(context, tokens?.muted?.bg),\n fg: _color(context, tokens?.muted?.fg),\n },\n kbd: {\n bg: _color(context, tokens?.kbd?.bg),\n fg: _color(context, tokens?.kbd?.fg),\n border: _color(context, tokens?.kbd?.border),\n },\n link: {\n fg: _color(context, tokens?.link?.fg),\n },\n skeleton: {\n from: _color(context, tokens?.skeleton?.from),\n to: _color(context, tokens?.skeleton?.to),\n },\n }\n}\n\nfunction buildSyntaxColorTheme(\n options: {scheme: ThemeColorSchemeKey},\n config?: ThemeConfig,\n): ThemeColorSyntax {\n const {scheme} = options\n const tokens = config?.color?.syntax\n const context: ColorTokenContext = {hue: 'gray', scheme}\n\n return {\n atrule: _color(context, tokens?.atrule),\n attrName: _color(context, tokens?.attrName),\n attrValue: _color(context, tokens?.attrValue),\n attribute: _color(context, tokens?.attribute),\n boolean: _color(context, tokens?.boolean),\n builtin: _color(context, tokens?.builtin),\n cdata: _color(context, tokens?.cdata),\n char: _color(context, tokens?.char),\n class: _color(context, tokens?.class),\n className: _color(context, tokens?.className),\n comment: _color(context, tokens?.comment),\n constant: _color(context, tokens?.constant),\n deleted: _color(context, tokens?.deleted),\n doctype: _color(context, tokens?.doctype),\n entity: _color(context, tokens?.entity),\n function: _color(context, tokens?.function),\n hexcode: _color(context, tokens?.hexcode),\n id: _color(context, tokens?.id),\n important: _color(context, tokens?.important),\n inserted: _color(context, tokens?.inserted),\n keyword: _color(context, tokens?.keyword),\n number: _color(context, tokens?.number),\n operator: _color(context, tokens?.operator),\n prolog: _color(context, tokens?.prolog),\n property: _color(context, tokens?.property),\n pseudoClass: _color(context, tokens?.pseudoClass),\n pseudoElement: _color(context, tokens?.pseudoElement),\n punctuation: _color(context, tokens?.punctuation),\n regex: _color(context, tokens?.regex),\n selector: _color(context, tokens?.selector),\n string: _color(context, tokens?.string),\n symbol: _color(context, tokens?.symbol),\n tag: _color(context, tokens?.tag),\n unit: _color(context, tokens?.unit),\n url: _color(context, tokens?.url),\n variable: _color(context, tokens?.variable),\n }\n}\n","import {color} from '@sanity/color'\n\nimport {ThemeColorPalette} from '../config'\n\nexport const defaultColorPalette: ThemeColorPalette = color\n","import {RGB, RGBA} from '../types'\n\nfunction mixChannel(b: number, s: number, weight: number) {\n const diff = s - b\n\n const delta = diff * weight\n\n return b + delta\n}\n\n/**\n * Apply the \\`mix\\` blend mode\n * @internal\n */\nexport function mix(b: RGB | RGBA, s: RGB | RGBA, weight: number): RGB {\n return {\n r: mixChannel(b.r, s.r, weight),\n g: mixChannel(b.g, s.g, weight),\n b: mixChannel(b.b, s.b, weight),\n }\n}\n","import {RGB, RGBA} from '../types'\n\nfunction multiplyChannel(b: number, s: number) {\n return b * s\n}\n\n/**\n * Apply the \\`multiply\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingmultiply\n * @internal\n */\nexport function multiply(b: RGB | RGBA, s: RGB | RGBA): RGB {\n return {\n r: multiplyChannel(b.r / 255, s.r / 255) * 255,\n g: multiplyChannel(b.g / 255, s.g / 255) * 255,\n b: multiplyChannel(b.b / 255, s.b / 255) * 255,\n }\n}\n","import {RGB, RGBA} from '../types'\n\nfunction screenChannel(b: number, s: number) {\n return b + s - b * s\n}\n\n/**\n * Apply the \\`screen\\` blend mode\n * Source: https://www.w3.org/TR/compositing-1/#blendingscreen\n * @internal\n */\nexport function screen(b: RGB | RGBA, s: RGB | RGBA): RGB {\n return {\n r: screenChannel(b.r / 255, s.r / 255) * 255,\n g: screenChannel(b.g / 255, s.g / 255) * 255,\n b: screenChannel(b.b / 255, s.b / 255) * 255,\n }\n}\n","export function lerp(x: number, y: number, a: number): number {\n return x * (1 - a) + y * a\n}\n\nexport function invlerp(x: number, y: number, a: number): number {\n return clamp((a - x) / (y - x))\n}\n\nexport function clamp(a: number, min = 0, max = 1): number {\n return Math.min(max, Math.max(min, a))\n}\n\nexport function range(x1: number, y1: number, x2: number, y2: number, a: number): number {\n return lerp(x2, y2, invlerp(x1, y1, a))\n}\n\nexport function round(value: number): number {\n return Math.round(value)\n}\n","import {clamp, round} from '../utils'\nimport {HSL, RGB, RGBA} from './types'\n\n/**\n * @internal\n */\nexport function hexToRgb(hex: string): RGB {\n if (hex.length === 4) {\n const hexR = hex.slice(1, 2)\n const hexG = hex.slice(2, 3)\n const hexB = hex.slice(3, 4)\n\n return {\n r: parseInt(hexR + hexR, 16),\n g: parseInt(hexG + hexG, 16),\n b: parseInt(hexB + hexB, 16),\n }\n }\n\n return {\n r: parseInt(hex.slice(1, 3), 16),\n g: parseInt(hex.slice(3, 5), 16),\n b: parseInt(hex.slice(5, 7), 16),\n }\n}\n\n/**\n * @internal\n */\nexport function rgbaToRGBA(rgba: string): RGBA {\n const values = rgba.replace(/rgba\\(|\\)/g, '').split(',')\n\n return {\n r: parseInt(values[0]),\n g: parseInt(values[1]),\n b: parseInt(values[2]),\n a: parseFloat(values[3]),\n }\n}\n\n/**\n * @internal\n */\nexport function rgbToHex(color: RGB | RGBA): string {\n const r = round(clamp(Math.round(color.r), 0, 255))\n const g = round(clamp(Math.round(color.g), 0, 255))\n const b = round(clamp(Math.round(color.b), 0, 255))\n\n if ('a' in color) {\n return `rgba(${r},${g},${b},${color.a})`\n }\n\n return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)\n}\n\n/**\n * @internal\n * @see https://css-tricks.com/converting-color-spaces-in-javascript/\n */\nexport function rgbToHsl({r, g, b}: RGB): HSL {\n // Make r, g, and b fractions of 1\n r /= 255\n g /= 255\n b /= 255\n\n // Find greatest and smallest channel values\n const cmin = Math.min(r, g, b)\n const cmax = Math.max(r, g, b)\n const delta = cmax - cmin\n\n let h = 0\n let s = 0\n let l = 0\n\n // Calculate hue\n // No difference\n if (delta == 0) h = 0\n // Red is max\n else if (cmax == r) h = ((g - b) / delta) % 6\n // Green is max\n else if (cmax == g) h = (b - r) / delta + 2\n // Blue is max\n else h = (r - g) / delta + 4\n\n h = Math.round(h * 60)\n\n // Make negative hues positive behind 360°\n if (h < 0) h += 360\n\n // Calculate lightness\n l = (cmax + cmin) / 2\n\n // Calculate saturation\n s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1))\n\n // Multiply l and s by 100\n s = +(s * 100).toFixed(1)\n l = +(l * 100).toFixed(1)\n\n return {h, s, l}\n}\n\n/**\n * @internal\n */\nexport function hslToRgb(hsl: HSL): RGB {\n // Must be fractions of 1\n const s = hsl.s / 100\n const l = hsl.l / 100\n\n const c = (1 - Math.abs(2 * l - 1)) * s\n const x = c * (1 - Math.abs(((hsl.h / 60) % 2) - 1))\n const m = l - c / 2\n\n let r = 0\n let g = 0\n let b = 0\n\n if (0 <= hsl.h && hsl.h < 60) {\n r = c\n g = x\n b = 0\n } else if (60 <= hsl.h && hsl.h < 120) {\n r = x\n g = c\n b = 0\n } else if (120 <= hsl.h && hsl.h < 180) {\n r = 0\n g = c\n b = x\n } else if (180 <= hsl.h && hsl.h < 240) {\n r = 0\n g = x\n b = c\n } else if (240 <= hsl.h && hsl.h < 300) {\n r = x\n g = 0\n b = c\n } else if (300 <= hsl.h && hsl.h < 360) {\n r = c\n g = 0\n b = x\n }\n\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n }\n}\n","import {hexToRgb, hslToRgb, rgbaToRGBA} from './convert'\nimport {HSL, RGB, RGBA} from './types'\n\nconst HEX_CHARS = '0123456789ABCDEFabcdef'\n\nconst HSL_RE = /hsl\\(\\s*(\\d+)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*,\\s*((\\d+(?:\\.\\d+)?)%)\\s*\\)/i\n\nfunction isHexChars(str: string) {\n for (const c of str) {\n if (HEX_CHARS.indexOf(c) === -1) {\n return false\n }\n }\n\n return true\n}\n\nfunction isHex(str: string) {\n if (str[0] !== '#') return false\n\n // Accept both #000 and #000000\n if (!(str.length === 4 || str.length === 7)) return false\n\n return isHexChars(str.slice(1))\n}\n\nfunction parseHsl(str: string): HSL {\n const res = HSL_RE.exec(str)\n\n if (!res) {\n throw new Error(`parseHsl: string is not a HSL color: \"${str}\"`)\n }\n\n return {h: parseInt(res[1]), s: parseFloat(res[3]), l: parseFloat(res[5])}\n}\n\n/**\n * @internal\n */\nexport function parseColor(color: unknown): RGB | RGBA {\n if (!color) return {r: 0, g: 0, b: 0}\n\n if (typeof color !== 'string') {\n throw new Error('parseColor: expected a string')\n }\n\n if (isHex(color)) {\n return hexToRgb(color)\n }\n\n if (color.startsWith('hsl(')) {\n return hslToRgb(parseHsl(color))\n }\n\n if (color.startsWith('rgba(')) {\n return rgbaToRGBA(color)\n }\n\n throw new Error(`parseColor: unexpected color format: \"${color}\"`)\n}\n","import {parseColor} from './parse'\nimport {RGB, RGBA} from './types'\n\n/** @internal */\nexport function getContrastRatio(bg: string, fg: string): number {\n const rgb1 = parseColor(bg) // bg: RGB | RGBA, fg: RGB | RGBA\n const rgb2 = parseColor(fg)\n\n // convert the two colors from sRGB to linear-light RGB\n const c1 = rgb_lrgb(rgb1)\n const c2 = rgb_lrgb(rgb2)\n\n // compute the relative luminances\n const l1 = lrgb_luminance(c1)\n const l2 = lrgb_luminance(c2)\n\n // compute the contrast ratio\n return (Math.max(l1, l2) + 0.05) / (Math.min(l1, l2) + 0.05)\n}\n\nfunction rgb_lrgb({r, g, b}: RGB | RGBA): [number, number, number] {\n return [rgb_lrgb1(r / 255), rgb_lrgb1(g / 255), rgb_lrgb1(b / 255)]\n}\n\nfunction rgb_lrgb1(v: number) {\n return v <= 0.04045 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4\n}\n\nfunction lrgb_luminance([r, g, b]: [number, number, number]) {\n return 0.2126 * r + 0.7152 * g + 0.0722 * b\n}\n","import {parseColor} from './parse'\n\n/**\n * @internal\n */\nexport function rgba(color: unknown, a: number): string {\n const rgb = parseColor(color)\n\n return `rgba(${rgb.r},${rgb.g},${rgb.b},${a})`\n}\n","import {RGB, multiply, parseColor, rgbToHex, screen} from './lib/color-fns'\nimport {clamp, range} from './lib/utils'\n\nconst RGB_RANGE: [number, number] = [0, 255]\n\nexport function mixThemeColor(\n value: string,\n options: {\n bg?: string\n blendMode: 'multiply' | 'screen'\n black: string\n white: string\n },\n): string {\n const {blendMode} = options\n\n const color = parseColor(value)\n const black = parseColor(options.black)\n const white = parseColor(options.white)\n\n const bg = options.bg ? parseColor(options.bg) : blendMode === 'multiply' ? white : black\n\n const paletteRange: {r: [number, number]; g: [number, number]; b: [number, number]} = {\n r: [black.r, white.r],\n g: [black.g, white.g],\n b: [black.b, white.b],\n }\n\n const convertedBgColor: RGB = {\n r: clamp(range(...paletteRange.r, ...RGB_RANGE, bg.r), ...RGB_RANGE),\n g: clamp(range(...paletteRange.g, ...RGB_RANGE, bg.g), ...RGB_RANGE),\n b: clamp(range(...paletteRange.b, ...RGB_RANGE, bg.b), ...RGB_RANGE),\n }\n\n const convertedColor: RGB = {\n r: clamp(range(...paletteRange.r, ...RGB_RANGE, color.r), ...RGB_RANGE),\n g: clamp(range(...paletteRange.g, ...RGB_RANGE, color.g), ...RGB_RANGE),\n b: clamp(range(...paletteRange.b, ...RGB_RANGE, color.b), ...RGB_RANGE),\n }\n\n const resultColor =\n blendMode === 'multiply'\n ? multiply(convertedBgColor, convertedColor)\n : screen(convertedBgColor, convertedColor)\n\n const v: RGB = {\n r: clamp(range(...RGB_RANGE, ...paletteRange.r, resultColor.r), ...paletteRange.r),\n g: clamp(range(...RGB_RANGE, ...paletteRange.g, resultColor.g), ...paletteRange.g),\n b: clamp(range(...RGB_RANGE, ...paletteRange.b, resultColor.b), ...paletteRange.b),\n }\n\n return rgbToHex(v)\n}\n","import {ColorTint as ColorPaletteValue} from '@sanity/color'\nimport {ThemeColorPalette, parseTokenValue} from '../config'\nimport {ThemeColorBlendModeKey} from '../system'\nimport {hexToRgb, mix, rgbToHex, rgba} from './lib/color-fns'\nimport {mixThemeColor} from './mixThemeColor'\n\nexport interface RenderColorValueOptions {\n bg?: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n}\n\nexport function renderColorValue(str: string, options: RenderColorValueOptions): string {\n const {bg, blendMode, colorPalette} = options\n\n if (bg === 'white') {\n throw new Error('Cannot blend with white background')\n }\n\n const node = parseTokenValue(str)\n\n if (!node || node.type !== 'color') {\n throw new Error(`Invalid color token value: ${str}`)\n }\n\n let hex = ''\n\n if (node.key === 'black') {\n hex = renderColorHex(colorPalette.black)\n }\n\n if (node.key === 'white') {\n hex = renderColorHex(colorPalette.white)\n }\n\n if (node.hue && node.tint) {\n hex = renderColorHex(colorPalette[node.hue][node.tint])\n }\n\n if (!hex) {\n throw new Error(`Invalid color token value: ${str}`)\n }\n\n const hexBeforeMix = hex\n\n const mixOptions = {\n blendMode,\n bg,\n black: renderColorHex(colorPalette.black),\n // opacity: node.opacity,\n white: renderColorHex(colorPalette.white),\n }\n\n try {\n hex = mixThemeColor(hex, mixOptions)\n\n if (bg && node.mix !== undefined) {\n const from = hexToRgb(bg)\n const to = hexToRgb(hex)\n\n hex = rgbToHex(mix(from, to, node.mix))\n }\n } catch (err) {\n // eslint-disable-next-line no-console\n console.warn('could not blend', hex, mixOptions)\n throw err\n }\n\n if (hex === '#aN') {\n // eslint-disable-next-line no-console\n console.warn(`invalid color token value: ${str}`)\n hex = hexBeforeMix\n }\n\n if (node.opacity !== undefined) {\n hex = rgba(hex, node.opacity)\n }\n\n return hex\n}\n\nfunction renderColorHex(color: string | ColorPaletteValue) {\n return typeof color === 'string' ? color : color.hex\n}\n","import {ThemeColorPalette, ThemeConfig} from '../config'\nimport {defaultColorPalette} from '../defaults/colorPalette'\nimport {\n ThemeColorAvatar_v2,\n ThemeColorBadgeTone_v2,\n ThemeColorBadge_v2,\n ThemeColorBlendModeKey,\n ThemeColorButtonMode_v2,\n ThemeColorButtonTone_v2,\n ThemeColorButton_v2,\n ThemeColorCardToneKey,\n ThemeColorCard_v2,\n ThemeColorInputMode_v2,\n ThemeColorInputState_v2,\n ThemeColorInput_v2,\n ThemeColorKBD,\n ThemeColorScheme_v2,\n ThemeColorSchemes_v2,\n ThemeColorSelectableTone_v2,\n ThemeColorSelectable_v2,\n ThemeColorShadow,\n ThemeColorState_v2,\n ThemeColorSyntax,\n} from '../system'\nimport {RenderColorValueOptions, renderColorValue} from './renderColorValue'\n\nexport function renderThemeColorSchemes(\n value: ThemeColorSchemes_v2,\n config?: ThemeConfig,\n): ThemeColorSchemes_v2 {\n const colorPalette = config?.palette ?? defaultColorPalette\n\n return {\n light: renderThemeColorScheme(colorPalette, value.light),\n dark: renderThemeColorScheme(colorPalette, value.dark),\n }\n}\n\nfunction renderThemeColorScheme(\n colorPalette: ThemeColorPalette,\n value: ThemeColorScheme_v2,\n): ThemeColorScheme_v2 {\n const toneEntries = Object.entries(value) as [ThemeColorCardToneKey, ThemeColorCard_v2][]\n\n const [, transparentTone] = toneEntries.find(([k]) => k === 'transparent')!\n const [, defaultTone] = toneEntries.find(([k]) => k === 'default')!\n\n // The `transparent` and `default` tones are special cases, so we render them first\n // (rendered without a `bg` option).\n // But the rest of the tones are rendered on top of the `default` tone's `bg`.\n const renderedTransparentTone = renderThemeColor(transparentTone, {colorPalette})\n const renderedDefaultTone = renderThemeColor(defaultTone, {colorPalette})\n\n // Get the `default` tone's `bg` property\n const bg = renderedDefaultTone.bg\n\n if (bg === 'white') {\n throw new Error('Cannot blend with white background')\n }\n\n return Object.fromEntries([\n ['transparent', renderedTransparentTone],\n ['default', renderedDefaultTone],\n ...toneEntries\n .filter(([k]) => k !== 'default' && k !== 'transparent')\n .map(([k, v]) => [k, renderThemeColor(v, {bg, colorPalette})]),\n ]) as ThemeColorScheme_v2\n}\n\nfunction renderThemeColor(\n value: ThemeColorCard_v2,\n options: {\n bg?: string\n colorPalette: ThemeColorPalette\n },\n): ThemeColorCard_v2 {\n const {colorPalette, bg} = options\n const blendMode = value._blend || 'multiply'\n const baseBg = renderColorValue(value.bg, {colorPalette, bg, blendMode})\n const colorOptions: RenderColorValueOptions = {colorPalette, bg: baseBg, blendMode}\n\n const button = renderThemeColorButton(value.button, {\n baseBg,\n blendMode,\n colorPalette,\n })\n\n const selectable = renderThemeColorSelectable(value.selectable, {\n colorPalette,\n baseBg,\n blendMode,\n })\n\n const shadow: ThemeColorShadow = {\n outline: renderColorValue(value.shadow.outline, colorOptions),\n umbra: renderColorValue(value.shadow.umbra, {\n ...colorOptions,\n bg: undefined,\n colorPalette: {...colorPalette, black: '#000000'},\n }),\n penumbra: renderColorValue(value.shadow.penumbra, {\n ...colorOptions,\n bg: undefined,\n colorPalette: {...colorPalette, black: '#000000'},\n }),\n ambient: renderColorValue(value.shadow.ambient, {\n ...colorOptions,\n bg: undefined,\n colorPalette: {...colorPalette, black: '#000000'},\n }),\n }\n\n return {\n _blend: blendMode,\n _dark: value._dark,\n accent: {\n fg: renderColorValue(value.accent.fg, colorOptions),\n },\n avatar: renderThemeColorAvatar(value.avatar, {baseBg, colorPalette, blendMode}),\n backdrop: renderColorValue(value.backdrop, colorOptions),\n badge: renderThemeColorBadge(value.badge, {baseBg, colorPalette, blendMode}),\n bg: baseBg,\n border: renderColorValue(value.border, colorOptions),\n button,\n code: {\n bg: renderColorValue(value.code.bg, colorOptions),\n fg: renderColorValue(value.code.fg, colorOptions),\n },\n fg: renderColorValue(value.fg, colorOptions),\n focusRing: renderColorValue(value.focusRing, colorOptions),\n icon: renderColorValue(value.icon, colorOptions),\n input: renderThemeColorInput(value.input, {baseBg, colorPalette, blendMode}),\n kbd: renderThemeColorKBD(value.kbd, {baseBg, colorPalette, blendMode}),\n link: {\n fg: renderColorValue(value.link.fg, colorOptions),\n },\n muted: {\n bg: renderColorValue(value.muted.bg, colorOptions),\n fg: renderColorValue(value.muted.fg, colorOptions),\n },\n shadow,\n skeleton: {\n from: renderColorValue(value.skeleton.from, colorOptions),\n to: renderColorValue(value.skeleton.to, colorOptions),\n },\n syntax: renderSyntaxColorTheme(value.syntax, {baseBg, colorPalette, blendMode}),\n selectable,\n }\n}\n\nfunction renderThemeColorKBD(\n value: ThemeColorKBD,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorKBD {\n const {baseBg, blendMode, colorPalette} = options\n\n const rootOptions: RenderColorValueOptions = {\n bg: baseBg,\n blendMode,\n colorPalette,\n }\n\n const bg = renderColorValue(value.bg, rootOptions)\n\n const colorOptions: RenderColorValueOptions = {\n bg,\n blendMode,\n colorPalette,\n }\n\n return {\n bg,\n fg: renderColorValue(value.fg, colorOptions),\n border: renderColorValue(value.border, colorOptions),\n }\n}\n\nfunction renderThemeColorAvatar(\n value: ThemeColorAvatar_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorAvatar_v2 {\n return {\n gray: renderThemeColorAvatarColor(value.gray, options),\n blue: renderThemeColorAvatarColor(value.blue, options),\n purple: renderThemeColorAvatarColor(value.purple, options),\n magenta: renderThemeColorAvatarColor(value.magenta, options),\n red: renderThemeColorAvatarColor(value.red, options),\n orange: renderThemeColorAvatarColor(value.orange, options),\n yellow: renderThemeColorAvatarColor(value.yellow, options),\n green: renderThemeColorAvatarColor(value.green, options),\n cyan: renderThemeColorAvatarColor(value.cyan, options),\n }\n}\n\nfunction renderThemeColorAvatarColor(\n value: ThemeColorAvatar_v2['gray'],\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorAvatar_v2['gray'] {\n const {baseBg, blendMode: rootBlendMode, colorPalette} = options\n const blendMode = value._blend || 'multiply'\n\n const rootOptions: RenderColorValueOptions = {\n bg: baseBg,\n blendMode: rootBlendMode,\n colorPalette,\n }\n\n const bg = renderColorValue(value.bg, rootOptions)\n\n const colorOptions: RenderColorValueOptions = {\n bg,\n blendMode,\n colorPalette,\n }\n\n return {\n _blend: blendMode,\n bg,\n fg: renderColorValue(value.fg, colorOptions),\n }\n}\n\nfunction renderThemeColorBadge(\n value: ThemeColorBadge_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorBadge_v2 {\n return {\n default: renderThemeColorBadgeColor(value.default, options),\n primary: renderThemeColorBadgeColor(value.primary, options),\n positive: renderThemeColorBadgeColor(value.positive, options),\n caution: renderThemeColorBadgeColor(value.caution, options),\n critical: renderThemeColorBadgeColor(value.critical, options),\n }\n}\n\nfunction renderThemeColorBadgeColor(\n value: ThemeColorBadgeTone_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorBadgeTone_v2 {\n const {baseBg, blendMode: rootBlendMode, colorPalette} = options\n\n // const blendMode = value._blend || 'multiply'\n\n const blendMode = rootBlendMode\n\n const rootOptions: RenderColorValueOptions = {\n bg: baseBg,\n blendMode: rootBlendMode,\n colorPalette,\n }\n\n const bg = renderColorValue(value.bg, rootOptions)\n\n const colorOptions: RenderColorValueOptions = {\n bg,\n blendMode,\n colorPalette,\n }\n\n return {\n bg,\n dot: renderColorValue(value.dot, colorOptions),\n fg: renderColorValue(value.fg, colorOptions),\n icon: renderColorValue(value.icon, colorOptions),\n }\n}\n\nfunction renderThemeColorButton(\n value: ThemeColorButton_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorButton_v2 {\n return {\n default: renderThemeColorButtonTones(value.default, options),\n ghost: renderThemeColorButtonTones(value.ghost, options),\n bleed: renderThemeColorButtonTones(value.bleed, options),\n }\n}\n\nfunction renderThemeColorButtonTones(\n value: ThemeColorButtonMode_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorButtonMode_v2 {\n return {\n default: renderThemeColorButtonStates(value.default, options),\n primary: renderThemeColorButtonStates(value.primary, options),\n positive: renderThemeColorButtonStates(value.positive, options),\n caution: renderThemeColorButtonStates(value.caution, options),\n critical: renderThemeColorButtonStates(value.critical, options),\n }\n}\n\nfunction renderThemeColorButtonStates(\n value: ThemeColorButtonTone_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorButtonTone_v2 {\n return {\n enabled: renderThemeColorState(value.enabled, options),\n hovered: renderThemeColorState(value.hovered, options),\n pressed: renderThemeColorState(value.pressed, options),\n selected: renderThemeColorState(value.selected, options),\n disabled: renderThemeColorState(value.disabled, options),\n }\n}\n\nfunction renderThemeColorState(\n value: ThemeColorState_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorState_v2 {\n const {baseBg, blendMode: rootBlendMode, colorPalette} = options\n const blendMode = value._blend || 'multiply'\n\n const rootOptions: RenderColorValueOptions = {\n bg: baseBg,\n blendMode: rootBlendMode,\n colorPalette,\n }\n\n const bg = renderColorValue(value.bg, rootOptions)\n\n const colorOptions: RenderColorValueOptions = {\n bg,\n blendMode,\n colorPalette,\n }\n\n return {\n _blend: blendMode,\n accent: {\n fg: renderColorValue(value.accent.fg, colorOptions),\n },\n avatar: renderThemeColorAvatar(value.avatar, {baseBg, colorPalette, blendMode}),\n badge: renderThemeColorBadge(value.badge, {baseBg: bg, colorPalette, blendMode}),\n bg,\n border: renderColorValue(value.border, colorOptions),\n code: {\n bg: renderColorValue(value.code.bg, colorOptions),\n fg: renderColorValue(value.code.fg, colorOptions),\n },\n fg: renderColorValue(value.fg, colorOptions),\n icon: renderColorValue(value.icon, colorOptions),\n link: {\n fg: renderColorValue(value.link.fg, colorOptions),\n },\n muted: {\n bg: renderColorValue(value.muted.bg, colorOptions),\n fg: renderColorValue(value.muted.fg, colorOptions),\n },\n kbd: {\n bg: renderColorValue(value.kbd.bg, colorOptions),\n fg: renderColorValue(value.kbd.fg, colorOptions),\n border: renderColorValue(value.kbd.border, colorOptions),\n },\n skeleton: {\n from: renderColorValue(value.skeleton?.from, colorOptions),\n to: renderColorValue(value.skeleton?.to, colorOptions),\n },\n }\n}\n\nfunction renderThemeColorInput(\n value: ThemeColorInput_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorInput_v2 {\n return {\n default: renderInputStatesColorTheme(value.default, options),\n invalid: renderInputStatesColorTheme(value.invalid, options),\n }\n}\n\nfunction renderInputStatesColorTheme(\n value: ThemeColorInputMode_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorInputMode_v2 {\n return {\n enabled: renderInputStateColorTheme(value.enabled, options),\n hovered: renderInputStateColorTheme(value.hovered, options),\n readOnly: renderInputStateColorTheme(value.readOnly, options),\n disabled: renderInputStateColorTheme(value.disabled, options),\n }\n}\n\nfunction renderInputStateColorTheme(\n value: ThemeColorInputState_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorInputState_v2 {\n const {baseBg, blendMode: rootBlendMode, colorPalette} = options\n const blendMode = value._blend || 'multiply'\n const rootOptions: RenderColorValueOptions = {colorPalette, bg: baseBg, blendMode: rootBlendMode}\n const bg = renderColorValue(value.bg, rootOptions)\n const colorOptions: RenderColorValueOptions = {colorPalette, bg, blendMode}\n\n return {\n _blend: blendMode,\n bg,\n border: renderColorValue(value.border, colorOptions),\n fg: renderColorValue(value.fg, colorOptions),\n muted: {\n bg: renderColorValue(value.muted.bg, colorOptions),\n },\n placeholder: renderColorValue(value.placeholder, colorOptions),\n }\n}\n\nfunction renderThemeColorSelectable(\n value: ThemeColorSelectable_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorSelectable_v2 {\n return {\n default: renderThemeColorSelectableStates(value.default, options),\n primary: renderThemeColorSelectableStates(value.primary, options),\n positive: renderThemeColorSelectableStates(value.positive, options),\n caution: renderThemeColorSelectableStates(value.caution, options),\n critical: renderThemeColorSelectableStates(value.critical, options),\n }\n}\n\nfunction renderThemeColorSelectableStates(\n value: ThemeColorSelectableTone_v2,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorSelectableTone_v2 {\n return {\n enabled: renderThemeColorState(value.enabled, options),\n hovered: renderThemeColorState(value.hovered, options),\n pressed: renderThemeColorState(value.pressed, options),\n selected: renderThemeColorState(value.selected, options),\n disabled: renderThemeColorState(value.disabled, options),\n }\n}\n\nfunction renderSyntaxColorTheme(\n value: ThemeColorSyntax,\n options: {\n baseBg: string\n blendMode: ThemeColorBlendModeKey\n colorPalette: ThemeColorPalette\n },\n): ThemeColorSyntax {\n const {colorPalette, baseBg, blendMode} = options\n const colorOptions: RenderColorValueOptions = {colorPalette, bg: baseBg, blendMode}\n\n return {\n atrule: renderColorValue(value.atrule, colorOptions),\n attrName: renderColorValue(value.attrName, colorOptions),\n attrValue: renderColorValue(value.attrValue, colorOptions),\n attribute: renderColorValue(value.attribute, colorOptions),\n boolean: renderColorValue(value.boolean, colorOptions),\n builtin: renderColorValue(value.builtin, colorOptions),\n cdata: renderColorValue(value.cdata, colorOptions),\n char: renderColorValue(value.char, colorOptions),\n class: renderColorValue(value.class, colorOptions),\n className: renderColorValue(value.className, colorOptions),\n comment: renderColorValue(value.comment, colorOptions),\n constant: renderColorValue(value.constant, colorOptions),\n deleted: renderColorValue(value.deleted, colorOptions),\n doctype: renderColorValue(value.doctype, colorOptions),\n entity: renderColorValue(value.entity, colorOptions),\n function: renderColorValue(value.function, colorOptions),\n hexcode: renderColorValue(value.hexcode, colorOptions),\n id: renderColorValue(value.id, colorOptions),\n important: renderColorValue(value.important, colorOptions),\n inserted: renderColorValue(value.inserted, colorOptions),\n keyword: renderColorValue(value.keyword, colorOptions),\n number: renderColorValue(value.number, colorOptions),\n operator: renderColorValue(value.operator, colorOptions),\n prolog: renderColorValue(value.prolog, colorOptions),\n property: renderColorValue(value.property, colorOptions),\n pseudoClass: renderColorValue(value.pseudoClass, colorOptions),\n pseudoElement: renderColorValue(value.pseudoElement, colorOptions),\n punctuation: renderColorValue(value.punctuation, colorOptions),\n regex: renderColorValue(value.regex, colorOptions),\n selector: renderColorValue(value.selector, colorOptions),\n string: renderColorValue(value.string, colorOptions),\n symbol: renderColorValue(value.symbol, colorOptions),\n tag: renderColorValue(value.tag, colorOptions),\n unit: renderColorValue(value.unit, colorOptions),\n url: renderColorValue(value.url, colorOptions),\n variable: renderColorValue(value.variable, colorOptions),\n }\n}\n","import {ThemeConfig} from '../config'\nimport {defaultThemeConfig} from '../defaults/config'\nimport {defaultThemeFonts} from '../defaults/fonts'\nimport {RootTheme, RootTheme_v2} from '../system'\nimport {v2_v0} from '../versioning'\nimport {buildColorTheme} from './buildColorTheme'\nimport {renderThemeColorSchemes} from './renderColorTheme'\n\n/** @internal */\nexport function buildTheme(config?: ThemeConfig): RootTheme {\n const colorTheme = buildColorTheme(config)\n\n const v2: RootTheme_v2 = {\n _version: 2,\n avatar: config?.avatar ?? defaultThemeConfig.avatar,\n button: config?.button ?? defaultThemeConfig.button,\n card: config?.card ?? defaultThemeConfig.card,\n // How colors are generated:\n // 1. Merge custom tokens with default tokens\n // 2. Generate tree of color keys (gray/500, black, white, etc.)\n // 3. Apply mixing and render to hex values\n // render(build(mergeWithDefaults()))\n color: renderThemeColorSchemes(colorTheme, config),\n container: config?.container ?? defaultThemeConfig.container,\n font: config?.font ?? defaultThemeFonts,\n input: config?.input ?? defaultThemeConfig.input,\n layer: config?.layer ?? defaultThemeConfig.layer,\n media: config?.media ?? defaultThemeConfig.media,\n radius: config?.radius ?? defaultThemeConfig.radius,\n shadow: config?.shadow ?? defaultThemeConfig.shadow,\n space: config?.space ?? defaultThemeConfig.space,\n style: config?.style ?? defaultThemeConfig.style,\n }\n\n return v2_v0(v2)\n}\n","import {defaultThemeConfig} from './defaults/config'\nimport {RootTheme, RootTheme_v2, Theme, ThemeColorCardToneKey, ThemeColorSchemeKey} from './system'\nimport {is_v2, v0_v2, v2_v0} from './versioning'\n\n// cache[scheme][tone][rootTheme] = theme\nconst cache = new Map<\n ThemeColorSchemeKey,\n Map<ThemeColorCardToneKey, WeakMap<RootTheme | RootTheme_v2, Theme>>\n>()\n\n/** @internal */\nexport function getScopedTheme(\n themeProp: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n): Theme {\n const cachedTheme = _getCachedTheme(themeProp, scheme, tone)\n\n if (cachedTheme) return cachedTheme\n\n const v0 = is_v2(themeProp) ? v2_v0(themeProp) : themeProp\n const v2 = is_v2(themeProp) ? themeProp : v0_v2(themeProp)\n\n const colorScheme_v0 = v0.color[scheme] || v0.color.light\n const color_v0 = colorScheme_v0[tone] || colorScheme_v0.default\n const layer_v0 = v0.layer || defaultThemeConfig.layer\n\n const colorScheme_v2 = v2.color[scheme] || v2.color.light\n const color_v2 = colorScheme_v2[tone] || colorScheme_v2.default\n const layer_v2 = v2.layer || defaultThemeConfig.layer\n\n const theme: Theme = {\n sanity: {\n ...v0,\n color: color_v0,\n layer: layer_v0,\n v2: {\n ...v2,\n _resolved: true,\n color: color_v2,\n layer: layer_v2,\n },\n },\n }\n\n _setCachedTheme(themeProp, scheme, tone, theme)\n\n return theme\n}\n\nfunction _getCachedTheme(\n rootTheme: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n) {\n const schemeCache = cache.get(scheme)\n\n if (!schemeCache) return undefined\n\n const toneCache = schemeCache.get(tone)\n\n if (!toneCache) return undefined\n\n return toneCache.get(rootTheme)\n}\n\nfunction _setCachedTheme(\n rootTheme: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n theme: Theme,\n) {\n if (!cache.has(scheme)) cache.set(scheme, new Map())\n\n const schemeCache = cache.get(scheme)!\n\n if (!schemeCache.has(tone)) schemeCache.set(tone, new WeakMap())\n\n const toneCache = schemeCache.get(tone)!\n\n toneCache.set(rootTheme, theme)\n}\n"],"names":["createSelectableTones","opts","base","dark","solid","muted","default","_createSelectableStates","primary","positive","caution","critical","tone","enabled","selectable","state","hovered","pressed","selected","disabled","createSolidTones","name","transparent","createButtonTones","mode","button","createButtonModes","ghost","bleed","createCardStates","card","black","white","colors","lightest","lighter","light","darker","darkest","spots","gray","red","orange","yellow","green","cyan","blue","purple","magenta","tones","bg","fg","border","focusRing","defaultOpts","_ref","shadow","outline","umbra","penumbra","ambient","skeleton","from","to","_ref2","color","bg2","icon","accent","link","code","_ref3","_ref4","_ref5","input","placeholder","_ref6","spot","_ref7","key","syntax","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","doctype","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","createInputModes","readOnly","invalid","createMutedTones","createSpot","createColorTheme","partialOpts","arguments","length","undefined","builders","_createColorScheme","_createColor","BORDER_WIDTH","OUTLINE_WIDTH","defaultThemeConfig","_version","avatar","sizes","distance","size","offset","width","textWeight","container","media","layer","dialog","zOffset","popover","tooltip","radius","space","checkbox","radio","markSize","switch","height","padding","transitionDurationMs","transitionTimingFunction","select","text","style","root","transition","defaultThemeFonts","family","weights","regular","medium","semibold","bold","ascenderHeight","descenderHeight","fontSize","iconSize","lineHeight","letterSpacing","heading","label","cache","WeakMap","themeColor_v0_v2","color_v0","_a","_b","_c","cached_v2","get","stateThemeColor_v0_v2","color_v2","_blend","_dark","backdrop","badge","stateTonesThemeColor_v0_v2","inputStatesThemeColor_v0_v2","kbd","set","v0","t","dot","states","inputStateThemeColor_v0_v2","getTheme_v2","theme","sanity","v2","_resolved","font","fonts","shadows","styles","is_v0","themeProp","is_v2","v0_v2","_unused_focusRing","v2_v0","cachedTheme","themeColor_v2_v0","inputStatesThemeColor_v2_v0","inputStateThemeColor_v2_v0","THEME_COLOR_SCHEMES","THEME_COLOR_BLEND_MODES","THEME_COLOR_CARD_TONES","THEME_COLOR_STATE_TONES","THEME_COLOR_STATES","THEME_COLOR_BUTTON_MODES","THEME_COLOR_INPUT_MODES","THEME_COLOR_INPUT_STATES","THEME_COLOR_AVATAR_COLORS","COLOR_HUES","isColorBlendModeValue","str","includes","isColorHueKey","isColorTintKey","COLOR_TINTS","isColorButtonMode","COLOR_CONFIG_STATE_KEYS","COLOR_CONFIG_CARD_KEYS","COLOR_CONFIG_BLEND_KEYS","COLOR_CONFIG_AVATAR_COLORS","COLOR_CONFIG_CARD_TONES","COLOR_CONFIG_STATE_TONES","COLOR_CONFIG_STATES","COLOR_CONFIG_INPUT_MODES","COLOR_CONFIG_INPUT_STATES","parseTokenKey","segments","split","segment0","shift","isColorConfigBaseTone","join","isColorConfigBaseKey","type","isColorConfigBlendKey","segment1","isColorConfigStateTone","segment2","isColorConfigStateKey","isColorMixPercentValue","test","parseTokenValue","nextSegment","segment0mix","tint","mix","Number","slice","isColorOpacityValue","opacity","isColorValue","hue","segment1mix","value","isColorTokenValue","compileColorTokenValue","node","concat","DEFAULT_COLOR_TOKEN_VALUE","resolveColorTokenValue","context","scheme","Error","defaultColorTokens","_hue","isRecord","Boolean","Array","isArray","merge","_len","records","_key","_records","filter","reduce","_merge","acc","source","Object","keys","prevValue","nextValue","resolveColorTokens","inputTokens","tokens","resolveBaseColorTokens","resolveButtonColorTokens","resolveInputColorTokens","resolveSelectableColorTokens","sparseTokens","resolveBaseColorTones","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","spec","resolveButtonToneColorTokens","resolveButtonModeColorTokens","resolveButtonStateColorTokens","_Q","_R","_S","_T","_U","_V","_W","_X","_Y","_Z","resolveInputModeColorTokens","resolveInputStateColorTokens","resolveSelectableToneColorTokens","resolveSelectableStateColorTokens","buildColorTheme","config","resolvedConfig","buildColorScheme","options","buildCardColorTheme","blendMode","_color","buildAvatarColorTheme","buildBadgeColorTheme","buildButtonColorTheme","buildInputColorTheme","buildSelectableColorTheme","buildShadowColorTheme","buildSyntaxColorTheme","stateTokens","_buildAvatarColorTheme","_buildBadgeColorTheme","parentTokens","modes","buildButtonTonesColorTheme","buildButtonStatesColorTheme","buildButtonStateColorTheme","buildInputStatesColorTheme","buildInputStateColorTheme","buildSelectableStatesColorTheme","buildSelectableStateColorTheme","defaultColorPalette","mixChannel","b","s","weight","diff","delta","r","g","multiplyChannel","multiply","screenChannel","screen","lerp","x","y","a","invlerp","clamp","min","max","Math","range","x1","y1","x2","y2","round","hexToRgb","hex","hexR","hexG","hexB","parseInt","rgbaToRGBA","rgba","values","replace","parseFloat","rgbToHex","toString","rgbToHsl","_ref8","cmin","cmax","h","l","abs","toFixed","hslToRgb","hsl","c","m","HEX_CHARS","HSL_RE","isHexChars","indexOf","isHex","parseHsl","res","exec","parseColor","startsWith","getContrastRatio","rgb1","rgb2","c1","rgb_lrgb","c2","l1","lrgb_luminance","l2","_ref9","rgb_lrgb1","v","_ref10","rgb","RGB_RANGE","mixThemeColor","paletteRange","convertedBgColor","convertedColor","resultColor","renderColorValue","colorPalette","renderColorHex","hexBeforeMix","mixOptions","err","console","warn","renderThemeColorSchemes","palette","renderThemeColorScheme","toneEntries","entries","transparentTone","find","_ref11","k","defaultTone","_ref12","renderedTransparentTone","renderThemeColor","renderedDefaultTone","fromEntries","_ref13","map","_ref14","baseBg","colorOptions","renderThemeColorButton","renderThemeColorSelectable","renderThemeColorAvatar","renderThemeColorBadge","renderThemeColorInput","renderThemeColorKBD","renderSyntaxColorTheme","rootOptions","renderThemeColorAvatarColor","rootBlendMode","renderThemeColorBadgeColor","renderThemeColorButtonTones","renderThemeColorButtonStates","renderThemeColorState","renderInputStatesColorTheme","renderInputStateColorTheme","renderThemeColorSelectableStates","buildTheme","colorTheme","Map","getScopedTheme","_getCachedTheme","colorScheme_v0","layer_v0","colorScheme_v2","layer_v2","_setCachedTheme","rootTheme","schemeCache","toneCache","has"],"mappings":"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"}
|