@pandacss/generator 0.0.0-dev-20240201185610 → 0.0.0-dev-20240201231741
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 +123 -249
- package/dist/index.mjs +118 -244
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -35,7 +35,7 @@ __export(src_exports, {
|
|
|
35
35
|
module.exports = __toCommonJS(src_exports);
|
|
36
36
|
|
|
37
37
|
// src/generator.ts
|
|
38
|
-
var
|
|
38
|
+
var import_core5 = require("@pandacss/core");
|
|
39
39
|
var import_ts_pattern12 = require("ts-pattern");
|
|
40
40
|
|
|
41
41
|
// src/artifacts/setup-artifacts.ts
|
|
@@ -420,7 +420,7 @@ var astish_mjs_default = {
|
|
|
420
420
|
|
|
421
421
|
// src/artifacts/generated/helpers.mjs.json
|
|
422
422
|
var helpers_mjs_default = {
|
|
423
|
-
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) ?? 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((acc, current, index) => {\n const key = breakpoints[index];\n if (current != null) {\n acc[key] = current;\n }\n return acc;\n }, {});\n}\nfunction
|
|
423
|
+
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((acc, current, index) => {\n const key = breakpoints[index];\n if (current != null) {\n acc[key] = current;\n }\n return acc;\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((styleObject = {}) => {\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'
|
|
424
424
|
};
|
|
425
425
|
|
|
426
426
|
// src/artifacts/generated/normalize-html.mjs.json
|
|
@@ -3520,11 +3520,11 @@ function generateKeyframeCss(ctx, sheet) {
|
|
|
3520
3520
|
for (const [name, definition] of Object.entries(keyframes)) {
|
|
3521
3521
|
result[`@keyframes ${name}`] = definition;
|
|
3522
3522
|
}
|
|
3523
|
-
let
|
|
3523
|
+
let css = (0, import_core2.stringify)(sheet.serialize(result));
|
|
3524
3524
|
if (ctx.hooks["cssgen:done"]) {
|
|
3525
|
-
|
|
3525
|
+
css = ctx.hooks["cssgen:done"]({ artifact: "keyframes", content: css }) ?? css;
|
|
3526
3526
|
}
|
|
3527
|
-
sheet.layers.tokens.append(
|
|
3527
|
+
sheet.layers.tokens.append(css);
|
|
3528
3528
|
}
|
|
3529
3529
|
|
|
3530
3530
|
// src/artifacts/css/parser-css.ts
|
|
@@ -3536,8 +3536,8 @@ var generateParserCss = (ctx, decoder) => {
|
|
|
3536
3536
|
const { minify, optimize } = ctx.config;
|
|
3537
3537
|
sheet.processDecoder(decoder);
|
|
3538
3538
|
try {
|
|
3539
|
-
const
|
|
3540
|
-
return
|
|
3539
|
+
const css = sheet.toCss({ minify, optimize });
|
|
3540
|
+
return css;
|
|
3541
3541
|
} catch (err) {
|
|
3542
3542
|
import_logger.logger.error("serializer:css", "Failed to serialize CSS: " + err);
|
|
3543
3543
|
return "";
|
|
@@ -3545,234 +3545,108 @@ var generateParserCss = (ctx, decoder) => {
|
|
|
3545
3545
|
};
|
|
3546
3546
|
|
|
3547
3547
|
// src/artifacts/css/reset-css.ts
|
|
3548
|
+
var import_core3 = require("@pandacss/core");
|
|
3548
3549
|
var import_shared4 = require("@pandacss/shared");
|
|
3549
|
-
var css = String.raw;
|
|
3550
3550
|
function generateResetCss(ctx, sheet) {
|
|
3551
3551
|
const { preflight } = ctx.config;
|
|
3552
3552
|
const scope = (0, import_shared4.isObject)(preflight) ? preflight.scope : void 0;
|
|
3553
3553
|
const selector = scope ? `${scope} ` : "";
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
|
|
3589
|
-
|
|
3590
|
-
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
|
|
3595
|
-
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
|
|
3599
|
-
|
|
3600
|
-
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
3608
|
-
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
|
|
3612
|
-
|
|
3613
|
-
|
|
3614
|
-
|
|
3615
|
-
|
|
3616
|
-
|
|
3617
|
-
|
|
3618
|
-
|
|
3619
|
-
|
|
3620
|
-
|
|
3621
|
-
|
|
3622
|
-
|
|
3623
|
-
|
|
3624
|
-
|
|
3625
|
-
|
|
3626
|
-
|
|
3627
|
-
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3632
|
-
|
|
3633
|
-
|
|
3634
|
-
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
${selector}input,
|
|
3649
|
-
${selector}optgroup,
|
|
3650
|
-
${selector}select,
|
|
3651
|
-
${selector}textarea {
|
|
3652
|
-
color: inherit;
|
|
3653
|
-
}
|
|
3654
|
-
|
|
3655
|
-
${selector}button,
|
|
3656
|
-
${selector}select {
|
|
3657
|
-
text-transform: none;
|
|
3658
|
-
}
|
|
3659
|
-
|
|
3660
|
-
${selector}table {
|
|
3661
|
-
text-indent: 0;
|
|
3662
|
-
border-color: inherit;
|
|
3663
|
-
border-collapse: collapse;
|
|
3664
|
-
}
|
|
3665
|
-
|
|
3666
|
-
${selector}input::placeholder,
|
|
3667
|
-
${selector}textarea::placeholder {
|
|
3668
|
-
opacity: 1;
|
|
3669
|
-
color: var(--global-color-placeholder, #9ca3af);
|
|
3670
|
-
}
|
|
3671
|
-
|
|
3672
|
-
${selector}textarea {
|
|
3673
|
-
resize: vertical;
|
|
3674
|
-
}
|
|
3675
|
-
|
|
3676
|
-
${selector}summary {
|
|
3677
|
-
display: list-item;
|
|
3678
|
-
}
|
|
3679
|
-
|
|
3680
|
-
${selector}small {
|
|
3681
|
-
font-size: 80%;
|
|
3682
|
-
}
|
|
3683
|
-
|
|
3684
|
-
${selector}sub,
|
|
3685
|
-
${selector}sup {
|
|
3686
|
-
font-size: 75%;
|
|
3687
|
-
line-height: 0;
|
|
3688
|
-
position: relative;
|
|
3689
|
-
vertical-align: baseline;
|
|
3690
|
-
}
|
|
3691
|
-
|
|
3692
|
-
${selector}sub {
|
|
3693
|
-
bottom: -0.25em;
|
|
3694
|
-
}
|
|
3695
|
-
|
|
3696
|
-
${selector}sup {
|
|
3697
|
-
top: -0.5em;
|
|
3698
|
-
}
|
|
3699
|
-
|
|
3700
|
-
${selector}dialog {
|
|
3701
|
-
padding: 0;
|
|
3702
|
-
}
|
|
3703
|
-
|
|
3704
|
-
${selector}a {
|
|
3705
|
-
color: inherit;
|
|
3706
|
-
text-decoration: inherit;
|
|
3707
|
-
}
|
|
3708
|
-
|
|
3709
|
-
${selector}abbr:where([title]) {
|
|
3710
|
-
text-decoration: underline dotted;
|
|
3711
|
-
}
|
|
3712
|
-
|
|
3713
|
-
${selector}b,
|
|
3714
|
-
${selector}strong {
|
|
3715
|
-
font-weight: bolder;
|
|
3716
|
-
}
|
|
3717
|
-
|
|
3718
|
-
${selector}code,
|
|
3719
|
-
${selector}kbd,
|
|
3720
|
-
${selector}samp,
|
|
3721
|
-
${selector}pre {
|
|
3722
|
-
font-size: 1em;
|
|
3723
|
-
--font-mono-fallback: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New';
|
|
3724
|
-
font-family: var(--global-font-mono, var(--font-mono-fallback));
|
|
3725
|
-
}
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
${selector}input[type="text"],
|
|
3729
|
-
${selector}input[type="email"],
|
|
3730
|
-
${selector}input[type="search"],
|
|
3731
|
-
${selector}input[type="password"] {
|
|
3732
|
-
-webkit-appearance: none;
|
|
3733
|
-
-moz-appearance: none;
|
|
3734
|
-
}
|
|
3735
|
-
|
|
3736
|
-
${selector}input[type='search'] {
|
|
3737
|
-
-webkit-appearance: textfield;
|
|
3738
|
-
outline-offset: -2px;
|
|
3739
|
-
}
|
|
3740
|
-
|
|
3741
|
-
${selector}::-webkit-search-decoration,
|
|
3742
|
-
${selector}::-webkit-search-cancel-button {
|
|
3743
|
-
-webkit-appearance: none;
|
|
3744
|
-
}
|
|
3745
|
-
|
|
3746
|
-
${selector}::-webkit-file-upload-button {
|
|
3747
|
-
-webkit-appearance: button;
|
|
3748
|
-
font: inherit;
|
|
3749
|
-
}
|
|
3750
|
-
|
|
3751
|
-
${selector}input[type="number"]::-webkit-inner-spin-button,
|
|
3752
|
-
${selector}input[type="number"]::-webkit-outer-spin-button {
|
|
3753
|
-
height: auto;
|
|
3754
|
-
}
|
|
3755
|
-
|
|
3756
|
-
${selector}input[type='number']{
|
|
3757
|
-
-moz-appearance: textfield;
|
|
3758
|
-
}
|
|
3759
|
-
|
|
3760
|
-
${selector}:-moz-ui-invalid {
|
|
3761
|
-
box-shadow: none;
|
|
3762
|
-
}
|
|
3763
|
-
|
|
3764
|
-
${selector}:-moz-focusring {
|
|
3765
|
-
outline: auto;
|
|
3766
|
-
}
|
|
3767
|
-
|
|
3768
|
-
${selector}[hidden] {
|
|
3769
|
-
display: none !important;
|
|
3770
|
-
}
|
|
3771
|
-
`;
|
|
3772
|
-
if (ctx.hooks["cssgen:done"]) {
|
|
3773
|
-
output = ctx.hooks["cssgen:done"]({ artifact: "reset", content: output }) ?? output;
|
|
3554
|
+
const scoped = {
|
|
3555
|
+
"*": { margin: "0px", padding: "0px", font: "inherit" },
|
|
3556
|
+
"*, *::before, *::after": {
|
|
3557
|
+
boxSizing: "border-box",
|
|
3558
|
+
borderWidth: "0px",
|
|
3559
|
+
borderStyle: "solid",
|
|
3560
|
+
borderColor: "var(--global-color-border, currentColor)"
|
|
3561
|
+
},
|
|
3562
|
+
hr: { height: "0px", color: "inherit", borderTopWidth: "1px" },
|
|
3563
|
+
body: { height: "100%", lineHeight: "inherit" },
|
|
3564
|
+
img: { borderStyle: "none" },
|
|
3565
|
+
"img, svg, video, canvas, audio, iframe, embed, object": {
|
|
3566
|
+
display: "block",
|
|
3567
|
+
verticalAlign: "middle"
|
|
3568
|
+
},
|
|
3569
|
+
"img, video": { maxWidth: "100%", height: "auto" },
|
|
3570
|
+
"p, h1, h2, h3, h4, h5, h6": { overflowWrap: "break-word" },
|
|
3571
|
+
"ol, ul": { listStyle: "none" },
|
|
3572
|
+
"code, kbd, pre, samp": { fontSize: "1em" },
|
|
3573
|
+
"button, [type='button'], [type='reset'], [type='submit']": {
|
|
3574
|
+
WebkitAppearance: "button",
|
|
3575
|
+
backgroundColor: "transparent",
|
|
3576
|
+
backgroundImage: "none"
|
|
3577
|
+
},
|
|
3578
|
+
"button, input, optgroup, select, textarea": { color: "inherit" },
|
|
3579
|
+
"button, select": { textTransform: "none" },
|
|
3580
|
+
table: {
|
|
3581
|
+
textIndent: "0px",
|
|
3582
|
+
borderColor: "inherit",
|
|
3583
|
+
borderCollapse: "collapse"
|
|
3584
|
+
},
|
|
3585
|
+
"input::placeholder, textarea::placeholder": {
|
|
3586
|
+
opacity: 1,
|
|
3587
|
+
color: "var(--global-color-placeholder, #9ca3af)"
|
|
3588
|
+
},
|
|
3589
|
+
textarea: { resize: "vertical" },
|
|
3590
|
+
summary: { display: "list-item" },
|
|
3591
|
+
small: { fontSize: "80%" },
|
|
3592
|
+
"sub, sup": {
|
|
3593
|
+
fontSize: "75%",
|
|
3594
|
+
lineHeight: 0,
|
|
3595
|
+
position: "relative",
|
|
3596
|
+
verticalAlign: "baseline"
|
|
3597
|
+
},
|
|
3598
|
+
sub: { bottom: "-0.25em" },
|
|
3599
|
+
sup: { top: "-0.5em" },
|
|
3600
|
+
dialog: { padding: "0px" },
|
|
3601
|
+
a: { color: "inherit", textDecoration: "inherit" },
|
|
3602
|
+
"abbr:where([title])": { textDecoration: "underline dotted" },
|
|
3603
|
+
"b, strong": { fontWeight: "bolder" },
|
|
3604
|
+
"code, kbd, samp, pre": {
|
|
3605
|
+
fontSize: "1em",
|
|
3606
|
+
"--font-mono-fallback": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New'",
|
|
3607
|
+
fontFamily: "var(--global-font-mono, var(--font-mono-fallback))"
|
|
3608
|
+
},
|
|
3609
|
+
'input[type="text"], input[type="email"], input[type="search"], input[type="password"]': {
|
|
3610
|
+
WebkitAppearance: "none",
|
|
3611
|
+
MozAppearance: "none"
|
|
3612
|
+
},
|
|
3613
|
+
"input[type='search']": {
|
|
3614
|
+
WebkitAppearance: "textfield",
|
|
3615
|
+
outlineOffset: "-2px"
|
|
3616
|
+
},
|
|
3617
|
+
"::-webkit-search-decoration, ::-webkit-search-cancel-button": {
|
|
3618
|
+
WebkitAppearance: "none"
|
|
3619
|
+
},
|
|
3620
|
+
"::-webkit-file-upload-button": {
|
|
3621
|
+
WebkitAppearance: "button",
|
|
3622
|
+
font: "inherit"
|
|
3623
|
+
},
|
|
3624
|
+
'input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button': {
|
|
3625
|
+
height: "auto"
|
|
3626
|
+
},
|
|
3627
|
+
"input[type='number']": { MozAppearance: "textfield" },
|
|
3628
|
+
":-moz-ui-invalid": { boxShadow: "none" },
|
|
3629
|
+
":-moz-focusring": { outline: "auto" },
|
|
3630
|
+
"[hidden]": { display: "none !important" }
|
|
3631
|
+
};
|
|
3632
|
+
const reset = {
|
|
3633
|
+
[scope || "html"]: {
|
|
3634
|
+
lineHeight: 1.5,
|
|
3635
|
+
"--font-fallback": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'",
|
|
3636
|
+
WebkitTextSizeAdjust: "100%",
|
|
3637
|
+
WebkitFontSmoothing: "antialiased",
|
|
3638
|
+
MozOsxFontSmoothing: "grayscale",
|
|
3639
|
+
MozTabSize: "[4]",
|
|
3640
|
+
tabSize: "[4]",
|
|
3641
|
+
fontFamily: "var(--global-font-body, var(--font-fallback))"
|
|
3642
|
+
}
|
|
3643
|
+
};
|
|
3644
|
+
if (selector) {
|
|
3645
|
+
reset[selector] = scoped;
|
|
3646
|
+
} else {
|
|
3647
|
+
Object.assign(reset, scoped);
|
|
3774
3648
|
}
|
|
3775
|
-
sheet.
|
|
3649
|
+
sheet.processResetCss(reset);
|
|
3776
3650
|
}
|
|
3777
3651
|
|
|
3778
3652
|
// src/artifacts/css/static-css.ts
|
|
@@ -3781,16 +3655,16 @@ var generateStaticCss = (ctx, sheet) => {
|
|
|
3781
3655
|
const engine = staticCss.process(ctx.config.staticCss ?? {}, sheet);
|
|
3782
3656
|
if (!sheet) {
|
|
3783
3657
|
const { optimize = true, minify } = config;
|
|
3784
|
-
let
|
|
3658
|
+
let css = engine.sheet.toCss({ optimize, minify });
|
|
3785
3659
|
if (ctx.hooks["cssgen:done"]) {
|
|
3786
|
-
|
|
3660
|
+
css = ctx.hooks["cssgen:done"]({ artifact: "static", content: css }) ?? css;
|
|
3787
3661
|
}
|
|
3788
|
-
return
|
|
3662
|
+
return css;
|
|
3789
3663
|
}
|
|
3790
3664
|
};
|
|
3791
3665
|
|
|
3792
3666
|
// src/artifacts/css/token-css.ts
|
|
3793
|
-
var
|
|
3667
|
+
var import_core4 = require("@pandacss/core");
|
|
3794
3668
|
var import_postcss = __toESM(require("postcss"));
|
|
3795
3669
|
function generateTokenCss(ctx, sheet) {
|
|
3796
3670
|
const {
|
|
@@ -3805,28 +3679,28 @@ function generateTokenCss(ctx, sheet) {
|
|
|
3805
3679
|
if (Object.keys(varsObj).length === 0)
|
|
3806
3680
|
continue;
|
|
3807
3681
|
if (key === "base") {
|
|
3808
|
-
const
|
|
3809
|
-
results.push(
|
|
3682
|
+
const css2 = (0, import_core4.stringify)({ [root]: varsObj });
|
|
3683
|
+
results.push(css2);
|
|
3810
3684
|
} else {
|
|
3811
3685
|
const keys = key.split(":");
|
|
3812
|
-
const
|
|
3686
|
+
const css2 = (0, import_core4.stringify)(varsObj);
|
|
3813
3687
|
const mapped = keys.map((key2) => conditions.get(key2)).filter(Boolean).map((condition) => {
|
|
3814
|
-
const parent = (0,
|
|
3688
|
+
const parent = (0, import_core4.extractParentSelectors)(condition);
|
|
3815
3689
|
return parent ? `&${parent}` : condition;
|
|
3816
3690
|
});
|
|
3817
3691
|
const rule = getDeepestRule(root, mapped);
|
|
3818
3692
|
if (!rule)
|
|
3819
3693
|
continue;
|
|
3820
|
-
getDeepestNode(rule)?.append(
|
|
3821
|
-
results.push((0,
|
|
3694
|
+
getDeepestNode(rule)?.append(css2);
|
|
3695
|
+
results.push((0, import_core4.expandNestedCss)(rule.toString()));
|
|
3822
3696
|
}
|
|
3823
3697
|
}
|
|
3824
|
-
let
|
|
3825
|
-
|
|
3698
|
+
let css = results.join("\n\n");
|
|
3699
|
+
css = "\n\n" + cleanupSelectors(css, root);
|
|
3826
3700
|
if (ctx.hooks["cssgen:done"]) {
|
|
3827
|
-
|
|
3701
|
+
css = ctx.hooks["cssgen:done"]({ artifact: "tokens", content: css }) ?? css;
|
|
3828
3702
|
}
|
|
3829
|
-
sheet.layers.tokens.append(
|
|
3703
|
+
sheet.layers.tokens.append(css);
|
|
3830
3704
|
}
|
|
3831
3705
|
function getDeepestRule(root, selectors) {
|
|
3832
3706
|
const rule = import_postcss.default.rule({ selector: "" });
|
|
@@ -3848,8 +3722,8 @@ function getDeepestNode(node) {
|
|
|
3848
3722
|
}
|
|
3849
3723
|
return node;
|
|
3850
3724
|
}
|
|
3851
|
-
function cleanupSelectors(
|
|
3852
|
-
const root = import_postcss.default.parse(
|
|
3725
|
+
function cleanupSelectors(css, varSelector) {
|
|
3726
|
+
const root = import_postcss.default.parse(css);
|
|
3853
3727
|
root.walkRules((rule) => {
|
|
3854
3728
|
const selectors = [];
|
|
3855
3729
|
rule.selectors.forEach((selector) => {
|
|
@@ -3875,7 +3749,7 @@ function cleanupSelectors(css2, varSelector) {
|
|
|
3875
3749
|
}
|
|
3876
3750
|
|
|
3877
3751
|
// src/generator.ts
|
|
3878
|
-
var Generator = class extends
|
|
3752
|
+
var Generator = class extends import_core5.Context {
|
|
3879
3753
|
constructor(conf) {
|
|
3880
3754
|
super(conf);
|
|
3881
3755
|
}
|
|
@@ -3909,14 +3783,14 @@ var Generator = class extends import_core4.Context {
|
|
|
3909
3783
|
};
|
|
3910
3784
|
getCss = (stylesheet) => {
|
|
3911
3785
|
const sheet = stylesheet ?? this.createSheet();
|
|
3912
|
-
let
|
|
3786
|
+
let css = sheet.toCss({
|
|
3913
3787
|
optimize: true,
|
|
3914
3788
|
minify: this.config.minify
|
|
3915
3789
|
});
|
|
3916
3790
|
if (this.hooks["cssgen:done"]) {
|
|
3917
|
-
|
|
3791
|
+
css = this.hooks["cssgen:done"]({ artifact: "styles.css", content: css }) ?? css;
|
|
3918
3792
|
}
|
|
3919
|
-
return
|
|
3793
|
+
return css;
|
|
3920
3794
|
};
|
|
3921
3795
|
};
|
|
3922
3796
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/index.mjs
CHANGED
|
@@ -384,7 +384,7 @@ var astish_mjs_default = {
|
|
|
384
384
|
|
|
385
385
|
// src/artifacts/generated/helpers.mjs.json
|
|
386
386
|
var helpers_mjs_default = {
|
|
387
|
-
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) ?? 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((acc, current, index) => {\n const key = breakpoints[index];\n if (current != null) {\n acc[key] = current;\n }\n return acc;\n }, {});\n}\nfunction
|
|
387
|
+
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((acc, current, index) => {\n const key = breakpoints[index];\n if (current != null) {\n acc[key] = current;\n }\n return acc;\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((styleObject = {}) => {\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'
|
|
388
388
|
};
|
|
389
389
|
|
|
390
390
|
// src/artifacts/generated/normalize-html.mjs.json
|
|
@@ -3484,11 +3484,11 @@ function generateKeyframeCss(ctx, sheet) {
|
|
|
3484
3484
|
for (const [name, definition] of Object.entries(keyframes)) {
|
|
3485
3485
|
result[`@keyframes ${name}`] = definition;
|
|
3486
3486
|
}
|
|
3487
|
-
let
|
|
3487
|
+
let css = stringify3(sheet.serialize(result));
|
|
3488
3488
|
if (ctx.hooks["cssgen:done"]) {
|
|
3489
|
-
|
|
3489
|
+
css = ctx.hooks["cssgen:done"]({ artifact: "keyframes", content: css }) ?? css;
|
|
3490
3490
|
}
|
|
3491
|
-
sheet.layers.tokens.append(
|
|
3491
|
+
sheet.layers.tokens.append(css);
|
|
3492
3492
|
}
|
|
3493
3493
|
|
|
3494
3494
|
// src/artifacts/css/parser-css.ts
|
|
@@ -3500,8 +3500,8 @@ var generateParserCss = (ctx, decoder) => {
|
|
|
3500
3500
|
const { minify, optimize } = ctx.config;
|
|
3501
3501
|
sheet.processDecoder(decoder);
|
|
3502
3502
|
try {
|
|
3503
|
-
const
|
|
3504
|
-
return
|
|
3503
|
+
const css = sheet.toCss({ minify, optimize });
|
|
3504
|
+
return css;
|
|
3505
3505
|
} catch (err) {
|
|
3506
3506
|
logger.error("serializer:css", "Failed to serialize CSS: " + err);
|
|
3507
3507
|
return "";
|
|
@@ -3509,234 +3509,108 @@ var generateParserCss = (ctx, decoder) => {
|
|
|
3509
3509
|
};
|
|
3510
3510
|
|
|
3511
3511
|
// src/artifacts/css/reset-css.ts
|
|
3512
|
+
import "@pandacss/core";
|
|
3512
3513
|
import { isObject } from "@pandacss/shared";
|
|
3513
|
-
var css = String.raw;
|
|
3514
3514
|
function generateResetCss(ctx, sheet) {
|
|
3515
3515
|
const { preflight } = ctx.config;
|
|
3516
3516
|
const scope = isObject(preflight) ? preflight.scope : void 0;
|
|
3517
3517
|
const selector = scope ? `${scope} ` : "";
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
|
|
3521
|
-
|
|
3522
|
-
|
|
3523
|
-
|
|
3524
|
-
|
|
3525
|
-
|
|
3526
|
-
|
|
3527
|
-
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
3545
|
-
|
|
3546
|
-
|
|
3547
|
-
|
|
3548
|
-
|
|
3549
|
-
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
|
|
3589
|
-
|
|
3590
|
-
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
|
|
3595
|
-
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
|
|
3599
|
-
|
|
3600
|
-
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
3608
|
-
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
|
|
3612
|
-
${selector}input,
|
|
3613
|
-
${selector}optgroup,
|
|
3614
|
-
${selector}select,
|
|
3615
|
-
${selector}textarea {
|
|
3616
|
-
color: inherit;
|
|
3617
|
-
}
|
|
3618
|
-
|
|
3619
|
-
${selector}button,
|
|
3620
|
-
${selector}select {
|
|
3621
|
-
text-transform: none;
|
|
3622
|
-
}
|
|
3623
|
-
|
|
3624
|
-
${selector}table {
|
|
3625
|
-
text-indent: 0;
|
|
3626
|
-
border-color: inherit;
|
|
3627
|
-
border-collapse: collapse;
|
|
3628
|
-
}
|
|
3629
|
-
|
|
3630
|
-
${selector}input::placeholder,
|
|
3631
|
-
${selector}textarea::placeholder {
|
|
3632
|
-
opacity: 1;
|
|
3633
|
-
color: var(--global-color-placeholder, #9ca3af);
|
|
3634
|
-
}
|
|
3635
|
-
|
|
3636
|
-
${selector}textarea {
|
|
3637
|
-
resize: vertical;
|
|
3638
|
-
}
|
|
3639
|
-
|
|
3640
|
-
${selector}summary {
|
|
3641
|
-
display: list-item;
|
|
3642
|
-
}
|
|
3643
|
-
|
|
3644
|
-
${selector}small {
|
|
3645
|
-
font-size: 80%;
|
|
3646
|
-
}
|
|
3647
|
-
|
|
3648
|
-
${selector}sub,
|
|
3649
|
-
${selector}sup {
|
|
3650
|
-
font-size: 75%;
|
|
3651
|
-
line-height: 0;
|
|
3652
|
-
position: relative;
|
|
3653
|
-
vertical-align: baseline;
|
|
3654
|
-
}
|
|
3655
|
-
|
|
3656
|
-
${selector}sub {
|
|
3657
|
-
bottom: -0.25em;
|
|
3658
|
-
}
|
|
3659
|
-
|
|
3660
|
-
${selector}sup {
|
|
3661
|
-
top: -0.5em;
|
|
3662
|
-
}
|
|
3663
|
-
|
|
3664
|
-
${selector}dialog {
|
|
3665
|
-
padding: 0;
|
|
3666
|
-
}
|
|
3667
|
-
|
|
3668
|
-
${selector}a {
|
|
3669
|
-
color: inherit;
|
|
3670
|
-
text-decoration: inherit;
|
|
3671
|
-
}
|
|
3672
|
-
|
|
3673
|
-
${selector}abbr:where([title]) {
|
|
3674
|
-
text-decoration: underline dotted;
|
|
3675
|
-
}
|
|
3676
|
-
|
|
3677
|
-
${selector}b,
|
|
3678
|
-
${selector}strong {
|
|
3679
|
-
font-weight: bolder;
|
|
3680
|
-
}
|
|
3681
|
-
|
|
3682
|
-
${selector}code,
|
|
3683
|
-
${selector}kbd,
|
|
3684
|
-
${selector}samp,
|
|
3685
|
-
${selector}pre {
|
|
3686
|
-
font-size: 1em;
|
|
3687
|
-
--font-mono-fallback: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New';
|
|
3688
|
-
font-family: var(--global-font-mono, var(--font-mono-fallback));
|
|
3689
|
-
}
|
|
3690
|
-
|
|
3691
|
-
|
|
3692
|
-
${selector}input[type="text"],
|
|
3693
|
-
${selector}input[type="email"],
|
|
3694
|
-
${selector}input[type="search"],
|
|
3695
|
-
${selector}input[type="password"] {
|
|
3696
|
-
-webkit-appearance: none;
|
|
3697
|
-
-moz-appearance: none;
|
|
3698
|
-
}
|
|
3699
|
-
|
|
3700
|
-
${selector}input[type='search'] {
|
|
3701
|
-
-webkit-appearance: textfield;
|
|
3702
|
-
outline-offset: -2px;
|
|
3703
|
-
}
|
|
3704
|
-
|
|
3705
|
-
${selector}::-webkit-search-decoration,
|
|
3706
|
-
${selector}::-webkit-search-cancel-button {
|
|
3707
|
-
-webkit-appearance: none;
|
|
3708
|
-
}
|
|
3709
|
-
|
|
3710
|
-
${selector}::-webkit-file-upload-button {
|
|
3711
|
-
-webkit-appearance: button;
|
|
3712
|
-
font: inherit;
|
|
3713
|
-
}
|
|
3714
|
-
|
|
3715
|
-
${selector}input[type="number"]::-webkit-inner-spin-button,
|
|
3716
|
-
${selector}input[type="number"]::-webkit-outer-spin-button {
|
|
3717
|
-
height: auto;
|
|
3718
|
-
}
|
|
3719
|
-
|
|
3720
|
-
${selector}input[type='number']{
|
|
3721
|
-
-moz-appearance: textfield;
|
|
3722
|
-
}
|
|
3723
|
-
|
|
3724
|
-
${selector}:-moz-ui-invalid {
|
|
3725
|
-
box-shadow: none;
|
|
3726
|
-
}
|
|
3727
|
-
|
|
3728
|
-
${selector}:-moz-focusring {
|
|
3729
|
-
outline: auto;
|
|
3730
|
-
}
|
|
3731
|
-
|
|
3732
|
-
${selector}[hidden] {
|
|
3733
|
-
display: none !important;
|
|
3734
|
-
}
|
|
3735
|
-
`;
|
|
3736
|
-
if (ctx.hooks["cssgen:done"]) {
|
|
3737
|
-
output = ctx.hooks["cssgen:done"]({ artifact: "reset", content: output }) ?? output;
|
|
3518
|
+
const scoped = {
|
|
3519
|
+
"*": { margin: "0px", padding: "0px", font: "inherit" },
|
|
3520
|
+
"*, *::before, *::after": {
|
|
3521
|
+
boxSizing: "border-box",
|
|
3522
|
+
borderWidth: "0px",
|
|
3523
|
+
borderStyle: "solid",
|
|
3524
|
+
borderColor: "var(--global-color-border, currentColor)"
|
|
3525
|
+
},
|
|
3526
|
+
hr: { height: "0px", color: "inherit", borderTopWidth: "1px" },
|
|
3527
|
+
body: { height: "100%", lineHeight: "inherit" },
|
|
3528
|
+
img: { borderStyle: "none" },
|
|
3529
|
+
"img, svg, video, canvas, audio, iframe, embed, object": {
|
|
3530
|
+
display: "block",
|
|
3531
|
+
verticalAlign: "middle"
|
|
3532
|
+
},
|
|
3533
|
+
"img, video": { maxWidth: "100%", height: "auto" },
|
|
3534
|
+
"p, h1, h2, h3, h4, h5, h6": { overflowWrap: "break-word" },
|
|
3535
|
+
"ol, ul": { listStyle: "none" },
|
|
3536
|
+
"code, kbd, pre, samp": { fontSize: "1em" },
|
|
3537
|
+
"button, [type='button'], [type='reset'], [type='submit']": {
|
|
3538
|
+
WebkitAppearance: "button",
|
|
3539
|
+
backgroundColor: "transparent",
|
|
3540
|
+
backgroundImage: "none"
|
|
3541
|
+
},
|
|
3542
|
+
"button, input, optgroup, select, textarea": { color: "inherit" },
|
|
3543
|
+
"button, select": { textTransform: "none" },
|
|
3544
|
+
table: {
|
|
3545
|
+
textIndent: "0px",
|
|
3546
|
+
borderColor: "inherit",
|
|
3547
|
+
borderCollapse: "collapse"
|
|
3548
|
+
},
|
|
3549
|
+
"input::placeholder, textarea::placeholder": {
|
|
3550
|
+
opacity: 1,
|
|
3551
|
+
color: "var(--global-color-placeholder, #9ca3af)"
|
|
3552
|
+
},
|
|
3553
|
+
textarea: { resize: "vertical" },
|
|
3554
|
+
summary: { display: "list-item" },
|
|
3555
|
+
small: { fontSize: "80%" },
|
|
3556
|
+
"sub, sup": {
|
|
3557
|
+
fontSize: "75%",
|
|
3558
|
+
lineHeight: 0,
|
|
3559
|
+
position: "relative",
|
|
3560
|
+
verticalAlign: "baseline"
|
|
3561
|
+
},
|
|
3562
|
+
sub: { bottom: "-0.25em" },
|
|
3563
|
+
sup: { top: "-0.5em" },
|
|
3564
|
+
dialog: { padding: "0px" },
|
|
3565
|
+
a: { color: "inherit", textDecoration: "inherit" },
|
|
3566
|
+
"abbr:where([title])": { textDecoration: "underline dotted" },
|
|
3567
|
+
"b, strong": { fontWeight: "bolder" },
|
|
3568
|
+
"code, kbd, samp, pre": {
|
|
3569
|
+
fontSize: "1em",
|
|
3570
|
+
"--font-mono-fallback": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New'",
|
|
3571
|
+
fontFamily: "var(--global-font-mono, var(--font-mono-fallback))"
|
|
3572
|
+
},
|
|
3573
|
+
'input[type="text"], input[type="email"], input[type="search"], input[type="password"]': {
|
|
3574
|
+
WebkitAppearance: "none",
|
|
3575
|
+
MozAppearance: "none"
|
|
3576
|
+
},
|
|
3577
|
+
"input[type='search']": {
|
|
3578
|
+
WebkitAppearance: "textfield",
|
|
3579
|
+
outlineOffset: "-2px"
|
|
3580
|
+
},
|
|
3581
|
+
"::-webkit-search-decoration, ::-webkit-search-cancel-button": {
|
|
3582
|
+
WebkitAppearance: "none"
|
|
3583
|
+
},
|
|
3584
|
+
"::-webkit-file-upload-button": {
|
|
3585
|
+
WebkitAppearance: "button",
|
|
3586
|
+
font: "inherit"
|
|
3587
|
+
},
|
|
3588
|
+
'input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button': {
|
|
3589
|
+
height: "auto"
|
|
3590
|
+
},
|
|
3591
|
+
"input[type='number']": { MozAppearance: "textfield" },
|
|
3592
|
+
":-moz-ui-invalid": { boxShadow: "none" },
|
|
3593
|
+
":-moz-focusring": { outline: "auto" },
|
|
3594
|
+
"[hidden]": { display: "none !important" }
|
|
3595
|
+
};
|
|
3596
|
+
const reset = {
|
|
3597
|
+
[scope || "html"]: {
|
|
3598
|
+
lineHeight: 1.5,
|
|
3599
|
+
"--font-fallback": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'",
|
|
3600
|
+
WebkitTextSizeAdjust: "100%",
|
|
3601
|
+
WebkitFontSmoothing: "antialiased",
|
|
3602
|
+
MozOsxFontSmoothing: "grayscale",
|
|
3603
|
+
MozTabSize: "[4]",
|
|
3604
|
+
tabSize: "[4]",
|
|
3605
|
+
fontFamily: "var(--global-font-body, var(--font-fallback))"
|
|
3606
|
+
}
|
|
3607
|
+
};
|
|
3608
|
+
if (selector) {
|
|
3609
|
+
reset[selector] = scoped;
|
|
3610
|
+
} else {
|
|
3611
|
+
Object.assign(reset, scoped);
|
|
3738
3612
|
}
|
|
3739
|
-
sheet.
|
|
3613
|
+
sheet.processResetCss(reset);
|
|
3740
3614
|
}
|
|
3741
3615
|
|
|
3742
3616
|
// src/artifacts/css/static-css.ts
|
|
@@ -3745,11 +3619,11 @@ var generateStaticCss = (ctx, sheet) => {
|
|
|
3745
3619
|
const engine = staticCss.process(ctx.config.staticCss ?? {}, sheet);
|
|
3746
3620
|
if (!sheet) {
|
|
3747
3621
|
const { optimize = true, minify } = config;
|
|
3748
|
-
let
|
|
3622
|
+
let css = engine.sheet.toCss({ optimize, minify });
|
|
3749
3623
|
if (ctx.hooks["cssgen:done"]) {
|
|
3750
|
-
|
|
3624
|
+
css = ctx.hooks["cssgen:done"]({ artifact: "static", content: css }) ?? css;
|
|
3751
3625
|
}
|
|
3752
|
-
return
|
|
3626
|
+
return css;
|
|
3753
3627
|
}
|
|
3754
3628
|
};
|
|
3755
3629
|
|
|
@@ -3769,11 +3643,11 @@ function generateTokenCss(ctx, sheet) {
|
|
|
3769
3643
|
if (Object.keys(varsObj).length === 0)
|
|
3770
3644
|
continue;
|
|
3771
3645
|
if (key === "base") {
|
|
3772
|
-
const
|
|
3773
|
-
results.push(
|
|
3646
|
+
const css2 = stringify4({ [root]: varsObj });
|
|
3647
|
+
results.push(css2);
|
|
3774
3648
|
} else {
|
|
3775
3649
|
const keys = key.split(":");
|
|
3776
|
-
const
|
|
3650
|
+
const css2 = stringify4(varsObj);
|
|
3777
3651
|
const mapped = keys.map((key2) => conditions.get(key2)).filter(Boolean).map((condition) => {
|
|
3778
3652
|
const parent = extractParentSelectors(condition);
|
|
3779
3653
|
return parent ? `&${parent}` : condition;
|
|
@@ -3781,16 +3655,16 @@ function generateTokenCss(ctx, sheet) {
|
|
|
3781
3655
|
const rule = getDeepestRule(root, mapped);
|
|
3782
3656
|
if (!rule)
|
|
3783
3657
|
continue;
|
|
3784
|
-
getDeepestNode(rule)?.append(
|
|
3658
|
+
getDeepestNode(rule)?.append(css2);
|
|
3785
3659
|
results.push(expandNestedCss(rule.toString()));
|
|
3786
3660
|
}
|
|
3787
3661
|
}
|
|
3788
|
-
let
|
|
3789
|
-
|
|
3662
|
+
let css = results.join("\n\n");
|
|
3663
|
+
css = "\n\n" + cleanupSelectors(css, root);
|
|
3790
3664
|
if (ctx.hooks["cssgen:done"]) {
|
|
3791
|
-
|
|
3665
|
+
css = ctx.hooks["cssgen:done"]({ artifact: "tokens", content: css }) ?? css;
|
|
3792
3666
|
}
|
|
3793
|
-
sheet.layers.tokens.append(
|
|
3667
|
+
sheet.layers.tokens.append(css);
|
|
3794
3668
|
}
|
|
3795
3669
|
function getDeepestRule(root, selectors) {
|
|
3796
3670
|
const rule = postcss.rule({ selector: "" });
|
|
@@ -3812,8 +3686,8 @@ function getDeepestNode(node) {
|
|
|
3812
3686
|
}
|
|
3813
3687
|
return node;
|
|
3814
3688
|
}
|
|
3815
|
-
function cleanupSelectors(
|
|
3816
|
-
const root = postcss.parse(
|
|
3689
|
+
function cleanupSelectors(css, varSelector) {
|
|
3690
|
+
const root = postcss.parse(css);
|
|
3817
3691
|
root.walkRules((rule) => {
|
|
3818
3692
|
const selectors = [];
|
|
3819
3693
|
rule.selectors.forEach((selector) => {
|
|
@@ -3873,14 +3747,14 @@ var Generator = class extends Context2 {
|
|
|
3873
3747
|
};
|
|
3874
3748
|
getCss = (stylesheet) => {
|
|
3875
3749
|
const sheet = stylesheet ?? this.createSheet();
|
|
3876
|
-
let
|
|
3750
|
+
let css = sheet.toCss({
|
|
3877
3751
|
optimize: true,
|
|
3878
3752
|
minify: this.config.minify
|
|
3879
3753
|
});
|
|
3880
3754
|
if (this.hooks["cssgen:done"]) {
|
|
3881
|
-
|
|
3755
|
+
css = this.hooks["cssgen:done"]({ artifact: "styles.css", content: css }) ?? css;
|
|
3882
3756
|
}
|
|
3883
|
-
return
|
|
3757
|
+
return css;
|
|
3884
3758
|
};
|
|
3885
3759
|
};
|
|
3886
3760
|
export {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pandacss/generator",
|
|
3
|
-
"version": "0.0.0-dev-
|
|
3
|
+
"version": "0.0.0-dev-20240201231741",
|
|
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.31",
|
|
39
39
|
"ts-pattern": "5.0.5",
|
|
40
|
-
"@pandacss/core": "0.0.0-dev-
|
|
41
|
-
"@pandacss/is-valid-prop": "^0.0.0-dev-
|
|
42
|
-
"@pandacss/logger": "0.0.0-dev-
|
|
43
|
-
"@pandacss/shared": "0.0.0-dev-
|
|
44
|
-
"@pandacss/token-dictionary": "0.0.0-dev-
|
|
45
|
-
"@pandacss/types": "0.0.0-dev-
|
|
40
|
+
"@pandacss/core": "0.0.0-dev-20240201231741",
|
|
41
|
+
"@pandacss/is-valid-prop": "^0.0.0-dev-20240201231741",
|
|
42
|
+
"@pandacss/logger": "0.0.0-dev-20240201231741",
|
|
43
|
+
"@pandacss/shared": "0.0.0-dev-20240201231741",
|
|
44
|
+
"@pandacss/token-dictionary": "0.0.0-dev-20240201231741",
|
|
45
|
+
"@pandacss/types": "0.0.0-dev-20240201231741"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/pluralize": "0.0.33"
|