@pandacss/parser 1.4.0 → 1.4.2

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
@@ -12,16 +12,18 @@ declare class ParserResult implements ParserResultInterface {
12
12
  css: Set<ResultItem>;
13
13
  cva: Set<ResultItem>;
14
14
  sva: Set<ResultItem>;
15
+ token: Set<ResultItem>;
15
16
  recipe: Map<string, Set<ResultItem>>;
16
17
  pattern: Map<string, Set<ResultItem>>;
17
18
  filePath: string | undefined;
18
19
  encoder: ParserOptions['encoder'];
19
20
  constructor(context: ParserOptions, encoder?: ParserOptions['encoder']);
20
21
  append(result: ResultItem): ResultItem;
21
- set(name: 'cva' | 'css' | 'sva', result: ResultItem): void;
22
+ set(name: 'cva' | 'css' | 'sva' | 'token', result: ResultItem): void;
22
23
  setCss(result: ResultItem): void;
23
24
  setCva(result: ResultItem): void;
24
25
  setSva(result: ResultItem): void;
26
+ setToken(result: ResultItem): void;
25
27
  setJsx(result: ResultItem): void;
26
28
  setPattern(name: string, result: ResultItem): void;
27
29
  setRecipe(recipeName: string, result: ResultItem): void;
@@ -33,6 +35,7 @@ declare class ParserResult implements ParserResultInterface {
33
35
  css: ResultItem[];
34
36
  cva: ResultItem[];
35
37
  sva: ResultItem[];
38
+ token: ResultItem[];
36
39
  jsx: ResultItem[];
37
40
  recipe: {
38
41
  [k: string]: ResultItem[];
package/dist/index.d.ts CHANGED
@@ -12,16 +12,18 @@ declare class ParserResult implements ParserResultInterface {
12
12
  css: Set<ResultItem>;
13
13
  cva: Set<ResultItem>;
14
14
  sva: Set<ResultItem>;
15
+ token: Set<ResultItem>;
15
16
  recipe: Map<string, Set<ResultItem>>;
16
17
  pattern: Map<string, Set<ResultItem>>;
17
18
  filePath: string | undefined;
18
19
  encoder: ParserOptions['encoder'];
19
20
  constructor(context: ParserOptions, encoder?: ParserOptions['encoder']);
20
21
  append(result: ResultItem): ResultItem;
21
- set(name: 'cva' | 'css' | 'sva', result: ResultItem): void;
22
+ set(name: 'cva' | 'css' | 'sva' | 'token', result: ResultItem): void;
22
23
  setCss(result: ResultItem): void;
23
24
  setCva(result: ResultItem): void;
24
25
  setSva(result: ResultItem): void;
26
+ setToken(result: ResultItem): void;
25
27
  setJsx(result: ResultItem): void;
26
28
  setPattern(name: string, result: ResultItem): void;
27
29
  setRecipe(recipeName: string, result: ResultItem): void;
@@ -33,6 +35,7 @@ declare class ParserResult implements ParserResultInterface {
33
35
  css: ResultItem[];
34
36
  cva: ResultItem[];
35
37
  sva: ResultItem[];
38
+ token: ResultItem[];
36
39
  jsx: ResultItem[];
37
40
  recipe: {
38
41
  [k: string]: ResultItem[];
package/dist/index.js CHANGED
@@ -507,6 +507,7 @@ var ParserResult = class {
507
507
  css = /* @__PURE__ */ new Set();
508
508
  cva = /* @__PURE__ */ new Set();
509
509
  sva = /* @__PURE__ */ new Set();
510
+ token = /* @__PURE__ */ new Set();
510
511
  recipe = /* @__PURE__ */ new Map();
511
512
  pattern = /* @__PURE__ */ new Map();
512
513
  filePath;
@@ -526,8 +527,14 @@ var ParserResult = class {
526
527
  case "sva":
527
528
  this.setSva(result);
528
529
  break;
530
+ case "token":
531
+ this.setToken(result);
532
+ break;
529
533
  default:
530
- throw new import_shared2.PandaError("UNKNOWN_TYPE", `Unknown result type ${name}`);
534
+ throw new import_shared2.PandaError(
535
+ "UNKNOWN_RESULT_TYPE",
536
+ `Unknown parser result type: "${name}". Expected one of: css, cva, sva, token`
537
+ );
531
538
  }
532
539
  }
533
540
  setCss(result) {
@@ -545,6 +552,9 @@ var ParserResult = class {
545
552
  const encoder = this.encoder;
546
553
  result.data.forEach((data) => encoder.processAtomicSlotRecipe(data));
547
554
  }
555
+ setToken(result) {
556
+ this.token.add(this.append(Object.assign({ type: "token" }, result)));
557
+ }
548
558
  setJsx(result) {
549
559
  this.jsx.add(this.append(Object.assign({ type: "jsx" }, result)));
550
560
  const encoder = this.encoder;
@@ -589,6 +599,7 @@ var ParserResult = class {
589
599
  result.css.forEach((item) => this.css.add(this.append(item)));
590
600
  result.cva.forEach((item) => this.cva.add(this.append(item)));
591
601
  result.sva.forEach((item) => this.sva.add(this.append(item)));
602
+ result.token.forEach((item) => this.token.add(this.append(item)));
592
603
  result.jsx.forEach((item) => this.jsx.add(this.append(item)));
593
604
  result.recipe.forEach((items, name) => {
594
605
  const set = (0, import_shared2.getOrCreateSet)(this.recipe, name);
@@ -608,6 +619,7 @@ var ParserResult = class {
608
619
  css: Array.from(this.css),
609
620
  cva: Array.from(this.cva),
610
621
  sva: Array.from(this.sva),
622
+ token: Array.from(this.token),
611
623
  jsx: Array.from(this.jsx),
612
624
  recipe: Object.fromEntries(Array.from(this.recipe.entries()).map(([key, value]) => [key, Array.from(value)])),
613
625
  pattern: Object.fromEntries(Array.from(this.pattern.entries()).map(([key, value]) => [key, Array.from(value)]))
@@ -643,6 +655,10 @@ function createParser(context) {
643
655
  }
644
656
  const extractResultByName = (0, import_extractor2.extract)({
645
657
  ast: sourceFile,
658
+ tokens: context.tokens ? {
659
+ view: context.tokens.view,
660
+ isTokenFn: (fnName) => file.isTokenAlias(fnName)
661
+ } : void 0,
646
662
  components: jsx.isEnabled ? {
647
663
  matchTag: (prop) => {
648
664
  if (options?.matchTag) {
@@ -721,6 +737,16 @@ function createParser(context) {
721
737
  });
722
738
  }
723
739
  });
740
+ }).when(imports.matchers.tokens.match, (name2) => {
741
+ result.queryList.forEach((query) => {
742
+ if (query.kind === "call-expression") {
743
+ parserResult.setToken({
744
+ name: name2,
745
+ box: query.box.value[0] ?? import_extractor2.box.fallback(query.box),
746
+ data: combineResult((0, import_extractor2.unbox)(query.box.value[0]))
747
+ });
748
+ }
749
+ });
724
750
  }).when(file.isValidPattern, (name2) => {
725
751
  result.queryList.forEach((query) => {
726
752
  if (query.kind === "call-expression") {
package/dist/index.mjs CHANGED
@@ -473,6 +473,7 @@ var ParserResult = class {
473
473
  css = /* @__PURE__ */ new Set();
474
474
  cva = /* @__PURE__ */ new Set();
475
475
  sva = /* @__PURE__ */ new Set();
476
+ token = /* @__PURE__ */ new Set();
476
477
  recipe = /* @__PURE__ */ new Map();
477
478
  pattern = /* @__PURE__ */ new Map();
478
479
  filePath;
@@ -492,8 +493,14 @@ var ParserResult = class {
492
493
  case "sva":
493
494
  this.setSva(result);
494
495
  break;
496
+ case "token":
497
+ this.setToken(result);
498
+ break;
495
499
  default:
496
- throw new PandaError("UNKNOWN_TYPE", `Unknown result type ${name}`);
500
+ throw new PandaError(
501
+ "UNKNOWN_RESULT_TYPE",
502
+ `Unknown parser result type: "${name}". Expected one of: css, cva, sva, token`
503
+ );
497
504
  }
498
505
  }
499
506
  setCss(result) {
@@ -511,6 +518,9 @@ var ParserResult = class {
511
518
  const encoder = this.encoder;
512
519
  result.data.forEach((data) => encoder.processAtomicSlotRecipe(data));
513
520
  }
521
+ setToken(result) {
522
+ this.token.add(this.append(Object.assign({ type: "token" }, result)));
523
+ }
514
524
  setJsx(result) {
515
525
  this.jsx.add(this.append(Object.assign({ type: "jsx" }, result)));
516
526
  const encoder = this.encoder;
@@ -555,6 +565,7 @@ var ParserResult = class {
555
565
  result.css.forEach((item) => this.css.add(this.append(item)));
556
566
  result.cva.forEach((item) => this.cva.add(this.append(item)));
557
567
  result.sva.forEach((item) => this.sva.add(this.append(item)));
568
+ result.token.forEach((item) => this.token.add(this.append(item)));
558
569
  result.jsx.forEach((item) => this.jsx.add(this.append(item)));
559
570
  result.recipe.forEach((items, name) => {
560
571
  const set = getOrCreateSet(this.recipe, name);
@@ -574,6 +585,7 @@ var ParserResult = class {
574
585
  css: Array.from(this.css),
575
586
  cva: Array.from(this.cva),
576
587
  sva: Array.from(this.sva),
588
+ token: Array.from(this.token),
577
589
  jsx: Array.from(this.jsx),
578
590
  recipe: Object.fromEntries(Array.from(this.recipe.entries()).map(([key, value]) => [key, Array.from(value)])),
579
591
  pattern: Object.fromEntries(Array.from(this.pattern.entries()).map(([key, value]) => [key, Array.from(value)]))
@@ -609,6 +621,10 @@ function createParser(context) {
609
621
  }
610
622
  const extractResultByName = extract({
611
623
  ast: sourceFile,
624
+ tokens: context.tokens ? {
625
+ view: context.tokens.view,
626
+ isTokenFn: (fnName) => file.isTokenAlias(fnName)
627
+ } : void 0,
612
628
  components: jsx.isEnabled ? {
613
629
  matchTag: (prop) => {
614
630
  if (options?.matchTag) {
@@ -687,6 +703,16 @@ function createParser(context) {
687
703
  });
688
704
  }
689
705
  });
706
+ }).when(imports.matchers.tokens.match, (name2) => {
707
+ result.queryList.forEach((query) => {
708
+ if (query.kind === "call-expression") {
709
+ parserResult.setToken({
710
+ name: name2,
711
+ box: query.box.value[0] ?? box2.fallback(query.box),
712
+ data: combineResult(unbox(query.box.value[0]))
713
+ });
714
+ }
715
+ });
690
716
  }).when(file.isValidPattern, (name2) => {
691
717
  result.queryList.forEach((query) => {
692
718
  if (query.kind === "call-expression") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pandacss/parser",
3
- "version": "1.4.0",
3
+ "version": "1.4.2",
4
4
  "description": "The static parser for panda css",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -17,6 +17,7 @@
17
17
  }
18
18
  },
19
19
  "author": "Segun Adebayo <joseshegs@gmail.com>",
20
+ "license": "MIT",
20
21
  "sideEffects": false,
21
22
  "homepage": "https://panda-css.com",
22
23
  "repository": {
@@ -32,16 +33,16 @@
32
33
  "magic-string": "0.30.17",
33
34
  "ts-morph": "26.0.0",
34
35
  "ts-pattern": "5.8.0",
35
- "@pandacss/config": "^1.4.0",
36
- "@pandacss/core": "^1.4.0",
37
- "@pandacss/extractor": "1.4.0",
38
- "@pandacss/logger": "1.4.0",
39
- "@pandacss/shared": "1.4.0",
40
- "@pandacss/types": "1.4.0"
36
+ "@pandacss/config": "^1.4.2",
37
+ "@pandacss/logger": "1.4.2",
38
+ "@pandacss/shared": "1.4.2",
39
+ "@pandacss/types": "1.4.2",
40
+ "@pandacss/core": "^1.4.2",
41
+ "@pandacss/extractor": "1.4.2"
41
42
  },
42
43
  "devDependencies": {
43
44
  "@vue/compiler-core": "3.4.19",
44
- "@pandacss/generator": "1.4.0"
45
+ "@pandacss/generator": "1.4.2"
45
46
  },
46
47
  "files": [
47
48
  "dist"