@sanity/ui 2.0.2 → 2.0.4

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/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/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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"}
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":["cache","COLOR_HUES","COLOR_TINTS","_color","color"],"mappings":"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"}