@sanity/ui 3.0.0-static.37 → 3.0.0-static.39
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/_chunks-cjs/_visual-editing.cjs +3 -3
- package/dist/_chunks-cjs/_visual-editing.cjs.map +1 -1
- package/dist/_chunks-es/_visual-editing.js +3 -3
- package/dist/_chunks-es/_visual-editing.js.map +1 -1
- package/dist/css/index.cjs.map +1 -1
- package/dist/css/index.css +1 -1
- package/dist/css/index.d.cts +2 -1
- package/dist/css/index.d.ts +2 -1
- package/dist/css/index.js.map +1 -1
- package/dist/theme.cjs +2 -2
- package/dist/theme.cjs.map +1 -1
- package/dist/theme.js +2 -2
- package/dist/theme.js.map +1 -1
- package/package.json +1 -1
- package/src/core/components/tab/tab.tsx +1 -1
- package/src/core/hooks/useMediaIndex/useMediaIndex.ts +3 -3
- package/src/css/primitives/badge/types.ts +1 -1
- package/src/css/primitives/card/card.css.ts +7 -0
- package/src/css/primitives/root/root.ts +1 -1
- package/src/css/theme/buildCSSTheme.ts +2 -1
- package/src/theme/defaults/color.ts +2 -2
package/dist/theme.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.cjs","sources":["../src/theme/constants.ts","../src/theme/_parseColorToken.ts","../src/theme/defaults/color.ts","../src/theme/defaults/common.ts","../src/theme/defaults/fonts.ts","../src/theme/merge.ts","../src/theme/resolveTokens.ts","../src/theme/buildTheme.ts"],"sourcesContent":["/** @public */\nexport const HUES = [\n 'gray',\n 'blue',\n 'purple',\n 'magenta',\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'cyan',\n] as const\n\n/** @public */\nexport const TINTS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950] as const\n\n/** @public */\nexport const AVATAR_SIZE = [0, 1, 2, 3] as const\n\n/** @public */\nexport const CONTAINER_SCALE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const CONTAINER: [...typeof CONTAINER_SCALE, 'auto'] = [...CONTAINER_SCALE, 'auto']\n\n/** @public */\nexport const RADIUS = [0, 1, 2, 3, 4, 5, 6] as const\n\n/** @public */\nexport const SPACE = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] as const\n\n/** @public */\nexport const FONT_CODE_SIZE = [0, 1, 2, 3, 4] as const\n\n/** @public */\nexport const FONT_HEADING_SIZE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const FONT_LABEL_SIZE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const FONT_TEXT_SIZE = [0, 1, 2, 3, 4] as const\n\n/** @public */\nexport const SHADOW = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const COLOR_SCHEMES = ['light', 'dark'] as const\n\n/** @public */\nexport const COLOR_VARIANTS = ['tinted', 'solid'] as const\n\n/** @public */\nexport const AVATAR_COLORS = [\n 'gray',\n 'blue',\n 'purple',\n 'magenta',\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'cyan',\n] as const\n\n/** @public */\nexport const CARD_TONES = [\n 'transparent',\n 'default',\n 'neutral',\n 'primary', // selections\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const ELEMENT_TONES = [\n 'default',\n 'neutral',\n 'primary', // selections\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const BUTTON_MODES = ['default', 'ghost', 'bleed'] as const\n","import {HUES, TINTS} from './constants'\nimport type {ColorToken, Hue, Tint} from './types'\n\nconst RE_PERCENTAGE = /^([0-9]+)%/\nconst RE_OPACITY = /^(1|0\\.[0-9]+)?/\n\n/** @internal */\nexport interface ColorNode {\n type: 'color'\n name: 'black' | 'white'\n /** Between 0 and 1 */\n opacity: number\n /** Between 0 and 1 */\n mix: number\n}\n\n/** @internal */\nexport interface ColorTintNode {\n type: 'tint'\n hue: Hue\n tint: Tint\n /** Between 0 and 1 */\n opacity: number\n /** Between 0 and 1 */\n mix: number\n}\n\n/** @internal */\nexport interface ColorInheritNode {\n type: 'inherit'\n}\n\n/** @internal */\nexport type TokenizeColorResult = ColorNode | ColorTintNode | ColorInheritNode\n\n/** @internal */\nexport function _parseColorToken(str: ColorToken, options: {defaultHue: Hue}): TokenizeColorResult {\n const {defaultHue} = options\n\n let cursor = 0\n\n return parseColorNode()\n\n function _consume(s: string) {\n if (str.startsWith(s, cursor)) {\n cursor += s.length\n\n return s\n }\n\n return undefined\n }\n\n function _peek() {\n return str[cursor]\n }\n\n function parseColorNode(): ColorNode | ColorTintNode | ColorInheritNode {\n ignoreWhitespace()\n\n let v = _consume('black') || _consume('white')\n\n if (v) {\n return {\n type: 'color',\n name: v as 'black' | 'white',\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n\n for (const hue of HUES) {\n v = _consume(String(hue))\n\n if (v) {\n if (_peek() !== '-') {\n throw new Error(`Expected \"-\" after hue key`)\n }\n\n cursor += 1\n\n const tint = parseTint()\n\n if (!tint) {\n throw new Error(`Expected tint after hue`)\n }\n\n return {\n type: 'tint',\n hue,\n tint,\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n }\n\n const tint = parseTint()\n\n if (tint) {\n return {\n type: 'tint',\n hue: defaultHue,\n tint,\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n\n if (str === 'inherit') {\n return {\n type: 'inherit',\n }\n }\n\n throw new Error(`Invalid color: ${str}`)\n }\n\n function parseTint() {\n ignoreWhitespace()\n\n let v = Number(str.slice(cursor, cursor + 3)) as Tint\n\n if (TINTS.includes(v)) {\n cursor += 3\n\n return v\n }\n\n v = Number(str.slice(cursor, cursor + 2)) as Tint\n\n if (TINTS.includes(v)) {\n cursor += 2\n\n return v\n }\n\n return undefined\n }\n\n function parseMix() {\n ignoreWhitespace()\n\n const match = RE_PERCENTAGE.exec(str.slice(cursor))\n\n if (match) {\n cursor += match[0].length\n\n return parseFloat(match[1]) / 100\n }\n\n return undefined\n }\n\n function parseOpacity() {\n ignoreWhitespace()\n\n if (_peek() === '/') {\n cursor += 1\n\n const match = RE_OPACITY.exec(str.slice(cursor))\n\n if (match) {\n cursor += match[0].length\n\n return parseFloat(match[1])\n }\n\n cursor -= 1\n }\n\n return undefined\n }\n\n function ignoreWhitespace() {\n while (_peek() === ' ') {\n cursor++\n }\n }\n}\n","import type {ColorTokens, PartialTokens} from '../types'\n\n/** @internal */\nexport const defaultColor: PartialTokens<ColorTokens> = {\n '*': {\n backdrop: ['gray-100/0.5', 'black/0.5'],\n code: {\n bg: ['50', '950'],\n fg: ['700', '300'],\n token: {\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: ['green-600', 'green-400'],\n keyword: ['magenta-600', 'magenta-400'],\n number: ['purple-600', 'purple-400'],\n operator: ['magenta-600', 'magenta-400'],\n prolog: ['gray-600', 'gray-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 focusRing: ['blue-500', 'blue-500'],\n link: {\n fg: ['blue-600', 'blue-400'],\n },\n shadow: {\n outline: ['600/0.3', '500/0.4'],\n umbra: ['600/0.1', 'black/0.2'],\n penumbra: ['600/0.07', 'black/0.14'],\n ambient: ['600/0.06', 'black/0.12'],\n },\n skeleton: {\n from: ['200 70%', '800 35%'],\n to: ['200 40%', '800 50%'],\n },\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['100 75%', '900 75%'],\n 4: ['300', '700'],\n },\n border: {\n 0: ['200', '700 50%'],\n 4: ['300 75%', '500'],\n },\n fg: {\n 0: ['900', '100'],\n 4: ['700', '300'],\n },\n },\n 'primary': {\n _hue: 'blue',\n bg: {0: ['inherit', 'inherit']},\n },\n 'suggest': {\n _hue: 'purple',\n bg: {0: ['inherit', 'inherit']},\n },\n 'positive': {\n _hue: 'green',\n bg: {0: ['inherit', 'inherit']},\n },\n 'caution': {\n _hue: 'yellow',\n bg: {0: ['inherit', 'inherit']},\n },\n 'critical': {\n _hue: 'red',\n bg: {0: ['inherit', 'inherit']},\n },\n },\n solid: {\n '*': {\n bg: {\n 0: ['500', '400'],\n 4: ['600', '300'],\n },\n border: {\n 0: ['400', '200'],\n 4: ['500', '100'],\n },\n fg: {\n 0: ['white', 'black'],\n 4: ['200', '700'],\n },\n },\n 'default': {\n bg: {\n 0: ['800', '200'],\n 4: ['black', 'white'],\n },\n border: {\n 0: ['700', '300'],\n 4: ['800', '200'],\n },\n },\n 'primary': {\n _hue: 'blue',\n },\n 'suggest': {\n _hue: 'purple',\n },\n 'positive': {\n _hue: 'green',\n },\n 'caution': {\n _hue: 'yellow',\n },\n 'critical': {\n _hue: 'red',\n },\n },\n },\n },\n 'transparent': {\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['gray-50', 'black'],\n 4: ['300 75%', '700 75%'],\n },\n border: {\n 0: ['200', '800 75%'],\n 4: ['400', '700'],\n },\n fg: {\n 0: ['black', '100'],\n 4: ['700', '400'],\n },\n },\n },\n },\n },\n 'default': {\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['white', '950'],\n 4: ['300 75%', '700'],\n },\n border: {\n 0: ['200', '800 75%'],\n 4: ['400', '700'],\n },\n fg: {\n 0: ['black', 'white'],\n 4: ['600', '400'],\n },\n },\n },\n },\n },\n 'primary': {\n _hue: 'blue',\n },\n 'suggest': {\n _hue: 'purple',\n },\n 'positive': {\n _hue: 'green',\n },\n 'caution': {\n _hue: 'yellow',\n },\n 'critical': {\n _hue: 'red',\n },\n}\n","import type {Theme} from '../types'\n\nconst BORDER_WIDTH = 1\nconst OUTLINE_WIDTH = 0.5\n\nexport const defaultTheme: Omit<Theme, '_version' | '_tokens' | 'color' | 'font' | 'palette'> = {\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, 7, 11, 15, 23, 43, 75, 127],\n shadow: [\n undefined,\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}\n","import type {Fonts} from '../types'\n\nexport const defaultFonts: Fonts = {\n code: {\n family: 'ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace',\n weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n scale: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 16,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 18.75,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n customIconSize: 24,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 21.5,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n customIconSize: 28,\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 featureSettings: `'liga' 1, 'calt' 1, 'ss01' 1, 'ss03' 1, 'zero' 1`,\n weight: {\n regular: 600,\n medium: 700,\n semibold: 800,\n bold: 900,\n },\n scale: [\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 17,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: -0.25,\n customIconSize: 28,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 27,\n iconSize: 41,\n lineHeight: 35,\n letterSpacing: -0.5,\n customIconSize: 36,\n },\n {\n ascenderHeight: 9.5,\n descenderHeight: 8.5,\n fontSize: 33,\n iconSize: 49,\n lineHeight: 41,\n letterSpacing: -1,\n customIconSize: 44,\n },\n {\n ascenderHeight: 10.5,\n descenderHeight: 9.5,\n fontSize: 38,\n iconSize: 53,\n lineHeight: 47,\n letterSpacing: -1,\n customIconSize: 48,\n },\n ],\n },\n label: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", system-ui, sans-serif',\n weight: {\n regular: 500,\n medium: 600,\n semibold: 700,\n bold: 800,\n },\n scale: [\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 8.1,\n iconSize: 13,\n lineHeight: 10,\n letterSpacing: 0.5,\n customIconSize: 8,\n },\n {\n ascenderHeight: 1.5,\n descenderHeight: 2.5,\n fontSize: 9.5,\n iconSize: 15,\n lineHeight: 11,\n letterSpacing: 0.5,\n customIconSize: 10,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 10.8,\n iconSize: 17,\n lineHeight: 12,\n letterSpacing: 0.5,\n customIconSize: 12,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 12.25,\n iconSize: 19,\n lineHeight: 13,\n letterSpacing: 0.5,\n customIconSize: 14,\n },\n {\n ascenderHeight: 1.5,\n descenderHeight: 2.5,\n fontSize: 13.6,\n iconSize: 21,\n lineHeight: 14,\n letterSpacing: 0.5,\n customIconSize: 16,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 15,\n iconSize: 23,\n lineHeight: 15,\n letterSpacing: 0.5,\n customIconSize: 18,\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 weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n scale: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 9.75,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 12.5,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 16,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 15.25,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 18,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n customIconSize: 24,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 20.75,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n customIconSize: 28,\n },\n ],\n },\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport function merge<T extends Record<string, any>>(...records: (T | undefined)[]): T {\n return (records.filter(Boolean) as T[]).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\nfunction isRecord(value: unknown): value is Record<string, any> {\n return value !== null && typeof value === 'object' && !Array.isArray(value)\n}\n","import {CARD_TONES, ELEMENT_TONES} from './constants'\nimport {merge} from './merge'\nimport type {\n CardColorTokens,\n CardTone,\n ElementColorTokens,\n ElementTone,\n PartialTokens,\n Tokens,\n} from './types'\n\nconst defaultElementTokens: ElementColorTokens = {\n _hue: 'gray',\n bg: {\n 0: ['950', '50'],\n 4: ['700', '300'],\n },\n border: {\n 0: ['700', '300'],\n 4: ['400', '600'],\n },\n fg: {\n 0: ['100', '900'],\n 4: ['400', '600'],\n },\n}\n\n/** @internal */\nexport function resolveTokens(tokens: PartialTokens<Tokens> = {}): Tokens {\n return {\n color: {\n '*': resolveCardColorTokens(tokens.color?.['*']),\n\n ...CARD_TONES.reduce(\n (acc, tone) => {\n return {\n ...acc,\n [tone]: resolveCardColorTokens(merge(tokens.color?.['*'], tokens.color?.[tone])),\n }\n },\n {} as Record<CardTone, CardColorTokens>,\n ),\n },\n }\n}\n\nfunction resolveCardColorTokens(\n tokens: PartialTokens<CardColorTokens> | undefined,\n): CardColorTokens {\n return {\n _hue: tokens?._hue ?? 'gray',\n avatar: {\n gray: {\n _hue: tokens?.avatar?.gray?._hue ?? 'gray',\n bg: tokens?.avatar?.gray?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.gray?.fg ?? ['white', '900'],\n },\n blue: {\n _hue: tokens?.avatar?.blue?._hue ?? 'blue',\n bg: tokens?.avatar?.blue?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.blue?.fg ?? ['white', '900'],\n },\n purple: {\n _hue: tokens?.avatar?.purple?._hue ?? 'purple',\n bg: tokens?.avatar?.purple?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.purple?.fg ?? ['white', '900'],\n },\n magenta: {\n _hue: tokens?.avatar?.magenta?._hue ?? 'magenta',\n bg: tokens?.avatar?.magenta?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.magenta?.fg ?? ['white', '900'],\n },\n red: {\n _hue: tokens?.avatar?.red?._hue ?? 'red',\n bg: tokens?.avatar?.red?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.red?.fg ?? ['white', '900'],\n },\n orange: {\n _hue: tokens?.avatar?.orange?._hue ?? 'orange',\n bg: tokens?.avatar?.orange?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.orange?.fg ?? ['white', '900'],\n },\n yellow: {\n _hue: tokens?.avatar?.yellow?._hue ?? 'yellow',\n bg: tokens?.avatar?.yellow?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.yellow?.fg ?? ['white', '900'],\n },\n green: {\n _hue: tokens?.avatar?.green?._hue ?? 'green',\n bg: tokens?.avatar?.green?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.green?.fg ?? ['white', '900'],\n },\n cyan: {\n _hue: tokens?.avatar?.cyan?._hue ?? 'cyan',\n bg: tokens?.avatar?.cyan?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.cyan?.fg ?? ['white', '900'],\n },\n },\n backdrop: tokens?.backdrop ?? ['100', '900'],\n code: {\n bg: tokens?.code?.bg ?? ['50', '950'],\n fg: tokens?.code?.fg ?? ['600', '400'],\n token: {\n atrule: tokens?.code?.token?.atrule ?? ['600', '400'],\n attribute: tokens?.code?.token?.attribute ?? ['600', '400'],\n attrName: tokens?.code?.token?.attrName ?? ['600', '400'],\n attrValue: tokens?.code?.token?.attrValue ?? ['600', '400'],\n boolean: tokens?.code?.token?.boolean ?? ['600', '400'],\n builtin: tokens?.code?.token?.builtin ?? ['600', '400'],\n cdata: tokens?.code?.token?.cdata ?? ['600', '400'],\n char: tokens?.code?.token?.char ?? ['600', '400'],\n class: tokens?.code?.token?.class ?? ['600', '400'],\n className: tokens?.code?.token?.className ?? ['600', '400'],\n comment: tokens?.code?.token?.comment ?? ['400', '600'],\n constant: tokens?.code?.token?.constant ?? ['600', '400'],\n deleted: tokens?.code?.token?.deleted ?? ['600', '400'],\n doctype: tokens?.code?.token?.doctype ?? ['600', '400'],\n entity: tokens?.code?.token?.entity ?? ['600', '400'],\n function: tokens?.code?.token?.function ?? ['600', '400'],\n hexcode: tokens?.code?.token?.hexcode ?? ['600', '400'],\n id: tokens?.code?.token?.id ?? ['600', '400'],\n important: tokens?.code?.token?.important ?? ['600', '400'],\n inserted: tokens?.code?.token?.inserted ?? ['600', '400'],\n keyword: tokens?.code?.token?.keyword ?? ['600', '400'],\n number: tokens?.code?.token?.number ?? ['600', '400'],\n operator: tokens?.code?.token?.operator ?? ['600', '400'],\n prolog: tokens?.code?.token?.prolog ?? ['600', '400'],\n property: tokens?.code?.token?.property ?? ['600', '400'],\n pseudoClass: tokens?.code?.token?.pseudoClass ?? ['600', '400'],\n pseudoElement: tokens?.code?.token?.pseudoElement ?? ['600', '400'],\n punctuation: tokens?.code?.token?.punctuation ?? ['600', '400'],\n regex: tokens?.code?.token?.regex ?? ['600', '400'],\n selector: tokens?.code?.token?.selector ?? ['600', '400'],\n string: tokens?.code?.token?.string ?? ['600', '400'],\n symbol: tokens?.code?.token?.symbol ?? ['600', '400'],\n tag: tokens?.code?.token?.tag ?? ['600', '400'],\n unit: tokens?.code?.token?.unit ?? ['600', '400'],\n url: tokens?.code?.token?.url ?? ['600', '400'],\n variable: tokens?.code?.token?.variable ?? ['600', '400'],\n },\n },\n focusRing: tokens?.focusRing ?? ['500', '500'],\n link: {\n fg: tokens?.link?.fg ?? ['600', '400'],\n },\n shadow: {\n outline: tokens?.shadow?.outline ?? ['500', '500'],\n umbra: tokens?.shadow?.umbra ?? ['500', '500'],\n penumbra: tokens?.shadow?.penumbra ?? ['500', '500'],\n ambient: tokens?.shadow?.ambient ?? ['500', '500'],\n },\n skeleton: {\n from: tokens?.skeleton?.from ?? ['100', '900'],\n to: tokens?.skeleton?.to ?? ['50', '950'],\n },\n\n variant: {\n solid: {\n '*': resolveElementTokens(tokens?.variant?.solid?.['*']),\n ...ELEMENT_TONES.reduce(\n (acc, tone) => {\n acc[tone] = resolveElementTokens(\n merge(tokens, tokens?.variant?.solid?.['*'], tokens?.variant?.solid?.[tone]),\n )\n\n return acc\n },\n {} as Record<ElementTone, ElementColorTokens>,\n ),\n },\n tinted: {\n '*': resolveElementTokens(tokens?.variant?.tinted?.['*']),\n ...ELEMENT_TONES.reduce(\n (acc, tone) => {\n acc[tone] = resolveElementTokens(\n merge(tokens, tokens?.variant?.tinted?.['*'], tokens?.variant?.tinted?.[tone]),\n )\n\n return acc\n },\n {} as Record<ElementTone, ElementColorTokens>,\n ),\n },\n },\n }\n}\n\nfunction resolveElementTokens(tokens?: PartialTokens<ElementColorTokens>): ElementColorTokens {\n return {\n _hue: tokens?._hue ?? 'gray',\n bg: {\n 0: tokens?.bg?.[0] ?? defaultElementTokens.bg[0],\n 4: tokens?.bg?.[4] ?? defaultElementTokens.bg[4],\n },\n border: {\n 0: tokens?.border?.[0] ?? defaultElementTokens.border[0],\n 4: tokens?.border?.[4] ?? defaultElementTokens.border[4],\n },\n fg: {\n 0: tokens?.fg?.[0] ?? defaultElementTokens.fg[0],\n 4: tokens?.fg?.[4] ?? defaultElementTokens.fg[4],\n },\n }\n}\n","import {black, hues, white} from '@sanity/color'\n\nimport {defaultColor} from './defaults/color'\nimport {defaultTheme} from './defaults/common'\nimport {defaultFonts} from './defaults/fonts'\nimport {resolveTokens} from './resolveTokens'\nimport type {Theme, ThemeOptions} from './types'\n\n/** @public */\nexport function buildTheme(options?: ThemeOptions): Theme {\n const tokens = resolveTokens({\n color: options?.color ?? defaultColor,\n })\n\n return {\n _version: 3,\n _tokens: tokens,\n avatar: defaultTheme.avatar,\n button: defaultTheme.button,\n card: defaultTheme.card,\n color: tokens.color,\n container: defaultTheme.container,\n font: defaultFonts,\n input: defaultTheme.input,\n layer: defaultTheme.layer,\n media: defaultTheme.media,\n palette: {black, white, hues},\n radius: defaultTheme.radius,\n shadow: defaultTheme.shadow,\n space: defaultTheme.space,\n }\n}\n"],"names":["HUES","TINTS","AVATAR_SIZE","CONTAINER_SCALE","CONTAINER","RADIUS","SPACE","FONT_CODE_SIZE","FONT_HEADING_SIZE","FONT_LABEL_SIZE","FONT_TEXT_SIZE","SHADOW","COLOR_SCHEMES","COLOR_VARIANTS","AVATAR_COLORS","CARD_TONES","ELEMENT_TONES","BUTTON_MODES","RE_PERCENTAGE","RE_OPACITY","_parseColorToken","str","options","defaultHue","cursor","parseColorNode","_consume","s","startsWith","length","_peek","v","type","name","opacity","parseOpacity","mix","parseMix","hue","String","Error","tint","parseTint","Number","slice","includes","match","exec","parseFloat","ignoreWhitespace","defaultColor","backdrop","code","bg","fg","token","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","focusRing","link","shadow","outline","umbra","penumbra","ambient","skeleton","from","to","variant","tinted","border","_hue","solid","defaultTheme","avatar","sizes","distance","size","offset","width","button","textWeight","BORDER_WIDTH","card","OUTLINE_WIDTH","container","media","layer","dialog","zOffset","popover","tooltip","radius","undefined","space","input","checkbox","radio","markSize","switch","height","padding","transitionDurationMs","transitionTimingFunction","select","text","defaultFonts","family","weight","regular","medium","semibold","bold","scale","ascenderHeight","descenderHeight","fontSize","iconSize","lineHeight","letterSpacing","customIconSize","heading","featureSettings","label","merge","records","filter","Boolean","reduce","_merge","acc","source","key","Object","keys","prevValue","nextValue","isRecord","value","Array","isArray","defaultElementTokens","resolveTokens","tokens","color","resolveCardColorTokens","tone","gray","blue","purple","magenta","red","orange","yellow","green","cyan","doctype","resolveElementTokens","buildTheme","_version","_tokens","font","palette","black","white","hues"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theme.cjs","sources":["../src/theme/constants.ts","../src/theme/_parseColorToken.ts","../src/theme/defaults/color.ts","../src/theme/defaults/common.ts","../src/theme/defaults/fonts.ts","../src/theme/merge.ts","../src/theme/resolveTokens.ts","../src/theme/buildTheme.ts"],"sourcesContent":["/** @public */\nexport const HUES = [\n 'gray',\n 'blue',\n 'purple',\n 'magenta',\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'cyan',\n] as const\n\n/** @public */\nexport const TINTS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950] as const\n\n/** @public */\nexport const AVATAR_SIZE = [0, 1, 2, 3] as const\n\n/** @public */\nexport const CONTAINER_SCALE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const CONTAINER: [...typeof CONTAINER_SCALE, 'auto'] = [...CONTAINER_SCALE, 'auto']\n\n/** @public */\nexport const RADIUS = [0, 1, 2, 3, 4, 5, 6] as const\n\n/** @public */\nexport const SPACE = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] as const\n\n/** @public */\nexport const FONT_CODE_SIZE = [0, 1, 2, 3, 4] as const\n\n/** @public */\nexport const FONT_HEADING_SIZE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const FONT_LABEL_SIZE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const FONT_TEXT_SIZE = [0, 1, 2, 3, 4] as const\n\n/** @public */\nexport const SHADOW = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const COLOR_SCHEMES = ['light', 'dark'] as const\n\n/** @public */\nexport const COLOR_VARIANTS = ['tinted', 'solid'] as const\n\n/** @public */\nexport const AVATAR_COLORS = [\n 'gray',\n 'blue',\n 'purple',\n 'magenta',\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'cyan',\n] as const\n\n/** @public */\nexport const CARD_TONES = [\n 'transparent',\n 'default',\n 'neutral',\n 'primary', // selections\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const ELEMENT_TONES = [\n 'default',\n 'neutral',\n 'primary', // selections\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const BUTTON_MODES = ['default', 'ghost', 'bleed'] as const\n","import {HUES, TINTS} from './constants'\nimport type {ColorToken, Hue, Tint} from './types'\n\nconst RE_PERCENTAGE = /^([0-9]+)%/\nconst RE_OPACITY = /^(1|0\\.[0-9]+)?/\n\n/** @internal */\nexport interface ColorNode {\n type: 'color'\n name: 'black' | 'white'\n /** Between 0 and 1 */\n opacity: number\n /** Between 0 and 1 */\n mix: number\n}\n\n/** @internal */\nexport interface ColorTintNode {\n type: 'tint'\n hue: Hue\n tint: Tint\n /** Between 0 and 1 */\n opacity: number\n /** Between 0 and 1 */\n mix: number\n}\n\n/** @internal */\nexport interface ColorInheritNode {\n type: 'inherit'\n}\n\n/** @internal */\nexport type TokenizeColorResult = ColorNode | ColorTintNode | ColorInheritNode\n\n/** @internal */\nexport function _parseColorToken(str: ColorToken, options: {defaultHue: Hue}): TokenizeColorResult {\n const {defaultHue} = options\n\n let cursor = 0\n\n return parseColorNode()\n\n function _consume(s: string) {\n if (str.startsWith(s, cursor)) {\n cursor += s.length\n\n return s\n }\n\n return undefined\n }\n\n function _peek() {\n return str[cursor]\n }\n\n function parseColorNode(): ColorNode | ColorTintNode | ColorInheritNode {\n ignoreWhitespace()\n\n let v = _consume('black') || _consume('white')\n\n if (v) {\n return {\n type: 'color',\n name: v as 'black' | 'white',\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n\n for (const hue of HUES) {\n v = _consume(String(hue))\n\n if (v) {\n if (_peek() !== '-') {\n throw new Error(`Expected \"-\" after hue key`)\n }\n\n cursor += 1\n\n const tint = parseTint()\n\n if (!tint) {\n throw new Error(`Expected tint after hue`)\n }\n\n return {\n type: 'tint',\n hue,\n tint,\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n }\n\n const tint = parseTint()\n\n if (tint) {\n return {\n type: 'tint',\n hue: defaultHue,\n tint,\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n\n if (str === 'inherit') {\n return {\n type: 'inherit',\n }\n }\n\n throw new Error(`Invalid color: ${str}`)\n }\n\n function parseTint() {\n ignoreWhitespace()\n\n let v = Number(str.slice(cursor, cursor + 3)) as Tint\n\n if (TINTS.includes(v)) {\n cursor += 3\n\n return v\n }\n\n v = Number(str.slice(cursor, cursor + 2)) as Tint\n\n if (TINTS.includes(v)) {\n cursor += 2\n\n return v\n }\n\n return undefined\n }\n\n function parseMix() {\n ignoreWhitespace()\n\n const match = RE_PERCENTAGE.exec(str.slice(cursor))\n\n if (match) {\n cursor += match[0].length\n\n return parseFloat(match[1]) / 100\n }\n\n return undefined\n }\n\n function parseOpacity() {\n ignoreWhitespace()\n\n if (_peek() === '/') {\n cursor += 1\n\n const match = RE_OPACITY.exec(str.slice(cursor))\n\n if (match) {\n cursor += match[0].length\n\n return parseFloat(match[1])\n }\n\n cursor -= 1\n }\n\n return undefined\n }\n\n function ignoreWhitespace() {\n while (_peek() === ' ') {\n cursor++\n }\n }\n}\n","import type {ColorTokens, PartialTokens} from '../types'\n\n/** @internal */\nexport const defaultColor: PartialTokens<ColorTokens> = {\n '*': {\n backdrop: ['gray-100/0.5', 'black/0.5'],\n code: {\n bg: ['50', '950'],\n fg: ['700', '300'],\n token: {\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: ['green-600', 'green-400'],\n keyword: ['magenta-600', 'magenta-400'],\n number: ['purple-600', 'purple-400'],\n operator: ['magenta-600', 'magenta-400'],\n prolog: ['gray-600', 'gray-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 focusRing: ['blue-500', 'blue-500'],\n link: {\n fg: ['blue-600', 'blue-400'],\n },\n shadow: {\n outline: ['600/0.3', '500/0.4'],\n umbra: ['600/0.1', 'black/0.2'],\n penumbra: ['600/0.07', 'black/0.14'],\n ambient: ['600/0.06', 'black/0.12'],\n },\n skeleton: {\n from: ['200 70%', '800 35%'],\n to: ['200 40%', '800 50%'],\n },\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['100 75%', '900 75%'],\n 4: ['300', '700'],\n },\n border: {\n 0: ['200', '700 50%'],\n 4: ['300 75%', '500'],\n },\n fg: {\n 0: ['900', '100'],\n 4: ['700', '300'],\n },\n },\n 'primary': {\n _hue: 'blue',\n bg: {0: ['inherit', 'inherit']},\n },\n 'suggest': {\n _hue: 'purple',\n bg: {0: ['inherit', 'inherit']},\n },\n 'positive': {\n _hue: 'green',\n bg: {0: ['inherit', 'inherit']},\n },\n 'caution': {\n _hue: 'yellow',\n bg: {0: ['inherit', 'inherit']},\n },\n 'critical': {\n _hue: 'red',\n bg: {0: ['inherit', 'inherit']},\n },\n },\n solid: {\n '*': {\n bg: {\n 0: ['500', '400'],\n 4: ['600', '300'],\n },\n border: {\n 0: ['400', '200'],\n 4: ['500', '100'],\n },\n fg: {\n 0: ['white', 'black'],\n 4: ['200', '700'],\n },\n },\n 'default': {\n bg: {\n 0: ['800', '200'],\n 4: ['black', 'white'],\n },\n border: {\n 0: ['700', '300'],\n 4: ['800', '200'],\n },\n },\n 'primary': {\n _hue: 'blue',\n },\n 'suggest': {\n _hue: 'purple',\n },\n 'positive': {\n _hue: 'green',\n },\n 'caution': {\n _hue: 'yellow',\n },\n 'critical': {\n _hue: 'red',\n },\n },\n },\n },\n 'transparent': {\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['gray-50', 'black'],\n 4: ['300 75%', '700 75%'],\n },\n border: {\n 0: ['200', '800 75%'],\n 4: ['400', '700'],\n },\n fg: {\n 0: ['black', '100'],\n 4: ['700', '400'],\n },\n },\n },\n },\n },\n 'default': {\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['white', '950'],\n 4: ['300 75%', '700'],\n },\n border: {\n 0: ['100', '800 75%'],\n 4: ['300', '700'],\n },\n fg: {\n 0: ['black', 'white'],\n 4: ['600', '400'],\n },\n },\n },\n },\n },\n 'primary': {\n _hue: 'blue',\n },\n 'suggest': {\n _hue: 'purple',\n },\n 'positive': {\n _hue: 'green',\n },\n 'caution': {\n _hue: 'yellow',\n },\n 'critical': {\n _hue: 'red',\n },\n}\n","import type {Theme} from '../types'\n\nconst BORDER_WIDTH = 1\nconst OUTLINE_WIDTH = 0.5\n\nexport const defaultTheme: Omit<Theme, '_version' | '_tokens' | 'color' | 'font' | 'palette'> = {\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, 7, 11, 15, 23, 43, 75, 127],\n shadow: [\n undefined,\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}\n","import type {Fonts} from '../types'\n\nexport const defaultFonts: Fonts = {\n code: {\n family: 'ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace',\n weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n scale: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 16,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 18.75,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n customIconSize: 24,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 21.5,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n customIconSize: 28,\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 featureSettings: `'liga' 1, 'calt' 1, 'ss01' 1, 'ss03' 1, 'zero' 1`,\n weight: {\n regular: 600,\n medium: 700,\n semibold: 800,\n bold: 900,\n },\n scale: [\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 17,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: -0.25,\n customIconSize: 28,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 27,\n iconSize: 41,\n lineHeight: 35,\n letterSpacing: -0.5,\n customIconSize: 36,\n },\n {\n ascenderHeight: 9.5,\n descenderHeight: 8.5,\n fontSize: 33,\n iconSize: 49,\n lineHeight: 41,\n letterSpacing: -1,\n customIconSize: 44,\n },\n {\n ascenderHeight: 10.5,\n descenderHeight: 9.5,\n fontSize: 38,\n iconSize: 53,\n lineHeight: 47,\n letterSpacing: -1,\n customIconSize: 48,\n },\n ],\n },\n label: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", system-ui, sans-serif',\n weight: {\n regular: 500,\n medium: 600,\n semibold: 700,\n bold: 800,\n },\n scale: [\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 8.1,\n iconSize: 13,\n lineHeight: 10,\n letterSpacing: 0.5,\n customIconSize: 8,\n },\n {\n ascenderHeight: 1.5,\n descenderHeight: 2.5,\n fontSize: 9.5,\n iconSize: 15,\n lineHeight: 11,\n letterSpacing: 0.5,\n customIconSize: 10,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 10.8,\n iconSize: 17,\n lineHeight: 12,\n letterSpacing: 0.5,\n customIconSize: 12,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 12.25,\n iconSize: 19,\n lineHeight: 13,\n letterSpacing: 0.5,\n customIconSize: 14,\n },\n {\n ascenderHeight: 1.5,\n descenderHeight: 2.5,\n fontSize: 13.6,\n iconSize: 21,\n lineHeight: 14,\n letterSpacing: 0.5,\n customIconSize: 16,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 15,\n iconSize: 23,\n lineHeight: 15,\n letterSpacing: 0.5,\n customIconSize: 18,\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 weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n scale: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 9.75,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 12.5,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 16,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 15.25,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 18,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n customIconSize: 24,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 20.75,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n customIconSize: 28,\n },\n ],\n },\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport function merge<T extends Record<string, any>>(...records: (T | undefined)[]): T {\n return (records.filter(Boolean) as T[]).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\nfunction isRecord(value: unknown): value is Record<string, any> {\n return value !== null && typeof value === 'object' && !Array.isArray(value)\n}\n","import {CARD_TONES, ELEMENT_TONES} from './constants'\nimport {merge} from './merge'\nimport type {\n CardColorTokens,\n CardTone,\n ElementColorTokens,\n ElementTone,\n PartialTokens,\n Tokens,\n} from './types'\n\nconst defaultElementTokens: ElementColorTokens = {\n _hue: 'gray',\n bg: {\n 0: ['950', '50'],\n 4: ['700', '300'],\n },\n border: {\n 0: ['700', '300'],\n 4: ['400', '600'],\n },\n fg: {\n 0: ['100', '900'],\n 4: ['400', '600'],\n },\n}\n\n/** @internal */\nexport function resolveTokens(tokens: PartialTokens<Tokens> = {}): Tokens {\n return {\n color: {\n '*': resolveCardColorTokens(tokens.color?.['*']),\n\n ...CARD_TONES.reduce(\n (acc, tone) => {\n return {\n ...acc,\n [tone]: resolveCardColorTokens(merge(tokens.color?.['*'], tokens.color?.[tone])),\n }\n },\n {} as Record<CardTone, CardColorTokens>,\n ),\n },\n }\n}\n\nfunction resolveCardColorTokens(\n tokens: PartialTokens<CardColorTokens> | undefined,\n): CardColorTokens {\n return {\n _hue: tokens?._hue ?? 'gray',\n avatar: {\n gray: {\n _hue: tokens?.avatar?.gray?._hue ?? 'gray',\n bg: tokens?.avatar?.gray?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.gray?.fg ?? ['white', '900'],\n },\n blue: {\n _hue: tokens?.avatar?.blue?._hue ?? 'blue',\n bg: tokens?.avatar?.blue?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.blue?.fg ?? ['white', '900'],\n },\n purple: {\n _hue: tokens?.avatar?.purple?._hue ?? 'purple',\n bg: tokens?.avatar?.purple?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.purple?.fg ?? ['white', '900'],\n },\n magenta: {\n _hue: tokens?.avatar?.magenta?._hue ?? 'magenta',\n bg: tokens?.avatar?.magenta?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.magenta?.fg ?? ['white', '900'],\n },\n red: {\n _hue: tokens?.avatar?.red?._hue ?? 'red',\n bg: tokens?.avatar?.red?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.red?.fg ?? ['white', '900'],\n },\n orange: {\n _hue: tokens?.avatar?.orange?._hue ?? 'orange',\n bg: tokens?.avatar?.orange?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.orange?.fg ?? ['white', '900'],\n },\n yellow: {\n _hue: tokens?.avatar?.yellow?._hue ?? 'yellow',\n bg: tokens?.avatar?.yellow?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.yellow?.fg ?? ['white', '900'],\n },\n green: {\n _hue: tokens?.avatar?.green?._hue ?? 'green',\n bg: tokens?.avatar?.green?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.green?.fg ?? ['white', '900'],\n },\n cyan: {\n _hue: tokens?.avatar?.cyan?._hue ?? 'cyan',\n bg: tokens?.avatar?.cyan?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.cyan?.fg ?? ['white', '900'],\n },\n },\n backdrop: tokens?.backdrop ?? ['100', '900'],\n code: {\n bg: tokens?.code?.bg ?? ['50', '950'],\n fg: tokens?.code?.fg ?? ['600', '400'],\n token: {\n atrule: tokens?.code?.token?.atrule ?? ['600', '400'],\n attribute: tokens?.code?.token?.attribute ?? ['600', '400'],\n attrName: tokens?.code?.token?.attrName ?? ['600', '400'],\n attrValue: tokens?.code?.token?.attrValue ?? ['600', '400'],\n boolean: tokens?.code?.token?.boolean ?? ['600', '400'],\n builtin: tokens?.code?.token?.builtin ?? ['600', '400'],\n cdata: tokens?.code?.token?.cdata ?? ['600', '400'],\n char: tokens?.code?.token?.char ?? ['600', '400'],\n class: tokens?.code?.token?.class ?? ['600', '400'],\n className: tokens?.code?.token?.className ?? ['600', '400'],\n comment: tokens?.code?.token?.comment ?? ['400', '600'],\n constant: tokens?.code?.token?.constant ?? ['600', '400'],\n deleted: tokens?.code?.token?.deleted ?? ['600', '400'],\n doctype: tokens?.code?.token?.doctype ?? ['600', '400'],\n entity: tokens?.code?.token?.entity ?? ['600', '400'],\n function: tokens?.code?.token?.function ?? ['600', '400'],\n hexcode: tokens?.code?.token?.hexcode ?? ['600', '400'],\n id: tokens?.code?.token?.id ?? ['600', '400'],\n important: tokens?.code?.token?.important ?? ['600', '400'],\n inserted: tokens?.code?.token?.inserted ?? ['600', '400'],\n keyword: tokens?.code?.token?.keyword ?? ['600', '400'],\n number: tokens?.code?.token?.number ?? ['600', '400'],\n operator: tokens?.code?.token?.operator ?? ['600', '400'],\n prolog: tokens?.code?.token?.prolog ?? ['600', '400'],\n property: tokens?.code?.token?.property ?? ['600', '400'],\n pseudoClass: tokens?.code?.token?.pseudoClass ?? ['600', '400'],\n pseudoElement: tokens?.code?.token?.pseudoElement ?? ['600', '400'],\n punctuation: tokens?.code?.token?.punctuation ?? ['600', '400'],\n regex: tokens?.code?.token?.regex ?? ['600', '400'],\n selector: tokens?.code?.token?.selector ?? ['600', '400'],\n string: tokens?.code?.token?.string ?? ['600', '400'],\n symbol: tokens?.code?.token?.symbol ?? ['600', '400'],\n tag: tokens?.code?.token?.tag ?? ['600', '400'],\n unit: tokens?.code?.token?.unit ?? ['600', '400'],\n url: tokens?.code?.token?.url ?? ['600', '400'],\n variable: tokens?.code?.token?.variable ?? ['600', '400'],\n },\n },\n focusRing: tokens?.focusRing ?? ['500', '500'],\n link: {\n fg: tokens?.link?.fg ?? ['600', '400'],\n },\n shadow: {\n outline: tokens?.shadow?.outline ?? ['500', '500'],\n umbra: tokens?.shadow?.umbra ?? ['500', '500'],\n penumbra: tokens?.shadow?.penumbra ?? ['500', '500'],\n ambient: tokens?.shadow?.ambient ?? ['500', '500'],\n },\n skeleton: {\n from: tokens?.skeleton?.from ?? ['100', '900'],\n to: tokens?.skeleton?.to ?? ['50', '950'],\n },\n\n variant: {\n solid: {\n '*': resolveElementTokens(tokens?.variant?.solid?.['*']),\n ...ELEMENT_TONES.reduce(\n (acc, tone) => {\n acc[tone] = resolveElementTokens(\n merge(tokens, tokens?.variant?.solid?.['*'], tokens?.variant?.solid?.[tone]),\n )\n\n return acc\n },\n {} as Record<ElementTone, ElementColorTokens>,\n ),\n },\n tinted: {\n '*': resolveElementTokens(tokens?.variant?.tinted?.['*']),\n ...ELEMENT_TONES.reduce(\n (acc, tone) => {\n acc[tone] = resolveElementTokens(\n merge(tokens, tokens?.variant?.tinted?.['*'], tokens?.variant?.tinted?.[tone]),\n )\n\n return acc\n },\n {} as Record<ElementTone, ElementColorTokens>,\n ),\n },\n },\n }\n}\n\nfunction resolveElementTokens(tokens?: PartialTokens<ElementColorTokens>): ElementColorTokens {\n return {\n _hue: tokens?._hue ?? 'gray',\n bg: {\n 0: tokens?.bg?.[0] ?? defaultElementTokens.bg[0],\n 4: tokens?.bg?.[4] ?? defaultElementTokens.bg[4],\n },\n border: {\n 0: tokens?.border?.[0] ?? defaultElementTokens.border[0],\n 4: tokens?.border?.[4] ?? defaultElementTokens.border[4],\n },\n fg: {\n 0: tokens?.fg?.[0] ?? defaultElementTokens.fg[0],\n 4: tokens?.fg?.[4] ?? defaultElementTokens.fg[4],\n },\n }\n}\n","import {black, hues, white} from '@sanity/color'\n\nimport {defaultColor} from './defaults/color'\nimport {defaultTheme} from './defaults/common'\nimport {defaultFonts} from './defaults/fonts'\nimport {resolveTokens} from './resolveTokens'\nimport type {Theme, ThemeOptions} from './types'\n\n/** @public */\nexport function buildTheme(options?: ThemeOptions): Theme {\n const tokens = resolveTokens({\n color: options?.color ?? defaultColor,\n })\n\n return {\n _version: 3,\n _tokens: tokens,\n avatar: defaultTheme.avatar,\n button: defaultTheme.button,\n card: defaultTheme.card,\n color: tokens.color,\n container: defaultTheme.container,\n font: defaultFonts,\n input: defaultTheme.input,\n layer: defaultTheme.layer,\n media: defaultTheme.media,\n palette: {black, white, hues},\n radius: defaultTheme.radius,\n shadow: defaultTheme.shadow,\n space: defaultTheme.space,\n }\n}\n"],"names":["HUES","TINTS","AVATAR_SIZE","CONTAINER_SCALE","CONTAINER","RADIUS","SPACE","FONT_CODE_SIZE","FONT_HEADING_SIZE","FONT_LABEL_SIZE","FONT_TEXT_SIZE","SHADOW","COLOR_SCHEMES","COLOR_VARIANTS","AVATAR_COLORS","CARD_TONES","ELEMENT_TONES","BUTTON_MODES","RE_PERCENTAGE","RE_OPACITY","_parseColorToken","str","options","defaultHue","cursor","parseColorNode","_consume","s","startsWith","length","_peek","v","type","name","opacity","parseOpacity","mix","parseMix","hue","String","Error","tint","parseTint","Number","slice","includes","match","exec","parseFloat","ignoreWhitespace","defaultColor","backdrop","code","bg","fg","token","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","focusRing","link","shadow","outline","umbra","penumbra","ambient","skeleton","from","to","variant","tinted","border","_hue","solid","defaultTheme","avatar","sizes","distance","size","offset","width","button","textWeight","BORDER_WIDTH","card","OUTLINE_WIDTH","container","media","layer","dialog","zOffset","popover","tooltip","radius","undefined","space","input","checkbox","radio","markSize","switch","height","padding","transitionDurationMs","transitionTimingFunction","select","text","defaultFonts","family","weight","regular","medium","semibold","bold","scale","ascenderHeight","descenderHeight","fontSize","iconSize","lineHeight","letterSpacing","customIconSize","heading","featureSettings","label","merge","records","filter","Boolean","reduce","_merge","acc","source","key","Object","keys","prevValue","nextValue","isRecord","value","Array","isArray","defaultElementTokens","resolveTokens","tokens","color","resolveCardColorTokens","tone","gray","blue","purple","magenta","red","orange","yellow","green","cyan","doctype","resolveElementTokens","buildTheme","_version","_tokens","font","palette","black","white","hues"],"mappings":"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"}
|
package/dist/theme.js
CHANGED
package/dist/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sources":["../src/theme/constants.ts","../src/theme/_parseColorToken.ts","../src/theme/defaults/color.ts","../src/theme/defaults/common.ts","../src/theme/defaults/fonts.ts","../src/theme/merge.ts","../src/theme/resolveTokens.ts","../src/theme/buildTheme.ts"],"sourcesContent":["/** @public */\nexport const HUES = [\n 'gray',\n 'blue',\n 'purple',\n 'magenta',\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'cyan',\n] as const\n\n/** @public */\nexport const TINTS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950] as const\n\n/** @public */\nexport const AVATAR_SIZE = [0, 1, 2, 3] as const\n\n/** @public */\nexport const CONTAINER_SCALE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const CONTAINER: [...typeof CONTAINER_SCALE, 'auto'] = [...CONTAINER_SCALE, 'auto']\n\n/** @public */\nexport const RADIUS = [0, 1, 2, 3, 4, 5, 6] as const\n\n/** @public */\nexport const SPACE = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] as const\n\n/** @public */\nexport const FONT_CODE_SIZE = [0, 1, 2, 3, 4] as const\n\n/** @public */\nexport const FONT_HEADING_SIZE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const FONT_LABEL_SIZE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const FONT_TEXT_SIZE = [0, 1, 2, 3, 4] as const\n\n/** @public */\nexport const SHADOW = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const COLOR_SCHEMES = ['light', 'dark'] as const\n\n/** @public */\nexport const COLOR_VARIANTS = ['tinted', 'solid'] as const\n\n/** @public */\nexport const AVATAR_COLORS = [\n 'gray',\n 'blue',\n 'purple',\n 'magenta',\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'cyan',\n] as const\n\n/** @public */\nexport const CARD_TONES = [\n 'transparent',\n 'default',\n 'neutral',\n 'primary', // selections\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const ELEMENT_TONES = [\n 'default',\n 'neutral',\n 'primary', // selections\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const BUTTON_MODES = ['default', 'ghost', 'bleed'] as const\n","import {HUES, TINTS} from './constants'\nimport type {ColorToken, Hue, Tint} from './types'\n\nconst RE_PERCENTAGE = /^([0-9]+)%/\nconst RE_OPACITY = /^(1|0\\.[0-9]+)?/\n\n/** @internal */\nexport interface ColorNode {\n type: 'color'\n name: 'black' | 'white'\n /** Between 0 and 1 */\n opacity: number\n /** Between 0 and 1 */\n mix: number\n}\n\n/** @internal */\nexport interface ColorTintNode {\n type: 'tint'\n hue: Hue\n tint: Tint\n /** Between 0 and 1 */\n opacity: number\n /** Between 0 and 1 */\n mix: number\n}\n\n/** @internal */\nexport interface ColorInheritNode {\n type: 'inherit'\n}\n\n/** @internal */\nexport type TokenizeColorResult = ColorNode | ColorTintNode | ColorInheritNode\n\n/** @internal */\nexport function _parseColorToken(str: ColorToken, options: {defaultHue: Hue}): TokenizeColorResult {\n const {defaultHue} = options\n\n let cursor = 0\n\n return parseColorNode()\n\n function _consume(s: string) {\n if (str.startsWith(s, cursor)) {\n cursor += s.length\n\n return s\n }\n\n return undefined\n }\n\n function _peek() {\n return str[cursor]\n }\n\n function parseColorNode(): ColorNode | ColorTintNode | ColorInheritNode {\n ignoreWhitespace()\n\n let v = _consume('black') || _consume('white')\n\n if (v) {\n return {\n type: 'color',\n name: v as 'black' | 'white',\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n\n for (const hue of HUES) {\n v = _consume(String(hue))\n\n if (v) {\n if (_peek() !== '-') {\n throw new Error(`Expected \"-\" after hue key`)\n }\n\n cursor += 1\n\n const tint = parseTint()\n\n if (!tint) {\n throw new Error(`Expected tint after hue`)\n }\n\n return {\n type: 'tint',\n hue,\n tint,\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n }\n\n const tint = parseTint()\n\n if (tint) {\n return {\n type: 'tint',\n hue: defaultHue,\n tint,\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n\n if (str === 'inherit') {\n return {\n type: 'inherit',\n }\n }\n\n throw new Error(`Invalid color: ${str}`)\n }\n\n function parseTint() {\n ignoreWhitespace()\n\n let v = Number(str.slice(cursor, cursor + 3)) as Tint\n\n if (TINTS.includes(v)) {\n cursor += 3\n\n return v\n }\n\n v = Number(str.slice(cursor, cursor + 2)) as Tint\n\n if (TINTS.includes(v)) {\n cursor += 2\n\n return v\n }\n\n return undefined\n }\n\n function parseMix() {\n ignoreWhitespace()\n\n const match = RE_PERCENTAGE.exec(str.slice(cursor))\n\n if (match) {\n cursor += match[0].length\n\n return parseFloat(match[1]) / 100\n }\n\n return undefined\n }\n\n function parseOpacity() {\n ignoreWhitespace()\n\n if (_peek() === '/') {\n cursor += 1\n\n const match = RE_OPACITY.exec(str.slice(cursor))\n\n if (match) {\n cursor += match[0].length\n\n return parseFloat(match[1])\n }\n\n cursor -= 1\n }\n\n return undefined\n }\n\n function ignoreWhitespace() {\n while (_peek() === ' ') {\n cursor++\n }\n }\n}\n","import type {ColorTokens, PartialTokens} from '../types'\n\n/** @internal */\nexport const defaultColor: PartialTokens<ColorTokens> = {\n '*': {\n backdrop: ['gray-100/0.5', 'black/0.5'],\n code: {\n bg: ['50', '950'],\n fg: ['700', '300'],\n token: {\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: ['green-600', 'green-400'],\n keyword: ['magenta-600', 'magenta-400'],\n number: ['purple-600', 'purple-400'],\n operator: ['magenta-600', 'magenta-400'],\n prolog: ['gray-600', 'gray-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 focusRing: ['blue-500', 'blue-500'],\n link: {\n fg: ['blue-600', 'blue-400'],\n },\n shadow: {\n outline: ['600/0.3', '500/0.4'],\n umbra: ['600/0.1', 'black/0.2'],\n penumbra: ['600/0.07', 'black/0.14'],\n ambient: ['600/0.06', 'black/0.12'],\n },\n skeleton: {\n from: ['200 70%', '800 35%'],\n to: ['200 40%', '800 50%'],\n },\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['100 75%', '900 75%'],\n 4: ['300', '700'],\n },\n border: {\n 0: ['200', '700 50%'],\n 4: ['300 75%', '500'],\n },\n fg: {\n 0: ['900', '100'],\n 4: ['700', '300'],\n },\n },\n 'primary': {\n _hue: 'blue',\n bg: {0: ['inherit', 'inherit']},\n },\n 'suggest': {\n _hue: 'purple',\n bg: {0: ['inherit', 'inherit']},\n },\n 'positive': {\n _hue: 'green',\n bg: {0: ['inherit', 'inherit']},\n },\n 'caution': {\n _hue: 'yellow',\n bg: {0: ['inherit', 'inherit']},\n },\n 'critical': {\n _hue: 'red',\n bg: {0: ['inherit', 'inherit']},\n },\n },\n solid: {\n '*': {\n bg: {\n 0: ['500', '400'],\n 4: ['600', '300'],\n },\n border: {\n 0: ['400', '200'],\n 4: ['500', '100'],\n },\n fg: {\n 0: ['white', 'black'],\n 4: ['200', '700'],\n },\n },\n 'default': {\n bg: {\n 0: ['800', '200'],\n 4: ['black', 'white'],\n },\n border: {\n 0: ['700', '300'],\n 4: ['800', '200'],\n },\n },\n 'primary': {\n _hue: 'blue',\n },\n 'suggest': {\n _hue: 'purple',\n },\n 'positive': {\n _hue: 'green',\n },\n 'caution': {\n _hue: 'yellow',\n },\n 'critical': {\n _hue: 'red',\n },\n },\n },\n },\n 'transparent': {\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['gray-50', 'black'],\n 4: ['300 75%', '700 75%'],\n },\n border: {\n 0: ['200', '800 75%'],\n 4: ['400', '700'],\n },\n fg: {\n 0: ['black', '100'],\n 4: ['700', '400'],\n },\n },\n },\n },\n },\n 'default': {\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['white', '950'],\n 4: ['300 75%', '700'],\n },\n border: {\n 0: ['200', '800 75%'],\n 4: ['400', '700'],\n },\n fg: {\n 0: ['black', 'white'],\n 4: ['600', '400'],\n },\n },\n },\n },\n },\n 'primary': {\n _hue: 'blue',\n },\n 'suggest': {\n _hue: 'purple',\n },\n 'positive': {\n _hue: 'green',\n },\n 'caution': {\n _hue: 'yellow',\n },\n 'critical': {\n _hue: 'red',\n },\n}\n","import type {Theme} from '../types'\n\nconst BORDER_WIDTH = 1\nconst OUTLINE_WIDTH = 0.5\n\nexport const defaultTheme: Omit<Theme, '_version' | '_tokens' | 'color' | 'font' | 'palette'> = {\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, 7, 11, 15, 23, 43, 75, 127],\n shadow: [\n undefined,\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}\n","import type {Fonts} from '../types'\n\nexport const defaultFonts: Fonts = {\n code: {\n family: 'ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace',\n weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n scale: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 16,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 18.75,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n customIconSize: 24,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 21.5,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n customIconSize: 28,\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 featureSettings: `'liga' 1, 'calt' 1, 'ss01' 1, 'ss03' 1, 'zero' 1`,\n weight: {\n regular: 600,\n medium: 700,\n semibold: 800,\n bold: 900,\n },\n scale: [\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 17,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: -0.25,\n customIconSize: 28,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 27,\n iconSize: 41,\n lineHeight: 35,\n letterSpacing: -0.5,\n customIconSize: 36,\n },\n {\n ascenderHeight: 9.5,\n descenderHeight: 8.5,\n fontSize: 33,\n iconSize: 49,\n lineHeight: 41,\n letterSpacing: -1,\n customIconSize: 44,\n },\n {\n ascenderHeight: 10.5,\n descenderHeight: 9.5,\n fontSize: 38,\n iconSize: 53,\n lineHeight: 47,\n letterSpacing: -1,\n customIconSize: 48,\n },\n ],\n },\n label: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", system-ui, sans-serif',\n weight: {\n regular: 500,\n medium: 600,\n semibold: 700,\n bold: 800,\n },\n scale: [\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 8.1,\n iconSize: 13,\n lineHeight: 10,\n letterSpacing: 0.5,\n customIconSize: 8,\n },\n {\n ascenderHeight: 1.5,\n descenderHeight: 2.5,\n fontSize: 9.5,\n iconSize: 15,\n lineHeight: 11,\n letterSpacing: 0.5,\n customIconSize: 10,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 10.8,\n iconSize: 17,\n lineHeight: 12,\n letterSpacing: 0.5,\n customIconSize: 12,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 12.25,\n iconSize: 19,\n lineHeight: 13,\n letterSpacing: 0.5,\n customIconSize: 14,\n },\n {\n ascenderHeight: 1.5,\n descenderHeight: 2.5,\n fontSize: 13.6,\n iconSize: 21,\n lineHeight: 14,\n letterSpacing: 0.5,\n customIconSize: 16,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 15,\n iconSize: 23,\n lineHeight: 15,\n letterSpacing: 0.5,\n customIconSize: 18,\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 weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n scale: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 9.75,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 12.5,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 16,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 15.25,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 18,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n customIconSize: 24,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 20.75,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n customIconSize: 28,\n },\n ],\n },\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport function merge<T extends Record<string, any>>(...records: (T | undefined)[]): T {\n return (records.filter(Boolean) as T[]).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\nfunction isRecord(value: unknown): value is Record<string, any> {\n return value !== null && typeof value === 'object' && !Array.isArray(value)\n}\n","import {CARD_TONES, ELEMENT_TONES} from './constants'\nimport {merge} from './merge'\nimport type {\n CardColorTokens,\n CardTone,\n ElementColorTokens,\n ElementTone,\n PartialTokens,\n Tokens,\n} from './types'\n\nconst defaultElementTokens: ElementColorTokens = {\n _hue: 'gray',\n bg: {\n 0: ['950', '50'],\n 4: ['700', '300'],\n },\n border: {\n 0: ['700', '300'],\n 4: ['400', '600'],\n },\n fg: {\n 0: ['100', '900'],\n 4: ['400', '600'],\n },\n}\n\n/** @internal */\nexport function resolveTokens(tokens: PartialTokens<Tokens> = {}): Tokens {\n return {\n color: {\n '*': resolveCardColorTokens(tokens.color?.['*']),\n\n ...CARD_TONES.reduce(\n (acc, tone) => {\n return {\n ...acc,\n [tone]: resolveCardColorTokens(merge(tokens.color?.['*'], tokens.color?.[tone])),\n }\n },\n {} as Record<CardTone, CardColorTokens>,\n ),\n },\n }\n}\n\nfunction resolveCardColorTokens(\n tokens: PartialTokens<CardColorTokens> | undefined,\n): CardColorTokens {\n return {\n _hue: tokens?._hue ?? 'gray',\n avatar: {\n gray: {\n _hue: tokens?.avatar?.gray?._hue ?? 'gray',\n bg: tokens?.avatar?.gray?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.gray?.fg ?? ['white', '900'],\n },\n blue: {\n _hue: tokens?.avatar?.blue?._hue ?? 'blue',\n bg: tokens?.avatar?.blue?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.blue?.fg ?? ['white', '900'],\n },\n purple: {\n _hue: tokens?.avatar?.purple?._hue ?? 'purple',\n bg: tokens?.avatar?.purple?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.purple?.fg ?? ['white', '900'],\n },\n magenta: {\n _hue: tokens?.avatar?.magenta?._hue ?? 'magenta',\n bg: tokens?.avatar?.magenta?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.magenta?.fg ?? ['white', '900'],\n },\n red: {\n _hue: tokens?.avatar?.red?._hue ?? 'red',\n bg: tokens?.avatar?.red?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.red?.fg ?? ['white', '900'],\n },\n orange: {\n _hue: tokens?.avatar?.orange?._hue ?? 'orange',\n bg: tokens?.avatar?.orange?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.orange?.fg ?? ['white', '900'],\n },\n yellow: {\n _hue: tokens?.avatar?.yellow?._hue ?? 'yellow',\n bg: tokens?.avatar?.yellow?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.yellow?.fg ?? ['white', '900'],\n },\n green: {\n _hue: tokens?.avatar?.green?._hue ?? 'green',\n bg: tokens?.avatar?.green?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.green?.fg ?? ['white', '900'],\n },\n cyan: {\n _hue: tokens?.avatar?.cyan?._hue ?? 'cyan',\n bg: tokens?.avatar?.cyan?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.cyan?.fg ?? ['white', '900'],\n },\n },\n backdrop: tokens?.backdrop ?? ['100', '900'],\n code: {\n bg: tokens?.code?.bg ?? ['50', '950'],\n fg: tokens?.code?.fg ?? ['600', '400'],\n token: {\n atrule: tokens?.code?.token?.atrule ?? ['600', '400'],\n attribute: tokens?.code?.token?.attribute ?? ['600', '400'],\n attrName: tokens?.code?.token?.attrName ?? ['600', '400'],\n attrValue: tokens?.code?.token?.attrValue ?? ['600', '400'],\n boolean: tokens?.code?.token?.boolean ?? ['600', '400'],\n builtin: tokens?.code?.token?.builtin ?? ['600', '400'],\n cdata: tokens?.code?.token?.cdata ?? ['600', '400'],\n char: tokens?.code?.token?.char ?? ['600', '400'],\n class: tokens?.code?.token?.class ?? ['600', '400'],\n className: tokens?.code?.token?.className ?? ['600', '400'],\n comment: tokens?.code?.token?.comment ?? ['400', '600'],\n constant: tokens?.code?.token?.constant ?? ['600', '400'],\n deleted: tokens?.code?.token?.deleted ?? ['600', '400'],\n doctype: tokens?.code?.token?.doctype ?? ['600', '400'],\n entity: tokens?.code?.token?.entity ?? ['600', '400'],\n function: tokens?.code?.token?.function ?? ['600', '400'],\n hexcode: tokens?.code?.token?.hexcode ?? ['600', '400'],\n id: tokens?.code?.token?.id ?? ['600', '400'],\n important: tokens?.code?.token?.important ?? ['600', '400'],\n inserted: tokens?.code?.token?.inserted ?? ['600', '400'],\n keyword: tokens?.code?.token?.keyword ?? ['600', '400'],\n number: tokens?.code?.token?.number ?? ['600', '400'],\n operator: tokens?.code?.token?.operator ?? ['600', '400'],\n prolog: tokens?.code?.token?.prolog ?? ['600', '400'],\n property: tokens?.code?.token?.property ?? ['600', '400'],\n pseudoClass: tokens?.code?.token?.pseudoClass ?? ['600', '400'],\n pseudoElement: tokens?.code?.token?.pseudoElement ?? ['600', '400'],\n punctuation: tokens?.code?.token?.punctuation ?? ['600', '400'],\n regex: tokens?.code?.token?.regex ?? ['600', '400'],\n selector: tokens?.code?.token?.selector ?? ['600', '400'],\n string: tokens?.code?.token?.string ?? ['600', '400'],\n symbol: tokens?.code?.token?.symbol ?? ['600', '400'],\n tag: tokens?.code?.token?.tag ?? ['600', '400'],\n unit: tokens?.code?.token?.unit ?? ['600', '400'],\n url: tokens?.code?.token?.url ?? ['600', '400'],\n variable: tokens?.code?.token?.variable ?? ['600', '400'],\n },\n },\n focusRing: tokens?.focusRing ?? ['500', '500'],\n link: {\n fg: tokens?.link?.fg ?? ['600', '400'],\n },\n shadow: {\n outline: tokens?.shadow?.outline ?? ['500', '500'],\n umbra: tokens?.shadow?.umbra ?? ['500', '500'],\n penumbra: tokens?.shadow?.penumbra ?? ['500', '500'],\n ambient: tokens?.shadow?.ambient ?? ['500', '500'],\n },\n skeleton: {\n from: tokens?.skeleton?.from ?? ['100', '900'],\n to: tokens?.skeleton?.to ?? ['50', '950'],\n },\n\n variant: {\n solid: {\n '*': resolveElementTokens(tokens?.variant?.solid?.['*']),\n ...ELEMENT_TONES.reduce(\n (acc, tone) => {\n acc[tone] = resolveElementTokens(\n merge(tokens, tokens?.variant?.solid?.['*'], tokens?.variant?.solid?.[tone]),\n )\n\n return acc\n },\n {} as Record<ElementTone, ElementColorTokens>,\n ),\n },\n tinted: {\n '*': resolveElementTokens(tokens?.variant?.tinted?.['*']),\n ...ELEMENT_TONES.reduce(\n (acc, tone) => {\n acc[tone] = resolveElementTokens(\n merge(tokens, tokens?.variant?.tinted?.['*'], tokens?.variant?.tinted?.[tone]),\n )\n\n return acc\n },\n {} as Record<ElementTone, ElementColorTokens>,\n ),\n },\n },\n }\n}\n\nfunction resolveElementTokens(tokens?: PartialTokens<ElementColorTokens>): ElementColorTokens {\n return {\n _hue: tokens?._hue ?? 'gray',\n bg: {\n 0: tokens?.bg?.[0] ?? defaultElementTokens.bg[0],\n 4: tokens?.bg?.[4] ?? defaultElementTokens.bg[4],\n },\n border: {\n 0: tokens?.border?.[0] ?? defaultElementTokens.border[0],\n 4: tokens?.border?.[4] ?? defaultElementTokens.border[4],\n },\n fg: {\n 0: tokens?.fg?.[0] ?? defaultElementTokens.fg[0],\n 4: tokens?.fg?.[4] ?? defaultElementTokens.fg[4],\n },\n }\n}\n","import {black, hues, white} from '@sanity/color'\n\nimport {defaultColor} from './defaults/color'\nimport {defaultTheme} from './defaults/common'\nimport {defaultFonts} from './defaults/fonts'\nimport {resolveTokens} from './resolveTokens'\nimport type {Theme, ThemeOptions} from './types'\n\n/** @public */\nexport function buildTheme(options?: ThemeOptions): Theme {\n const tokens = resolveTokens({\n color: options?.color ?? defaultColor,\n })\n\n return {\n _version: 3,\n _tokens: tokens,\n avatar: defaultTheme.avatar,\n button: defaultTheme.button,\n card: defaultTheme.card,\n color: tokens.color,\n container: defaultTheme.container,\n font: defaultFonts,\n input: defaultTheme.input,\n layer: defaultTheme.layer,\n media: defaultTheme.media,\n palette: {black, white, hues},\n radius: defaultTheme.radius,\n shadow: defaultTheme.shadow,\n space: defaultTheme.space,\n }\n}\n"],"names":["HUES","TINTS","AVATAR_SIZE","CONTAINER_SCALE","CONTAINER","RADIUS","SPACE","FONT_CODE_SIZE","FONT_HEADING_SIZE","FONT_LABEL_SIZE","FONT_TEXT_SIZE","SHADOW","COLOR_SCHEMES","COLOR_VARIANTS","AVATAR_COLORS","CARD_TONES","ELEMENT_TONES","BUTTON_MODES","RE_PERCENTAGE","RE_OPACITY","_parseColorToken","str","options","defaultHue","cursor","parseColorNode","_consume","s","startsWith","length","_peek","v","type","name","opacity","parseOpacity","mix","parseMix","hue","String","Error","tint","parseTint","Number","slice","includes","match","exec","parseFloat","ignoreWhitespace","defaultColor","backdrop","code","bg","fg","token","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","focusRing","link","shadow","outline","umbra","penumbra","ambient","skeleton","from","to","variant","tinted","border","_hue","solid","defaultTheme","avatar","sizes","distance","size","offset","width","button","textWeight","BORDER_WIDTH","card","OUTLINE_WIDTH","container","media","layer","dialog","zOffset","popover","tooltip","radius","undefined","space","input","checkbox","radio","markSize","switch","height","padding","transitionDurationMs","transitionTimingFunction","select","text","defaultFonts","family","weight","regular","medium","semibold","bold","scale","ascenderHeight","descenderHeight","fontSize","iconSize","lineHeight","letterSpacing","customIconSize","heading","featureSettings","label","merge","records","filter","Boolean","reduce","_merge","acc","source","key","Object","keys","prevValue","nextValue","isRecord","value","Array","isArray","defaultElementTokens","resolveTokens","tokens","color","resolveCardColorTokens","tone","gray","blue","purple","magenta","red","orange","yellow","green","cyan","doctype","resolveElementTokens","buildTheme","_version","_tokens","font","palette","black","white","hues"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theme.js","sources":["../src/theme/constants.ts","../src/theme/_parseColorToken.ts","../src/theme/defaults/color.ts","../src/theme/defaults/common.ts","../src/theme/defaults/fonts.ts","../src/theme/merge.ts","../src/theme/resolveTokens.ts","../src/theme/buildTheme.ts"],"sourcesContent":["/** @public */\nexport const HUES = [\n 'gray',\n 'blue',\n 'purple',\n 'magenta',\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'cyan',\n] as const\n\n/** @public */\nexport const TINTS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950] as const\n\n/** @public */\nexport const AVATAR_SIZE = [0, 1, 2, 3] as const\n\n/** @public */\nexport const CONTAINER_SCALE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const CONTAINER: [...typeof CONTAINER_SCALE, 'auto'] = [...CONTAINER_SCALE, 'auto']\n\n/** @public */\nexport const RADIUS = [0, 1, 2, 3, 4, 5, 6] as const\n\n/** @public */\nexport const SPACE = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] as const\n\n/** @public */\nexport const FONT_CODE_SIZE = [0, 1, 2, 3, 4] as const\n\n/** @public */\nexport const FONT_HEADING_SIZE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const FONT_LABEL_SIZE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const FONT_TEXT_SIZE = [0, 1, 2, 3, 4] as const\n\n/** @public */\nexport const SHADOW = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const COLOR_SCHEMES = ['light', 'dark'] as const\n\n/** @public */\nexport const COLOR_VARIANTS = ['tinted', 'solid'] as const\n\n/** @public */\nexport const AVATAR_COLORS = [\n 'gray',\n 'blue',\n 'purple',\n 'magenta',\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'cyan',\n] as const\n\n/** @public */\nexport const CARD_TONES = [\n 'transparent',\n 'default',\n 'neutral',\n 'primary', // selections\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const ELEMENT_TONES = [\n 'default',\n 'neutral',\n 'primary', // selections\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const BUTTON_MODES = ['default', 'ghost', 'bleed'] as const\n","import {HUES, TINTS} from './constants'\nimport type {ColorToken, Hue, Tint} from './types'\n\nconst RE_PERCENTAGE = /^([0-9]+)%/\nconst RE_OPACITY = /^(1|0\\.[0-9]+)?/\n\n/** @internal */\nexport interface ColorNode {\n type: 'color'\n name: 'black' | 'white'\n /** Between 0 and 1 */\n opacity: number\n /** Between 0 and 1 */\n mix: number\n}\n\n/** @internal */\nexport interface ColorTintNode {\n type: 'tint'\n hue: Hue\n tint: Tint\n /** Between 0 and 1 */\n opacity: number\n /** Between 0 and 1 */\n mix: number\n}\n\n/** @internal */\nexport interface ColorInheritNode {\n type: 'inherit'\n}\n\n/** @internal */\nexport type TokenizeColorResult = ColorNode | ColorTintNode | ColorInheritNode\n\n/** @internal */\nexport function _parseColorToken(str: ColorToken, options: {defaultHue: Hue}): TokenizeColorResult {\n const {defaultHue} = options\n\n let cursor = 0\n\n return parseColorNode()\n\n function _consume(s: string) {\n if (str.startsWith(s, cursor)) {\n cursor += s.length\n\n return s\n }\n\n return undefined\n }\n\n function _peek() {\n return str[cursor]\n }\n\n function parseColorNode(): ColorNode | ColorTintNode | ColorInheritNode {\n ignoreWhitespace()\n\n let v = _consume('black') || _consume('white')\n\n if (v) {\n return {\n type: 'color',\n name: v as 'black' | 'white',\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n\n for (const hue of HUES) {\n v = _consume(String(hue))\n\n if (v) {\n if (_peek() !== '-') {\n throw new Error(`Expected \"-\" after hue key`)\n }\n\n cursor += 1\n\n const tint = parseTint()\n\n if (!tint) {\n throw new Error(`Expected tint after hue`)\n }\n\n return {\n type: 'tint',\n hue,\n tint,\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n }\n\n const tint = parseTint()\n\n if (tint) {\n return {\n type: 'tint',\n hue: defaultHue,\n tint,\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n\n if (str === 'inherit') {\n return {\n type: 'inherit',\n }\n }\n\n throw new Error(`Invalid color: ${str}`)\n }\n\n function parseTint() {\n ignoreWhitespace()\n\n let v = Number(str.slice(cursor, cursor + 3)) as Tint\n\n if (TINTS.includes(v)) {\n cursor += 3\n\n return v\n }\n\n v = Number(str.slice(cursor, cursor + 2)) as Tint\n\n if (TINTS.includes(v)) {\n cursor += 2\n\n return v\n }\n\n return undefined\n }\n\n function parseMix() {\n ignoreWhitespace()\n\n const match = RE_PERCENTAGE.exec(str.slice(cursor))\n\n if (match) {\n cursor += match[0].length\n\n return parseFloat(match[1]) / 100\n }\n\n return undefined\n }\n\n function parseOpacity() {\n ignoreWhitespace()\n\n if (_peek() === '/') {\n cursor += 1\n\n const match = RE_OPACITY.exec(str.slice(cursor))\n\n if (match) {\n cursor += match[0].length\n\n return parseFloat(match[1])\n }\n\n cursor -= 1\n }\n\n return undefined\n }\n\n function ignoreWhitespace() {\n while (_peek() === ' ') {\n cursor++\n }\n }\n}\n","import type {ColorTokens, PartialTokens} from '../types'\n\n/** @internal */\nexport const defaultColor: PartialTokens<ColorTokens> = {\n '*': {\n backdrop: ['gray-100/0.5', 'black/0.5'],\n code: {\n bg: ['50', '950'],\n fg: ['700', '300'],\n token: {\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: ['green-600', 'green-400'],\n keyword: ['magenta-600', 'magenta-400'],\n number: ['purple-600', 'purple-400'],\n operator: ['magenta-600', 'magenta-400'],\n prolog: ['gray-600', 'gray-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 focusRing: ['blue-500', 'blue-500'],\n link: {\n fg: ['blue-600', 'blue-400'],\n },\n shadow: {\n outline: ['600/0.3', '500/0.4'],\n umbra: ['600/0.1', 'black/0.2'],\n penumbra: ['600/0.07', 'black/0.14'],\n ambient: ['600/0.06', 'black/0.12'],\n },\n skeleton: {\n from: ['200 70%', '800 35%'],\n to: ['200 40%', '800 50%'],\n },\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['100 75%', '900 75%'],\n 4: ['300', '700'],\n },\n border: {\n 0: ['200', '700 50%'],\n 4: ['300 75%', '500'],\n },\n fg: {\n 0: ['900', '100'],\n 4: ['700', '300'],\n },\n },\n 'primary': {\n _hue: 'blue',\n bg: {0: ['inherit', 'inherit']},\n },\n 'suggest': {\n _hue: 'purple',\n bg: {0: ['inherit', 'inherit']},\n },\n 'positive': {\n _hue: 'green',\n bg: {0: ['inherit', 'inherit']},\n },\n 'caution': {\n _hue: 'yellow',\n bg: {0: ['inherit', 'inherit']},\n },\n 'critical': {\n _hue: 'red',\n bg: {0: ['inherit', 'inherit']},\n },\n },\n solid: {\n '*': {\n bg: {\n 0: ['500', '400'],\n 4: ['600', '300'],\n },\n border: {\n 0: ['400', '200'],\n 4: ['500', '100'],\n },\n fg: {\n 0: ['white', 'black'],\n 4: ['200', '700'],\n },\n },\n 'default': {\n bg: {\n 0: ['800', '200'],\n 4: ['black', 'white'],\n },\n border: {\n 0: ['700', '300'],\n 4: ['800', '200'],\n },\n },\n 'primary': {\n _hue: 'blue',\n },\n 'suggest': {\n _hue: 'purple',\n },\n 'positive': {\n _hue: 'green',\n },\n 'caution': {\n _hue: 'yellow',\n },\n 'critical': {\n _hue: 'red',\n },\n },\n },\n },\n 'transparent': {\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['gray-50', 'black'],\n 4: ['300 75%', '700 75%'],\n },\n border: {\n 0: ['200', '800 75%'],\n 4: ['400', '700'],\n },\n fg: {\n 0: ['black', '100'],\n 4: ['700', '400'],\n },\n },\n },\n },\n },\n 'default': {\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['white', '950'],\n 4: ['300 75%', '700'],\n },\n border: {\n 0: ['100', '800 75%'],\n 4: ['300', '700'],\n },\n fg: {\n 0: ['black', 'white'],\n 4: ['600', '400'],\n },\n },\n },\n },\n },\n 'primary': {\n _hue: 'blue',\n },\n 'suggest': {\n _hue: 'purple',\n },\n 'positive': {\n _hue: 'green',\n },\n 'caution': {\n _hue: 'yellow',\n },\n 'critical': {\n _hue: 'red',\n },\n}\n","import type {Theme} from '../types'\n\nconst BORDER_WIDTH = 1\nconst OUTLINE_WIDTH = 0.5\n\nexport const defaultTheme: Omit<Theme, '_version' | '_tokens' | 'color' | 'font' | 'palette'> = {\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, 7, 11, 15, 23, 43, 75, 127],\n shadow: [\n undefined,\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}\n","import type {Fonts} from '../types'\n\nexport const defaultFonts: Fonts = {\n code: {\n family: 'ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace',\n weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n scale: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 16,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 18.75,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n customIconSize: 24,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 21.5,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n customIconSize: 28,\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 featureSettings: `'liga' 1, 'calt' 1, 'ss01' 1, 'ss03' 1, 'zero' 1`,\n weight: {\n regular: 600,\n medium: 700,\n semibold: 800,\n bold: 900,\n },\n scale: [\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 17,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: -0.25,\n customIconSize: 28,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 27,\n iconSize: 41,\n lineHeight: 35,\n letterSpacing: -0.5,\n customIconSize: 36,\n },\n {\n ascenderHeight: 9.5,\n descenderHeight: 8.5,\n fontSize: 33,\n iconSize: 49,\n lineHeight: 41,\n letterSpacing: -1,\n customIconSize: 44,\n },\n {\n ascenderHeight: 10.5,\n descenderHeight: 9.5,\n fontSize: 38,\n iconSize: 53,\n lineHeight: 47,\n letterSpacing: -1,\n customIconSize: 48,\n },\n ],\n },\n label: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", system-ui, sans-serif',\n weight: {\n regular: 500,\n medium: 600,\n semibold: 700,\n bold: 800,\n },\n scale: [\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 8.1,\n iconSize: 13,\n lineHeight: 10,\n letterSpacing: 0.5,\n customIconSize: 8,\n },\n {\n ascenderHeight: 1.5,\n descenderHeight: 2.5,\n fontSize: 9.5,\n iconSize: 15,\n lineHeight: 11,\n letterSpacing: 0.5,\n customIconSize: 10,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 10.8,\n iconSize: 17,\n lineHeight: 12,\n letterSpacing: 0.5,\n customIconSize: 12,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 12.25,\n iconSize: 19,\n lineHeight: 13,\n letterSpacing: 0.5,\n customIconSize: 14,\n },\n {\n ascenderHeight: 1.5,\n descenderHeight: 2.5,\n fontSize: 13.6,\n iconSize: 21,\n lineHeight: 14,\n letterSpacing: 0.5,\n customIconSize: 16,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 15,\n iconSize: 23,\n lineHeight: 15,\n letterSpacing: 0.5,\n customIconSize: 18,\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 weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n scale: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 9.75,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 12.5,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 16,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 15.25,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 18,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n customIconSize: 24,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 20.75,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n customIconSize: 28,\n },\n ],\n },\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport function merge<T extends Record<string, any>>(...records: (T | undefined)[]): T {\n return (records.filter(Boolean) as T[]).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\nfunction isRecord(value: unknown): value is Record<string, any> {\n return value !== null && typeof value === 'object' && !Array.isArray(value)\n}\n","import {CARD_TONES, ELEMENT_TONES} from './constants'\nimport {merge} from './merge'\nimport type {\n CardColorTokens,\n CardTone,\n ElementColorTokens,\n ElementTone,\n PartialTokens,\n Tokens,\n} from './types'\n\nconst defaultElementTokens: ElementColorTokens = {\n _hue: 'gray',\n bg: {\n 0: ['950', '50'],\n 4: ['700', '300'],\n },\n border: {\n 0: ['700', '300'],\n 4: ['400', '600'],\n },\n fg: {\n 0: ['100', '900'],\n 4: ['400', '600'],\n },\n}\n\n/** @internal */\nexport function resolveTokens(tokens: PartialTokens<Tokens> = {}): Tokens {\n return {\n color: {\n '*': resolveCardColorTokens(tokens.color?.['*']),\n\n ...CARD_TONES.reduce(\n (acc, tone) => {\n return {\n ...acc,\n [tone]: resolveCardColorTokens(merge(tokens.color?.['*'], tokens.color?.[tone])),\n }\n },\n {} as Record<CardTone, CardColorTokens>,\n ),\n },\n }\n}\n\nfunction resolveCardColorTokens(\n tokens: PartialTokens<CardColorTokens> | undefined,\n): CardColorTokens {\n return {\n _hue: tokens?._hue ?? 'gray',\n avatar: {\n gray: {\n _hue: tokens?.avatar?.gray?._hue ?? 'gray',\n bg: tokens?.avatar?.gray?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.gray?.fg ?? ['white', '900'],\n },\n blue: {\n _hue: tokens?.avatar?.blue?._hue ?? 'blue',\n bg: tokens?.avatar?.blue?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.blue?.fg ?? ['white', '900'],\n },\n purple: {\n _hue: tokens?.avatar?.purple?._hue ?? 'purple',\n bg: tokens?.avatar?.purple?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.purple?.fg ?? ['white', '900'],\n },\n magenta: {\n _hue: tokens?.avatar?.magenta?._hue ?? 'magenta',\n bg: tokens?.avatar?.magenta?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.magenta?.fg ?? ['white', '900'],\n },\n red: {\n _hue: tokens?.avatar?.red?._hue ?? 'red',\n bg: tokens?.avatar?.red?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.red?.fg ?? ['white', '900'],\n },\n orange: {\n _hue: tokens?.avatar?.orange?._hue ?? 'orange',\n bg: tokens?.avatar?.orange?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.orange?.fg ?? ['white', '900'],\n },\n yellow: {\n _hue: tokens?.avatar?.yellow?._hue ?? 'yellow',\n bg: tokens?.avatar?.yellow?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.yellow?.fg ?? ['white', '900'],\n },\n green: {\n _hue: tokens?.avatar?.green?._hue ?? 'green',\n bg: tokens?.avatar?.green?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.green?.fg ?? ['white', '900'],\n },\n cyan: {\n _hue: tokens?.avatar?.cyan?._hue ?? 'cyan',\n bg: tokens?.avatar?.cyan?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.cyan?.fg ?? ['white', '900'],\n },\n },\n backdrop: tokens?.backdrop ?? ['100', '900'],\n code: {\n bg: tokens?.code?.bg ?? ['50', '950'],\n fg: tokens?.code?.fg ?? ['600', '400'],\n token: {\n atrule: tokens?.code?.token?.atrule ?? ['600', '400'],\n attribute: tokens?.code?.token?.attribute ?? ['600', '400'],\n attrName: tokens?.code?.token?.attrName ?? ['600', '400'],\n attrValue: tokens?.code?.token?.attrValue ?? ['600', '400'],\n boolean: tokens?.code?.token?.boolean ?? ['600', '400'],\n builtin: tokens?.code?.token?.builtin ?? ['600', '400'],\n cdata: tokens?.code?.token?.cdata ?? ['600', '400'],\n char: tokens?.code?.token?.char ?? ['600', '400'],\n class: tokens?.code?.token?.class ?? ['600', '400'],\n className: tokens?.code?.token?.className ?? ['600', '400'],\n comment: tokens?.code?.token?.comment ?? ['400', '600'],\n constant: tokens?.code?.token?.constant ?? ['600', '400'],\n deleted: tokens?.code?.token?.deleted ?? ['600', '400'],\n doctype: tokens?.code?.token?.doctype ?? ['600', '400'],\n entity: tokens?.code?.token?.entity ?? ['600', '400'],\n function: tokens?.code?.token?.function ?? ['600', '400'],\n hexcode: tokens?.code?.token?.hexcode ?? ['600', '400'],\n id: tokens?.code?.token?.id ?? ['600', '400'],\n important: tokens?.code?.token?.important ?? ['600', '400'],\n inserted: tokens?.code?.token?.inserted ?? ['600', '400'],\n keyword: tokens?.code?.token?.keyword ?? ['600', '400'],\n number: tokens?.code?.token?.number ?? ['600', '400'],\n operator: tokens?.code?.token?.operator ?? ['600', '400'],\n prolog: tokens?.code?.token?.prolog ?? ['600', '400'],\n property: tokens?.code?.token?.property ?? ['600', '400'],\n pseudoClass: tokens?.code?.token?.pseudoClass ?? ['600', '400'],\n pseudoElement: tokens?.code?.token?.pseudoElement ?? ['600', '400'],\n punctuation: tokens?.code?.token?.punctuation ?? ['600', '400'],\n regex: tokens?.code?.token?.regex ?? ['600', '400'],\n selector: tokens?.code?.token?.selector ?? ['600', '400'],\n string: tokens?.code?.token?.string ?? ['600', '400'],\n symbol: tokens?.code?.token?.symbol ?? ['600', '400'],\n tag: tokens?.code?.token?.tag ?? ['600', '400'],\n unit: tokens?.code?.token?.unit ?? ['600', '400'],\n url: tokens?.code?.token?.url ?? ['600', '400'],\n variable: tokens?.code?.token?.variable ?? ['600', '400'],\n },\n },\n focusRing: tokens?.focusRing ?? ['500', '500'],\n link: {\n fg: tokens?.link?.fg ?? ['600', '400'],\n },\n shadow: {\n outline: tokens?.shadow?.outline ?? ['500', '500'],\n umbra: tokens?.shadow?.umbra ?? ['500', '500'],\n penumbra: tokens?.shadow?.penumbra ?? ['500', '500'],\n ambient: tokens?.shadow?.ambient ?? ['500', '500'],\n },\n skeleton: {\n from: tokens?.skeleton?.from ?? ['100', '900'],\n to: tokens?.skeleton?.to ?? ['50', '950'],\n },\n\n variant: {\n solid: {\n '*': resolveElementTokens(tokens?.variant?.solid?.['*']),\n ...ELEMENT_TONES.reduce(\n (acc, tone) => {\n acc[tone] = resolveElementTokens(\n merge(tokens, tokens?.variant?.solid?.['*'], tokens?.variant?.solid?.[tone]),\n )\n\n return acc\n },\n {} as Record<ElementTone, ElementColorTokens>,\n ),\n },\n tinted: {\n '*': resolveElementTokens(tokens?.variant?.tinted?.['*']),\n ...ELEMENT_TONES.reduce(\n (acc, tone) => {\n acc[tone] = resolveElementTokens(\n merge(tokens, tokens?.variant?.tinted?.['*'], tokens?.variant?.tinted?.[tone]),\n )\n\n return acc\n },\n {} as Record<ElementTone, ElementColorTokens>,\n ),\n },\n },\n }\n}\n\nfunction resolveElementTokens(tokens?: PartialTokens<ElementColorTokens>): ElementColorTokens {\n return {\n _hue: tokens?._hue ?? 'gray',\n bg: {\n 0: tokens?.bg?.[0] ?? defaultElementTokens.bg[0],\n 4: tokens?.bg?.[4] ?? defaultElementTokens.bg[4],\n },\n border: {\n 0: tokens?.border?.[0] ?? defaultElementTokens.border[0],\n 4: tokens?.border?.[4] ?? defaultElementTokens.border[4],\n },\n fg: {\n 0: tokens?.fg?.[0] ?? defaultElementTokens.fg[0],\n 4: tokens?.fg?.[4] ?? defaultElementTokens.fg[4],\n },\n }\n}\n","import {black, hues, white} from '@sanity/color'\n\nimport {defaultColor} from './defaults/color'\nimport {defaultTheme} from './defaults/common'\nimport {defaultFonts} from './defaults/fonts'\nimport {resolveTokens} from './resolveTokens'\nimport type {Theme, ThemeOptions} from './types'\n\n/** @public */\nexport function buildTheme(options?: ThemeOptions): Theme {\n const tokens = resolveTokens({\n color: options?.color ?? defaultColor,\n })\n\n return {\n _version: 3,\n _tokens: tokens,\n avatar: defaultTheme.avatar,\n button: defaultTheme.button,\n card: defaultTheme.card,\n color: tokens.color,\n container: defaultTheme.container,\n font: defaultFonts,\n input: defaultTheme.input,\n layer: defaultTheme.layer,\n media: defaultTheme.media,\n palette: {black, white, hues},\n radius: defaultTheme.radius,\n shadow: defaultTheme.shadow,\n space: defaultTheme.space,\n }\n}\n"],"names":["HUES","TINTS","AVATAR_SIZE","CONTAINER_SCALE","CONTAINER","RADIUS","SPACE","FONT_CODE_SIZE","FONT_HEADING_SIZE","FONT_LABEL_SIZE","FONT_TEXT_SIZE","SHADOW","COLOR_SCHEMES","COLOR_VARIANTS","AVATAR_COLORS","CARD_TONES","ELEMENT_TONES","BUTTON_MODES","RE_PERCENTAGE","RE_OPACITY","_parseColorToken","str","options","defaultHue","cursor","parseColorNode","_consume","s","startsWith","length","_peek","v","type","name","opacity","parseOpacity","mix","parseMix","hue","String","Error","tint","parseTint","Number","slice","includes","match","exec","parseFloat","ignoreWhitespace","defaultColor","backdrop","code","bg","fg","token","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","focusRing","link","shadow","outline","umbra","penumbra","ambient","skeleton","from","to","variant","tinted","border","_hue","solid","defaultTheme","avatar","sizes","distance","size","offset","width","button","textWeight","BORDER_WIDTH","card","OUTLINE_WIDTH","container","media","layer","dialog","zOffset","popover","tooltip","radius","undefined","space","input","checkbox","radio","markSize","switch","height","padding","transitionDurationMs","transitionTimingFunction","select","text","defaultFonts","family","weight","regular","medium","semibold","bold","scale","ascenderHeight","descenderHeight","fontSize","iconSize","lineHeight","letterSpacing","customIconSize","heading","featureSettings","label","merge","records","filter","Boolean","reduce","_merge","acc","source","key","Object","keys","prevValue","nextValue","isRecord","value","Array","isArray","defaultElementTokens","resolveTokens","tokens","color","resolveCardColorTokens","tone","gray","blue","purple","magenta","red","orange","yellow","green","cyan","doctype","resolveElementTokens","buildTheme","_version","_tokens","font","palette","black","white","hues"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -31,7 +31,7 @@ function _getMediaQuery(media: number[], index: number): MediaQuery {
|
|
|
31
31
|
function _createMediaStore(): _MediaStore {
|
|
32
32
|
const mediaLen = media.length
|
|
33
33
|
|
|
34
|
-
let sizes: {mq: MediaQueryList; index: number}[] =
|
|
34
|
+
let sizes: {mq: MediaQueryList; index: number}[] | undefined = undefined
|
|
35
35
|
|
|
36
36
|
// The _createMediaStore function is called in both server and client environments.
|
|
37
37
|
// However since subscribe and getSnapshot are only called on the client we lazy init what we need for them
|
|
@@ -55,7 +55,7 @@ function _createMediaStore(): _MediaStore {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
const getSnapshot = () => {
|
|
58
|
-
for (const {index, mq} of getSizes()) {
|
|
58
|
+
for (const {index, mq} of getSizes() ?? []) {
|
|
59
59
|
if (mq.matches) return index as Breakpoint
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -65,7 +65,7 @@ function _createMediaStore(): _MediaStore {
|
|
|
65
65
|
const subscribe = (onStoreChange: () => void) => {
|
|
66
66
|
const disposeFns: (() => void)[] = []
|
|
67
67
|
|
|
68
|
-
for (const {mq} of getSizes()) {
|
|
68
|
+
for (const {mq} of getSizes() ?? []) {
|
|
69
69
|
const handleChange = () => {
|
|
70
70
|
if (mq.matches) onStoreChange()
|
|
71
71
|
}
|