@pandacss/generator 0.18.2 → 0.19.0
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 +14 -14
- package/dist/index.mjs +14 -14
- package/package.json +9 -9
package/dist/index.js
CHANGED
|
@@ -67,7 +67,7 @@ var artifactsGenerated = (ctx) => {
|
|
|
67
67
|
${tick} ${(0, import_logger.quote)(outdir, "/tokens")}: the css variables and js function to query your tokens
|
|
68
68
|
`,
|
|
69
69
|
!patterns.isEmpty() && !ctx.isTemplateLiteralSyntax && import_outdent.outdent`
|
|
70
|
-
${tick} ${(0, import_logger.quote)(outdir, "/patterns")}: functions to implement apply common layout patterns
|
|
70
|
+
${tick} ${(0, import_logger.quote)(outdir, "/patterns")}: functions to implement and apply common layout patterns
|
|
71
71
|
`,
|
|
72
72
|
!recipes.isEmpty() && import_outdent.outdent`
|
|
73
73
|
${tick} ${(0, import_logger.quote)(outdir, "/recipes")}: functions to create multi-variant styles
|
|
@@ -376,7 +376,7 @@ function generateResetCss(ctx, scope = "") {
|
|
|
376
376
|
${selector}pre {
|
|
377
377
|
font-size: 1em;
|
|
378
378
|
--font-mono-fallback: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New';
|
|
379
|
-
font-family: var(--global-font-mono, var(--font-fallback));
|
|
379
|
+
font-family: var(--global-font-mono, var(--font-mono-fallback));
|
|
380
380
|
}
|
|
381
381
|
|
|
382
382
|
|
|
@@ -1287,7 +1287,7 @@ function generateRecipes(ctx) {
|
|
|
1287
1287
|
}
|
|
1288
1288
|
|
|
1289
1289
|
export type ${upperName}VariantProps = {
|
|
1290
|
-
[key in keyof ${upperName}Variant]?: ${compoundVariants?.length ? `${upperName}Variant[key]` : `ConditionalValue<${upperName}Variant[key]>`}
|
|
1290
|
+
[key in keyof ${upperName}Variant]?: ${compoundVariants?.length ? `${upperName}Variant[key]` : `ConditionalValue<${upperName}Variant[key]>`} | undefined
|
|
1291
1291
|
}
|
|
1292
1292
|
|
|
1293
1293
|
export interface ${upperName}Recipe {
|
|
@@ -1576,7 +1576,7 @@ export interface JsxFactoryOptions<TProps extends Dict> {
|
|
|
1576
1576
|
|
|
1577
1577
|
export type JsxRecipeProps<T extends ElementType, P extends Dict> = JsxHTMLProps<ComponentProps<T>, P>
|
|
1578
1578
|
|
|
1579
|
-
export type JsxElement<T extends ElementType, P> = T extends ${componentName}<infer A, infer B>
|
|
1579
|
+
export type JsxElement<T extends ElementType, P extends Dict> = T extends ${componentName}<infer A, infer B>
|
|
1580
1580
|
? ${componentName}<A, Pretty<DistributiveUnion<P, B>>>
|
|
1581
1581
|
: ${componentName}<T, P>
|
|
1582
1582
|
|
|
@@ -1883,7 +1883,7 @@ export interface JsxFactoryOptions<TProps extends Dict> {
|
|
|
1883
1883
|
|
|
1884
1884
|
export type JsxRecipeProps<T extends ElementType, P extends Dict> = JsxHTMLProps<ComponentProps<T>, P>;
|
|
1885
1885
|
|
|
1886
|
-
export type JsxElement<T extends ElementType, P> = T extends ${componentName}<infer A, infer B>
|
|
1886
|
+
export type JsxElement<T extends ElementType, P extends Dict> = T extends ${componentName}<infer A, infer B>
|
|
1887
1887
|
? ${componentName}<A, Pretty<DistributiveUnion<P, B>>>
|
|
1888
1888
|
: ${componentName}<T, P>
|
|
1889
1889
|
|
|
@@ -2193,7 +2193,7 @@ interface JsxFactoryOptions<TProps extends Dict> {
|
|
|
2193
2193
|
|
|
2194
2194
|
export type JsxRecipeProps<T extends ElementType, P extends Dict> = JsxHTMLProps<ComponentProps<T>, P>;
|
|
2195
2195
|
|
|
2196
|
-
export type JsxElement<T extends ElementType, P> = T extends ${componentName}<infer A, infer B>
|
|
2196
|
+
export type JsxElement<T extends ElementType, P extends Dict> = T extends ${componentName}<infer A, infer B>
|
|
2197
2197
|
? ${componentName}<A, Pretty<DistributiveUnion<P, B>>>
|
|
2198
2198
|
: ${componentName}<T, P>
|
|
2199
2199
|
|
|
@@ -2527,7 +2527,7 @@ export interface JsxFactoryOptions<TProps extends Dict> {
|
|
|
2527
2527
|
|
|
2528
2528
|
export type JsxRecipeProps<T extends ElementType, P extends Dict> = JsxHTMLProps<ComponentProps<T>, P>;
|
|
2529
2529
|
|
|
2530
|
-
export type JsxElement<T extends ElementType, P> = T extends ${componentName}<infer A, infer B>
|
|
2530
|
+
export type JsxElement<T extends ElementType, P extends Dict> = T extends ${componentName}<infer A, infer B>
|
|
2531
2531
|
? ${componentName}<A, Pretty<DistributiveUnion<P, B>>>
|
|
2532
2532
|
: ${componentName}<T, P>
|
|
2533
2533
|
|
|
@@ -3085,17 +3085,17 @@ var csstype_d_ts_default = {
|
|
|
3085
3085
|
|
|
3086
3086
|
// src/artifacts/generated/system-types.d.ts.json
|
|
3087
3087
|
var system_types_d_ts_default = {
|
|
3088
|
-
content: "import type { ConditionalValue, Conditions, Nested } from './conditions'\nimport type { PropertiesFallback } from './csstype'\nimport type { SystemProperties, CssVarProperties } from './style-props'\n\ntype String = string & {}\ntype Number = number & {}\n\nexport type Pretty<T> = { [K in keyof T]: T[K] } & {}\n\nexport type DistributiveOmit<T, K extends keyof any> = T extends unknown ? Omit<T, K> : never\n\nexport type DistributiveUnion<T, U> = {\n [K in keyof T]: K extends keyof U ? U[K] | T[K] : T[K]\n} & DistributiveOmit<U, keyof T>\n\nexport type Assign<T, U> = {\n [K in keyof T]: K extends keyof U ? U[K] : T[K]\n} & U\n\n/* -----------------------------------------------------------------------------\n * Native css properties\n * -----------------------------------------------------------------------------*/\n\nexport type CssProperty = keyof PropertiesFallback\n\nexport interface CssProperties extends PropertiesFallback<String | Number>, CssVarProperties {}\n\nexport interface CssKeyframes {\n [name: string]: {\n [time: string]: CssProperties\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Conditional css properties\n * -----------------------------------------------------------------------------*/\n\ntype MinimalNested<P> = {\n [K in keyof Conditions]?: Nested<P>\n}\n\ninterface GenericProperties {\n [key: string]: ConditionalValue<String | Number | boolean>\n}\n\n/* -----------------------------------------------------------------------------\n * Native css props\n * -----------------------------------------------------------------------------*/\n\nexport type NestedCssProperties = Nested<CssProperties>\n\nexport type SystemStyleObject = Nested<SystemProperties & CssVarProperties>\n\nexport interface GlobalStyleObject {\n [selector: string]: SystemStyleObject\n}\nexport interface ExtendableGlobalStyleObject {\n [selector: string]: SystemStyleObject | undefined\n extend?: GlobalStyleObject | undefined\n}\n\
|
|
3088
|
+
content: "import type { ConditionalValue, Conditions, Nested } from './conditions'\nimport type { PropertiesFallback } from './csstype'\nimport type { SystemProperties, CssVarProperties } from './style-props'\n\ntype String = string & {}\ntype Number = number & {}\n\nexport type Pretty<T> = { [K in keyof T]: T[K] } & {}\n\nexport type DistributiveOmit<T, K extends keyof any> = T extends unknown ? Omit<T, K> : never\n\nexport type DistributiveUnion<T, U> = {\n [K in keyof T]: K extends keyof U ? U[K] | T[K] : T[K]\n} & DistributiveOmit<U, keyof T>\n\nexport type Assign<T, U> = {\n [K in keyof T]: K extends keyof U ? U[K] : T[K]\n} & U\n\n/* -----------------------------------------------------------------------------\n * Native css properties\n * -----------------------------------------------------------------------------*/\n\nexport type CssProperty = keyof PropertiesFallback\n\nexport interface CssProperties extends PropertiesFallback<String | Number>, CssVarProperties {}\n\nexport interface CssKeyframes {\n [name: string]: {\n [time: string]: CssProperties\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Conditional css properties\n * -----------------------------------------------------------------------------*/\n\ntype MinimalNested<P> = {\n [K in keyof Conditions]?: Nested<P>\n}\n\ninterface GenericProperties {\n [key: string]: ConditionalValue<String | Number | boolean>\n}\n\n/* -----------------------------------------------------------------------------\n * Native css props\n * -----------------------------------------------------------------------------*/\n\nexport type NestedCssProperties = Nested<CssProperties>\n\nexport type SystemStyleObject = Nested<SystemProperties & CssVarProperties>\n\nexport interface GlobalStyleObject {\n [selector: string]: SystemStyleObject\n}\nexport interface ExtendableGlobalStyleObject {\n [selector: string]: SystemStyleObject | undefined\n extend?: GlobalStyleObject | undefined\n}\n\ntype FilterStyleObject<P extends string> = {\n [K in P]?: K extends keyof SystemStyleObject ? SystemStyleObject[K] : unknown\n}\n\nexport type CompositionStyleObject<Property extends string> = Nested<FilterStyleObject<Property> & CssVarProperties>\n\n/* -----------------------------------------------------------------------------\n * Jsx style props\n * -----------------------------------------------------------------------------*/\ninterface WithCss {\n css?: SystemStyleObject\n}\ntype StyleProps = SystemProperties & MinimalNested<SystemStyleObject>\n\nexport type JsxStyleProps = StyleProps & WithCss\n\nexport interface PatchedHTMLProps {\n htmlWidth?: string | number\n htmlHeight?: string | number\n htmlTranslate?: 'yes' | 'no' | undefined\n htmlContent?: string\n}\n\nexport type OmittedHTMLProps = 'color' | 'translate' | 'transition' | 'width' | 'height' | 'content'\n\ntype WithHTMLProps<T> = DistributiveOmit<T, OmittedHTMLProps> & PatchedHTMLProps\n\nexport type JsxHTMLProps<T extends Record<string, any>, P extends Record<string, any> = {}> = Assign<\n WithHTMLProps<T>,\n P\n>\n"
|
|
3089
3089
|
};
|
|
3090
3090
|
|
|
3091
3091
|
// src/artifacts/generated/composition.d.ts.json
|
|
3092
3092
|
var composition_d_ts_default = {
|
|
3093
|
-
content: "import type { CompositionStyleObject } from './system-types'\
|
|
3093
|
+
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 | 'fontVariationSettings'\n | 'fontVariantPosition'\n | 'fontVariantCaps'\n | 'fontVariantNumeric'\n | 'fontVariantAlternates'\n | 'fontVariantLigatures'\n | 'fontFamily'\n | 'fontWeight'\n | 'fontSynthesis'\n | 'fontStyle'\n | 'fontVariant'\n | 'lineHeight'\n | 'letterSpacing'\n | 'textDecoration'\n | 'textTransform'\n | 'textIndent'\n | 'textDecorationColor'\n | 'textDecorationLine'\n | 'textDecorationStyle'\n | 'textEmphasisColor'\n | 'textEmphasisPosition'\n | 'textEmphasisStyle'\n | 'hyphenateCharacter'\n | 'textOrientation'\n | 'textOverflow'\n | 'textRendering'\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"
|
|
3094
3094
|
};
|
|
3095
3095
|
|
|
3096
3096
|
// src/artifacts/generated/recipe.d.ts.json
|
|
3097
3097
|
var recipe_d_ts_default = {
|
|
3098
|
-
content: "import type { SystemStyleObject, DistributiveOmit } from './system-types'\n\ntype
|
|
3098
|
+
content: "import type { SystemStyleObject, DistributiveOmit, Pretty } from './system-types'\n\ntype StringToBoolean<T> = T extends 'true' | 'false' ? boolean : T\n\nexport type RecipeVariantRecord = Record<any, Record<any, SystemStyleObject>>\n\nexport type RecipeSelection<T extends RecipeVariantRecord> = keyof any extends keyof T\n ? {}\n : {\n [K in keyof T]?: StringToBoolean<keyof T[K]> | undefined\n }\n\nexport type RecipeVariantFn<T extends RecipeVariantRecord> = (props?: RecipeSelection<T>) => string\n\nexport type RecipeVariantProps<\n T extends RecipeVariantFn<RecipeVariantRecord> | SlotRecipeVariantFn<string, SlotRecipeVariantRecord<string>>,\n> = Pretty<Parameters<T>[0]>\n\ntype RecipeVariantMap<T extends RecipeVariantRecord> = {\n [K in keyof T]: Array<keyof T[K]>\n}\n\n/* -----------------------------------------------------------------------------\n * Recipe / Standard\n * -----------------------------------------------------------------------------*/\n\nexport interface RecipeRuntimeFn<T extends RecipeVariantRecord> extends RecipeVariantFn<T> {\n __type: RecipeSelection<T>\n variantKeys: (keyof T)[]\n variantMap: RecipeVariantMap<T>\n raw: (props?: RecipeSelection<T>) => SystemStyleObject\n config: RecipeConfig<T>\n splitVariantProps<Props extends RecipeSelection<T>>(\n props: Props,\n ): [RecipeSelection<T>, Pretty<DistributiveOmit<Props, keyof T>>]\n}\n\ntype OneOrMore<T> = T | Array<T>\n\nexport type RecipeCompoundSelection<T> = {\n [K in keyof T]?: OneOrMore<StringToBoolean<keyof T[K]>> | undefined\n}\n\nexport type RecipeCompoundVariant<T> = T & {\n css: SystemStyleObject\n}\n\nexport interface RecipeDefinition<T extends RecipeVariantRecord> {\n /**\n * The base styles of the recipe.\n */\n base?: SystemStyleObject\n /**\n * The multi-variant styles of the recipe.\n */\n variants?: T\n /**\n * The default variants of the recipe.\n */\n defaultVariants?: RecipeSelection<T>\n /**\n * The styles to apply when a combination of variants is selected.\n */\n compoundVariants?: Pretty<RecipeCompoundVariant<RecipeCompoundSelection<T>>>[]\n}\n\nexport type RecipeCreatorFn = <T extends RecipeVariantRecord>(config: RecipeDefinition<T>) => RecipeRuntimeFn<T>\n\ninterface RecipeConfigMeta {\n /**\n * The name of the recipe.\n */\n className: string\n /**\n * The description of the recipe. This will be used in the JSDoc comment.\n */\n description?: string\n /**\n * The jsx elements to track for this recipe. Can be string or Regexp.\n *\n * @default capitalize(recipe.name)\n * @example ['Button', 'Link', /Button$/]\n */\n jsx?: Array<string | RegExp>\n}\n\nexport interface RecipeConfig<T extends RecipeVariantRecord = RecipeVariantRecord>\n extends RecipeDefinition<T>,\n RecipeConfigMeta {}\n\n/* -----------------------------------------------------------------------------\n * Recipe / Slot\n * -----------------------------------------------------------------------------*/\n\ntype SlotRecord<S extends string, T> = Partial<Record<S, T>>\n\nexport type SlotRecipeVariantRecord<S extends string> = Record<any, Record<any, SlotRecord<S, SystemStyleObject>>>\n\nexport type SlotRecipeVariantFn<S extends string, T extends RecipeVariantRecord> = (\n props?: RecipeSelection<T>,\n) => SlotRecord<S, string>\n\nexport interface SlotRecipeRuntimeFn<S extends string, T extends SlotRecipeVariantRecord<S>>\n extends SlotRecipeVariantFn<S, T> {\n raw: (props?: RecipeSelection<T>) => Record<S, SystemStyleObject>\n variantKeys: (keyof T)[]\n variantMap: RecipeVariantMap<T>\n splitVariantProps<Props extends RecipeSelection<T>>(props: Props): [RecipeSelection<T>, Pretty<Omit<Props, keyof T>>]\n}\n\nexport type SlotRecipeCompoundVariant<S extends string, T> = T & {\n css: SlotRecord<S, SystemStyleObject>\n}\n\nexport interface SlotRecipeDefinition<S extends string, T extends SlotRecipeVariantRecord<S>> {\n /**\n * The parts/slots of the recipe.\n */\n slots: S[] | Readonly<S[]>\n /**\n * The base styles of the recipe.\n */\n base?: SlotRecord<S, SystemStyleObject>\n /**\n * The multi-variant styles of the recipe.\n */\n variants?: T\n /**\n * The default variants of the recipe.\n */\n defaultVariants?: RecipeSelection<T>\n /**\n * The styles to apply when a combination of variants is selected.\n */\n compoundVariants?: Pretty<SlotRecipeCompoundVariant<S, RecipeCompoundSelection<T>>>[]\n}\n\nexport type SlotRecipeCreatorFn = <S extends string, T extends SlotRecipeVariantRecord<S>>(\n config: SlotRecipeDefinition<S, T>,\n) => SlotRecipeRuntimeFn<S, T>\n\nexport type SlotRecipeConfig<\n S extends string = string,\n T extends SlotRecipeVariantRecord<S> = SlotRecipeVariantRecord<S>,\n> = SlotRecipeDefinition<S, T> & RecipeConfigMeta\n"
|
|
3099
3099
|
};
|
|
3100
3100
|
|
|
3101
3101
|
// src/artifacts/generated/pattern.d.ts.json
|
|
@@ -3187,7 +3187,6 @@ function generatePropTypes(ctx) {
|
|
|
3187
3187
|
config: { strictTokens },
|
|
3188
3188
|
utility
|
|
3189
3189
|
} = ctx;
|
|
3190
|
-
const strictText = `${strictTokens ? "" : " | CssValue<T>"}`;
|
|
3191
3190
|
const result = [
|
|
3192
3191
|
import_outdent41.outdent`
|
|
3193
3192
|
${ctx.file.importType("ConditionalValue", "./conditions")}
|
|
@@ -3204,7 +3203,7 @@ function generatePropTypes(ctx) {
|
|
|
3204
3203
|
result.push(`
|
|
3205
3204
|
type CssValue<T> = T extends keyof CssProperties ? CssProperties[T] : never
|
|
3206
3205
|
|
|
3207
|
-
type Shorthand<T> = T extends keyof PropertyValueTypes ? PropertyValueTypes[T]${
|
|
3206
|
+
type Shorthand<T> = T extends keyof PropertyValueTypes ? PropertyValueTypes[T]${strictTokens ? "" : " | CssValue<T>"} : CssValue<T>
|
|
3208
3207
|
|
|
3209
3208
|
export interface PropertyTypes extends PropertyValueTypes {
|
|
3210
3209
|
`);
|
|
@@ -3215,10 +3214,11 @@ function generatePropTypes(ctx) {
|
|
|
3215
3214
|
return import_outdent41.outdent`
|
|
3216
3215
|
${result.join("\n")}
|
|
3217
3216
|
|
|
3217
|
+
${strictTokens ? `type FilterString<T> = T extends \`\${infer _}\` ? T : never;` : ""}
|
|
3218
3218
|
export type PropertyValue<T extends string> = T extends keyof PropertyTypes
|
|
3219
|
-
? ConditionalValue<PropertyTypes[T]
|
|
3219
|
+
? ConditionalValue<${strictTokens ? "FilterString<PropertyTypes[T]>" : "PropertyTypes[T] | CssValue<T> | (string & {})"}>
|
|
3220
3220
|
: T extends keyof CssProperties
|
|
3221
|
-
? ConditionalValue<CssProperties[T]
|
|
3221
|
+
? ConditionalValue<${strictTokens ? "FilterString<CssProperties[T]>" : "CssProperties[T] | (string & {})"}>
|
|
3222
3222
|
: ConditionalValue<string | number>
|
|
3223
3223
|
`;
|
|
3224
3224
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -36,7 +36,7 @@ var artifactsGenerated = (ctx) => {
|
|
|
36
36
|
${tick} ${quote(outdir, "/tokens")}: the css variables and js function to query your tokens
|
|
37
37
|
`,
|
|
38
38
|
!patterns.isEmpty() && !ctx.isTemplateLiteralSyntax && outdent`
|
|
39
|
-
${tick} ${quote(outdir, "/patterns")}: functions to implement apply common layout patterns
|
|
39
|
+
${tick} ${quote(outdir, "/patterns")}: functions to implement and apply common layout patterns
|
|
40
40
|
`,
|
|
41
41
|
!recipes.isEmpty() && outdent`
|
|
42
42
|
${tick} ${quote(outdir, "/recipes")}: functions to create multi-variant styles
|
|
@@ -345,7 +345,7 @@ function generateResetCss(ctx, scope = "") {
|
|
|
345
345
|
${selector}pre {
|
|
346
346
|
font-size: 1em;
|
|
347
347
|
--font-mono-fallback: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New';
|
|
348
|
-
font-family: var(--global-font-mono, var(--font-fallback));
|
|
348
|
+
font-family: var(--global-font-mono, var(--font-mono-fallback));
|
|
349
349
|
}
|
|
350
350
|
|
|
351
351
|
|
|
@@ -1256,7 +1256,7 @@ function generateRecipes(ctx) {
|
|
|
1256
1256
|
}
|
|
1257
1257
|
|
|
1258
1258
|
export type ${upperName}VariantProps = {
|
|
1259
|
-
[key in keyof ${upperName}Variant]?: ${compoundVariants?.length ? `${upperName}Variant[key]` : `ConditionalValue<${upperName}Variant[key]>`}
|
|
1259
|
+
[key in keyof ${upperName}Variant]?: ${compoundVariants?.length ? `${upperName}Variant[key]` : `ConditionalValue<${upperName}Variant[key]>`} | undefined
|
|
1260
1260
|
}
|
|
1261
1261
|
|
|
1262
1262
|
export interface ${upperName}Recipe {
|
|
@@ -1545,7 +1545,7 @@ export interface JsxFactoryOptions<TProps extends Dict> {
|
|
|
1545
1545
|
|
|
1546
1546
|
export type JsxRecipeProps<T extends ElementType, P extends Dict> = JsxHTMLProps<ComponentProps<T>, P>
|
|
1547
1547
|
|
|
1548
|
-
export type JsxElement<T extends ElementType, P> = T extends ${componentName}<infer A, infer B>
|
|
1548
|
+
export type JsxElement<T extends ElementType, P extends Dict> = T extends ${componentName}<infer A, infer B>
|
|
1549
1549
|
? ${componentName}<A, Pretty<DistributiveUnion<P, B>>>
|
|
1550
1550
|
: ${componentName}<T, P>
|
|
1551
1551
|
|
|
@@ -1852,7 +1852,7 @@ export interface JsxFactoryOptions<TProps extends Dict> {
|
|
|
1852
1852
|
|
|
1853
1853
|
export type JsxRecipeProps<T extends ElementType, P extends Dict> = JsxHTMLProps<ComponentProps<T>, P>;
|
|
1854
1854
|
|
|
1855
|
-
export type JsxElement<T extends ElementType, P> = T extends ${componentName}<infer A, infer B>
|
|
1855
|
+
export type JsxElement<T extends ElementType, P extends Dict> = T extends ${componentName}<infer A, infer B>
|
|
1856
1856
|
? ${componentName}<A, Pretty<DistributiveUnion<P, B>>>
|
|
1857
1857
|
: ${componentName}<T, P>
|
|
1858
1858
|
|
|
@@ -2162,7 +2162,7 @@ interface JsxFactoryOptions<TProps extends Dict> {
|
|
|
2162
2162
|
|
|
2163
2163
|
export type JsxRecipeProps<T extends ElementType, P extends Dict> = JsxHTMLProps<ComponentProps<T>, P>;
|
|
2164
2164
|
|
|
2165
|
-
export type JsxElement<T extends ElementType, P> = T extends ${componentName}<infer A, infer B>
|
|
2165
|
+
export type JsxElement<T extends ElementType, P extends Dict> = T extends ${componentName}<infer A, infer B>
|
|
2166
2166
|
? ${componentName}<A, Pretty<DistributiveUnion<P, B>>>
|
|
2167
2167
|
: ${componentName}<T, P>
|
|
2168
2168
|
|
|
@@ -2496,7 +2496,7 @@ export interface JsxFactoryOptions<TProps extends Dict> {
|
|
|
2496
2496
|
|
|
2497
2497
|
export type JsxRecipeProps<T extends ElementType, P extends Dict> = JsxHTMLProps<ComponentProps<T>, P>;
|
|
2498
2498
|
|
|
2499
|
-
export type JsxElement<T extends ElementType, P> = T extends ${componentName}<infer A, infer B>
|
|
2499
|
+
export type JsxElement<T extends ElementType, P extends Dict> = T extends ${componentName}<infer A, infer B>
|
|
2500
2500
|
? ${componentName}<A, Pretty<DistributiveUnion<P, B>>>
|
|
2501
2501
|
: ${componentName}<T, P>
|
|
2502
2502
|
|
|
@@ -3054,17 +3054,17 @@ var csstype_d_ts_default = {
|
|
|
3054
3054
|
|
|
3055
3055
|
// src/artifacts/generated/system-types.d.ts.json
|
|
3056
3056
|
var system_types_d_ts_default = {
|
|
3057
|
-
content: "import type { ConditionalValue, Conditions, Nested } from './conditions'\nimport type { PropertiesFallback } from './csstype'\nimport type { SystemProperties, CssVarProperties } from './style-props'\n\ntype String = string & {}\ntype Number = number & {}\n\nexport type Pretty<T> = { [K in keyof T]: T[K] } & {}\n\nexport type DistributiveOmit<T, K extends keyof any> = T extends unknown ? Omit<T, K> : never\n\nexport type DistributiveUnion<T, U> = {\n [K in keyof T]: K extends keyof U ? U[K] | T[K] : T[K]\n} & DistributiveOmit<U, keyof T>\n\nexport type Assign<T, U> = {\n [K in keyof T]: K extends keyof U ? U[K] : T[K]\n} & U\n\n/* -----------------------------------------------------------------------------\n * Native css properties\n * -----------------------------------------------------------------------------*/\n\nexport type CssProperty = keyof PropertiesFallback\n\nexport interface CssProperties extends PropertiesFallback<String | Number>, CssVarProperties {}\n\nexport interface CssKeyframes {\n [name: string]: {\n [time: string]: CssProperties\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Conditional css properties\n * -----------------------------------------------------------------------------*/\n\ntype MinimalNested<P> = {\n [K in keyof Conditions]?: Nested<P>\n}\n\ninterface GenericProperties {\n [key: string]: ConditionalValue<String | Number | boolean>\n}\n\n/* -----------------------------------------------------------------------------\n * Native css props\n * -----------------------------------------------------------------------------*/\n\nexport type NestedCssProperties = Nested<CssProperties>\n\nexport type SystemStyleObject = Nested<SystemProperties & CssVarProperties>\n\nexport interface GlobalStyleObject {\n [selector: string]: SystemStyleObject\n}\nexport interface ExtendableGlobalStyleObject {\n [selector: string]: SystemStyleObject | undefined\n extend?: GlobalStyleObject | undefined\n}\n\
|
|
3057
|
+
content: "import type { ConditionalValue, Conditions, Nested } from './conditions'\nimport type { PropertiesFallback } from './csstype'\nimport type { SystemProperties, CssVarProperties } from './style-props'\n\ntype String = string & {}\ntype Number = number & {}\n\nexport type Pretty<T> = { [K in keyof T]: T[K] } & {}\n\nexport type DistributiveOmit<T, K extends keyof any> = T extends unknown ? Omit<T, K> : never\n\nexport type DistributiveUnion<T, U> = {\n [K in keyof T]: K extends keyof U ? U[K] | T[K] : T[K]\n} & DistributiveOmit<U, keyof T>\n\nexport type Assign<T, U> = {\n [K in keyof T]: K extends keyof U ? U[K] : T[K]\n} & U\n\n/* -----------------------------------------------------------------------------\n * Native css properties\n * -----------------------------------------------------------------------------*/\n\nexport type CssProperty = keyof PropertiesFallback\n\nexport interface CssProperties extends PropertiesFallback<String | Number>, CssVarProperties {}\n\nexport interface CssKeyframes {\n [name: string]: {\n [time: string]: CssProperties\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Conditional css properties\n * -----------------------------------------------------------------------------*/\n\ntype MinimalNested<P> = {\n [K in keyof Conditions]?: Nested<P>\n}\n\ninterface GenericProperties {\n [key: string]: ConditionalValue<String | Number | boolean>\n}\n\n/* -----------------------------------------------------------------------------\n * Native css props\n * -----------------------------------------------------------------------------*/\n\nexport type NestedCssProperties = Nested<CssProperties>\n\nexport type SystemStyleObject = Nested<SystemProperties & CssVarProperties>\n\nexport interface GlobalStyleObject {\n [selector: string]: SystemStyleObject\n}\nexport interface ExtendableGlobalStyleObject {\n [selector: string]: SystemStyleObject | undefined\n extend?: GlobalStyleObject | undefined\n}\n\ntype FilterStyleObject<P extends string> = {\n [K in P]?: K extends keyof SystemStyleObject ? SystemStyleObject[K] : unknown\n}\n\nexport type CompositionStyleObject<Property extends string> = Nested<FilterStyleObject<Property> & CssVarProperties>\n\n/* -----------------------------------------------------------------------------\n * Jsx style props\n * -----------------------------------------------------------------------------*/\ninterface WithCss {\n css?: SystemStyleObject\n}\ntype StyleProps = SystemProperties & MinimalNested<SystemStyleObject>\n\nexport type JsxStyleProps = StyleProps & WithCss\n\nexport interface PatchedHTMLProps {\n htmlWidth?: string | number\n htmlHeight?: string | number\n htmlTranslate?: 'yes' | 'no' | undefined\n htmlContent?: string\n}\n\nexport type OmittedHTMLProps = 'color' | 'translate' | 'transition' | 'width' | 'height' | 'content'\n\ntype WithHTMLProps<T> = DistributiveOmit<T, OmittedHTMLProps> & PatchedHTMLProps\n\nexport type JsxHTMLProps<T extends Record<string, any>, P extends Record<string, any> = {}> = Assign<\n WithHTMLProps<T>,\n P\n>\n"
|
|
3058
3058
|
};
|
|
3059
3059
|
|
|
3060
3060
|
// src/artifacts/generated/composition.d.ts.json
|
|
3061
3061
|
var composition_d_ts_default = {
|
|
3062
|
-
content: "import type { CompositionStyleObject } from './system-types'\
|
|
3062
|
+
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 | 'fontVariationSettings'\n | 'fontVariantPosition'\n | 'fontVariantCaps'\n | 'fontVariantNumeric'\n | 'fontVariantAlternates'\n | 'fontVariantLigatures'\n | 'fontFamily'\n | 'fontWeight'\n | 'fontSynthesis'\n | 'fontStyle'\n | 'fontVariant'\n | 'lineHeight'\n | 'letterSpacing'\n | 'textDecoration'\n | 'textTransform'\n | 'textIndent'\n | 'textDecorationColor'\n | 'textDecorationLine'\n | 'textDecorationStyle'\n | 'textEmphasisColor'\n | 'textEmphasisPosition'\n | 'textEmphasisStyle'\n | 'hyphenateCharacter'\n | 'textOrientation'\n | 'textOverflow'\n | 'textRendering'\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"
|
|
3063
3063
|
};
|
|
3064
3064
|
|
|
3065
3065
|
// src/artifacts/generated/recipe.d.ts.json
|
|
3066
3066
|
var recipe_d_ts_default = {
|
|
3067
|
-
content: "import type { SystemStyleObject, DistributiveOmit } from './system-types'\n\ntype
|
|
3067
|
+
content: "import type { SystemStyleObject, DistributiveOmit, Pretty } from './system-types'\n\ntype StringToBoolean<T> = T extends 'true' | 'false' ? boolean : T\n\nexport type RecipeVariantRecord = Record<any, Record<any, SystemStyleObject>>\n\nexport type RecipeSelection<T extends RecipeVariantRecord> = keyof any extends keyof T\n ? {}\n : {\n [K in keyof T]?: StringToBoolean<keyof T[K]> | undefined\n }\n\nexport type RecipeVariantFn<T extends RecipeVariantRecord> = (props?: RecipeSelection<T>) => string\n\nexport type RecipeVariantProps<\n T extends RecipeVariantFn<RecipeVariantRecord> | SlotRecipeVariantFn<string, SlotRecipeVariantRecord<string>>,\n> = Pretty<Parameters<T>[0]>\n\ntype RecipeVariantMap<T extends RecipeVariantRecord> = {\n [K in keyof T]: Array<keyof T[K]>\n}\n\n/* -----------------------------------------------------------------------------\n * Recipe / Standard\n * -----------------------------------------------------------------------------*/\n\nexport interface RecipeRuntimeFn<T extends RecipeVariantRecord> extends RecipeVariantFn<T> {\n __type: RecipeSelection<T>\n variantKeys: (keyof T)[]\n variantMap: RecipeVariantMap<T>\n raw: (props?: RecipeSelection<T>) => SystemStyleObject\n config: RecipeConfig<T>\n splitVariantProps<Props extends RecipeSelection<T>>(\n props: Props,\n ): [RecipeSelection<T>, Pretty<DistributiveOmit<Props, keyof T>>]\n}\n\ntype OneOrMore<T> = T | Array<T>\n\nexport type RecipeCompoundSelection<T> = {\n [K in keyof T]?: OneOrMore<StringToBoolean<keyof T[K]>> | undefined\n}\n\nexport type RecipeCompoundVariant<T> = T & {\n css: SystemStyleObject\n}\n\nexport interface RecipeDefinition<T extends RecipeVariantRecord> {\n /**\n * The base styles of the recipe.\n */\n base?: SystemStyleObject\n /**\n * The multi-variant styles of the recipe.\n */\n variants?: T\n /**\n * The default variants of the recipe.\n */\n defaultVariants?: RecipeSelection<T>\n /**\n * The styles to apply when a combination of variants is selected.\n */\n compoundVariants?: Pretty<RecipeCompoundVariant<RecipeCompoundSelection<T>>>[]\n}\n\nexport type RecipeCreatorFn = <T extends RecipeVariantRecord>(config: RecipeDefinition<T>) => RecipeRuntimeFn<T>\n\ninterface RecipeConfigMeta {\n /**\n * The name of the recipe.\n */\n className: string\n /**\n * The description of the recipe. This will be used in the JSDoc comment.\n */\n description?: string\n /**\n * The jsx elements to track for this recipe. Can be string or Regexp.\n *\n * @default capitalize(recipe.name)\n * @example ['Button', 'Link', /Button$/]\n */\n jsx?: Array<string | RegExp>\n}\n\nexport interface RecipeConfig<T extends RecipeVariantRecord = RecipeVariantRecord>\n extends RecipeDefinition<T>,\n RecipeConfigMeta {}\n\n/* -----------------------------------------------------------------------------\n * Recipe / Slot\n * -----------------------------------------------------------------------------*/\n\ntype SlotRecord<S extends string, T> = Partial<Record<S, T>>\n\nexport type SlotRecipeVariantRecord<S extends string> = Record<any, Record<any, SlotRecord<S, SystemStyleObject>>>\n\nexport type SlotRecipeVariantFn<S extends string, T extends RecipeVariantRecord> = (\n props?: RecipeSelection<T>,\n) => SlotRecord<S, string>\n\nexport interface SlotRecipeRuntimeFn<S extends string, T extends SlotRecipeVariantRecord<S>>\n extends SlotRecipeVariantFn<S, T> {\n raw: (props?: RecipeSelection<T>) => Record<S, SystemStyleObject>\n variantKeys: (keyof T)[]\n variantMap: RecipeVariantMap<T>\n splitVariantProps<Props extends RecipeSelection<T>>(props: Props): [RecipeSelection<T>, Pretty<Omit<Props, keyof T>>]\n}\n\nexport type SlotRecipeCompoundVariant<S extends string, T> = T & {\n css: SlotRecord<S, SystemStyleObject>\n}\n\nexport interface SlotRecipeDefinition<S extends string, T extends SlotRecipeVariantRecord<S>> {\n /**\n * The parts/slots of the recipe.\n */\n slots: S[] | Readonly<S[]>\n /**\n * The base styles of the recipe.\n */\n base?: SlotRecord<S, SystemStyleObject>\n /**\n * The multi-variant styles of the recipe.\n */\n variants?: T\n /**\n * The default variants of the recipe.\n */\n defaultVariants?: RecipeSelection<T>\n /**\n * The styles to apply when a combination of variants is selected.\n */\n compoundVariants?: Pretty<SlotRecipeCompoundVariant<S, RecipeCompoundSelection<T>>>[]\n}\n\nexport type SlotRecipeCreatorFn = <S extends string, T extends SlotRecipeVariantRecord<S>>(\n config: SlotRecipeDefinition<S, T>,\n) => SlotRecipeRuntimeFn<S, T>\n\nexport type SlotRecipeConfig<\n S extends string = string,\n T extends SlotRecipeVariantRecord<S> = SlotRecipeVariantRecord<S>,\n> = SlotRecipeDefinition<S, T> & RecipeConfigMeta\n"
|
|
3068
3068
|
};
|
|
3069
3069
|
|
|
3070
3070
|
// src/artifacts/generated/pattern.d.ts.json
|
|
@@ -3156,7 +3156,6 @@ function generatePropTypes(ctx) {
|
|
|
3156
3156
|
config: { strictTokens },
|
|
3157
3157
|
utility
|
|
3158
3158
|
} = ctx;
|
|
3159
|
-
const strictText = `${strictTokens ? "" : " | CssValue<T>"}`;
|
|
3160
3159
|
const result = [
|
|
3161
3160
|
outdent41`
|
|
3162
3161
|
${ctx.file.importType("ConditionalValue", "./conditions")}
|
|
@@ -3173,7 +3172,7 @@ function generatePropTypes(ctx) {
|
|
|
3173
3172
|
result.push(`
|
|
3174
3173
|
type CssValue<T> = T extends keyof CssProperties ? CssProperties[T] : never
|
|
3175
3174
|
|
|
3176
|
-
type Shorthand<T> = T extends keyof PropertyValueTypes ? PropertyValueTypes[T]${
|
|
3175
|
+
type Shorthand<T> = T extends keyof PropertyValueTypes ? PropertyValueTypes[T]${strictTokens ? "" : " | CssValue<T>"} : CssValue<T>
|
|
3177
3176
|
|
|
3178
3177
|
export interface PropertyTypes extends PropertyValueTypes {
|
|
3179
3178
|
`);
|
|
@@ -3184,10 +3183,11 @@ function generatePropTypes(ctx) {
|
|
|
3184
3183
|
return outdent41`
|
|
3185
3184
|
${result.join("\n")}
|
|
3186
3185
|
|
|
3186
|
+
${strictTokens ? `type FilterString<T> = T extends \`\${infer _}\` ? T : never;` : ""}
|
|
3187
3187
|
export type PropertyValue<T extends string> = T extends keyof PropertyTypes
|
|
3188
|
-
? ConditionalValue<PropertyTypes[T]
|
|
3188
|
+
? ConditionalValue<${strictTokens ? "FilterString<PropertyTypes[T]>" : "PropertyTypes[T] | CssValue<T> | (string & {})"}>
|
|
3189
3189
|
: T extends keyof CssProperties
|
|
3190
|
-
? ConditionalValue<CssProperties[T]
|
|
3190
|
+
? ConditionalValue<${strictTokens ? "FilterString<CssProperties[T]>" : "CssProperties[T] | (string & {})"}>
|
|
3191
3191
|
: ConditionalValue<string | number>
|
|
3192
3192
|
`;
|
|
3193
3193
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pandacss/generator",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "The css generator for css panda",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -32,17 +32,17 @@
|
|
|
32
32
|
"pluralize": "8.0.0",
|
|
33
33
|
"postcss": "^8.4.31",
|
|
34
34
|
"ts-pattern": "5.0.5",
|
|
35
|
-
"@pandacss/core": "0.
|
|
36
|
-
"@pandacss/is-valid-prop": "0.
|
|
37
|
-
"@pandacss/logger": "0.
|
|
38
|
-
"@pandacss/shared": "0.
|
|
39
|
-
"@pandacss/token-dictionary": "0.
|
|
40
|
-
"@pandacss/types": "0.
|
|
35
|
+
"@pandacss/core": "0.19.0",
|
|
36
|
+
"@pandacss/is-valid-prop": "0.19.0",
|
|
37
|
+
"@pandacss/logger": "0.19.0",
|
|
38
|
+
"@pandacss/shared": "0.19.0",
|
|
39
|
+
"@pandacss/token-dictionary": "0.19.0",
|
|
40
|
+
"@pandacss/types": "0.19.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@types/pluralize": "0.0.
|
|
43
|
+
"@types/pluralize": "0.0.33",
|
|
44
44
|
"hookable": "5.5.3",
|
|
45
|
-
"@pandacss/fixture": "0.
|
|
45
|
+
"@pandacss/fixture": "0.19.0"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"build": "tsup src/index.ts --format=esm,cjs --dts",
|