@seed-design/figma 1.1.13 → 1.1.14

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.
Files changed (43) hide show
  1. package/lib/codegen/index.cjs +636 -114
  2. package/lib/codegen/index.d.ts +136 -96
  3. package/lib/codegen/index.d.ts.map +1 -1
  4. package/lib/codegen/index.js +636 -114
  5. package/lib/codegen/targets/react/index.cjs +682 -134
  6. package/lib/codegen/targets/react/index.d.ts +31 -11
  7. package/lib/codegen/targets/react/index.d.ts.map +1 -1
  8. package/lib/codegen/targets/react/index.js +682 -135
  9. package/lib/index.cjs +1254 -433
  10. package/lib/index.d.ts +46 -10
  11. package/lib/index.d.ts.map +1 -1
  12. package/lib/index.js +1254 -433
  13. package/package.json +1 -1
  14. package/src/codegen/component-properties.ts +5 -5
  15. package/src/codegen/core/value-resolver.ts +49 -12
  16. package/src/codegen/targets/figma/frame.ts +1 -0
  17. package/src/codegen/targets/figma/pipeline.ts +5 -0
  18. package/src/codegen/targets/figma/props.ts +30 -1
  19. package/src/codegen/targets/figma/shape.ts +1 -0
  20. package/src/codegen/targets/figma/value-resolver.ts +20 -0
  21. package/src/codegen/targets/react/component/handlers/menu-sheet.ts +1 -1
  22. package/src/codegen/targets/react/component/handlers/page-banner.ts +2 -2
  23. package/src/codegen/targets/react/component/handlers/{radio-mark.ts → radiomark.ts} +4 -4
  24. package/src/codegen/targets/react/component/handlers/result-section.ts +1 -1
  25. package/src/codegen/targets/react/component/handlers/{switch-mark.ts → switchmark.ts} +4 -4
  26. package/src/codegen/targets/react/component/index.ts +4 -4
  27. package/src/codegen/targets/react/frame.ts +16 -2
  28. package/src/codegen/targets/react/pipeline.ts +6 -1
  29. package/src/codegen/targets/react/props.ts +26 -0
  30. package/src/codegen/targets/react/shape.ts +5 -1
  31. package/src/codegen/targets/react/value-resolver.ts +26 -0
  32. package/src/entities/data/__generated__/component-sets/index.d.ts +84 -89
  33. package/src/entities/data/__generated__/component-sets/index.mjs +84 -89
  34. package/src/entities/data/__generated__/components/index.d.ts +2 -2
  35. package/src/entities/data/__generated__/components/index.mjs +2 -2
  36. package/src/entities/data/__generated__/icons/index.mjs +14 -0
  37. package/src/entities/data/__generated__/styles/index.mjs +190 -1
  38. package/src/entities/data/__generated__/variable-collections/index.mjs +11 -1
  39. package/src/entities/data/__generated__/variables/index.mjs +280 -0
  40. package/src/normalizer/from-plugin.ts +427 -258
  41. package/src/normalizer/from-rest.ts +428 -58
  42. package/src/normalizer/types.ts +63 -10
  43. package/src/utils/figma-node.ts +15 -10
@@ -523,7 +523,8 @@ function getFirstSolidFill(node) {
523
523
  return fills[0];
524
524
  }
525
525
  function getFirstFillVariable(node) {
526
- return node.boundVariables?.fills?.[0];
526
+ const fill = getFirstSolidFill(node);
527
+ return fill?.boundVariables?.color;
527
528
  }
528
529
  function getFirstStroke(node) {
529
530
  const strokes = node.strokes?.filter((stroke)=>stroke.type === "SOLID" && (!("visible" in stroke) || stroke.visible === true)) ?? [];
@@ -533,10 +534,11 @@ function getFirstStroke(node) {
533
534
  return strokes[0];
534
535
  }
535
536
  function getFirstStrokeVariable(node) {
536
- return node.boundVariables?.strokes?.[0];
537
+ const stroke = getFirstStroke(node);
538
+ return stroke?.boundVariables?.color;
537
539
  }
538
540
 
539
- function createValueResolver({ variableService, variableNameFormatter, styleService, textStyleNameFormatter, fillStyleResolver, rawValueFormatters, shouldInferVariableName }) {
541
+ function createValueResolver({ variableService, variableNameFormatter, styleService, textStyleNameFormatter, effectStyleNameFormatter, fillStyleResolver, rawValueFormatters, shouldInferVariableName }) {
540
542
  function getVariableName(key) {
541
543
  const slug = variableService.getSlug(key);
542
544
  if (!slug) {
@@ -560,9 +562,9 @@ function createValueResolver({ variableService, variableNameFormatter, styleServ
560
562
  return undefined;
561
563
  }
562
564
  }
563
- function processColor(key, value, scope) {
564
- if (key) {
565
- return getVariableName(key);
565
+ function processColor(id, value, scope) {
566
+ if (id) {
567
+ return getVariableName(id);
566
568
  }
567
569
  if (value !== undefined) {
568
570
  return inferVariableName(value, scope) ?? rawValueFormatters.color(value);
@@ -578,27 +580,27 @@ function createValueResolver({ variableService, variableNameFormatter, styleServ
578
580
  slug
579
581
  });
580
582
  }
581
- function processDimension(key, value, scope) {
582
- if (key) {
583
- return getVariableName(key);
583
+ function processDimension(id, value, scope) {
584
+ if (id) {
585
+ return getVariableName(id);
584
586
  }
585
587
  if (value !== undefined) {
586
588
  return inferVariableName(value, scope) ?? rawValueFormatters.dimension(value);
587
589
  }
588
590
  return undefined;
589
591
  }
590
- function processFontDimension(key, value, scope) {
591
- if (key) {
592
- return getVariableName(key);
592
+ function processFontDimension(id, value, scope) {
593
+ if (id) {
594
+ return getVariableName(id);
593
595
  }
594
596
  if (value !== undefined) {
595
597
  return inferVariableName(value, scope) ?? rawValueFormatters.fontDimension(value);
596
598
  }
597
599
  return undefined;
598
600
  }
599
- function processFontWeight(key, value) {
600
- if (key) {
601
- return getVariableName(key);
601
+ function processFontWeight(id, value) {
602
+ if (id) {
603
+ return getVariableName(id);
602
604
  }
603
605
  if (value !== undefined) {
604
606
  const fontWeightToString = {
@@ -628,6 +630,7 @@ function createValueResolver({ variableService, variableNameFormatter, styleServ
628
630
  paddingTop: (node)=>processDimension(node.boundVariables?.paddingTop?.id, node.paddingTop, "GAP"),
629
631
  paddingBottom: (node)=>processDimension(node.boundVariables?.paddingBottom?.id, node.paddingBottom, "GAP"),
630
632
  itemSpacing: (node)=>processDimension(node.boundVariables?.itemSpacing?.id, node.itemSpacing, "GAP"),
633
+ counterAxisSpacing: (node)=>processDimension(node.boundVariables?.counterAxisSpacing?.id, node.counterAxisSpacing, "GAP"),
631
634
  frameFill: (node)=>node.fillStyleKey ? processFillStyle(node.fillStyleKey) : processColor(getFirstFillVariable(node)?.id, getFirstSolidFill(node)?.color, "FRAME_FILL"),
632
635
  shapeFill: (node)=>processColor(getFirstFillVariable(node)?.id, getFirstSolidFill(node)?.color, "SHAPE_FILL"),
633
636
  textFill: (node)=>processColor(getFirstFillVariable(node)?.id, getFirstSolidFill(node)?.color, "TEXT_FILL"),
@@ -638,7 +641,11 @@ function createValueResolver({ variableService, variableNameFormatter, styleServ
638
641
  bottomRightRadius: (node)=>processDimension(node.boundVariables?.bottomRightRadius?.id, node.rectangleCornerRadii?.[3] ?? node.cornerRadius, "CORNER_RADIUS"),
639
642
  fontSize: (node)=>processFontDimension(node.boundVariables?.fontSize?.[0]?.id, node.style.fontSize, "FONT_SIZE"),
640
643
  fontWeight: (node)=>processFontWeight(node.boundVariables?.fontWeight?.[0]?.id, node.style.fontWeight),
641
- lineHeight: (node)=>processFontDimension(node.boundVariables?.lineHeight?.[0]?.id, node.style.lineHeightPx, "LINE_HEIGHT")
644
+ lineHeight: (node)=>processFontDimension(node.boundVariables?.lineHeight?.[0]?.id, node.style.lineHeightPx, "LINE_HEIGHT"),
645
+ boxShadow: (node)=>{
646
+ if (node.effects.length === 0) return undefined;
647
+ return node.effects.map(rawValueFormatters.boxShadow).join(", ");
648
+ }
642
649
  };
643
650
  function getTextStyleValue(node) {
644
651
  if (!node.textStyleKey) return undefined;
@@ -650,9 +657,20 @@ function createValueResolver({ variableService, variableNameFormatter, styleServ
650
657
  slug
651
658
  });
652
659
  }
660
+ function getEffectStyleValue(node) {
661
+ if (!node.effectStyleKey) return undefined;
662
+ const slug = styleService.getSlug(node.effectStyleKey);
663
+ if (!slug) {
664
+ return undefined;
665
+ }
666
+ return effectStyleNameFormatter({
667
+ slug
668
+ });
669
+ }
653
670
  return {
654
671
  getFormattedValue,
655
- getTextStyleValue
672
+ getTextStyleValue,
673
+ getEffectStyleValue
656
674
  };
657
675
  }
658
676
 
@@ -702,7 +720,7 @@ const FIGMA_STYLES = [
702
720
  {
703
721
  "styleType": "TEXT",
704
722
  "key": "af24f9e7cc90af3bf2a18029dd59ae0646966486",
705
- "name": "legacy-13-150",
723
+ "name": "scale/legacy-13-150",
706
724
  "description": "13",
707
725
  "remote": false
708
726
  },
@@ -734,6 +752,27 @@ const FIGMA_STYLES = [
734
752
  "description": "11",
735
753
  "remote": false
736
754
  },
755
+ {
756
+ "styleType": "TEXT",
757
+ "key": "ab6db5fae979eef82d7eece9237bd04c02707f57",
758
+ "name": "scale/t1-static-bold",
759
+ "description": "11",
760
+ "remote": false
761
+ },
762
+ {
763
+ "styleType": "TEXT",
764
+ "key": "16c25fb788efbfe8f6d042820e342077a461f9bf",
765
+ "name": "scale/t1-static-medium",
766
+ "description": "11",
767
+ "remote": false
768
+ },
769
+ {
770
+ "styleType": "TEXT",
771
+ "key": "5579ed6f529f5e97049e0842212b4958437eea34",
772
+ "name": "scale/t1-static-regular",
773
+ "description": "11",
774
+ "remote": false
775
+ },
737
776
  {
738
777
  "styleType": "TEXT",
739
778
  "key": "6ea6b06312771259d59de265a5ef12cd1dae9102",
@@ -741,6 +780,13 @@ const FIGMA_STYLES = [
741
780
  "description": "26",
742
781
  "remote": false
743
782
  },
783
+ {
784
+ "styleType": "TEXT",
785
+ "key": "08861e25c3f74a29c2ae4ce007fe50b63e302392",
786
+ "name": "scale/t10-static-bold",
787
+ "description": "26",
788
+ "remote": false
789
+ },
744
790
  {
745
791
  "styleType": "TEXT",
746
792
  "key": "8378bd59b14f5682dcaf20110efde4b7a1fb18e3",
@@ -762,6 +808,27 @@ const FIGMA_STYLES = [
762
808
  "description": "12",
763
809
  "remote": false
764
810
  },
811
+ {
812
+ "styleType": "TEXT",
813
+ "key": "4c6e5c31b949694aa08bf8d4d5cc445e22cf301f",
814
+ "name": "scale/t2-static-bold",
815
+ "description": "12",
816
+ "remote": false
817
+ },
818
+ {
819
+ "styleType": "TEXT",
820
+ "key": "7d4bb16ddefb735fd197123b013864e7c412a934",
821
+ "name": "scale/t2-static-medium",
822
+ "description": "12",
823
+ "remote": false
824
+ },
825
+ {
826
+ "styleType": "TEXT",
827
+ "key": "e05fbcacd044da0c9e6b73c7382bc4562a4a5d30",
828
+ "name": "scale/t2-static-regular",
829
+ "description": "12",
830
+ "remote": false
831
+ },
765
832
  {
766
833
  "styleType": "TEXT",
767
834
  "key": "f749d659a689cbbecbdbb1b559056731234332a3",
@@ -783,6 +850,27 @@ const FIGMA_STYLES = [
783
850
  "description": "13",
784
851
  "remote": false
785
852
  },
853
+ {
854
+ "styleType": "TEXT",
855
+ "key": "3174e2a628cf75bc8f906af35b9b5d04595267c8",
856
+ "name": "scale/t3-static-bold",
857
+ "description": "13",
858
+ "remote": false
859
+ },
860
+ {
861
+ "styleType": "TEXT",
862
+ "key": "c19d7f5ec3290802216aa3b0993931835d8fa3b5",
863
+ "name": "scale/t3-static-medium",
864
+ "description": "13",
865
+ "remote": false
866
+ },
867
+ {
868
+ "styleType": "TEXT",
869
+ "key": "0cda3e483e52409e3ca59a019f29c16be078355f",
870
+ "name": "scale/t3-static-regular",
871
+ "description": "13",
872
+ "remote": false
873
+ },
786
874
  {
787
875
  "styleType": "TEXT",
788
876
  "key": "a85ea49c1625319427c047bc206c26e708012030",
@@ -804,6 +892,27 @@ const FIGMA_STYLES = [
804
892
  "description": "14",
805
893
  "remote": false
806
894
  },
895
+ {
896
+ "styleType": "TEXT",
897
+ "key": "35fd98a75610254f7c8c15c6e7b71d67fccd9eed",
898
+ "name": "scale/t4-static-bold",
899
+ "description": "14",
900
+ "remote": false
901
+ },
902
+ {
903
+ "styleType": "TEXT",
904
+ "key": "c785ba7fed186bd4c98295bdc2292933faed98ef",
905
+ "name": "scale/t4-static-medium",
906
+ "description": "14",
907
+ "remote": false
908
+ },
909
+ {
910
+ "styleType": "TEXT",
911
+ "key": "51a90741bcc1a7dc81293eae0f085a8d5fb01855",
912
+ "name": "scale/t4-static-regular",
913
+ "description": "14",
914
+ "remote": false
915
+ },
807
916
  {
808
917
  "styleType": "TEXT",
809
918
  "key": "8eff229c53f06eeb418f39ad1cb3dbe12480f12b",
@@ -825,6 +934,27 @@ const FIGMA_STYLES = [
825
934
  "description": "16",
826
935
  "remote": false
827
936
  },
937
+ {
938
+ "styleType": "TEXT",
939
+ "key": "37a672b087c5d72461b75c679924245ad89bcb06",
940
+ "name": "scale/t5-static-bold",
941
+ "description": "16",
942
+ "remote": false
943
+ },
944
+ {
945
+ "styleType": "TEXT",
946
+ "key": "8b295f9759faed27b6a03cc50a8b257bf3af5cd0",
947
+ "name": "scale/t5-static-medium",
948
+ "description": "16",
949
+ "remote": false
950
+ },
951
+ {
952
+ "styleType": "TEXT",
953
+ "key": "2011f31d265d6bb4535da4f16eb4f5d68f48d56e",
954
+ "name": "scale/t5-static-regular",
955
+ "description": "16",
956
+ "remote": false
957
+ },
828
958
  {
829
959
  "styleType": "TEXT",
830
960
  "key": "adf921a56e89b5737a6b626034cfea184e828370",
@@ -846,6 +976,27 @@ const FIGMA_STYLES = [
846
976
  "description": "18",
847
977
  "remote": false
848
978
  },
979
+ {
980
+ "styleType": "TEXT",
981
+ "key": "122ff9fd500bc63517b01a103a399b26130e7f0b",
982
+ "name": "scale/t6-static-bold",
983
+ "description": "18",
984
+ "remote": false
985
+ },
986
+ {
987
+ "styleType": "TEXT",
988
+ "key": "0de548c3afd5c31e8b1c42a0170d44beba400a55",
989
+ "name": "scale/t6-static-medium",
990
+ "description": "18",
991
+ "remote": false
992
+ },
993
+ {
994
+ "styleType": "TEXT",
995
+ "key": "c6d683f532e80c0c04e05057674e92265541a231",
996
+ "name": "scale/t6-static-regular",
997
+ "description": "18",
998
+ "remote": false
999
+ },
849
1000
  {
850
1001
  "styleType": "TEXT",
851
1002
  "key": "182d9252d7f7380075915a89e6160d7595124bc3",
@@ -867,6 +1018,27 @@ const FIGMA_STYLES = [
867
1018
  "description": "20",
868
1019
  "remote": false
869
1020
  },
1021
+ {
1022
+ "styleType": "TEXT",
1023
+ "key": "2454dff78b9ac153728a2cff00ca1d28f234e3a0",
1024
+ "name": "scale/t7-static-bold",
1025
+ "description": "20",
1026
+ "remote": false
1027
+ },
1028
+ {
1029
+ "styleType": "TEXT",
1030
+ "key": "f0da131559e6b466810b06343f94c551a0593bb4",
1031
+ "name": "scale/t7-static-medium",
1032
+ "description": "20",
1033
+ "remote": false
1034
+ },
1035
+ {
1036
+ "styleType": "TEXT",
1037
+ "key": "07ef3b8fcb31319d1d83100957eb06fc0e37c1e9",
1038
+ "name": "scale/t7-static-regular",
1039
+ "description": "20",
1040
+ "remote": false
1041
+ },
870
1042
  {
871
1043
  "styleType": "TEXT",
872
1044
  "key": "b7f864e3f64524a863d38729e2cea18f44c7ebaa",
@@ -874,6 +1046,13 @@ const FIGMA_STYLES = [
874
1046
  "description": "22",
875
1047
  "remote": false
876
1048
  },
1049
+ {
1050
+ "styleType": "TEXT",
1051
+ "key": "37821f18bc4416d7a81fa429d89240317a8f17e6",
1052
+ "name": "scale/t8-static-bold",
1053
+ "description": "22",
1054
+ "remote": false
1055
+ },
877
1056
  {
878
1057
  "styleType": "TEXT",
879
1058
  "key": "b146e1317c67db787834f1890493225bdbba4e48",
@@ -881,6 +1060,13 @@ const FIGMA_STYLES = [
881
1060
  "description": "24",
882
1061
  "remote": false
883
1062
  },
1063
+ {
1064
+ "styleType": "TEXT",
1065
+ "key": "c06e147e98440109199e2e3fa2a63390d19afb0c",
1066
+ "name": "scale/t9-static-bold",
1067
+ "description": "24",
1068
+ "remote": false
1069
+ },
884
1070
  {
885
1071
  "styleType": "TEXT",
886
1072
  "key": "85422ef9f0230f821f1a9e6d2f8f86b3ba87f20d",
@@ -894,6 +1080,27 @@ const FIGMA_STYLES = [
894
1080
  "name": "semantic/screen-title",
895
1081
  "description": "26",
896
1082
  "remote": false
1083
+ },
1084
+ {
1085
+ "styleType": "EFFECT",
1086
+ "key": "4717150d124a52434b2777609b046aa73a94c7ba",
1087
+ "name": "shadow/s1",
1088
+ "description": "",
1089
+ "remote": false
1090
+ },
1091
+ {
1092
+ "styleType": "EFFECT",
1093
+ "key": "906bc739e1b77bc1719762826f6d1154893c8266",
1094
+ "name": "shadow/s2",
1095
+ "description": "",
1096
+ "remote": false
1097
+ },
1098
+ {
1099
+ "styleType": "EFFECT",
1100
+ "key": "56f376d9146d9e158ba127ee8347c3cbf8329f19",
1101
+ "name": "shadow/s3",
1102
+ "description": "화면의 다른 요소들보다 가장 높은 계층에 위치할 때 사용됩니다.",
1103
+ "remote": false
897
1104
  }
898
1105
  ];
899
1106
 
@@ -952,8 +1159,8 @@ const FIGMA_VARIABLE_COLLECTIONS = {
952
1159
  "VariableID:654:20851",
953
1160
  "VariableID:1:171",
954
1161
  "VariableID:41186:6437",
955
- "VariableID:1:172",
956
1162
  "VariableID:1:158",
1163
+ "VariableID:1:172",
957
1164
  "VariableID:1:161",
958
1165
  "VariableID:1:159",
959
1166
  "VariableID:576:22878",
@@ -1008,6 +1215,16 @@ const FIGMA_VARIABLE_COLLECTIONS = {
1008
1215
  "VariableID:12548:1436",
1009
1216
  "VariableID:12548:1438",
1010
1217
  "VariableID:12548:1439",
1218
+ "VariableID:54897:41770",
1219
+ "VariableID:54897:41771",
1220
+ "VariableID:54897:41772",
1221
+ "VariableID:54897:41773",
1222
+ "VariableID:54897:41775",
1223
+ "VariableID:54897:41776",
1224
+ "VariableID:54897:41777",
1225
+ "VariableID:54897:41778",
1226
+ "VariableID:54897:41779",
1227
+ "VariableID:54897:41780",
1011
1228
  "VariableID:14609:16910",
1012
1229
  "VariableID:29333:3993",
1013
1230
  "VariableID:29333:10509",
@@ -1459,6 +1676,286 @@ const FIGMA_VARIABLES = {
1459
1676
  ],
1460
1677
  "codeSyntax": {}
1461
1678
  },
1679
+ "VariableID:54897:41776": {
1680
+ "name": "banner/blue",
1681
+ "id": "VariableID:54897:41776",
1682
+ "remote": false,
1683
+ "key": "f0d9f5531252da917ad0d0b5618c384218463fa1",
1684
+ "variableCollectionId": "VariableCollectionId:1:3",
1685
+ "resolvedType": "COLOR",
1686
+ "description": "",
1687
+ "hiddenFromPublishing": false,
1688
+ "valuesByMode": {
1689
+ "1928:7": {
1690
+ "r": 0.8823529481887817,
1691
+ "g": 0.9686274528503418,
1692
+ "b": 1,
1693
+ "a": 1
1694
+ },
1695
+ "1928:8": {
1696
+ "r": 0.05098039284348488,
1697
+ "g": 0.16470588743686676,
1698
+ "b": 0.22745098173618317,
1699
+ "a": 1
1700
+ }
1701
+ },
1702
+ "scopes": [
1703
+ "ALL_SCOPES"
1704
+ ],
1705
+ "codeSyntax": {}
1706
+ },
1707
+ "VariableID:54897:41780": {
1708
+ "name": "banner/cool-gray",
1709
+ "id": "VariableID:54897:41780",
1710
+ "remote": false,
1711
+ "key": "406783eff4302eda53767dc58be1467df8e36ba9",
1712
+ "variableCollectionId": "VariableCollectionId:1:3",
1713
+ "resolvedType": "COLOR",
1714
+ "description": "",
1715
+ "hiddenFromPublishing": false,
1716
+ "valuesByMode": {
1717
+ "1928:7": {
1718
+ "r": 0.9215686321258545,
1719
+ "g": 0.9450980424880981,
1720
+ "b": 0.9607843160629272,
1721
+ "a": 1
1722
+ },
1723
+ "1928:8": {
1724
+ "r": 0.1411764770746231,
1725
+ "g": 0.1725490242242813,
1726
+ "b": 0.20000000298023224,
1727
+ "a": 1
1728
+ }
1729
+ },
1730
+ "scopes": [
1731
+ "ALL_SCOPES"
1732
+ ],
1733
+ "codeSyntax": {}
1734
+ },
1735
+ "VariableID:54897:41773": {
1736
+ "name": "banner/green",
1737
+ "id": "VariableID:54897:41773",
1738
+ "remote": false,
1739
+ "key": "550727f1d9dd9badfe54ff576b58b0333366a9e3",
1740
+ "variableCollectionId": "VariableCollectionId:1:3",
1741
+ "resolvedType": "COLOR",
1742
+ "description": "",
1743
+ "hiddenFromPublishing": false,
1744
+ "valuesByMode": {
1745
+ "1928:7": {
1746
+ "r": 0.9411764740943909,
1747
+ "g": 0.9843137264251709,
1748
+ "b": 0.8980392217636108,
1749
+ "a": 1
1750
+ },
1751
+ "1928:8": {
1752
+ "r": 0.11764705926179886,
1753
+ "g": 0.21176470816135406,
1754
+ "b": 0.10980392247438431,
1755
+ "a": 1
1756
+ }
1757
+ },
1758
+ "scopes": [
1759
+ "ALL_SCOPES"
1760
+ ],
1761
+ "codeSyntax": {}
1762
+ },
1763
+ "VariableID:54897:41771": {
1764
+ "name": "banner/orange",
1765
+ "id": "VariableID:54897:41771",
1766
+ "remote": false,
1767
+ "key": "ef1b5c743d00c45c11fbc851e22c06159b5df1e0",
1768
+ "variableCollectionId": "VariableCollectionId:1:3",
1769
+ "resolvedType": "COLOR",
1770
+ "description": "",
1771
+ "hiddenFromPublishing": false,
1772
+ "valuesByMode": {
1773
+ "1928:7": {
1774
+ "r": 1,
1775
+ "g": 0.9490196108818054,
1776
+ "b": 0.8823529481887817,
1777
+ "a": 1
1778
+ },
1779
+ "1928:8": {
1780
+ "r": 0.25882354378700256,
1781
+ "g": 0.13725490868091583,
1782
+ "b": 0.03921568766236305,
1783
+ "a": 1
1784
+ }
1785
+ },
1786
+ "scopes": [
1787
+ "ALL_SCOPES"
1788
+ ],
1789
+ "codeSyntax": {}
1790
+ },
1791
+ "VariableID:54897:41778": {
1792
+ "name": "banner/pink",
1793
+ "id": "VariableID:54897:41778",
1794
+ "remote": false,
1795
+ "key": "04118a56e71ec0771842a975f80b1704daf0d087",
1796
+ "variableCollectionId": "VariableCollectionId:1:3",
1797
+ "resolvedType": "COLOR",
1798
+ "description": "",
1799
+ "hiddenFromPublishing": false,
1800
+ "valuesByMode": {
1801
+ "1928:7": {
1802
+ "r": 1,
1803
+ "g": 0.9215686321258545,
1804
+ "b": 0.9450980424880981,
1805
+ "a": 1
1806
+ },
1807
+ "1928:8": {
1808
+ "r": 0.23137255012989044,
1809
+ "g": 0.09019608050584793,
1810
+ "b": 0.1725490242242813,
1811
+ "a": 1
1812
+ }
1813
+ },
1814
+ "scopes": [
1815
+ "ALL_SCOPES"
1816
+ ],
1817
+ "codeSyntax": {}
1818
+ },
1819
+ "VariableID:54897:41777": {
1820
+ "name": "banner/purple",
1821
+ "id": "VariableID:54897:41777",
1822
+ "remote": false,
1823
+ "key": "2b4f397b4df3df91aae0020b486d03e7e59de3a1",
1824
+ "variableCollectionId": "VariableCollectionId:1:3",
1825
+ "resolvedType": "COLOR",
1826
+ "description": "",
1827
+ "hiddenFromPublishing": false,
1828
+ "valuesByMode": {
1829
+ "1928:7": {
1830
+ "r": 0.9607843160629272,
1831
+ "g": 0.9254902005195618,
1832
+ "b": 1,
1833
+ "a": 1
1834
+ },
1835
+ "1928:8": {
1836
+ "r": 0.18039216101169586,
1837
+ "g": 0.11764705926179886,
1838
+ "b": 0.2705882489681244,
1839
+ "a": 1
1840
+ }
1841
+ },
1842
+ "scopes": [
1843
+ "ALL_SCOPES"
1844
+ ],
1845
+ "codeSyntax": {}
1846
+ },
1847
+ "VariableID:54897:41770": {
1848
+ "name": "banner/red",
1849
+ "id": "VariableID:54897:41770",
1850
+ "remote": false,
1851
+ "key": "332c3632c7252e24d088ff6775a717f2f27514b7",
1852
+ "variableCollectionId": "VariableCollectionId:1:3",
1853
+ "resolvedType": "COLOR",
1854
+ "description": "",
1855
+ "hiddenFromPublishing": false,
1856
+ "valuesByMode": {
1857
+ "1928:7": {
1858
+ "r": 1,
1859
+ "g": 0.9254902005195618,
1860
+ "b": 0.9333333373069763,
1861
+ "a": 1
1862
+ },
1863
+ "1928:8": {
1864
+ "r": 0.22745098173618317,
1865
+ "g": 0.05882352963089943,
1866
+ "b": 0.08235294371843338,
1867
+ "a": 1
1868
+ }
1869
+ },
1870
+ "scopes": [
1871
+ "ALL_SCOPES"
1872
+ ],
1873
+ "codeSyntax": {}
1874
+ },
1875
+ "VariableID:54897:41775": {
1876
+ "name": "banner/teal",
1877
+ "id": "VariableID:54897:41775",
1878
+ "remote": false,
1879
+ "key": "44155474e492d3bf5a93f8d5b68324c052c279e6",
1880
+ "variableCollectionId": "VariableCollectionId:1:3",
1881
+ "resolvedType": "COLOR",
1882
+ "description": "",
1883
+ "hiddenFromPublishing": false,
1884
+ "valuesByMode": {
1885
+ "1928:7": {
1886
+ "r": 0.9019607901573181,
1887
+ "g": 0.9803921580314636,
1888
+ "b": 0.9647058844566345,
1889
+ "a": 1
1890
+ },
1891
+ "1928:8": {
1892
+ "r": 0.0784313753247261,
1893
+ "g": 0.21176470816135406,
1894
+ "b": 0.20000000298023224,
1895
+ "a": 1
1896
+ }
1897
+ },
1898
+ "scopes": [
1899
+ "ALL_SCOPES"
1900
+ ],
1901
+ "codeSyntax": {}
1902
+ },
1903
+ "VariableID:54897:41779": {
1904
+ "name": "banner/warm-gray",
1905
+ "id": "VariableID:54897:41779",
1906
+ "remote": false,
1907
+ "key": "795d9d04de8ba3479af2ff06e3359e7a8648caa3",
1908
+ "variableCollectionId": "VariableCollectionId:1:3",
1909
+ "resolvedType": "COLOR",
1910
+ "description": "",
1911
+ "hiddenFromPublishing": false,
1912
+ "valuesByMode": {
1913
+ "1928:7": {
1914
+ "r": 0.9490196108818054,
1915
+ "g": 0.9411764740943909,
1916
+ "b": 0.9333333373069763,
1917
+ "a": 1
1918
+ },
1919
+ "1928:8": {
1920
+ "r": 0.18431372940540314,
1921
+ "g": 0.16862745583057404,
1922
+ "b": 0.15294118225574493,
1923
+ "a": 1
1924
+ }
1925
+ },
1926
+ "scopes": [
1927
+ "ALL_SCOPES"
1928
+ ],
1929
+ "codeSyntax": {}
1930
+ },
1931
+ "VariableID:54897:41772": {
1932
+ "name": "banner/yellow",
1933
+ "id": "VariableID:54897:41772",
1934
+ "remote": false,
1935
+ "key": "dc09473d4db3cb127f45ee30f88ecb682d25d723",
1936
+ "variableCollectionId": "VariableCollectionId:1:3",
1937
+ "resolvedType": "COLOR",
1938
+ "description": "",
1939
+ "hiddenFromPublishing": false,
1940
+ "valuesByMode": {
1941
+ "1928:7": {
1942
+ "r": 1,
1943
+ "g": 0.9803921580314636,
1944
+ "b": 0.8823529481887817,
1945
+ "a": 1
1946
+ },
1947
+ "1928:8": {
1948
+ "r": 0.24313725531101227,
1949
+ "g": 0.16862745583057404,
1950
+ "b": 0,
1951
+ "a": 1
1952
+ }
1953
+ },
1954
+ "scopes": [
1955
+ "ALL_SCOPES"
1956
+ ],
1957
+ "codeSyntax": {}
1958
+ },
1462
1959
  "VariableID:1:151": {
1463
1960
  "name": "bg/brand-solid",
1464
1961
  "id": "VariableID:1:151",
@@ -8013,26 +8510,6 @@ const FIGMA_VARIABLES = {
8013
8510
  }
8014
8511
  };
8015
8512
 
8016
- const templateBannerDetach = {
8017
- "name": "templateBannerDetach",
8018
- "key": "b9670e4d68d2b1057f28916728a845dc9c160c0f",
8019
- "componentPropertyDefinitions": {
8020
- "Layout": {
8021
- "type": "VARIANT",
8022
- "variantOptions": [
8023
- "Title + Description",
8024
- "Description + Title"
8025
- ]
8026
- },
8027
- "Rounded": {
8028
- "type": "VARIANT",
8029
- "variantOptions": [
8030
- "True",
8031
- "False"
8032
- ]
8033
- }
8034
- }
8035
- };
8036
8513
  const templateButtonGroup = {
8037
8514
  "name": "templateButtonGroup",
8038
8515
  "key": "29109a34197f2eb5d390b1d9ebba270979a7b302",
@@ -8117,70 +8594,18 @@ const templateCustomPickerField = {
8117
8594
  }
8118
8595
  }
8119
8596
  };
8120
- const templateResultSection = {
8121
- "name": "templateResultSection",
8122
- "key": "fabd52c41c63d921e37e0a1de373e4df2b496f30",
8597
+ const templateDisclaimer = {
8598
+ "name": "templateDisclaimer",
8599
+ "key": "e08d2594b76c6c0107e34c0071cab8ef844c8998",
8123
8600
  "componentPropertyDefinitions": {
8124
- "Title#16237:0": {
8125
- "type": "TEXT"
8126
- },
8127
- "Description#16237:5": {
8128
- "type": "TEXT"
8129
- },
8130
- "Asset Type#45154:9": {
8131
- "type": "INSTANCE_SWAP",
8132
- "preferredValues": [
8133
- {
8134
- "type": "COMPONENT",
8135
- "key": "3f2ed06bd34fbaf24d371cefa973e09e2c2572bf"
8136
- },
8137
- {
8138
- "type": "COMPONENT",
8139
- "key": "bf1ad3ad5c45a2e94fd800f7f6ecbe52ba0667ab"
8140
- },
8141
- {
8142
- "type": "COMPONENT",
8143
- "key": "d357dcf0fbff80f3bfa70fe4fd5d48a9bddd1b49"
8144
- },
8145
- {
8146
- "type": "COMPONENT",
8147
- "key": "a53df434b562c1eeb04dab9abd88431989c5fc33"
8148
- },
8149
- {
8150
- "type": "COMPONENT",
8151
- "key": "5e53811a1e1444deccb5147b6a57196a3be467c9"
8152
- },
8153
- {
8154
- "type": "COMPONENT",
8155
- "key": "3ff3999d2d2bbed2c7656210793d4f083901f73b"
8156
- },
8157
- {
8158
- "type": "COMPONENT",
8159
- "key": "56fcf964b7784ca83eaf6c9b1531de6150d23a0d"
8160
- },
8161
- {
8162
- "type": "COMPONENT",
8163
- "key": "5652618ddd66c844ab977d083d0dc41cb98f98ae"
8164
- }
8165
- ]
8166
- },
8167
- "Show Asset#45154:14": {
8168
- "type": "BOOLEAN"
8169
- },
8170
- "Show Buttons#53435:0": {
8171
- "type": "BOOLEAN"
8172
- },
8173
- "ㄴShow First Button#53766:0": {
8174
- "type": "BOOLEAN"
8175
- },
8176
- "ㄴShow Second Button#53766:3": {
8601
+ "Show Title#54910:2": {
8177
8602
  "type": "BOOLEAN"
8178
8603
  },
8179
8604
  "Size": {
8180
8605
  "type": "VARIANT",
8181
8606
  "variantOptions": [
8182
- "Large",
8183
- "Medium"
8607
+ "t4(14pt)",
8608
+ "t5(16pt)"
8184
8609
  ]
8185
8610
  }
8186
8611
  }
@@ -9196,17 +9621,16 @@ const menuSheet = {
9196
9621
  "Menu Group Count": {
9197
9622
  "type": "VARIANT",
9198
9623
  "variantOptions": [
9624
+ "1",
9199
9625
  "2",
9200
- "3",
9201
- "1"
9626
+ "3"
9202
9627
  ]
9203
9628
  },
9204
9629
  "Layout": {
9205
9630
  "type": "VARIANT",
9206
9631
  "variantOptions": [
9207
9632
  "Text Only",
9208
- "Text with Icon",
9209
- "Text with Subtext"
9633
+ "Text with Icon"
9210
9634
  ]
9211
9635
  }
9212
9636
  }
@@ -9229,10 +9653,10 @@ const pageBanner = {
9229
9653
  "type": "VARIANT",
9230
9654
  "variantOptions": [
9231
9655
  "Display",
9656
+ "Display (With Action)",
9232
9657
  "Actionable",
9233
9658
  "Dismissible",
9234
- "With Action",
9235
- "Custom"
9659
+ "Actionable (Custom)"
9236
9660
  ]
9237
9661
  },
9238
9662
  "Tone": {
@@ -9339,8 +9763,8 @@ const radio = {
9339
9763
  }
9340
9764
  }
9341
9765
  };
9342
- const radioMark = {
9343
- "name": "radioMark",
9766
+ const radiomark = {
9767
+ "name": "radiomark",
9344
9768
  "key": "832d696d6e9566610968cd70f128f500ec009d6a",
9345
9769
  "componentPropertyDefinitions": {
9346
9770
  "Size": {
@@ -9452,6 +9876,74 @@ const resizableChild = {
9452
9876
  }
9453
9877
  }
9454
9878
  };
9879
+ const resultSection = {
9880
+ "name": "resultSection",
9881
+ "key": "fabd52c41c63d921e37e0a1de373e4df2b496f30",
9882
+ "componentPropertyDefinitions": {
9883
+ "Title#16237:0": {
9884
+ "type": "TEXT"
9885
+ },
9886
+ "Description#16237:5": {
9887
+ "type": "TEXT"
9888
+ },
9889
+ "Asset Type#45154:9": {
9890
+ "type": "INSTANCE_SWAP",
9891
+ "preferredValues": [
9892
+ {
9893
+ "type": "COMPONENT",
9894
+ "key": "3f2ed06bd34fbaf24d371cefa973e09e2c2572bf"
9895
+ },
9896
+ {
9897
+ "type": "COMPONENT",
9898
+ "key": "bf1ad3ad5c45a2e94fd800f7f6ecbe52ba0667ab"
9899
+ },
9900
+ {
9901
+ "type": "COMPONENT",
9902
+ "key": "d357dcf0fbff80f3bfa70fe4fd5d48a9bddd1b49"
9903
+ },
9904
+ {
9905
+ "type": "COMPONENT",
9906
+ "key": "a53df434b562c1eeb04dab9abd88431989c5fc33"
9907
+ },
9908
+ {
9909
+ "type": "COMPONENT",
9910
+ "key": "5e53811a1e1444deccb5147b6a57196a3be467c9"
9911
+ },
9912
+ {
9913
+ "type": "COMPONENT",
9914
+ "key": "3ff3999d2d2bbed2c7656210793d4f083901f73b"
9915
+ },
9916
+ {
9917
+ "type": "COMPONENT",
9918
+ "key": "56fcf964b7784ca83eaf6c9b1531de6150d23a0d"
9919
+ },
9920
+ {
9921
+ "type": "COMPONENT",
9922
+ "key": "5652618ddd66c844ab977d083d0dc41cb98f98ae"
9923
+ }
9924
+ ]
9925
+ },
9926
+ "Show Asset#45154:14": {
9927
+ "type": "BOOLEAN"
9928
+ },
9929
+ "Show Buttons#53435:0": {
9930
+ "type": "BOOLEAN"
9931
+ },
9932
+ "ㄴShow First Button#53766:0": {
9933
+ "type": "BOOLEAN"
9934
+ },
9935
+ "ㄴShow Second Button#53766:3": {
9936
+ "type": "BOOLEAN"
9937
+ },
9938
+ "Size": {
9939
+ "type": "VARIANT",
9940
+ "variantOptions": [
9941
+ "Large",
9942
+ "Medium"
9943
+ ]
9944
+ }
9945
+ }
9946
+ };
9455
9947
  const rootTopNavigationGlobal = {
9456
9948
  "name": "rootTopNavigationGlobal",
9457
9949
  "key": "a694a1da14a5c1d7d5c66bc78218c0c61fb388ab",
@@ -9684,8 +10176,8 @@ const _switch = {
9684
10176
  }
9685
10177
  }
9686
10178
  };
9687
- const switchMark = {
9688
- "name": "switchMark",
10179
+ const switchmark = {
10180
+ "name": "switchmark",
9689
10181
  "key": "bc53f269089e02a1d241e2a21ac7631bfa49834e",
9690
10182
  "componentPropertyDefinitions": {
9691
10183
  "Size": {
@@ -9952,10 +10444,11 @@ var FIGMA_COMPONENTS = {
9952
10444
  pageBanner: pageBanner,
9953
10445
  progressCircle: progressCircle,
9954
10446
  radio: radio,
9955
- radioMark: radioMark,
10447
+ radiomark: radiomark,
9956
10448
  reactionButton: reactionButton,
9957
10449
  resizableChild: resizableChild,
9958
10450
  resizableIcon: resizableIcon,
10451
+ resultSection: resultSection,
9959
10452
  rootTopNavigationGlobal: rootTopNavigationGlobal,
9960
10453
  rootTopNavigationKr: rootTopNavigationKr,
9961
10454
  segmentedControl: segmentedControl,
@@ -9964,14 +10457,13 @@ var FIGMA_COMPONENTS = {
9964
10457
  slider: slider,
9965
10458
  snackbar: snackbar,
9966
10459
  superscriptChild: superscriptChild,
9967
- switchMark: switchMark,
10460
+ switchmark: switchmark,
9968
10461
  tabs: tabs,
9969
10462
  tagGroup: tagGroup,
9970
- templateBannerDetach: templateBannerDetach,
9971
10463
  templateButtonGroup: templateButtonGroup,
9972
10464
  templateChipGroup: templateChipGroup,
9973
10465
  templateCustomPickerField: templateCustomPickerField,
9974
- templateResultSection: templateResultSection,
10466
+ templateDisclaimer: templateDisclaimer,
9975
10467
  templateSelectBoxGroup: templateSelectBoxGroup,
9976
10468
  templateSliderField: templateSliderField,
9977
10469
  templateTextField: templateTextField,
@@ -10195,7 +10687,8 @@ function createFrameTransformer({ propsConverters }) {
10195
10687
  ...propsConverters.containerLayout(node),
10196
10688
  ...propsConverters.selfLayout(node),
10197
10689
  ...propsConverters.frameFill(node),
10198
- ...propsConverters.stroke(node)
10690
+ ...propsConverters.stroke(node),
10691
+ ...propsConverters.shadow(node)
10199
10692
  };
10200
10693
  return createElement("Frame", props, children.map((child)=>traverse(child)));
10201
10694
  });
@@ -10226,6 +10719,7 @@ function createContainerLayoutPropsConverter(valueResolver) {
10226
10719
  counterAxisAlignItems: ({ counterAxisAlignItems })=>counterAxisAlignItems,
10227
10720
  layoutWrap: ({ layoutWrap })=>layoutWrap,
10228
10721
  itemSpacing: (node)=>valueResolver.getFormattedValue.itemSpacing(node),
10722
+ counterAxisSpacing: (node)=>valueResolver.getFormattedValue.counterAxisSpacing(node),
10229
10723
  paddingTop: (node)=>valueResolver.getFormattedValue.paddingTop(node),
10230
10724
  paddingBottom: (node)=>valueResolver.getFormattedValue.paddingBottom(node),
10231
10725
  paddingLeft: (node)=>valueResolver.getFormattedValue.paddingLeft(node),
@@ -10338,6 +10832,20 @@ function createTypeStylePropsConverter(valueResolver) {
10338
10832
  };
10339
10833
  });
10340
10834
  }
10835
+ function createShadowPropsConverter(valueResolver) {
10836
+ return definePropsConverter((node)=>{
10837
+ const effectStyleName = valueResolver.getEffectStyleValue(node);
10838
+ if (effectStyleName) {
10839
+ return {
10840
+ boxShadowStyle: effectStyleName
10841
+ };
10842
+ }
10843
+ const boxShadow = valueResolver.getFormattedValue.boxShadow(node);
10844
+ return {
10845
+ boxShadow
10846
+ };
10847
+ });
10848
+ }
10341
10849
 
10342
10850
  function createRectangleTransformer({ propsConverters }) {
10343
10851
  return defineElementTransformer((node)=>{
@@ -10352,7 +10860,8 @@ function createVectorTransformer({ propsConverters }) {
10352
10860
  ...propsConverters.selfLayout(node),
10353
10861
  ...propsConverters.radius(node),
10354
10862
  ...propsConverters.stroke(node),
10355
- ...propsConverters.shapeFill(node)
10863
+ ...propsConverters.shapeFill(node),
10864
+ ...propsConverters.shadow(node)
10356
10865
  }, [], {
10357
10866
  comment: "Vector Node Placeholder"
10358
10867
  });
@@ -10393,6 +10902,7 @@ function toCssRgba(color) {
10393
10902
 
10394
10903
  const defaultVariableNameFormatter = ({ slug })=>slug.filter((s)=>s !== "dimension").map((s)=>s.replaceAll(",", "_")).join("/");
10395
10904
  const defaultTextStyleNameFormatter = ({ slug })=>slug[slug.length - 1];
10905
+ const defaultEffectStyleNameFormatter = ({ slug })=>slug[slug.length - 1];
10396
10906
  const defaultFillStyleResolver = ({ slug })=>{
10397
10907
  const [, ...rest] = slug;
10398
10908
  if (rest.includes("fade")) {
@@ -10418,11 +10928,19 @@ const defaultFillStyleResolver = ({ slug })=>{
10418
10928
  })
10419
10929
  };
10420
10930
  };
10931
+ function formatBoxShadow(value) {
10932
+ const { type, color, offset, radius, spread } = value;
10933
+ const inset = type === "INNER_SHADOW" ? "inset " : "";
10934
+ const colorStr = toCssRgba(color);
10935
+ const spreadStr = spread !== undefined ? ` ${spread}px` : "";
10936
+ return `${inset}${offset.x}px ${offset.y}px ${radius}px${spreadStr} ${colorStr}`;
10937
+ }
10421
10938
  const defaultRawValueFormatters = {
10422
10939
  color: (value)=>toCssRgba(value),
10423
10940
  dimension: (value)=>value,
10424
10941
  fontDimension: (value)=>value,
10425
- fontWeight: (value)=>value
10942
+ fontWeight: (value)=>value,
10943
+ boxShadow: formatBoxShadow
10426
10944
  };
10427
10945
 
10428
10946
  function createPipeline(options = {}) {
@@ -10432,6 +10950,7 @@ function createPipeline(options = {}) {
10432
10950
  variableNameFormatter: defaultVariableNameFormatter,
10433
10951
  styleService,
10434
10952
  textStyleNameFormatter: defaultTextStyleNameFormatter,
10953
+ effectStyleNameFormatter: defaultEffectStyleNameFormatter,
10435
10954
  fillStyleResolver: defaultFillStyleResolver,
10436
10955
  rawValueFormatters: defaultRawValueFormatters,
10437
10956
  shouldInferVariableName
@@ -10443,6 +10962,7 @@ function createPipeline(options = {}) {
10443
10962
  const textFillPropsConverter = createTextFillPropsConverter(valueResolver);
10444
10963
  const radiusPropsConverter = createRadiusPropsConverter(valueResolver);
10445
10964
  const strokePropsConverter = createStrokePropsConverter(valueResolver);
10965
+ const shadowPropsConverter = createShadowPropsConverter(valueResolver);
10446
10966
  const typeStylePropsConverter = createTypeStylePropsConverter(valueResolver);
10447
10967
  const propsConverters = {
10448
10968
  containerLayout: containerLayoutPropsConverter,
@@ -10452,6 +10972,7 @@ function createPipeline(options = {}) {
10452
10972
  textFill: textFillPropsConverter,
10453
10973
  radius: radiusPropsConverter,
10454
10974
  stroke: strokePropsConverter,
10975
+ shadow: shadowPropsConverter,
10455
10976
  typeStyle: typeStylePropsConverter
10456
10977
  };
10457
10978
  const frameTransformer = createFrameTransformer({
@@ -10496,6 +11017,7 @@ var index = {
10496
11017
  createRadiusPropsConverter: createRadiusPropsConverter,
10497
11018
  createRectangleTransformer: createRectangleTransformer,
10498
11019
  createSelfLayoutPropsConverter: createSelfLayoutPropsConverter,
11020
+ createShadowPropsConverter: createShadowPropsConverter,
10499
11021
  createShapeFillPropsConverter: createShapeFillPropsConverter,
10500
11022
  createStrokePropsConverter: createStrokePropsConverter,
10501
11023
  createTextFillPropsConverter: createTextFillPropsConverter,