@pandacss/generator 0.0.0-dev-20230922200913 → 0.0.0-dev-20230924234651

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.d.mts CHANGED
@@ -1,12 +1,12 @@
1
- import * as _pandacss_types_dist_shared from '@pandacss/types/dist/shared';
2
1
  import * as _pandacss_core from '@pandacss/core';
3
2
  import * as _pandacss_token_dictionary from '@pandacss/token-dictionary';
4
3
  import * as _pandacss_types from '@pandacss/types';
5
4
  import { ConfigResultWithHooks, TSConfig } from '@pandacss/types';
5
+ import * as _pandacss_types_dist_pattern from '@pandacss/types/dist/pattern';
6
6
 
7
7
  declare const getEngine: (conf: ConfigResultWithHooks) => {
8
8
  patterns: {
9
- getConfig: (name: string) => _pandacss_types.PatternConfig;
9
+ getConfig: (name: string) => _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
10
10
  transform: (name: string, data: _pandacss_types.Dict) => _pandacss_types.SystemStyleObject;
11
11
  getNames: (name: string) => {
12
12
  upperName: string;
@@ -18,7 +18,7 @@ declare const getEngine: (conf: ConfigResultWithHooks) => {
18
18
  details: {
19
19
  props: string[];
20
20
  blocklistType: string;
21
- config: _pandacss_types.PatternConfig;
21
+ config: _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
22
22
  type: "pattern";
23
23
  match: RegExp;
24
24
  jsx: (string | RegExp)[];
@@ -32,7 +32,7 @@ declare const getEngine: (conf: ConfigResultWithHooks) => {
32
32
  filter: (jsxName: string) => {
33
33
  props: string[];
34
34
  blocklistType: string;
35
- config: _pandacss_types.PatternConfig;
35
+ config: _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
36
36
  type: "pattern";
37
37
  match: RegExp;
38
38
  jsx: (string | RegExp)[];
@@ -106,7 +106,7 @@ declare const getEngine: (conf: ConfigResultWithHooks) => {
106
106
  layerNames: string[];
107
107
  hooks: _pandacss_types.PandaHookable;
108
108
  path: string;
109
- config: _pandacss_types_dist_shared.UnwrapExtend<_pandacss_types.RequiredBy<_pandacss_types.Config, "outdir" | "cwd" | "include">>;
109
+ config: _pandacss_types.UserConfig;
110
110
  tsconfig?: TSConfig | undefined;
111
111
  tsOptions?: _pandacss_types.ConfigTsOptions | undefined;
112
112
  tsconfigFile?: string | undefined;
@@ -187,7 +187,7 @@ declare const createGenerator: (conf: ConfigResultWithHooks) => {
187
187
  nodes: ({
188
188
  props: string[];
189
189
  blocklistType: string;
190
- config: _pandacss_types.PatternConfig;
190
+ config: _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
191
191
  type: "pattern";
192
192
  match: RegExp;
193
193
  jsx: (string | RegExp)[];
@@ -206,7 +206,7 @@ declare const createGenerator: (conf: ConfigResultWithHooks) => {
206
206
  dashName: string;
207
207
  jsxName: string;
208
208
  match: RegExp;
209
- config: _pandacss_types.RecipeConfig | _pandacss_types.SlotRecipeConfig;
209
+ config: _pandacss_types.RecipeConfig<_pandacss_types.RecipeVariantRecord> | _pandacss_types.SlotRecipeConfig;
210
210
  splitProps: (props: _pandacss_types.Dict) => [_pandacss_types.Dict, _pandacss_types.Dict];
211
211
  props: string[];
212
212
  })[];
@@ -221,14 +221,14 @@ declare const createGenerator: (conf: ConfigResultWithHooks) => {
221
221
  dashName: string;
222
222
  jsxName: string;
223
223
  match: RegExp;
224
- config: _pandacss_types.RecipeConfig | _pandacss_types.SlotRecipeConfig;
224
+ config: _pandacss_types.RecipeConfig<_pandacss_types.RecipeVariantRecord> | _pandacss_types.SlotRecipeConfig;
225
225
  splitProps: (props: _pandacss_types.Dict) => [_pandacss_types.Dict, _pandacss_types.Dict];
226
226
  props: string[];
227
227
  }[];
228
228
  getPatternsByJsxName: (jsxName: string) => {
229
229
  props: string[];
230
230
  blocklistType: string;
231
- config: _pandacss_types.PatternConfig;
231
+ config: _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
232
232
  type: "pattern";
233
233
  match: RegExp;
234
234
  jsx: (string | RegExp)[];
@@ -242,7 +242,7 @@ declare const createGenerator: (conf: ConfigResultWithHooks) => {
242
242
  tsOptions: _pandacss_types.ConfigTsOptions | undefined;
243
243
  };
244
244
  patterns: {
245
- getConfig: (name: string) => _pandacss_types.PatternConfig;
245
+ getConfig: (name: string) => _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
246
246
  transform: (name: string, data: _pandacss_types.Dict) => _pandacss_types.SystemStyleObject;
247
247
  getNames: (name: string) => {
248
248
  upperName: string;
@@ -254,7 +254,7 @@ declare const createGenerator: (conf: ConfigResultWithHooks) => {
254
254
  details: {
255
255
  props: string[];
256
256
  blocklistType: string;
257
- config: _pandacss_types.PatternConfig;
257
+ config: _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
258
258
  type: "pattern";
259
259
  match: RegExp;
260
260
  jsx: (string | RegExp)[];
@@ -268,7 +268,7 @@ declare const createGenerator: (conf: ConfigResultWithHooks) => {
268
268
  filter: (jsxName: string) => {
269
269
  props: string[];
270
270
  blocklistType: string;
271
- config: _pandacss_types.PatternConfig;
271
+ config: _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
272
272
  type: "pattern";
273
273
  match: RegExp;
274
274
  jsx: (string | RegExp)[];
@@ -342,7 +342,7 @@ declare const createGenerator: (conf: ConfigResultWithHooks) => {
342
342
  layerNames: string[];
343
343
  hooks: _pandacss_types.PandaHookable;
344
344
  path: string;
345
- config: _pandacss_types_dist_shared.UnwrapExtend<_pandacss_types.RequiredBy<_pandacss_types.Config, "outdir" | "cwd" | "include">>;
345
+ config: _pandacss_types.UserConfig;
346
346
  tsconfig?: TSConfig | undefined;
347
347
  tsOptions?: _pandacss_types.ConfigTsOptions | undefined;
348
348
  tsconfigFile?: string | undefined;
package/dist/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- import * as _pandacss_types_dist_shared from '@pandacss/types/dist/shared';
2
1
  import * as _pandacss_core from '@pandacss/core';
3
2
  import * as _pandacss_token_dictionary from '@pandacss/token-dictionary';
4
3
  import * as _pandacss_types from '@pandacss/types';
5
4
  import { ConfigResultWithHooks, TSConfig } from '@pandacss/types';
5
+ import * as _pandacss_types_dist_pattern from '@pandacss/types/dist/pattern';
6
6
 
7
7
  declare const getEngine: (conf: ConfigResultWithHooks) => {
8
8
  patterns: {
9
- getConfig: (name: string) => _pandacss_types.PatternConfig;
9
+ getConfig: (name: string) => _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
10
10
  transform: (name: string, data: _pandacss_types.Dict) => _pandacss_types.SystemStyleObject;
11
11
  getNames: (name: string) => {
12
12
  upperName: string;
@@ -18,7 +18,7 @@ declare const getEngine: (conf: ConfigResultWithHooks) => {
18
18
  details: {
19
19
  props: string[];
20
20
  blocklistType: string;
21
- config: _pandacss_types.PatternConfig;
21
+ config: _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
22
22
  type: "pattern";
23
23
  match: RegExp;
24
24
  jsx: (string | RegExp)[];
@@ -32,7 +32,7 @@ declare const getEngine: (conf: ConfigResultWithHooks) => {
32
32
  filter: (jsxName: string) => {
33
33
  props: string[];
34
34
  blocklistType: string;
35
- config: _pandacss_types.PatternConfig;
35
+ config: _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
36
36
  type: "pattern";
37
37
  match: RegExp;
38
38
  jsx: (string | RegExp)[];
@@ -106,7 +106,7 @@ declare const getEngine: (conf: ConfigResultWithHooks) => {
106
106
  layerNames: string[];
107
107
  hooks: _pandacss_types.PandaHookable;
108
108
  path: string;
109
- config: _pandacss_types_dist_shared.UnwrapExtend<_pandacss_types.RequiredBy<_pandacss_types.Config, "outdir" | "cwd" | "include">>;
109
+ config: _pandacss_types.UserConfig;
110
110
  tsconfig?: TSConfig | undefined;
111
111
  tsOptions?: _pandacss_types.ConfigTsOptions | undefined;
112
112
  tsconfigFile?: string | undefined;
@@ -187,7 +187,7 @@ declare const createGenerator: (conf: ConfigResultWithHooks) => {
187
187
  nodes: ({
188
188
  props: string[];
189
189
  blocklistType: string;
190
- config: _pandacss_types.PatternConfig;
190
+ config: _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
191
191
  type: "pattern";
192
192
  match: RegExp;
193
193
  jsx: (string | RegExp)[];
@@ -206,7 +206,7 @@ declare const createGenerator: (conf: ConfigResultWithHooks) => {
206
206
  dashName: string;
207
207
  jsxName: string;
208
208
  match: RegExp;
209
- config: _pandacss_types.RecipeConfig | _pandacss_types.SlotRecipeConfig;
209
+ config: _pandacss_types.RecipeConfig<_pandacss_types.RecipeVariantRecord> | _pandacss_types.SlotRecipeConfig;
210
210
  splitProps: (props: _pandacss_types.Dict) => [_pandacss_types.Dict, _pandacss_types.Dict];
211
211
  props: string[];
212
212
  })[];
@@ -221,14 +221,14 @@ declare const createGenerator: (conf: ConfigResultWithHooks) => {
221
221
  dashName: string;
222
222
  jsxName: string;
223
223
  match: RegExp;
224
- config: _pandacss_types.RecipeConfig | _pandacss_types.SlotRecipeConfig;
224
+ config: _pandacss_types.RecipeConfig<_pandacss_types.RecipeVariantRecord> | _pandacss_types.SlotRecipeConfig;
225
225
  splitProps: (props: _pandacss_types.Dict) => [_pandacss_types.Dict, _pandacss_types.Dict];
226
226
  props: string[];
227
227
  }[];
228
228
  getPatternsByJsxName: (jsxName: string) => {
229
229
  props: string[];
230
230
  blocklistType: string;
231
- config: _pandacss_types.PatternConfig;
231
+ config: _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
232
232
  type: "pattern";
233
233
  match: RegExp;
234
234
  jsx: (string | RegExp)[];
@@ -242,7 +242,7 @@ declare const createGenerator: (conf: ConfigResultWithHooks) => {
242
242
  tsOptions: _pandacss_types.ConfigTsOptions | undefined;
243
243
  };
244
244
  patterns: {
245
- getConfig: (name: string) => _pandacss_types.PatternConfig;
245
+ getConfig: (name: string) => _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
246
246
  transform: (name: string, data: _pandacss_types.Dict) => _pandacss_types.SystemStyleObject;
247
247
  getNames: (name: string) => {
248
248
  upperName: string;
@@ -254,7 +254,7 @@ declare const createGenerator: (conf: ConfigResultWithHooks) => {
254
254
  details: {
255
255
  props: string[];
256
256
  blocklistType: string;
257
- config: _pandacss_types.PatternConfig;
257
+ config: _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
258
258
  type: "pattern";
259
259
  match: RegExp;
260
260
  jsx: (string | RegExp)[];
@@ -268,7 +268,7 @@ declare const createGenerator: (conf: ConfigResultWithHooks) => {
268
268
  filter: (jsxName: string) => {
269
269
  props: string[];
270
270
  blocklistType: string;
271
- config: _pandacss_types.PatternConfig;
271
+ config: _pandacss_types.PatternConfig<_pandacss_types_dist_pattern.PatternProperties>;
272
272
  type: "pattern";
273
273
  match: RegExp;
274
274
  jsx: (string | RegExp)[];
@@ -342,7 +342,7 @@ declare const createGenerator: (conf: ConfigResultWithHooks) => {
342
342
  layerNames: string[];
343
343
  hooks: _pandacss_types.PandaHookable;
344
344
  path: string;
345
- config: _pandacss_types_dist_shared.UnwrapExtend<_pandacss_types.RequiredBy<_pandacss_types.Config, "outdir" | "cwd" | "include">>;
345
+ config: _pandacss_types.UserConfig;
346
346
  tsconfig?: TSConfig | undefined;
347
347
  tsOptions?: _pandacss_types.ConfigTsOptions | undefined;
348
348
  tsconfigFile?: string | undefined;
package/dist/index.js CHANGED
@@ -572,9 +572,11 @@ function generateConditions(ctx) {
572
572
  dts: import_outdent2.default`
573
573
  ${ctx.file.importType("AnySelector, Selectors", "./selectors")}
574
574
 
575
- export type Conditions = {
575
+ export interface Conditions {
576
576
  ${keys.map(
577
- (key) => ` ${key === "base" ? `/** The base (=no conditions) styles to apply */` : ctx.conditions.get(key) ? `/** \`${ctx.conditions.get(key)}\` */` : ""}${JSON.stringify(key)}: string`
577
+ (key) => ` ${key === "base" ? `/** The base (=no conditions) styles to apply */
578
+ ` : ctx.conditions.get(key) ? `/** \`${ctx.conditions.get(key)}\` */
579
+ ` : ""} ${JSON.stringify(key)}: string`
578
580
  ).join("\n")}
579
581
  }
580
582
 
@@ -979,7 +981,7 @@ function generatePattern(ctx) {
979
981
  ${ctx.file.importType("DistributiveOmit", "../types/system-types")}
980
982
  ${ctx.file.importType("Tokens", "../tokens/index")}
981
983
 
982
- export type ${upperName}Properties = {
984
+ export interface ${upperName}Properties {
983
985
  ${Object.keys(properties ?? {}).map((key) => {
984
986
  const value = properties[key];
985
987
  return (0, import_ts_pattern2.match)(value).with({ type: "property" }, (value2) => {
@@ -999,7 +1001,7 @@ function generatePattern(ctx) {
999
1001
 
1000
1002
  ${strict ? import_outdent10.outdent`export declare function ${baseName}(styles: ${upperName}Properties): string` : import_outdent10.outdent`
1001
1003
 
1002
- type ${upperName}Styles = ${upperName}Properties & DistributiveOmit<SystemStyleObject, keyof ${upperName}Properties ${blocklistType}>
1004
+ interface ${upperName}Styles extends ${upperName}Properties, DistributiveOmit<SystemStyleObject, keyof ${upperName}Properties ${blocklistType}> {}
1003
1005
 
1004
1006
  interface ${upperName}PatternFn {
1005
1007
  (styles?: ${upperName}Styles): string
@@ -1148,7 +1150,7 @@ function generateRecipes(ctx) {
1148
1150
  ${ctx.file.importType("Pretty", "../types/helpers")}
1149
1151
  ${ctx.file.importType("DistributiveOmit", "../types/system-types")}
1150
1152
 
1151
- type ${upperName}Variant = {
1153
+ interface ${upperName}Variant {
1152
1154
  ${Object.keys(variantKeyMap).map((key) => {
1153
1155
  const values = variantKeyMap[key];
1154
1156
  if (values.every(isBooleanValue))
@@ -1161,9 +1163,7 @@ function generateRecipes(ctx) {
1161
1163
  [key in keyof ${upperName}Variant]: Array<${upperName}Variant[key]>
1162
1164
  }
1163
1165
 
1164
- export type ${upperName}VariantProps = {
1165
- [key in keyof ${upperName}Variant]?: ${compoundVariants?.length ? `${upperName}Variant[key]` : `ConditionalValue<${upperName}Variant[key]>`}
1166
- }
1166
+ export interface ${upperName}VariantProps extends Partial<${upperName}Variant> {}
1167
1167
 
1168
1168
  interface ${upperName}Recipe {
1169
1169
  __type: ${upperName}VariantProps
@@ -1379,7 +1379,7 @@ function generatePreactJsxPattern(ctx) {
1379
1379
  ${ctx.file.importType("DistributiveOmit", "../types/system-types")}
1380
1380
  ${ctx.file.importType(typeName, "../types/jsx")}
1381
1381
 
1382
- export type ${upperName}Props = ${upperName}Properties & DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}>
1382
+ export interface ${upperName}Props extends ${upperName}Properties, DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}> {}
1383
1383
 
1384
1384
  ${description ? `/** ${description} */` : ""}
1385
1385
  export declare const ${jsxName}: FunctionComponent<${upperName}Props>
@@ -1406,12 +1406,12 @@ type ElementType = keyof JSX.IntrinsicElements
1406
1406
 
1407
1407
  type Dict = Record<string, unknown>
1408
1408
 
1409
- export type ${componentName}<T extends ElementType, P extends Dict = {}> = {
1409
+ export interface ${componentName}<T extends ElementType, P extends Dict = {}> {
1410
1410
  (props: JsxHTMLProps<ComponentProps<T>, P> & JsxStyleProps): JSX.Element
1411
1411
  displayName?: string
1412
1412
  }
1413
1413
 
1414
- type RecipeFn = { __type: any }
1414
+ interface RecipeFn = { __type: any }
1415
1415
 
1416
1416
  interface JsxFactory {
1417
1417
  ${styleProps === "none" ? "" : `<T extends ElementType>(component: T): ${componentName}<T, {}>`}
@@ -1599,7 +1599,7 @@ function generateQwikJsxPattern(ctx) {
1599
1599
  import { h } from '@builder.io/qwik'
1600
1600
  ${ctx.file.import(factoryName, "./factory")}
1601
1601
  ${ctx.file.import(styleFnName, `../patterns/${dashName}`)}
1602
-
1602
+
1603
1603
  export const ${jsxName} = function ${jsxName}(props) {
1604
1604
  ${(0, import_ts_pattern5.match)(props.length).with(
1605
1605
  0,
@@ -1622,8 +1622,8 @@ function generateQwikJsxPattern(ctx) {
1622
1622
  ${ctx.file.importType(typeName, "../types/jsx")}
1623
1623
  ${ctx.file.importType("Assign, DistributiveOmit", "../types/system-types")}
1624
1624
 
1625
- export type ${upperName}Props = Assign<${typeName}<'${jsxElement}'>, DistributiveOmit<${upperName}Properties, ${blocklistType || '""'}>>
1626
-
1625
+ export interface ${upperName}Props extends Assign<${typeName}<'${jsxElement}'>, DistributiveOmit<${upperName}Properties, ${blocklistType || '""'}>> {}
1626
+
1627
1627
  ${description ? `/** ${description} */` : ""}
1628
1628
  export declare const ${jsxName}: Component<${upperName}Props>
1629
1629
  `
@@ -1655,9 +1655,9 @@ type ComponentProps<T extends ElementType> = T extends keyof QwikIntrinsicElemen
1655
1655
 
1656
1656
  type Dict = Record<string, unknown>
1657
1657
 
1658
- export type ${componentName}<T extends ElementType, P extends Dict = {}> = Component<Assign<ComponentProps<T> & PatchedHTMLProps, Assign<JsxStyleProps, P>>>
1658
+ export interface ${componentName}<T extends ElementType, P extends Dict = {}> extends Component<Assign<ComponentProps<T>, PatchedHTMLProps, Assign<JsxStyleProps, P>>> {}
1659
1659
 
1660
- type RecipeFn = { __type: any }
1660
+ interface RecipeFn { __type: any }
1661
1661
 
1662
1662
  interface JsxFactory {
1663
1663
  ${styleProps === "none" ? "" : `<T extends ElementType>(component: T): ${componentName}<T, {}>`}
@@ -1909,7 +1909,7 @@ function generateReactJsxPattern(ctx) {
1909
1909
  ${ctx.file.importType(typeName, "../types/jsx")}
1910
1910
  ${ctx.file.importType("DistributiveOmit", "../types/system-types")}
1911
1911
 
1912
- export type ${upperName}Props = ${upperName}Properties & DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}>
1912
+ export interface ${upperName}Props extends ${upperName}Properties, DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}> {}
1913
1913
 
1914
1914
  ${description ? `/** ${description} */` : ""}
1915
1915
  export declare const ${jsxName}: FunctionComponent<${upperName}Props>
@@ -1938,12 +1938,12 @@ type ComponentProps<T extends ElementType> = DistributiveOmit<ComponentPropsWith
1938
1938
  ref?: Ref<ElementRef<T>>
1939
1939
  }
1940
1940
 
1941
- export type ${componentName}<T extends ElementType, P extends Dict = {}> = {
1941
+ export interface ${componentName}<T extends ElementType, P extends Dict = {}> {
1942
1942
  (props: JsxHTMLProps<ComponentProps<T>, Assign<JsxStyleProps, P>>): JSX.Element
1943
1943
  displayName?: string
1944
1944
  }
1945
1945
 
1946
- type RecipeFn = { __type: any }
1946
+ interface RecipeFn { __type: any }
1947
1947
 
1948
1948
  interface JsxFactory {
1949
1949
  ${styleProps === "none" ? "" : `<T extends ElementType>(component: T): ${componentName}<T, {}>`}
@@ -2170,7 +2170,7 @@ function generateSolidJsxPattern(ctx) {
2170
2170
  ${ctx.file.importType(typeName, "../types/jsx")}
2171
2171
  ${ctx.file.importType("DistributiveOmit", "../types/system-types")}
2172
2172
 
2173
- export type ${upperName}Props = ${upperName}Properties & DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}>
2173
+ export interface ${upperName}Props extends ${upperName}Properties, DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}> {}
2174
2174
 
2175
2175
  ${description ? `/** ${description} */` : ""}
2176
2176
  export declare const ${jsxName}: Component<${upperName}Props>
@@ -2197,12 +2197,12 @@ type Dict = Record<string, unknown>
2197
2197
 
2198
2198
  type ElementType<P = any> = keyof JSX.IntrinsicElements | Component<P>
2199
2199
 
2200
- export type ${componentName}<T extends ElementType, P extends Dict = {}> = {
2200
+ export interface ${componentName}<T extends ElementType, P extends Dict = {}> {
2201
2201
  (props: JsxHTMLProps<ComponentProps<T>, Assign<JsxStyleProps, P>>): JSX.Element
2202
2202
  displayName?: string
2203
2203
  }
2204
2204
 
2205
- type RecipeFn = { __type: any }
2205
+ interface RecipeFn { __type: any }
2206
2206
 
2207
2207
  interface JsxFactory {
2208
2208
  ${styleProps === "none" ? "" : `<T extends ElementType>(component: T): ${componentName}<T, {}>`}
@@ -2481,7 +2481,7 @@ function generateVueJsxPattern(ctx) {
2481
2481
  ${ctx.file.importType(typeName, "../types/jsx")}
2482
2482
  ${ctx.file.importType("DistributiveOmit", "../types/system-types")}
2483
2483
 
2484
- export type ${upperName}Props = ${upperName}Properties & DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}>
2484
+ export interface ${upperName}Props extends ${upperName}Properties, DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}> {}
2485
2485
 
2486
2486
  ${description ? `/** ${description} */` : ""}
2487
2487
  export declare const ${jsxName}: FunctionalComponent<${upperName}Props>
@@ -2515,11 +2515,11 @@ type ComponentProps<T extends ElementType> = T extends IntrinsicElement
2515
2515
  ? Props
2516
2516
  : never
2517
2517
 
2518
- type ${componentName}<T extends ElementType, P extends Dict = {}> = FunctionalComponent<
2518
+ interface ${componentName}<T extends ElementType, P extends Dict = {}> extends FunctionalComponent<
2519
2519
  JsxHTMLProps<ComponentProps<T>, Assign<JsxStyleProps, P>>
2520
- >
2520
+ > {}
2521
2521
 
2522
- type RecipeFn = { __type: any }
2522
+ interface RecipeFn = { __type: any }
2523
2523
 
2524
2524
  interface JsxFactory {
2525
2525
  ${styleProps === "none" ? "" : `<T extends ElementType>(component: T): ${componentName}<T, {}>`}
@@ -2685,27 +2685,27 @@ var csstype_d_ts_default = {
2685
2685
 
2686
2686
  // src/artifacts/generated/system-types.d.ts.json
2687
2687
  var system_types_d_ts_default = {
2688
- 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\n/* -----------------------------------------------------------------------------\n * Native css properties\n * -----------------------------------------------------------------------------*/\n\nexport type CssProperty = keyof PropertiesFallback\n\nexport type CssProperties = PropertiesFallback<String | Number> & CssVarProperties\n\nexport type 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\ntype 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 type GlobalStyleObject = {\n [selector: string]: SystemStyleObject\n}\n\nexport type CompositionStyleObject<Property extends string> = Nested<{\n [K in Property]?: K extends keyof SystemStyleObject ? SystemStyleObject[K] : unknown\n}>\n\n/* -----------------------------------------------------------------------------\n * Jsx style props\n * -----------------------------------------------------------------------------*/\ntype WithCss = { css?: SystemStyleObject }\ntype StyleProps = SystemProperties & MinimalNested<SystemStyleObject>\n\nexport type JsxStyleProps = StyleProps & WithCss\n\nexport type DistributiveOmit<T, K extends keyof any> = T extends unknown ? Omit<T, K> : never\n\nexport type Assign<T, U> = {\n [K in keyof T]: K extends keyof U ? U[K] : T[K]\n} & U\n\nexport type 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"
2688
+ 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\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\nexport type CompositionStyleObject<Property extends string> = Nested<{\n [K in Property]?: K extends keyof SystemStyleObject ? SystemStyleObject[K] : unknown\n}>\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 type DistributiveOmit<T, K extends keyof any> = T extends unknown ? Omit<T, K> : never\n\nexport type Assign<T, U> = {\n [K in keyof T]: K extends keyof U ? U[K] : T[K]\n} & U\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"
2689
2689
  };
2690
2690
 
2691
2691
  // src/artifacts/generated/composition.d.ts.json
2692
2692
  var composition_d_ts_default = {
2693
- content: "import type { CompositionStyleObject } from './system-types'\n\ntype Recursive<T> = {\n [key: string]: Recursive<T> | T\n}\n\nexport type Token<Value = any> = {\n value: Value\n description?: string\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 type CompositionStyles = {\n textStyles: TextStyles\n layerStyles: LayerStyles\n}\n"
2693
+ content: "import type { CompositionStyleObject } from './system-types'\n\ninterface Recursive<T> {\n [key: string]: Recursive<T> | T\n}\n\nexport interface Token<Value = any> {\n value: Value\n description?: string\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"
2694
2694
  };
2695
2695
 
2696
2696
  // src/artifacts/generated/recipe.d.ts.json
2697
2697
  var recipe_d_ts_default = {
2698
- content: "import type { SystemStyleObject, DistributiveOmit } from './system-types'\n\ntype Pretty<T> = { [K in keyof T]: T[K] } & {}\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]>\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 type RecipeRuntimeFn<T extends RecipeVariantRecord> = 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\nexport type RecipeCompoundSelection<T extends RecipeVariantRecord> = {\n [K in keyof T]?: StringToBoolean<keyof T[K]> | Array<StringToBoolean<keyof T[K]>>\n}\n\nexport type RecipeCompoundVariant<T extends RecipeVariantRecord> = RecipeCompoundSelection<T> & {\n css: SystemStyleObject\n}\n\nexport type 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 | RecipeVariantRecord\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?: Array<RecipeCompoundVariant<T>>\n}\n\nexport type RecipeCreatorFn = <T extends RecipeVariantRecord>(config: RecipeDefinition<T>) => RecipeRuntimeFn<T>\n\ntype 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 type RecipeConfig<T extends RecipeVariantRecord = RecipeVariantRecord> = RecipeDefinition<T> & 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 type SlotRecipeRuntimeFn<S extends string, T extends SlotRecipeVariantRecord<S>> = 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 extends RecipeVariantRecord> = RecipeCompoundSelection<T> & {\n css: SlotRecord<S, SystemStyleObject>\n}\n\nexport type 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 | SlotRecipeVariantRecord<S>\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?: Array<SlotRecipeCompoundVariant<S, 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"
2698
+ content: "import type { SystemStyleObject, DistributiveOmit } from './system-types'\n\ntype Pretty<T> = { [K in keyof T]: T[K] } & {}\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]>\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\nexport type RecipeCompoundSelection<T extends RecipeVariantRecord> = {\n [K in keyof T]?: StringToBoolean<keyof T[K]> | Array<StringToBoolean<keyof T[K]>>\n}\n\nexport type RecipeCompoundVariant<T extends RecipeVariantRecord> = RecipeCompoundSelection<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 | RecipeVariantRecord\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?: Array<RecipeCompoundVariant<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 extends RecipeVariantRecord> = RecipeCompoundSelection<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 | SlotRecipeVariantRecord<S>\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?: Array<SlotRecipeCompoundVariant<S, 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"
2699
2699
  };
2700
2700
 
2701
2701
  // src/artifacts/generated/pattern.d.ts.json
2702
2702
  var pattern_d_ts_default = {
2703
- content: "import type { CssProperty, SystemStyleObject } from './system-types'\nimport type { TokenCategory } from '../tokens'\n\ntype Primitive = string | number | boolean | null | undefined\ntype LiteralUnion<T, K extends Primitive = string> = T | (K & Record<never, never>)\n\nexport type PatternProperty =\n | { type: 'property'; value: CssProperty }\n | { type: 'enum'; value: string[] }\n | { type: 'token'; value: TokenCategory; property?: CssProperty }\n | { type: 'string' | 'boolean' | 'number' }\n\nexport type PatternHelpers = {\n map: (value: any, fn: (value: string) => string | undefined) => any\n}\n\nexport type PatternProperties = Record<string, PatternProperty>\n\ntype Props<T> = Record<LiteralUnion<keyof T>, any>\n\nexport type PatternConfig<T extends PatternProperties = PatternProperties> = {\n /**\n * The description of the pattern. This will be used in the JSDoc comment.\n */\n description?: string\n /**\n * The JSX element rendered by the pattern\n * @default 'div'\n */\n jsxElement?: string\n /**\n * The properties of the pattern.\n */\n properties?: T\n /**\n * The css object this pattern will generate.\n */\n transform?: (props: Props<T>, helpers: PatternHelpers) => SystemStyleObject\n /**\n * The jsx element name this pattern will generate.\n */\n jsxName?: string\n /**\n * The jsx elements to track for this pattern. Can be string or Regexp.\n *\n * @default capitalize(pattern.name)\n * @example ['Button', 'Link', /Button$/]\n */\n jsx?: Array<string | RegExp>\n /**\n * Whether to only generate types for the specified properties.\n * This will disallow css properties\n */\n strict?: boolean\n /**\n * @experimental\n * Disallow certain css properties for this pattern\n */\n blocklist?: LiteralUnion<CssProperty>[]\n}\n"
2703
+ content: "import type { CssProperty, SystemStyleObject } from './system-types'\nimport type { TokenCategory } from '../tokens'\n\ntype Primitive = string | number | boolean | null | undefined\ntype LiteralUnion<T, K extends Primitive = string> = T | (K & Record<never, never>)\n\nexport type PatternProperty =\n | { type: 'property'; value: CssProperty }\n | { type: 'enum'; value: string[] }\n | { type: 'token'; value: TokenCategory; property?: CssProperty }\n | { type: 'string' | 'boolean' | 'number' }\n\nexport interface PatternHelpers {\n map: (value: any, fn: (value: string) => string | undefined) => any\n}\n\nexport type PatternProperties = Record<string, PatternProperty>\n\ntype Props<T> = Record<LiteralUnion<keyof T>, any>\n\nexport interface PatternConfig<T extends PatternProperties = PatternProperties> {\n /**\n * The description of the pattern. This will be used in the JSDoc comment.\n */\n description?: string\n /**\n * The JSX element rendered by the pattern\n * @default 'div'\n */\n jsxElement?: string\n /**\n * The properties of the pattern.\n */\n properties?: T\n /**\n * The css object this pattern will generate.\n */\n transform?: (props: Props<T>, helpers: PatternHelpers) => SystemStyleObject\n /**\n * The jsx element name this pattern will generate.\n */\n jsxName?: string\n /**\n * The jsx elements to track for this pattern. Can be string or Regexp.\n *\n * @default capitalize(pattern.name)\n * @example ['Button', 'Link', /Button$/]\n */\n jsx?: Array<string | RegExp>\n /**\n * Whether to only generate types for the specified properties.\n * This will disallow css properties\n */\n strict?: boolean\n /**\n * @experimental\n * Disallow certain css properties for this pattern\n */\n blocklist?: LiteralUnion<CssProperty>[]\n}\n"
2704
2704
  };
2705
2705
 
2706
2706
  // src/artifacts/generated/parts.d.ts.json
2707
2707
  var parts_d_ts_default = {
2708
- content: "export type Part = {\n selector: string\n}\n\nexport type Parts = Record<string, Part>\n"
2708
+ content: "export interface Part {\n selector: string\n}\n\nexport type Parts = Record<string, Part>\n"
2709
2709
  };
2710
2710
 
2711
2711
  // src/artifacts/generated/selectors.d.ts.json
@@ -2736,7 +2736,7 @@ var import_outdent39 = require("outdent");
2736
2736
  var generateTypesEntry = (ctx) => ({
2737
2737
  global: import_outdent39.outdent`
2738
2738
  // @ts-nocheck
2739
- import type { TextStyles, LayerStyles } from '@pandacss/dev'
2739
+ import type * as Panda from '@pandacss/dev'
2740
2740
  ${ctx.file.importType("RecipeVariantRecord, RecipeConfig, SlotRecipeVariantRecord, SlotRecipeConfig", "./recipe")}
2741
2741
  ${ctx.file.importType("Parts", "./parts")}
2742
2742
  ${ctx.file.importType("PatternConfig, PatternProperties", "./pattern")}
@@ -2744,13 +2744,13 @@ var generateTypesEntry = (ctx) => ({
2744
2744
  ${ctx.file.importType("CompositionStyles", "./composition")}
2745
2745
 
2746
2746
  declare module '@pandacss/dev' {
2747
- export function defineRecipe<V extends RecipeVariantRecord>(config: RecipeConfig<V>): RecipeConfig
2748
- export function defineSlotRecipe<S extends string, V extends SlotRecipeVariantRecord<S>>(config: SlotRecipeConfig<S, V>): SlotRecipeConfig
2747
+ export function defineRecipe<V extends RecipeVariantRecord>(config: RecipeConfig<V>): Panda.RecipeConfig
2748
+ export function defineSlotRecipe<S extends string, V extends SlotRecipeVariantRecord<S>>(config: SlotRecipeConfig<S, V>): Panda.SlotRecipeConfig
2749
2749
  export function defineStyles(definition: SystemStyleObject): SystemStyleObject
2750
- export function defineGlobalStyles(definition: GlobalStyleObject): GlobalStyleObject
2751
- export function defineTextStyles(definition: CompositionStyles['textStyles']): TextStyles
2752
- export function defineLayerStyles(definition: CompositionStyles['layerStyles']): LayerStyles
2753
- export function definePattern<T extends PatternProperties>(config: PatternConfig<T>): PatternConfig
2750
+ export function defineGlobalStyles(definition: GlobalStyleObject): Panda.GlobalStyleObject
2751
+ export function defineTextStyles(definition: CompositionStyles['textStyles']): Panda.TextStyles
2752
+ export function defineLayerStyles(definition: CompositionStyles['layerStyles']): Panda.LayerStyles
2753
+ export function definePattern<T extends PatternProperties>(config: PatternConfig<T>): Panda.PatternConfig
2754
2754
  export function defineParts<T extends Parts>(parts: T): (config: Partial<Record<keyof T, SystemStyleObject>>) => Partial<Record<keyof T, SystemStyleObject>>
2755
2755
  }
2756
2756
  `,
@@ -2782,7 +2782,7 @@ function generatePropTypes(ctx) {
2782
2782
  ${ctx.file.importType("CssProperties", "./system-types")}
2783
2783
  ${ctx.file.importType("Tokens", "../tokens/index")}
2784
2784
 
2785
- type PropertyValueTypes = {`
2785
+ interface PropertyValueTypes {`
2786
2786
  ];
2787
2787
  const types = utility.getTypes();
2788
2788
  for (const [prop, values] of types.entries()) {
@@ -2794,7 +2794,7 @@ function generatePropTypes(ctx) {
2794
2794
 
2795
2795
  type Shorthand<T> = T extends keyof PropertyValueTypes ? PropertyValueTypes[T]${strictText} : CssValue<T>
2796
2796
 
2797
- export type PropertyTypes = PropertyValueTypes & {
2797
+ export interface PropertyTypes extends PropertyValueTypes {
2798
2798
  `);
2799
2799
  utility.shorthands.forEach((value, key) => {
2800
2800
  result.push(` ${key}: Shorthand<${JSON.stringify(value)}>;`);
@@ -2825,7 +2825,7 @@ function generateStyleProps(ctx) {
2825
2825
  [key in \`--\${string}\`]?: ConditionalValue<Token | (string & {}) | (number & {})>
2826
2826
  }
2827
2827
 
2828
- export type SystemProperties = {
2828
+ export interface SystemProperties {
2829
2829
  ${Array.from(props).map((v) => ` ${v}?: PropertyValue<'${v}'>`).join("\n")}
2830
2830
  }
2831
2831
  `;
package/dist/index.mjs CHANGED
@@ -541,9 +541,11 @@ function generateConditions(ctx) {
541
541
  dts: outdent2`
542
542
  ${ctx.file.importType("AnySelector, Selectors", "./selectors")}
543
543
 
544
- export type Conditions = {
544
+ export interface Conditions {
545
545
  ${keys.map(
546
- (key) => ` ${key === "base" ? `/** The base (=no conditions) styles to apply */` : ctx.conditions.get(key) ? `/** \`${ctx.conditions.get(key)}\` */` : ""}${JSON.stringify(key)}: string`
546
+ (key) => ` ${key === "base" ? `/** The base (=no conditions) styles to apply */
547
+ ` : ctx.conditions.get(key) ? `/** \`${ctx.conditions.get(key)}\` */
548
+ ` : ""} ${JSON.stringify(key)}: string`
547
549
  ).join("\n")}
548
550
  }
549
551
 
@@ -948,7 +950,7 @@ function generatePattern(ctx) {
948
950
  ${ctx.file.importType("DistributiveOmit", "../types/system-types")}
949
951
  ${ctx.file.importType("Tokens", "../tokens/index")}
950
952
 
951
- export type ${upperName}Properties = {
953
+ export interface ${upperName}Properties {
952
954
  ${Object.keys(properties ?? {}).map((key) => {
953
955
  const value = properties[key];
954
956
  return match2(value).with({ type: "property" }, (value2) => {
@@ -968,7 +970,7 @@ function generatePattern(ctx) {
968
970
 
969
971
  ${strict ? outdent10`export declare function ${baseName}(styles: ${upperName}Properties): string` : outdent10`
970
972
 
971
- type ${upperName}Styles = ${upperName}Properties & DistributiveOmit<SystemStyleObject, keyof ${upperName}Properties ${blocklistType}>
973
+ interface ${upperName}Styles extends ${upperName}Properties, DistributiveOmit<SystemStyleObject, keyof ${upperName}Properties ${blocklistType}> {}
972
974
 
973
975
  interface ${upperName}PatternFn {
974
976
  (styles?: ${upperName}Styles): string
@@ -1117,7 +1119,7 @@ function generateRecipes(ctx) {
1117
1119
  ${ctx.file.importType("Pretty", "../types/helpers")}
1118
1120
  ${ctx.file.importType("DistributiveOmit", "../types/system-types")}
1119
1121
 
1120
- type ${upperName}Variant = {
1122
+ interface ${upperName}Variant {
1121
1123
  ${Object.keys(variantKeyMap).map((key) => {
1122
1124
  const values = variantKeyMap[key];
1123
1125
  if (values.every(isBooleanValue))
@@ -1130,9 +1132,7 @@ function generateRecipes(ctx) {
1130
1132
  [key in keyof ${upperName}Variant]: Array<${upperName}Variant[key]>
1131
1133
  }
1132
1134
 
1133
- export type ${upperName}VariantProps = {
1134
- [key in keyof ${upperName}Variant]?: ${compoundVariants?.length ? `${upperName}Variant[key]` : `ConditionalValue<${upperName}Variant[key]>`}
1135
- }
1135
+ export interface ${upperName}VariantProps extends Partial<${upperName}Variant> {}
1136
1136
 
1137
1137
  interface ${upperName}Recipe {
1138
1138
  __type: ${upperName}VariantProps
@@ -1348,7 +1348,7 @@ function generatePreactJsxPattern(ctx) {
1348
1348
  ${ctx.file.importType("DistributiveOmit", "../types/system-types")}
1349
1349
  ${ctx.file.importType(typeName, "../types/jsx")}
1350
1350
 
1351
- export type ${upperName}Props = ${upperName}Properties & DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}>
1351
+ export interface ${upperName}Props extends ${upperName}Properties, DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}> {}
1352
1352
 
1353
1353
  ${description ? `/** ${description} */` : ""}
1354
1354
  export declare const ${jsxName}: FunctionComponent<${upperName}Props>
@@ -1375,12 +1375,12 @@ type ElementType = keyof JSX.IntrinsicElements
1375
1375
 
1376
1376
  type Dict = Record<string, unknown>
1377
1377
 
1378
- export type ${componentName}<T extends ElementType, P extends Dict = {}> = {
1378
+ export interface ${componentName}<T extends ElementType, P extends Dict = {}> {
1379
1379
  (props: JsxHTMLProps<ComponentProps<T>, P> & JsxStyleProps): JSX.Element
1380
1380
  displayName?: string
1381
1381
  }
1382
1382
 
1383
- type RecipeFn = { __type: any }
1383
+ interface RecipeFn = { __type: any }
1384
1384
 
1385
1385
  interface JsxFactory {
1386
1386
  ${styleProps === "none" ? "" : `<T extends ElementType>(component: T): ${componentName}<T, {}>`}
@@ -1568,7 +1568,7 @@ function generateQwikJsxPattern(ctx) {
1568
1568
  import { h } from '@builder.io/qwik'
1569
1569
  ${ctx.file.import(factoryName, "./factory")}
1570
1570
  ${ctx.file.import(styleFnName, `../patterns/${dashName}`)}
1571
-
1571
+
1572
1572
  export const ${jsxName} = function ${jsxName}(props) {
1573
1573
  ${match5(props.length).with(
1574
1574
  0,
@@ -1591,8 +1591,8 @@ function generateQwikJsxPattern(ctx) {
1591
1591
  ${ctx.file.importType(typeName, "../types/jsx")}
1592
1592
  ${ctx.file.importType("Assign, DistributiveOmit", "../types/system-types")}
1593
1593
 
1594
- export type ${upperName}Props = Assign<${typeName}<'${jsxElement}'>, DistributiveOmit<${upperName}Properties, ${blocklistType || '""'}>>
1595
-
1594
+ export interface ${upperName}Props extends Assign<${typeName}<'${jsxElement}'>, DistributiveOmit<${upperName}Properties, ${blocklistType || '""'}>> {}
1595
+
1596
1596
  ${description ? `/** ${description} */` : ""}
1597
1597
  export declare const ${jsxName}: Component<${upperName}Props>
1598
1598
  `
@@ -1624,9 +1624,9 @@ type ComponentProps<T extends ElementType> = T extends keyof QwikIntrinsicElemen
1624
1624
 
1625
1625
  type Dict = Record<string, unknown>
1626
1626
 
1627
- export type ${componentName}<T extends ElementType, P extends Dict = {}> = Component<Assign<ComponentProps<T> & PatchedHTMLProps, Assign<JsxStyleProps, P>>>
1627
+ export interface ${componentName}<T extends ElementType, P extends Dict = {}> extends Component<Assign<ComponentProps<T>, PatchedHTMLProps, Assign<JsxStyleProps, P>>> {}
1628
1628
 
1629
- type RecipeFn = { __type: any }
1629
+ interface RecipeFn { __type: any }
1630
1630
 
1631
1631
  interface JsxFactory {
1632
1632
  ${styleProps === "none" ? "" : `<T extends ElementType>(component: T): ${componentName}<T, {}>`}
@@ -1878,7 +1878,7 @@ function generateReactJsxPattern(ctx) {
1878
1878
  ${ctx.file.importType(typeName, "../types/jsx")}
1879
1879
  ${ctx.file.importType("DistributiveOmit", "../types/system-types")}
1880
1880
 
1881
- export type ${upperName}Props = ${upperName}Properties & DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}>
1881
+ export interface ${upperName}Props extends ${upperName}Properties, DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}> {}
1882
1882
 
1883
1883
  ${description ? `/** ${description} */` : ""}
1884
1884
  export declare const ${jsxName}: FunctionComponent<${upperName}Props>
@@ -1907,12 +1907,12 @@ type ComponentProps<T extends ElementType> = DistributiveOmit<ComponentPropsWith
1907
1907
  ref?: Ref<ElementRef<T>>
1908
1908
  }
1909
1909
 
1910
- export type ${componentName}<T extends ElementType, P extends Dict = {}> = {
1910
+ export interface ${componentName}<T extends ElementType, P extends Dict = {}> {
1911
1911
  (props: JsxHTMLProps<ComponentProps<T>, Assign<JsxStyleProps, P>>): JSX.Element
1912
1912
  displayName?: string
1913
1913
  }
1914
1914
 
1915
- type RecipeFn = { __type: any }
1915
+ interface RecipeFn { __type: any }
1916
1916
 
1917
1917
  interface JsxFactory {
1918
1918
  ${styleProps === "none" ? "" : `<T extends ElementType>(component: T): ${componentName}<T, {}>`}
@@ -2139,7 +2139,7 @@ function generateSolidJsxPattern(ctx) {
2139
2139
  ${ctx.file.importType(typeName, "../types/jsx")}
2140
2140
  ${ctx.file.importType("DistributiveOmit", "../types/system-types")}
2141
2141
 
2142
- export type ${upperName}Props = ${upperName}Properties & DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}>
2142
+ export interface ${upperName}Props extends ${upperName}Properties, DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}> {}
2143
2143
 
2144
2144
  ${description ? `/** ${description} */` : ""}
2145
2145
  export declare const ${jsxName}: Component<${upperName}Props>
@@ -2166,12 +2166,12 @@ type Dict = Record<string, unknown>
2166
2166
 
2167
2167
  type ElementType<P = any> = keyof JSX.IntrinsicElements | Component<P>
2168
2168
 
2169
- export type ${componentName}<T extends ElementType, P extends Dict = {}> = {
2169
+ export interface ${componentName}<T extends ElementType, P extends Dict = {}> {
2170
2170
  (props: JsxHTMLProps<ComponentProps<T>, Assign<JsxStyleProps, P>>): JSX.Element
2171
2171
  displayName?: string
2172
2172
  }
2173
2173
 
2174
- type RecipeFn = { __type: any }
2174
+ interface RecipeFn { __type: any }
2175
2175
 
2176
2176
  interface JsxFactory {
2177
2177
  ${styleProps === "none" ? "" : `<T extends ElementType>(component: T): ${componentName}<T, {}>`}
@@ -2450,7 +2450,7 @@ function generateVueJsxPattern(ctx) {
2450
2450
  ${ctx.file.importType(typeName, "../types/jsx")}
2451
2451
  ${ctx.file.importType("DistributiveOmit", "../types/system-types")}
2452
2452
 
2453
- export type ${upperName}Props = ${upperName}Properties & DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}>
2453
+ export interface ${upperName}Props extends ${upperName}Properties, DistributiveOmit<${typeName}<'${jsxElement}'>, keyof ${upperName}Properties ${blocklistType}> {}
2454
2454
 
2455
2455
  ${description ? `/** ${description} */` : ""}
2456
2456
  export declare const ${jsxName}: FunctionalComponent<${upperName}Props>
@@ -2484,11 +2484,11 @@ type ComponentProps<T extends ElementType> = T extends IntrinsicElement
2484
2484
  ? Props
2485
2485
  : never
2486
2486
 
2487
- type ${componentName}<T extends ElementType, P extends Dict = {}> = FunctionalComponent<
2487
+ interface ${componentName}<T extends ElementType, P extends Dict = {}> extends FunctionalComponent<
2488
2488
  JsxHTMLProps<ComponentProps<T>, Assign<JsxStyleProps, P>>
2489
- >
2489
+ > {}
2490
2490
 
2491
- type RecipeFn = { __type: any }
2491
+ interface RecipeFn = { __type: any }
2492
2492
 
2493
2493
  interface JsxFactory {
2494
2494
  ${styleProps === "none" ? "" : `<T extends ElementType>(component: T): ${componentName}<T, {}>`}
@@ -2654,27 +2654,27 @@ var csstype_d_ts_default = {
2654
2654
 
2655
2655
  // src/artifacts/generated/system-types.d.ts.json
2656
2656
  var system_types_d_ts_default = {
2657
- 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\n/* -----------------------------------------------------------------------------\n * Native css properties\n * -----------------------------------------------------------------------------*/\n\nexport type CssProperty = keyof PropertiesFallback\n\nexport type CssProperties = PropertiesFallback<String | Number> & CssVarProperties\n\nexport type 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\ntype 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 type GlobalStyleObject = {\n [selector: string]: SystemStyleObject\n}\n\nexport type CompositionStyleObject<Property extends string> = Nested<{\n [K in Property]?: K extends keyof SystemStyleObject ? SystemStyleObject[K] : unknown\n}>\n\n/* -----------------------------------------------------------------------------\n * Jsx style props\n * -----------------------------------------------------------------------------*/\ntype WithCss = { css?: SystemStyleObject }\ntype StyleProps = SystemProperties & MinimalNested<SystemStyleObject>\n\nexport type JsxStyleProps = StyleProps & WithCss\n\nexport type DistributiveOmit<T, K extends keyof any> = T extends unknown ? Omit<T, K> : never\n\nexport type Assign<T, U> = {\n [K in keyof T]: K extends keyof U ? U[K] : T[K]\n} & U\n\nexport type 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"
2657
+ 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\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\nexport type CompositionStyleObject<Property extends string> = Nested<{\n [K in Property]?: K extends keyof SystemStyleObject ? SystemStyleObject[K] : unknown\n}>\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 type DistributiveOmit<T, K extends keyof any> = T extends unknown ? Omit<T, K> : never\n\nexport type Assign<T, U> = {\n [K in keyof T]: K extends keyof U ? U[K] : T[K]\n} & U\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"
2658
2658
  };
2659
2659
 
2660
2660
  // src/artifacts/generated/composition.d.ts.json
2661
2661
  var composition_d_ts_default = {
2662
- content: "import type { CompositionStyleObject } from './system-types'\n\ntype Recursive<T> = {\n [key: string]: Recursive<T> | T\n}\n\nexport type Token<Value = any> = {\n value: Value\n description?: string\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 type CompositionStyles = {\n textStyles: TextStyles\n layerStyles: LayerStyles\n}\n"
2662
+ content: "import type { CompositionStyleObject } from './system-types'\n\ninterface Recursive<T> {\n [key: string]: Recursive<T> | T\n}\n\nexport interface Token<Value = any> {\n value: Value\n description?: string\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"
2663
2663
  };
2664
2664
 
2665
2665
  // src/artifacts/generated/recipe.d.ts.json
2666
2666
  var recipe_d_ts_default = {
2667
- content: "import type { SystemStyleObject, DistributiveOmit } from './system-types'\n\ntype Pretty<T> = { [K in keyof T]: T[K] } & {}\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]>\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 type RecipeRuntimeFn<T extends RecipeVariantRecord> = 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\nexport type RecipeCompoundSelection<T extends RecipeVariantRecord> = {\n [K in keyof T]?: StringToBoolean<keyof T[K]> | Array<StringToBoolean<keyof T[K]>>\n}\n\nexport type RecipeCompoundVariant<T extends RecipeVariantRecord> = RecipeCompoundSelection<T> & {\n css: SystemStyleObject\n}\n\nexport type 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 | RecipeVariantRecord\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?: Array<RecipeCompoundVariant<T>>\n}\n\nexport type RecipeCreatorFn = <T extends RecipeVariantRecord>(config: RecipeDefinition<T>) => RecipeRuntimeFn<T>\n\ntype 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 type RecipeConfig<T extends RecipeVariantRecord = RecipeVariantRecord> = RecipeDefinition<T> & 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 type SlotRecipeRuntimeFn<S extends string, T extends SlotRecipeVariantRecord<S>> = 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 extends RecipeVariantRecord> = RecipeCompoundSelection<T> & {\n css: SlotRecord<S, SystemStyleObject>\n}\n\nexport type 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 | SlotRecipeVariantRecord<S>\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?: Array<SlotRecipeCompoundVariant<S, 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"
2667
+ content: "import type { SystemStyleObject, DistributiveOmit } from './system-types'\n\ntype Pretty<T> = { [K in keyof T]: T[K] } & {}\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]>\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\nexport type RecipeCompoundSelection<T extends RecipeVariantRecord> = {\n [K in keyof T]?: StringToBoolean<keyof T[K]> | Array<StringToBoolean<keyof T[K]>>\n}\n\nexport type RecipeCompoundVariant<T extends RecipeVariantRecord> = RecipeCompoundSelection<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 | RecipeVariantRecord\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?: Array<RecipeCompoundVariant<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 extends RecipeVariantRecord> = RecipeCompoundSelection<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 | SlotRecipeVariantRecord<S>\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?: Array<SlotRecipeCompoundVariant<S, 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"
2668
2668
  };
2669
2669
 
2670
2670
  // src/artifacts/generated/pattern.d.ts.json
2671
2671
  var pattern_d_ts_default = {
2672
- content: "import type { CssProperty, SystemStyleObject } from './system-types'\nimport type { TokenCategory } from '../tokens'\n\ntype Primitive = string | number | boolean | null | undefined\ntype LiteralUnion<T, K extends Primitive = string> = T | (K & Record<never, never>)\n\nexport type PatternProperty =\n | { type: 'property'; value: CssProperty }\n | { type: 'enum'; value: string[] }\n | { type: 'token'; value: TokenCategory; property?: CssProperty }\n | { type: 'string' | 'boolean' | 'number' }\n\nexport type PatternHelpers = {\n map: (value: any, fn: (value: string) => string | undefined) => any\n}\n\nexport type PatternProperties = Record<string, PatternProperty>\n\ntype Props<T> = Record<LiteralUnion<keyof T>, any>\n\nexport type PatternConfig<T extends PatternProperties = PatternProperties> = {\n /**\n * The description of the pattern. This will be used in the JSDoc comment.\n */\n description?: string\n /**\n * The JSX element rendered by the pattern\n * @default 'div'\n */\n jsxElement?: string\n /**\n * The properties of the pattern.\n */\n properties?: T\n /**\n * The css object this pattern will generate.\n */\n transform?: (props: Props<T>, helpers: PatternHelpers) => SystemStyleObject\n /**\n * The jsx element name this pattern will generate.\n */\n jsxName?: string\n /**\n * The jsx elements to track for this pattern. Can be string or Regexp.\n *\n * @default capitalize(pattern.name)\n * @example ['Button', 'Link', /Button$/]\n */\n jsx?: Array<string | RegExp>\n /**\n * Whether to only generate types for the specified properties.\n * This will disallow css properties\n */\n strict?: boolean\n /**\n * @experimental\n * Disallow certain css properties for this pattern\n */\n blocklist?: LiteralUnion<CssProperty>[]\n}\n"
2672
+ content: "import type { CssProperty, SystemStyleObject } from './system-types'\nimport type { TokenCategory } from '../tokens'\n\ntype Primitive = string | number | boolean | null | undefined\ntype LiteralUnion<T, K extends Primitive = string> = T | (K & Record<never, never>)\n\nexport type PatternProperty =\n | { type: 'property'; value: CssProperty }\n | { type: 'enum'; value: string[] }\n | { type: 'token'; value: TokenCategory; property?: CssProperty }\n | { type: 'string' | 'boolean' | 'number' }\n\nexport interface PatternHelpers {\n map: (value: any, fn: (value: string) => string | undefined) => any\n}\n\nexport type PatternProperties = Record<string, PatternProperty>\n\ntype Props<T> = Record<LiteralUnion<keyof T>, any>\n\nexport interface PatternConfig<T extends PatternProperties = PatternProperties> {\n /**\n * The description of the pattern. This will be used in the JSDoc comment.\n */\n description?: string\n /**\n * The JSX element rendered by the pattern\n * @default 'div'\n */\n jsxElement?: string\n /**\n * The properties of the pattern.\n */\n properties?: T\n /**\n * The css object this pattern will generate.\n */\n transform?: (props: Props<T>, helpers: PatternHelpers) => SystemStyleObject\n /**\n * The jsx element name this pattern will generate.\n */\n jsxName?: string\n /**\n * The jsx elements to track for this pattern. Can be string or Regexp.\n *\n * @default capitalize(pattern.name)\n * @example ['Button', 'Link', /Button$/]\n */\n jsx?: Array<string | RegExp>\n /**\n * Whether to only generate types for the specified properties.\n * This will disallow css properties\n */\n strict?: boolean\n /**\n * @experimental\n * Disallow certain css properties for this pattern\n */\n blocklist?: LiteralUnion<CssProperty>[]\n}\n"
2673
2673
  };
2674
2674
 
2675
2675
  // src/artifacts/generated/parts.d.ts.json
2676
2676
  var parts_d_ts_default = {
2677
- content: "export type Part = {\n selector: string\n}\n\nexport type Parts = Record<string, Part>\n"
2677
+ content: "export interface Part {\n selector: string\n}\n\nexport type Parts = Record<string, Part>\n"
2678
2678
  };
2679
2679
 
2680
2680
  // src/artifacts/generated/selectors.d.ts.json
@@ -2705,7 +2705,7 @@ import { outdent as outdent39 } from "outdent";
2705
2705
  var generateTypesEntry = (ctx) => ({
2706
2706
  global: outdent39`
2707
2707
  // @ts-nocheck
2708
- import type { TextStyles, LayerStyles } from '@pandacss/dev'
2708
+ import type * as Panda from '@pandacss/dev'
2709
2709
  ${ctx.file.importType("RecipeVariantRecord, RecipeConfig, SlotRecipeVariantRecord, SlotRecipeConfig", "./recipe")}
2710
2710
  ${ctx.file.importType("Parts", "./parts")}
2711
2711
  ${ctx.file.importType("PatternConfig, PatternProperties", "./pattern")}
@@ -2713,13 +2713,13 @@ var generateTypesEntry = (ctx) => ({
2713
2713
  ${ctx.file.importType("CompositionStyles", "./composition")}
2714
2714
 
2715
2715
  declare module '@pandacss/dev' {
2716
- export function defineRecipe<V extends RecipeVariantRecord>(config: RecipeConfig<V>): RecipeConfig
2717
- export function defineSlotRecipe<S extends string, V extends SlotRecipeVariantRecord<S>>(config: SlotRecipeConfig<S, V>): SlotRecipeConfig
2716
+ export function defineRecipe<V extends RecipeVariantRecord>(config: RecipeConfig<V>): Panda.RecipeConfig
2717
+ export function defineSlotRecipe<S extends string, V extends SlotRecipeVariantRecord<S>>(config: SlotRecipeConfig<S, V>): Panda.SlotRecipeConfig
2718
2718
  export function defineStyles(definition: SystemStyleObject): SystemStyleObject
2719
- export function defineGlobalStyles(definition: GlobalStyleObject): GlobalStyleObject
2720
- export function defineTextStyles(definition: CompositionStyles['textStyles']): TextStyles
2721
- export function defineLayerStyles(definition: CompositionStyles['layerStyles']): LayerStyles
2722
- export function definePattern<T extends PatternProperties>(config: PatternConfig<T>): PatternConfig
2719
+ export function defineGlobalStyles(definition: GlobalStyleObject): Panda.GlobalStyleObject
2720
+ export function defineTextStyles(definition: CompositionStyles['textStyles']): Panda.TextStyles
2721
+ export function defineLayerStyles(definition: CompositionStyles['layerStyles']): Panda.LayerStyles
2722
+ export function definePattern<T extends PatternProperties>(config: PatternConfig<T>): Panda.PatternConfig
2723
2723
  export function defineParts<T extends Parts>(parts: T): (config: Partial<Record<keyof T, SystemStyleObject>>) => Partial<Record<keyof T, SystemStyleObject>>
2724
2724
  }
2725
2725
  `,
@@ -2751,7 +2751,7 @@ function generatePropTypes(ctx) {
2751
2751
  ${ctx.file.importType("CssProperties", "./system-types")}
2752
2752
  ${ctx.file.importType("Tokens", "../tokens/index")}
2753
2753
 
2754
- type PropertyValueTypes = {`
2754
+ interface PropertyValueTypes {`
2755
2755
  ];
2756
2756
  const types = utility.getTypes();
2757
2757
  for (const [prop, values] of types.entries()) {
@@ -2763,7 +2763,7 @@ function generatePropTypes(ctx) {
2763
2763
 
2764
2764
  type Shorthand<T> = T extends keyof PropertyValueTypes ? PropertyValueTypes[T]${strictText} : CssValue<T>
2765
2765
 
2766
- export type PropertyTypes = PropertyValueTypes & {
2766
+ export interface PropertyTypes extends PropertyValueTypes {
2767
2767
  `);
2768
2768
  utility.shorthands.forEach((value, key) => {
2769
2769
  result.push(` ${key}: Shorthand<${JSON.stringify(value)}>;`);
@@ -2794,7 +2794,7 @@ function generateStyleProps(ctx) {
2794
2794
  [key in \`--\${string}\`]?: ConditionalValue<Token | (string & {}) | (number & {})>
2795
2795
  }
2796
2796
 
2797
- export type SystemProperties = {
2797
+ export interface SystemProperties {
2798
2798
  ${Array.from(props).map((v) => ` ${v}?: PropertyValue<'${v}'>`).join("\n")}
2799
2799
  }
2800
2800
  `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pandacss/generator",
3
- "version": "0.0.0-dev-20230922200913",
3
+ "version": "0.0.0-dev-20230924234651",
4
4
  "description": "The css generator for css panda",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -20,17 +20,17 @@
20
20
  "pluralize": "8.0.0",
21
21
  "postcss": "8.4.27",
22
22
  "ts-pattern": "5.0.5",
23
- "@pandacss/core": "0.0.0-dev-20230922200913",
24
- "@pandacss/is-valid-prop": "0.0.0-dev-20230922200913",
25
- "@pandacss/logger": "0.0.0-dev-20230922200913",
26
- "@pandacss/shared": "0.0.0-dev-20230922200913",
27
- "@pandacss/token-dictionary": "0.0.0-dev-20230922200913",
28
- "@pandacss/types": "0.0.0-dev-20230922200913"
23
+ "@pandacss/is-valid-prop": "0.0.0-dev-20230924234651",
24
+ "@pandacss/core": "0.0.0-dev-20230924234651",
25
+ "@pandacss/shared": "0.0.0-dev-20230924234651",
26
+ "@pandacss/logger": "0.0.0-dev-20230924234651",
27
+ "@pandacss/token-dictionary": "0.0.0-dev-20230924234651",
28
+ "@pandacss/types": "0.0.0-dev-20230924234651"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/pluralize": "0.0.30",
32
32
  "hookable": "5.5.3",
33
- "@pandacss/fixture": "0.0.0-dev-20230922200913"
33
+ "@pandacss/fixture": "0.0.0-dev-20230924234651"
34
34
  },
35
35
  "scripts": {
36
36
  "prebuild": "tsx scripts/prebuild.ts",