1 line
70 KiB
Plaintext
1 line
70 KiB
Plaintext
{"version":3,"sources":["../src/actions/definePreset.ts","../src/actions/updatePreset.ts","../src/service/index.ts","../src/utils/sharedUtils.ts","../src/utils/themeUtils.ts","../src/helpers/color/mix.ts","../src/helpers/color/palette.ts","../src/helpers/color/shade.ts","../src/helpers/color/tint.ts","../src/helpers/css.ts","../src/helpers/dt.ts","../src/helpers/t.ts","../src/helpers/toVariables.ts","../src/config/index.ts","../src/actions/updatePrimaryPalette.ts","../src/actions/updateSurfacePalette.ts","../src/actions/usePreset.ts","../src/actions/useTheme.ts","../src/stylesheet/index.ts"],"sourcesContent":["import { deepMerge } from '@primeuix/utils/object';\n\nexport default function definePreset<T extends Record<string, unknown>>(...presets: T[]): T {\n return deepMerge(...presets) as T;\n}\n","import { deepMerge } from '@primeuix/utils/object';\nimport Theme from '../config/index';\n\nexport default function updatePreset<T extends Record<string, unknown>>(...presets: T[]): T {\n const newPreset = deepMerge(Theme.getPreset(), ...presets);\n\n Theme.setPreset(newPreset);\n\n return newPreset as T;\n}\n","import { EventBus } from '@primeuix/utils/eventbus';\n\nconst ThemeService = EventBus();\n\nexport default ThemeService;\n","import { getKeyValue, isArray, isNotEmpty, isNumber, isObject, isString, matchRegex, toKebabCase } from '@primeuix/utils/object';\n\nexport const EXPR_REGEX = /{([^}]*)}/g; // Exp: '{a}', '{a.b}', '{a.b.c}' etc.\nexport const CALC_REGEX = /(\\d+\\s+[\\+\\-\\*\\/]\\s+\\d+)/g;\nexport const VAR_REGEX = /var\\([^)]+\\)/g;\n\nexport function toTokenKey(str: string): string {\n return isString(str) ? str.replace(/[A-Z]/g, (c: string, i: number) => (i === 0 ? c : '.' + c.toLowerCase())).toLowerCase() : str;\n}\n\nexport function merge(value1: any, value2: any): void {\n if (isArray(value1)) {\n value1.push(...(value2 || []));\n } else if (isObject(value1)) {\n Object.assign(value1, value2);\n }\n}\n\nexport function toValue(value: any): any {\n // Check for Figma ($value-$type)\n return isObject(value) && value.hasOwnProperty('$value') && value.hasOwnProperty('$type') ? (value as any).$value : value;\n}\n\nexport function toUnit(value: string, variable: string = ''): string {\n const excludedProperties = ['opacity', 'z-index', 'line-height', 'font-weight', 'flex', 'flex-grow', 'flex-shrink', 'order'];\n\n if (!excludedProperties.some((property) => variable.endsWith(property))) {\n const val = `${value}`.trim();\n const valArr = val.split(' ');\n\n return valArr.map((v) => (isNumber(v) ? `${v}px` : v)).join(' ');\n }\n\n return value;\n}\n\nexport function toNormalizePrefix(prefix: string): string {\n return prefix.replaceAll(/ /g, '').replace(/[^\\w]/g, '-');\n}\n\nexport function toNormalizeVariable(prefix: string = '', variable: string = ''): string {\n return toNormalizePrefix(`${isString(prefix, false) && isString(variable, false) ? `${prefix}-` : prefix}${variable}`);\n}\n\nexport function getVariableName(prefix: string = '', variable: string = ''): string {\n return `--${toNormalizeVariable(prefix, variable)}`;\n}\n\nexport function hasOddBraces(str: string = ''): boolean {\n const openBraces = (str.match(/{/g) || []).length;\n const closeBraces = (str.match(/}/g) || []).length;\n\n return (openBraces + closeBraces) % 2 !== 0;\n}\n\nexport function getVariableValue(value: any, variable: string = '', prefix: string = '', excludedKeyRegexes: RegExp[] = [], fallback?: string): string | undefined {\n if (isString(value)) {\n const val = value.trim();\n\n if (hasOddBraces(val)) {\n return undefined;\n } else if (matchRegex(val, EXPR_REGEX)) {\n const _val = val.replaceAll(EXPR_REGEX, (v: string) => {\n const path = v.replace(/{|}/g, '');\n const keys = path.split('.').filter((_v: string) => !excludedKeyRegexes.some((_r) => matchRegex(_v, _r)));\n\n return `var(${getVariableName(prefix, toKebabCase(keys.join('-')))}${isNotEmpty(fallback) ? `, ${fallback}` : ''})`;\n });\n\n return matchRegex(_val.replace(VAR_REGEX, '0'), CALC_REGEX) ? `calc(${_val})` : _val;\n }\n\n return val; //toUnit(val, variable);\n } else if (isNumber(value)) {\n return value; //toUnit(value, variable);\n }\n\n return undefined;\n}\n\nexport function getComputedValue(obj = {}, value: any): any {\n if (isString(value)) {\n const val = value.trim();\n\n return matchRegex(val, EXPR_REGEX) ? val.replaceAll(EXPR_REGEX, (v: string) => getKeyValue(obj, v.replace(/{|}/g, '')) as string) : val;\n } else if (isNumber(value)) {\n return value;\n }\n\n return undefined;\n}\n\nexport function setProperty(properties: string[], key: string, value?: string) {\n if (isString(key, false)) {\n properties.push(`${key}:${value};`);\n }\n}\n\nexport function getRule(selector: string, properties: string): string {\n if (selector) {\n return `${selector}{${properties}}`;\n }\n\n return '';\n}\n\nexport function evaluateDtExpressions(input: string, fn: (...args: any[]) => string): string {\n if (input.indexOf('dt(') === -1) return input;\n\n function fastParseArgs(str: string, fn: (...args: (string | number)[]) => string): (string | number)[] {\n const args: (string | number)[] = [];\n let i = 0;\n let current = '';\n let quote: string | null = null;\n let depth = 0;\n\n while (i <= str.length) {\n const c = str[i];\n\n if ((c === '\"' || c === \"'\" || c === '`') && str[i - 1] !== '\\\\') {\n quote = quote === c ? null : c;\n }\n\n if (!quote) {\n if (c === '(') depth++;\n if (c === ')') depth--;\n\n if ((c === ',' || i === str.length) && depth === 0) {\n const arg = current.trim();\n\n if (arg.startsWith('dt(')) {\n args.push(evaluateDtExpressions(arg, fn));\n } else {\n args.push(parseArg(arg));\n }\n\n current = '';\n i++;\n continue;\n }\n }\n\n if (c !== undefined) current += c;\n i++;\n }\n\n return args;\n }\n\n function parseArg(arg: string): string | number {\n const q = arg[0];\n\n if ((q === '\"' || q === \"'\" || q === '`') && arg[arg.length - 1] === q) {\n return arg.slice(1, -1);\n }\n\n const num = Number(arg);\n\n return isNaN(num) ? arg : num;\n }\n\n const indices: [number, number][] = [];\n const stack: number[] = [];\n\n for (let i = 0; i < input.length; i++) {\n if (input[i] === 'd' && input.slice(i, i + 3) === 'dt(') {\n stack.push(i);\n i += 2;\n } else if (input[i] === ')' && stack.length > 0) {\n const start = stack.pop()!;\n\n if (stack.length === 0) {\n indices.push([start, i]);\n }\n }\n }\n\n if (!indices.length) return input;\n\n for (let i = indices.length - 1; i >= 0; i--) {\n const [start, end] = indices[i];\n const inner = input.slice(start + 3, end);\n const args = fastParseArgs(inner, fn);\n const resolved = fn(...args);\n\n input = input.slice(0, start) + resolved + input.slice(end + 1);\n }\n\n return input;\n}\n","import { isEmpty, isNotEmpty, isObject, matchRegex, minifyCSS, resolve } from '@primeuix/utils/object';\nimport { dt, toVariables } from '../helpers/index';\nimport { CALC_REGEX, EXPR_REGEX, getRule, toTokenKey, VAR_REGEX } from './sharedUtils';\n\nexport default {\n regex: {\n rules: {\n class: {\n pattern: /^\\.([a-zA-Z][\\w-]*)$/,\n resolve(value: string) {\n return { type: 'class', selector: value, matched: this.pattern.test(value.trim()) };\n }\n },\n attr: {\n pattern: /^\\[(.*)\\]$/,\n resolve(value: string) {\n return { type: 'attr', selector: `:root${value},:host${value}`, matched: this.pattern.test(value.trim()) };\n }\n },\n media: {\n pattern: /^@media (.*)$/,\n resolve(value: string) {\n return { type: 'media', selector: value, matched: this.pattern.test(value.trim()) };\n }\n },\n system: {\n pattern: /^system$/,\n resolve(value: string) {\n return { type: 'system', selector: '@media (prefers-color-scheme: dark)', matched: this.pattern.test(value.trim()) };\n }\n },\n custom: {\n resolve(value: string) {\n return { type: 'custom', selector: value, matched: true };\n }\n }\n },\n resolve(value: any) {\n const rules = Object.keys(this.rules)\n .filter((k) => k !== 'custom')\n .map((r) => (this.rules as any)[r]);\n\n return [value].flat().map((v) => rules.map((r) => r.resolve(v)).find((rr) => rr.matched) ?? this.rules.custom.resolve(v));\n }\n },\n _toVariables(theme: any, options: any) {\n return toVariables(theme, { prefix: options?.prefix });\n },\n getCommon({ name = '', theme = {}, params, set, defaults }: any) {\n const { preset, options } = theme;\n let primitive_css, primitive_tokens, semantic_css, semantic_tokens, global_css, global_tokens, style;\n\n // @todo - check if options is not empty\n if (isNotEmpty(preset) && options.transform !== 'strict') {\n const { primitive, semantic, extend } = preset;\n const { colorScheme, ...sRest } = semantic || {};\n const { colorScheme: eColorScheme, ...eRest } = extend || {};\n const { dark, ...csRest } = colorScheme || {};\n const { dark: eDark, ...ecsRest } = eColorScheme || {};\n const prim_var: any = isNotEmpty(primitive) ? this._toVariables({ primitive }, options) : {};\n const sRest_var: any = isNotEmpty(sRest) ? this._toVariables({ semantic: sRest }, options) : {};\n const csRest_var: any = isNotEmpty(csRest) ? this._toVariables({ light: csRest }, options) : {};\n const csDark_var: any = isNotEmpty(dark) ? this._toVariables({ dark }, options) : {};\n const eRest_var: any = isNotEmpty(eRest) ? this._toVariables({ semantic: eRest }, options) : {};\n const ecsRest_var: any = isNotEmpty(ecsRest) ? this._toVariables({ light: ecsRest }, options) : {};\n const ecsDark_var: any = isNotEmpty(eDark) ? this._toVariables({ dark: eDark }, options) : {};\n\n const [prim_css, prim_tokens] = [prim_var.declarations ?? '', prim_var.tokens];\n const [sRest_css, sRest_tokens] = [sRest_var.declarations ?? '', sRest_var.tokens || []];\n const [csRest_css, csRest_tokens] = [csRest_var.declarations ?? '', csRest_var.tokens || []];\n const [csDark_css, csDark_tokens] = [csDark_var.declarations ?? '', csDark_var.tokens || []];\n const [eRest_css, eRest_tokens] = [eRest_var.declarations ?? '', eRest_var.tokens || []];\n const [ecsRest_css, ecsRest_tokens] = [ecsRest_var.declarations ?? '', ecsRest_var.tokens || []];\n const [ecsDark_css, ecsDark_tokens] = [ecsDark_var.declarations ?? '', ecsDark_var.tokens || []];\n\n primitive_css = this.transformCSS(name, prim_css, 'light', 'variable', options, set, defaults);\n primitive_tokens = prim_tokens;\n\n const semantic_light_css = this.transformCSS(name, `${sRest_css}${csRest_css}`, 'light', 'variable', options, set, defaults);\n const semantic_dark_css = this.transformCSS(name, `${csDark_css}`, 'dark', 'variable', options, set, defaults);\n\n semantic_css = `${semantic_light_css}${semantic_dark_css}`;\n semantic_tokens = [...new Set([...sRest_tokens, ...csRest_tokens, ...csDark_tokens])];\n\n const global_light_css = this.transformCSS(name, `${eRest_css}${ecsRest_css}color-scheme:light`, 'light', 'variable', options, set, defaults);\n const global_dark_css = this.transformCSS(name, `${ecsDark_css}color-scheme:dark`, 'dark', 'variable', options, set, defaults);\n\n global_css = `${global_light_css}${global_dark_css}`;\n global_tokens = [...new Set([...eRest_tokens, ...ecsRest_tokens, ...ecsDark_tokens])];\n\n style = resolve(preset.css, { dt }) as string;\n }\n\n return {\n primitive: {\n css: primitive_css,\n tokens: primitive_tokens\n },\n semantic: {\n css: semantic_css,\n tokens: semantic_tokens\n },\n global: {\n css: global_css,\n tokens: global_tokens\n },\n style\n };\n },\n getPreset({ name = '', preset = {}, options, params, set, defaults, selector }: any) {\n let p_css, p_tokens, p_style;\n\n if (isNotEmpty(preset) && options.transform !== 'strict') {\n const _name = name.replace('-directive', '');\n const { colorScheme, extend, css, ...vRest } = preset;\n const { colorScheme: eColorScheme, ...evRest } = extend || {};\n const { dark, ...csRest } = colorScheme || {};\n const { dark: ecsDark, ...ecsRest } = eColorScheme || {};\n const vRest_var: any = isNotEmpty(vRest) ? this._toVariables({ [_name]: { ...vRest, ...evRest } }, options) : {};\n const csRest_var: any = isNotEmpty(csRest) ? this._toVariables({ [_name]: { ...csRest, ...ecsRest } }, options) : {};\n const csDark_var: any = isNotEmpty(dark) ? this._toVariables({ [_name]: { ...dark, ...ecsDark } }, options) : {};\n\n const [vRest_css, vRest_tokens] = [vRest_var.declarations ?? '', vRest_var.tokens || []];\n const [csRest_css, csRest_tokens] = [csRest_var.declarations ?? '', csRest_var.tokens || []];\n const [csDark_css, csDark_tokens] = [csDark_var.declarations ?? '', csDark_var.tokens || []];\n\n const light_variable_css = this.transformCSS(_name, `${vRest_css}${csRest_css}`, 'light', 'variable', options, set, defaults, selector);\n const dark_variable_css = this.transformCSS(_name, csDark_css, 'dark', 'variable', options, set, defaults, selector);\n\n p_css = `${light_variable_css}${dark_variable_css}`;\n p_tokens = [...new Set([...vRest_tokens, ...csRest_tokens, ...csDark_tokens])];\n\n p_style = resolve(css, { dt }) as string;\n }\n\n return {\n css: p_css,\n tokens: p_tokens,\n style: p_style\n };\n },\n getPresetC({ name = '', theme = {}, params, set, defaults }: any) {\n const { preset, options } = theme;\n const cPreset = preset?.components?.[name];\n\n return this.getPreset({ name, preset: cPreset, options, params, set, defaults });\n },\n // @deprecated - use getPresetC instead\n getPresetD({ name = '', theme = {}, params, set, defaults }: any) {\n const dName = name.replace('-directive', '');\n const { preset, options } = theme;\n const dPreset = preset?.components?.[dName] || preset?.directives?.[dName];\n\n return this.getPreset({ name: dName, preset: dPreset, options, params, set, defaults });\n },\n applyDarkColorScheme(options: any) {\n return !(options.darkModeSelector === 'none' || options.darkModeSelector === false);\n },\n getColorSchemeOption(options: any, defaults: any) {\n return this.applyDarkColorScheme(options) ? this.regex.resolve(options.darkModeSelector === true ? defaults.options.darkModeSelector : (options.darkModeSelector ?? defaults.options.darkModeSelector)) : [];\n },\n getLayerOrder(name: string, options: any = {}, params: any, defaults: any) {\n const { cssLayer } = options;\n\n if (cssLayer) {\n const order = resolve(cssLayer.order || cssLayer.name || 'primeui', params);\n\n return `@layer ${order}`;\n }\n\n return '';\n },\n getCommonStyleSheet({ name = '', theme = {}, params, props = {}, set, defaults }: any) {\n const common = this.getCommon({ name, theme, params, set, defaults });\n const _props = Object.entries(props)\n .reduce((acc: any, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, [])\n .join(' ');\n\n return Object.entries(common || {})\n .reduce((acc: any, [key, value]) => {\n if (isObject(value) && Object.hasOwn(value, 'css')) {\n const _css = minifyCSS((value as any).css);\n const id = `${key}-variables`;\n\n acc.push(`<style type=\"text/css\" data-primevue-style-id=\"${id}\" ${_props}>${_css}</style>`); // @todo data-primevue -> data-primeui check in primevue usestyle\n }\n\n return acc;\n }, [])\n .join('');\n },\n getStyleSheet({ name = '', theme = {}, params, props = {}, set, defaults }: any) {\n const options = { name, theme, params, set, defaults };\n const preset_css = (name.includes('-directive') ? this.getPresetD(options) : this.getPresetC(options))?.css;\n const _props = Object.entries(props)\n .reduce((acc: any, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, [])\n .join(' ');\n\n return preset_css ? `<style type=\"text/css\" data-primevue-style-id=\"${name}-variables\" ${_props}>${minifyCSS(preset_css)}</style>` : ''; // @todo check\n },\n createTokens(obj: any = {}, defaults: any, parentKey: string = '', parentPath: string = '', tokens: any = {}) {\n const computedFn = function (this: any, colorScheme: string, tokenPathMap: any = {}, stack: string[] = []) {\n if (stack.includes(this.path)) {\n console.warn(`Circular reference detected at ${this.path}`);\n\n return {\n colorScheme,\n path: this.path,\n paths: tokenPathMap,\n value: undefined\n };\n }\n\n stack.push(this.path);\n tokenPathMap['name'] = this.path;\n tokenPathMap['binding'] ||= {};\n\n let computedValue: any = this.value;\n\n if (typeof this.value === 'string' && EXPR_REGEX.test(this.value)) {\n const val = this.value.trim();\n const _val = val.replace(EXPR_REGEX, (v: any) => {\n const refPath = v.slice(1, -1);\n const refToken = this.tokens[refPath];\n\n if (!refToken) {\n console.warn(`Token not found for path: ${refPath}`);\n\n return `__UNRESOLVED__`;\n }\n\n const computed = refToken.computed(colorScheme, tokenPathMap, stack);\n\n if (Array.isArray(computed) && computed.length === 2) {\n return `light-dark(${computed[0].value},${computed[1].value})`;\n } else {\n return computed?.value ?? `__UNRESOLVED__`;\n }\n });\n\n computedValue = CALC_REGEX.test(_val.replace(VAR_REGEX, '0')) ? `calc(${_val})` : _val;\n }\n\n if (isEmpty(tokenPathMap['binding'])) {\n delete tokenPathMap['binding'];\n }\n\n stack.pop();\n\n return {\n colorScheme,\n path: this.path,\n paths: tokenPathMap,\n value: computedValue.includes('__UNRESOLVED__') ? undefined : computedValue\n };\n };\n\n const traverse = (obj: any, parentKey: string, parentPath: string) => {\n Object.entries(obj).forEach(([key, value]) => {\n const currentKey = matchRegex(key, defaults.variable.excludedKeyRegex) ? parentKey : parentKey ? `${parentKey}.${toTokenKey(key)}` : toTokenKey(key);\n\n const currentPath = parentPath ? `${parentPath}.${key}` : key;\n\n if (isObject(value)) {\n traverse(value, currentKey, currentPath);\n } else {\n if (!tokens[currentKey]) {\n tokens[currentKey] = {\n paths: [],\n computed: (colorScheme: string, tokenPathMap: any = {}, stack: string[] = []) => {\n if (tokens[currentKey].paths.length === 1) {\n return tokens[currentKey].paths[0].computed(tokens[currentKey].paths[0].scheme, tokenPathMap['binding'], stack);\n } else if (colorScheme && colorScheme !== 'none') {\n for (let i = 0; i < tokens[currentKey].paths.length; i++) {\n const p = tokens[currentKey].paths[i];\n\n if (p.scheme === colorScheme) {\n return p.computed(colorScheme, tokenPathMap['binding'], stack);\n }\n }\n }\n\n return tokens[currentKey].paths.map((p: any) => p.computed(p.scheme, tokenPathMap[p.scheme], stack));\n }\n };\n }\n\n tokens[currentKey].paths.push({\n path: currentPath,\n value,\n scheme: currentPath.includes('colorScheme.light') ? 'light' : currentPath.includes('colorScheme.dark') ? 'dark' : 'none',\n computed: computedFn,\n tokens\n });\n }\n });\n };\n\n traverse(obj, parentKey, parentPath);\n\n return tokens;\n },\n getTokenValue(tokens: any, path: string, defaults: any) {\n const normalizePath = (str: string) => {\n const strArr = str.split('.');\n\n return strArr.filter((s) => !matchRegex(s.toLowerCase(), defaults.variable.excludedKeyRegex)).join('.');\n };\n\n const token = normalizePath(path);\n const colorScheme = path.includes('colorScheme.light') ? 'light' : path.includes('colorScheme.dark') ? 'dark' : undefined;\n const computedValues = [tokens[token as any]?.computed(colorScheme)].flat().filter((computed) => computed);\n\n return computedValues.length === 1\n ? computedValues[0].value\n : computedValues.reduce((acc = {}, computed) => {\n const { colorScheme: cs, ...rest } = computed;\n\n acc[cs] = rest;\n\n return acc;\n }, undefined);\n },\n getSelectorRule(selector1: any, selector2: any, type: string, css: string) {\n return type === 'class' || type === 'attr' ? getRule(isNotEmpty(selector2) ? `${selector1}${selector2},${selector1} ${selector2}` : selector1, css) : getRule(selector1, getRule(selector2 ?? ':root,:host', css));\n },\n transformCSS(name: string, css: string, mode?: string, type?: string, options: any = {}, set?: any, defaults?: any, selector?: string) {\n if (isNotEmpty(css)) {\n const { cssLayer } = options;\n\n if (type !== 'style') {\n const colorSchemeOption = this.getColorSchemeOption(options, defaults);\n\n css =\n mode === 'dark'\n ? colorSchemeOption.reduce((acc, { type, selector: _selector }) => {\n if (isNotEmpty(_selector)) {\n acc += _selector.includes('[CSS]') ? _selector.replace('[CSS]', css) : this.getSelectorRule(_selector, selector, type, css);\n }\n\n return acc;\n }, '')\n : getRule(selector ?? ':root,:host', css);\n }\n\n if (cssLayer) {\n const layerOptions = {\n name: 'primeui',\n order: 'primeui'\n };\n\n isObject(cssLayer) && (layerOptions.name = resolve((cssLayer as any).name, { name, type }));\n\n if (isNotEmpty(layerOptions.name)) {\n css = getRule(`@layer ${layerOptions.name}`, css);\n set?.layerNames(layerOptions.name);\n }\n }\n\n return css;\n }\n\n return '';\n }\n};\n","function normalizeColor(color: string): string {\n if (color.length === 4) {\n return `#${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;\n }\n\n return color;\n}\n\nfunction hexToRgb(hex: string) {\n const bigint = parseInt(hex.substring(1), 16);\n const r = (bigint >> 16) & 255;\n const g = (bigint >> 8) & 255;\n const b = bigint & 255;\n\n return { r, g, b };\n}\n\nfunction rgbToHex(r: number, g: number, b: number) {\n return `#${r.toString(16).padStart(2, '0')}${g.toString(16).padStart(2, '0')}${b.toString(16).padStart(2, '0')}`;\n}\n\nexport default (color1: string, color2: string, weight: number): string => {\n color1 = normalizeColor(color1);\n color2 = normalizeColor(color2);\n\n const p = weight / 100;\n const w = p * 2 - 1;\n const w1 = (w + 1) / 2.0;\n const w2 = 1 - w1;\n\n const rgb1 = hexToRgb(color1);\n const rgb2 = hexToRgb(color2);\n\n const r = Math.round(rgb1.r * w1 + rgb2.r * w2);\n const g = Math.round(rgb1.g * w1 + rgb2.g * w2);\n const b = Math.round(rgb1.b * w1 + rgb2.b * w2);\n\n return rgbToHex(r, g, b);\n};\n","import { matchRegex } from '@primeuix/utils';\nimport type { ColorScale } from '../..';\nimport { EXPR_REGEX } from '../../utils/index';\nimport shade from './shade';\nimport tint from './tint';\n\nconst scales: number[] = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];\n\nexport default (color: string): string | ColorScale => {\n if (matchRegex(color, EXPR_REGEX)) {\n const token = color.replace(/{|}/g, '');\n\n return scales.reduce<ColorScale>((acc, scale) => {\n acc[scale as keyof ColorScale] = `{${token}.${scale}}`;\n\n return acc;\n }, {});\n }\n\n return typeof color === 'string'\n ? scales.reduce<ColorScale>((acc, scale, i) => {\n acc[scale as keyof ColorScale] = i <= 5 ? tint(color, (5 - i) * 19) : shade(color, (i - 5) * 15);\n\n return acc;\n }, {})\n : color;\n};\n","import mix from './mix';\n\nexport default (color: string, percent: number) => mix('#000000', color, percent);\n","import mix from './mix';\n\nexport default (color: string, percent: number) => mix('#ffffff', color, percent);\n","import { resolve } from '@primeuix/utils';\nimport { evaluateDtExpressions, type StyleType } from '..';\nimport { dt } from './dt';\n\nexport function css(strings: TemplateStringsArray | StyleType, ...exprs: unknown[]): string | undefined {\n if (strings instanceof Array) {\n const raw = strings.reduce((acc, str, i) => acc + str + (resolve(exprs[i], { dt }) ?? ''), '');\n\n return evaluateDtExpressions(raw, dt);\n }\n\n return resolve(strings as unknown, { dt }) as string | undefined;\n}\n","import { isEmpty, matchRegex } from '@primeuix/utils/object';\nimport Theme from '../config/index';\nimport { EXPR_REGEX, getVariableValue } from '../utils/index';\n\nexport const $dt = (tokenPath: string): { name: string; variable: string; value: unknown } => {\n const theme = Theme.getTheme();\n\n const variable = dtwt(theme, tokenPath, undefined, 'variable');\n const name = variable?.match(/--[\\w-]+/g)?.[0];\n const value = dtwt(theme, tokenPath, undefined, 'value');\n\n return {\n name,\n variable,\n value\n };\n};\n\nexport const dt = (...args: Parameters<typeof dtwt> extends [unknown, ...infer Rest] ? Rest : never) => {\n return dtwt(Theme.getTheme(), ...args);\n};\n\nexport const dtwt = (theme: any = {}, tokenPath: string, fallback?: string, type?: string) => {\n if (tokenPath) {\n const { variable: VARIABLE, options: OPTIONS } = Theme.defaults || {};\n const { prefix, transform } = theme?.options || OPTIONS || {};\n const token = matchRegex(tokenPath, EXPR_REGEX) ? tokenPath : `{${tokenPath}}`;\n const isStrictTransform = type === 'value' || (isEmpty(type) && transform === 'strict'); // @todo - TRANSFORM: strict | lenient(default)\n\n return isStrictTransform ? Theme.getTokenValue(tokenPath) : getVariableValue(token, undefined, prefix, [VARIABLE.excludedKeyRegex], fallback);\n }\n\n return '';\n};\n","import { mergeKeys } from '@primeuix/utils/object';\nimport Theme from '../config/index';\n\nexport const $t = (theme: any = {}) => {\n let { preset: _preset, options: _options } = theme;\n\n return {\n preset(value: any) {\n _preset = _preset ? mergeKeys(_preset, value) : value;\n\n return this;\n },\n options(value: any) {\n _options = _options ? { ..._options, ...value } : value;\n\n return this;\n },\n // features\n primaryPalette(primary: any) {\n const { semantic } = _preset || {};\n\n _preset = { ..._preset, semantic: { ...semantic, primary } };\n\n return this;\n },\n surfacePalette(surface: any) {\n const { semantic } = _preset || {};\n const lightSurface = surface && Object.hasOwn(surface, 'light') ? surface.light : surface;\n const darkSurface = surface && Object.hasOwn(surface, 'dark') ? surface.dark : surface;\n const newColorScheme = {\n colorScheme: {\n light: { ...semantic?.colorScheme?.light, ...(!!lightSurface && { surface: lightSurface }) },\n dark: { ...semantic?.colorScheme?.dark, ...(!!darkSurface && { surface: darkSurface }) }\n }\n };\n\n _preset = { ..._preset, semantic: { ...semantic, ...newColorScheme } };\n\n return this;\n },\n // actions\n define({ useDefaultPreset = false, useDefaultOptions = false } = {}) {\n return {\n preset: useDefaultPreset ? Theme.getPreset() : _preset,\n options: useDefaultOptions ? Theme.getOptions() : _options\n };\n },\n update({ mergePresets = true, mergeOptions = true } = {}) {\n const newTheme = {\n preset: mergePresets ? mergeKeys(Theme.getPreset(), _preset) : _preset,\n options: mergeOptions ? { ...Theme.getOptions(), ..._options } : _options\n };\n\n Theme.setTheme(newTheme);\n\n return newTheme;\n },\n use(options: any) {\n const newTheme = this.define(options);\n\n Theme.setTheme(newTheme);\n\n return newTheme;\n }\n };\n};\n","import { isObject, matchRegex, toKebabCase } from '@primeuix/utils/object';\nimport Theme from '../config/index';\nimport { getRule, getVariableName, getVariableValue, setProperty, toNormalizeVariable, toValue } from '../utils/index';\n\nexport interface toVariableOptions {\n prefix?: string;\n selector?: string;\n excludedKeyRegex?: RegExp;\n}\n\nexport interface toVariableOutput {\n value: string[];\n tokens: string[];\n declarations: string;\n css: string;\n}\n\nexport default function (theme: any, options: toVariableOptions = {}): toVariableOutput {\n const VARIABLE = Theme.defaults.variable;\n const { prefix = VARIABLE.prefix, selector = VARIABLE.selector, excludedKeyRegex = VARIABLE.excludedKeyRegex } = options;\n\n const tokens: string[] = [];\n const variables: string[] = [];\n\n const stack = [{ node: theme, path: prefix }];\n\n while (stack.length) {\n const { node, path } = stack.pop()!;\n\n for (const key in node) {\n const raw = node[key];\n const val = toValue(raw);\n\n const skipNormalize = matchRegex(key, excludedKeyRegex);\n const variablePath = skipNormalize ? toNormalizeVariable(path) : toNormalizeVariable(path, toKebabCase(key));\n\n if (isObject(val)) {\n stack.push({ node: val, path: variablePath });\n } else {\n const varName = getVariableName(variablePath);\n const varValue = getVariableValue(val, variablePath, prefix, [excludedKeyRegex]);\n\n setProperty(variables, varName, varValue);\n\n let token = variablePath;\n\n if (prefix && token.startsWith(prefix + '-')) {\n token = token.slice(prefix.length + 1);\n }\n\n tokens.push(token.replace(/-/g, '.'));\n }\n }\n }\n\n const declarations = variables.join('');\n\n return {\n value: variables,\n tokens,\n declarations,\n css: getRule(selector, declarations)\n };\n}\n","import ThemeService from '../service/index';\nimport { ThemeUtils } from '../utils/index';\n\nexport default {\n defaults: {\n variable: {\n prefix: 'p',\n selector: ':root,:host',\n excludedKeyRegex: /^(primitive|semantic|components|directives|variables|colorscheme|light|dark|common|root|states|extend|css)$/gi\n },\n options: {\n prefix: 'p',\n darkModeSelector: 'system',\n cssLayer: false\n }\n },\n _theme: undefined,\n _layerNames: new Set(),\n _loadedStyleNames: new Set(),\n _loadingStyles: new Set(),\n _tokens: {},\n update(newValues: any = {}) {\n const { theme } = newValues;\n\n if (theme) {\n this._theme = {\n ...theme,\n options: {\n ...this.defaults.options,\n ...theme.options\n }\n };\n this._tokens = ThemeUtils.createTokens(this.preset, this.defaults);\n this.clearLoadedStyleNames();\n }\n },\n get theme(): any {\n return this._theme;\n },\n get preset() {\n return this.theme?.preset || {};\n },\n get options() {\n return this.theme?.options || {};\n },\n get tokens() {\n return this._tokens;\n },\n getTheme() {\n return this.theme;\n },\n setTheme(newValue: any) {\n this.update({ theme: newValue });\n ThemeService.emit('theme:change', newValue);\n },\n getPreset() {\n return this.preset;\n },\n setPreset(newValue: any) {\n this._theme = { ...this.theme, preset: newValue };\n this._tokens = ThemeUtils.createTokens(newValue, this.defaults);\n\n this.clearLoadedStyleNames();\n ThemeService.emit('preset:change', newValue);\n ThemeService.emit('theme:change', this.theme);\n },\n getOptions() {\n return this.options;\n },\n setOptions(newValue: any) {\n this._theme = { ...this.theme, options: newValue };\n\n this.clearLoadedStyleNames();\n ThemeService.emit('options:change', newValue);\n ThemeService.emit('theme:change', this.theme);\n },\n getLayerNames() {\n return [...this._layerNames];\n },\n setLayerNames(layerName: any) {\n this._layerNames.add(layerName);\n },\n getLoadedStyleNames() {\n return this._loadedStyleNames;\n },\n isStyleNameLoaded(name: string) {\n return this._loadedStyleNames.has(name);\n },\n setLoadedStyleName(name: string) {\n this._loadedStyleNames.add(name);\n },\n deleteLoadedStyleName(name: string) {\n this._loadedStyleNames.delete(name);\n },\n clearLoadedStyleNames() {\n this._loadedStyleNames.clear();\n },\n getTokenValue(tokenPath: string) {\n return ThemeUtils.getTokenValue(this.tokens, tokenPath, this.defaults);\n },\n getCommon(name = '', params: any) {\n return ThemeUtils.getCommon({ name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n getComponent(name = '', params: any) {\n const options = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n\n return ThemeUtils.getPresetC(options);\n },\n // @deprecated - use getComponent instead\n getDirective(name = '', params: any) {\n const options = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n\n return ThemeUtils.getPresetD(options);\n },\n getCustomPreset(name = '', preset: any, selector: string, params: any) {\n const options = { name, preset, options: this.options, selector, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n\n return ThemeUtils.getPreset(options);\n },\n getLayerOrderCSS(name = '') {\n return ThemeUtils.getLayerOrder(name, this.options, { names: this.getLayerNames() }, this.defaults);\n },\n transformCSS(name = '', css: string, type: string = 'style', mode?: string) {\n return ThemeUtils.transformCSS(name, css, mode, type, this.options, { layerNames: this.setLayerNames.bind(this) }, this.defaults);\n },\n getCommonStyleSheet(name = '', params: any, props = {}) {\n return ThemeUtils.getCommonStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n getStyleSheet(name: string, params: any, props = {}) {\n return ThemeUtils.getStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n onStyleMounted(name: string) {\n this._loadingStyles.add(name);\n },\n onStyleUpdated(name: string) {\n this._loadingStyles.add(name);\n },\n onStyleLoaded(event: any, { name }: { name: any }) {\n if (this._loadingStyles.size) {\n this._loadingStyles.delete(name);\n\n ThemeService.emit(`theme:${name}:load`, event); // Exp: ThemeService.emit('theme:panel-style:load', event)\n !this._loadingStyles.size && ThemeService.emit('theme:load');\n }\n }\n};\n","import { $t } from '../helpers/index';\n\nexport default function updatePrimaryPalette<T = unknown, P = unknown>(palette?: T): P {\n return $t().primaryPalette(palette).update().preset as P;\n}\n","import { $t } from '../helpers/index';\n\nexport default function updateSurfacePalette<T = unknown, P = unknown>(palette?: T): P {\n return $t().surfacePalette(palette).update().preset as P;\n}\n","import { deepMerge } from '@primeuix/utils/object';\nimport Theme from '../config/index';\n\nexport default function usePreset<T extends Record<string, unknown>>(...presets: T[]): T {\n const newPreset = deepMerge(...presets);\n\n Theme.setPreset(newPreset);\n\n return newPreset as T;\n}\n","import { $t } from '../helpers/index';\n\nexport default function useTheme<T = unknown>(theme: T): T {\n return $t(theme).update({ mergePresets: false }) as T;\n}\n","import { createStyleMarkup, isNotEmpty } from '@primeuix/utils';\n\nexport interface StyleSheetProps {\n attrs?: Record<string, unknown>;\n}\n\nexport interface StyleMeta<E = HTMLStyleElement> {\n name?: string;\n css?: string;\n attrs?: Record<string, unknown>;\n markup?: string;\n element?: E;\n}\n\nclass StyleSheet<E = HTMLStyleElement> {\n _styles: Map<string, StyleMeta<E>>;\n _attrs: Record<string, unknown>;\n constructor({ attrs }: StyleSheetProps = {}) {\n this._styles = new Map();\n this._attrs = attrs || {};\n }\n get(key: string) {\n return this._styles.get(key);\n }\n has(key: string) {\n return this._styles.has(key);\n }\n delete(key: string) {\n this._styles.delete(key);\n }\n clear() {\n this._styles.clear();\n }\n add(key: string, css?: string) {\n if (isNotEmpty(css)) {\n const meta = {\n name: key,\n css,\n attrs: this._attrs,\n markup: createStyleMarkup(css, this._attrs)\n } satisfies StyleMeta<E>;\n\n this._styles.set(key, {\n ...meta,\n element: this.createStyleElement(meta)\n });\n }\n }\n update() {\n // @todo\n }\n getStyles() {\n return this._styles;\n }\n getAllCSS() {\n return [...this._styles.values()].map((style) => style.css).filter(String);\n }\n getAllMarkup() {\n return [...this._styles.values()].map((style) => style.markup).filter(String);\n }\n getAllElements() {\n return [...this._styles.values()].map((style) => style.element);\n }\n /**\n * Used to create a style element.\n *\n * @param {StyleMeta} meta\n * @returns {HTMLStyleElement | undefined}\n */\n // eslint-disable-next-line\n createStyleElement(meta: StyleMeta = {}): E | undefined {\n return undefined;\n }\n}\n\nexport default StyleSheet;\n"],"mappings":"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","names":["deepMerge","definePreset","presets","deepMerge","EventBus","ThemeService","service_default","getKeyValue","isArray","isNotEmpty","isNumber","isObject","isString","matchRegex","toKebabCase","EXPR_REGEX","CALC_REGEX","VAR_REGEX","toTokenKey","str","c","i","merge","value1","value2","toValue","value","toUnit","variable","property","v","toNormalizePrefix","prefix","toNormalizeVariable","getVariableName","hasOddBraces","openBraces","closeBraces","getVariableValue","excludedKeyRegexes","fallback","val","_val","keys","_v","_r","getComputedValue","obj","setProperty","properties","key","getRule","selector","evaluateDtExpressions","input","fn","fastParseArgs","args","current","quote","depth","arg","parseArg","q","num","indices","stack","start","end","inner","resolved","isEmpty","isNotEmpty","isObject","matchRegex","minifyCSS","resolve","normalizeColor","color","hexToRgb","hex","bigint","g","b","rgbToHex","r","mix_default","color1","color2","weight","w1","w2","rgb1","rgb2","matchRegex","shade_default","color","percent","mix_default","tint_default","color","percent","mix_default","scales","palette_default","color","matchRegex","EXPR_REGEX","token","acc","scale","i","tint_default","shade_default","resolve","isEmpty","matchRegex","$dt","tokenPath","_a","theme","config_default","variable","dtwt","name","value","dt","args","fallback","type","VARIABLE","OPTIONS","prefix","transform","token","matchRegex","EXPR_REGEX","isEmpty","getVariableValue","css","strings","exprs","raw","acc","str","i","_a","resolve","dt","evaluateDtExpressions","mergeKeys","$t","theme","_preset","_options","value","mergeKeys","__spreadValues","primary","semantic","__spreadProps","surface","_a","_b","lightSurface","darkSurface","newColorScheme","useDefaultPreset","useDefaultOptions","config_default","mergePresets","mergeOptions","newTheme","options","isObject","matchRegex","toKebabCase","toVariables_default","theme","options","VARIABLE","config_default","prefix","selector","excludedKeyRegex","tokens","variables","stack","node","path","key","raw","val","toValue","variablePath","matchRegex","toNormalizeVariable","toKebabCase","isObject","varName","getVariableName","varValue","getVariableValue","setProperty","token","declarations","getRule","themeUtils_default","value","rules","k","v","_a","r","rr","theme","options","toVariables_default","name","params","set","defaults","_e","_f","_g","_h","_i","_j","_k","preset","primitive_css","primitive_tokens","semantic_css","semantic_tokens","global_css","global_tokens","style","isNotEmpty","primitive","semantic","extend","colorScheme","sRest","__objRest","_b","eColorScheme","eRest","_c","dark","csRest","_d","eDark","ecsRest","prim_var","sRest_var","csRest_var","csDark_var","eRest_var","ecsRest_var","ecsDark_var","prim_css","prim_tokens","sRest_css","sRest_tokens","csRest_css","csRest_tokens","csDark_css","csDark_tokens","eRest_css","eRest_tokens","ecsRest_css","ecsRest_tokens","ecsDark_css","ecsDark_tokens","semantic_light_css","semantic_dark_css","global_light_css","global_dark_css","resolve","dt","selector","p_css","p_tokens","p_style","_name","css","vRest","evRest","ecsDark","vRest_var","__spreadValues","vRest_css","vRest_tokens","light_variable_css","dark_variable_css","cPreset","dName","dPreset","cssLayer","props","common","_props","acc","key","isObject","_css","minifyCSS","id","preset_css","obj","parentKey","parentPath","tokens","computedFn","tokenPathMap","stack","computedValue","EXPR_REGEX","_val","refPath","refToken","computed","CALC_REGEX","VAR_REGEX","isEmpty","traverse","currentKey","matchRegex","toTokenKey","currentPath","i","p","path","token","str","s","computedValues","cs","rest","selector1","selector2","type","getRule","mode","colorSchemeOption","_selector","layerOptions","config_default","newValues","theme","__spreadProps","__spreadValues","themeUtils_default","_a","newValue","service_default","layerName","name","tokenPath","params","options","preset","selector","css","type","mode","props","event","updatePreset","presets","newPreset","deepMerge","config_default","updatePrimaryPalette","palette","$t","updateSurfacePalette","palette","$t","deepMerge","usePreset","presets","newPreset","deepMerge","config_default","useTheme","theme","$t","createStyleMarkup","isNotEmpty","StyleSheet","attrs","key","css","isNotEmpty","meta","createStyleMarkup","__spreadProps","__spreadValues","style","stylesheet_default"]} |