@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
@@ -524,8 +524,9 @@ function createPropsConverter({ handlers, shorthands, defaults }) {
524
524
 
525
525
  function traverseNode(node, callback) {
526
526
  callback(node);
527
- if ("children" in node) {
528
- node.children.forEach((child)=>traverseNode(child, callback));
527
+ if (!("children" in node)) return;
528
+ for (const child of node.children){
529
+ traverseNode(child, callback);
529
530
  }
530
531
  }
531
532
  function findOne(node, callback) {
@@ -557,7 +558,8 @@ function getFirstSolidFill(node) {
557
558
  return fills[0];
558
559
  }
559
560
  function getFirstFillVariable(node) {
560
- return node.boundVariables?.fills?.[0];
561
+ const fill = getFirstSolidFill(node);
562
+ return fill?.boundVariables?.color;
561
563
  }
562
564
  function getFirstStroke(node) {
563
565
  const strokes = node.strokes?.filter((stroke)=>stroke.type === "SOLID" && (!("visible" in stroke) || stroke.visible === true)) ?? [];
@@ -567,10 +569,11 @@ function getFirstStroke(node) {
567
569
  return strokes[0];
568
570
  }
569
571
  function getFirstStrokeVariable(node) {
570
- return node.boundVariables?.strokes?.[0];
572
+ const stroke = getFirstStroke(node);
573
+ return stroke?.boundVariables?.color;
571
574
  }
572
575
 
573
- function createValueResolver({ variableService, variableNameFormatter, styleService, textStyleNameFormatter, fillStyleResolver, rawValueFormatters, shouldInferVariableName }) {
576
+ function createValueResolver({ variableService, variableNameFormatter, styleService, textStyleNameFormatter, effectStyleNameFormatter, fillStyleResolver, rawValueFormatters, shouldInferVariableName }) {
574
577
  function getVariableName(key) {
575
578
  const slug = variableService.getSlug(key);
576
579
  if (!slug) {
@@ -594,9 +597,9 @@ function createValueResolver({ variableService, variableNameFormatter, styleServ
594
597
  return undefined;
595
598
  }
596
599
  }
597
- function processColor(key, value, scope) {
598
- if (key) {
599
- return getVariableName(key);
600
+ function processColor(id, value, scope) {
601
+ if (id) {
602
+ return getVariableName(id);
600
603
  }
601
604
  if (value !== undefined) {
602
605
  return inferVariableName(value, scope) ?? rawValueFormatters.color(value);
@@ -612,27 +615,27 @@ function createValueResolver({ variableService, variableNameFormatter, styleServ
612
615
  slug
613
616
  });
614
617
  }
615
- function processDimension(key, value, scope) {
616
- if (key) {
617
- return getVariableName(key);
618
+ function processDimension(id, value, scope) {
619
+ if (id) {
620
+ return getVariableName(id);
618
621
  }
619
622
  if (value !== undefined) {
620
623
  return inferVariableName(value, scope) ?? rawValueFormatters.dimension(value);
621
624
  }
622
625
  return undefined;
623
626
  }
624
- function processFontDimension(key, value, scope) {
625
- if (key) {
626
- return getVariableName(key);
627
+ function processFontDimension(id, value, scope) {
628
+ if (id) {
629
+ return getVariableName(id);
627
630
  }
628
631
  if (value !== undefined) {
629
632
  return inferVariableName(value, scope) ?? rawValueFormatters.fontDimension(value);
630
633
  }
631
634
  return undefined;
632
635
  }
633
- function processFontWeight(key, value) {
634
- if (key) {
635
- return getVariableName(key);
636
+ function processFontWeight(id, value) {
637
+ if (id) {
638
+ return getVariableName(id);
636
639
  }
637
640
  if (value !== undefined) {
638
641
  const fontWeightToString = {
@@ -662,6 +665,7 @@ function createValueResolver({ variableService, variableNameFormatter, styleServ
662
665
  paddingTop: (node)=>processDimension(node.boundVariables?.paddingTop?.id, node.paddingTop, "GAP"),
663
666
  paddingBottom: (node)=>processDimension(node.boundVariables?.paddingBottom?.id, node.paddingBottom, "GAP"),
664
667
  itemSpacing: (node)=>processDimension(node.boundVariables?.itemSpacing?.id, node.itemSpacing, "GAP"),
668
+ counterAxisSpacing: (node)=>processDimension(node.boundVariables?.counterAxisSpacing?.id, node.counterAxisSpacing, "GAP"),
665
669
  frameFill: (node)=>node.fillStyleKey ? processFillStyle(node.fillStyleKey) : processColor(getFirstFillVariable(node)?.id, getFirstSolidFill(node)?.color, "FRAME_FILL"),
666
670
  shapeFill: (node)=>processColor(getFirstFillVariable(node)?.id, getFirstSolidFill(node)?.color, "SHAPE_FILL"),
667
671
  textFill: (node)=>processColor(getFirstFillVariable(node)?.id, getFirstSolidFill(node)?.color, "TEXT_FILL"),
@@ -672,7 +676,11 @@ function createValueResolver({ variableService, variableNameFormatter, styleServ
672
676
  bottomRightRadius: (node)=>processDimension(node.boundVariables?.bottomRightRadius?.id, node.rectangleCornerRadii?.[3] ?? node.cornerRadius, "CORNER_RADIUS"),
673
677
  fontSize: (node)=>processFontDimension(node.boundVariables?.fontSize?.[0]?.id, node.style.fontSize, "FONT_SIZE"),
674
678
  fontWeight: (node)=>processFontWeight(node.boundVariables?.fontWeight?.[0]?.id, node.style.fontWeight),
675
- lineHeight: (node)=>processFontDimension(node.boundVariables?.lineHeight?.[0]?.id, node.style.lineHeightPx, "LINE_HEIGHT")
679
+ lineHeight: (node)=>processFontDimension(node.boundVariables?.lineHeight?.[0]?.id, node.style.lineHeightPx, "LINE_HEIGHT"),
680
+ boxShadow: (node)=>{
681
+ if (node.effects.length === 0) return undefined;
682
+ return node.effects.map(rawValueFormatters.boxShadow).join(", ");
683
+ }
676
684
  };
677
685
  function getTextStyleValue(node) {
678
686
  if (!node.textStyleKey) return undefined;
@@ -684,9 +692,20 @@ function createValueResolver({ variableService, variableNameFormatter, styleServ
684
692
  slug
685
693
  });
686
694
  }
695
+ function getEffectStyleValue(node) {
696
+ if (!node.effectStyleKey) return undefined;
697
+ const slug = styleService.getSlug(node.effectStyleKey);
698
+ if (!slug) {
699
+ return undefined;
700
+ }
701
+ return effectStyleNameFormatter({
702
+ slug
703
+ });
704
+ }
687
705
  return {
688
706
  getFormattedValue,
689
- getTextStyleValue
707
+ getTextStyleValue,
708
+ getEffectStyleValue
690
709
  };
691
710
  }
692
711
 
@@ -883,6 +902,20 @@ function createStrokePropsConverter(valueResolver) {
883
902
  };
884
903
  });
885
904
  }
905
+ function createShadowPropsConverter(valueResolver) {
906
+ return definePropsConverter((node)=>{
907
+ const effectStyleName = valueResolver.getEffectStyleValue(node);
908
+ if (effectStyleName) {
909
+ return {
910
+ boxShadow: effectStyleName
911
+ };
912
+ }
913
+ const boxShadow = valueResolver.getFormattedValue.boxShadow(node);
914
+ return {
915
+ boxShadow
916
+ };
917
+ });
918
+ }
886
919
 
887
920
  const SEED_REACT_IMPORT_PATH = "@seed-design/react";
888
921
  const LOCAL_SNIPPET_BASE_PATH = "seed-design/ui";
@@ -922,6 +955,7 @@ function createRectangleTransformer({ propsConverters }) {
922
955
  return defineElementTransformer((node)=>{
923
956
  return createSeedReactElement("Box", {
924
957
  ...propsConverters.selfLayout(node),
958
+ ...propsConverters.shadow(node),
925
959
  background: "palette.gray200"
926
960
  }, undefined, {
927
961
  comment: "Rectangle Node Placeholder"
@@ -962,10 +996,12 @@ function createFrameTransformer({ propsConverters }) {
962
996
  ...isFlex ? propsConverters.containerLayout(node) : {},
963
997
  ...propsConverters.selfLayout(node),
964
998
  ...propsConverters.frameFill(node),
965
- ...propsConverters.stroke(node)
999
+ ...propsConverters.stroke(node),
1000
+ ...propsConverters.shadow(node)
966
1001
  };
967
1002
  const isStretch = props.align === undefined || props.align === "stretch";
968
1003
  const layoutComponent = inferLayoutComponent(props, isFlex);
1004
+ const hasSpacingMismatch = node.layoutWrap === "WRAP" && node.counterAxisSpacing !== undefined && node.itemSpacing !== node.counterAxisSpacing;
969
1005
  const hasImageFill = node.fills.some(({ type })=>type === "IMAGE");
970
1006
  const imgElement = hasImageFill ? createElement("img", {
971
1007
  src: `https://placehold.co/${node.absoluteBoundingBox?.width ?? 100}x${node.absoluteBoundingBox?.height ?? 100}`
@@ -976,15 +1012,23 @@ function createFrameTransformer({ propsConverters }) {
976
1012
  alignSelf: undefined
977
1013
  }) : child) : transformedChildren
978
1014
  ];
1015
+ const comment = [
1016
+ hasSpacingMismatch && // currently counterAxisSpacing is only supported when direction=row
1017
+ `row-gap과 column-gap이 다릅니다. (row-gap: ${node.counterAxisSpacing}, column-gap: ${node.itemSpacing})`
1018
+ ].filter((cmt)=>cmt).join(" ");
979
1019
  switch(layoutComponent){
980
1020
  case "VStack":
981
1021
  case "HStack":
982
1022
  {
983
1023
  const { direction: _direction, ...rest } = props;
984
- return createSeedReactElement(layoutComponent, rest, processedChildren);
1024
+ return createSeedReactElement(layoutComponent, rest, processedChildren, {
1025
+ comment
1026
+ });
985
1027
  }
986
1028
  case "Box":
987
- return createSeedReactElement("Box", props, processedChildren);
1029
+ return createSeedReactElement("Box", props, processedChildren, {
1030
+ comment
1031
+ });
988
1032
  }
989
1033
  });
990
1034
  }
@@ -1052,26 +1096,6 @@ function createTextTransformer({ propsConverters }) {
1052
1096
  });
1053
1097
  }
1054
1098
 
1055
- const templateBannerDetach = {
1056
- "name": "templateBannerDetach",
1057
- "key": "b9670e4d68d2b1057f28916728a845dc9c160c0f",
1058
- "componentPropertyDefinitions": {
1059
- "Layout": {
1060
- "type": "VARIANT",
1061
- "variantOptions": [
1062
- "Title + Description",
1063
- "Description + Title"
1064
- ]
1065
- },
1066
- "Rounded": {
1067
- "type": "VARIANT",
1068
- "variantOptions": [
1069
- "True",
1070
- "False"
1071
- ]
1072
- }
1073
- }
1074
- };
1075
1099
  const templateButtonGroup = {
1076
1100
  "name": "templateButtonGroup",
1077
1101
  "key": "29109a34197f2eb5d390b1d9ebba270979a7b302",
@@ -1156,70 +1180,18 @@ const templateCustomPickerField = {
1156
1180
  }
1157
1181
  }
1158
1182
  };
1159
- const templateResultSection = {
1160
- "name": "templateResultSection",
1161
- "key": "fabd52c41c63d921e37e0a1de373e4df2b496f30",
1183
+ const templateDisclaimer = {
1184
+ "name": "templateDisclaimer",
1185
+ "key": "e08d2594b76c6c0107e34c0071cab8ef844c8998",
1162
1186
  "componentPropertyDefinitions": {
1163
- "Title#16237:0": {
1164
- "type": "TEXT"
1165
- },
1166
- "Description#16237:5": {
1167
- "type": "TEXT"
1168
- },
1169
- "Asset Type#45154:9": {
1170
- "type": "INSTANCE_SWAP",
1171
- "preferredValues": [
1172
- {
1173
- "type": "COMPONENT",
1174
- "key": "3f2ed06bd34fbaf24d371cefa973e09e2c2572bf"
1175
- },
1176
- {
1177
- "type": "COMPONENT",
1178
- "key": "bf1ad3ad5c45a2e94fd800f7f6ecbe52ba0667ab"
1179
- },
1180
- {
1181
- "type": "COMPONENT",
1182
- "key": "d357dcf0fbff80f3bfa70fe4fd5d48a9bddd1b49"
1183
- },
1184
- {
1185
- "type": "COMPONENT",
1186
- "key": "a53df434b562c1eeb04dab9abd88431989c5fc33"
1187
- },
1188
- {
1189
- "type": "COMPONENT",
1190
- "key": "5e53811a1e1444deccb5147b6a57196a3be467c9"
1191
- },
1192
- {
1193
- "type": "COMPONENT",
1194
- "key": "3ff3999d2d2bbed2c7656210793d4f083901f73b"
1195
- },
1196
- {
1197
- "type": "COMPONENT",
1198
- "key": "56fcf964b7784ca83eaf6c9b1531de6150d23a0d"
1199
- },
1200
- {
1201
- "type": "COMPONENT",
1202
- "key": "5652618ddd66c844ab977d083d0dc41cb98f98ae"
1203
- }
1204
- ]
1205
- },
1206
- "Show Asset#45154:14": {
1207
- "type": "BOOLEAN"
1208
- },
1209
- "Show Buttons#53435:0": {
1210
- "type": "BOOLEAN"
1211
- },
1212
- "ㄴShow First Button#53766:0": {
1213
- "type": "BOOLEAN"
1214
- },
1215
- "ㄴShow Second Button#53766:3": {
1187
+ "Show Title#54910:2": {
1216
1188
  "type": "BOOLEAN"
1217
1189
  },
1218
1190
  "Size": {
1219
1191
  "type": "VARIANT",
1220
1192
  "variantOptions": [
1221
- "Large",
1222
- "Medium"
1193
+ "t4(14pt)",
1194
+ "t5(16pt)"
1223
1195
  ]
1224
1196
  }
1225
1197
  }
@@ -2235,17 +2207,16 @@ const menuSheet = {
2235
2207
  "Menu Group Count": {
2236
2208
  "type": "VARIANT",
2237
2209
  "variantOptions": [
2210
+ "1",
2238
2211
  "2",
2239
- "3",
2240
- "1"
2212
+ "3"
2241
2213
  ]
2242
2214
  },
2243
2215
  "Layout": {
2244
2216
  "type": "VARIANT",
2245
2217
  "variantOptions": [
2246
2218
  "Text Only",
2247
- "Text with Icon",
2248
- "Text with Subtext"
2219
+ "Text with Icon"
2249
2220
  ]
2250
2221
  }
2251
2222
  }
@@ -2268,10 +2239,10 @@ const pageBanner = {
2268
2239
  "type": "VARIANT",
2269
2240
  "variantOptions": [
2270
2241
  "Display",
2242
+ "Display (With Action)",
2271
2243
  "Actionable",
2272
2244
  "Dismissible",
2273
- "With Action",
2274
- "Custom"
2245
+ "Actionable (Custom)"
2275
2246
  ]
2276
2247
  },
2277
2248
  "Tone": {
@@ -2378,8 +2349,8 @@ const radio = {
2378
2349
  }
2379
2350
  }
2380
2351
  };
2381
- const radioMark = {
2382
- "name": "radioMark",
2352
+ const radiomark = {
2353
+ "name": "radiomark",
2383
2354
  "key": "832d696d6e9566610968cd70f128f500ec009d6a",
2384
2355
  "componentPropertyDefinitions": {
2385
2356
  "Size": {
@@ -2491,6 +2462,74 @@ const resizableChild = {
2491
2462
  }
2492
2463
  }
2493
2464
  };
2465
+ const resultSection = {
2466
+ "name": "resultSection",
2467
+ "key": "fabd52c41c63d921e37e0a1de373e4df2b496f30",
2468
+ "componentPropertyDefinitions": {
2469
+ "Title#16237:0": {
2470
+ "type": "TEXT"
2471
+ },
2472
+ "Description#16237:5": {
2473
+ "type": "TEXT"
2474
+ },
2475
+ "Asset Type#45154:9": {
2476
+ "type": "INSTANCE_SWAP",
2477
+ "preferredValues": [
2478
+ {
2479
+ "type": "COMPONENT",
2480
+ "key": "3f2ed06bd34fbaf24d371cefa973e09e2c2572bf"
2481
+ },
2482
+ {
2483
+ "type": "COMPONENT",
2484
+ "key": "bf1ad3ad5c45a2e94fd800f7f6ecbe52ba0667ab"
2485
+ },
2486
+ {
2487
+ "type": "COMPONENT",
2488
+ "key": "d357dcf0fbff80f3bfa70fe4fd5d48a9bddd1b49"
2489
+ },
2490
+ {
2491
+ "type": "COMPONENT",
2492
+ "key": "a53df434b562c1eeb04dab9abd88431989c5fc33"
2493
+ },
2494
+ {
2495
+ "type": "COMPONENT",
2496
+ "key": "5e53811a1e1444deccb5147b6a57196a3be467c9"
2497
+ },
2498
+ {
2499
+ "type": "COMPONENT",
2500
+ "key": "3ff3999d2d2bbed2c7656210793d4f083901f73b"
2501
+ },
2502
+ {
2503
+ "type": "COMPONENT",
2504
+ "key": "56fcf964b7784ca83eaf6c9b1531de6150d23a0d"
2505
+ },
2506
+ {
2507
+ "type": "COMPONENT",
2508
+ "key": "5652618ddd66c844ab977d083d0dc41cb98f98ae"
2509
+ }
2510
+ ]
2511
+ },
2512
+ "Show Asset#45154:14": {
2513
+ "type": "BOOLEAN"
2514
+ },
2515
+ "Show Buttons#53435:0": {
2516
+ "type": "BOOLEAN"
2517
+ },
2518
+ "ㄴShow First Button#53766:0": {
2519
+ "type": "BOOLEAN"
2520
+ },
2521
+ "ㄴShow Second Button#53766:3": {
2522
+ "type": "BOOLEAN"
2523
+ },
2524
+ "Size": {
2525
+ "type": "VARIANT",
2526
+ "variantOptions": [
2527
+ "Large",
2528
+ "Medium"
2529
+ ]
2530
+ }
2531
+ }
2532
+ };
2494
2533
  const rootTopNavigationGlobal = {
2495
2534
  "name": "rootTopNavigationGlobal",
2496
2535
  "key": "a694a1da14a5c1d7d5c66bc78218c0c61fb388ab",
@@ -2723,8 +2762,8 @@ const _switch = {
2723
2762
  }
2724
2763
  }
2725
2764
  };
2726
- const switchMark = {
2727
- "name": "switchMark",
2765
+ const switchmark = {
2766
+ "name": "switchmark",
2728
2767
  "key": "bc53f269089e02a1d241e2a21ac7631bfa49834e",
2729
2768
  "componentPropertyDefinitions": {
2730
2769
  "Size": {
@@ -2991,10 +3030,11 @@ var FIGMA_COMPONENTS = {
2991
3030
  pageBanner: pageBanner,
2992
3031
  progressCircle: progressCircle,
2993
3032
  radio: radio,
2994
- radioMark: radioMark,
3033
+ radiomark: radiomark,
2995
3034
  reactionButton: reactionButton,
2996
3035
  resizableChild: resizableChild,
2997
3036
  resizableIcon: resizableIcon,
3037
+ resultSection: resultSection,
2998
3038
  rootTopNavigationGlobal: rootTopNavigationGlobal,
2999
3039
  rootTopNavigationKr: rootTopNavigationKr,
3000
3040
  segmentedControl: segmentedControl,
@@ -3003,14 +3043,13 @@ var FIGMA_COMPONENTS = {
3003
3043
  slider: slider,
3004
3044
  snackbar: snackbar,
3005
3045
  superscriptChild: superscriptChild,
3006
- switchMark: switchMark,
3046
+ switchmark: switchmark,
3007
3047
  tabs: tabs,
3008
3048
  tagGroup: tagGroup,
3009
- templateBannerDetach: templateBannerDetach,
3010
3049
  templateButtonGroup: templateButtonGroup,
3011
3050
  templateChipGroup: templateChipGroup,
3012
3051
  templateCustomPickerField: templateCustomPickerField,
3013
- templateResultSection: templateResultSection,
3052
+ templateDisclaimer: templateDisclaimer,
3014
3053
  templateSelectBoxGroup: templateSelectBoxGroup,
3015
3054
  templateSliderField: templateSliderField,
3016
3055
  templateTextField: templateTextField,
@@ -4073,7 +4112,7 @@ const createMenuSheetHandler = (ctx)=>{
4073
4112
  const title = props["Show Header#17043:12"].value ? props["Title Text#14599:0"].value : undefined;
4074
4113
  // TODO: React 구현체에 description 추가 이후
4075
4114
  // const description = props["Description Text#21827:0"].value;
4076
- const { labelAlign } = match(props.Layout.value).with("Text with Icon", "Text with Subtext", ()=>({
4115
+ const { labelAlign } = match(props.Layout.value).with("Text with Icon", ()=>({
4077
4116
  labelAlign: "left"
4078
4117
  })).with("Text Only", ()=>({
4079
4118
  labelAlign: "center"
@@ -4112,7 +4151,7 @@ const createPageBannerHandler = (ctx)=>{
4112
4151
  })).with("Display", ()=>({
4113
4152
  tag: "PageBanner",
4114
4153
  suffix: undefined
4115
- })).with("With Action", ()=>{
4154
+ })).with("Display (With Action)", ()=>{
4116
4155
  const [buttonNode] = findAllInstances({
4117
4156
  node,
4118
4157
  key: SUFFIX_BUTTON_KEY
@@ -4122,7 +4161,7 @@ const createPageBannerHandler = (ctx)=>{
4122
4161
  tag: "PageBanner",
4123
4162
  suffix
4124
4163
  };
4125
- }).with("Custom", ()=>({
4164
+ }).with("Actionable (Custom)", ()=>({
4126
4165
  tag: "PageBanner",
4127
4166
  suffix: createElement("div", undefined, "Custom Content")
4128
4167
  })).exhaustive();
@@ -4217,7 +4256,7 @@ const createRadioGroupItemHandler = (_ctx)=>defineComponentHandler(radio.key, ({
4217
4256
  });
4218
4257
 
4219
4258
  const { createLocalSnippetElement: createLocalSnippetElement$b } = createLocalSnippetHelper("radio-group");
4220
- const createRadioMarkHandler = (_ctx)=>defineComponentHandler(radioMark.key, ({ componentProperties: props })=>{
4259
+ const createRadiomarkHandler = (_ctx)=>defineComponentHandler(radiomark.key, ({ componentProperties: props })=>{
4221
4260
  const tone = match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated]Brand", ()=>"brand").exhaustive();
4222
4261
  const commonProps = {
4223
4262
  tone,
@@ -4253,7 +4292,7 @@ const { createLocalSnippetElement: createLocalSnippetElement$9 } = createLocalSn
4253
4292
  const createResultSectionHandler = (ctx)=>{
4254
4293
  const actionButtonHandler = createActionButtonHandler(ctx);
4255
4294
  const ghostButtonHandler = createActionButtonGhostHandler(ctx);
4256
- return defineComponentHandler(templateResultSection.key, (node, traverse)=>{
4295
+ return defineComponentHandler(resultSection.key, (node, traverse)=>{
4257
4296
  const props = node.componentProperties;
4258
4297
  const [actionButton] = props["Show Buttons#53435:0"].value && props["ㄴShow First Button#53766:0"].value ? findAllInstances({
4259
4298
  node,
@@ -4473,7 +4512,7 @@ const createSnackbarHandler = (_ctx)=>defineComponentHandler(snackbar.key, ({ co
4473
4512
  });
4474
4513
 
4475
4514
  const { createLocalSnippetElement: createLocalSnippetElement$4 } = createLocalSnippetHelper("switch");
4476
- const createSwitchMarkHandler = (_ctx)=>defineComponentHandler(switchMark.key, ({ componentProperties: props })=>{
4515
+ const createSwitchmarkHandler = (_ctx)=>defineComponentHandler(switchmark.key, ({ componentProperties: props })=>{
4477
4516
  const tone = match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated] Brand", ()=>"brand").exhaustive();
4478
4517
  const commonProps = {
4479
4518
  tone,
@@ -5093,9 +5132,9 @@ const unboundSeedComponentHandlers = [
5093
5132
  createCheckboxHandler,
5094
5133
  createCheckmarkHandler,
5095
5134
  createRadioGroupItemHandler,
5096
- createRadioMarkHandler,
5135
+ createRadiomarkHandler,
5097
5136
  createSwitchHandler,
5098
- createSwitchMarkHandler,
5137
+ createSwitchmarkHandler,
5099
5138
  createAlertDialogHandler,
5100
5139
  createDividerHandler,
5101
5140
  createAvatarHandler,
@@ -6779,6 +6818,16 @@ const FIGMA_ICONS = {
6779
6818
  "type": "monochrome",
6780
6819
  "weight": "Line"
6781
6820
  },
6821
+ "27885dd88c45e55e1ce6790b6517b663fbc89286": {
6822
+ "name": "icon_keyhole_shield",
6823
+ "type": "monochrome",
6824
+ "weight": "Fill"
6825
+ },
6826
+ "2111483a75d693815d578415279d077e66412da1": {
6827
+ "name": "icon_keyhole_shield",
6828
+ "type": "monochrome",
6829
+ "weight": "Line"
6830
+ },
6782
6831
  "fe92b27029511a3fa4745e4d49cba81ee303cf48": {
6783
6832
  "name": "icon_laptop",
6784
6833
  "type": "monochrome",
@@ -8519,6 +8568,10 @@ const FIGMA_ICONS = {
8519
8568
  "name": "icon_tshirt_bubble2",
8520
8569
  "type": "multicolor"
8521
8570
  },
8571
+ "ab66ee11be5539d340a87f1e9ca021fef1db3ef8": {
8572
+ "name": "icon_vest_horizstripe",
8573
+ "type": "multicolor"
8574
+ },
8522
8575
  "7ddb6f0f63708485a75cb21a25fae01671a34562": {
8523
8576
  "name": "icon_warninglight",
8524
8577
  "type": "multicolor"
@@ -8595,7 +8648,7 @@ const FIGMA_STYLES = [
8595
8648
  {
8596
8649
  "styleType": "TEXT",
8597
8650
  "key": "af24f9e7cc90af3bf2a18029dd59ae0646966486",
8598
- "name": "legacy-13-150",
8651
+ "name": "scale/legacy-13-150",
8599
8652
  "description": "13",
8600
8653
  "remote": false
8601
8654
  },
@@ -8627,6 +8680,27 @@ const FIGMA_STYLES = [
8627
8680
  "description": "11",
8628
8681
  "remote": false
8629
8682
  },
8683
+ {
8684
+ "styleType": "TEXT",
8685
+ "key": "ab6db5fae979eef82d7eece9237bd04c02707f57",
8686
+ "name": "scale/t1-static-bold",
8687
+ "description": "11",
8688
+ "remote": false
8689
+ },
8690
+ {
8691
+ "styleType": "TEXT",
8692
+ "key": "16c25fb788efbfe8f6d042820e342077a461f9bf",
8693
+ "name": "scale/t1-static-medium",
8694
+ "description": "11",
8695
+ "remote": false
8696
+ },
8697
+ {
8698
+ "styleType": "TEXT",
8699
+ "key": "5579ed6f529f5e97049e0842212b4958437eea34",
8700
+ "name": "scale/t1-static-regular",
8701
+ "description": "11",
8702
+ "remote": false
8703
+ },
8630
8704
  {
8631
8705
  "styleType": "TEXT",
8632
8706
  "key": "6ea6b06312771259d59de265a5ef12cd1dae9102",
@@ -8634,6 +8708,13 @@ const FIGMA_STYLES = [
8634
8708
  "description": "26",
8635
8709
  "remote": false
8636
8710
  },
8711
+ {
8712
+ "styleType": "TEXT",
8713
+ "key": "08861e25c3f74a29c2ae4ce007fe50b63e302392",
8714
+ "name": "scale/t10-static-bold",
8715
+ "description": "26",
8716
+ "remote": false
8717
+ },
8637
8718
  {
8638
8719
  "styleType": "TEXT",
8639
8720
  "key": "8378bd59b14f5682dcaf20110efde4b7a1fb18e3",
@@ -8655,6 +8736,27 @@ const FIGMA_STYLES = [
8655
8736
  "description": "12",
8656
8737
  "remote": false
8657
8738
  },
8739
+ {
8740
+ "styleType": "TEXT",
8741
+ "key": "4c6e5c31b949694aa08bf8d4d5cc445e22cf301f",
8742
+ "name": "scale/t2-static-bold",
8743
+ "description": "12",
8744
+ "remote": false
8745
+ },
8746
+ {
8747
+ "styleType": "TEXT",
8748
+ "key": "7d4bb16ddefb735fd197123b013864e7c412a934",
8749
+ "name": "scale/t2-static-medium",
8750
+ "description": "12",
8751
+ "remote": false
8752
+ },
8753
+ {
8754
+ "styleType": "TEXT",
8755
+ "key": "e05fbcacd044da0c9e6b73c7382bc4562a4a5d30",
8756
+ "name": "scale/t2-static-regular",
8757
+ "description": "12",
8758
+ "remote": false
8759
+ },
8658
8760
  {
8659
8761
  "styleType": "TEXT",
8660
8762
  "key": "f749d659a689cbbecbdbb1b559056731234332a3",
@@ -8676,6 +8778,27 @@ const FIGMA_STYLES = [
8676
8778
  "description": "13",
8677
8779
  "remote": false
8678
8780
  },
8781
+ {
8782
+ "styleType": "TEXT",
8783
+ "key": "3174e2a628cf75bc8f906af35b9b5d04595267c8",
8784
+ "name": "scale/t3-static-bold",
8785
+ "description": "13",
8786
+ "remote": false
8787
+ },
8788
+ {
8789
+ "styleType": "TEXT",
8790
+ "key": "c19d7f5ec3290802216aa3b0993931835d8fa3b5",
8791
+ "name": "scale/t3-static-medium",
8792
+ "description": "13",
8793
+ "remote": false
8794
+ },
8795
+ {
8796
+ "styleType": "TEXT",
8797
+ "key": "0cda3e483e52409e3ca59a019f29c16be078355f",
8798
+ "name": "scale/t3-static-regular",
8799
+ "description": "13",
8800
+ "remote": false
8801
+ },
8679
8802
  {
8680
8803
  "styleType": "TEXT",
8681
8804
  "key": "a85ea49c1625319427c047bc206c26e708012030",
@@ -8697,6 +8820,27 @@ const FIGMA_STYLES = [
8697
8820
  "description": "14",
8698
8821
  "remote": false
8699
8822
  },
8823
+ {
8824
+ "styleType": "TEXT",
8825
+ "key": "35fd98a75610254f7c8c15c6e7b71d67fccd9eed",
8826
+ "name": "scale/t4-static-bold",
8827
+ "description": "14",
8828
+ "remote": false
8829
+ },
8830
+ {
8831
+ "styleType": "TEXT",
8832
+ "key": "c785ba7fed186bd4c98295bdc2292933faed98ef",
8833
+ "name": "scale/t4-static-medium",
8834
+ "description": "14",
8835
+ "remote": false
8836
+ },
8837
+ {
8838
+ "styleType": "TEXT",
8839
+ "key": "51a90741bcc1a7dc81293eae0f085a8d5fb01855",
8840
+ "name": "scale/t4-static-regular",
8841
+ "description": "14",
8842
+ "remote": false
8843
+ },
8700
8844
  {
8701
8845
  "styleType": "TEXT",
8702
8846
  "key": "8eff229c53f06eeb418f39ad1cb3dbe12480f12b",
@@ -8718,6 +8862,27 @@ const FIGMA_STYLES = [
8718
8862
  "description": "16",
8719
8863
  "remote": false
8720
8864
  },
8865
+ {
8866
+ "styleType": "TEXT",
8867
+ "key": "37a672b087c5d72461b75c679924245ad89bcb06",
8868
+ "name": "scale/t5-static-bold",
8869
+ "description": "16",
8870
+ "remote": false
8871
+ },
8872
+ {
8873
+ "styleType": "TEXT",
8874
+ "key": "8b295f9759faed27b6a03cc50a8b257bf3af5cd0",
8875
+ "name": "scale/t5-static-medium",
8876
+ "description": "16",
8877
+ "remote": false
8878
+ },
8879
+ {
8880
+ "styleType": "TEXT",
8881
+ "key": "2011f31d265d6bb4535da4f16eb4f5d68f48d56e",
8882
+ "name": "scale/t5-static-regular",
8883
+ "description": "16",
8884
+ "remote": false
8885
+ },
8721
8886
  {
8722
8887
  "styleType": "TEXT",
8723
8888
  "key": "adf921a56e89b5737a6b626034cfea184e828370",
@@ -8741,23 +8906,65 @@ const FIGMA_STYLES = [
8741
8906
  },
8742
8907
  {
8743
8908
  "styleType": "TEXT",
8744
- "key": "182d9252d7f7380075915a89e6160d7595124bc3",
8745
- "name": "scale/t7-bold",
8746
- "description": "20",
8909
+ "key": "122ff9fd500bc63517b01a103a399b26130e7f0b",
8910
+ "name": "scale/t6-static-bold",
8911
+ "description": "18",
8747
8912
  "remote": false
8748
8913
  },
8749
8914
  {
8750
8915
  "styleType": "TEXT",
8751
- "key": "b2e24640e7dc1264fc638434511c9f994e1e149c",
8752
- "name": "scale/t7-medium",
8753
- "description": "20",
8916
+ "key": "0de548c3afd5c31e8b1c42a0170d44beba400a55",
8917
+ "name": "scale/t6-static-medium",
8918
+ "description": "18",
8754
8919
  "remote": false
8755
8920
  },
8756
8921
  {
8757
8922
  "styleType": "TEXT",
8758
- "key": "eb1c0409582609a51fe9afc9e31301d529e3d12f",
8759
- "name": "scale/t7-regular",
8760
- "description": "20",
8923
+ "key": "c6d683f532e80c0c04e05057674e92265541a231",
8924
+ "name": "scale/t6-static-regular",
8925
+ "description": "18",
8926
+ "remote": false
8927
+ },
8928
+ {
8929
+ "styleType": "TEXT",
8930
+ "key": "182d9252d7f7380075915a89e6160d7595124bc3",
8931
+ "name": "scale/t7-bold",
8932
+ "description": "20",
8933
+ "remote": false
8934
+ },
8935
+ {
8936
+ "styleType": "TEXT",
8937
+ "key": "b2e24640e7dc1264fc638434511c9f994e1e149c",
8938
+ "name": "scale/t7-medium",
8939
+ "description": "20",
8940
+ "remote": false
8941
+ },
8942
+ {
8943
+ "styleType": "TEXT",
8944
+ "key": "eb1c0409582609a51fe9afc9e31301d529e3d12f",
8945
+ "name": "scale/t7-regular",
8946
+ "description": "20",
8947
+ "remote": false
8948
+ },
8949
+ {
8950
+ "styleType": "TEXT",
8951
+ "key": "2454dff78b9ac153728a2cff00ca1d28f234e3a0",
8952
+ "name": "scale/t7-static-bold",
8953
+ "description": "20",
8954
+ "remote": false
8955
+ },
8956
+ {
8957
+ "styleType": "TEXT",
8958
+ "key": "f0da131559e6b466810b06343f94c551a0593bb4",
8959
+ "name": "scale/t7-static-medium",
8960
+ "description": "20",
8961
+ "remote": false
8962
+ },
8963
+ {
8964
+ "styleType": "TEXT",
8965
+ "key": "07ef3b8fcb31319d1d83100957eb06fc0e37c1e9",
8966
+ "name": "scale/t7-static-regular",
8967
+ "description": "20",
8761
8968
  "remote": false
8762
8969
  },
8763
8970
  {
@@ -8767,6 +8974,13 @@ const FIGMA_STYLES = [
8767
8974
  "description": "22",
8768
8975
  "remote": false
8769
8976
  },
8977
+ {
8978
+ "styleType": "TEXT",
8979
+ "key": "37821f18bc4416d7a81fa429d89240317a8f17e6",
8980
+ "name": "scale/t8-static-bold",
8981
+ "description": "22",
8982
+ "remote": false
8983
+ },
8770
8984
  {
8771
8985
  "styleType": "TEXT",
8772
8986
  "key": "b146e1317c67db787834f1890493225bdbba4e48",
@@ -8774,6 +8988,13 @@ const FIGMA_STYLES = [
8774
8988
  "description": "24",
8775
8989
  "remote": false
8776
8990
  },
8991
+ {
8992
+ "styleType": "TEXT",
8993
+ "key": "c06e147e98440109199e2e3fa2a63390d19afb0c",
8994
+ "name": "scale/t9-static-bold",
8995
+ "description": "24",
8996
+ "remote": false
8997
+ },
8777
8998
  {
8778
8999
  "styleType": "TEXT",
8779
9000
  "key": "85422ef9f0230f821f1a9e6d2f8f86b3ba87f20d",
@@ -8787,6 +9008,27 @@ const FIGMA_STYLES = [
8787
9008
  "name": "semantic/screen-title",
8788
9009
  "description": "26",
8789
9010
  "remote": false
9011
+ },
9012
+ {
9013
+ "styleType": "EFFECT",
9014
+ "key": "4717150d124a52434b2777609b046aa73a94c7ba",
9015
+ "name": "shadow/s1",
9016
+ "description": "",
9017
+ "remote": false
9018
+ },
9019
+ {
9020
+ "styleType": "EFFECT",
9021
+ "key": "906bc739e1b77bc1719762826f6d1154893c8266",
9022
+ "name": "shadow/s2",
9023
+ "description": "",
9024
+ "remote": false
9025
+ },
9026
+ {
9027
+ "styleType": "EFFECT",
9028
+ "key": "56f376d9146d9e158ba127ee8347c3cbf8329f19",
9029
+ "name": "shadow/s3",
9030
+ "description": "화면의 다른 요소들보다 가장 높은 계층에 위치할 때 사용됩니다.",
9031
+ "remote": false
8790
9032
  }
8791
9033
  ];
8792
9034
 
@@ -8845,8 +9087,8 @@ const FIGMA_VARIABLE_COLLECTIONS = {
8845
9087
  "VariableID:654:20851",
8846
9088
  "VariableID:1:171",
8847
9089
  "VariableID:41186:6437",
8848
- "VariableID:1:172",
8849
9090
  "VariableID:1:158",
9091
+ "VariableID:1:172",
8850
9092
  "VariableID:1:161",
8851
9093
  "VariableID:1:159",
8852
9094
  "VariableID:576:22878",
@@ -8901,6 +9143,16 @@ const FIGMA_VARIABLE_COLLECTIONS = {
8901
9143
  "VariableID:12548:1436",
8902
9144
  "VariableID:12548:1438",
8903
9145
  "VariableID:12548:1439",
9146
+ "VariableID:54897:41770",
9147
+ "VariableID:54897:41771",
9148
+ "VariableID:54897:41772",
9149
+ "VariableID:54897:41773",
9150
+ "VariableID:54897:41775",
9151
+ "VariableID:54897:41776",
9152
+ "VariableID:54897:41777",
9153
+ "VariableID:54897:41778",
9154
+ "VariableID:54897:41779",
9155
+ "VariableID:54897:41780",
8904
9156
  "VariableID:14609:16910",
8905
9157
  "VariableID:29333:3993",
8906
9158
  "VariableID:29333:10509",
@@ -9352,6 +9604,286 @@ const FIGMA_VARIABLES = {
9352
9604
  ],
9353
9605
  "codeSyntax": {}
9354
9606
  },
9607
+ "VariableID:54897:41776": {
9608
+ "name": "banner/blue",
9609
+ "id": "VariableID:54897:41776",
9610
+ "remote": false,
9611
+ "key": "f0d9f5531252da917ad0d0b5618c384218463fa1",
9612
+ "variableCollectionId": "VariableCollectionId:1:3",
9613
+ "resolvedType": "COLOR",
9614
+ "description": "",
9615
+ "hiddenFromPublishing": false,
9616
+ "valuesByMode": {
9617
+ "1928:7": {
9618
+ "r": 0.8823529481887817,
9619
+ "g": 0.9686274528503418,
9620
+ "b": 1,
9621
+ "a": 1
9622
+ },
9623
+ "1928:8": {
9624
+ "r": 0.05098039284348488,
9625
+ "g": 0.16470588743686676,
9626
+ "b": 0.22745098173618317,
9627
+ "a": 1
9628
+ }
9629
+ },
9630
+ "scopes": [
9631
+ "ALL_SCOPES"
9632
+ ],
9633
+ "codeSyntax": {}
9634
+ },
9635
+ "VariableID:54897:41780": {
9636
+ "name": "banner/cool-gray",
9637
+ "id": "VariableID:54897:41780",
9638
+ "remote": false,
9639
+ "key": "406783eff4302eda53767dc58be1467df8e36ba9",
9640
+ "variableCollectionId": "VariableCollectionId:1:3",
9641
+ "resolvedType": "COLOR",
9642
+ "description": "",
9643
+ "hiddenFromPublishing": false,
9644
+ "valuesByMode": {
9645
+ "1928:7": {
9646
+ "r": 0.9215686321258545,
9647
+ "g": 0.9450980424880981,
9648
+ "b": 0.9607843160629272,
9649
+ "a": 1
9650
+ },
9651
+ "1928:8": {
9652
+ "r": 0.1411764770746231,
9653
+ "g": 0.1725490242242813,
9654
+ "b": 0.20000000298023224,
9655
+ "a": 1
9656
+ }
9657
+ },
9658
+ "scopes": [
9659
+ "ALL_SCOPES"
9660
+ ],
9661
+ "codeSyntax": {}
9662
+ },
9663
+ "VariableID:54897:41773": {
9664
+ "name": "banner/green",
9665
+ "id": "VariableID:54897:41773",
9666
+ "remote": false,
9667
+ "key": "550727f1d9dd9badfe54ff576b58b0333366a9e3",
9668
+ "variableCollectionId": "VariableCollectionId:1:3",
9669
+ "resolvedType": "COLOR",
9670
+ "description": "",
9671
+ "hiddenFromPublishing": false,
9672
+ "valuesByMode": {
9673
+ "1928:7": {
9674
+ "r": 0.9411764740943909,
9675
+ "g": 0.9843137264251709,
9676
+ "b": 0.8980392217636108,
9677
+ "a": 1
9678
+ },
9679
+ "1928:8": {
9680
+ "r": 0.11764705926179886,
9681
+ "g": 0.21176470816135406,
9682
+ "b": 0.10980392247438431,
9683
+ "a": 1
9684
+ }
9685
+ },
9686
+ "scopes": [
9687
+ "ALL_SCOPES"
9688
+ ],
9689
+ "codeSyntax": {}
9690
+ },
9691
+ "VariableID:54897:41771": {
9692
+ "name": "banner/orange",
9693
+ "id": "VariableID:54897:41771",
9694
+ "remote": false,
9695
+ "key": "ef1b5c743d00c45c11fbc851e22c06159b5df1e0",
9696
+ "variableCollectionId": "VariableCollectionId:1:3",
9697
+ "resolvedType": "COLOR",
9698
+ "description": "",
9699
+ "hiddenFromPublishing": false,
9700
+ "valuesByMode": {
9701
+ "1928:7": {
9702
+ "r": 1,
9703
+ "g": 0.9490196108818054,
9704
+ "b": 0.8823529481887817,
9705
+ "a": 1
9706
+ },
9707
+ "1928:8": {
9708
+ "r": 0.25882354378700256,
9709
+ "g": 0.13725490868091583,
9710
+ "b": 0.03921568766236305,
9711
+ "a": 1
9712
+ }
9713
+ },
9714
+ "scopes": [
9715
+ "ALL_SCOPES"
9716
+ ],
9717
+ "codeSyntax": {}
9718
+ },
9719
+ "VariableID:54897:41778": {
9720
+ "name": "banner/pink",
9721
+ "id": "VariableID:54897:41778",
9722
+ "remote": false,
9723
+ "key": "04118a56e71ec0771842a975f80b1704daf0d087",
9724
+ "variableCollectionId": "VariableCollectionId:1:3",
9725
+ "resolvedType": "COLOR",
9726
+ "description": "",
9727
+ "hiddenFromPublishing": false,
9728
+ "valuesByMode": {
9729
+ "1928:7": {
9730
+ "r": 1,
9731
+ "g": 0.9215686321258545,
9732
+ "b": 0.9450980424880981,
9733
+ "a": 1
9734
+ },
9735
+ "1928:8": {
9736
+ "r": 0.23137255012989044,
9737
+ "g": 0.09019608050584793,
9738
+ "b": 0.1725490242242813,
9739
+ "a": 1
9740
+ }
9741
+ },
9742
+ "scopes": [
9743
+ "ALL_SCOPES"
9744
+ ],
9745
+ "codeSyntax": {}
9746
+ },
9747
+ "VariableID:54897:41777": {
9748
+ "name": "banner/purple",
9749
+ "id": "VariableID:54897:41777",
9750
+ "remote": false,
9751
+ "key": "2b4f397b4df3df91aae0020b486d03e7e59de3a1",
9752
+ "variableCollectionId": "VariableCollectionId:1:3",
9753
+ "resolvedType": "COLOR",
9754
+ "description": "",
9755
+ "hiddenFromPublishing": false,
9756
+ "valuesByMode": {
9757
+ "1928:7": {
9758
+ "r": 0.9607843160629272,
9759
+ "g": 0.9254902005195618,
9760
+ "b": 1,
9761
+ "a": 1
9762
+ },
9763
+ "1928:8": {
9764
+ "r": 0.18039216101169586,
9765
+ "g": 0.11764705926179886,
9766
+ "b": 0.2705882489681244,
9767
+ "a": 1
9768
+ }
9769
+ },
9770
+ "scopes": [
9771
+ "ALL_SCOPES"
9772
+ ],
9773
+ "codeSyntax": {}
9774
+ },
9775
+ "VariableID:54897:41770": {
9776
+ "name": "banner/red",
9777
+ "id": "VariableID:54897:41770",
9778
+ "remote": false,
9779
+ "key": "332c3632c7252e24d088ff6775a717f2f27514b7",
9780
+ "variableCollectionId": "VariableCollectionId:1:3",
9781
+ "resolvedType": "COLOR",
9782
+ "description": "",
9783
+ "hiddenFromPublishing": false,
9784
+ "valuesByMode": {
9785
+ "1928:7": {
9786
+ "r": 1,
9787
+ "g": 0.9254902005195618,
9788
+ "b": 0.9333333373069763,
9789
+ "a": 1
9790
+ },
9791
+ "1928:8": {
9792
+ "r": 0.22745098173618317,
9793
+ "g": 0.05882352963089943,
9794
+ "b": 0.08235294371843338,
9795
+ "a": 1
9796
+ }
9797
+ },
9798
+ "scopes": [
9799
+ "ALL_SCOPES"
9800
+ ],
9801
+ "codeSyntax": {}
9802
+ },
9803
+ "VariableID:54897:41775": {
9804
+ "name": "banner/teal",
9805
+ "id": "VariableID:54897:41775",
9806
+ "remote": false,
9807
+ "key": "44155474e492d3bf5a93f8d5b68324c052c279e6",
9808
+ "variableCollectionId": "VariableCollectionId:1:3",
9809
+ "resolvedType": "COLOR",
9810
+ "description": "",
9811
+ "hiddenFromPublishing": false,
9812
+ "valuesByMode": {
9813
+ "1928:7": {
9814
+ "r": 0.9019607901573181,
9815
+ "g": 0.9803921580314636,
9816
+ "b": 0.9647058844566345,
9817
+ "a": 1
9818
+ },
9819
+ "1928:8": {
9820
+ "r": 0.0784313753247261,
9821
+ "g": 0.21176470816135406,
9822
+ "b": 0.20000000298023224,
9823
+ "a": 1
9824
+ }
9825
+ },
9826
+ "scopes": [
9827
+ "ALL_SCOPES"
9828
+ ],
9829
+ "codeSyntax": {}
9830
+ },
9831
+ "VariableID:54897:41779": {
9832
+ "name": "banner/warm-gray",
9833
+ "id": "VariableID:54897:41779",
9834
+ "remote": false,
9835
+ "key": "795d9d04de8ba3479af2ff06e3359e7a8648caa3",
9836
+ "variableCollectionId": "VariableCollectionId:1:3",
9837
+ "resolvedType": "COLOR",
9838
+ "description": "",
9839
+ "hiddenFromPublishing": false,
9840
+ "valuesByMode": {
9841
+ "1928:7": {
9842
+ "r": 0.9490196108818054,
9843
+ "g": 0.9411764740943909,
9844
+ "b": 0.9333333373069763,
9845
+ "a": 1
9846
+ },
9847
+ "1928:8": {
9848
+ "r": 0.18431372940540314,
9849
+ "g": 0.16862745583057404,
9850
+ "b": 0.15294118225574493,
9851
+ "a": 1
9852
+ }
9853
+ },
9854
+ "scopes": [
9855
+ "ALL_SCOPES"
9856
+ ],
9857
+ "codeSyntax": {}
9858
+ },
9859
+ "VariableID:54897:41772": {
9860
+ "name": "banner/yellow",
9861
+ "id": "VariableID:54897:41772",
9862
+ "remote": false,
9863
+ "key": "dc09473d4db3cb127f45ee30f88ecb682d25d723",
9864
+ "variableCollectionId": "VariableCollectionId:1:3",
9865
+ "resolvedType": "COLOR",
9866
+ "description": "",
9867
+ "hiddenFromPublishing": false,
9868
+ "valuesByMode": {
9869
+ "1928:7": {
9870
+ "r": 1,
9871
+ "g": 0.9803921580314636,
9872
+ "b": 0.8823529481887817,
9873
+ "a": 1
9874
+ },
9875
+ "1928:8": {
9876
+ "r": 0.24313725531101227,
9877
+ "g": 0.16862745583057404,
9878
+ "b": 0,
9879
+ "a": 1
9880
+ }
9881
+ },
9882
+ "scopes": [
9883
+ "ALL_SCOPES"
9884
+ ],
9885
+ "codeSyntax": {}
9886
+ },
9355
9887
  "VariableID:1:151": {
9356
9888
  "name": "bg/brand-solid",
9357
9889
  "id": "VariableID:1:151",
@@ -16176,6 +16708,11 @@ const defaultTextStyleNameFormatter = ({ slug })=>{
16176
16708
  mergeAmbiguousCharacters: true
16177
16709
  });
16178
16710
  };
16711
+ const defaultEffectStyleNameFormatter = ({ slug })=>{
16712
+ return camelCase(slug[slug.length - 1], {
16713
+ mergeAmbiguousCharacters: true
16714
+ });
16715
+ };
16179
16716
  const defaultFillStyleResolver = ({ slug })=>{
16180
16717
  const [, ...rest] = slug;
16181
16718
  if (rest[0] === "fade") {
@@ -16201,11 +16738,18 @@ const defaultFillStyleResolver = ({ slug })=>{
16201
16738
  })
16202
16739
  };
16203
16740
  };
16741
+ function formatBoxShadow({ type, color, offset, radius, spread }) {
16742
+ const inset = type === "INNER_SHADOW" ? "inset " : "";
16743
+ const colorStr = toCssRgba(color);
16744
+ const spreadStr = spread ? ` ${spread}px` : "";
16745
+ return `${inset}${offset.x}px ${offset.y}px ${radius}px${spreadStr} ${colorStr}`;
16746
+ }
16204
16747
  const defaultRawValueFormatters = {
16205
16748
  color: (value)=>toCssRgba(value),
16206
16749
  dimension: (value)=>toCssPixel(value),
16207
16750
  fontDimension: (value)=>toCssPixel(value),
16208
- fontWeight: (value)=>value
16751
+ fontWeight: (value)=>value,
16752
+ boxShadow: formatBoxShadow
16209
16753
  };
16210
16754
 
16211
16755
  const iconHandler = createIconHandler({
@@ -16218,6 +16762,7 @@ function createPipeline(options = {}) {
16218
16762
  variableNameFormatter: defaultVariableNameFormatter,
16219
16763
  styleService,
16220
16764
  textStyleNameFormatter: defaultTextStyleNameFormatter,
16765
+ effectStyleNameFormatter: defaultEffectStyleNameFormatter,
16221
16766
  fillStyleResolver: defaultFillStyleResolver,
16222
16767
  rawValueFormatters: defaultRawValueFormatters,
16223
16768
  shouldInferVariableName
@@ -16231,6 +16776,7 @@ function createPipeline(options = {}) {
16231
16776
  const vectorChildrenFillPropsConverter = createVectorChildrenFillPropsConverter(valueResolver);
16232
16777
  const radiusPropsConverter = createRadiusPropsConverter(valueResolver);
16233
16778
  const strokePropsConverter = createStrokePropsConverter(valueResolver);
16779
+ const shadowPropsConverter = createShadowPropsConverter(valueResolver);
16234
16780
  const typeStylePropsConverter = createTypeStylePropsConverter({
16235
16781
  valueResolver
16236
16782
  });
@@ -16244,6 +16790,7 @@ function createPipeline(options = {}) {
16244
16790
  vectorChildrenFill: vectorChildrenFillPropsConverter,
16245
16791
  radius: radiusPropsConverter,
16246
16792
  stroke: strokePropsConverter,
16793
+ shadow: shadowPropsConverter,
16247
16794
  typeStyle: typeStylePropsConverter
16248
16795
  };
16249
16796
  const componentHandlers = Object.fromEntries([
@@ -16285,4 +16832,4 @@ function createPipeline(options = {}) {
16285
16832
  return codeGenerator;
16286
16833
  }
16287
16834
 
16288
- export { bindComponentHandler, createBooleanOperationTransformer, createContainerLayoutPropsConverter, createFrameFillPropsConverter, createFrameTransformer, createIconSelfLayoutPropsConverter, createInstanceTransformer, createPipeline, createRadiusPropsConverter, createRectangleTransformer, createSelfLayoutPropsConverter, createShapeFillPropsConverter, createStrokePropsConverter, createTextFillPropsConverter, createTextTransformer, createTypeStylePropsConverter, createVectorChildrenFillPropsConverter, createVectorTransformer, unboundSeedComponentHandlers };
16835
+ export { bindComponentHandler, createBooleanOperationTransformer, createContainerLayoutPropsConverter, createFrameFillPropsConverter, createFrameTransformer, createIconSelfLayoutPropsConverter, createInstanceTransformer, createPipeline, createRadiusPropsConverter, createRectangleTransformer, createSelfLayoutPropsConverter, createShadowPropsConverter, createShapeFillPropsConverter, createStrokePropsConverter, createTextFillPropsConverter, createTextTransformer, createTypeStylePropsConverter, createVectorChildrenFillPropsConverter, createVectorTransformer, unboundSeedComponentHandlers };