@seed-design/figma 0.2.3 → 0.2.4

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 (47) hide show
  1. package/lib/codegen/index.cjs +294 -62
  2. package/lib/codegen/index.d.ts +460 -68
  3. package/lib/codegen/index.d.ts.map +1 -1
  4. package/lib/codegen/index.js +294 -62
  5. package/lib/codegen/targets/react/index.cjs +856 -242
  6. package/lib/codegen/targets/react/index.d.ts.map +1 -1
  7. package/lib/codegen/targets/react/index.js +856 -242
  8. package/lib/index.cjs +285 -60
  9. package/lib/index.js +285 -60
  10. package/package.json +2 -2
  11. package/src/codegen/component-properties.ts +82 -6
  12. package/src/codegen/core/jsx.ts +14 -2
  13. package/src/codegen/targets/react/component/handlers/checkbox.ts +7 -0
  14. package/src/codegen/targets/react/component/handlers/checkmark.ts +29 -0
  15. package/src/codegen/targets/react/component/handlers/chip.ts +5 -2
  16. package/src/codegen/targets/react/component/handlers/divider.ts +8 -2
  17. package/src/codegen/targets/react/component/handlers/help-bubble.ts +2 -0
  18. package/src/codegen/targets/react/component/handlers/list-item.ts +155 -0
  19. package/src/codegen/targets/react/component/handlers/radio-group.ts +31 -0
  20. package/src/codegen/targets/react/component/handlers/radio-mark.ts +27 -0
  21. package/src/codegen/targets/react/component/handlers/switch.ts +7 -0
  22. package/src/codegen/targets/react/component/handlers/tabs.ts +288 -5
  23. package/src/codegen/targets/react/component/index.ts +12 -2
  24. package/src/entities/data/__generated__/component-sets/checkbox.d.ts +9 -2
  25. package/src/entities/data/__generated__/component-sets/checkbox.mjs +9 -2
  26. package/src/entities/data/__generated__/component-sets/checkmark.d.ts +13 -6
  27. package/src/entities/data/__generated__/component-sets/checkmark.mjs +13 -6
  28. package/src/entities/data/__generated__/component-sets/divider.d.ts +2 -2
  29. package/src/entities/data/__generated__/component-sets/divider.mjs +2 -2
  30. package/src/entities/data/__generated__/component-sets/help-bubble.d.ts +3 -0
  31. package/src/entities/data/__generated__/component-sets/help-bubble.mjs +3 -0
  32. package/src/entities/data/__generated__/component-sets/index.d.ts +2 -0
  33. package/src/entities/data/__generated__/component-sets/index.mjs +2 -0
  34. package/src/entities/data/__generated__/component-sets/list-header.d.ts +24 -0
  35. package/src/entities/data/__generated__/component-sets/list-header.mjs +24 -0
  36. package/src/entities/data/__generated__/component-sets/list-item.d.ts +152 -0
  37. package/src/entities/data/__generated__/component-sets/list-item.mjs +152 -0
  38. package/src/entities/data/__generated__/component-sets/radio-mark.d.ts +7 -0
  39. package/src/entities/data/__generated__/component-sets/radio-mark.mjs +7 -0
  40. package/src/entities/data/__generated__/component-sets/radio.d.ts +14 -0
  41. package/src/entities/data/__generated__/component-sets/radio.mjs +14 -0
  42. package/src/entities/data/__generated__/component-sets/switch.d.ts +10 -3
  43. package/src/entities/data/__generated__/component-sets/switch.mjs +10 -3
  44. package/src/entities/data/__generated__/component-sets/tabs.d.ts +1 -1
  45. package/src/entities/data/__generated__/component-sets/tabs.mjs +1 -1
  46. package/src/entities/data/__generated__/component-sets/inline-banner.d.ts +0 -40
  47. package/src/entities/data/__generated__/component-sets/inline-banner.mjs +0 -40
@@ -81,7 +81,7 @@ function stringifyElement(element, options = {}) {
81
81
  const propFragments = propEntries.map(([key, value])=>{
82
82
  if (typeof value === "string") {
83
83
  if (value.includes("\n")) {
84
- return `${key}={\"${value.replace("\n", "\\n")}\"}`;
84
+ return `${key}={"${value.replaceAll("\n", "\\n")}"}`;
85
85
  }
86
86
  return `${key}="${value}"`;
87
87
  }
@@ -93,7 +93,13 @@ function stringifyElement(element, options = {}) {
93
93
  return `${key}={${value}}`;
94
94
  }
95
95
  if (isElement(value)) {
96
- return `${key}={${recursive(value, depth + 1)}}`;
96
+ const elementStr = recursive(value, depth + 1);
97
+ const commentMatch = elementStr.match(/\{\/\* (.+?)\*\/\}$/);
98
+ if (commentMatch) {
99
+ const elementWithoutComment = elementStr.replace(/\{\/\* .+? \*\/\}$/, "");
100
+ return `${key}={${elementWithoutComment}}/* ${commentMatch[1]} */`;
101
+ }
102
+ return `${key}={${elementStr}}`;
97
103
  }
98
104
  if (typeof value === "object") {
99
105
  return `${key}={${JSON.stringify(value)}}`;
@@ -101,6 +107,7 @@ function stringifyElement(element, options = {}) {
101
107
  if (typeof value === "undefined") {
102
108
  return undefined;
103
109
  }
110
+ return undefined;
104
111
  }).filter(exists);
105
112
  const oneLiner = propFragments.join(" ");
106
113
  const propsString = propEntries.length === 0 ? "" : ` ${oneLiner.length < 80 ? oneLiner : `\n${" ".repeat(depth + 1)}${propFragments.join(`\n${" ".repeat(depth + 1)}`)}\n${" ".repeat(depth)}`}`;
@@ -1026,7 +1033,7 @@ function createTextTransformer({ propsConverters }) {
1026
1033
  });
1027
1034
  }
1028
1035
 
1029
- const metadata$L = {
1036
+ const metadata$N = {
1030
1037
  "name": "🔵 [Template] Button Group",
1031
1038
  "key": "29109a34197f2eb5d390b1d9ebba270979a7b302",
1032
1039
  "componentPropertyDefinitions": {
@@ -1054,7 +1061,7 @@ const metadata$L = {
1054
1061
  }
1055
1062
  };
1056
1063
 
1057
- const metadata$K = {
1064
+ const metadata$M = {
1058
1065
  "name": "🔵 [Template] Chip Group",
1059
1066
  "key": "5b1155aae0f90d1bce6a7499f53a547e88ec3b86",
1060
1067
  "componentPropertyDefinitions": {
@@ -1084,7 +1091,7 @@ const metadata$K = {
1084
1091
  }
1085
1092
  };
1086
1093
 
1087
- const metadata$J = {
1094
+ const metadata$L = {
1088
1095
  "name": "🔵 [Template] Completion",
1089
1096
  "key": "d91c789c66c2da665d820318f1a4d8671946eb79",
1090
1097
  "componentPropertyDefinitions": {
@@ -1113,7 +1120,7 @@ const metadata$J = {
1113
1120
  }
1114
1121
  };
1115
1122
 
1116
- const metadata$I = {
1123
+ const metadata$K = {
1117
1124
  "name": "🔵 [Template] Error State",
1118
1125
  "key": "39b4ecd0b5b4d35f4dc5791765ca04aa062a5172",
1119
1126
  "componentPropertyDefinitions": {
@@ -1146,7 +1153,7 @@ const metadata$I = {
1146
1153
  }
1147
1154
  };
1148
1155
 
1149
- const metadata$H = {
1156
+ const metadata$J = {
1150
1157
  "name": "🔵 [Template] Select Box Group",
1151
1158
  "key": "a3d58bb8540600878742cdcf2608a4b3851667ec",
1152
1159
  "componentPropertyDefinitions": {
@@ -1171,7 +1178,7 @@ const metadata$H = {
1171
1178
  }
1172
1179
  };
1173
1180
 
1174
- const metadata$G = {
1181
+ const metadata$I = {
1175
1182
  "name": "🔵 [Template] Top Navigation",
1176
1183
  "key": "74f045c1972dc31d0fddd0a0027537b6779cd0e8",
1177
1184
  "componentPropertyDefinitions": {
@@ -1199,7 +1206,7 @@ const metadata$G = {
1199
1206
  }
1200
1207
  };
1201
1208
 
1202
- const metadata$F = {
1209
+ const metadata$H = {
1203
1210
  "name": "🟢 Action Button",
1204
1211
  "key": "450ede9d0bf42fc6ef14345c77e6e407d6d5ee89",
1205
1212
  "componentPropertyDefinitions": {
@@ -1259,7 +1266,7 @@ const metadata$F = {
1259
1266
  }
1260
1267
  };
1261
1268
 
1262
- const metadata$E = {
1269
+ const metadata$G = {
1263
1270
  "name": "🟢 Alert Dialog",
1264
1271
  "key": "e0c89524a554ca1bf95c016b7255f29e257624aa",
1265
1272
  "componentPropertyDefinitions": {
@@ -1286,7 +1293,7 @@ const metadata$E = {
1286
1293
  }
1287
1294
  };
1288
1295
 
1289
- const metadata$D = {
1296
+ const metadata$F = {
1290
1297
  "name": "🟢 Avatar",
1291
1298
  "key": "4a8853c3068c08b69b13e71dd42ce186e968697e",
1292
1299
  "componentPropertyDefinitions": {
@@ -1319,7 +1326,7 @@ const metadata$D = {
1319
1326
  }
1320
1327
  };
1321
1328
 
1322
- const metadata$C = {
1329
+ const metadata$E = {
1323
1330
  "name": "🟢 Avatar Stack",
1324
1331
  "key": "e8e91e01000d878742c55cd6e44b6786460440f7",
1325
1332
  "componentPropertyDefinitions": {
@@ -1340,7 +1347,7 @@ const metadata$C = {
1340
1347
  }
1341
1348
  };
1342
1349
 
1343
- const metadata$B = {
1350
+ const metadata$D = {
1344
1351
  "name": "🟢 Badge",
1345
1352
  "key": "04609a35d47a1a0ef4904b3c25f79451892a85a1",
1346
1353
  "componentPropertyDefinitions": {
@@ -1376,7 +1383,7 @@ const metadata$B = {
1376
1383
  }
1377
1384
  };
1378
1385
 
1379
- const metadata$A = {
1386
+ const metadata$C = {
1380
1387
  "name": "🟢 Bottom Navigation / Global",
1381
1388
  "key": "983650a4dff639b38bf68ff6004efc8ec4fb5c20",
1382
1389
  "componentPropertyDefinitions": {
@@ -1400,7 +1407,7 @@ const metadata$A = {
1400
1407
  }
1401
1408
  };
1402
1409
 
1403
- const metadata$z = {
1410
+ const metadata$B = {
1404
1411
  "name": "🟢 Bottom Navigation / KR",
1405
1412
  "key": "accc7cea2d0250cdfbf0197ce00a677c6b9e0dae",
1406
1413
  "componentPropertyDefinitions": {
@@ -1417,7 +1424,7 @@ const metadata$z = {
1417
1424
  }
1418
1425
  };
1419
1426
 
1420
- const metadata$y = {
1427
+ const metadata$A = {
1421
1428
  "name": "🟢 Bottom Sheet",
1422
1429
  "key": "16bafa5d1155896fe18fb6f52f904f5cd2048686",
1423
1430
  "componentPropertyDefinitions": {
@@ -1481,7 +1488,7 @@ const metadata$y = {
1481
1488
  }
1482
1489
  };
1483
1490
 
1484
- const metadata$x = {
1491
+ const metadata$z = {
1485
1492
  "name": "🟢 Callout",
1486
1493
  "key": "ec46d38baac3c367c4a5ffa47a2110d51ba0a4fe",
1487
1494
  "componentPropertyDefinitions": {
@@ -1530,7 +1537,7 @@ const metadata$x = {
1530
1537
  }
1531
1538
  };
1532
1539
 
1533
- const metadata$w = {
1540
+ const metadata$y = {
1534
1541
  "name": "🟢 Checkbox",
1535
1542
  "key": "94a2f6957a86f8ae3b8c7ca200dfcd5e29f6075b",
1536
1543
  "componentPropertyDefinitions": {
@@ -1544,6 +1551,13 @@ const metadata$w = {
1544
1551
  "Large"
1545
1552
  ]
1546
1553
  },
1554
+ "Tone": {
1555
+ "type": "VARIANT",
1556
+ "variantOptions": [
1557
+ "🚫[Deprecated]Brand",
1558
+ "Neutral"
1559
+ ]
1560
+ },
1547
1561
  "Shape": {
1548
1562
  "type": "VARIANT",
1549
1563
  "variantOptions": [
@@ -1554,8 +1568,8 @@ const metadata$w = {
1554
1568
  "Weight": {
1555
1569
  "type": "VARIANT",
1556
1570
  "variantOptions": [
1557
- "Default",
1558
- "Stronger"
1571
+ "Bold",
1572
+ "Regular"
1559
1573
  ]
1560
1574
  },
1561
1575
  "Selected": {
@@ -1577,22 +1591,29 @@ const metadata$w = {
1577
1591
  }
1578
1592
  };
1579
1593
 
1580
- const metadata$v = {
1594
+ const metadata$x = {
1581
1595
  "name": "🟢 Checkmark",
1582
1596
  "key": "fae60fb392f55bde60de1dbccb2f453320068805",
1583
1597
  "componentPropertyDefinitions": {
1584
- "Shape": {
1598
+ "Size": {
1585
1599
  "type": "VARIANT",
1586
1600
  "variantOptions": [
1587
- "Square",
1588
- "Ghost"
1601
+ "Medium",
1602
+ "Large"
1589
1603
  ]
1590
1604
  },
1591
- "Size": {
1605
+ "Tone": {
1592
1606
  "type": "VARIANT",
1593
1607
  "variantOptions": [
1594
- "Medium",
1595
- "Large"
1608
+ "🚫[Deprecated]Brand",
1609
+ "Neutral"
1610
+ ]
1611
+ },
1612
+ "Shape": {
1613
+ "type": "VARIANT",
1614
+ "variantOptions": [
1615
+ "Square",
1616
+ "Ghost"
1596
1617
  ]
1597
1618
  },
1598
1619
  "Selected": {
@@ -1614,7 +1635,7 @@ const metadata$v = {
1614
1635
  }
1615
1636
  };
1616
1637
 
1617
- const metadata$u = {
1638
+ const metadata$w = {
1618
1639
  "name": "🟢 Chip",
1619
1640
  "key": "8156ef08d9aaa2b0de1cc4a113ec0c9d0586f831",
1620
1641
  "componentPropertyDefinitions": {
@@ -1705,7 +1726,7 @@ const metadata$u = {
1705
1726
  }
1706
1727
  };
1707
1728
 
1708
- const metadata$t = {
1729
+ const metadata$v = {
1709
1730
  "name": "🟢 Chlid",
1710
1731
  "key": "aa9ffdd60fbfdea42f0d11162cd64f4b4389ddcc",
1711
1732
  "componentPropertyDefinitions": {
@@ -1720,7 +1741,7 @@ const metadata$t = {
1720
1741
  }
1721
1742
  };
1722
1743
 
1723
- const metadata$s = {
1744
+ const metadata$u = {
1724
1745
  "name": "🟢 Contextual Floating Button",
1725
1746
  "key": "032f3fddaad0aa3fa5a7f680768c1f5d02fb463f",
1726
1747
  "componentPropertyDefinitions": {
@@ -1757,7 +1778,7 @@ const metadata$s = {
1757
1778
  }
1758
1779
  };
1759
1780
 
1760
- const metadata$r = {
1781
+ const metadata$t = {
1761
1782
  "name": "🟢 Divider",
1762
1783
  "key": "848e953725f757ea1a79e1fecc0b608a035032d3",
1763
1784
  "componentPropertyDefinitions": {
@@ -1767,8 +1788,8 @@ const metadata$r = {
1767
1788
  "Tone": {
1768
1789
  "type": "VARIANT",
1769
1790
  "variantOptions": [
1770
- "Neutral",
1771
- "Neutral Muted"
1791
+ "Neutral Muted",
1792
+ "Neutral Subtle"
1772
1793
  ]
1773
1794
  },
1774
1795
  "Orientation": {
@@ -1781,7 +1802,7 @@ const metadata$r = {
1781
1802
  }
1782
1803
  };
1783
1804
 
1784
- const metadata$q = {
1805
+ const metadata$s = {
1785
1806
  "name": "🟢 Floating Action Button",
1786
1807
  "key": "65f9e7eede627b893fb8ff94ed9a7d0db900c464",
1787
1808
  "componentPropertyDefinitions": {
@@ -1795,10 +1816,13 @@ const metadata$q = {
1795
1816
  }
1796
1817
  };
1797
1818
 
1798
- const metadata$p = {
1819
+ const metadata$r = {
1799
1820
  "name": "🟢 Help Bubble",
1800
1821
  "key": "804b327c091278a40d5891939eaed90bb2889659",
1801
1822
  "componentPropertyDefinitions": {
1823
+ "Show Close Button#40538:0": {
1824
+ "type": "BOOLEAN"
1825
+ },
1802
1826
  "Show Description#62499:0": {
1803
1827
  "type": "BOOLEAN"
1804
1828
  },
@@ -1828,6 +1852,184 @@ const metadata$p = {
1828
1852
  }
1829
1853
  };
1830
1854
 
1855
+ const metadata$q = {
1856
+ "name": "🟢 List Header",
1857
+ "key": "609f93ed0608ef0a6d9a351e47595ad631bae0fa",
1858
+ "componentPropertyDefinitions": {
1859
+ "Title#28588:0": {
1860
+ "type": "TEXT"
1861
+ },
1862
+ "Suffix": {
1863
+ "type": "VARIANT",
1864
+ "variantOptions": [
1865
+ "None",
1866
+ "Button",
1867
+ "Custom"
1868
+ ]
1869
+ },
1870
+ "Title Weight": {
1871
+ "type": "VARIANT",
1872
+ "variantOptions": [
1873
+ "Medium",
1874
+ "Bold"
1875
+ ]
1876
+ }
1877
+ }
1878
+ };
1879
+
1880
+ const metadata$p = {
1881
+ "name": "🟢 List Item",
1882
+ "key": "b51b7d07c659fee5d696565b8e1151636573b27c",
1883
+ "componentPropertyDefinitions": {
1884
+ "Divider#28441:0": {
1885
+ "type": "BOOLEAN"
1886
+ },
1887
+ "Suffix Type#28441:42": {
1888
+ "type": "INSTANCE_SWAP",
1889
+ "preferredValues": [
1890
+ {
1891
+ "type": "COMPONENT",
1892
+ "key": "8c52207687ffed15cd5931d71ed9d196b3358a68"
1893
+ },
1894
+ {
1895
+ "type": "COMPONENT",
1896
+ "key": "fe0e25f4fecda59d0a3730ead7c5bc0a66a41e7e"
1897
+ },
1898
+ {
1899
+ "type": "COMPONENT",
1900
+ "key": "abf9810103ae6e6afe8fa253ec5f05d6a7304b38"
1901
+ },
1902
+ {
1903
+ "type": "COMPONENT",
1904
+ "key": "0a9464ad270bfd7f56438f62bb0155a25ca146a9"
1905
+ },
1906
+ {
1907
+ "type": "COMPONENT",
1908
+ "key": "4cc7e9b84a8388a36cb3898c6c02e6110a3281b9"
1909
+ },
1910
+ {
1911
+ "type": "COMPONENT",
1912
+ "key": "1e933f75dd6bb4b21c3289b5c3b4402d2c623125"
1913
+ },
1914
+ {
1915
+ "type": "COMPONENT",
1916
+ "key": "11ba71b11b336199654cd2801967a44996705449"
1917
+ },
1918
+ {
1919
+ "type": "COMPONENT",
1920
+ "key": "c0eaee6146c6dc92bfd9b081d667f45ee611b1d2"
1921
+ },
1922
+ {
1923
+ "type": "COMPONENT_SET",
1924
+ "key": "3d788f28c785d1c60b937b253c39ce582dbe1ed3"
1925
+ },
1926
+ {
1927
+ "type": "COMPONENT_SET",
1928
+ "key": "5636566f6de6f58200dce388f7b1ac9f517b30e1"
1929
+ },
1930
+ {
1931
+ "type": "COMPONENT",
1932
+ "key": "3a70bf5bb9856c13893931b7a0df652bcf0be895"
1933
+ }
1934
+ ]
1935
+ },
1936
+ "Title#28452:21": {
1937
+ "type": "TEXT"
1938
+ },
1939
+ "Has Suffix#28452:64": {
1940
+ "type": "BOOLEAN"
1941
+ },
1942
+ "Has Prefix#28452:85": {
1943
+ "type": "BOOLEAN"
1944
+ },
1945
+ "Prefix Type#28452:106": {
1946
+ "type": "INSTANCE_SWAP",
1947
+ "preferredValues": [
1948
+ {
1949
+ "type": "COMPONENT",
1950
+ "key": "0e4c05f097d3fa2dc0cbfdbf8db2662bcf8439ca"
1951
+ },
1952
+ {
1953
+ "type": "COMPONENT",
1954
+ "key": "ef0e8bd6c2f92e620acf204bb9a8079ef25a1e5c"
1955
+ },
1956
+ {
1957
+ "type": "COMPONENT",
1958
+ "key": "82239325aa1cb65af7c649fc71a8f2b48fb9b9f3"
1959
+ },
1960
+ {
1961
+ "type": "COMPONENT",
1962
+ "key": "f24c9ef42ef08df79483fbae0fa7d9037e566748"
1963
+ },
1964
+ {
1965
+ "type": "COMPONENT",
1966
+ "key": "5a77ad37a2291989dfe77c44ddee9aa39e447f90"
1967
+ },
1968
+ {
1969
+ "type": "COMPONENT",
1970
+ "key": "81f201fc876e38f016ab7427a6b3da000ee919a2"
1971
+ }
1972
+ ]
1973
+ },
1974
+ "Has Detail#28469:1": {
1975
+ "type": "BOOLEAN"
1976
+ },
1977
+ "Detail Type#28469:11": {
1978
+ "type": "INSTANCE_SWAP",
1979
+ "preferredValues": [
1980
+ {
1981
+ "type": "COMPONENT",
1982
+ "key": "b27f70404d8f055ec39f9049a5a86920c11be979"
1983
+ },
1984
+ {
1985
+ "type": "COMPONENT",
1986
+ "key": "43795c2e3e507dc555f9ec08bf4bf1abf8c2051a"
1987
+ },
1988
+ {
1989
+ "type": "COMPONENT",
1990
+ "key": "73bcdff1b73998d1f440fb8827df2eafc4338c1d"
1991
+ }
1992
+ ]
1993
+ },
1994
+ "Title #28487:0": {
1995
+ "type": "TEXT"
1996
+ },
1997
+ "Detail Type #28487:11": {
1998
+ "type": "INSTANCE_SWAP",
1999
+ "preferredValues": [
2000
+ {
2001
+ "type": "COMPONENT",
2002
+ "key": "870d50d39feae5bcfd59d7fbf8ae510233a97a8b"
2003
+ },
2004
+ {
2005
+ "type": "COMPONENT",
2006
+ "key": "43795c2e3e507dc555f9ec08bf4bf1abf8c2051a"
2007
+ },
2008
+ {
2009
+ "type": "COMPONENT",
2010
+ "key": "73bcdff1b73998d1f440fb8827df2eafc4338c1d"
2011
+ }
2012
+ ]
2013
+ },
2014
+ "State": {
2015
+ "type": "VARIANT",
2016
+ "variantOptions": [
2017
+ "Enabled",
2018
+ "Pressed",
2019
+ "Disabled",
2020
+ "Highlighted"
2021
+ ]
2022
+ },
2023
+ "Variants": {
2024
+ "type": "VARIANT",
2025
+ "variantOptions": [
2026
+ "Single Line",
2027
+ "Multi Line"
2028
+ ]
2029
+ }
2030
+ }
2031
+ };
2032
+
1831
2033
  const metadata$o = {
1832
2034
  "name": "🟢 Main Tab Navigation / Global",
1833
2035
  "key": "a694a1da14a5c1d7d5c66bc78218c0c61fb388ab",
@@ -2119,6 +2321,20 @@ const metadata$g = {
2119
2321
  "Large"
2120
2322
  ]
2121
2323
  },
2324
+ "Tone": {
2325
+ "type": "VARIANT",
2326
+ "variantOptions": [
2327
+ "🚫[Deprecated]Brand",
2328
+ "Neutral"
2329
+ ]
2330
+ },
2331
+ "Weight": {
2332
+ "type": "VARIANT",
2333
+ "variantOptions": [
2334
+ "Regular",
2335
+ "Bold"
2336
+ ]
2337
+ },
2122
2338
  "Selected": {
2123
2339
  "type": "VARIANT",
2124
2340
  "variantOptions": [
@@ -2148,6 +2364,13 @@ const metadata$f = {
2148
2364
  "Large"
2149
2365
  ]
2150
2366
  },
2367
+ "Tone": {
2368
+ "type": "VARIANT",
2369
+ "variantOptions": [
2370
+ "Neutral",
2371
+ "🚫[Deprecated]Brand"
2372
+ ]
2373
+ },
2151
2374
  "Selected": {
2152
2375
  "type": "VARIANT",
2153
2376
  "variantOptions": [
@@ -2453,6 +2676,13 @@ const metadata$4 = {
2453
2676
  "32"
2454
2677
  ]
2455
2678
  },
2679
+ "Tone": {
2680
+ "type": "VARIANT",
2681
+ "variantOptions": [
2682
+ "Neutral",
2683
+ "🚫[Deprecated] Brand"
2684
+ ]
2685
+ },
2456
2686
  "Selected": {
2457
2687
  "type": "VARIANT",
2458
2688
  "variantOptions": [
@@ -2470,9 +2700,9 @@ const metadata$4 = {
2470
2700
  "Label Layout(Figma Only)": {
2471
2701
  "type": "VARIANT",
2472
2702
  "variantOptions": [
2473
- "None",
2474
- "Right",
2475
- "Left"
2703
+ "Label Last",
2704
+ "Label First",
2705
+ "Switch Only"
2476
2706
  ]
2477
2707
  }
2478
2708
  }
@@ -2485,7 +2715,7 @@ const metadata$3 = {
2485
2715
  "Variant": {
2486
2716
  "type": "VARIANT",
2487
2717
  "variantOptions": [
2488
- "Underline",
2718
+ "Line",
2489
2719
  "Chip"
2490
2720
  ]
2491
2721
  }
@@ -2691,23 +2921,25 @@ const metadata = {
2691
2921
 
2692
2922
  var FIGMA_COMPONENTS = {
2693
2923
  __proto__: null,
2694
- actionButton: metadata$F,
2695
- alertDialog: metadata$E,
2696
- avatar: metadata$D,
2697
- avatarStack: metadata$C,
2698
- badge: metadata$B,
2699
- bottomNavigationGlobal: metadata$A,
2700
- bottomNavigationKr: metadata$z,
2701
- bottomSheet: metadata$y,
2702
- callout: metadata$x,
2703
- checkbox: metadata$w,
2704
- checkmark: metadata$v,
2705
- chip: metadata$u,
2706
- chlid: metadata$t,
2707
- contextualFloatingButton: metadata$s,
2708
- divider: metadata$r,
2709
- floatingActionButton: metadata$q,
2710
- helpBubble: metadata$p,
2924
+ actionButton: metadata$H,
2925
+ alertDialog: metadata$G,
2926
+ avatar: metadata$F,
2927
+ avatarStack: metadata$E,
2928
+ badge: metadata$D,
2929
+ bottomNavigationGlobal: metadata$C,
2930
+ bottomNavigationKr: metadata$B,
2931
+ bottomSheet: metadata$A,
2932
+ callout: metadata$z,
2933
+ checkbox: metadata$y,
2934
+ checkmark: metadata$x,
2935
+ chip: metadata$w,
2936
+ chlid: metadata$v,
2937
+ contextualFloatingButton: metadata$u,
2938
+ divider: metadata$t,
2939
+ floatingActionButton: metadata$s,
2940
+ helpBubble: metadata$r,
2941
+ listHeader: metadata$q,
2942
+ listItem: metadata$p,
2711
2943
  mainTabNavigationGlobal: metadata$o,
2712
2944
  mainTabNavigationKr: metadata$n,
2713
2945
  mannerTemp: metadata$m,
@@ -2730,12 +2962,12 @@ var FIGMA_COMPONENTS = {
2730
2962
  superscriptChild: metadata$5,
2731
2963
  switch: metadata$4,
2732
2964
  tabs: metadata$3,
2733
- templateButtonGroup: metadata$L,
2734
- templateChipGroup: metadata$K,
2735
- templateCompletion: metadata$J,
2736
- templateErrorState: metadata$I,
2737
- templateSelectBoxGroup: metadata$H,
2738
- templateTopNavigation: metadata$G,
2965
+ templateButtonGroup: metadata$N,
2966
+ templateChipGroup: metadata$M,
2967
+ templateCompletion: metadata$L,
2968
+ templateErrorState: metadata$K,
2969
+ templateSelectBoxGroup: metadata$J,
2970
+ templateTopNavigation: metadata$I,
2739
2971
  textField: metadata$2,
2740
2972
  toggleButton: metadata$1,
2741
2973
  topNavigation: metadata
@@ -2759,8 +2991,8 @@ function handleSizeProp(size) {
2759
2991
  }
2760
2992
  }
2761
2993
 
2762
- const { createLocalSnippetElement: createLocalSnippetElement$q } = createLocalSnippetHelper("action-button");
2763
- const createActionButtonHandler = (ctx)=>defineComponentHandler(metadata$F.key, ({ componentProperties: props })=>{
2994
+ const { createLocalSnippetElement: createLocalSnippetElement$u } = createLocalSnippetHelper("action-button");
2995
+ const createActionButtonHandler = (ctx)=>defineComponentHandler(metadata$H.key, ({ componentProperties: props })=>{
2764
2996
  const states = props.State.value.split("-");
2765
2997
  const { layout, children } = match(props.Layout.value).with("Icon Only", ()=>({
2766
2998
  layout: "iconOnly",
@@ -2800,7 +3032,7 @@ const createActionButtonHandler = (ctx)=>defineComponentHandler(metadata$F.key,
2800
3032
  variant: camelCase(props.Variant.value),
2801
3033
  layout
2802
3034
  };
2803
- return createLocalSnippetElement$q("ActionButton", commonProps, children);
3035
+ return createLocalSnippetElement$u("ActionButton", commonProps, children);
2804
3036
  });
2805
3037
  const ACTION_BUTTON_GHOST_BUTTON_KEY = "ea69291fb4d76217419f3d9613ae16aadafb56a5";
2806
3038
  const createActionButtonGhostHandler = (ctx)=>defineComponentHandler(ACTION_BUTTON_GHOST_BUTTON_KEY, ({ componentProperties: props })=>{
@@ -2847,26 +3079,26 @@ const createActionButtonGhostHandler = (ctx)=>defineComponentHandler(ACTION_BUTT
2847
3079
  bleedY: "asPadding"
2848
3080
  }
2849
3081
  };
2850
- return createLocalSnippetElement$q("ActionButton", commonProps, children);
3082
+ return createLocalSnippetElement$u("ActionButton", commonProps, children);
2851
3083
  });
2852
3084
 
2853
- const { createLocalSnippetElement: createLocalSnippetElement$p } = createLocalSnippetHelper("alert-dialog");
3085
+ const { createLocalSnippetElement: createLocalSnippetElement$t } = createLocalSnippetHelper("alert-dialog");
2854
3086
  const { createLocalSnippetElement: createLocalSnippetElementTrigger$3 } = createLocalSnippetHelper("action-button");
2855
3087
  const ALERT_DIALOG_FOOTER_KEY = "00b1b131d67edf2875a7a1df8dfa88098d7c04be";
2856
- const createAlertDialogHandler = (_ctx)=>defineComponentHandler(metadata$E.key, (node, traverse)=>{
3088
+ const createAlertDialogHandler = (_ctx)=>defineComponentHandler(metadata$G.key, (node, traverse)=>{
2857
3089
  const props = node.componentProperties;
2858
- const alertDialogHeader = createLocalSnippetElement$p("AlertDialogHeader", undefined, [
3090
+ const alertDialogHeader = createLocalSnippetElement$t("AlertDialogHeader", undefined, [
2859
3091
  ...props["Show Title#20361:14"].value ? [
2860
- createLocalSnippetElement$p("AlertDialogTitle", undefined, props["Title Text#20361:0"].value)
3092
+ createLocalSnippetElement$t("AlertDialogTitle", undefined, props["Title Text#20361:0"].value)
2861
3093
  ] : [],
2862
- createLocalSnippetElement$p("AlertDialogDescription", undefined, props["Description Text#20361:7"].value)
3094
+ createLocalSnippetElement$t("AlertDialogDescription", undefined, props["Description Text#20361:7"].value)
2863
3095
  ]);
2864
3096
  const footerNodes = findAllInstances({
2865
3097
  node,
2866
3098
  key: ALERT_DIALOG_FOOTER_KEY
2867
3099
  });
2868
3100
  if (footerNodes.length === 0 || footerNodes.length > 1) {
2869
- return createLocalSnippetElement$p("AlertDialog", undefined, alertDialogHeader, {
3101
+ return createLocalSnippetElement$t("AlertDialog", undefined, alertDialogHeader, {
2870
3102
  comment: "Footer 영역을 확인해주세요."
2871
3103
  });
2872
3104
  }
@@ -2874,21 +3106,21 @@ const createAlertDialogHandler = (_ctx)=>defineComponentHandler(metadata$E.key,
2874
3106
  const footerNodeProps = traverse(footerNode)?.props;
2875
3107
  const buttons = footerNode.children.map(traverse);
2876
3108
  const alertDialogFooterChildren = match(footerNode.componentProperties.Type.value).with("Single", ()=>buttons).with("Neutral", "Critical", ()=>createSeedReactElement("ResponsivePair", footerNodeProps, buttons)).with("Neutral (Overflow)", "Critical (Overflow)", "Nonpreferred", ()=>createSeedReactElement("VStack", footerNodeProps, buttons)).exhaustive();
2877
- const alertDialogFooter = createLocalSnippetElement$p("AlertDialogFooter", undefined, alertDialogFooterChildren);
2878
- return createLocalSnippetElement$p("AlertDialogRoot", {
3109
+ const alertDialogFooter = createLocalSnippetElement$t("AlertDialogFooter", undefined, alertDialogFooterChildren);
3110
+ return createLocalSnippetElement$t("AlertDialogRoot", {
2879
3111
  open: true
2880
3112
  }, [
2881
- createLocalSnippetElement$p("AlertDialogTrigger", {
3113
+ createLocalSnippetElement$t("AlertDialogTrigger", {
2882
3114
  asChild: true
2883
3115
  }, createLocalSnippetElementTrigger$3("ActionButton", {}, "AlertDialog 열기")),
2884
- createLocalSnippetElement$p("AlertDialogContent", undefined, [
3116
+ createLocalSnippetElement$t("AlertDialogContent", undefined, [
2885
3117
  alertDialogHeader,
2886
3118
  alertDialogFooter
2887
3119
  ])
2888
3120
  ]);
2889
3121
  });
2890
3122
 
2891
- const { createLocalSnippetElement: createLocalSnippetElement$o } = createLocalSnippetHelper("app-bar");
3123
+ const { createLocalSnippetElement: createLocalSnippetElement$s } = createLocalSnippetHelper("app-bar");
2892
3124
  const APP_BAR_TITLE_KEY = "d2cc4f615b2b44098be89448ad1c573f94af0355";
2893
3125
  const APP_BAR_LEFT_ICON_BUTTON_KEY = "5a953f7bafc0df744777517458396e9f6c915825";
2894
3126
  const APP_BAR_RIGHT_ICON_BUTTON_KEY = "c08db793288077e53bd45ef11aa419a835e88fce";
@@ -2905,12 +3137,12 @@ const createAppBarMainHandler = (_ctx)=>{
2905
3137
  subtitle: undefined
2906
3138
  })).exhaustive();
2907
3139
  if (title) {
2908
- return createLocalSnippetElement$o("AppBarMain", {
3140
+ return createLocalSnippetElement$s("AppBarMain", {
2909
3141
  title,
2910
3142
  subtitle
2911
3143
  });
2912
3144
  }
2913
- return createLocalSnippetElement$o("AppBarMain", undefined, undefined, {
3145
+ return createLocalSnippetElement$s("AppBarMain", undefined, undefined, {
2914
3146
  comment: "AppBarMain 내부를 직접 작성해주세요."
2915
3147
  });
2916
3148
  });
@@ -2937,33 +3169,33 @@ const createAppBarHandler = (ctx)=>{
2937
3169
  return appBarMainHandler.transform(mainNode, traverse);
2938
3170
  })();
2939
3171
  const leftChildren = match(props.Left.value).with("None", ()=>undefined).with("Back", ()=>[
2940
- createLocalSnippetElement$o("AppBarBackButton")
3172
+ createLocalSnippetElement$s("AppBarBackButton")
2941
3173
  ]).with("Close", ()=>[
2942
- createLocalSnippetElement$o("AppBarCloseButton")
3174
+ createLocalSnippetElement$s("AppBarCloseButton")
2943
3175
  ]).with("Custom", ()=>{
2944
3176
  const buttons = findAllInstances({
2945
3177
  node,
2946
3178
  key: APP_BAR_LEFT_ICON_BUTTON_KEY
2947
3179
  });
2948
3180
  if (buttons.length > 0) {
2949
- return buttons.map((button)=>createLocalSnippetElement$o("AppBarIconButton", undefined, ctx.iconHandler.transform(button.componentProperties["Icon#33580:0"]), {
3181
+ return buttons.map((button)=>createLocalSnippetElement$s("AppBarIconButton", undefined, ctx.iconHandler.transform(button.componentProperties["Icon#33580:0"]), {
2950
3182
  comment: "AppBarIconButton에 aria-label 속성을 추가해주세요."
2951
3183
  }));
2952
3184
  }
2953
3185
  return undefined;
2954
3186
  }).exhaustive();
2955
- const left = leftChildren && leftChildren.length > 0 ? createLocalSnippetElement$o("AppBarLeft", {}, leftChildren) : undefined;
3187
+ const left = leftChildren && leftChildren.length > 0 ? createLocalSnippetElement$s("AppBarLeft", {}, leftChildren) : undefined;
2956
3188
  const rightChildren = match(props.Right.value).with("None", ()=>undefined).with("1 Icon Button", "2 Icon Button", "3 Icon Button", ()=>{
2957
3189
  const buttons = findAllInstances({
2958
3190
  node,
2959
3191
  key: APP_BAR_RIGHT_ICON_BUTTON_KEY
2960
3192
  });
2961
- return buttons.map((button)=>createLocalSnippetElement$o("AppBarIconButton", undefined, ctx.iconHandler.transform(button.componentProperties["Icon#6406:3"]), {
3193
+ return buttons.map((button)=>createLocalSnippetElement$s("AppBarIconButton", undefined, ctx.iconHandler.transform(button.componentProperties["Icon#6406:3"]), {
2962
3194
  comment: "AppBarIconButton에 aria-label 속성을 추가해주세요."
2963
3195
  }));
2964
3196
  }).with("Text Button", ()=>undefined).exhaustive();
2965
- const right = rightChildren && rightChildren.length > 0 ? createLocalSnippetElement$o("AppBarRight", {}, rightChildren) : undefined;
2966
- return createLocalSnippetElement$o("AppBar", {
3197
+ const right = rightChildren && rightChildren.length > 0 ? createLocalSnippetElement$s("AppBarRight", {}, rightChildren) : undefined;
3198
+ return createLocalSnippetElement$s("AppBar", {
2967
3199
  theme,
2968
3200
  tone
2969
3201
  }, [
@@ -2977,18 +3209,18 @@ const createAppBarHandler = (ctx)=>{
2977
3209
  };
2978
3210
 
2979
3211
  const IDENTITY_PLACEHOLDER_KEY = "b3563b6f16ba4cfe4240c9b33eef7edad4c304eb";
2980
- const { createLocalSnippetElement: createLocalSnippetElement$n } = createLocalSnippetHelper("identity-placeholder");
3212
+ const { createLocalSnippetElement: createLocalSnippetElement$r } = createLocalSnippetHelper("identity-placeholder");
2981
3213
  const createIdentityPlaceholderHandler = (_ctx)=>defineComponentHandler(IDENTITY_PLACEHOLDER_KEY, ({ componentProperties: props })=>{
2982
3214
  const commonProps = {
2983
3215
  identity: camelCase(props.Identity.value)
2984
3216
  };
2985
- return createLocalSnippetElement$n("IdentityPlaceholder", commonProps);
3217
+ return createLocalSnippetElement$r("IdentityPlaceholder", commonProps);
2986
3218
  });
2987
3219
 
2988
- const { createLocalSnippetElement: createLocalSnippetElement$m } = createLocalSnippetHelper("avatar");
3220
+ const { createLocalSnippetElement: createLocalSnippetElement$q } = createLocalSnippetHelper("avatar");
2989
3221
  const createAvatarHandler = (ctx)=>{
2990
3222
  const identityPlaceholderHandler = createIdentityPlaceholderHandler();
2991
- return defineComponentHandler(metadata$D.key, (node, traverse)=>{
3223
+ return defineComponentHandler(metadata$F.key, (node, traverse)=>{
2992
3224
  const [placeholder] = findAllInstances({
2993
3225
  node,
2994
3226
  key: identityPlaceholderHandler.key
@@ -3008,7 +3240,7 @@ const createAvatarHandler = (ctx)=>{
3008
3240
  },
3009
3241
  size: props.Size.value
3010
3242
  };
3011
- return createLocalSnippetElement$m("Avatar", commonProps, props["Badge"].value === "None" ? undefined : createLocalSnippetElement$m("AvatarBadge", {
3243
+ return createLocalSnippetElement$q("Avatar", commonProps, props["Badge"].value === "None" ? undefined : createLocalSnippetElement$q("AvatarBadge", {
3012
3244
  asChild: true
3013
3245
  }, createElement("img", {
3014
3246
  src: "https://placehold.co/20x20"
@@ -3020,10 +3252,10 @@ const createAvatarHandler = (ctx)=>{
3020
3252
  });
3021
3253
  };
3022
3254
 
3023
- const { createLocalSnippetElement: createLocalSnippetElement$l } = createLocalSnippetHelper("avatar");
3255
+ const { createLocalSnippetElement: createLocalSnippetElement$p } = createLocalSnippetHelper("avatar");
3024
3256
  const createAvatarStackHandler = (ctx)=>{
3025
3257
  const avatarHandler = createAvatarHandler();
3026
- return defineComponentHandler(metadata$C.key, (node, traverse)=>{
3258
+ return defineComponentHandler(metadata$E.key, (node, traverse)=>{
3027
3259
  const avatarNodes = findAllInstances({
3028
3260
  node,
3029
3261
  key: avatarHandler.key
@@ -3033,11 +3265,11 @@ const createAvatarStackHandler = (ctx)=>{
3033
3265
  size: props.Size.value
3034
3266
  };
3035
3267
  const avatarStackChildren = avatarNodes.map((avatarNode)=>avatarHandler.transform(avatarNode, traverse));
3036
- return createLocalSnippetElement$l("AvatarStack", commonProps, avatarStackChildren);
3268
+ return createLocalSnippetElement$p("AvatarStack", commonProps, avatarStackChildren);
3037
3269
  });
3038
3270
  };
3039
3271
 
3040
- const createBadgeHandler = (_ctx)=>defineComponentHandler(metadata$B.key, ({ componentProperties: props })=>{
3272
+ const createBadgeHandler = (_ctx)=>defineComponentHandler(metadata$D.key, ({ componentProperties: props })=>{
3041
3273
  const commonProps = {
3042
3274
  size: handleSizeProp(props.Size.value),
3043
3275
  tone: camelCase(props.Tone.value),
@@ -3046,12 +3278,12 @@ const createBadgeHandler = (_ctx)=>defineComponentHandler(metadata$B.key, ({ com
3046
3278
  return createSeedReactElement("Badge", commonProps, props["Label#1584:0"].value);
3047
3279
  });
3048
3280
 
3049
- const { createLocalSnippetElement: createLocalSnippetElement$k } = createLocalSnippetHelper("bottom-sheet");
3281
+ const { createLocalSnippetElement: createLocalSnippetElement$o } = createLocalSnippetHelper("bottom-sheet");
3050
3282
  const { createLocalSnippetElement: createLocalSnippetElementTrigger$2 } = createLocalSnippetHelper("action-button");
3051
3283
  // TODO: Bottom Action Bar (WIP) handler의 키. 해당 컴포넌트(템플릿) 핸들러 작성 시 handler.transform()으로 대체
3052
3284
  const BOTTOM_SHEET_FOOTER_KEY = "de6c65d34cc4a01c18c9a7c0ded34635170ca11f";
3053
3285
  const BOTTOM_SHEET_BODY_KEY = "aa9ffdd60fbfdea42f0d11162cd64f4b4389ddcc";
3054
- const createBottomSheetHandler = (_ctx)=>defineComponentHandler(metadata$y.key, (node, traverse)=>{
3286
+ const createBottomSheetHandler = (_ctx)=>defineComponentHandler(metadata$A.key, (node, traverse)=>{
3055
3287
  const props = node.componentProperties;
3056
3288
  const headerAlign = match(props["Header Layout"].value).with("Bottom Left", "Top Left", ()=>"left").with("Bottom Center", "Top Center", ()=>"center").with("None", ()=>undefined).exhaustive();
3057
3289
  const contentProps = {
@@ -3067,32 +3299,32 @@ const createBottomSheetHandler = (_ctx)=>defineComponentHandler(metadata$y.key,
3067
3299
  node,
3068
3300
  key: BOTTOM_SHEET_BODY_KEY
3069
3301
  });
3070
- const bottomSheetBody = bodyNodes.length === 1 ? createLocalSnippetElement$k("BottomSheetBody", {}, bodyNodes[0].children.map(traverse)) : createLocalSnippetElement$k("BottomSheetBody", {}, createElement("div", undefined, "No content available"));
3302
+ const bottomSheetBody = bodyNodes.length === 1 ? createLocalSnippetElement$o("BottomSheetBody", {}, bodyNodes[0].children.map(traverse)) : createLocalSnippetElement$o("BottomSheetBody", {}, createElement("div", undefined, "No content available"));
3071
3303
  const footerNodes = findAllInstances({
3072
3304
  node,
3073
3305
  key: BOTTOM_SHEET_FOOTER_KEY
3074
3306
  });
3075
- const bottomSheetFooter = props["Show Footer#25162:14"] && footerNodes.length === 1 ? createLocalSnippetElement$k("BottomSheetFooter", {}, footerNodes[0].children.map(traverse)) : undefined;
3076
- return createLocalSnippetElement$k("BottomSheetRoot", {
3307
+ const bottomSheetFooter = props["Show Footer#25162:14"] && footerNodes.length === 1 ? createLocalSnippetElement$o("BottomSheetFooter", {}, footerNodes[0].children.map(traverse)) : undefined;
3308
+ return createLocalSnippetElement$o("BottomSheetRoot", {
3077
3309
  defaultOpen: true,
3078
3310
  headerAlign
3079
3311
  }, [
3080
- createLocalSnippetElement$k("BottomSheetTrigger", {
3312
+ createLocalSnippetElement$o("BottomSheetTrigger", {
3081
3313
  asChild: true
3082
3314
  }, createLocalSnippetElementTrigger$2("ActionButton", {}, "BottomSheet 열기")),
3083
- createLocalSnippetElement$k("BottomSheetContent", contentProps, [
3315
+ createLocalSnippetElement$o("BottomSheetContent", contentProps, [
3084
3316
  bottomSheetBody,
3085
3317
  bottomSheetFooter
3086
3318
  ])
3087
3319
  ]);
3088
3320
  });
3089
3321
 
3090
- const { createLocalSnippetElement: createLocalSnippetElement$j } = createLocalSnippetHelper("callout");
3091
- const createCalloutHandler = (ctx)=>defineComponentHandler(metadata$x.key, ({ componentProperties: props, children })=>{
3322
+ const { createLocalSnippetElement: createLocalSnippetElement$n } = createLocalSnippetHelper("callout");
3323
+ const createCalloutHandler = (ctx)=>defineComponentHandler(metadata$z.key, ({ componentProperties: props, children })=>{
3092
3324
  const tag = match(props.Interaction.value).with("Display", ()=>"Callout").with("Actionable", ()=>"ActionableCallout").with("Dismissible", ()=>"DismissibleCallout").exhaustive();
3093
3325
  const textNode = children.find((child)=>child.type === "TEXT");
3094
3326
  if (!textNode) {
3095
- return createLocalSnippetElement$j(tag, undefined, undefined, {
3327
+ return createLocalSnippetElement$n(tag, undefined, undefined, {
3096
3328
  comment: "내용을 제공해주세요."
3097
3329
  });
3098
3330
  }
@@ -3144,14 +3376,16 @@ const createCalloutHandler = (ctx)=>defineComponentHandler(metadata$x.key, ({ co
3144
3376
  prefixIcon: ctx.iconHandler.transform(props["Prefix Icon#35087:0"])
3145
3377
  }
3146
3378
  };
3147
- return createLocalSnippetElement$j(tag, commonProps);
3379
+ return createLocalSnippetElement$n(tag, commonProps);
3148
3380
  });
3149
3381
 
3150
- const { createLocalSnippetElement: createLocalSnippetElement$i } = createLocalSnippetHelper("checkbox");
3151
- const createCheckboxHandler = (_ctx)=>defineComponentHandler(metadata$w.key, ({ componentProperties: props })=>{
3382
+ const { createLocalSnippetElement: createLocalSnippetElement$m } = createLocalSnippetHelper("checkbox");
3383
+ const createCheckboxHandler = (_ctx)=>defineComponentHandler(metadata$y.key, ({ componentProperties: props })=>{
3384
+ const tone = match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated]Brand", ()=>"brand").exhaustive();
3152
3385
  const commonProps = {
3153
3386
  label: props["Label#49990:0"].value,
3154
3387
  weight: camelCase(props.Weight.value),
3388
+ tone,
3155
3389
  variant: camelCase(props.Shape.value),
3156
3390
  size: handleSizeProp(props.Size.value),
3157
3391
  ...props.Selected.value === "True" && {
@@ -3165,14 +3399,25 @@ const createCheckboxHandler = (_ctx)=>defineComponentHandler(metadata$w.key, ({
3165
3399
  disabled: true
3166
3400
  }
3167
3401
  };
3168
- return createLocalSnippetElement$i("Checkbox", commonProps);
3402
+ return createLocalSnippetElement$m("Checkbox", commonProps);
3169
3403
  });
3170
3404
 
3171
- const { createLocalSnippetElement: createLocalSnippetElement$h } = createLocalSnippetHelper("chip");
3405
+ const { createLocalSnippetElement: createLocalSnippetElement$l } = createLocalSnippetHelper("checkbox");
3406
+ const createCheckmarkHandler = (_ctx)=>defineComponentHandler(metadata$x.key, ({ componentProperties: props })=>{
3407
+ const tone = match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated]Brand", ()=>"brand").exhaustive();
3408
+ const commonProps = {
3409
+ tone,
3410
+ variant: camelCase(props.Shape.value),
3411
+ size: handleSizeProp(props.Size.value)
3412
+ };
3413
+ return createLocalSnippetElement$l("Checkmark", commonProps);
3414
+ });
3415
+
3416
+ const { createLocalSnippetElement: createLocalSnippetElement$k } = createLocalSnippetHelper("chip");
3172
3417
  const CHIP_ICON_SUFFIX_KEY = "27343e0e5ab2c66948e9b10fde03d58b5e037212";
3173
3418
  const createChipIconSuffixHandler = (ctx)=>{
3174
3419
  return defineComponentHandler(CHIP_ICON_SUFFIX_KEY, ({ componentProperties })=>{
3175
- return createLocalSnippetElement$h("Chip.SuffixIcon", undefined, createSeedReactElement("Icon", {
3420
+ return createLocalSnippetElement$k("Chip.SuffixIcon", undefined, createSeedReactElement("Icon", {
3176
3421
  svg: ctx.iconHandler.transform(componentProperties["Icon#33203:0"])
3177
3422
  }));
3178
3423
  });
@@ -3180,19 +3425,19 @@ const createChipIconSuffixHandler = (ctx)=>{
3180
3425
  const createChipHandler = (ctx)=>{
3181
3426
  const avatarHandler = createAvatarHandler();
3182
3427
  const iconSuffixHandler = createChipIconSuffixHandler(ctx);
3183
- return defineComponentHandler(metadata$u.key, (node, traverse)=>{
3428
+ return defineComponentHandler(metadata$w.key, (node, traverse)=>{
3184
3429
  const props = node.componentProperties;
3185
- const prefix = match(props["Prefix Type"].value).with("None", "Image", ()=>undefined).with("Icon", ()=>createLocalSnippetElement$h("Chip.PrefixIcon", undefined, createSeedReactElement("Icon", {
3430
+ const prefix = match(props["Prefix Type"].value).with("None", "Image", ()=>undefined).with("Icon", ()=>createLocalSnippetElement$k("Chip.PrefixIcon", undefined, createSeedReactElement("Icon", {
3186
3431
  svg: ctx.iconHandler.transform(props["Prefix Icon#8722:0"])
3187
3432
  }))).with("Avatar", ()=>{
3188
3433
  const [avatar] = findAllInstances({
3189
3434
  node,
3190
- key: metadata$D.key
3435
+ key: metadata$F.key
3191
3436
  });
3192
3437
  if (!avatar) return undefined;
3193
- return createLocalSnippetElement$h("Chip.PrefixAvatar", undefined, avatarHandler.transform(avatar, traverse));
3438
+ return createLocalSnippetElement$k("Chip.PrefixAvatar", undefined, avatarHandler.transform(avatar, traverse));
3194
3439
  }).exhaustive();
3195
- const label = createLocalSnippetElement$h("Chip.Label", undefined, props["Label#7185:0"].value);
3440
+ const label = createLocalSnippetElement$k("Chip.Label", undefined, props["Label#7185:0"].value);
3196
3441
  const [suffixIcon] = findAllInstances({
3197
3442
  node,
3198
3443
  key: CHIP_ICON_SUFFIX_KEY
@@ -3201,22 +3446,25 @@ const createChipHandler = (ctx)=>{
3201
3446
  variant: camelCase(props.Variant.value),
3202
3447
  size: handleSizeProp(props.Size.value),
3203
3448
  layout: props["Label#7185:0"].value ? "withText" : "iconOnly",
3449
+ ...props.Selected.value === "True" && {
3450
+ defaultChecked: true
3451
+ },
3204
3452
  ...props.State.value === "Disabled" && {
3205
3453
  disabled: true
3206
3454
  }
3207
3455
  };
3208
- return createLocalSnippetElement$h("Chip.Button", commonProps, [
3456
+ return createLocalSnippetElement$k("Chip.Toggle", commonProps, [
3209
3457
  prefix,
3210
3458
  label,
3211
3459
  suffixIcon ? iconSuffixHandler.transform(suffixIcon, traverse) : undefined
3212
3460
  ], {
3213
- comment: "목적에 따라 Chip.Toggle, Chip.RadioItem 등으로 바꿔 사용하세요."
3461
+ comment: "목적에 따라 Chip.Button, Chip.RadioItem 등으로 바꿔 사용하세요."
3214
3462
  });
3215
3463
  });
3216
3464
  };
3217
3465
 
3218
- const { createLocalSnippetElement: createLocalSnippetElement$g } = createLocalSnippetHelper("contextual-floating-button");
3219
- const createContextualFloatingButtonHandler = (ctx)=>defineComponentHandler(metadata$s.key, ({ componentProperties: props })=>{
3466
+ const { createLocalSnippetElement: createLocalSnippetElement$j } = createLocalSnippetHelper("contextual-floating-button");
3467
+ const createContextualFloatingButtonHandler = (ctx)=>defineComponentHandler(metadata$u.key, ({ componentProperties: props })=>{
3220
3468
  const states = props.State.value.split("-");
3221
3469
  const { layout, children } = match(props.Layout.value).with("Icon Only", ()=>({
3222
3470
  layout: "iconOnly",
@@ -3244,24 +3492,26 @@ const createContextualFloatingButtonHandler = (ctx)=>defineComponentHandler(meta
3244
3492
  variant: match(props.Variant.value).with("Solid", ()=>"solid").with("Layer", ()=>"layer").exhaustive(),
3245
3493
  layout
3246
3494
  };
3247
- return createLocalSnippetElement$g("ContextualFloatingButton", commonProps, children);
3495
+ return createLocalSnippetElement$j("ContextualFloatingButton", commonProps, children);
3248
3496
  });
3249
3497
 
3250
- const createDividerHandler = (_ctx)=>defineComponentHandler(metadata$r.key, ({ componentProperties: props })=>{
3251
- const { color } = match(props.Tone.value).with("Neutral", ()=>({
3252
- color: "stroke.neutral"
3253
- })).with("Neutral Muted", ()=>({
3498
+ const createDividerHandler = (_ctx)=>defineComponentHandler(metadata$t.key, ({ componentProperties: props })=>{
3499
+ const { color } = match(props.Tone.value).with("Neutral Muted", ()=>({
3254
3500
  color: "stroke.neutralMuted"
3501
+ })).with("Neutral Subtle", ()=>({
3502
+ color: "stroke.neutralSubtle"
3255
3503
  })).exhaustive();
3256
- return createSeedReactElement("Divider", {
3257
- color
3258
- });
3504
+ const commonProps = {
3505
+ color,
3506
+ orientation: camelCase(props.Orientation.value)
3507
+ };
3508
+ return createSeedReactElement("Divider", commonProps, undefined);
3259
3509
  });
3260
3510
 
3261
- const { createLocalSnippetElement: createLocalSnippetElement$f } = createLocalSnippetHelper("error-state");
3511
+ const { createLocalSnippetElement: createLocalSnippetElement$i } = createLocalSnippetHelper("error-state");
3262
3512
  const createErrorStateHandler = (ctx)=>{
3263
3513
  const actionButtonHandler = createActionButtonHandler(ctx);
3264
- return defineComponentHandler(metadata$I.key, (node, traverse)=>{
3514
+ return defineComponentHandler(metadata$K.key, (node, traverse)=>{
3265
3515
  const props = node.componentProperties;
3266
3516
  const [actionButtonNode] = findAllInstances({
3267
3517
  node,
@@ -3282,14 +3532,14 @@ const createErrorStateHandler = (ctx)=>{
3282
3532
  }
3283
3533
  }
3284
3534
  };
3285
- return createLocalSnippetElement$f("ErrorState", commonProps);
3535
+ return createLocalSnippetElement$i("ErrorState", commonProps);
3286
3536
  });
3287
3537
  };
3288
3538
 
3289
- const { createLocalSnippetElement: createLocalSnippetElement$e } = createLocalSnippetHelper("floating-action-button");
3539
+ const { createLocalSnippetElement: createLocalSnippetElement$h } = createLocalSnippetHelper("floating-action-button");
3290
3540
  const BUTTON_TYPE_KEY = "8cecc85275115d653579d4c3156567ebf19f7b27";
3291
3541
  const MENU_TYPE_KEY = "400124347392c15473f9cd2d8a6aedb64f3baf36";
3292
- const createFloatingActionButtonHandler = (ctx)=>defineComponentHandler(metadata$q.key, (node)=>{
3542
+ const createFloatingActionButtonHandler = (ctx)=>defineComponentHandler(metadata$s.key, (node)=>{
3293
3543
  const [button] = findAllInstances({
3294
3544
  node,
3295
3545
  key: BUTTON_TYPE_KEY
@@ -3310,12 +3560,12 @@ const createFloatingActionButtonHandler = (ctx)=>defineComponentHandler(metadata
3310
3560
  label: menu.componentProperties["Label#29766:9"].value
3311
3561
  };
3312
3562
  })();
3313
- return createLocalSnippetElement$e("FloatingActionButton", commonProps);
3563
+ return createLocalSnippetElement$h("FloatingActionButton", commonProps);
3314
3564
  });
3315
3565
 
3316
- const { createLocalSnippetElement: createLocalSnippetElement$d } = createLocalSnippetHelper("help-bubble");
3566
+ const { createLocalSnippetElement: createLocalSnippetElement$g } = createLocalSnippetHelper("help-bubble");
3317
3567
  const { createLocalSnippetElement: createLocalSnippetElementTrigger$1 } = createLocalSnippetHelper("action-button");
3318
- const createHelpBubbleHandler = (_ctx)=>defineComponentHandler(metadata$p.key, ({ componentProperties: props })=>{
3568
+ const createHelpBubbleHandler = (_ctx)=>defineComponentHandler(metadata$r.key, ({ componentProperties: props })=>{
3319
3569
  const placement = (()=>{
3320
3570
  switch(props.Placement.value){
3321
3571
  case "Bottom-Left":
@@ -3350,101 +3600,33 @@ const createHelpBubbleHandler = (_ctx)=>defineComponentHandler(metadata$p.key, (
3350
3600
  description: props["Description#62535:98"].value
3351
3601
  },
3352
3602
  defaultOpen: true,
3603
+ showCloseButton: props["Show Close Button#40538:0"].value,
3353
3604
  placement
3354
3605
  };
3355
- return createLocalSnippetElement$d("HelpBubbleTrigger", commonProps, createLocalSnippetElementTrigger$1("ActionButton", {}, "HelpBubble 열기"));
3356
- });
3357
-
3358
- const { createLocalSnippetElement: createLocalSnippetElement$c } = createLocalSnippetHelper("page-banner");
3359
- const SUFFIX_BUTTON_KEY = "7dce4e1242761ccd8e5da42278fc2d870918039c";
3360
- const createPageBannerButtonHandler = (_ctx)=>defineComponentHandler(SUFFIX_BUTTON_KEY, (node)=>{
3361
- return createElement("PageBannerButton", undefined, node.componentProperties["Label#39890:0"].value);
3362
- });
3363
- const createPageBannerHandler = (ctx)=>{
3364
- const buttonHandler = createPageBannerButtonHandler();
3365
- return defineComponentHandler(metadata$i.key, (node, traverse)=>{
3366
- const { componentProperties: props } = node;
3367
- const { tag, suffix } = match(props.Interaction.value).with("Actionable", ()=>({
3368
- tag: "ActionablePageBanner",
3369
- suffix: undefined
3370
- })).with("Dismissible", ()=>({
3371
- tag: "DismissiblePageBanner",
3372
- suffix: undefined
3373
- })).with("Display", ()=>({
3374
- tag: "PageBanner",
3375
- suffix: undefined
3376
- })).with("With Action", ()=>{
3377
- const [buttonNode] = findAllInstances({
3378
- node,
3379
- key: SUFFIX_BUTTON_KEY
3380
- });
3381
- const suffix = buttonNode ? buttonHandler.transform(buttonNode, traverse) : undefined;
3382
- return {
3383
- tag: "PageBanner",
3384
- suffix
3385
- };
3386
- }).with("Custom", ()=>({
3387
- tag: "PageBanner",
3388
- suffix: createElement("div", undefined, "Custom Content")
3389
- })).exhaustive();
3390
- const textNode = findOne(node, (child)=>child.type === "TEXT" && child.name === "Text");
3391
- if (!textNode) {
3392
- return createLocalSnippetElement$c(tag, undefined, undefined, {
3393
- comment: "내용을 제공해주세요."
3394
- });
3395
- }
3396
- const slices = textNode.segments;
3397
- let title;
3398
- let description;
3399
- switch(slices.length){
3400
- case 1:
3401
- {
3402
- description = slices[0]?.characters.trim();
3403
- break;
3404
- }
3405
- case 2:
3406
- {
3407
- title = slices[0]?.characters.trim();
3408
- description = slices[1]?.characters.trim();
3409
- break;
3410
- }
3411
- }
3412
- const iconNode = findOne(node, (child)=>child.type === "INSTANCE" && child.name === "icon");
3413
- const showPrefixIcon = props["Show Prefix Icon#11840:27"].value && iconNode;
3414
- const prefixIcon = showPrefixIcon ? ctx.iconHandler.transform(iconNode) : undefined;
3415
- const commonProps = {
3416
- title,
3417
- description,
3418
- prefixIcon,
3419
- tone: camelCase(props.Tone.value),
3420
- variant: camelCase(props.Variant.value),
3421
- ...suffix && {
3422
- suffix
3423
- }
3424
- };
3425
- return createLocalSnippetElement$c(tag, commonProps);
3606
+ return createLocalSnippetElement$g("HelpBubbleTrigger", commonProps, createLocalSnippetElementTrigger$1("ActionButton", {}, "HelpBubble 열기"), {
3607
+ comment: "필요에 따라 HelpBubbleAnchor로 변경하여 사용하세요."
3608
+ });
3426
3609
  });
3427
- };
3428
3610
 
3429
- const { createLocalSnippetElement: createLocalSnippetElement$b } = createLocalSnippetHelper("manner-temp-badge");
3611
+ const { createLocalSnippetElement: createLocalSnippetElement$f } = createLocalSnippetHelper("manner-temp-badge");
3430
3612
  const createMannerTempBadgeHandler = (_ctx)=>defineComponentHandler(metadata$l.key, ({ children })=>{
3431
3613
  const textNode = children.find((child)=>child.type === "TEXT");
3432
3614
  const commonProps = {
3433
3615
  temperature: Number(textNode?.characters.replace(/[^\d.-]/g, "") ?? "-1")
3434
3616
  };
3435
- return createLocalSnippetElement$b("MannerTempBadge", commonProps);
3617
+ return createLocalSnippetElement$f("MannerTempBadge", commonProps);
3436
3618
  });
3437
3619
 
3438
- const { createLocalSnippetElement: createLocalSnippetElement$a } = createLocalSnippetHelper("manner-temp");
3620
+ const { createLocalSnippetElement: createLocalSnippetElement$e } = createLocalSnippetHelper("manner-temp");
3439
3621
  const createMannerTempHandler = (_ctx)=>defineComponentHandler(metadata$m.key, ({ children })=>{
3440
3622
  const textNode = children.find((child)=>child.type === "TEXT");
3441
3623
  const commonProps = {
3442
3624
  temperature: Number(textNode?.characters.replace(/[^\d.-]/g, "") ?? "-1")
3443
3625
  };
3444
- return createLocalSnippetElement$a("MannerTemp", commonProps);
3626
+ return createLocalSnippetElement$e("MannerTemp", commonProps);
3445
3627
  });
3446
3628
 
3447
- const { createLocalSnippetElement: createLocalSnippetElement$9 } = createLocalSnippetHelper("menu-sheet");
3629
+ const { createLocalSnippetElement: createLocalSnippetElement$d } = createLocalSnippetHelper("menu-sheet");
3448
3630
  const { createLocalSnippetElement: createLocalSnippetElementTrigger } = createLocalSnippetHelper("action-button");
3449
3631
  const MENU_SHEET_ITEM_KEY = "057083e95466da59051119eec0b41d4ad5a07f8f";
3450
3632
  const createMenuSheetItemHandler = (ctx)=>defineComponentHandler(MENU_SHEET_ITEM_KEY, ({ componentProperties: props })=>{
@@ -3455,7 +3637,7 @@ const createMenuSheetItemHandler = (ctx)=>defineComponentHandler(MENU_SHEET_ITEM
3455
3637
  disabled: true
3456
3638
  }
3457
3639
  };
3458
- return createLocalSnippetElement$9("MenuSheetItem", commonProps, [
3640
+ return createLocalSnippetElement$d("MenuSheetItem", commonProps, [
3459
3641
  props["Show Prefix Icon#17043:5"].value ? createSeedReactElement("PrefixIcon", {
3460
3642
  svg: ctx.iconHandler.transform(props["Prefix Icon#55948:0"])
3461
3643
  }) : undefined,
@@ -3471,7 +3653,7 @@ const createMenuSheetGroupHandler = (ctx)=>{
3471
3653
  key: menuSheetItemHandler.key
3472
3654
  });
3473
3655
  const contentChildren = items.map((item)=>menuSheetItemHandler.transform(item, traverse));
3474
- return createLocalSnippetElement$9("MenuSheetGroup", undefined, contentChildren);
3656
+ return createLocalSnippetElement$d("MenuSheetGroup", undefined, contentChildren);
3475
3657
  });
3476
3658
  };
3477
3659
  const createMenuSheetHandler = (ctx)=>{
@@ -3491,23 +3673,23 @@ const createMenuSheetHandler = (ctx)=>{
3491
3673
  })).with("Text Only", ()=>({
3492
3674
  labelAlignment: "center"
3493
3675
  })).exhaustive();
3494
- const content = createLocalSnippetElement$9("MenuSheetContent", {
3676
+ const content = createLocalSnippetElement$d("MenuSheetContent", {
3495
3677
  title,
3496
3678
  labelAlignment
3497
3679
  }, contentChildren, {
3498
3680
  comment: title ? undefined : "title을 제공하지 않는 경우 aria-label이나 aria-labelledby 중 하나를 제공해야 합니다."
3499
3681
  });
3500
- const trigger = createLocalSnippetElement$9("MenuSheetTrigger", {
3682
+ const trigger = createLocalSnippetElement$d("MenuSheetTrigger", {
3501
3683
  asChild: true
3502
3684
  }, createLocalSnippetElementTrigger("ActionButton", {}, "MenuSheet 열기"));
3503
- return createLocalSnippetElement$9("MenuSheet", undefined, [
3685
+ return createLocalSnippetElement$d("MenuSheet", undefined, [
3504
3686
  trigger,
3505
3687
  content
3506
3688
  ]);
3507
3689
  });
3508
3690
  };
3509
3691
 
3510
- const { createLocalSnippetElement: createLocalSnippetElement$8 } = createLocalSnippetHelper("text-field");
3692
+ const { createLocalSnippetElement: createLocalSnippetElement$c } = createLocalSnippetHelper("text-field");
3511
3693
  const createMultilineTextFieldHandler = (_ctx)=>defineComponentHandler(metadata$j.key, ({ componentProperties: props })=>{
3512
3694
  const { Size: { value: size }, State: { value: state }, Filled: { value: filled }, "Show Header#870:0": { value: showHeader }, "Label#15327:323": { value: label }, "Show Indicator#1259:0": { value: showIndicator }, "Indicator#15327:286": { value: indicator }, "Placeholder#958:0": { value: placeholder }, "Filled Text#1304:0": { value: defaultValue }, "Show Footer#958:25": { value: showFooter }, "Show Description#958:50": { value: showDescription }, "Description#15327:212": { value: description }, "Show Character count#958:75": { value: showCharacterCount }, "Character Count#15327:360": { value: _characterCount }, "Max Character Count#15327:175": { value: maxCharacterCount } } = props;
3513
3695
  const states = state.split("-");
@@ -3549,11 +3731,82 @@ const createMultilineTextFieldHandler = (_ctx)=>defineComponentHandler(metadata$
3549
3731
  const inputProps = {
3550
3732
  placeholder
3551
3733
  };
3552
- const TextFieldChildren = createLocalSnippetElement$8("TextFieldTextarea", inputProps);
3553
- return createLocalSnippetElement$8("TextField", commonProps, TextFieldChildren);
3734
+ const TextFieldChildren = createLocalSnippetElement$c("TextFieldTextarea", inputProps);
3735
+ return createLocalSnippetElement$c("TextField", commonProps, TextFieldChildren);
3736
+ });
3737
+
3738
+ const { createLocalSnippetElement: createLocalSnippetElement$b } = createLocalSnippetHelper("page-banner");
3739
+ const SUFFIX_BUTTON_KEY = "7dce4e1242761ccd8e5da42278fc2d870918039c";
3740
+ const createPageBannerButtonHandler = (_ctx)=>defineComponentHandler(SUFFIX_BUTTON_KEY, (node)=>{
3741
+ return createElement("PageBannerButton", undefined, node.componentProperties["Label#39890:0"].value);
3742
+ });
3743
+ const createPageBannerHandler = (ctx)=>{
3744
+ const buttonHandler = createPageBannerButtonHandler();
3745
+ return defineComponentHandler(metadata$i.key, (node, traverse)=>{
3746
+ const { componentProperties: props } = node;
3747
+ const { tag, suffix } = match(props.Interaction.value).with("Actionable", ()=>({
3748
+ tag: "ActionablePageBanner",
3749
+ suffix: undefined
3750
+ })).with("Dismissible", ()=>({
3751
+ tag: "DismissiblePageBanner",
3752
+ suffix: undefined
3753
+ })).with("Display", ()=>({
3754
+ tag: "PageBanner",
3755
+ suffix: undefined
3756
+ })).with("With Action", ()=>{
3757
+ const [buttonNode] = findAllInstances({
3758
+ node,
3759
+ key: SUFFIX_BUTTON_KEY
3760
+ });
3761
+ const suffix = buttonNode ? buttonHandler.transform(buttonNode, traverse) : undefined;
3762
+ return {
3763
+ tag: "PageBanner",
3764
+ suffix
3765
+ };
3766
+ }).with("Custom", ()=>({
3767
+ tag: "PageBanner",
3768
+ suffix: createElement("div", undefined, "Custom Content")
3769
+ })).exhaustive();
3770
+ const textNode = findOne(node, (child)=>child.type === "TEXT" && child.name === "Text");
3771
+ if (!textNode) {
3772
+ return createLocalSnippetElement$b(tag, undefined, undefined, {
3773
+ comment: "내용을 제공해주세요."
3774
+ });
3775
+ }
3776
+ const slices = textNode.segments;
3777
+ let title;
3778
+ let description;
3779
+ switch(slices.length){
3780
+ case 1:
3781
+ {
3782
+ description = slices[0]?.characters.trim();
3783
+ break;
3784
+ }
3785
+ case 2:
3786
+ {
3787
+ title = slices[0]?.characters.trim();
3788
+ description = slices[1]?.characters.trim();
3789
+ break;
3790
+ }
3791
+ }
3792
+ const iconNode = findOne(node, (child)=>child.type === "INSTANCE" && child.name === "icon");
3793
+ const showPrefixIcon = props["Show Prefix Icon#11840:27"].value && iconNode;
3794
+ const prefixIcon = showPrefixIcon ? ctx.iconHandler.transform(iconNode) : undefined;
3795
+ const commonProps = {
3796
+ title,
3797
+ description,
3798
+ prefixIcon,
3799
+ tone: camelCase(props.Tone.value),
3800
+ variant: camelCase(props.Variant.value),
3801
+ ...suffix && {
3802
+ suffix
3803
+ }
3804
+ };
3805
+ return createLocalSnippetElement$b(tag, commonProps);
3554
3806
  });
3807
+ };
3555
3808
 
3556
- const { createLocalSnippetElement: createLocalSnippetElement$7 } = createLocalSnippetHelper("progress-circle");
3809
+ const { createLocalSnippetElement: createLocalSnippetElement$a } = createLocalSnippetHelper("progress-circle");
3557
3810
  const createProgressCircleHandler = (_ctx)=>defineComponentHandler(metadata$h.key, ({ componentProperties: props })=>{
3558
3811
  const { value, minValue, maxValue } = match(props.Value.value).with("Indeterminate", ()=>({
3559
3812
  value: undefined,
@@ -3585,10 +3838,36 @@ const createProgressCircleHandler = (_ctx)=>defineComponentHandler(metadata$h.ke
3585
3838
  tone: camelCase(props.Tone.value)
3586
3839
  }
3587
3840
  };
3588
- return createLocalSnippetElement$7("ProgressCircle", commonProps);
3841
+ return createLocalSnippetElement$a("ProgressCircle", commonProps);
3842
+ });
3843
+
3844
+ const { createLocalSnippetElement: createLocalSnippetElement$9 } = createLocalSnippetHelper("radio-group");
3845
+ const createRadioMarkHandler = (_ctx)=>defineComponentHandler(metadata$f.key, ({ componentProperties: props })=>{
3846
+ const tone = match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated]Brand", ()=>"brand").exhaustive();
3847
+ const commonProps = {
3848
+ tone,
3849
+ size: handleSizeProp(props.Size.value)
3850
+ };
3851
+ return createLocalSnippetElement$9("RadioMark", commonProps);
3589
3852
  });
3590
3853
 
3591
- const { createLocalSnippetElement: createLocalSnippetElement$6 } = createLocalSnippetHelper("reaction-button");
3854
+ const { createLocalSnippetElement: createLocalSnippetElement$8 } = createLocalSnippetHelper("radio-group");
3855
+ const createRadioGroupItemHandler = (_ctx)=>defineComponentHandler(metadata$g.key, ({ componentProperties: props })=>{
3856
+ const tone = match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated]Brand", ()=>"brand").exhaustive();
3857
+ const commonProps = {
3858
+ ...props.State.value === "Disabled" && {
3859
+ disabled: true
3860
+ },
3861
+ label: props["Label#49990:171"].value,
3862
+ value: props["Label#49990:171"].value,
3863
+ size: handleSizeProp(props.Size.value),
3864
+ tone,
3865
+ weight: camelCase(props.Weight.value)
3866
+ };
3867
+ return createLocalSnippetElement$8("RadioGroupItem", commonProps);
3868
+ });
3869
+
3870
+ const { createLocalSnippetElement: createLocalSnippetElement$7 } = createLocalSnippetHelper("reaction-button");
3592
3871
  const createReactionButtonHandler = (ctx)=>defineComponentHandler(metadata$d.key, ({ componentProperties: props })=>{
3593
3872
  const commonProps = {
3594
3873
  size: handleSizeProp(props.Size.value),
@@ -3602,7 +3881,7 @@ const createReactionButtonHandler = (ctx)=>defineComponentHandler(metadata$d.key
3602
3881
  defaultPressed: true
3603
3882
  }
3604
3883
  };
3605
- return createLocalSnippetElement$6("ReactionButton", commonProps, [
3884
+ return createLocalSnippetElement$7("ReactionButton", commonProps, [
3606
3885
  createSeedReactElement("PrefixIcon", {
3607
3886
  svg: ctx.iconHandler.transform(props["Icon#12379:0"])
3608
3887
  }),
@@ -3611,7 +3890,7 @@ const createReactionButtonHandler = (ctx)=>defineComponentHandler(metadata$d.key
3611
3890
  ]);
3612
3891
  });
3613
3892
 
3614
- const { createLocalSnippetElement: createLocalSnippetElement$5 } = createLocalSnippetHelper("segmented-control");
3893
+ const { createLocalSnippetElement: createLocalSnippetElement$6 } = createLocalSnippetHelper("segmented-control");
3615
3894
  const SEGMENTED_CONTROL_ITEM_KEY = "9a7ba0d4c041ddbce84ee48881788434fd6bccc8";
3616
3895
  const createSegmentedControlItemHandler = (_ctx)=>defineComponentHandler(SEGMENTED_CONTROL_ITEM_KEY, ({ componentProperties: props })=>{
3617
3896
  const states = props.State.value.split("-");
@@ -3621,7 +3900,7 @@ const createSegmentedControlItemHandler = (_ctx)=>defineComponentHandler(SEGMENT
3621
3900
  disabled: true
3622
3901
  }
3623
3902
  };
3624
- return createLocalSnippetElement$5("SegmentedControlItem", commonProps, props["Label#11366:15"].value);
3903
+ return createLocalSnippetElement$6("SegmentedControlItem", commonProps, props["Label#11366:15"].value);
3625
3904
  });
3626
3905
  const createSegmentedControlHandler = (ctx)=>{
3627
3906
  const segmentedControlItemHandler = createSegmentedControlItemHandler();
@@ -3637,13 +3916,13 @@ const createSegmentedControlHandler = (ctx)=>{
3637
3916
  defaultValue: selectedSegment.componentProperties["Label#11366:15"].value
3638
3917
  }
3639
3918
  };
3640
- return createLocalSnippetElement$5("SegmentedControl", commonProps, segmentedControlChildren, {
3919
+ return createLocalSnippetElement$6("SegmentedControl", commonProps, segmentedControlChildren, {
3641
3920
  comment: "aria-label이나 aria-labelledby 중 하나를 제공해야 합니다."
3642
3921
  });
3643
3922
  });
3644
3923
  };
3645
3924
 
3646
- const { createLocalSnippetElement: createLocalSnippetElement$4 } = createLocalSnippetHelper("select-box");
3925
+ const { createLocalSnippetElement: createLocalSnippetElement$5 } = createLocalSnippetHelper("select-box");
3647
3926
  const createSelectBoxHandler = (_ctx)=>defineComponentHandler(metadata$9.key, ({ componentProperties: props })=>{
3648
3927
  const tag = match(props.Control.value).with("Checkbox", ()=>"CheckSelectBox").with("Radio", ()=>"RadioSelectBoxItem").exhaustive();
3649
3928
  const commonProps = {
@@ -3658,11 +3937,11 @@ const createSelectBoxHandler = (_ctx)=>defineComponentHandler(metadata$9.key, ({
3658
3937
  defaultChecked: true
3659
3938
  }
3660
3939
  };
3661
- return createLocalSnippetElement$4(tag, commonProps);
3940
+ return createLocalSnippetElement$5(tag, commonProps);
3662
3941
  });
3663
3942
  const createSelectBoxGroupHandler = (ctx)=>{
3664
3943
  const selectBoxHandler = createSelectBoxHandler();
3665
- return defineComponentHandler(metadata$H.key, (node, traverse)=>{
3944
+ return defineComponentHandler(metadata$J.key, (node, traverse)=>{
3666
3945
  const props = node.componentProperties;
3667
3946
  const tag = match(props.Control.value).with("Checkbox", ()=>"CheckSelectBoxGroup").with("Radio", ()=>"RadioSelectBoxRoot").exhaustive();
3668
3947
  const selectBoxes = findAllInstances({
@@ -3681,7 +3960,7 @@ const createSelectBoxGroupHandler = (ctx)=>{
3681
3960
  defaultValue: selectedSelectBox?.componentProperties["Label#3635:0"].value
3682
3961
  }
3683
3962
  };
3684
- return createLocalSnippetElement$4(tag, commonProps, stack);
3963
+ return createLocalSnippetElement$5(tag, commonProps, stack);
3685
3964
  });
3686
3965
  };
3687
3966
 
@@ -3695,7 +3974,7 @@ const createSkeletonHandler = (ctx)=>defineComponentHandler(metadata$8.key, (nod
3695
3974
  return createSeedReactElement("Skeleton", commonProps);
3696
3975
  });
3697
3976
 
3698
- const { createLocalSnippetElement: createLocalSnippetElement$3 } = createLocalSnippetHelper("snackbar");
3977
+ const { createLocalSnippetElement: createLocalSnippetElement$4 } = createLocalSnippetHelper("snackbar");
3699
3978
  const createSnackbarHandler = (_ctx)=>defineComponentHandler(metadata$6.key, ({ componentProperties: props })=>{
3700
3979
  const commonProps = {
3701
3980
  message: props["Message#1528:4"].value,
@@ -3705,12 +3984,14 @@ const createSnackbarHandler = (_ctx)=>defineComponentHandler(metadata$6.key, ({
3705
3984
  }
3706
3985
  };
3707
3986
  // TODO: adapter.create({ render })
3708
- return createLocalSnippetElement$3("Snackbar", commonProps);
3987
+ return createLocalSnippetElement$4("Snackbar", commonProps);
3709
3988
  });
3710
3989
 
3711
- const { createLocalSnippetElement: createLocalSnippetElement$2 } = createLocalSnippetHelper("switch");
3990
+ const { createLocalSnippetElement: createLocalSnippetElement$3 } = createLocalSnippetHelper("switch");
3712
3991
  const createSwitchHandler = (_ctx)=>defineComponentHandler(metadata$4.key, ({ componentProperties: props })=>{
3992
+ const tone = match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated] Brand", ()=>"brand").exhaustive();
3713
3993
  const commonProps = {
3994
+ tone,
3714
3995
  size: props.Size.value,
3715
3996
  label: props["Label#36578:0"].value,
3716
3997
  ...props.Selected.value === "True" && {
@@ -3720,10 +4001,219 @@ const createSwitchHandler = (_ctx)=>defineComponentHandler(metadata$4.key, ({ co
3720
4001
  disabled: true
3721
4002
  }
3722
4003
  };
3723
- return createLocalSnippetElement$2("Switch", commonProps);
4004
+ return createLocalSnippetElement$3("Switch", commonProps);
3724
4005
  });
3725
4006
 
3726
- const { createLocalSnippetElement: createLocalSnippetElement$1 } = createLocalSnippetHelper("text-field");
4007
+ const { createLocalSnippetElement: createTabsLocalSnippetElement } = createLocalSnippetHelper("tabs");
4008
+ const { createLocalSnippetElement: createChipTabsLocalSnippetElement } = createLocalSnippetHelper("chip-tabs");
4009
+ const LINE_TABS_WRAPPER_KEY = "e114161387f800d3668d0585bed1d109e4edcbe4";
4010
+ const CHIP_TABS_WRAPPER_KEY = "d7cf2983c79c8394aaab0185af83a9d1b9d10ece";
4011
+ const createTabsHandler = (_ctx)=>{
4012
+ const lineHandler = createLineTabsHandler();
4013
+ const chipHandler = createChipTabsHandler();
4014
+ return defineComponentHandler(metadata$3.key, (node, traverse)=>{
4015
+ const props = node.componentProperties;
4016
+ const elementNode = match(props.Variant.value).with("Line", ()=>{
4017
+ const [wrapper] = findAllInstances({
4018
+ node,
4019
+ key: LINE_TABS_WRAPPER_KEY
4020
+ });
4021
+ if (!wrapper) throw new Error("Line Tab wrapper not found");
4022
+ return lineHandler.transform(wrapper, traverse);
4023
+ }).with("Chip", ()=>{
4024
+ const [wrapper] = findAllInstances({
4025
+ node,
4026
+ key: CHIP_TABS_WRAPPER_KEY
4027
+ });
4028
+ if (!wrapper) throw new Error("Chip Tab wrapper not found");
4029
+ return chipHandler.transform(wrapper, traverse);
4030
+ }).exhaustive();
4031
+ return elementNode;
4032
+ });
4033
+ };
4034
+ /*
4035
+ <TabsRoot defaultValue="2" triggerLayout="fill">
4036
+ <TabsList>
4037
+ <TabsTrigger value="1">라벨1</TabsTrigger>
4038
+ <TabsTrigger value="2">라벨2</TabsTrigger>
4039
+ <TabsTrigger value="3">라벨3</TabsTrigger>
4040
+ </TabsList>
4041
+ <TabsCarousel>
4042
+ <TabsContent value="1">
4043
+ <Content>Content 1</Content>
4044
+ </TabsContent>
4045
+ <TabsContent value="2">
4046
+ <Content>Content 2</Content>
4047
+ </TabsContent>
4048
+ <TabsContent value="3">
4049
+ <Content>Content 3</Content>
4050
+ </TabsContent>
4051
+ </TabsCarousel>
4052
+ </TabsRoot>
4053
+ */ const LINE_TABS_HUG_ITEM_KEY = "946cc52671ac3f46e20a8ff12fcc1c7f618da675";
4054
+ const LINE_TABS_FILL_ITEM_KEY = "78039b6b86852b685a6e93e9b6743b9e577cd7db";
4055
+ const createLineTabsHandler = (_ctx)=>{
4056
+ const hugHandler = createLineTriggerHugHandler();
4057
+ const fillHandler = createLineTriggerFillHandler();
4058
+ return defineComponentHandler(LINE_TABS_WRAPPER_KEY, (node, traverse)=>{
4059
+ const props = node.componentProperties;
4060
+ const { triggers, defaultValue } = match(props.Layout.value).with("Hug", ()=>{
4061
+ const nodes = findAllInstances({
4062
+ node,
4063
+ key: LINE_TABS_HUG_ITEM_KEY
4064
+ });
4065
+ return {
4066
+ triggers: nodes.map((node)=>({
4067
+ elementNode: hugHandler.transform(node, traverse),
4068
+ value: node.componentProperties["Label#4478:2"].value
4069
+ })),
4070
+ defaultValue: nodes.find((node)=>node.componentProperties.State.value === "Selected")?.componentProperties["Label#4478:2"].value
4071
+ };
4072
+ }).with("Fill", ()=>{
4073
+ const nodes = findAllInstances({
4074
+ node,
4075
+ key: LINE_TABS_FILL_ITEM_KEY
4076
+ });
4077
+ return {
4078
+ triggers: nodes.map((node)=>({
4079
+ elementNode: fillHandler.transform(node, traverse),
4080
+ value: node.componentProperties["Label#4478:2"].value
4081
+ })),
4082
+ defaultValue: nodes.find((node)=>node.componentProperties.State.value === "Selected")?.componentProperties["Label#4478:2"].value
4083
+ };
4084
+ }).exhaustive();
4085
+ const rootProps = {
4086
+ triggerLayout: camelCase(props.Layout.value),
4087
+ size: handleSizeProp(props.Size.value),
4088
+ defaultValue
4089
+ };
4090
+ const tabsCarousel = createTabsLocalSnippetElement("TabsCarousel", undefined, triggers.map(({ value })=>createTabsLocalSnippetElement("TabsContent", {
4091
+ value
4092
+ }, value)));
4093
+ const tabsList = createTabsLocalSnippetElement("TabsList", undefined, triggers.map(({ elementNode })=>elementNode));
4094
+ return createTabsLocalSnippetElement("TabsRoot", rootProps, [
4095
+ tabsList,
4096
+ tabsCarousel
4097
+ ]);
4098
+ });
4099
+ };
4100
+ const LINE_TRIGGER_HUG_KEY = "946cc52671ac3f46e20a8ff12fcc1c7f618da675";
4101
+ const createLineTriggerHugHandler = (_ctx)=>defineComponentHandler(LINE_TRIGGER_HUG_KEY, ({ componentProperties: props })=>{
4102
+ const commonProps = {
4103
+ value: props["Label#4478:2"].value,
4104
+ ...props.State.value === "Disabled" && {
4105
+ disabled: true
4106
+ },
4107
+ ...props["Has Notification#32892:0"].value && {
4108
+ notification: true
4109
+ }
4110
+ };
4111
+ return createTabsLocalSnippetElement("TabsTrigger", commonProps);
4112
+ });
4113
+ const LINE_TRIGGER_FILL_KEY = "78039b6b86852b685a6e93e9b6743b9e577cd7db";
4114
+ const createLineTriggerFillHandler = (_ctx)=>defineComponentHandler(LINE_TRIGGER_FILL_KEY, ({ componentProperties: props })=>{
4115
+ const commonProps = {
4116
+ value: props["Label#4478:2"].value,
4117
+ ...props.State.value === "Disabled" && {
4118
+ disabled: true
4119
+ },
4120
+ ...props["Has Notification#32904:13"].value && {
4121
+ notification: true
4122
+ }
4123
+ };
4124
+ return createTabsLocalSnippetElement("TabsTrigger", commonProps);
4125
+ });
4126
+ /*
4127
+ <ChipTabsRoot
4128
+ variant="neutralOutline"
4129
+ defaultValue="1"
4130
+ >
4131
+ <ChipTabsList>
4132
+ <ChipTabsTrigger value="1">라벨1</ChipTabsTrigger>
4133
+ <ChipTabsTrigger value="2">라벨2</ChipTabsTrigger>
4134
+ <ChipTabsTrigger value="3">라벨3</ChipTabsTrigger>
4135
+ </ChipTabsList>
4136
+ <ChipTabsCarousel>
4137
+ <ChipTabsContent value="1">
4138
+ <Content>Content 1</Content>
4139
+ </ChipTabsContent>
4140
+ <ChipTabsContent value="2">
4141
+ <Content>Content 2</Content>
4142
+ </ChipTabsContent>
4143
+ <ChipTabsContent value="3">
4144
+ <Content>Content 3</Content>
4145
+ </ChipTabsContent>
4146
+ </ChipTabsCarousel>
4147
+ </ChipTabsRoot>
4148
+ */ const createChipTabsHandler = (_ctx)=>{
4149
+ const triggerHandler = createChipTabsTriggerHandler();
4150
+ return defineComponentHandler(CHIP_TABS_WRAPPER_KEY, (node, traverse)=>{
4151
+ const props = node.componentProperties;
4152
+ const nodes = findAllInstances({
4153
+ node,
4154
+ key: CHIP_TRIGGER_KEY
4155
+ });
4156
+ const triggers = nodes.map((node)=>{
4157
+ // this is redundant; can this be better?
4158
+ const [chip] = findAllInstances({
4159
+ node,
4160
+ key: metadata$w.key
4161
+ });
4162
+ if (!chip) throw new Error("Chip not found in ChipTabsTrigger");
4163
+ return {
4164
+ elementNode: triggerHandler.transform(node, traverse),
4165
+ value: chip.componentProperties["Label#7185:0"].value
4166
+ };
4167
+ });
4168
+ const selectedTrigger = nodes.find((node)=>node.componentProperties.State.value === "Selected");
4169
+ const [selectedChip] = selectedTrigger ? findAllInstances({
4170
+ node: selectedTrigger,
4171
+ key: metadata$w.key
4172
+ }) : [
4173
+ undefined
4174
+ ];
4175
+ if (!selectedChip) throw new Error("Chip not found in ChipTabsTrigger");
4176
+ const defaultValue = selectedChip.componentProperties["Label#7185:0"].value;
4177
+ const variant = match(props.Variant.value).with("Outline", ()=>"neutralOutline").with("Solid", ()=>"neutralSolid").exhaustive();
4178
+ const rootProps = {
4179
+ size: handleSizeProp(props.Size.value),
4180
+ variant,
4181
+ defaultValue
4182
+ };
4183
+ const tabsCarousel = createChipTabsLocalSnippetElement("ChipTabsCarousel", {
4184
+ swipeable: false
4185
+ }, triggers.map(({ value })=>createChipTabsLocalSnippetElement("ChipTabsContent", {
4186
+ value
4187
+ }, value)));
4188
+ const tabsList = createChipTabsLocalSnippetElement("ChipTabsList", undefined, triggers.map(({ elementNode })=>elementNode));
4189
+ return createChipTabsLocalSnippetElement("ChipTabsRoot", rootProps, [
4190
+ tabsList,
4191
+ tabsCarousel
4192
+ ]);
4193
+ });
4194
+ };
4195
+ const CHIP_TRIGGER_KEY = "95bf31a329f9e8bba0d9aa2299d1552f1d388148";
4196
+ const createChipTabsTriggerHandler = (_ctx)=>defineComponentHandler(CHIP_TRIGGER_KEY, (node)=>{
4197
+ const [chip] = findAllInstances({
4198
+ node,
4199
+ key: metadata$w.key
4200
+ });
4201
+ if (!chip) throw new Error("Chip not found in ChipTabsTrigger");
4202
+ const props = node.componentProperties;
4203
+ const chipProps = chip.componentProperties;
4204
+ const commonProps = {
4205
+ value: chipProps["Label#7185:0"].value,
4206
+ ...chipProps.State.value === "Disabled" && {
4207
+ disabled: true
4208
+ },
4209
+ ...props["Has Notification"].value === "True" && {
4210
+ notification: true
4211
+ }
4212
+ };
4213
+ return createChipTabsLocalSnippetElement("ChipTabsTrigger", commonProps);
4214
+ });
4215
+
4216
+ const { createLocalSnippetElement: createLocalSnippetElement$2 } = createLocalSnippetHelper("text-field");
3727
4217
  const createTextFieldHandler = (ctx)=>defineComponentHandler(metadata$2.key, ({ componentProperties: props })=>{
3728
4218
  const { Size: { value: size }, State: { value: state }, Filled: { value: filled }, "Show Header#870:0": { value: showHeader }, "Label#14964:0": { value: label }, "Show Indicator#1259:0": { value: showIndicator }, "Indicator#15327:249": { value: indicator }, "Show Prefix#958:125": { value: showPrefix }, "Show Prefix Icon#1267:50": { value: showPrefixIcon }, "Prefix Icon#1267:25": prefixIcon, "Show Prefix Text#1267:0": { value: showPrefixText }, "Prefix Text#15327:101": { value: prefix }, "Placeholder#958:0": { value: placeholder }, "Filled Text#1304:0": { value: defaultValue }, "Show Suffix#958:100": { value: showSuffix }, "Show Suffix Icon#1267:75": { value: showSuffixIcon }, "Suffix Icon #1267:100": suffixIcon, "Show Suffix Text#1267:125": { value: showSuffixText }, "Suffix Text#15327:138": { value: suffix }, "Show Footer#958:25": { value: showFooter }, "Show Description#958:50": { value: showDescription }, "Description#12626:5": { value: description }, "Show Character Count#958:75": { value: showCharacterCount }, "Character Count#15327:64": { value: _characterCount }, "Max Character Count#15327:27": { value: maxCharacterCount } } = props;
3729
4219
  const states = state.split("-");
@@ -3778,11 +4268,11 @@ const createTextFieldHandler = (ctx)=>defineComponentHandler(metadata$2.key, ({
3778
4268
  const inputProps = {
3779
4269
  placeholder
3780
4270
  };
3781
- const TextFieldChildren = createLocalSnippetElement$1("TextFieldInput", inputProps);
3782
- return createLocalSnippetElement$1("TextField", commonProps, TextFieldChildren);
4271
+ const TextFieldChildren = createLocalSnippetElement$2("TextFieldInput", inputProps);
4272
+ return createLocalSnippetElement$2("TextField", commonProps, TextFieldChildren);
3783
4273
  });
3784
4274
 
3785
- const { createLocalSnippetElement } = createLocalSnippetHelper("toggle-button");
4275
+ const { createLocalSnippetElement: createLocalSnippetElement$1 } = createLocalSnippetHelper("toggle-button");
3786
4276
  const createToggleButtonHandler = (ctx)=>defineComponentHandler(metadata$1.key, ({ componentProperties: props })=>{
3787
4277
  const commonProps = {
3788
4278
  variant: camelCase(props.Variant.value),
@@ -3797,7 +4287,7 @@ const createToggleButtonHandler = (ctx)=>defineComponentHandler(metadata$1.key,
3797
4287
  loading: true
3798
4288
  }
3799
4289
  };
3800
- return createLocalSnippetElement("ToggleButton", commonProps, [
4290
+ return createLocalSnippetElement$1("ToggleButton", commonProps, [
3801
4291
  props["Show Prefix Icon#6122:392"].value ? createSeedReactElement("PrefixIcon", {
3802
4292
  svg: ctx.iconHandler.transform(props["Prefix Icon#6122:98"])
3803
4293
  }) : undefined,
@@ -3808,6 +4298,125 @@ const createToggleButtonHandler = (ctx)=>defineComponentHandler(metadata$1.key,
3808
4298
  ]);
3809
4299
  });
3810
4300
 
4301
+ const { createLocalSnippetElement } = createLocalSnippetHelper("list");
4302
+ const PREFIX_KEYS = {
4303
+ checkmark: "f24c9ef42ef08df79483fbae0fa7d9037e566748",
4304
+ radioMark: "5a77ad37a2291989dfe77c44ddee9aa39e447f90",
4305
+ icon: "0e4c05f097d3fa2dc0cbfdbf8db2662bcf8439ca",
4306
+ avatar: "ef0e8bd6c2f92e620acf204bb9a8079ef25a1e5c",
4307
+ image: "82239325aa1cb65af7c649fc71a8f2b48fb9b9f3",
4308
+ custom: "81f201fc876e38f016ab7427a6b3da000ee919a2"
4309
+ };
4310
+ const SUFFIX_KEYS = {
4311
+ checkmark: "abf9810103ae6e6afe8fa253ec5f05d6a7304b38",
4312
+ radioMark: "0a9464ad270bfd7f56438f62bb0155a25ca146a9",
4313
+ chevron: "8c52207687ffed15cd5931d71ed9d196b3358a68",
4314
+ switch: "1e933f75dd6bb4b21c3289b5c3b4402d2c623125",
4315
+ custom: "3a70bf5bb9856c13893931b7a0df652bcf0be895",
4316
+ icon: "4cc7e9b84a8388a36cb3898c6c02e6110a3281b9",
4317
+ chevronWithText: "fe0e25f4fecda59d0a3730ead7c5bc0a66a41e7e",
4318
+ iconButton: "5636566f6de6f58200dce388f7b1ac9f517b30e1",
4319
+ actionButton: "3d788f28c785d1c60b937b253c39ce582dbe1ed3"
4320
+ };
4321
+ const createListItemHandler = (ctx)=>defineComponentHandler(metadata$p.key, (node, traverse)=>{
4322
+ const { componentProperties: props } = node;
4323
+ const { alignItems, title } = match(props.Variants.value).with("Single Line", ()=>({
4324
+ alignItems: undefined,
4325
+ title: props["Title#28452:21"].value
4326
+ })).with("Multi Line", ()=>({
4327
+ alignItems: "flex-start",
4328
+ title: props["Title #28487:0"].value
4329
+ })).exhaustive();
4330
+ const detailNode = findOne(node, (node)=>node.type === "TEXT" && node.name === "Sub Text");
4331
+ const prefixNode = (()=>{
4332
+ if (props["Has Prefix#28452:85"].value === false) return null;
4333
+ for (const key of Object.values(PREFIX_KEYS)){
4334
+ const [found] = findAllInstances({
4335
+ node,
4336
+ key
4337
+ });
4338
+ if (found) return found;
4339
+ }
4340
+ return null;
4341
+ })();
4342
+ const prefix = (()=>{
4343
+ if (!prefixNode) return undefined;
4344
+ if ("Icon#28452:111" in prefixNode.componentProperties) {
4345
+ return createSeedReactElement("Icon", {
4346
+ svg: ctx.iconHandler.transform(prefixNode.componentProperties["Icon#28452:111"])
4347
+ });
4348
+ }
4349
+ return traverse(prefixNode.children[0]);
4350
+ })();
4351
+ const suffixNode = (()=>{
4352
+ if (props["Has Suffix#28452:64"].value === false) return null;
4353
+ for (const key of Object.values(SUFFIX_KEYS)){
4354
+ const [found] = findAllInstances({
4355
+ node,
4356
+ key
4357
+ });
4358
+ if (found) return found;
4359
+ }
4360
+ return null;
4361
+ })();
4362
+ const suffix = (()=>{
4363
+ if (!suffixNode) return undefined;
4364
+ if ("Icon#28347:9" in suffixNode.componentProperties) {
4365
+ return createSeedReactElement("Icon", {
4366
+ svg: ctx.iconHandler.transform(suffixNode.componentProperties["Icon#28347:9"])
4367
+ });
4368
+ }
4369
+ return traverse(suffixNode.children[0]);
4370
+ })();
4371
+ const disabled = props.State.value === "Disabled";
4372
+ const tag = (()=>{
4373
+ if (prefix?.tag === "Checkmark" || suffix?.tag === "Checkmark") {
4374
+ return "ListCheckItem";
4375
+ }
4376
+ if (prefix?.tag === "RadioMark" || suffix?.tag === "RadioMark") {
4377
+ return "ListRadioItem";
4378
+ }
4379
+ // checkmark/radioMark 없는데 disabled인 경우 Button으로 추측
4380
+ if (disabled) {
4381
+ return "ListButtonItem";
4382
+ }
4383
+ return "ListItem";
4384
+ })();
4385
+ const commonProps = {
4386
+ ...tag === "ListRadioItem" && {
4387
+ value: title
4388
+ },
4389
+ alignItems,
4390
+ title,
4391
+ ...props["Has Detail#28469:1"].value && detailNode && {
4392
+ detail: detailNode.characters
4393
+ },
4394
+ ...prefix && {
4395
+ prefix
4396
+ },
4397
+ ...suffix && {
4398
+ suffix
4399
+ },
4400
+ ...disabled && (tag === "ListButtonItem" || tag === "ListCheckItem" || tag === "ListRadioItem") && {
4401
+ disabled: true
4402
+ },
4403
+ ...props.State.value === "Highlighted" && {
4404
+ highlighted: true
4405
+ }
4406
+ };
4407
+ const comment = match(tag).with("ListItem", ()=>"목적에 따라 ListButtonItem이나 ListLinkItem으로 바꿔 사용하세요.").with("ListCheckItem", ()=>`<List as="fieldset">과 함께 사용하세요.`).with("ListRadioItem", ()=>"<RadioGroup.Root>와 함께 사용하세요.").otherwise(()=>undefined);
4408
+ const list = createLocalSnippetElement(tag, commonProps, undefined, {
4409
+ comment
4410
+ });
4411
+ if (props["Divider#28441:0"].value) {
4412
+ return createElement("", {}, [
4413
+ list,
4414
+ createLocalSnippetElement("ListDivider")
4415
+ ]);
4416
+ }
4417
+ return list;
4418
+ });
4419
+
3811
4420
  function bindComponentHandler(unbound, deps) {
3812
4421
  return unbound(deps);
3813
4422
  }
@@ -3822,6 +4431,7 @@ const unboundSeedComponentHandlers = [
3822
4431
  createBottomSheetHandler,
3823
4432
  createCalloutHandler,
3824
4433
  createCheckboxHandler,
4434
+ createCheckmarkHandler,
3825
4435
  createChipHandler,
3826
4436
  createContextualFloatingButtonHandler,
3827
4437
  createDividerHandler,
@@ -3829,12 +4439,15 @@ const unboundSeedComponentHandlers = [
3829
4439
  createFloatingActionButtonHandler,
3830
4440
  createHelpBubbleHandler,
3831
4441
  createIdentityPlaceholderHandler,
3832
- createPageBannerHandler,
4442
+ createListItemHandler,
3833
4443
  createMannerTempBadgeHandler,
3834
4444
  createMannerTempHandler,
3835
4445
  createMenuSheetHandler,
3836
4446
  createMultilineTextFieldHandler,
4447
+ createPageBannerHandler,
3837
4448
  createProgressCircleHandler,
4449
+ createRadioGroupItemHandler,
4450
+ createRadioMarkHandler,
3838
4451
  createReactionButtonHandler,
3839
4452
  createSegmentedControlHandler,
3840
4453
  createSelectBoxGroupHandler,
@@ -3842,6 +4455,7 @@ const unboundSeedComponentHandlers = [
3842
4455
  createSkeletonHandler,
3843
4456
  createSnackbarHandler,
3844
4457
  createSwitchHandler,
4458
+ createTabsHandler,
3845
4459
  createTextFieldHandler,
3846
4460
  createToggleButtonHandler
3847
4461
  ];