@pandacss/generator 0.38.0 → 0.39.1
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/index.js +33 -28
- package/dist/index.mjs +33 -28
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -152,9 +152,22 @@ function generateCssFn(ctx) {
|
|
|
152
152
|
dts: import_outdent3.outdent`
|
|
153
153
|
${ctx.file.importType("SystemStyleObject", "../types/index")}
|
|
154
154
|
|
|
155
|
+
type Styles = SystemStyleObject | undefined | null | false
|
|
156
|
+
|
|
157
|
+
interface CssRawFunction {
|
|
158
|
+
(styles: Styles): SystemStyleObject
|
|
159
|
+
(styles: Styles[]): SystemStyleObject
|
|
160
|
+
(...styles: Array<Styles | Styles[]>): SystemStyleObject
|
|
161
|
+
(styles: Styles): SystemStyleObject
|
|
162
|
+
}
|
|
163
|
+
|
|
155
164
|
interface CssFunction {
|
|
156
|
-
(
|
|
157
|
-
|
|
165
|
+
(styles: Styles): string
|
|
166
|
+
(styles: Styles[]): string
|
|
167
|
+
(...styles: Array<Styles | Styles[]>): string
|
|
168
|
+
(styles: Styles): string
|
|
169
|
+
|
|
170
|
+
raw: CssRawFunction
|
|
158
171
|
}
|
|
159
172
|
|
|
160
173
|
export declare const css: CssFunction;
|
|
@@ -418,7 +431,7 @@ var astish_mjs_default = {
|
|
|
418
431
|
|
|
419
432
|
// src/artifacts/generated/helpers.mjs.json
|
|
420
433
|
var helpers_mjs_default = {
|
|
421
|
-
content: '// src/assert.ts\nfunction isObject(value) {\n return typeof value === "object" && value != null && !Array.isArray(value);\n}\n\n// src/compact.ts\nfunction compact(value) {\n return Object.fromEntries(Object.entries(value ?? {}).filter(([_, value2]) => value2 !== void 0));\n}\n\n// src/condition.ts\nvar isBaseCondition = (v) => v === "base";\nfunction filterBaseConditions(c) {\n return c.slice().filter((v) => !isBaseCondition(v));\n}\n\n// src/hash.ts\nfunction toChar(code) {\n return String.fromCharCode(code + (code > 25 ? 39 : 97));\n}\nfunction toName(code) {\n let name = "";\n let x;\n for (x = Math.abs(code); x > 52; x = x / 52 | 0)\n name = toChar(x % 52) + name;\n return toChar(x % 52) + name;\n}\nfunction toPhash(h, x) {\n let i = x.length;\n while (i)\n h = h * 33 ^ x.charCodeAt(--i);\n return h;\n}\nfunction toHash(value) {\n return toName(toPhash(5381, value) >>> 0);\n}\n\n// src/important.ts\nvar importantRegex = /\\s*!(important)?/i;\nfunction isImportant(value) {\n return typeof value === "string" ? importantRegex.test(value) : false;\n}\nfunction withoutImportant(value) {\n return typeof value === "string" ? value.replace(importantRegex, "").trim() : value;\n}\nfunction withoutSpace(str) {\n return typeof str === "string" ? str.replaceAll(" ", "_") : str;\n}\n\n// src/memo.ts\nvar memo = (fn) => {\n const cache = /* @__PURE__ */ new Map();\n const get = (...args) => {\n const key = JSON.stringify(args);\n if (cache.has(key)) {\n return cache.get(key);\n }\n const result = fn(...args);\n cache.set(key, result);\n return result;\n };\n return get;\n};\n\n// src/merge-props.ts\nfunction mergeProps(...sources) {\n const objects = sources.filter(Boolean);\n return objects.reduce((prev, obj) => {\n Object.keys(obj).forEach((key) => {\n const prevValue = prev[key];\n const value = obj[key];\n if (isObject(prevValue) && isObject(value)) {\n prev[key] = mergeProps(prevValue, value);\n } else {\n prev[key] = value;\n }\n });\n return prev;\n }, {});\n}\n\n// src/walk-object.ts\nvar isNotNullish = (element) => element != null;\nfunction walkObject(target, predicate, options = {}) {\n const { stop, getKey } = options;\n function inner(value, path = []) {\n if (isObject(value) || Array.isArray(value)) {\n const result = {};\n for (const [prop, child] of Object.entries(value)) {\n const key = getKey?.(prop, child) ?? prop;\n const childPath = [...path, key];\n if (stop?.(value, childPath)) {\n return predicate(value, path);\n }\n const next = inner(child, childPath);\n if (isNotNullish(next)) {\n result[key] = next;\n }\n }\n return result;\n }\n return predicate(value, path);\n }\n return inner(target);\n}\nfunction mapObject(obj, fn) {\n if (Array.isArray(obj))\n return obj.map((value) => fn(value));\n if (!isObject(obj))\n return fn(obj);\n return walkObject(obj, (value) => fn(value));\n}\n\n// src/normalize-style-object.ts\nfunction toResponsiveObject(values, breakpoints) {\n return values.reduce(\n (acc, current, index) => {\n const key = breakpoints[index];\n if (current != null) {\n acc[key] = current;\n }\n return acc;\n },\n {}\n );\n}\nfunction normalizeStyleObject(styles, context, shorthand = true) {\n const { utility, conditions } = context;\n const { hasShorthand, resolveShorthand } = utility;\n return walkObject(\n styles,\n (value) => {\n return Array.isArray(value) ? toResponsiveObject(value, conditions.breakpoints.keys) : value;\n },\n {\n stop: (value) => Array.isArray(value),\n getKey: shorthand ? (prop) => hasShorthand ? resolveShorthand(prop) : prop : void 0\n }\n );\n}\n\n// src/classname.ts\nvar fallbackCondition = {\n shift: (v) => v,\n finalize: (v) => v,\n breakpoints: { keys: [] }\n};\nvar sanitize = (value) => typeof value === "string" ? value.replaceAll(/[\\n\\s]+/g, " ") : value;\nfunction createCss(context) {\n const { utility, hash, conditions: conds = fallbackCondition } = context;\n const formatClassName = (str) => [utility.prefix, str].filter(Boolean).join("-");\n const hashFn = (conditions, className) => {\n let result;\n if (hash) {\n const baseArray = [...conds.finalize(conditions), className];\n result = formatClassName(utility.toHash(baseArray, toHash));\n } else {\n const baseArray = [...conds.finalize(conditions), formatClassName(className)];\n result = baseArray.join(":");\n }\n return result;\n };\n return memo(({ base, ...styles } = {}) => {\n const styleObject = Object.assign(styles, base);\n const normalizedObject = normalizeStyleObject(styleObject, context);\n const classNames = /* @__PURE__ */ new Set();\n walkObject(normalizedObject, (value, paths) => {\n const important = isImportant(value);\n if (value == null)\n return;\n const [prop, ...allConditions] = conds.shift(paths);\n const conditions = filterBaseConditions(allConditions);\n const transformed = utility.transform(prop, withoutImportant(sanitize(value)));\n let className = hashFn(conditions, transformed.className);\n if (important)\n className = `${className}!`;\n classNames.add(className);\n });\n return Array.from(classNames).join(" ");\n });\n}\nfunction compactStyles(...styles) {\n return styles.filter((style) => isObject(style) && Object.keys(compact(style)).length > 0);\n}\nfunction createMergeCss(context) {\n function resolve(styles) {\n const allStyles = compactStyles(...styles);\n if (allStyles.length === 1)\n return allStyles;\n return allStyles.map((style) => normalizeStyleObject(style, context));\n }\n function mergeCss(...styles) {\n return mergeProps(...resolve(styles));\n }\n function assignCss(...styles) {\n return Object.assign({}, ...resolve(styles));\n }\n return { mergeCss: memo(mergeCss), assignCss };\n}\n\n// src/hypenate-property.ts\nvar wordRegex = /([A-Z])/g;\nvar msRegex = /^ms-/;\nvar hypenateProperty = memo((property) => {\n if (property.startsWith("--"))\n return property;\n return property.replace(wordRegex, "-$1").replace(msRegex, "-ms-").toLowerCase();\n});\n\n// src/is-css-function.ts\nvar fns = ["min", "max", "clamp", "calc"];\nvar fnRegExp = new RegExp(`^(${fns.join("|")})\\\\(.*\\\\)`);\nvar isCssFunction = (v) => typeof v === "string" && fnRegExp.test(v);\n\n// src/is-css-unit.ts\nvar lengthUnits = "cm,mm,Q,in,pc,pt,px,em,ex,ch,rem,lh,rlh,vw,vh,vmin,vmax,vb,vi,svw,svh,lvw,lvh,dvw,dvh,cqw,cqh,cqi,cqb,cqmin,cqmax,%";\nvar lengthUnitsPattern = `(?:${lengthUnits.split(",").join("|")})`;\nvar lengthRegExp = new RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${lengthUnitsPattern}$`);\nvar isCssUnit = (v) => typeof v === "string" && lengthRegExp.test(v);\n\n// src/is-css-var.ts\nvar isCssVar = (v) => typeof v === "string" && /^var\\(--.+\\)$/.test(v);\n\n// src/pattern-fns.ts\nvar patternFns = {\n map: mapObject,\n isCssFunction,\n isCssVar,\n isCssUnit\n};\nvar getPatternStyles = (pattern, styles) => {\n if (!pattern?.defaultValues)\n return styles;\n const defaults = typeof pattern.defaultValues === "function" ? pattern.defaultValues(styles) : pattern.defaultValues;\n return Object.assign({}, defaults, compact(styles));\n};\n\n// src/slot.ts\nvar getSlotRecipes = (recipe = {}) => {\n const init = (slot) => ({\n className: [recipe.className, slot].filter(Boolean).join("__"),\n base: recipe.base?.[slot] ?? {},\n variants: {},\n defaultVariants: recipe.defaultVariants ?? {},\n compoundVariants: recipe.compoundVariants ? getSlotCompoundVariant(recipe.compoundVariants, slot) : []\n });\n const slots = recipe.slots ?? [];\n const recipeParts = slots.map((slot) => [slot, init(slot)]);\n for (const [variantsKey, variantsSpec] of Object.entries(recipe.variants ?? {})) {\n for (const [variantKey, variantSpec] of Object.entries(variantsSpec)) {\n recipeParts.forEach(([slot, slotRecipe]) => {\n slotRecipe.variants[variantsKey] ??= {};\n slotRecipe.variants[variantsKey][variantKey] = variantSpec[slot] ?? {};\n });\n }\n }\n return Object.fromEntries(recipeParts);\n};\nvar getSlotCompoundVariant = (compoundVariants, slotName) => compoundVariants.filter((compoundVariant) => compoundVariant.css[slotName]).map((compoundVariant) => ({ ...compoundVariant, css: compoundVariant.css[slotName] }));\n\n// src/split-props.ts\nfunction splitProps(props, ...keys) {\n const descriptors = Object.getOwnPropertyDescriptors(props);\n const dKeys = Object.keys(descriptors);\n const split = (k) => {\n const clone = {};\n for (let i = 0; i < k.length; i++) {\n const key = k[i];\n if (descriptors[key]) {\n Object.defineProperty(clone, key, descriptors[key]);\n delete descriptors[key];\n }\n }\n return clone;\n };\n const fn = (key) => split(Array.isArray(key) ? key : dKeys.filter(key));\n return keys.map(fn).concat(split(dKeys));\n}\n\n// src/uniq.ts\nvar uniq = (...items) => items.filter(Boolean).reduce((acc, item) => Array.from(/* @__PURE__ */ new Set([...acc, ...item])), []);\nexport {\n compact,\n createCss,\n createMergeCss,\n filterBaseConditions,\n getPatternStyles,\n getSlotCompoundVariant,\n getSlotRecipes,\n hypenateProperty,\n isBaseCondition,\n isObject,\n mapObject,\n memo,\n mergeProps,\n patternFns,\n splitProps,\n toHash,\n uniq,\n walkObject,\n withoutSpace\n};\n'
|
|
434
|
+
content: '// src/assert.ts\nfunction isObject(value) {\n return typeof value === "object" && value != null && !Array.isArray(value);\n}\n\n// src/compact.ts\nfunction compact(value) {\n return Object.fromEntries(Object.entries(value ?? {}).filter(([_, value2]) => value2 !== void 0));\n}\n\n// src/condition.ts\nvar isBaseCondition = (v) => v === "base";\nfunction filterBaseConditions(c) {\n return c.slice().filter((v) => !isBaseCondition(v));\n}\n\n// src/hash.ts\nfunction toChar(code) {\n return String.fromCharCode(code + (code > 25 ? 39 : 97));\n}\nfunction toName(code) {\n let name = "";\n let x;\n for (x = Math.abs(code); x > 52; x = x / 52 | 0)\n name = toChar(x % 52) + name;\n return toChar(x % 52) + name;\n}\nfunction toPhash(h, x) {\n let i = x.length;\n while (i)\n h = h * 33 ^ x.charCodeAt(--i);\n return h;\n}\nfunction toHash(value) {\n return toName(toPhash(5381, value) >>> 0);\n}\n\n// src/important.ts\nvar importantRegex = /\\s*!(important)?/i;\nfunction isImportant(value) {\n return typeof value === "string" ? importantRegex.test(value) : false;\n}\nfunction withoutImportant(value) {\n return typeof value === "string" ? value.replace(importantRegex, "").trim() : value;\n}\nfunction withoutSpace(str) {\n return typeof str === "string" ? str.replaceAll(" ", "_") : str;\n}\n\n// src/memo.ts\nvar memo = (fn) => {\n const cache = /* @__PURE__ */ new Map();\n const get = (...args) => {\n const key = JSON.stringify(args);\n if (cache.has(key)) {\n return cache.get(key);\n }\n const result = fn(...args);\n cache.set(key, result);\n return result;\n };\n return get;\n};\n\n// src/merge-props.ts\nfunction mergeProps(...sources) {\n const objects = sources.filter(Boolean);\n return objects.reduce((prev, obj) => {\n Object.keys(obj).forEach((key) => {\n const prevValue = prev[key];\n const value = obj[key];\n if (isObject(prevValue) && isObject(value)) {\n prev[key] = mergeProps(prevValue, value);\n } else {\n prev[key] = value;\n }\n });\n return prev;\n }, {});\n}\n\n// src/walk-object.ts\nvar isNotNullish = (element) => element != null;\nfunction walkObject(target, predicate, options = {}) {\n const { stop, getKey } = options;\n function inner(value, path = []) {\n if (isObject(value) || Array.isArray(value)) {\n const result = {};\n for (const [prop, child] of Object.entries(value)) {\n const key = getKey?.(prop, child) ?? prop;\n const childPath = [...path, key];\n if (stop?.(value, childPath)) {\n return predicate(value, path);\n }\n const next = inner(child, childPath);\n if (isNotNullish(next)) {\n result[key] = next;\n }\n }\n return result;\n }\n return predicate(value, path);\n }\n return inner(target);\n}\nfunction mapObject(obj, fn) {\n if (Array.isArray(obj))\n return obj.map((value) => fn(value));\n if (!isObject(obj))\n return fn(obj);\n return walkObject(obj, (value) => fn(value));\n}\n\n// src/normalize-style-object.ts\nfunction toResponsiveObject(values, breakpoints) {\n return values.reduce(\n (acc, current, index) => {\n const key = breakpoints[index];\n if (current != null) {\n acc[key] = current;\n }\n return acc;\n },\n {}\n );\n}\nfunction normalizeStyleObject(styles, context, shorthand = true) {\n const { utility, conditions } = context;\n const { hasShorthand, resolveShorthand } = utility;\n return walkObject(\n styles,\n (value) => {\n return Array.isArray(value) ? toResponsiveObject(value, conditions.breakpoints.keys) : value;\n },\n {\n stop: (value) => Array.isArray(value),\n getKey: shorthand ? (prop) => hasShorthand ? resolveShorthand(prop) : prop : void 0\n }\n );\n}\n\n// src/classname.ts\nvar fallbackCondition = {\n shift: (v) => v,\n finalize: (v) => v,\n breakpoints: { keys: [] }\n};\nvar sanitize = (value) => typeof value === "string" ? value.replaceAll(/[\\n\\s]+/g, " ") : value;\nfunction createCss(context) {\n const { utility, hash, conditions: conds = fallbackCondition } = context;\n const formatClassName = (str) => [utility.prefix, str].filter(Boolean).join("-");\n const hashFn = (conditions, className) => {\n let result;\n if (hash) {\n const baseArray = [...conds.finalize(conditions), className];\n result = formatClassName(utility.toHash(baseArray, toHash));\n } else {\n const baseArray = [...conds.finalize(conditions), formatClassName(className)];\n result = baseArray.join(":");\n }\n return result;\n };\n return memo(({ base, ...styles } = {}) => {\n const styleObject = Object.assign(styles, base);\n const normalizedObject = normalizeStyleObject(styleObject, context);\n const classNames = /* @__PURE__ */ new Set();\n walkObject(normalizedObject, (value, paths) => {\n const important = isImportant(value);\n if (value == null)\n return;\n const [prop, ...allConditions] = conds.shift(paths);\n const conditions = filterBaseConditions(allConditions);\n const transformed = utility.transform(prop, withoutImportant(sanitize(value)));\n let className = hashFn(conditions, transformed.className);\n if (important)\n className = `${className}!`;\n classNames.add(className);\n });\n return Array.from(classNames).join(" ");\n });\n}\nfunction compactStyles(...styles) {\n return styles.flat().filter((style) => isObject(style) && Object.keys(compact(style)).length > 0);\n}\nfunction createMergeCss(context) {\n function resolve(styles) {\n const allStyles = compactStyles(...styles);\n if (allStyles.length === 1)\n return allStyles;\n return allStyles.map((style) => normalizeStyleObject(style, context));\n }\n function mergeCss(...styles) {\n return mergeProps(...resolve(styles));\n }\n function assignCss(...styles) {\n return Object.assign({}, ...resolve(styles));\n }\n return { mergeCss: memo(mergeCss), assignCss };\n}\n\n// src/hypenate-property.ts\nvar wordRegex = /([A-Z])/g;\nvar msRegex = /^ms-/;\nvar hypenateProperty = memo((property) => {\n if (property.startsWith("--"))\n return property;\n return property.replace(wordRegex, "-$1").replace(msRegex, "-ms-").toLowerCase();\n});\n\n// src/is-css-function.ts\nvar fns = ["min", "max", "clamp", "calc"];\nvar fnRegExp = new RegExp(`^(${fns.join("|")})\\\\(.*\\\\)`);\nvar isCssFunction = (v) => typeof v === "string" && fnRegExp.test(v);\n\n// src/is-css-unit.ts\nvar lengthUnits = "cm,mm,Q,in,pc,pt,px,em,ex,ch,rem,lh,rlh,vw,vh,vmin,vmax,vb,vi,svw,svh,lvw,lvh,dvw,dvh,cqw,cqh,cqi,cqb,cqmin,cqmax,%";\nvar lengthUnitsPattern = `(?:${lengthUnits.split(",").join("|")})`;\nvar lengthRegExp = new RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${lengthUnitsPattern}$`);\nvar isCssUnit = (v) => typeof v === "string" && lengthRegExp.test(v);\n\n// src/is-css-var.ts\nvar isCssVar = (v) => typeof v === "string" && /^var\\(--.+\\)$/.test(v);\n\n// src/pattern-fns.ts\nvar patternFns = {\n map: mapObject,\n isCssFunction,\n isCssVar,\n isCssUnit\n};\nvar getPatternStyles = (pattern, styles) => {\n if (!pattern?.defaultValues)\n return styles;\n const defaults = typeof pattern.defaultValues === "function" ? pattern.defaultValues(styles) : pattern.defaultValues;\n return Object.assign({}, defaults, compact(styles));\n};\n\n// src/slot.ts\nvar getSlotRecipes = (recipe = {}) => {\n const init = (slot) => ({\n className: [recipe.className, slot].filter(Boolean).join("__"),\n base: recipe.base?.[slot] ?? {},\n variants: {},\n defaultVariants: recipe.defaultVariants ?? {},\n compoundVariants: recipe.compoundVariants ? getSlotCompoundVariant(recipe.compoundVariants, slot) : []\n });\n const slots = recipe.slots ?? [];\n const recipeParts = slots.map((slot) => [slot, init(slot)]);\n for (const [variantsKey, variantsSpec] of Object.entries(recipe.variants ?? {})) {\n for (const [variantKey, variantSpec] of Object.entries(variantsSpec)) {\n recipeParts.forEach(([slot, slotRecipe]) => {\n slotRecipe.variants[variantsKey] ??= {};\n slotRecipe.variants[variantsKey][variantKey] = variantSpec[slot] ?? {};\n });\n }\n }\n return Object.fromEntries(recipeParts);\n};\nvar getSlotCompoundVariant = (compoundVariants, slotName) => compoundVariants.filter((compoundVariant) => compoundVariant.css[slotName]).map((compoundVariant) => ({ ...compoundVariant, css: compoundVariant.css[slotName] }));\n\n// src/split-props.ts\nfunction splitProps(props, ...keys) {\n const descriptors = Object.getOwnPropertyDescriptors(props);\n const dKeys = Object.keys(descriptors);\n const split = (k) => {\n const clone = {};\n for (let i = 0; i < k.length; i++) {\n const key = k[i];\n if (descriptors[key]) {\n Object.defineProperty(clone, key, descriptors[key]);\n delete descriptors[key];\n }\n }\n return clone;\n };\n const fn = (key) => split(Array.isArray(key) ? key : dKeys.filter(key));\n return keys.map(fn).concat(split(dKeys));\n}\n\n// src/uniq.ts\nvar uniq = (...items) => items.filter(Boolean).reduce((acc, item) => Array.from(/* @__PURE__ */ new Set([...acc, ...item])), []);\nexport {\n compact,\n createCss,\n createMergeCss,\n filterBaseConditions,\n getPatternStyles,\n getSlotCompoundVariant,\n getSlotRecipes,\n hypenateProperty,\n isBaseCondition,\n isObject,\n mapObject,\n memo,\n mergeProps,\n patternFns,\n splitProps,\n toHash,\n uniq,\n walkObject,\n withoutSpace\n};\n'
|
|
422
435
|
};
|
|
423
436
|
|
|
424
437
|
// src/artifacts/generated/normalize-html.mjs.json
|
|
@@ -963,13 +976,13 @@ function generatePreactJsxFactory(ctx) {
|
|
|
963
976
|
function recipeClass() {
|
|
964
977
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
965
978
|
const compoundVariantStyles = __cvaFn__.__getCompoundVariantCss__?.(variantProps)
|
|
966
|
-
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles,
|
|
979
|
+
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles, cssStyles), combinedProps.class, combinedProps.className)
|
|
967
980
|
}
|
|
968
981
|
|
|
969
982
|
function cvaClass() {
|
|
970
983
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
971
984
|
const cvaStyles = __cvaFn__.raw(variantProps)
|
|
972
|
-
return cx(css(cvaStyles, propStyles,
|
|
985
|
+
return cx(css(cvaStyles, propStyles, cssStyles), combinedProps.class, combinedProps.className)
|
|
973
986
|
}
|
|
974
987
|
|
|
975
988
|
const classes = configOrCva.__recipe__ ? recipeClass : cvaClass
|
|
@@ -1028,7 +1041,7 @@ function generatePreactJsxPattern(ctx, filters) {
|
|
|
1028
1041
|
js: import_outdent15.outdent`
|
|
1029
1042
|
import { h } from 'preact'
|
|
1030
1043
|
import { forwardRef } from 'preact/compat'
|
|
1031
|
-
${ctx.file.import("mergeCss", "../css/css")}
|
|
1044
|
+
${jsxStyleProps2 === "minimal" ? ctx.file.import("mergeCss", "../css/css") : ""}
|
|
1032
1045
|
${ctx.file.import("splitProps", "../helpers")}
|
|
1033
1046
|
${ctx.file.import(styleFnName, `../patterns/${dashName}`)}
|
|
1034
1047
|
${ctx.file.import(factoryName, "./factory")}
|
|
@@ -1291,13 +1304,13 @@ function generateQwikJsxFactory(ctx) {
|
|
|
1291
1304
|
function recipeClass() {
|
|
1292
1305
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
1293
1306
|
const compoundVariantStyles = __cvaFn__.__getCompoundVariantCss__?.(variantProps);
|
|
1294
|
-
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles,
|
|
1307
|
+
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles, cssStyles), combinedProps.class, className)
|
|
1295
1308
|
}
|
|
1296
1309
|
|
|
1297
1310
|
function cvaClass() {
|
|
1298
1311
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
1299
1312
|
const cvaStyles = __cvaFn__.raw(variantProps)
|
|
1300
|
-
return cx(css(cvaStyles, propStyles,
|
|
1313
|
+
return cx(css(cvaStyles, propStyles, cssStyles), combinedProps.class, className)
|
|
1301
1314
|
}
|
|
1302
1315
|
|
|
1303
1316
|
const classes = configOrCva.__recipe__ ? recipeClass : cvaClass
|
|
@@ -1355,7 +1368,7 @@ function generateQwikJsxPattern(ctx, filters) {
|
|
|
1355
1368
|
name: dashName,
|
|
1356
1369
|
js: import_outdent20.outdent`
|
|
1357
1370
|
import { h } from '@builder.io/qwik'
|
|
1358
|
-
${ctx.file.import("mergeCss", "../css/css")}
|
|
1371
|
+
${jsxStyleProps2 === "minimal" ? ctx.file.import("mergeCss", "../css/css") : ""}
|
|
1359
1372
|
${ctx.file.import("splitProps", "../helpers")}
|
|
1360
1373
|
${ctx.file.import(styleFnName, `../patterns/${dashName}`)}
|
|
1361
1374
|
${ctx.file.import(factoryName, "./factory")}
|
|
@@ -1624,13 +1637,13 @@ function generateReactJsxFactory(ctx) {
|
|
|
1624
1637
|
function recipeClass() {
|
|
1625
1638
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
1626
1639
|
const compoundVariantStyles = __cvaFn__.__getCompoundVariantCss__?.(variantProps)
|
|
1627
|
-
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles,
|
|
1640
|
+
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles, cssStyles), combinedProps.className)
|
|
1628
1641
|
}
|
|
1629
1642
|
|
|
1630
1643
|
function cvaClass() {
|
|
1631
1644
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
1632
1645
|
const cvaStyles = __cvaFn__.raw(variantProps)
|
|
1633
|
-
return cx(css(cvaStyles, propStyles,
|
|
1646
|
+
return cx(css(cvaStyles, propStyles, cssStyles), combinedProps.className)
|
|
1634
1647
|
}
|
|
1635
1648
|
|
|
1636
1649
|
const classes = configOrCva.__recipe__ ? recipeClass : cvaClass
|
|
@@ -1689,7 +1702,7 @@ function generateReactJsxPattern(ctx, filters) {
|
|
|
1689
1702
|
name: dashName,
|
|
1690
1703
|
js: import_outdent25.outdent`
|
|
1691
1704
|
import { createElement, forwardRef } from 'react'
|
|
1692
|
-
${ctx.file.import("mergeCss", "../css/css")}
|
|
1705
|
+
${jsxStyleProps2 === "minimal" ? ctx.file.import("mergeCss", "../css/css") : ""}
|
|
1693
1706
|
${ctx.file.import("splitProps", "../helpers")}
|
|
1694
1707
|
${ctx.file.import(styleFnName, `../patterns/${dashName}`)}
|
|
1695
1708
|
${ctx.file.import(factoryName, "./factory")}
|
|
@@ -1987,7 +2000,7 @@ function generateSolidJsxFactory(ctx) {
|
|
|
1987
2000
|
__cvaFn__.__getCompoundVariantCss__?.(variantProps)
|
|
1988
2001
|
return cx(
|
|
1989
2002
|
__cvaFn__(variantProps, false),
|
|
1990
|
-
css(compoundVariantStyles, propStyles,
|
|
2003
|
+
css(compoundVariantStyles, propStyles, cssStyles),
|
|
1991
2004
|
localProps.class,
|
|
1992
2005
|
localProps.className
|
|
1993
2006
|
)
|
|
@@ -1997,7 +2010,7 @@ function generateSolidJsxFactory(ctx) {
|
|
|
1997
2010
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
1998
2011
|
const cvaStyles = __cvaFn__.raw(variantProps)
|
|
1999
2012
|
return cx(
|
|
2000
|
-
css(cvaStyles, propStyles,
|
|
2013
|
+
css(cvaStyles, propStyles, cssStyles),
|
|
2001
2014
|
localProps.class,
|
|
2002
2015
|
localProps.className
|
|
2003
2016
|
)
|
|
@@ -2067,7 +2080,7 @@ function generateSolidJsxPattern(ctx, filters) {
|
|
|
2067
2080
|
js: import_outdent30.outdent`
|
|
2068
2081
|
import { createMemo, mergeProps, splitProps } from 'solid-js'
|
|
2069
2082
|
import { createComponent } from 'solid-js/web'
|
|
2070
|
-
${ctx.file.import("mergeCss", "../css/css")}
|
|
2083
|
+
${jsxStyleProps2 === "minimal" ? ctx.file.import("mergeCss", "../css/css") : ""}
|
|
2071
2084
|
${ctx.file.import(styleFnName, `../patterns/${dashName}`)}
|
|
2072
2085
|
${ctx.file.import(factoryName, "./factory")}
|
|
2073
2086
|
|
|
@@ -2341,14 +2354,14 @@ function generateVueJsxFactory(ctx) {
|
|
|
2341
2354
|
const [_htmlProps, _forwardedProps, variantProps, styleProps, _elementProps] = splittedProps.value
|
|
2342
2355
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
2343
2356
|
const compoundVariantStyles = __cvaFn__.__getCompoundVariantCss__?.(variantProps);
|
|
2344
|
-
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles,
|
|
2357
|
+
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles, cssStyles), combinedProps.value.className, combinedProps.value.class)
|
|
2345
2358
|
})
|
|
2346
2359
|
|
|
2347
2360
|
const cvaClass = computed(() => {
|
|
2348
2361
|
const [_htmlProps, _forwardedProps, variantProps, styleProps, _elementProps] = splittedProps.value
|
|
2349
2362
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
2350
2363
|
const cvaStyles = __cvaFn__.raw(variantProps)
|
|
2351
|
-
return cx(css(cvaStyles, propStyles,
|
|
2364
|
+
return cx(css(cvaStyles, propStyles, cssStyles), combinedProps.value.className, combinedProps.value.class)
|
|
2352
2365
|
})
|
|
2353
2366
|
|
|
2354
2367
|
const classes = configOrCva.__recipe__ ? recipeClass : cvaClass
|
|
@@ -2521,7 +2534,7 @@ function generateVueJsxPattern(ctx, filters) {
|
|
|
2521
2534
|
name: dashName,
|
|
2522
2535
|
js: import_outdent36.outdent`
|
|
2523
2536
|
import { defineComponent, h, computed } from 'vue'
|
|
2524
|
-
${ctx.file.import("mergeCss", "../css/css")}
|
|
2537
|
+
${jsxStyleProps2 === "minimal" ? ctx.file.import("mergeCss", "../css/css") : ""}
|
|
2525
2538
|
${ctx.file.import(styleFnName, `../patterns/${dashName}`)}
|
|
2526
2539
|
${ctx.file.import(factoryName, "./factory")}
|
|
2527
2540
|
|
|
@@ -2812,7 +2825,7 @@ var import_ts_pattern10 = require("ts-pattern");
|
|
|
2812
2825
|
|
|
2813
2826
|
// src/artifacts/generated/composition.d.ts.json
|
|
2814
2827
|
var composition_d_ts_default = {
|
|
2815
|
-
content: "import type { CompositionStyleObject } from './system-types'\n\ninterface Token<T> {\n value: T\n description?: string\n}\n\ninterface Recursive<T> {\n [key: string]: Recursive<T> | T\n}\n\n/* -----------------------------------------------------------------------------\n * Text styles\n * -----------------------------------------------------------------------------*/\n\ntype TextStyleProperty =\n | 'fontSize'\n | 'fontSizeAdjust'\n | '
|
|
2828
|
+
content: "import type { CompositionStyleObject } from './system-types'\n\ninterface Token<T> {\n value: T\n description?: string\n}\n\ninterface Recursive<T> {\n [key: string]: Recursive<T> | T\n}\n\n/* -----------------------------------------------------------------------------\n * Text styles\n * -----------------------------------------------------------------------------*/\n\ntype TextStyleProperty =\n | 'font'\n | 'fontFamily'\n | 'fontFeatureSettings'\n | 'fontKerning'\n | 'fontLanguageOverride'\n | 'fontOpticalSizing'\n | 'fontPalette'\n | 'fontSize'\n | 'fontSizeAdjust'\n | 'fontStretch'\n | 'fontStyle'\n | 'fontSynthesis'\n | 'fontVariant'\n | 'fontVariantAlternates'\n | 'fontVariantCaps'\n | 'fontVariantLigatures'\n | 'fontVariantNumeric'\n | 'fontVariantPosition'\n | 'fontVariationSettings'\n | 'fontWeight'\n | 'hypens'\n | 'hyphenateCharacter'\n | 'hyphenateLimitChars'\n | 'letterSpacing'\n | 'lineBreak'\n | 'lineHeight'\n | 'quotes'\n | 'overflowWrap'\n | 'textCombineUpright'\n | 'textDecoration'\n | 'textDecorationColor'\n | 'textDecorationLine'\n | 'textDecorationSkipInk'\n | 'textDecorationStyle'\n | 'textDecorationThickness'\n | 'textEmphasis'\n | 'textEmphasisColor'\n | 'textEmphasisPosition'\n | 'textEmphasisStyle'\n | 'textIndent'\n | 'textJustify'\n | 'textOrientation'\n | 'textOverflow'\n | 'textRendering'\n | 'textShadow'\n | 'textTransform'\n | 'textUnderlineOffset'\n | 'textUnderlinePosition'\n | 'textWrap'\n | 'textWrapMode'\n | 'textWrapStyle'\n | 'verticalAlign'\n | 'whiteSpace'\n | 'wordBreak'\n | 'wordSpacing'\n\nexport type TextStyle = CompositionStyleObject<TextStyleProperty>\n\nexport type TextStyles = Recursive<Token<TextStyle>>\n\n/* -----------------------------------------------------------------------------\n * Layer styles\n * -----------------------------------------------------------------------------*/\n\ntype Placement =\n | 'Top'\n | 'Right'\n | 'Bottom'\n | 'Left'\n | 'Inline'\n | 'Block'\n | 'InlineStart'\n | 'InlineEnd'\n | 'BlockStart'\n | 'BlockEnd'\n\ntype Radius =\n | `Top${'Right' | 'Left'}`\n | `Bottom${'Right' | 'Left'}`\n | `Start${'Start' | 'End'}`\n | `End${'Start' | 'End'}`\n\ntype LayerStyleProperty =\n | 'background'\n | 'backgroundColor'\n | 'backgroundImage'\n | 'borderRadius'\n | 'border'\n | 'borderWidth'\n | 'borderColor'\n | 'borderStyle'\n | 'boxShadow'\n | 'filter'\n | 'backdropFilter'\n | 'transform'\n | 'color'\n | 'opacity'\n | 'backgroundBlendMode'\n | 'backgroundAttachment'\n | 'backgroundClip'\n | 'backgroundOrigin'\n | 'backgroundPosition'\n | 'backgroundRepeat'\n | 'backgroundSize'\n | `border${Placement}`\n | `border${Placement}Width`\n | 'borderRadius'\n | `border${Radius}Radius`\n | `border${Placement}Color`\n | `border${Placement}Style`\n | 'padding'\n | `padding${Placement}`\n\nexport type LayerStyle = CompositionStyleObject<LayerStyleProperty>\n\nexport type LayerStyles = Recursive<Token<LayerStyle>>\n\nexport interface CompositionStyles {\n textStyles: TextStyles\n layerStyles: LayerStyles\n}\n"
|
|
2816
2829
|
};
|
|
2817
2830
|
|
|
2818
2831
|
// src/artifacts/generated/csstype.d.ts.json
|
|
@@ -3832,10 +3845,7 @@ var categories = [
|
|
|
3832
3845
|
"assets"
|
|
3833
3846
|
];
|
|
3834
3847
|
function generateTokenTypes(ctx) {
|
|
3835
|
-
const {
|
|
3836
|
-
tokens,
|
|
3837
|
-
config: { theme }
|
|
3838
|
-
} = ctx;
|
|
3848
|
+
const { tokens } = ctx;
|
|
3839
3849
|
const set = /* @__PURE__ */ new Set();
|
|
3840
3850
|
set.add(`export type Token = ${tokens.isEmpty ? "string" : (0, import_shared4.unionType)(Array.from(tokens.byName.keys()))}`);
|
|
3841
3851
|
const result = /* @__PURE__ */ new Set(["export type Tokens = {"]);
|
|
@@ -3851,11 +3861,6 @@ function generateTokenTypes(ctx) {
|
|
|
3851
3861
|
set.add(`export type ${typeName}Token = ${(0, import_shared4.unionType)(value.keys())}`);
|
|
3852
3862
|
result.add(` ${key}: ${typeName}Token`);
|
|
3853
3863
|
}
|
|
3854
|
-
const keyframes = Object.keys(theme?.keyframes ?? {});
|
|
3855
|
-
if (keyframes.length) {
|
|
3856
|
-
set.add(`export type AnimationName = ${(0, import_shared4.unionType)(keyframes)}`);
|
|
3857
|
-
result.add(` animationName: AnimationName`);
|
|
3858
|
-
}
|
|
3859
3864
|
}
|
|
3860
3865
|
result.add("} & { [token: string]: never }");
|
|
3861
3866
|
set.add(Array.from(result).join("\n"));
|
package/dist/index.mjs
CHANGED
|
@@ -116,9 +116,22 @@ function generateCssFn(ctx) {
|
|
|
116
116
|
dts: outdent3`
|
|
117
117
|
${ctx.file.importType("SystemStyleObject", "../types/index")}
|
|
118
118
|
|
|
119
|
+
type Styles = SystemStyleObject | undefined | null | false
|
|
120
|
+
|
|
121
|
+
interface CssRawFunction {
|
|
122
|
+
(styles: Styles): SystemStyleObject
|
|
123
|
+
(styles: Styles[]): SystemStyleObject
|
|
124
|
+
(...styles: Array<Styles | Styles[]>): SystemStyleObject
|
|
125
|
+
(styles: Styles): SystemStyleObject
|
|
126
|
+
}
|
|
127
|
+
|
|
119
128
|
interface CssFunction {
|
|
120
|
-
(
|
|
121
|
-
|
|
129
|
+
(styles: Styles): string
|
|
130
|
+
(styles: Styles[]): string
|
|
131
|
+
(...styles: Array<Styles | Styles[]>): string
|
|
132
|
+
(styles: Styles): string
|
|
133
|
+
|
|
134
|
+
raw: CssRawFunction
|
|
122
135
|
}
|
|
123
136
|
|
|
124
137
|
export declare const css: CssFunction;
|
|
@@ -382,7 +395,7 @@ var astish_mjs_default = {
|
|
|
382
395
|
|
|
383
396
|
// src/artifacts/generated/helpers.mjs.json
|
|
384
397
|
var helpers_mjs_default = {
|
|
385
|
-
content: '// src/assert.ts\nfunction isObject(value) {\n return typeof value === "object" && value != null && !Array.isArray(value);\n}\n\n// src/compact.ts\nfunction compact(value) {\n return Object.fromEntries(Object.entries(value ?? {}).filter(([_, value2]) => value2 !== void 0));\n}\n\n// src/condition.ts\nvar isBaseCondition = (v) => v === "base";\nfunction filterBaseConditions(c) {\n return c.slice().filter((v) => !isBaseCondition(v));\n}\n\n// src/hash.ts\nfunction toChar(code) {\n return String.fromCharCode(code + (code > 25 ? 39 : 97));\n}\nfunction toName(code) {\n let name = "";\n let x;\n for (x = Math.abs(code); x > 52; x = x / 52 | 0)\n name = toChar(x % 52) + name;\n return toChar(x % 52) + name;\n}\nfunction toPhash(h, x) {\n let i = x.length;\n while (i)\n h = h * 33 ^ x.charCodeAt(--i);\n return h;\n}\nfunction toHash(value) {\n return toName(toPhash(5381, value) >>> 0);\n}\n\n// src/important.ts\nvar importantRegex = /\\s*!(important)?/i;\nfunction isImportant(value) {\n return typeof value === "string" ? importantRegex.test(value) : false;\n}\nfunction withoutImportant(value) {\n return typeof value === "string" ? value.replace(importantRegex, "").trim() : value;\n}\nfunction withoutSpace(str) {\n return typeof str === "string" ? str.replaceAll(" ", "_") : str;\n}\n\n// src/memo.ts\nvar memo = (fn) => {\n const cache = /* @__PURE__ */ new Map();\n const get = (...args) => {\n const key = JSON.stringify(args);\n if (cache.has(key)) {\n return cache.get(key);\n }\n const result = fn(...args);\n cache.set(key, result);\n return result;\n };\n return get;\n};\n\n// src/merge-props.ts\nfunction mergeProps(...sources) {\n const objects = sources.filter(Boolean);\n return objects.reduce((prev, obj) => {\n Object.keys(obj).forEach((key) => {\n const prevValue = prev[key];\n const value = obj[key];\n if (isObject(prevValue) && isObject(value)) {\n prev[key] = mergeProps(prevValue, value);\n } else {\n prev[key] = value;\n }\n });\n return prev;\n }, {});\n}\n\n// src/walk-object.ts\nvar isNotNullish = (element) => element != null;\nfunction walkObject(target, predicate, options = {}) {\n const { stop, getKey } = options;\n function inner(value, path = []) {\n if (isObject(value) || Array.isArray(value)) {\n const result = {};\n for (const [prop, child] of Object.entries(value)) {\n const key = getKey?.(prop, child) ?? prop;\n const childPath = [...path, key];\n if (stop?.(value, childPath)) {\n return predicate(value, path);\n }\n const next = inner(child, childPath);\n if (isNotNullish(next)) {\n result[key] = next;\n }\n }\n return result;\n }\n return predicate(value, path);\n }\n return inner(target);\n}\nfunction mapObject(obj, fn) {\n if (Array.isArray(obj))\n return obj.map((value) => fn(value));\n if (!isObject(obj))\n return fn(obj);\n return walkObject(obj, (value) => fn(value));\n}\n\n// src/normalize-style-object.ts\nfunction toResponsiveObject(values, breakpoints) {\n return values.reduce(\n (acc, current, index) => {\n const key = breakpoints[index];\n if (current != null) {\n acc[key] = current;\n }\n return acc;\n },\n {}\n );\n}\nfunction normalizeStyleObject(styles, context, shorthand = true) {\n const { utility, conditions } = context;\n const { hasShorthand, resolveShorthand } = utility;\n return walkObject(\n styles,\n (value) => {\n return Array.isArray(value) ? toResponsiveObject(value, conditions.breakpoints.keys) : value;\n },\n {\n stop: (value) => Array.isArray(value),\n getKey: shorthand ? (prop) => hasShorthand ? resolveShorthand(prop) : prop : void 0\n }\n );\n}\n\n// src/classname.ts\nvar fallbackCondition = {\n shift: (v) => v,\n finalize: (v) => v,\n breakpoints: { keys: [] }\n};\nvar sanitize = (value) => typeof value === "string" ? value.replaceAll(/[\\n\\s]+/g, " ") : value;\nfunction createCss(context) {\n const { utility, hash, conditions: conds = fallbackCondition } = context;\n const formatClassName = (str) => [utility.prefix, str].filter(Boolean).join("-");\n const hashFn = (conditions, className) => {\n let result;\n if (hash) {\n const baseArray = [...conds.finalize(conditions), className];\n result = formatClassName(utility.toHash(baseArray, toHash));\n } else {\n const baseArray = [...conds.finalize(conditions), formatClassName(className)];\n result = baseArray.join(":");\n }\n return result;\n };\n return memo(({ base, ...styles } = {}) => {\n const styleObject = Object.assign(styles, base);\n const normalizedObject = normalizeStyleObject(styleObject, context);\n const classNames = /* @__PURE__ */ new Set();\n walkObject(normalizedObject, (value, paths) => {\n const important = isImportant(value);\n if (value == null)\n return;\n const [prop, ...allConditions] = conds.shift(paths);\n const conditions = filterBaseConditions(allConditions);\n const transformed = utility.transform(prop, withoutImportant(sanitize(value)));\n let className = hashFn(conditions, transformed.className);\n if (important)\n className = `${className}!`;\n classNames.add(className);\n });\n return Array.from(classNames).join(" ");\n });\n}\nfunction compactStyles(...styles) {\n return styles.filter((style) => isObject(style) && Object.keys(compact(style)).length > 0);\n}\nfunction createMergeCss(context) {\n function resolve(styles) {\n const allStyles = compactStyles(...styles);\n if (allStyles.length === 1)\n return allStyles;\n return allStyles.map((style) => normalizeStyleObject(style, context));\n }\n function mergeCss(...styles) {\n return mergeProps(...resolve(styles));\n }\n function assignCss(...styles) {\n return Object.assign({}, ...resolve(styles));\n }\n return { mergeCss: memo(mergeCss), assignCss };\n}\n\n// src/hypenate-property.ts\nvar wordRegex = /([A-Z])/g;\nvar msRegex = /^ms-/;\nvar hypenateProperty = memo((property) => {\n if (property.startsWith("--"))\n return property;\n return property.replace(wordRegex, "-$1").replace(msRegex, "-ms-").toLowerCase();\n});\n\n// src/is-css-function.ts\nvar fns = ["min", "max", "clamp", "calc"];\nvar fnRegExp = new RegExp(`^(${fns.join("|")})\\\\(.*\\\\)`);\nvar isCssFunction = (v) => typeof v === "string" && fnRegExp.test(v);\n\n// src/is-css-unit.ts\nvar lengthUnits = "cm,mm,Q,in,pc,pt,px,em,ex,ch,rem,lh,rlh,vw,vh,vmin,vmax,vb,vi,svw,svh,lvw,lvh,dvw,dvh,cqw,cqh,cqi,cqb,cqmin,cqmax,%";\nvar lengthUnitsPattern = `(?:${lengthUnits.split(",").join("|")})`;\nvar lengthRegExp = new RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${lengthUnitsPattern}$`);\nvar isCssUnit = (v) => typeof v === "string" && lengthRegExp.test(v);\n\n// src/is-css-var.ts\nvar isCssVar = (v) => typeof v === "string" && /^var\\(--.+\\)$/.test(v);\n\n// src/pattern-fns.ts\nvar patternFns = {\n map: mapObject,\n isCssFunction,\n isCssVar,\n isCssUnit\n};\nvar getPatternStyles = (pattern, styles) => {\n if (!pattern?.defaultValues)\n return styles;\n const defaults = typeof pattern.defaultValues === "function" ? pattern.defaultValues(styles) : pattern.defaultValues;\n return Object.assign({}, defaults, compact(styles));\n};\n\n// src/slot.ts\nvar getSlotRecipes = (recipe = {}) => {\n const init = (slot) => ({\n className: [recipe.className, slot].filter(Boolean).join("__"),\n base: recipe.base?.[slot] ?? {},\n variants: {},\n defaultVariants: recipe.defaultVariants ?? {},\n compoundVariants: recipe.compoundVariants ? getSlotCompoundVariant(recipe.compoundVariants, slot) : []\n });\n const slots = recipe.slots ?? [];\n const recipeParts = slots.map((slot) => [slot, init(slot)]);\n for (const [variantsKey, variantsSpec] of Object.entries(recipe.variants ?? {})) {\n for (const [variantKey, variantSpec] of Object.entries(variantsSpec)) {\n recipeParts.forEach(([slot, slotRecipe]) => {\n slotRecipe.variants[variantsKey] ??= {};\n slotRecipe.variants[variantsKey][variantKey] = variantSpec[slot] ?? {};\n });\n }\n }\n return Object.fromEntries(recipeParts);\n};\nvar getSlotCompoundVariant = (compoundVariants, slotName) => compoundVariants.filter((compoundVariant) => compoundVariant.css[slotName]).map((compoundVariant) => ({ ...compoundVariant, css: compoundVariant.css[slotName] }));\n\n// src/split-props.ts\nfunction splitProps(props, ...keys) {\n const descriptors = Object.getOwnPropertyDescriptors(props);\n const dKeys = Object.keys(descriptors);\n const split = (k) => {\n const clone = {};\n for (let i = 0; i < k.length; i++) {\n const key = k[i];\n if (descriptors[key]) {\n Object.defineProperty(clone, key, descriptors[key]);\n delete descriptors[key];\n }\n }\n return clone;\n };\n const fn = (key) => split(Array.isArray(key) ? key : dKeys.filter(key));\n return keys.map(fn).concat(split(dKeys));\n}\n\n// src/uniq.ts\nvar uniq = (...items) => items.filter(Boolean).reduce((acc, item) => Array.from(/* @__PURE__ */ new Set([...acc, ...item])), []);\nexport {\n compact,\n createCss,\n createMergeCss,\n filterBaseConditions,\n getPatternStyles,\n getSlotCompoundVariant,\n getSlotRecipes,\n hypenateProperty,\n isBaseCondition,\n isObject,\n mapObject,\n memo,\n mergeProps,\n patternFns,\n splitProps,\n toHash,\n uniq,\n walkObject,\n withoutSpace\n};\n'
|
|
398
|
+
content: '// src/assert.ts\nfunction isObject(value) {\n return typeof value === "object" && value != null && !Array.isArray(value);\n}\n\n// src/compact.ts\nfunction compact(value) {\n return Object.fromEntries(Object.entries(value ?? {}).filter(([_, value2]) => value2 !== void 0));\n}\n\n// src/condition.ts\nvar isBaseCondition = (v) => v === "base";\nfunction filterBaseConditions(c) {\n return c.slice().filter((v) => !isBaseCondition(v));\n}\n\n// src/hash.ts\nfunction toChar(code) {\n return String.fromCharCode(code + (code > 25 ? 39 : 97));\n}\nfunction toName(code) {\n let name = "";\n let x;\n for (x = Math.abs(code); x > 52; x = x / 52 | 0)\n name = toChar(x % 52) + name;\n return toChar(x % 52) + name;\n}\nfunction toPhash(h, x) {\n let i = x.length;\n while (i)\n h = h * 33 ^ x.charCodeAt(--i);\n return h;\n}\nfunction toHash(value) {\n return toName(toPhash(5381, value) >>> 0);\n}\n\n// src/important.ts\nvar importantRegex = /\\s*!(important)?/i;\nfunction isImportant(value) {\n return typeof value === "string" ? importantRegex.test(value) : false;\n}\nfunction withoutImportant(value) {\n return typeof value === "string" ? value.replace(importantRegex, "").trim() : value;\n}\nfunction withoutSpace(str) {\n return typeof str === "string" ? str.replaceAll(" ", "_") : str;\n}\n\n// src/memo.ts\nvar memo = (fn) => {\n const cache = /* @__PURE__ */ new Map();\n const get = (...args) => {\n const key = JSON.stringify(args);\n if (cache.has(key)) {\n return cache.get(key);\n }\n const result = fn(...args);\n cache.set(key, result);\n return result;\n };\n return get;\n};\n\n// src/merge-props.ts\nfunction mergeProps(...sources) {\n const objects = sources.filter(Boolean);\n return objects.reduce((prev, obj) => {\n Object.keys(obj).forEach((key) => {\n const prevValue = prev[key];\n const value = obj[key];\n if (isObject(prevValue) && isObject(value)) {\n prev[key] = mergeProps(prevValue, value);\n } else {\n prev[key] = value;\n }\n });\n return prev;\n }, {});\n}\n\n// src/walk-object.ts\nvar isNotNullish = (element) => element != null;\nfunction walkObject(target, predicate, options = {}) {\n const { stop, getKey } = options;\n function inner(value, path = []) {\n if (isObject(value) || Array.isArray(value)) {\n const result = {};\n for (const [prop, child] of Object.entries(value)) {\n const key = getKey?.(prop, child) ?? prop;\n const childPath = [...path, key];\n if (stop?.(value, childPath)) {\n return predicate(value, path);\n }\n const next = inner(child, childPath);\n if (isNotNullish(next)) {\n result[key] = next;\n }\n }\n return result;\n }\n return predicate(value, path);\n }\n return inner(target);\n}\nfunction mapObject(obj, fn) {\n if (Array.isArray(obj))\n return obj.map((value) => fn(value));\n if (!isObject(obj))\n return fn(obj);\n return walkObject(obj, (value) => fn(value));\n}\n\n// src/normalize-style-object.ts\nfunction toResponsiveObject(values, breakpoints) {\n return values.reduce(\n (acc, current, index) => {\n const key = breakpoints[index];\n if (current != null) {\n acc[key] = current;\n }\n return acc;\n },\n {}\n );\n}\nfunction normalizeStyleObject(styles, context, shorthand = true) {\n const { utility, conditions } = context;\n const { hasShorthand, resolveShorthand } = utility;\n return walkObject(\n styles,\n (value) => {\n return Array.isArray(value) ? toResponsiveObject(value, conditions.breakpoints.keys) : value;\n },\n {\n stop: (value) => Array.isArray(value),\n getKey: shorthand ? (prop) => hasShorthand ? resolveShorthand(prop) : prop : void 0\n }\n );\n}\n\n// src/classname.ts\nvar fallbackCondition = {\n shift: (v) => v,\n finalize: (v) => v,\n breakpoints: { keys: [] }\n};\nvar sanitize = (value) => typeof value === "string" ? value.replaceAll(/[\\n\\s]+/g, " ") : value;\nfunction createCss(context) {\n const { utility, hash, conditions: conds = fallbackCondition } = context;\n const formatClassName = (str) => [utility.prefix, str].filter(Boolean).join("-");\n const hashFn = (conditions, className) => {\n let result;\n if (hash) {\n const baseArray = [...conds.finalize(conditions), className];\n result = formatClassName(utility.toHash(baseArray, toHash));\n } else {\n const baseArray = [...conds.finalize(conditions), formatClassName(className)];\n result = baseArray.join(":");\n }\n return result;\n };\n return memo(({ base, ...styles } = {}) => {\n const styleObject = Object.assign(styles, base);\n const normalizedObject = normalizeStyleObject(styleObject, context);\n const classNames = /* @__PURE__ */ new Set();\n walkObject(normalizedObject, (value, paths) => {\n const important = isImportant(value);\n if (value == null)\n return;\n const [prop, ...allConditions] = conds.shift(paths);\n const conditions = filterBaseConditions(allConditions);\n const transformed = utility.transform(prop, withoutImportant(sanitize(value)));\n let className = hashFn(conditions, transformed.className);\n if (important)\n className = `${className}!`;\n classNames.add(className);\n });\n return Array.from(classNames).join(" ");\n });\n}\nfunction compactStyles(...styles) {\n return styles.flat().filter((style) => isObject(style) && Object.keys(compact(style)).length > 0);\n}\nfunction createMergeCss(context) {\n function resolve(styles) {\n const allStyles = compactStyles(...styles);\n if (allStyles.length === 1)\n return allStyles;\n return allStyles.map((style) => normalizeStyleObject(style, context));\n }\n function mergeCss(...styles) {\n return mergeProps(...resolve(styles));\n }\n function assignCss(...styles) {\n return Object.assign({}, ...resolve(styles));\n }\n return { mergeCss: memo(mergeCss), assignCss };\n}\n\n// src/hypenate-property.ts\nvar wordRegex = /([A-Z])/g;\nvar msRegex = /^ms-/;\nvar hypenateProperty = memo((property) => {\n if (property.startsWith("--"))\n return property;\n return property.replace(wordRegex, "-$1").replace(msRegex, "-ms-").toLowerCase();\n});\n\n// src/is-css-function.ts\nvar fns = ["min", "max", "clamp", "calc"];\nvar fnRegExp = new RegExp(`^(${fns.join("|")})\\\\(.*\\\\)`);\nvar isCssFunction = (v) => typeof v === "string" && fnRegExp.test(v);\n\n// src/is-css-unit.ts\nvar lengthUnits = "cm,mm,Q,in,pc,pt,px,em,ex,ch,rem,lh,rlh,vw,vh,vmin,vmax,vb,vi,svw,svh,lvw,lvh,dvw,dvh,cqw,cqh,cqi,cqb,cqmin,cqmax,%";\nvar lengthUnitsPattern = `(?:${lengthUnits.split(",").join("|")})`;\nvar lengthRegExp = new RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${lengthUnitsPattern}$`);\nvar isCssUnit = (v) => typeof v === "string" && lengthRegExp.test(v);\n\n// src/is-css-var.ts\nvar isCssVar = (v) => typeof v === "string" && /^var\\(--.+\\)$/.test(v);\n\n// src/pattern-fns.ts\nvar patternFns = {\n map: mapObject,\n isCssFunction,\n isCssVar,\n isCssUnit\n};\nvar getPatternStyles = (pattern, styles) => {\n if (!pattern?.defaultValues)\n return styles;\n const defaults = typeof pattern.defaultValues === "function" ? pattern.defaultValues(styles) : pattern.defaultValues;\n return Object.assign({}, defaults, compact(styles));\n};\n\n// src/slot.ts\nvar getSlotRecipes = (recipe = {}) => {\n const init = (slot) => ({\n className: [recipe.className, slot].filter(Boolean).join("__"),\n base: recipe.base?.[slot] ?? {},\n variants: {},\n defaultVariants: recipe.defaultVariants ?? {},\n compoundVariants: recipe.compoundVariants ? getSlotCompoundVariant(recipe.compoundVariants, slot) : []\n });\n const slots = recipe.slots ?? [];\n const recipeParts = slots.map((slot) => [slot, init(slot)]);\n for (const [variantsKey, variantsSpec] of Object.entries(recipe.variants ?? {})) {\n for (const [variantKey, variantSpec] of Object.entries(variantsSpec)) {\n recipeParts.forEach(([slot, slotRecipe]) => {\n slotRecipe.variants[variantsKey] ??= {};\n slotRecipe.variants[variantsKey][variantKey] = variantSpec[slot] ?? {};\n });\n }\n }\n return Object.fromEntries(recipeParts);\n};\nvar getSlotCompoundVariant = (compoundVariants, slotName) => compoundVariants.filter((compoundVariant) => compoundVariant.css[slotName]).map((compoundVariant) => ({ ...compoundVariant, css: compoundVariant.css[slotName] }));\n\n// src/split-props.ts\nfunction splitProps(props, ...keys) {\n const descriptors = Object.getOwnPropertyDescriptors(props);\n const dKeys = Object.keys(descriptors);\n const split = (k) => {\n const clone = {};\n for (let i = 0; i < k.length; i++) {\n const key = k[i];\n if (descriptors[key]) {\n Object.defineProperty(clone, key, descriptors[key]);\n delete descriptors[key];\n }\n }\n return clone;\n };\n const fn = (key) => split(Array.isArray(key) ? key : dKeys.filter(key));\n return keys.map(fn).concat(split(dKeys));\n}\n\n// src/uniq.ts\nvar uniq = (...items) => items.filter(Boolean).reduce((acc, item) => Array.from(/* @__PURE__ */ new Set([...acc, ...item])), []);\nexport {\n compact,\n createCss,\n createMergeCss,\n filterBaseConditions,\n getPatternStyles,\n getSlotCompoundVariant,\n getSlotRecipes,\n hypenateProperty,\n isBaseCondition,\n isObject,\n mapObject,\n memo,\n mergeProps,\n patternFns,\n splitProps,\n toHash,\n uniq,\n walkObject,\n withoutSpace\n};\n'
|
|
386
399
|
};
|
|
387
400
|
|
|
388
401
|
// src/artifacts/generated/normalize-html.mjs.json
|
|
@@ -927,13 +940,13 @@ function generatePreactJsxFactory(ctx) {
|
|
|
927
940
|
function recipeClass() {
|
|
928
941
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
929
942
|
const compoundVariantStyles = __cvaFn__.__getCompoundVariantCss__?.(variantProps)
|
|
930
|
-
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles,
|
|
943
|
+
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles, cssStyles), combinedProps.class, combinedProps.className)
|
|
931
944
|
}
|
|
932
945
|
|
|
933
946
|
function cvaClass() {
|
|
934
947
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
935
948
|
const cvaStyles = __cvaFn__.raw(variantProps)
|
|
936
|
-
return cx(css(cvaStyles, propStyles,
|
|
949
|
+
return cx(css(cvaStyles, propStyles, cssStyles), combinedProps.class, combinedProps.className)
|
|
937
950
|
}
|
|
938
951
|
|
|
939
952
|
const classes = configOrCva.__recipe__ ? recipeClass : cvaClass
|
|
@@ -992,7 +1005,7 @@ function generatePreactJsxPattern(ctx, filters) {
|
|
|
992
1005
|
js: outdent15`
|
|
993
1006
|
import { h } from 'preact'
|
|
994
1007
|
import { forwardRef } from 'preact/compat'
|
|
995
|
-
${ctx.file.import("mergeCss", "../css/css")}
|
|
1008
|
+
${jsxStyleProps2 === "minimal" ? ctx.file.import("mergeCss", "../css/css") : ""}
|
|
996
1009
|
${ctx.file.import("splitProps", "../helpers")}
|
|
997
1010
|
${ctx.file.import(styleFnName, `../patterns/${dashName}`)}
|
|
998
1011
|
${ctx.file.import(factoryName, "./factory")}
|
|
@@ -1255,13 +1268,13 @@ function generateQwikJsxFactory(ctx) {
|
|
|
1255
1268
|
function recipeClass() {
|
|
1256
1269
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
1257
1270
|
const compoundVariantStyles = __cvaFn__.__getCompoundVariantCss__?.(variantProps);
|
|
1258
|
-
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles,
|
|
1271
|
+
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles, cssStyles), combinedProps.class, className)
|
|
1259
1272
|
}
|
|
1260
1273
|
|
|
1261
1274
|
function cvaClass() {
|
|
1262
1275
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
1263
1276
|
const cvaStyles = __cvaFn__.raw(variantProps)
|
|
1264
|
-
return cx(css(cvaStyles, propStyles,
|
|
1277
|
+
return cx(css(cvaStyles, propStyles, cssStyles), combinedProps.class, className)
|
|
1265
1278
|
}
|
|
1266
1279
|
|
|
1267
1280
|
const classes = configOrCva.__recipe__ ? recipeClass : cvaClass
|
|
@@ -1319,7 +1332,7 @@ function generateQwikJsxPattern(ctx, filters) {
|
|
|
1319
1332
|
name: dashName,
|
|
1320
1333
|
js: outdent20`
|
|
1321
1334
|
import { h } from '@builder.io/qwik'
|
|
1322
|
-
${ctx.file.import("mergeCss", "../css/css")}
|
|
1335
|
+
${jsxStyleProps2 === "minimal" ? ctx.file.import("mergeCss", "../css/css") : ""}
|
|
1323
1336
|
${ctx.file.import("splitProps", "../helpers")}
|
|
1324
1337
|
${ctx.file.import(styleFnName, `../patterns/${dashName}`)}
|
|
1325
1338
|
${ctx.file.import(factoryName, "./factory")}
|
|
@@ -1588,13 +1601,13 @@ function generateReactJsxFactory(ctx) {
|
|
|
1588
1601
|
function recipeClass() {
|
|
1589
1602
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
1590
1603
|
const compoundVariantStyles = __cvaFn__.__getCompoundVariantCss__?.(variantProps)
|
|
1591
|
-
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles,
|
|
1604
|
+
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles, cssStyles), combinedProps.className)
|
|
1592
1605
|
}
|
|
1593
1606
|
|
|
1594
1607
|
function cvaClass() {
|
|
1595
1608
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
1596
1609
|
const cvaStyles = __cvaFn__.raw(variantProps)
|
|
1597
|
-
return cx(css(cvaStyles, propStyles,
|
|
1610
|
+
return cx(css(cvaStyles, propStyles, cssStyles), combinedProps.className)
|
|
1598
1611
|
}
|
|
1599
1612
|
|
|
1600
1613
|
const classes = configOrCva.__recipe__ ? recipeClass : cvaClass
|
|
@@ -1653,7 +1666,7 @@ function generateReactJsxPattern(ctx, filters) {
|
|
|
1653
1666
|
name: dashName,
|
|
1654
1667
|
js: outdent25`
|
|
1655
1668
|
import { createElement, forwardRef } from 'react'
|
|
1656
|
-
${ctx.file.import("mergeCss", "../css/css")}
|
|
1669
|
+
${jsxStyleProps2 === "minimal" ? ctx.file.import("mergeCss", "../css/css") : ""}
|
|
1657
1670
|
${ctx.file.import("splitProps", "../helpers")}
|
|
1658
1671
|
${ctx.file.import(styleFnName, `../patterns/${dashName}`)}
|
|
1659
1672
|
${ctx.file.import(factoryName, "./factory")}
|
|
@@ -1951,7 +1964,7 @@ function generateSolidJsxFactory(ctx) {
|
|
|
1951
1964
|
__cvaFn__.__getCompoundVariantCss__?.(variantProps)
|
|
1952
1965
|
return cx(
|
|
1953
1966
|
__cvaFn__(variantProps, false),
|
|
1954
|
-
css(compoundVariantStyles, propStyles,
|
|
1967
|
+
css(compoundVariantStyles, propStyles, cssStyles),
|
|
1955
1968
|
localProps.class,
|
|
1956
1969
|
localProps.className
|
|
1957
1970
|
)
|
|
@@ -1961,7 +1974,7 @@ function generateSolidJsxFactory(ctx) {
|
|
|
1961
1974
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
1962
1975
|
const cvaStyles = __cvaFn__.raw(variantProps)
|
|
1963
1976
|
return cx(
|
|
1964
|
-
css(cvaStyles, propStyles,
|
|
1977
|
+
css(cvaStyles, propStyles, cssStyles),
|
|
1965
1978
|
localProps.class,
|
|
1966
1979
|
localProps.className
|
|
1967
1980
|
)
|
|
@@ -2031,7 +2044,7 @@ function generateSolidJsxPattern(ctx, filters) {
|
|
|
2031
2044
|
js: outdent30`
|
|
2032
2045
|
import { createMemo, mergeProps, splitProps } from 'solid-js'
|
|
2033
2046
|
import { createComponent } from 'solid-js/web'
|
|
2034
|
-
${ctx.file.import("mergeCss", "../css/css")}
|
|
2047
|
+
${jsxStyleProps2 === "minimal" ? ctx.file.import("mergeCss", "../css/css") : ""}
|
|
2035
2048
|
${ctx.file.import(styleFnName, `../patterns/${dashName}`)}
|
|
2036
2049
|
${ctx.file.import(factoryName, "./factory")}
|
|
2037
2050
|
|
|
@@ -2305,14 +2318,14 @@ function generateVueJsxFactory(ctx) {
|
|
|
2305
2318
|
const [_htmlProps, _forwardedProps, variantProps, styleProps, _elementProps] = splittedProps.value
|
|
2306
2319
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
2307
2320
|
const compoundVariantStyles = __cvaFn__.__getCompoundVariantCss__?.(variantProps);
|
|
2308
|
-
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles,
|
|
2321
|
+
return cx(__cvaFn__(variantProps, false), css(compoundVariantStyles, propStyles, cssStyles), combinedProps.value.className, combinedProps.value.class)
|
|
2309
2322
|
})
|
|
2310
2323
|
|
|
2311
2324
|
const cvaClass = computed(() => {
|
|
2312
2325
|
const [_htmlProps, _forwardedProps, variantProps, styleProps, _elementProps] = splittedProps.value
|
|
2313
2326
|
const { css: cssStyles, ...propStyles } = styleProps
|
|
2314
2327
|
const cvaStyles = __cvaFn__.raw(variantProps)
|
|
2315
|
-
return cx(css(cvaStyles, propStyles,
|
|
2328
|
+
return cx(css(cvaStyles, propStyles, cssStyles), combinedProps.value.className, combinedProps.value.class)
|
|
2316
2329
|
})
|
|
2317
2330
|
|
|
2318
2331
|
const classes = configOrCva.__recipe__ ? recipeClass : cvaClass
|
|
@@ -2485,7 +2498,7 @@ function generateVueJsxPattern(ctx, filters) {
|
|
|
2485
2498
|
name: dashName,
|
|
2486
2499
|
js: outdent36`
|
|
2487
2500
|
import { defineComponent, h, computed } from 'vue'
|
|
2488
|
-
${ctx.file.import("mergeCss", "../css/css")}
|
|
2501
|
+
${jsxStyleProps2 === "minimal" ? ctx.file.import("mergeCss", "../css/css") : ""}
|
|
2489
2502
|
${ctx.file.import(styleFnName, `../patterns/${dashName}`)}
|
|
2490
2503
|
${ctx.file.import(factoryName, "./factory")}
|
|
2491
2504
|
|
|
@@ -2776,7 +2789,7 @@ import { match as match10 } from "ts-pattern";
|
|
|
2776
2789
|
|
|
2777
2790
|
// src/artifacts/generated/composition.d.ts.json
|
|
2778
2791
|
var composition_d_ts_default = {
|
|
2779
|
-
content: "import type { CompositionStyleObject } from './system-types'\n\ninterface Token<T> {\n value: T\n description?: string\n}\n\ninterface Recursive<T> {\n [key: string]: Recursive<T> | T\n}\n\n/* -----------------------------------------------------------------------------\n * Text styles\n * -----------------------------------------------------------------------------*/\n\ntype TextStyleProperty =\n | 'fontSize'\n | 'fontSizeAdjust'\n | '
|
|
2792
|
+
content: "import type { CompositionStyleObject } from './system-types'\n\ninterface Token<T> {\n value: T\n description?: string\n}\n\ninterface Recursive<T> {\n [key: string]: Recursive<T> | T\n}\n\n/* -----------------------------------------------------------------------------\n * Text styles\n * -----------------------------------------------------------------------------*/\n\ntype TextStyleProperty =\n | 'font'\n | 'fontFamily'\n | 'fontFeatureSettings'\n | 'fontKerning'\n | 'fontLanguageOverride'\n | 'fontOpticalSizing'\n | 'fontPalette'\n | 'fontSize'\n | 'fontSizeAdjust'\n | 'fontStretch'\n | 'fontStyle'\n | 'fontSynthesis'\n | 'fontVariant'\n | 'fontVariantAlternates'\n | 'fontVariantCaps'\n | 'fontVariantLigatures'\n | 'fontVariantNumeric'\n | 'fontVariantPosition'\n | 'fontVariationSettings'\n | 'fontWeight'\n | 'hypens'\n | 'hyphenateCharacter'\n | 'hyphenateLimitChars'\n | 'letterSpacing'\n | 'lineBreak'\n | 'lineHeight'\n | 'quotes'\n | 'overflowWrap'\n | 'textCombineUpright'\n | 'textDecoration'\n | 'textDecorationColor'\n | 'textDecorationLine'\n | 'textDecorationSkipInk'\n | 'textDecorationStyle'\n | 'textDecorationThickness'\n | 'textEmphasis'\n | 'textEmphasisColor'\n | 'textEmphasisPosition'\n | 'textEmphasisStyle'\n | 'textIndent'\n | 'textJustify'\n | 'textOrientation'\n | 'textOverflow'\n | 'textRendering'\n | 'textShadow'\n | 'textTransform'\n | 'textUnderlineOffset'\n | 'textUnderlinePosition'\n | 'textWrap'\n | 'textWrapMode'\n | 'textWrapStyle'\n | 'verticalAlign'\n | 'whiteSpace'\n | 'wordBreak'\n | 'wordSpacing'\n\nexport type TextStyle = CompositionStyleObject<TextStyleProperty>\n\nexport type TextStyles = Recursive<Token<TextStyle>>\n\n/* -----------------------------------------------------------------------------\n * Layer styles\n * -----------------------------------------------------------------------------*/\n\ntype Placement =\n | 'Top'\n | 'Right'\n | 'Bottom'\n | 'Left'\n | 'Inline'\n | 'Block'\n | 'InlineStart'\n | 'InlineEnd'\n | 'BlockStart'\n | 'BlockEnd'\n\ntype Radius =\n | `Top${'Right' | 'Left'}`\n | `Bottom${'Right' | 'Left'}`\n | `Start${'Start' | 'End'}`\n | `End${'Start' | 'End'}`\n\ntype LayerStyleProperty =\n | 'background'\n | 'backgroundColor'\n | 'backgroundImage'\n | 'borderRadius'\n | 'border'\n | 'borderWidth'\n | 'borderColor'\n | 'borderStyle'\n | 'boxShadow'\n | 'filter'\n | 'backdropFilter'\n | 'transform'\n | 'color'\n | 'opacity'\n | 'backgroundBlendMode'\n | 'backgroundAttachment'\n | 'backgroundClip'\n | 'backgroundOrigin'\n | 'backgroundPosition'\n | 'backgroundRepeat'\n | 'backgroundSize'\n | `border${Placement}`\n | `border${Placement}Width`\n | 'borderRadius'\n | `border${Radius}Radius`\n | `border${Placement}Color`\n | `border${Placement}Style`\n | 'padding'\n | `padding${Placement}`\n\nexport type LayerStyle = CompositionStyleObject<LayerStyleProperty>\n\nexport type LayerStyles = Recursive<Token<LayerStyle>>\n\nexport interface CompositionStyles {\n textStyles: TextStyles\n layerStyles: LayerStyles\n}\n"
|
|
2780
2793
|
};
|
|
2781
2794
|
|
|
2782
2795
|
// src/artifacts/generated/csstype.d.ts.json
|
|
@@ -3796,10 +3809,7 @@ var categories = [
|
|
|
3796
3809
|
"assets"
|
|
3797
3810
|
];
|
|
3798
3811
|
function generateTokenTypes(ctx) {
|
|
3799
|
-
const {
|
|
3800
|
-
tokens,
|
|
3801
|
-
config: { theme }
|
|
3802
|
-
} = ctx;
|
|
3812
|
+
const { tokens } = ctx;
|
|
3803
3813
|
const set = /* @__PURE__ */ new Set();
|
|
3804
3814
|
set.add(`export type Token = ${tokens.isEmpty ? "string" : unionType4(Array.from(tokens.byName.keys()))}`);
|
|
3805
3815
|
const result = /* @__PURE__ */ new Set(["export type Tokens = {"]);
|
|
@@ -3815,11 +3825,6 @@ function generateTokenTypes(ctx) {
|
|
|
3815
3825
|
set.add(`export type ${typeName}Token = ${unionType4(value.keys())}`);
|
|
3816
3826
|
result.add(` ${key}: ${typeName}Token`);
|
|
3817
3827
|
}
|
|
3818
|
-
const keyframes = Object.keys(theme?.keyframes ?? {});
|
|
3819
|
-
if (keyframes.length) {
|
|
3820
|
-
set.add(`export type AnimationName = ${unionType4(keyframes)}`);
|
|
3821
|
-
result.add(` animationName: AnimationName`);
|
|
3822
|
-
}
|
|
3823
3828
|
}
|
|
3824
3829
|
result.add("} & { [token: string]: never }");
|
|
3825
3830
|
set.add(Array.from(result).join("\n"));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pandacss/generator",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.39.1",
|
|
4
4
|
"description": "The css generator for css panda",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -37,12 +37,12 @@
|
|
|
37
37
|
"pluralize": "8.0.0",
|
|
38
38
|
"postcss": "8.4.35",
|
|
39
39
|
"ts-pattern": "5.0.8",
|
|
40
|
-
"@pandacss/core": "0.
|
|
41
|
-
"@pandacss/is-valid-prop": "^0.
|
|
42
|
-
"@pandacss/logger": "0.
|
|
43
|
-
"@pandacss/shared": "0.
|
|
44
|
-
"@pandacss/token-dictionary": "0.
|
|
45
|
-
"@pandacss/types": "0.
|
|
40
|
+
"@pandacss/core": "0.39.1",
|
|
41
|
+
"@pandacss/is-valid-prop": "^0.39.1",
|
|
42
|
+
"@pandacss/logger": "0.39.1",
|
|
43
|
+
"@pandacss/shared": "0.39.1",
|
|
44
|
+
"@pandacss/token-dictionary": "0.39.1",
|
|
45
|
+
"@pandacss/types": "0.39.1"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/pluralize": "0.0.33"
|