@seed-design/figma 1.1.0 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/codegen/index.cjs +366 -286
- package/lib/codegen/index.d.ts +663 -256
- package/lib/codegen/index.d.ts.map +1 -1
- package/lib/codegen/index.js +366 -286
- package/lib/codegen/targets/react/index.cjs +1155 -542
- package/lib/codegen/targets/react/index.d.ts.map +1 -1
- package/lib/codegen/targets/react/index.js +1155 -542
- package/lib/index.cjs +394 -286
- package/lib/index.js +394 -286
- package/package.json +2 -2
- package/src/codegen/component-properties.ts +496 -103
- package/src/codegen/targets/react/component/handlers/bottom-sheet.ts +2 -3
- package/src/codegen/targets/react/component/handlers/error-state.ts +18 -6
- package/src/codegen/targets/react/component/handlers/field-button.ts +197 -0
- package/src/codegen/targets/react/component/handlers/field.ts +167 -0
- package/src/codegen/targets/react/component/handlers/legacy-text-field.ts +196 -0
- package/src/codegen/targets/react/component/handlers/slider.ts +114 -0
- package/src/codegen/targets/react/component/handlers/text-field.ts +245 -92
- package/src/codegen/targets/react/component/index.ts +48 -23
- package/src/codegen/targets/react/element-factories.ts +1 -1
- package/src/codegen/targets/react/instance.ts +23 -2
- package/src/entities/data/__generated__/component-sets/index.d.ts +225 -222
- package/src/entities/data/__generated__/component-sets/index.mjs +225 -222
- package/src/entities/data/__generated__/components/index.d.ts +121 -0
- package/src/entities/data/__generated__/components/index.mjs +121 -0
- package/src/entities/data/__generated__/icons/index.mjs +28 -0
- package/src/entities/data/__generated__/styles/index.mjs +0 -56
- package/src/entities/data/__generated__/variable-collections/index.mjs +11 -8
- package/src/entities/data/__generated__/variables/index.mjs +130 -0
- package/src/codegen/targets/react/component/handlers/multiline-text-field.ts +0 -84
|
@@ -885,7 +885,7 @@ function createStrokePropsConverter(valueResolver) {
|
|
|
885
885
|
}
|
|
886
886
|
|
|
887
887
|
const SEED_REACT_IMPORT_PATH = "@seed-design/react";
|
|
888
|
-
const LOCAL_SNIPPET_BASE_PATH = "
|
|
888
|
+
const LOCAL_SNIPPET_BASE_PATH = "seed-design/ui";
|
|
889
889
|
const MONOCHROME_ICON_IMPORT_PATH = "@karrotmarket/react-monochrome-icon";
|
|
890
890
|
const MULTICOLOR_ICON_IMPORT_PATH = "@karrotmarket/react-multicolor-icon";
|
|
891
891
|
function createSeedReactElement(tag, props, children, meta) {
|
|
@@ -989,6 +989,18 @@ function createFrameTransformer({ propsConverters }) {
|
|
|
989
989
|
});
|
|
990
990
|
}
|
|
991
991
|
|
|
992
|
+
const OVERRIDE_ACCEPTABLE_PROPERTIES = new Set([
|
|
993
|
+
"characters",
|
|
994
|
+
"parent",
|
|
995
|
+
"locked",
|
|
996
|
+
"visible",
|
|
997
|
+
"name",
|
|
998
|
+
"x",
|
|
999
|
+
"y",
|
|
1000
|
+
"componentProperties",
|
|
1001
|
+
"componentPropertyDefinitions",
|
|
1002
|
+
"componentPropertyReferences"
|
|
1003
|
+
]);
|
|
992
1004
|
function createInstanceTransformer({ iconHandler, propsConverters, componentHandlers, frameTransformer }) {
|
|
993
1005
|
const transform = defineElementTransformer((node, traverse)=>{
|
|
994
1006
|
const { componentKey, componentSetKey } = node;
|
|
@@ -1006,12 +1018,15 @@ function createInstanceTransformer({ iconHandler, propsConverters, componentHand
|
|
|
1006
1018
|
if (componentHandler) {
|
|
1007
1019
|
const handled = componentHandler.transform(node, traverse);
|
|
1008
1020
|
if (node.overrides && node.overrides.length > 0) {
|
|
1009
|
-
const overriddenFields = node.overrides.flatMap(({ overriddenFields })=>overriddenFields);
|
|
1021
|
+
const overriddenFields = node.overrides.flatMap(({ overriddenFields })=>overriddenFields).filter((field)=>OVERRIDE_ACCEPTABLE_PROPERTIES.has(field) === false);
|
|
1022
|
+
if (overriddenFields.length === 0) {
|
|
1023
|
+
return handled;
|
|
1024
|
+
}
|
|
1010
1025
|
return {
|
|
1011
1026
|
...handled,
|
|
1012
1027
|
meta: {
|
|
1013
1028
|
...handled.meta,
|
|
1014
|
-
comment: `${handled.meta.comment ? `${handled.meta.comment} ` : ""}오버라이드된 필드: ${overriddenFields.join(", ")}`
|
|
1029
|
+
comment: `${handled.meta.comment ? `${handled.meta.comment} ` : ""}오버라이드된 필드: ${Array.from(new Set(overriddenFields)).join(", ")}`
|
|
1015
1030
|
}
|
|
1016
1031
|
};
|
|
1017
1032
|
}
|
|
@@ -1143,11 +1158,39 @@ const templateCompletion = {
|
|
|
1143
1158
|
}
|
|
1144
1159
|
}
|
|
1145
1160
|
};
|
|
1161
|
+
const templateCustomPickerField = {
|
|
1162
|
+
"name": "templateCustomPickerField",
|
|
1163
|
+
"key": "91d73dfc297a467d78dc91ade6ff9be9a152619e",
|
|
1164
|
+
"componentPropertyDefinitions": {
|
|
1165
|
+
"Show Header#40606:8": {
|
|
1166
|
+
"type": "BOOLEAN"
|
|
1167
|
+
},
|
|
1168
|
+
"Show Footer#40606:9": {
|
|
1169
|
+
"type": "BOOLEAN"
|
|
1170
|
+
},
|
|
1171
|
+
"State": {
|
|
1172
|
+
"type": "VARIANT",
|
|
1173
|
+
"variantOptions": [
|
|
1174
|
+
"Default",
|
|
1175
|
+
"Error",
|
|
1176
|
+
"Disabled",
|
|
1177
|
+
"Read Only"
|
|
1178
|
+
]
|
|
1179
|
+
},
|
|
1180
|
+
"Has Value": {
|
|
1181
|
+
"type": "VARIANT",
|
|
1182
|
+
"variantOptions": [
|
|
1183
|
+
"False",
|
|
1184
|
+
"True"
|
|
1185
|
+
]
|
|
1186
|
+
}
|
|
1187
|
+
}
|
|
1188
|
+
};
|
|
1146
1189
|
const templateErrorState = {
|
|
1147
1190
|
"name": "templateErrorState",
|
|
1148
1191
|
"key": "39b4ecd0b5b4d35f4dc5791765ca04aa062a5172",
|
|
1149
1192
|
"componentPropertyDefinitions": {
|
|
1150
|
-
"Show
|
|
1193
|
+
"Show Action Button#9080:5": {
|
|
1151
1194
|
"type": "BOOLEAN"
|
|
1152
1195
|
},
|
|
1153
1196
|
"Title#16237:0": {
|
|
@@ -1156,9 +1199,6 @@ const templateErrorState = {
|
|
|
1156
1199
|
"Description#16237:5": {
|
|
1157
1200
|
"type": "TEXT"
|
|
1158
1201
|
},
|
|
1159
|
-
"Secondary Action Label#17042:0": {
|
|
1160
|
-
"type": "TEXT"
|
|
1161
|
-
},
|
|
1162
1202
|
"Variant": {
|
|
1163
1203
|
"type": "VARIANT",
|
|
1164
1204
|
"variantOptions": [
|
|
@@ -1199,6 +1239,83 @@ const templateSelectBoxGroup = {
|
|
|
1199
1239
|
}
|
|
1200
1240
|
}
|
|
1201
1241
|
};
|
|
1242
|
+
const templateSliderField = {
|
|
1243
|
+
"name": "templateSliderField",
|
|
1244
|
+
"key": "7d2b449bcfb28ebf3c509ed76a141511f7d955eb",
|
|
1245
|
+
"componentPropertyDefinitions": {
|
|
1246
|
+
"Show Header#40606:8": {
|
|
1247
|
+
"type": "BOOLEAN"
|
|
1248
|
+
},
|
|
1249
|
+
"Show Footer#40606:9": {
|
|
1250
|
+
"type": "BOOLEAN"
|
|
1251
|
+
},
|
|
1252
|
+
"State": {
|
|
1253
|
+
"type": "VARIANT",
|
|
1254
|
+
"variantOptions": [
|
|
1255
|
+
"Default",
|
|
1256
|
+
"Error",
|
|
1257
|
+
"Disabled",
|
|
1258
|
+
"Read Only",
|
|
1259
|
+
"Pressed"
|
|
1260
|
+
]
|
|
1261
|
+
}
|
|
1262
|
+
}
|
|
1263
|
+
};
|
|
1264
|
+
const templateTextField = {
|
|
1265
|
+
"name": "templateTextField",
|
|
1266
|
+
"key": "0a83a0ff9d18d98a14536b21aa5411622f9f0c05",
|
|
1267
|
+
"componentPropertyDefinitions": {
|
|
1268
|
+
"Show Header#40606:8": {
|
|
1269
|
+
"type": "BOOLEAN"
|
|
1270
|
+
},
|
|
1271
|
+
"Show Footer#40606:9": {
|
|
1272
|
+
"type": "BOOLEAN"
|
|
1273
|
+
},
|
|
1274
|
+
"Variant": {
|
|
1275
|
+
"type": "VARIANT",
|
|
1276
|
+
"variantOptions": [
|
|
1277
|
+
"Outline",
|
|
1278
|
+
"Underline"
|
|
1279
|
+
]
|
|
1280
|
+
},
|
|
1281
|
+
"State": {
|
|
1282
|
+
"type": "VARIANT",
|
|
1283
|
+
"variantOptions": [
|
|
1284
|
+
"Default",
|
|
1285
|
+
"Focused",
|
|
1286
|
+
"Error",
|
|
1287
|
+
"Error Focused",
|
|
1288
|
+
"Disabled",
|
|
1289
|
+
"Read Only",
|
|
1290
|
+
"AI Loading (Figma Only)"
|
|
1291
|
+
]
|
|
1292
|
+
}
|
|
1293
|
+
}
|
|
1294
|
+
};
|
|
1295
|
+
const templateTextareaField = {
|
|
1296
|
+
"name": "templateTextareaField",
|
|
1297
|
+
"key": "cdc688eccd78b947289e8089a620bdc494f6c809",
|
|
1298
|
+
"componentPropertyDefinitions": {
|
|
1299
|
+
"Show Header#40606:8": {
|
|
1300
|
+
"type": "BOOLEAN"
|
|
1301
|
+
},
|
|
1302
|
+
"Show Footer#40606:9": {
|
|
1303
|
+
"type": "BOOLEAN"
|
|
1304
|
+
},
|
|
1305
|
+
"State": {
|
|
1306
|
+
"type": "VARIANT",
|
|
1307
|
+
"variantOptions": [
|
|
1308
|
+
"Default",
|
|
1309
|
+
"Focused",
|
|
1310
|
+
"Error",
|
|
1311
|
+
"Error Focused",
|
|
1312
|
+
"Disabled",
|
|
1313
|
+
"Read Only",
|
|
1314
|
+
"AI Loading (Figma Only)"
|
|
1315
|
+
]
|
|
1316
|
+
}
|
|
1317
|
+
}
|
|
1318
|
+
};
|
|
1202
1319
|
const templateTopNavigation = {
|
|
1203
1320
|
"name": "templateTopNavigation",
|
|
1204
1321
|
"key": "74f045c1972dc31d0fddd0a0027537b6779cd0e8",
|
|
@@ -1488,6 +1605,9 @@ const bottomSheet = {
|
|
|
1488
1605
|
"Show Safe Area#25488:8": {
|
|
1489
1606
|
"type": "BOOLEAN"
|
|
1490
1607
|
},
|
|
1608
|
+
"Show Handle#49774:6": {
|
|
1609
|
+
"type": "BOOLEAN"
|
|
1610
|
+
},
|
|
1491
1611
|
"Header Layout": {
|
|
1492
1612
|
"type": "VARIANT",
|
|
1493
1613
|
"variantOptions": [
|
|
@@ -1867,8 +1987,8 @@ const listHeader = {
|
|
|
1867
1987
|
"type": "VARIANT",
|
|
1868
1988
|
"variantOptions": [
|
|
1869
1989
|
"None",
|
|
1870
|
-
"
|
|
1871
|
-
"
|
|
1990
|
+
"Custom",
|
|
1991
|
+
"Button"
|
|
1872
1992
|
]
|
|
1873
1993
|
},
|
|
1874
1994
|
"Variant": {
|
|
@@ -2159,74 +2279,6 @@ const menuSheet = {
|
|
|
2159
2279
|
}
|
|
2160
2280
|
}
|
|
2161
2281
|
};
|
|
2162
|
-
const multilineTextField = {
|
|
2163
|
-
"name": "multilineTextField",
|
|
2164
|
-
"key": "88b2399c930c85f9ce2972163a078bc684b84bbe",
|
|
2165
|
-
"componentPropertyDefinitions": {
|
|
2166
|
-
"Show Header#870:0": {
|
|
2167
|
-
"type": "BOOLEAN"
|
|
2168
|
-
},
|
|
2169
|
-
"Placeholder#958:0": {
|
|
2170
|
-
"type": "TEXT"
|
|
2171
|
-
},
|
|
2172
|
-
"Show Footer#958:25": {
|
|
2173
|
-
"type": "BOOLEAN"
|
|
2174
|
-
},
|
|
2175
|
-
"Show Description#958:50": {
|
|
2176
|
-
"type": "BOOLEAN"
|
|
2177
|
-
},
|
|
2178
|
-
"Show Character count#958:75": {
|
|
2179
|
-
"type": "BOOLEAN"
|
|
2180
|
-
},
|
|
2181
|
-
"Show Indicator#1259:0": {
|
|
2182
|
-
"type": "BOOLEAN"
|
|
2183
|
-
},
|
|
2184
|
-
"Filled Text#1304:0": {
|
|
2185
|
-
"type": "TEXT"
|
|
2186
|
-
},
|
|
2187
|
-
"Max Character Count#15327:175": {
|
|
2188
|
-
"type": "TEXT"
|
|
2189
|
-
},
|
|
2190
|
-
"Description#15327:212": {
|
|
2191
|
-
"type": "TEXT"
|
|
2192
|
-
},
|
|
2193
|
-
"Indicator#15327:286": {
|
|
2194
|
-
"type": "TEXT"
|
|
2195
|
-
},
|
|
2196
|
-
"Label#15327:323": {
|
|
2197
|
-
"type": "TEXT"
|
|
2198
|
-
},
|
|
2199
|
-
"Character Count#15327:360": {
|
|
2200
|
-
"type": "TEXT"
|
|
2201
|
-
},
|
|
2202
|
-
"Size": {
|
|
2203
|
-
"type": "VARIANT",
|
|
2204
|
-
"variantOptions": [
|
|
2205
|
-
"Medium",
|
|
2206
|
-
"Large",
|
|
2207
|
-
"XLarge"
|
|
2208
|
-
]
|
|
2209
|
-
},
|
|
2210
|
-
"State": {
|
|
2211
|
-
"type": "VARIANT",
|
|
2212
|
-
"variantOptions": [
|
|
2213
|
-
"Enabled",
|
|
2214
|
-
"Focused",
|
|
2215
|
-
"Invalid",
|
|
2216
|
-
"Invalid-Focused",
|
|
2217
|
-
"Disabled",
|
|
2218
|
-
"Read Only"
|
|
2219
|
-
]
|
|
2220
|
-
},
|
|
2221
|
-
"Filled": {
|
|
2222
|
-
"type": "VARIANT",
|
|
2223
|
-
"variantOptions": [
|
|
2224
|
-
"True",
|
|
2225
|
-
"False"
|
|
2226
|
-
]
|
|
2227
|
-
}
|
|
2228
|
-
}
|
|
2229
|
-
};
|
|
2230
2282
|
const pageBanner = {
|
|
2231
2283
|
"name": "pageBanner",
|
|
2232
2284
|
"key": "ce587d0f21754af05240cb32a4880227cb0ea1e1",
|
|
@@ -2389,37 +2441,6 @@ const radioMark = {
|
|
|
2389
2441
|
}
|
|
2390
2442
|
}
|
|
2391
2443
|
};
|
|
2392
|
-
const rangeSlider = {
|
|
2393
|
-
"name": "rangeSlider",
|
|
2394
|
-
"key": "64fc49184979e0be40aa367ca98868601eb7dad5",
|
|
2395
|
-
"componentPropertyDefinitions": {
|
|
2396
|
-
"Steps": {
|
|
2397
|
-
"type": "VARIANT",
|
|
2398
|
-
"variantOptions": [
|
|
2399
|
-
"0",
|
|
2400
|
-
"1",
|
|
2401
|
-
"2",
|
|
2402
|
-
"3",
|
|
2403
|
-
"4"
|
|
2404
|
-
]
|
|
2405
|
-
},
|
|
2406
|
-
"State": {
|
|
2407
|
-
"type": "VARIANT",
|
|
2408
|
-
"variantOptions": [
|
|
2409
|
-
"Enabled",
|
|
2410
|
-
"Disabled"
|
|
2411
|
-
]
|
|
2412
|
-
},
|
|
2413
|
-
"Marker": {
|
|
2414
|
-
"type": "VARIANT",
|
|
2415
|
-
"variantOptions": [
|
|
2416
|
-
"None",
|
|
2417
|
-
"Min Max",
|
|
2418
|
-
"All"
|
|
2419
|
-
]
|
|
2420
|
-
}
|
|
2421
|
-
}
|
|
2422
|
-
};
|
|
2423
2444
|
const reactionButton = {
|
|
2424
2445
|
"name": "reactionButton",
|
|
2425
2446
|
"key": "ec43e4e881f7048e95601f8b58c01a0905a174e0",
|
|
@@ -2498,6 +2519,28 @@ const resizableChild = {
|
|
|
2498
2519
|
}
|
|
2499
2520
|
}
|
|
2500
2521
|
};
|
|
2522
|
+
const scrollFog = {
|
|
2523
|
+
"name": "scrollFog",
|
|
2524
|
+
"key": "0a06ea65fe164e0245fde6ac6c97135990a4de3c",
|
|
2525
|
+
"componentPropertyDefinitions": {
|
|
2526
|
+
"Orientation": {
|
|
2527
|
+
"type": "VARIANT",
|
|
2528
|
+
"variantOptions": [
|
|
2529
|
+
"Top ⬇️",
|
|
2530
|
+
"Bottom ⬆️",
|
|
2531
|
+
"Right ➡️",
|
|
2532
|
+
"Left ⬅️"
|
|
2533
|
+
]
|
|
2534
|
+
},
|
|
2535
|
+
"Layer": {
|
|
2536
|
+
"type": "VARIANT",
|
|
2537
|
+
"variantOptions": [
|
|
2538
|
+
"Default",
|
|
2539
|
+
"Floating"
|
|
2540
|
+
]
|
|
2541
|
+
}
|
|
2542
|
+
}
|
|
2543
|
+
};
|
|
2501
2544
|
const segmentedControl = {
|
|
2502
2545
|
"name": "segmentedControl",
|
|
2503
2546
|
"key": "3ad7133ba52755867f42f9232375f75639e00d58",
|
|
@@ -2572,32 +2615,31 @@ const skeleton = {
|
|
|
2572
2615
|
};
|
|
2573
2616
|
const slider = {
|
|
2574
2617
|
"name": "slider",
|
|
2575
|
-
"key": "
|
|
2618
|
+
"key": "c748f314f790eb804138bd105bfb0bd0584c9aa1",
|
|
2576
2619
|
"componentPropertyDefinitions": {
|
|
2577
|
-
"
|
|
2620
|
+
"Has Tick Mark#47921:0": {
|
|
2621
|
+
"type": "BOOLEAN"
|
|
2622
|
+
},
|
|
2623
|
+
"Show Active Track#48156:0": {
|
|
2624
|
+
"type": "BOOLEAN"
|
|
2625
|
+
},
|
|
2626
|
+
"Show Markers#49596:0": {
|
|
2627
|
+
"type": "BOOLEAN"
|
|
2628
|
+
},
|
|
2629
|
+
"Value": {
|
|
2578
2630
|
"type": "VARIANT",
|
|
2579
2631
|
"variantOptions": [
|
|
2580
|
-
"
|
|
2581
|
-
"
|
|
2582
|
-
"2",
|
|
2583
|
-
"3",
|
|
2584
|
-
"4"
|
|
2632
|
+
"Single",
|
|
2633
|
+
"Range"
|
|
2585
2634
|
]
|
|
2586
2635
|
},
|
|
2587
2636
|
"State": {
|
|
2588
2637
|
"type": "VARIANT",
|
|
2589
2638
|
"variantOptions": [
|
|
2590
2639
|
"Enabled",
|
|
2640
|
+
"Pressed",
|
|
2591
2641
|
"Disabled"
|
|
2592
2642
|
]
|
|
2593
|
-
},
|
|
2594
|
-
"Marker": {
|
|
2595
|
-
"type": "VARIANT",
|
|
2596
|
-
"variantOptions": [
|
|
2597
|
-
"None",
|
|
2598
|
-
"Min Max",
|
|
2599
|
-
"All"
|
|
2600
|
-
]
|
|
2601
2643
|
}
|
|
2602
2644
|
}
|
|
2603
2645
|
};
|
|
@@ -2759,105 +2801,6 @@ const tagGroup = {
|
|
|
2759
2801
|
}
|
|
2760
2802
|
}
|
|
2761
2803
|
};
|
|
2762
|
-
const textField = {
|
|
2763
|
-
"name": "textField",
|
|
2764
|
-
"key": "c49873c37a639f0dffdea4efd0eb43760d66c141",
|
|
2765
|
-
"componentPropertyDefinitions": {
|
|
2766
|
-
"Show Header#870:0": {
|
|
2767
|
-
"type": "BOOLEAN"
|
|
2768
|
-
},
|
|
2769
|
-
"Placeholder#958:0": {
|
|
2770
|
-
"type": "TEXT"
|
|
2771
|
-
},
|
|
2772
|
-
"Show Footer#958:25": {
|
|
2773
|
-
"type": "BOOLEAN"
|
|
2774
|
-
},
|
|
2775
|
-
"Show Description#958:50": {
|
|
2776
|
-
"type": "BOOLEAN"
|
|
2777
|
-
},
|
|
2778
|
-
"Show Character Count#958:75": {
|
|
2779
|
-
"type": "BOOLEAN"
|
|
2780
|
-
},
|
|
2781
|
-
"Show Suffix#958:100": {
|
|
2782
|
-
"type": "BOOLEAN"
|
|
2783
|
-
},
|
|
2784
|
-
"Show Prefix#958:125": {
|
|
2785
|
-
"type": "BOOLEAN"
|
|
2786
|
-
},
|
|
2787
|
-
"Show Indicator#1259:0": {
|
|
2788
|
-
"type": "BOOLEAN"
|
|
2789
|
-
},
|
|
2790
|
-
"Show Prefix Text#1267:0": {
|
|
2791
|
-
"type": "BOOLEAN"
|
|
2792
|
-
},
|
|
2793
|
-
"Prefix Icon#1267:25": {
|
|
2794
|
-
"type": "INSTANCE_SWAP",
|
|
2795
|
-
"preferredValues": []
|
|
2796
|
-
},
|
|
2797
|
-
"Show Prefix Icon#1267:50": {
|
|
2798
|
-
"type": "BOOLEAN"
|
|
2799
|
-
},
|
|
2800
|
-
"Show Suffix Icon#1267:75": {
|
|
2801
|
-
"type": "BOOLEAN"
|
|
2802
|
-
},
|
|
2803
|
-
"Suffix Icon #1267:100": {
|
|
2804
|
-
"type": "INSTANCE_SWAP",
|
|
2805
|
-
"preferredValues": []
|
|
2806
|
-
},
|
|
2807
|
-
"Show Suffix Text#1267:125": {
|
|
2808
|
-
"type": "BOOLEAN"
|
|
2809
|
-
},
|
|
2810
|
-
"Filled Text#1304:0": {
|
|
2811
|
-
"type": "TEXT"
|
|
2812
|
-
},
|
|
2813
|
-
"Description#12626:5": {
|
|
2814
|
-
"type": "TEXT"
|
|
2815
|
-
},
|
|
2816
|
-
"Label#14964:0": {
|
|
2817
|
-
"type": "TEXT"
|
|
2818
|
-
},
|
|
2819
|
-
"Max Character Count#15327:27": {
|
|
2820
|
-
"type": "TEXT"
|
|
2821
|
-
},
|
|
2822
|
-
"Character Count#15327:64": {
|
|
2823
|
-
"type": "TEXT"
|
|
2824
|
-
},
|
|
2825
|
-
"Prefix Text#15327:101": {
|
|
2826
|
-
"type": "TEXT"
|
|
2827
|
-
},
|
|
2828
|
-
"Suffix Text#15327:138": {
|
|
2829
|
-
"type": "TEXT"
|
|
2830
|
-
},
|
|
2831
|
-
"Indicator#15327:249": {
|
|
2832
|
-
"type": "TEXT"
|
|
2833
|
-
},
|
|
2834
|
-
"Size": {
|
|
2835
|
-
"type": "VARIANT",
|
|
2836
|
-
"variantOptions": [
|
|
2837
|
-
"Medium",
|
|
2838
|
-
"Large(Default)"
|
|
2839
|
-
]
|
|
2840
|
-
},
|
|
2841
|
-
"State": {
|
|
2842
|
-
"type": "VARIANT",
|
|
2843
|
-
"variantOptions": [
|
|
2844
|
-
"Enabled",
|
|
2845
|
-
"Focused",
|
|
2846
|
-
"Invalid",
|
|
2847
|
-
"Invalid-Focused",
|
|
2848
|
-
"Disabled",
|
|
2849
|
-
"Read Only"
|
|
2850
|
-
]
|
|
2851
|
-
},
|
|
2852
|
-
"Filled": {
|
|
2853
|
-
"type": "VARIANT",
|
|
2854
|
-
"variantOptions": [
|
|
2855
|
-
"True",
|
|
2856
|
-
"False"
|
|
2857
|
-
]
|
|
2858
|
-
}
|
|
2859
|
-
}
|
|
2860
|
-
};
|
|
2861
2804
|
const toggleButton = {
|
|
2862
2805
|
"name": "toggleButton",
|
|
2863
2806
|
"key": "1d240ee5fd7a56879713e69cbea1b6f006f0ea22",
|
|
@@ -2953,11 +2896,84 @@ const topNavigation = {
|
|
|
2953
2896
|
}
|
|
2954
2897
|
}
|
|
2955
2898
|
};
|
|
2899
|
+
const actionButtonGhostButton = {
|
|
2900
|
+
"name": "actionButtonGhostButton",
|
|
2901
|
+
"key": "ea69291fb4d76217419f3d9613ae16aadafb56a5",
|
|
2902
|
+
"componentPropertyDefinitions": {
|
|
2903
|
+
"Label#30511:2": {
|
|
2904
|
+
"type": "TEXT"
|
|
2905
|
+
},
|
|
2906
|
+
"Prefix Icon#30511:3": {
|
|
2907
|
+
"type": "INSTANCE_SWAP",
|
|
2908
|
+
"preferredValues": []
|
|
2909
|
+
},
|
|
2910
|
+
"Suffix Icon#30525:0": {
|
|
2911
|
+
"type": "INSTANCE_SWAP",
|
|
2912
|
+
"preferredValues": [
|
|
2913
|
+
{
|
|
2914
|
+
"type": "COMPONENT_SET",
|
|
2915
|
+
"key": "c8415f85843e5aea5a1d3620d03d16b643bf86cd"
|
|
2916
|
+
},
|
|
2917
|
+
{
|
|
2918
|
+
"type": "COMPONENT_SET",
|
|
2919
|
+
"key": "0d0a2bc648a2c4e1f06a56a30ef16299b6e91037"
|
|
2920
|
+
},
|
|
2921
|
+
{
|
|
2922
|
+
"type": "COMPONENT_SET",
|
|
2923
|
+
"key": "8f28ae559baf8f388d84ccc3ad65a282966e1b05"
|
|
2924
|
+
},
|
|
2925
|
+
{
|
|
2926
|
+
"type": "COMPONENT_SET",
|
|
2927
|
+
"key": "57341e8a9961bf31590240dd288e57c76969098d"
|
|
2928
|
+
}
|
|
2929
|
+
]
|
|
2930
|
+
},
|
|
2931
|
+
"Icon#30525:15": {
|
|
2932
|
+
"type": "INSTANCE_SWAP",
|
|
2933
|
+
"preferredValues": []
|
|
2934
|
+
},
|
|
2935
|
+
"Bleed": {
|
|
2936
|
+
"type": "VARIANT",
|
|
2937
|
+
"variantOptions": [
|
|
2938
|
+
"true",
|
|
2939
|
+
"false"
|
|
2940
|
+
]
|
|
2941
|
+
},
|
|
2942
|
+
"Size": {
|
|
2943
|
+
"type": "VARIANT",
|
|
2944
|
+
"variantOptions": [
|
|
2945
|
+
"Xsmall",
|
|
2946
|
+
"Small",
|
|
2947
|
+
"Medium",
|
|
2948
|
+
"Large"
|
|
2949
|
+
]
|
|
2950
|
+
},
|
|
2951
|
+
"Layout": {
|
|
2952
|
+
"type": "VARIANT",
|
|
2953
|
+
"variantOptions": [
|
|
2954
|
+
"Text Only",
|
|
2955
|
+
"Icon First",
|
|
2956
|
+
"Icon Last",
|
|
2957
|
+
"Icon Only"
|
|
2958
|
+
]
|
|
2959
|
+
},
|
|
2960
|
+
"State": {
|
|
2961
|
+
"type": "VARIANT",
|
|
2962
|
+
"variantOptions": [
|
|
2963
|
+
"Enabled",
|
|
2964
|
+
"Pressed",
|
|
2965
|
+
"Loading",
|
|
2966
|
+
"Disabled"
|
|
2967
|
+
]
|
|
2968
|
+
}
|
|
2969
|
+
}
|
|
2970
|
+
};
|
|
2956
2971
|
|
|
2957
2972
|
var FIGMA_COMPONENTS = {
|
|
2958
2973
|
__proto__: null,
|
|
2959
2974
|
_switch: _switch,
|
|
2960
2975
|
actionButton: actionButton,
|
|
2976
|
+
actionButtonGhostButton: actionButtonGhostButton,
|
|
2961
2977
|
alertDialog: alertDialog,
|
|
2962
2978
|
avatar: avatar,
|
|
2963
2979
|
avatarStack: avatarStack,
|
|
@@ -2981,15 +2997,14 @@ var FIGMA_COMPONENTS = {
|
|
|
2981
2997
|
mannerTemp: mannerTemp,
|
|
2982
2998
|
mannerTempBadge: mannerTempBadge,
|
|
2983
2999
|
menuSheet: menuSheet,
|
|
2984
|
-
multilineTextField: multilineTextField,
|
|
2985
3000
|
pageBanner: pageBanner,
|
|
2986
3001
|
progressCircle: progressCircle,
|
|
2987
3002
|
radio: radio,
|
|
2988
3003
|
radioMark: radioMark,
|
|
2989
|
-
rangeSlider: rangeSlider,
|
|
2990
3004
|
reactionButton: reactionButton,
|
|
2991
3005
|
resizableChild: resizableChild,
|
|
2992
3006
|
resizableIcon: resizableIcon,
|
|
3007
|
+
scrollFog: scrollFog,
|
|
2993
3008
|
segmentedControl: segmentedControl,
|
|
2994
3009
|
selectBox: selectBox,
|
|
2995
3010
|
skeleton: skeleton,
|
|
@@ -3003,10 +3018,13 @@ var FIGMA_COMPONENTS = {
|
|
|
3003
3018
|
templateButtonGroup: templateButtonGroup,
|
|
3004
3019
|
templateChipGroup: templateChipGroup,
|
|
3005
3020
|
templateCompletion: templateCompletion,
|
|
3021
|
+
templateCustomPickerField: templateCustomPickerField,
|
|
3006
3022
|
templateErrorState: templateErrorState,
|
|
3007
3023
|
templateSelectBoxGroup: templateSelectBoxGroup,
|
|
3024
|
+
templateSliderField: templateSliderField,
|
|
3025
|
+
templateTextField: templateTextField,
|
|
3026
|
+
templateTextareaField: templateTextareaField,
|
|
3008
3027
|
templateTopNavigation: templateTopNavigation,
|
|
3009
|
-
textField: textField,
|
|
3010
3028
|
toggleButton: toggleButton,
|
|
3011
3029
|
topNavigation: topNavigation
|
|
3012
3030
|
};
|
|
@@ -3029,7 +3047,7 @@ function handleSizeProp(size) {
|
|
|
3029
3047
|
}
|
|
3030
3048
|
}
|
|
3031
3049
|
|
|
3032
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3050
|
+
const { createLocalSnippetElement: createLocalSnippetElement$y } = createLocalSnippetHelper("action-button");
|
|
3033
3051
|
const createActionButtonHandler = (ctx)=>defineComponentHandler(actionButton.key, ({ componentProperties: props })=>{
|
|
3034
3052
|
const states = props.State.value.split("-");
|
|
3035
3053
|
const { layout, children } = tsPattern.match(props.Layout.value).with("Icon Only", ()=>({
|
|
@@ -3070,7 +3088,7 @@ const createActionButtonHandler = (ctx)=>defineComponentHandler(actionButton.key
|
|
|
3070
3088
|
variant: changeCase.camelCase(props.Variant.value),
|
|
3071
3089
|
layout
|
|
3072
3090
|
};
|
|
3073
|
-
return createLocalSnippetElement$
|
|
3091
|
+
return createLocalSnippetElement$y("ActionButton", commonProps, children);
|
|
3074
3092
|
});
|
|
3075
3093
|
const ACTION_BUTTON_GHOST_BUTTON_KEY = "ea69291fb4d76217419f3d9613ae16aadafb56a5";
|
|
3076
3094
|
const createActionButtonGhostHandler = (ctx)=>defineComponentHandler(ACTION_BUTTON_GHOST_BUTTON_KEY, (node)=>{
|
|
@@ -3128,26 +3146,26 @@ const createActionButtonGhostHandler = (ctx)=>defineComponentHandler(ACTION_BUTT
|
|
|
3128
3146
|
bleedY: "asPadding"
|
|
3129
3147
|
}
|
|
3130
3148
|
};
|
|
3131
|
-
return createLocalSnippetElement$
|
|
3149
|
+
return createLocalSnippetElement$y("ActionButton", commonProps, children);
|
|
3132
3150
|
});
|
|
3133
3151
|
|
|
3134
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3152
|
+
const { createLocalSnippetElement: createLocalSnippetElement$x } = createLocalSnippetHelper("alert-dialog");
|
|
3135
3153
|
const { createLocalSnippetElement: createLocalSnippetElementTrigger$3 } = createLocalSnippetHelper("action-button");
|
|
3136
3154
|
const ALERT_DIALOG_FOOTER_KEY = "00b1b131d67edf2875a7a1df8dfa88098d7c04be";
|
|
3137
3155
|
const createAlertDialogHandler = (_ctx)=>defineComponentHandler(alertDialog.key, (node, traverse)=>{
|
|
3138
3156
|
const props = node.componentProperties;
|
|
3139
|
-
const alertDialogHeader = createLocalSnippetElement$
|
|
3157
|
+
const alertDialogHeader = createLocalSnippetElement$x("AlertDialogHeader", undefined, [
|
|
3140
3158
|
...props["Show Title#20361:14"].value ? [
|
|
3141
|
-
createLocalSnippetElement$
|
|
3159
|
+
createLocalSnippetElement$x("AlertDialogTitle", undefined, props["Title Text#20361:0"].value)
|
|
3142
3160
|
] : [],
|
|
3143
|
-
createLocalSnippetElement$
|
|
3161
|
+
createLocalSnippetElement$x("AlertDialogDescription", undefined, props["Description Text#20361:7"].value)
|
|
3144
3162
|
]);
|
|
3145
3163
|
const footerNodes = findAllInstances({
|
|
3146
3164
|
node,
|
|
3147
3165
|
key: ALERT_DIALOG_FOOTER_KEY
|
|
3148
3166
|
});
|
|
3149
3167
|
if (footerNodes.length === 0 || footerNodes.length > 1) {
|
|
3150
|
-
return createLocalSnippetElement$
|
|
3168
|
+
return createLocalSnippetElement$x("AlertDialog", undefined, alertDialogHeader, {
|
|
3151
3169
|
comment: "Footer 영역을 확인해주세요."
|
|
3152
3170
|
});
|
|
3153
3171
|
}
|
|
@@ -3155,21 +3173,21 @@ const createAlertDialogHandler = (_ctx)=>defineComponentHandler(alertDialog.key,
|
|
|
3155
3173
|
const footerNodeProps = traverse(footerNode)?.props;
|
|
3156
3174
|
const buttons = footerNode.children.map(traverse);
|
|
3157
3175
|
const alertDialogFooterChildren = tsPattern.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();
|
|
3158
|
-
const alertDialogFooter = createLocalSnippetElement$
|
|
3159
|
-
return createLocalSnippetElement$
|
|
3176
|
+
const alertDialogFooter = createLocalSnippetElement$x("AlertDialogFooter", undefined, alertDialogFooterChildren);
|
|
3177
|
+
return createLocalSnippetElement$x("AlertDialogRoot", {
|
|
3160
3178
|
open: true
|
|
3161
3179
|
}, [
|
|
3162
|
-
createLocalSnippetElement$
|
|
3180
|
+
createLocalSnippetElement$x("AlertDialogTrigger", {
|
|
3163
3181
|
asChild: true
|
|
3164
3182
|
}, createLocalSnippetElementTrigger$3("ActionButton", {}, "AlertDialog 열기")),
|
|
3165
|
-
createLocalSnippetElement$
|
|
3183
|
+
createLocalSnippetElement$x("AlertDialogContent", undefined, [
|
|
3166
3184
|
alertDialogHeader,
|
|
3167
3185
|
alertDialogFooter
|
|
3168
3186
|
])
|
|
3169
3187
|
]);
|
|
3170
3188
|
});
|
|
3171
3189
|
|
|
3172
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3190
|
+
const { createLocalSnippetElement: createLocalSnippetElement$w } = createLocalSnippetHelper("app-bar");
|
|
3173
3191
|
const APP_BAR_TITLE_KEY = "d2cc4f615b2b44098be89448ad1c573f94af0355";
|
|
3174
3192
|
const APP_BAR_LEFT_ICON_BUTTON_KEY = "5a953f7bafc0df744777517458396e9f6c915825";
|
|
3175
3193
|
const APP_BAR_RIGHT_ICON_BUTTON_KEY = "c08db793288077e53bd45ef11aa419a835e88fce";
|
|
@@ -3186,12 +3204,12 @@ const createAppBarMainHandler = (_ctx)=>{
|
|
|
3186
3204
|
subtitle: undefined
|
|
3187
3205
|
})).exhaustive();
|
|
3188
3206
|
if (title) {
|
|
3189
|
-
return createLocalSnippetElement$
|
|
3207
|
+
return createLocalSnippetElement$w("AppBarMain", {
|
|
3190
3208
|
title,
|
|
3191
3209
|
subtitle
|
|
3192
3210
|
});
|
|
3193
3211
|
}
|
|
3194
|
-
return createLocalSnippetElement$
|
|
3212
|
+
return createLocalSnippetElement$w("AppBarMain", undefined, undefined, {
|
|
3195
3213
|
comment: "AppBarMain 내부를 직접 작성해주세요."
|
|
3196
3214
|
});
|
|
3197
3215
|
});
|
|
@@ -3218,33 +3236,33 @@ const createAppBarHandler = (ctx)=>{
|
|
|
3218
3236
|
return appBarMainHandler.transform(mainNode, traverse);
|
|
3219
3237
|
})();
|
|
3220
3238
|
const leftChildren = tsPattern.match(props.Left.value).with("None", ()=>undefined).with("Back", ()=>[
|
|
3221
|
-
createLocalSnippetElement$
|
|
3239
|
+
createLocalSnippetElement$w("AppBarBackButton")
|
|
3222
3240
|
]).with("Close", ()=>[
|
|
3223
|
-
createLocalSnippetElement$
|
|
3241
|
+
createLocalSnippetElement$w("AppBarCloseButton")
|
|
3224
3242
|
]).with("Custom", ()=>{
|
|
3225
3243
|
const buttons = findAllInstances({
|
|
3226
3244
|
node,
|
|
3227
3245
|
key: APP_BAR_LEFT_ICON_BUTTON_KEY
|
|
3228
3246
|
});
|
|
3229
3247
|
if (buttons.length > 0) {
|
|
3230
|
-
return buttons.map((button)=>createLocalSnippetElement$
|
|
3248
|
+
return buttons.map((button)=>createLocalSnippetElement$w("AppBarIconButton", undefined, ctx.iconHandler.transform(button.componentProperties["Icon#33580:0"]), {
|
|
3231
3249
|
comment: "AppBarIconButton에 aria-label 속성을 추가해주세요."
|
|
3232
3250
|
}));
|
|
3233
3251
|
}
|
|
3234
3252
|
return undefined;
|
|
3235
3253
|
}).exhaustive();
|
|
3236
|
-
const left = leftChildren && leftChildren.length > 0 ? createLocalSnippetElement$
|
|
3254
|
+
const left = leftChildren && leftChildren.length > 0 ? createLocalSnippetElement$w("AppBarLeft", {}, leftChildren) : undefined;
|
|
3237
3255
|
const rightChildren = tsPattern.match(props.Right.value).with("None", ()=>undefined).with("1 Icon Button", "2 Icon Button", "3 Icon Button", ()=>{
|
|
3238
3256
|
const buttons = findAllInstances({
|
|
3239
3257
|
node,
|
|
3240
3258
|
key: APP_BAR_RIGHT_ICON_BUTTON_KEY
|
|
3241
3259
|
});
|
|
3242
|
-
return buttons.map((button)=>createLocalSnippetElement$
|
|
3260
|
+
return buttons.map((button)=>createLocalSnippetElement$w("AppBarIconButton", undefined, ctx.iconHandler.transform(button.componentProperties["Icon#6406:3"]), {
|
|
3243
3261
|
comment: "AppBarIconButton에 aria-label 속성을 추가해주세요."
|
|
3244
3262
|
}));
|
|
3245
3263
|
}).with("Text Button", ()=>undefined).exhaustive();
|
|
3246
|
-
const right = rightChildren && rightChildren.length > 0 ? createLocalSnippetElement$
|
|
3247
|
-
return createLocalSnippetElement$
|
|
3264
|
+
const right = rightChildren && rightChildren.length > 0 ? createLocalSnippetElement$w("AppBarRight", {}, rightChildren) : undefined;
|
|
3265
|
+
return createLocalSnippetElement$w("AppBar", {
|
|
3248
3266
|
theme,
|
|
3249
3267
|
tone
|
|
3250
3268
|
}, [
|
|
@@ -3258,15 +3276,15 @@ const createAppBarHandler = (ctx)=>{
|
|
|
3258
3276
|
};
|
|
3259
3277
|
|
|
3260
3278
|
const IDENTITY_PLACEHOLDER_KEY = "b3563b6f16ba4cfe4240c9b33eef7edad4c304eb";
|
|
3261
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3279
|
+
const { createLocalSnippetElement: createLocalSnippetElement$v } = createLocalSnippetHelper("identity-placeholder");
|
|
3262
3280
|
const createIdentityPlaceholderHandler = (_ctx)=>defineComponentHandler(IDENTITY_PLACEHOLDER_KEY, ({ componentProperties: props })=>{
|
|
3263
3281
|
const commonProps = {
|
|
3264
3282
|
identity: changeCase.camelCase(props.Identity.value)
|
|
3265
3283
|
};
|
|
3266
|
-
return createLocalSnippetElement$
|
|
3284
|
+
return createLocalSnippetElement$v("IdentityPlaceholder", commonProps);
|
|
3267
3285
|
});
|
|
3268
3286
|
|
|
3269
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3287
|
+
const { createLocalSnippetElement: createLocalSnippetElement$u } = createLocalSnippetHelper("avatar");
|
|
3270
3288
|
const createAvatarHandler = (ctx)=>{
|
|
3271
3289
|
const identityPlaceholderHandler = createIdentityPlaceholderHandler();
|
|
3272
3290
|
return defineComponentHandler(avatar.key, (node, traverse)=>{
|
|
@@ -3289,7 +3307,7 @@ const createAvatarHandler = (ctx)=>{
|
|
|
3289
3307
|
},
|
|
3290
3308
|
size: props.Size.value
|
|
3291
3309
|
};
|
|
3292
|
-
return createLocalSnippetElement$
|
|
3310
|
+
return createLocalSnippetElement$u("Avatar", commonProps, props["Badge"].value === "None" ? undefined : createLocalSnippetElement$u("AvatarBadge", {
|
|
3293
3311
|
asChild: true
|
|
3294
3312
|
}, createElement("img", {
|
|
3295
3313
|
src: "https://placehold.co/20x20"
|
|
@@ -3301,7 +3319,7 @@ const createAvatarHandler = (ctx)=>{
|
|
|
3301
3319
|
});
|
|
3302
3320
|
};
|
|
3303
3321
|
|
|
3304
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3322
|
+
const { createLocalSnippetElement: createLocalSnippetElement$t } = createLocalSnippetHelper("avatar");
|
|
3305
3323
|
const createAvatarStackHandler = (ctx)=>{
|
|
3306
3324
|
const avatarHandler = createAvatarHandler();
|
|
3307
3325
|
return defineComponentHandler(avatarStack.key, (node, traverse)=>{
|
|
@@ -3314,7 +3332,7 @@ const createAvatarStackHandler = (ctx)=>{
|
|
|
3314
3332
|
size: props.Size.value
|
|
3315
3333
|
};
|
|
3316
3334
|
const avatarStackChildren = avatarNodes.map((avatarNode)=>avatarHandler.transform(avatarNode, traverse));
|
|
3317
|
-
return createLocalSnippetElement$
|
|
3335
|
+
return createLocalSnippetElement$t("AvatarStack", commonProps, avatarStackChildren);
|
|
3318
3336
|
});
|
|
3319
3337
|
};
|
|
3320
3338
|
|
|
@@ -3327,7 +3345,7 @@ const createBadgeHandler = (_ctx)=>defineComponentHandler(badge.key, ({ componen
|
|
|
3327
3345
|
return createSeedReactElement("Badge", commonProps, props["Label#1584:0"].value);
|
|
3328
3346
|
});
|
|
3329
3347
|
|
|
3330
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3348
|
+
const { createLocalSnippetElement: createLocalSnippetElement$s } = createLocalSnippetHelper("bottom-sheet");
|
|
3331
3349
|
const { createLocalSnippetElement: createLocalSnippetElementTrigger$2 } = createLocalSnippetHelper("action-button");
|
|
3332
3350
|
// TODO: Bottom Action Bar (WIP) handler의 키. 해당 컴포넌트(템플릿) 핸들러 작성 시 handler.transform()으로 대체
|
|
3333
3351
|
const BOTTOM_SHEET_FOOTER_KEY = "de6c65d34cc4a01c18c9a7c0ded34635170ca11f";
|
|
@@ -3340,40 +3358,39 @@ const createBottomSheetHandler = (_ctx)=>defineComponentHandler(bottomSheet.key,
|
|
|
3340
3358
|
...props["Show Description#25192:0"].value === true && {
|
|
3341
3359
|
description: props["Description#19787:7"].value
|
|
3342
3360
|
},
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
}
|
|
3361
|
+
showHandle: props["Show Handle#49774:6"].value,
|
|
3362
|
+
showCloseButton: props["Show Close Button#19787:11"].value
|
|
3346
3363
|
};
|
|
3347
3364
|
const bodyNodes = findAllInstances({
|
|
3348
3365
|
node,
|
|
3349
3366
|
key: BOTTOM_SHEET_BODY_KEY
|
|
3350
3367
|
});
|
|
3351
|
-
const bottomSheetBody = bodyNodes.length === 1 ? createLocalSnippetElement$
|
|
3368
|
+
const bottomSheetBody = bodyNodes.length === 1 ? createLocalSnippetElement$s("BottomSheetBody", {}, bodyNodes[0].children.map(traverse)) : createLocalSnippetElement$s("BottomSheetBody", {}, createElement("div", undefined, "No content available"));
|
|
3352
3369
|
const footerNodes = findAllInstances({
|
|
3353
3370
|
node,
|
|
3354
3371
|
key: BOTTOM_SHEET_FOOTER_KEY
|
|
3355
3372
|
});
|
|
3356
|
-
const bottomSheetFooter = props["Show Footer#25162:14"] && footerNodes.length === 1 ? createLocalSnippetElement$
|
|
3357
|
-
return createLocalSnippetElement$
|
|
3373
|
+
const bottomSheetFooter = props["Show Footer#25162:14"] && footerNodes.length === 1 ? createLocalSnippetElement$s("BottomSheetFooter", {}, footerNodes[0].children.map(traverse)) : undefined;
|
|
3374
|
+
return createLocalSnippetElement$s("BottomSheetRoot", {
|
|
3358
3375
|
defaultOpen: true,
|
|
3359
3376
|
headerAlign
|
|
3360
3377
|
}, [
|
|
3361
|
-
createLocalSnippetElement$
|
|
3378
|
+
createLocalSnippetElement$s("BottomSheetTrigger", {
|
|
3362
3379
|
asChild: true
|
|
3363
3380
|
}, createLocalSnippetElementTrigger$2("ActionButton", {}, "BottomSheet 열기")),
|
|
3364
|
-
createLocalSnippetElement$
|
|
3381
|
+
createLocalSnippetElement$s("BottomSheetContent", contentProps, [
|
|
3365
3382
|
bottomSheetBody,
|
|
3366
3383
|
bottomSheetFooter
|
|
3367
3384
|
])
|
|
3368
3385
|
]);
|
|
3369
3386
|
});
|
|
3370
3387
|
|
|
3371
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3388
|
+
const { createLocalSnippetElement: createLocalSnippetElement$r } = createLocalSnippetHelper("callout");
|
|
3372
3389
|
const createCalloutHandler = (ctx)=>defineComponentHandler(callout.key, ({ componentProperties: props, children })=>{
|
|
3373
3390
|
const tag = tsPattern.match(props.Interaction.value).with("Display", ()=>"Callout").with("Actionable", ()=>"ActionableCallout").with("Dismissible", ()=>"DismissibleCallout").exhaustive();
|
|
3374
3391
|
const textNode = children.find((child)=>child.type === "TEXT");
|
|
3375
3392
|
if (!textNode) {
|
|
3376
|
-
return createLocalSnippetElement$
|
|
3393
|
+
return createLocalSnippetElement$r(tag, undefined, undefined, {
|
|
3377
3394
|
comment: "내용을 제공해주세요."
|
|
3378
3395
|
});
|
|
3379
3396
|
}
|
|
@@ -3425,10 +3442,10 @@ const createCalloutHandler = (ctx)=>defineComponentHandler(callout.key, ({ compo
|
|
|
3425
3442
|
prefixIcon: ctx.iconHandler.transform(props["Prefix Icon#35087:0"])
|
|
3426
3443
|
}
|
|
3427
3444
|
};
|
|
3428
|
-
return createLocalSnippetElement$
|
|
3445
|
+
return createLocalSnippetElement$r(tag, commonProps);
|
|
3429
3446
|
});
|
|
3430
3447
|
|
|
3431
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3448
|
+
const { createLocalSnippetElement: createLocalSnippetElement$q } = createLocalSnippetHelper("checkbox");
|
|
3432
3449
|
const createCheckboxHandler = (_ctx)=>defineComponentHandler(checkbox.key, ({ componentProperties: props })=>{
|
|
3433
3450
|
const tone = tsPattern.match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated]Brand", ()=>"brand").exhaustive();
|
|
3434
3451
|
const commonProps = {
|
|
@@ -3448,10 +3465,10 @@ const createCheckboxHandler = (_ctx)=>defineComponentHandler(checkbox.key, ({ co
|
|
|
3448
3465
|
disabled: true
|
|
3449
3466
|
}
|
|
3450
3467
|
};
|
|
3451
|
-
return createLocalSnippetElement$
|
|
3468
|
+
return createLocalSnippetElement$q("Checkbox", commonProps);
|
|
3452
3469
|
});
|
|
3453
3470
|
|
|
3454
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3471
|
+
const { createLocalSnippetElement: createLocalSnippetElement$p } = createLocalSnippetHelper("checkbox");
|
|
3455
3472
|
const createCheckmarkHandler = (_ctx)=>defineComponentHandler(checkmark.key, ({ componentProperties: props })=>{
|
|
3456
3473
|
const tone = tsPattern.match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated]Brand", ()=>"brand").exhaustive();
|
|
3457
3474
|
const commonProps = {
|
|
@@ -3459,14 +3476,14 @@ const createCheckmarkHandler = (_ctx)=>defineComponentHandler(checkmark.key, ({
|
|
|
3459
3476
|
variant: changeCase.camelCase(props.Shape.value),
|
|
3460
3477
|
size: handleSizeProp(props.Size.value)
|
|
3461
3478
|
};
|
|
3462
|
-
return createLocalSnippetElement$
|
|
3479
|
+
return createLocalSnippetElement$p("Checkmark", commonProps);
|
|
3463
3480
|
});
|
|
3464
3481
|
|
|
3465
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3482
|
+
const { createLocalSnippetElement: createLocalSnippetElement$o } = createLocalSnippetHelper("chip");
|
|
3466
3483
|
const CHIP_ICON_SUFFIX_KEY = "27343e0e5ab2c66948e9b10fde03d58b5e037212";
|
|
3467
3484
|
const createChipIconSuffixHandler = (ctx)=>{
|
|
3468
3485
|
return defineComponentHandler(CHIP_ICON_SUFFIX_KEY, ({ componentProperties })=>{
|
|
3469
|
-
return createLocalSnippetElement$
|
|
3486
|
+
return createLocalSnippetElement$o("Chip.SuffixIcon", undefined, createSeedReactElement("Icon", {
|
|
3470
3487
|
svg: ctx.iconHandler.transform(componentProperties["Icon#33203:0"])
|
|
3471
3488
|
}));
|
|
3472
3489
|
});
|
|
@@ -3476,7 +3493,7 @@ const createChipHandler = (ctx)=>{
|
|
|
3476
3493
|
const iconSuffixHandler = createChipIconSuffixHandler(ctx);
|
|
3477
3494
|
return defineComponentHandler(chip.key, (node, traverse)=>{
|
|
3478
3495
|
const props = node.componentProperties;
|
|
3479
|
-
const prefix = tsPattern.match(props["Prefix Type"].value).with("None", "Image", ()=>undefined).with("Icon", ()=>createLocalSnippetElement$
|
|
3496
|
+
const prefix = tsPattern.match(props["Prefix Type"].value).with("None", "Image", ()=>undefined).with("Icon", ()=>createLocalSnippetElement$o("Chip.PrefixIcon", undefined, createSeedReactElement("Icon", {
|
|
3480
3497
|
svg: ctx.iconHandler.transform(props["Prefix Icon#8722:0"])
|
|
3481
3498
|
}))).with("Avatar", ()=>{
|
|
3482
3499
|
const [avatar$1] = findAllInstances({
|
|
@@ -3484,9 +3501,9 @@ const createChipHandler = (ctx)=>{
|
|
|
3484
3501
|
key: avatar.key
|
|
3485
3502
|
});
|
|
3486
3503
|
if (!avatar$1) return undefined;
|
|
3487
|
-
return createLocalSnippetElement$
|
|
3504
|
+
return createLocalSnippetElement$o("Chip.PrefixAvatar", undefined, avatarHandler.transform(avatar$1, traverse));
|
|
3488
3505
|
}).exhaustive();
|
|
3489
|
-
const label = createLocalSnippetElement$
|
|
3506
|
+
const label = createLocalSnippetElement$o("Chip.Label", undefined, props["Label#7185:0"].value);
|
|
3490
3507
|
const [suffixIcon] = findAllInstances({
|
|
3491
3508
|
node,
|
|
3492
3509
|
key: CHIP_ICON_SUFFIX_KEY
|
|
@@ -3502,7 +3519,7 @@ const createChipHandler = (ctx)=>{
|
|
|
3502
3519
|
disabled: true
|
|
3503
3520
|
}
|
|
3504
3521
|
};
|
|
3505
|
-
return createLocalSnippetElement$
|
|
3522
|
+
return createLocalSnippetElement$o("Chip.Toggle", commonProps, [
|
|
3506
3523
|
prefix,
|
|
3507
3524
|
label,
|
|
3508
3525
|
suffixIcon ? iconSuffixHandler.transform(suffixIcon, traverse) : undefined
|
|
@@ -3512,7 +3529,7 @@ const createChipHandler = (ctx)=>{
|
|
|
3512
3529
|
});
|
|
3513
3530
|
};
|
|
3514
3531
|
|
|
3515
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3532
|
+
const { createLocalSnippetElement: createLocalSnippetElement$n } = createLocalSnippetHelper("contextual-floating-button");
|
|
3516
3533
|
const createContextualFloatingButtonHandler = (ctx)=>defineComponentHandler(contextualFloatingButton.key, ({ componentProperties: props })=>{
|
|
3517
3534
|
const states = props.State.value.split("-");
|
|
3518
3535
|
const { layout, children } = tsPattern.match(props.Layout.value).with("Icon Only", ()=>({
|
|
@@ -3541,7 +3558,7 @@ const createContextualFloatingButtonHandler = (ctx)=>defineComponentHandler(cont
|
|
|
3541
3558
|
variant: tsPattern.match(props.Variant.value).with("Solid", ()=>"solid").with("Layer", ()=>"layer").exhaustive(),
|
|
3542
3559
|
layout
|
|
3543
3560
|
};
|
|
3544
|
-
return createLocalSnippetElement$
|
|
3561
|
+
return createLocalSnippetElement$n("ContextualFloatingButton", commonProps, children);
|
|
3545
3562
|
});
|
|
3546
3563
|
|
|
3547
3564
|
const createDividerHandler = (_ctx)=>defineComponentHandler(divider.key, ({ componentProperties: props })=>{
|
|
@@ -3557,35 +3574,261 @@ const createDividerHandler = (_ctx)=>defineComponentHandler(divider.key, ({ comp
|
|
|
3557
3574
|
return createSeedReactElement("Divider", commonProps, undefined);
|
|
3558
3575
|
});
|
|
3559
3576
|
|
|
3560
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3577
|
+
const { createLocalSnippetElement: createLocalSnippetElement$m } = createLocalSnippetHelper("error-state");
|
|
3561
3578
|
const createErrorStateHandler = (ctx)=>{
|
|
3562
3579
|
const actionButtonHandler = createActionButtonHandler(ctx);
|
|
3580
|
+
const ghostButtonHandler = createActionButtonGhostHandler(ctx);
|
|
3563
3581
|
return defineComponentHandler(templateErrorState.key, (node, traverse)=>{
|
|
3564
3582
|
const props = node.componentProperties;
|
|
3565
|
-
const [
|
|
3583
|
+
const [actionButton] = findAllInstances({
|
|
3566
3584
|
node,
|
|
3567
3585
|
key: actionButtonHandler.key
|
|
3568
3586
|
});
|
|
3587
|
+
const [ghostButton] = findAllInstances({
|
|
3588
|
+
node,
|
|
3589
|
+
key: ghostButtonHandler.key
|
|
3590
|
+
});
|
|
3569
3591
|
const commonProps = {
|
|
3570
3592
|
variant: changeCase.camelCase(props.Variant.value),
|
|
3571
3593
|
...props.Layout.value === "With Title" && {
|
|
3572
3594
|
title: props["Title#16237:0"].value
|
|
3573
3595
|
},
|
|
3574
3596
|
description: props["Description#16237:5"].value,
|
|
3575
|
-
...
|
|
3597
|
+
...actionButton && {
|
|
3576
3598
|
primaryActionProps: {
|
|
3577
|
-
children: actionButtonHandler.transform(
|
|
3578
|
-
}
|
|
3599
|
+
children: actionButtonHandler.transform(actionButton, traverse).children[0]
|
|
3600
|
+
}
|
|
3601
|
+
},
|
|
3602
|
+
...ghostButton && {
|
|
3579
3603
|
secondaryActionProps: {
|
|
3580
|
-
children:
|
|
3604
|
+
children: ghostButtonHandler.transform(ghostButton, traverse).children[0]
|
|
3581
3605
|
}
|
|
3582
3606
|
}
|
|
3583
3607
|
};
|
|
3584
|
-
return createLocalSnippetElement$
|
|
3608
|
+
return createLocalSnippetElement$m("ErrorState", commonProps);
|
|
3585
3609
|
});
|
|
3586
3610
|
};
|
|
3587
3611
|
|
|
3588
|
-
const
|
|
3612
|
+
const templateAddressPickerField = {
|
|
3613
|
+
"key": "a6cb0e888094d95ca0e9862f4775b34407b3611d"
|
|
3614
|
+
};
|
|
3615
|
+
const templateDatePickerField = {
|
|
3616
|
+
"key": "9fac6c04140c81cdb2e446979952381f1afc0e1a"
|
|
3617
|
+
};
|
|
3618
|
+
const templateSelectField = {
|
|
3619
|
+
"key": "a43d16a5c3cbb5fe22ca230d6a28338da21c7562"
|
|
3620
|
+
};
|
|
3621
|
+
const templateTimePickerField = {
|
|
3622
|
+
"key": "0ee0729eb92d55acfa557e8fe3f0a21a0e43f117"
|
|
3623
|
+
};
|
|
3624
|
+
|
|
3625
|
+
const FIELD_HEADER_KEY = "84fe2e479c3291177662e41c71af29716e48789b";
|
|
3626
|
+
const FIELD_INDICATOR_KEY = "a0a170973212ea0cd952b45a8acb11a92561f402";
|
|
3627
|
+
const FIELD_FOOTER_KEY = "ab528f3b51a6dc529bb144de1495b07deef77ffa";
|
|
3628
|
+
const FIELD_CHARACTER_COUNT_KEY = "25dd9a96f4bf3b866b8713f6d8deec370eebfa72";
|
|
3629
|
+
const FIELD_KEYS = {
|
|
3630
|
+
HEADER: FIELD_HEADER_KEY,
|
|
3631
|
+
FOOTER: FIELD_FOOTER_KEY
|
|
3632
|
+
};
|
|
3633
|
+
/**
|
|
3634
|
+
* NOTE: only gives useful 'props' for field-related components but doesn't give fully functional code.
|
|
3635
|
+
*/ const createFieldHeaderHandler = (ctx)=>{
|
|
3636
|
+
const indicatorHandler = createFieldIndicatorHandler();
|
|
3637
|
+
return defineComponentHandler(FIELD_HEADER_KEY, (node, traverse)=>{
|
|
3638
|
+
const { componentProperties: props } = node;
|
|
3639
|
+
const [indicator] = findAllInstances({
|
|
3640
|
+
node,
|
|
3641
|
+
key: FIELD_INDICATOR_KEY
|
|
3642
|
+
});
|
|
3643
|
+
// only returns some nice common props for Slider, TextField and more
|
|
3644
|
+
return createSeedReactElement("__FieldHeader__", {
|
|
3645
|
+
label: props["Label#34796:0"].value,
|
|
3646
|
+
labelWeight: changeCase.camelCase(props.Weight.value),
|
|
3647
|
+
...indicator && indicatorHandler.transform(indicator, traverse).props
|
|
3648
|
+
});
|
|
3649
|
+
});
|
|
3650
|
+
};
|
|
3651
|
+
/**
|
|
3652
|
+
* NOTE: only gives useful 'props' for field-related components but doesn't give fully functional code.
|
|
3653
|
+
*/ const createFieldIndicatorHandler = (_ctx)=>{
|
|
3654
|
+
return defineComponentHandler(FIELD_INDICATOR_KEY, ({ componentProperties: props })=>{
|
|
3655
|
+
const { required, showRequiredIndicator, indicator } = tsPattern.match(props.Type.value).with("Required Mark", ()=>({
|
|
3656
|
+
required: true,
|
|
3657
|
+
showRequiredIndicator: true,
|
|
3658
|
+
indicator: undefined
|
|
3659
|
+
})).with("Text", ()=>({
|
|
3660
|
+
required: undefined,
|
|
3661
|
+
showRequiredIndicator: undefined,
|
|
3662
|
+
indicator: props["Required Label#40606:3"].value
|
|
3663
|
+
})).exhaustive();
|
|
3664
|
+
// only returns some nice common props for Slider, TextField and more
|
|
3665
|
+
return createSeedReactElement("__FieldIndicator__", {
|
|
3666
|
+
required,
|
|
3667
|
+
showRequiredIndicator,
|
|
3668
|
+
indicator
|
|
3669
|
+
});
|
|
3670
|
+
});
|
|
3671
|
+
};
|
|
3672
|
+
/**
|
|
3673
|
+
* NOTE: only gives useful 'props' for field-related components but doesn't give fully functional code.
|
|
3674
|
+
*/ const createFieldFooterHandler = (ctx)=>{
|
|
3675
|
+
const characterCountHandler = createFieldCharacterCountHandler();
|
|
3676
|
+
return defineComponentHandler(FIELD_FOOTER_KEY, (node, traverse)=>{
|
|
3677
|
+
const { componentProperties: props } = node;
|
|
3678
|
+
const { description, maxGraphemeCount } = tsPattern.match(props.Type.value).with("Description", ()=>({
|
|
3679
|
+
description: props["Text#2770:0"].value,
|
|
3680
|
+
maxGraphemeCount: undefined
|
|
3681
|
+
})).with("Description With Character Count", ()=>({
|
|
3682
|
+
description: props["Text#2770:0"].value,
|
|
3683
|
+
maxGraphemeCount: undefined
|
|
3684
|
+
})).with("Character Count", ()=>{
|
|
3685
|
+
const [characterCount] = findAllInstances({
|
|
3686
|
+
node,
|
|
3687
|
+
key: FIELD_CHARACTER_COUNT_KEY
|
|
3688
|
+
});
|
|
3689
|
+
return {
|
|
3690
|
+
description: undefined,
|
|
3691
|
+
...characterCount && characterCountHandler.transform(characterCount, traverse).props
|
|
3692
|
+
};
|
|
3693
|
+
}).exhaustive();
|
|
3694
|
+
const { errorMessage, invalid } = tsPattern.match(props.Error.value === "true").with(true, ()=>({
|
|
3695
|
+
invalid: true,
|
|
3696
|
+
errorMessage: props["Error Text#32821:0"].value
|
|
3697
|
+
})).with(false, ()=>({
|
|
3698
|
+
invalid: undefined,
|
|
3699
|
+
errorMessage: undefined
|
|
3700
|
+
})).exhaustive();
|
|
3701
|
+
// only returns some nice common props for Slider, TextField and more
|
|
3702
|
+
return createSeedReactElement("__FieldFooter__", {
|
|
3703
|
+
description,
|
|
3704
|
+
maxGraphemeCount,
|
|
3705
|
+
invalid,
|
|
3706
|
+
errorMessage
|
|
3707
|
+
});
|
|
3708
|
+
});
|
|
3709
|
+
};
|
|
3710
|
+
/**
|
|
3711
|
+
* NOTE: only gives useful 'props' for field-related components but doesn't give fully functional code.
|
|
3712
|
+
*/ const createFieldCharacterCountHandler = (_ctx)=>{
|
|
3713
|
+
return defineComponentHandler(FIELD_CHARACTER_COUNT_KEY, ({ componentProperties: props })=>{
|
|
3714
|
+
// only returns some nice common props for Slider, TextField and more
|
|
3715
|
+
return createSeedReactElement("__FieldCharacterCount__", {
|
|
3716
|
+
maxGraphemeCount: Number(props["Max Count#40960:4"].value)
|
|
3717
|
+
});
|
|
3718
|
+
});
|
|
3719
|
+
};
|
|
3720
|
+
|
|
3721
|
+
const { createLocalSnippetElement: createLocalSnippetElement$l } = createLocalSnippetHelper("field-button");
|
|
3722
|
+
const INPUT_BUTTON_KEY = "965bdecb58755af9a08d60cc3c8d2d33b42e15f0";
|
|
3723
|
+
const INPUT_BUTTON_PREFIX_KEY = "12b40c736a098298c64ba16de85702b4b460d1f1";
|
|
3724
|
+
const INPUT_BUTTON_SUFFIX_KEY = "5dda27af9f4afafa471925c17acf97d81912877a";
|
|
3725
|
+
const createFieldButtonHandler = (ctx)=>{
|
|
3726
|
+
const fieldHeaderHandler = createFieldHeaderHandler();
|
|
3727
|
+
const fieldFooterHandler = createFieldFooterHandler();
|
|
3728
|
+
return defineComponentHandler(templateCustomPickerField.key, (node, traverse)=>{
|
|
3729
|
+
const props = node.componentProperties;
|
|
3730
|
+
const [inputButton] = findAllInstances({
|
|
3731
|
+
node,
|
|
3732
|
+
key: INPUT_BUTTON_KEY
|
|
3733
|
+
});
|
|
3734
|
+
const [clearButton] = findAllInstances({
|
|
3735
|
+
node,
|
|
3736
|
+
key: actionButtonGhostButton.key
|
|
3737
|
+
});
|
|
3738
|
+
const [fieldHeader] = findAllInstances({
|
|
3739
|
+
node,
|
|
3740
|
+
key: FIELD_KEYS.HEADER
|
|
3741
|
+
});
|
|
3742
|
+
const [fieldFooter] = findAllInstances({
|
|
3743
|
+
node,
|
|
3744
|
+
key: FIELD_KEYS.FOOTER
|
|
3745
|
+
});
|
|
3746
|
+
// maxGraphemeCount and required can't be props of FieldButton
|
|
3747
|
+
const { required: __required, ...headerProps } = props["Show Header#40606:8"].value && fieldHeader ? fieldHeaderHandler.transform(fieldHeader, traverse).props : {};
|
|
3748
|
+
const { maxGraphemeCount: __maxGraphemeCount, ...footerProps } = props["Show Footer#40606:9"].value && fieldFooter ? fieldFooterHandler.transform(fieldFooter, traverse).props : {};
|
|
3749
|
+
const [prefix] = findAllInstances({
|
|
3750
|
+
node: inputButton,
|
|
3751
|
+
key: INPUT_BUTTON_PREFIX_KEY
|
|
3752
|
+
});
|
|
3753
|
+
const [suffix] = findAllInstances({
|
|
3754
|
+
node: inputButton,
|
|
3755
|
+
key: INPUT_BUTTON_SUFFIX_KEY
|
|
3756
|
+
});
|
|
3757
|
+
const commonProps = {
|
|
3758
|
+
...inputButton.componentProperties.State.value === "Disabled" && {
|
|
3759
|
+
disabled: true
|
|
3760
|
+
},
|
|
3761
|
+
...(inputButton.componentProperties.State.value === "Error" || inputButton.componentProperties.State.value === "Error Pressed") && {
|
|
3762
|
+
invalid: true
|
|
3763
|
+
},
|
|
3764
|
+
...clearButton && {
|
|
3765
|
+
showClearButton: true
|
|
3766
|
+
},
|
|
3767
|
+
...inputButton.componentProperties["Has Prefix#32514:10"].value === true && prefix && prefix.componentProperties.Type.value === "Icon" && {
|
|
3768
|
+
prefixIcon: ctx.iconHandler.transform(prefix.componentProperties["Icon#34021:2"])
|
|
3769
|
+
},
|
|
3770
|
+
...inputButton.componentProperties["Has Suffix#32865:68"].value === true && suffix && suffix.componentProperties["Type (Figma Only)"].value === "Icon" && {
|
|
3771
|
+
suffixIcon: ctx.iconHandler.transform(suffix.componentProperties["Icon#37963:0"])
|
|
3772
|
+
},
|
|
3773
|
+
...inputButton.componentProperties["Has Suffix#32865:68"].value === true && suffix && suffix.componentProperties["Type (Figma Only)"].value === "Text" && {
|
|
3774
|
+
suffix: suffix.componentProperties["Suffix Text#34021:4"].value
|
|
3775
|
+
}
|
|
3776
|
+
};
|
|
3777
|
+
// these can be fragile but better than having 9 different handlers
|
|
3778
|
+
const placeholder = findOne(node, (node)=>node.type === "TEXT" && node.name.toLowerCase().includes("placeholder"));
|
|
3779
|
+
const value = findOne(node, (node)=>node.type === "TEXT" && node.name.toLowerCase().includes("value"));
|
|
3780
|
+
return createLocalSnippetElement$l("FieldButton", {
|
|
3781
|
+
...headerProps,
|
|
3782
|
+
...footerProps,
|
|
3783
|
+
...commonProps
|
|
3784
|
+
}, props["Has Value"].value === "True" && value ? createLocalSnippetElement$l("FieldButtonValue", undefined, value.characters) : placeholder ? createLocalSnippetElement$l("FieldButtonPlaceholder", undefined, placeholder.characters) : undefined, {
|
|
3785
|
+
comment: "buttonProps를 통해 aria-label을 제공하세요."
|
|
3786
|
+
});
|
|
3787
|
+
});
|
|
3788
|
+
};
|
|
3789
|
+
// TODO: those 4 are basically the same
|
|
3790
|
+
const createSelectFieldHandler = (ctx)=>{
|
|
3791
|
+
const fieldButtonHandler = createFieldButtonHandler(ctx);
|
|
3792
|
+
return defineComponentHandler(templateSelectField.key, (node, traverse)=>{
|
|
3793
|
+
const [fieldButton] = findAllInstances({
|
|
3794
|
+
node,
|
|
3795
|
+
key: fieldButtonHandler.key
|
|
3796
|
+
});
|
|
3797
|
+
return fieldButtonHandler.transform(fieldButton, traverse);
|
|
3798
|
+
});
|
|
3799
|
+
};
|
|
3800
|
+
const createDatePickerFieldHandler = (ctx)=>{
|
|
3801
|
+
const fieldButtonHandler = createFieldButtonHandler(ctx);
|
|
3802
|
+
return defineComponentHandler(templateDatePickerField.key, (node, traverse)=>{
|
|
3803
|
+
const [fieldButton] = findAllInstances({
|
|
3804
|
+
node,
|
|
3805
|
+
key: fieldButtonHandler.key
|
|
3806
|
+
});
|
|
3807
|
+
return fieldButtonHandler.transform(fieldButton, traverse);
|
|
3808
|
+
});
|
|
3809
|
+
};
|
|
3810
|
+
const createTimePickerFieldHandler = (ctx)=>{
|
|
3811
|
+
const fieldButtonHandler = createFieldButtonHandler(ctx);
|
|
3812
|
+
return defineComponentHandler(templateTimePickerField.key, (node, traverse)=>{
|
|
3813
|
+
const [fieldButton] = findAllInstances({
|
|
3814
|
+
node,
|
|
3815
|
+
key: fieldButtonHandler.key
|
|
3816
|
+
});
|
|
3817
|
+
return fieldButtonHandler.transform(fieldButton, traverse);
|
|
3818
|
+
});
|
|
3819
|
+
};
|
|
3820
|
+
const createAddressFieldHandler = (ctx)=>{
|
|
3821
|
+
const fieldButtonHandler = createFieldButtonHandler(ctx);
|
|
3822
|
+
return defineComponentHandler(templateAddressPickerField.key, (node, traverse)=>{
|
|
3823
|
+
const [fieldButton] = findAllInstances({
|
|
3824
|
+
node,
|
|
3825
|
+
key: fieldButtonHandler.key
|
|
3826
|
+
});
|
|
3827
|
+
return fieldButtonHandler.transform(fieldButton, traverse);
|
|
3828
|
+
});
|
|
3829
|
+
};
|
|
3830
|
+
|
|
3831
|
+
const { createLocalSnippetElement: createLocalSnippetElement$k } = createLocalSnippetHelper("floating-action-button");
|
|
3589
3832
|
const BUTTON_TYPE_KEY = "8cecc85275115d653579d4c3156567ebf19f7b27";
|
|
3590
3833
|
const MENU_TYPE_KEY = "400124347392c15473f9cd2d8a6aedb64f3baf36";
|
|
3591
3834
|
const createFloatingActionButtonHandler = (ctx)=>defineComponentHandler(floatingActionButton.key, (node)=>{
|
|
@@ -3609,10 +3852,10 @@ const createFloatingActionButtonHandler = (ctx)=>defineComponentHandler(floating
|
|
|
3609
3852
|
label: menu.componentProperties["Label#29766:9"].value
|
|
3610
3853
|
};
|
|
3611
3854
|
})();
|
|
3612
|
-
return createLocalSnippetElement$
|
|
3855
|
+
return createLocalSnippetElement$k("FloatingActionButton", commonProps);
|
|
3613
3856
|
});
|
|
3614
3857
|
|
|
3615
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3858
|
+
const { createLocalSnippetElement: createLocalSnippetElement$j } = createLocalSnippetHelper("help-bubble");
|
|
3616
3859
|
const { createLocalSnippetElement: createLocalSnippetElementTrigger$1 } = createLocalSnippetHelper("action-button");
|
|
3617
3860
|
const createHelpBubbleHandler = (_ctx)=>defineComponentHandler(helpBubble.key, ({ componentProperties: props })=>{
|
|
3618
3861
|
const placement = (()=>{
|
|
@@ -3652,20 +3895,20 @@ const createHelpBubbleHandler = (_ctx)=>defineComponentHandler(helpBubble.key, (
|
|
|
3652
3895
|
showCloseButton: props["Show Close Button#40538:0"].value,
|
|
3653
3896
|
placement
|
|
3654
3897
|
};
|
|
3655
|
-
return createLocalSnippetElement$
|
|
3898
|
+
return createLocalSnippetElement$j("HelpBubbleTrigger", commonProps, createLocalSnippetElementTrigger$1("ActionButton", {}, "HelpBubble 열기"), {
|
|
3656
3899
|
comment: "필요에 따라 HelpBubbleAnchor로 변경하여 사용하세요."
|
|
3657
3900
|
});
|
|
3658
3901
|
});
|
|
3659
3902
|
|
|
3660
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3903
|
+
const { createLocalSnippetElement: createLocalSnippetElement$i } = createLocalSnippetHelper("list-header");
|
|
3661
3904
|
const createListHeaderHandler = (_ctx)=>defineComponentHandler(listHeader.key, ({ componentProperties: props })=>{
|
|
3662
3905
|
const commonProps = {
|
|
3663
3906
|
variant: changeCase.camelCase(props["Variant"].value)
|
|
3664
3907
|
};
|
|
3665
|
-
return createLocalSnippetElement$
|
|
3908
|
+
return createLocalSnippetElement$i("ListHeader", commonProps, props["Title#28588:0"].value);
|
|
3666
3909
|
});
|
|
3667
3910
|
|
|
3668
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3911
|
+
const { createLocalSnippetElement: createLocalSnippetElement$h } = createLocalSnippetHelper("list");
|
|
3669
3912
|
const PREFIX_KEYS = {
|
|
3670
3913
|
checkmark: "f24c9ef42ef08df79483fbae0fa7d9037e566748",
|
|
3671
3914
|
radioMark: "5a77ad37a2291989dfe77c44ddee9aa39e447f90",
|
|
@@ -3775,37 +4018,37 @@ const createListItemHandler = (ctx)=>defineComponentHandler(listItem.key, (node,
|
|
|
3775
4018
|
}
|
|
3776
4019
|
};
|
|
3777
4020
|
const comment = tsPattern.match(tag).with("ListItem", ()=>"목적에 따라 ListButtonItem이나 ListLinkItem으로 바꿔 사용하세요.").with("ListCheckItem", ()=>`<List as="fieldset">과 함께 사용하세요.`).with("ListRadioItem", ()=>"<RadioGroup.Root>와 함께 사용하세요.").otherwise(()=>undefined);
|
|
3778
|
-
const list = createLocalSnippetElement$
|
|
4021
|
+
const list = createLocalSnippetElement$h(tag, commonProps, undefined, {
|
|
3779
4022
|
comment
|
|
3780
4023
|
});
|
|
3781
4024
|
if (props["Divider#28441:0"].value) {
|
|
3782
4025
|
return createElement("", {}, [
|
|
3783
4026
|
list,
|
|
3784
|
-
createLocalSnippetElement$
|
|
4027
|
+
createLocalSnippetElement$h("ListDivider")
|
|
3785
4028
|
]);
|
|
3786
4029
|
}
|
|
3787
4030
|
return list;
|
|
3788
4031
|
});
|
|
3789
4032
|
|
|
3790
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4033
|
+
const { createLocalSnippetElement: createLocalSnippetElement$g } = createLocalSnippetHelper("manner-temp-badge");
|
|
3791
4034
|
const createMannerTempBadgeHandler = (_ctx)=>defineComponentHandler(mannerTempBadge.key, ({ children })=>{
|
|
3792
4035
|
const textNode = children.find((child)=>child.type === "TEXT");
|
|
3793
4036
|
const commonProps = {
|
|
3794
4037
|
temperature: Number(textNode?.characters.replace(/[^\d.-]/g, "") ?? "-1")
|
|
3795
4038
|
};
|
|
3796
|
-
return createLocalSnippetElement$
|
|
4039
|
+
return createLocalSnippetElement$g("MannerTempBadge", commonProps);
|
|
3797
4040
|
});
|
|
3798
4041
|
|
|
3799
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4042
|
+
const { createLocalSnippetElement: createLocalSnippetElement$f } = createLocalSnippetHelper("manner-temp");
|
|
3800
4043
|
const createMannerTempHandler = (_ctx)=>defineComponentHandler(mannerTemp.key, ({ children })=>{
|
|
3801
4044
|
const textNode = children.find((child)=>child.type === "TEXT");
|
|
3802
4045
|
const commonProps = {
|
|
3803
4046
|
temperature: Number(textNode?.characters.replace(/[^\d.-]/g, "") ?? "-1")
|
|
3804
4047
|
};
|
|
3805
|
-
return createLocalSnippetElement$
|
|
4048
|
+
return createLocalSnippetElement$f("MannerTemp", commonProps);
|
|
3806
4049
|
});
|
|
3807
4050
|
|
|
3808
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4051
|
+
const { createLocalSnippetElement: createLocalSnippetElement$e } = createLocalSnippetHelper("menu-sheet");
|
|
3809
4052
|
const { createLocalSnippetElement: createLocalSnippetElementTrigger } = createLocalSnippetHelper("action-button");
|
|
3810
4053
|
const MENU_SHEET_ITEM_KEY = "057083e95466da59051119eec0b41d4ad5a07f8f";
|
|
3811
4054
|
const createMenuSheetItemHandler = (ctx)=>defineComponentHandler(MENU_SHEET_ITEM_KEY, ({ componentProperties: props })=>{
|
|
@@ -3816,7 +4059,7 @@ const createMenuSheetItemHandler = (ctx)=>defineComponentHandler(MENU_SHEET_ITEM
|
|
|
3816
4059
|
disabled: true
|
|
3817
4060
|
}
|
|
3818
4061
|
};
|
|
3819
|
-
return createLocalSnippetElement$
|
|
4062
|
+
return createLocalSnippetElement$e("MenuSheetItem", commonProps, [
|
|
3820
4063
|
props["Show Prefix Icon#17043:5"].value ? createSeedReactElement("PrefixIcon", {
|
|
3821
4064
|
svg: ctx.iconHandler.transform(props["Prefix Icon#55948:0"])
|
|
3822
4065
|
}) : undefined,
|
|
@@ -3832,7 +4075,7 @@ const createMenuSheetGroupHandler = (ctx)=>{
|
|
|
3832
4075
|
key: menuSheetItemHandler.key
|
|
3833
4076
|
});
|
|
3834
4077
|
const contentChildren = items.map((item)=>menuSheetItemHandler.transform(item, traverse));
|
|
3835
|
-
return createLocalSnippetElement$
|
|
4078
|
+
return createLocalSnippetElement$e("MenuSheetGroup", undefined, contentChildren);
|
|
3836
4079
|
});
|
|
3837
4080
|
};
|
|
3838
4081
|
const createMenuSheetHandler = (ctx)=>{
|
|
@@ -3852,69 +4095,23 @@ const createMenuSheetHandler = (ctx)=>{
|
|
|
3852
4095
|
})).with("Text Only", ()=>({
|
|
3853
4096
|
labelAlignment: "center"
|
|
3854
4097
|
})).exhaustive();
|
|
3855
|
-
const content = createLocalSnippetElement$
|
|
4098
|
+
const content = createLocalSnippetElement$e("MenuSheetContent", {
|
|
3856
4099
|
title,
|
|
3857
4100
|
labelAlignment
|
|
3858
4101
|
}, contentChildren, {
|
|
3859
4102
|
comment: title ? undefined : "title을 제공하지 않는 경우 aria-label이나 aria-labelledby 중 하나를 제공해야 합니다."
|
|
3860
4103
|
});
|
|
3861
|
-
const trigger = createLocalSnippetElement$
|
|
4104
|
+
const trigger = createLocalSnippetElement$e("MenuSheetTrigger", {
|
|
3862
4105
|
asChild: true
|
|
3863
4106
|
}, createLocalSnippetElementTrigger("ActionButton", {}, "MenuSheet 열기"));
|
|
3864
|
-
return createLocalSnippetElement$
|
|
4107
|
+
return createLocalSnippetElement$e("MenuSheet", undefined, [
|
|
3865
4108
|
trigger,
|
|
3866
4109
|
content
|
|
3867
4110
|
]);
|
|
3868
4111
|
});
|
|
3869
4112
|
};
|
|
3870
4113
|
|
|
3871
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3872
|
-
const createMultilineTextFieldHandler = (_ctx)=>defineComponentHandler(multilineTextField.key, ({ componentProperties: props })=>{
|
|
3873
|
-
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;
|
|
3874
|
-
const states = state.split("-");
|
|
3875
|
-
const commonProps = {
|
|
3876
|
-
size: handleSizeProp(size),
|
|
3877
|
-
// header
|
|
3878
|
-
...showHeader && {
|
|
3879
|
-
label
|
|
3880
|
-
},
|
|
3881
|
-
...showHeader && showIndicator && {
|
|
3882
|
-
indicator
|
|
3883
|
-
},
|
|
3884
|
-
// input
|
|
3885
|
-
...filled === "True" && {
|
|
3886
|
-
defaultValue
|
|
3887
|
-
},
|
|
3888
|
-
...states.includes("Invalid") && {
|
|
3889
|
-
invalid: true
|
|
3890
|
-
},
|
|
3891
|
-
...states.includes("Disabled") && {
|
|
3892
|
-
disabled: true
|
|
3893
|
-
},
|
|
3894
|
-
...states.includes("Read Only") && {
|
|
3895
|
-
readOnly: true
|
|
3896
|
-
},
|
|
3897
|
-
// footer
|
|
3898
|
-
...showFooter && showDescription && states.includes("Invalid") && {
|
|
3899
|
-
// invalid인 경우 description을 error로 사용
|
|
3900
|
-
errorMessage: description
|
|
3901
|
-
},
|
|
3902
|
-
...showFooter && showDescription && !states.includes("Invalid") && {
|
|
3903
|
-
// invalid가 아닌 경우 description을 description으로 사용
|
|
3904
|
-
description
|
|
3905
|
-
},
|
|
3906
|
-
...showFooter && showCharacterCount && {
|
|
3907
|
-
maxGraphemeCount: Number(maxCharacterCount)
|
|
3908
|
-
}
|
|
3909
|
-
};
|
|
3910
|
-
const inputProps = {
|
|
3911
|
-
placeholder
|
|
3912
|
-
};
|
|
3913
|
-
const TextFieldChildren = createLocalSnippetElement$c("TextFieldTextarea", inputProps);
|
|
3914
|
-
return createLocalSnippetElement$c("TextField", commonProps, TextFieldChildren);
|
|
3915
|
-
});
|
|
3916
|
-
|
|
3917
|
-
const { createLocalSnippetElement: createLocalSnippetElement$b } = createLocalSnippetHelper("page-banner");
|
|
4114
|
+
const { createLocalSnippetElement: createLocalSnippetElement$d } = createLocalSnippetHelper("page-banner");
|
|
3918
4115
|
const SUFFIX_BUTTON_KEY = "7dce4e1242761ccd8e5da42278fc2d870918039c";
|
|
3919
4116
|
const createPageBannerButtonHandler = (_ctx)=>defineComponentHandler(SUFFIX_BUTTON_KEY, (node)=>{
|
|
3920
4117
|
return createElement("PageBannerButton", undefined, node.componentProperties["Label#39890:0"].value);
|
|
@@ -3948,7 +4145,7 @@ const createPageBannerHandler = (ctx)=>{
|
|
|
3948
4145
|
})).exhaustive();
|
|
3949
4146
|
const textNode = findOne(node, (child)=>child.type === "TEXT" && child.name === "Text");
|
|
3950
4147
|
if (!textNode) {
|
|
3951
|
-
return createLocalSnippetElement$
|
|
4148
|
+
return createLocalSnippetElement$d(tag, undefined, undefined, {
|
|
3952
4149
|
comment: "내용을 제공해주세요."
|
|
3953
4150
|
});
|
|
3954
4151
|
}
|
|
@@ -3981,11 +4178,11 @@ const createPageBannerHandler = (ctx)=>{
|
|
|
3981
4178
|
suffix
|
|
3982
4179
|
}
|
|
3983
4180
|
};
|
|
3984
|
-
return createLocalSnippetElement$
|
|
4181
|
+
return createLocalSnippetElement$d(tag, commonProps);
|
|
3985
4182
|
});
|
|
3986
4183
|
};
|
|
3987
4184
|
|
|
3988
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4185
|
+
const { createLocalSnippetElement: createLocalSnippetElement$c } = createLocalSnippetHelper("progress-circle");
|
|
3989
4186
|
const createProgressCircleHandler = (_ctx)=>defineComponentHandler(progressCircle.key, ({ componentProperties: props })=>{
|
|
3990
4187
|
const { value, minValue, maxValue } = tsPattern.match(props.Value.value).with("Indeterminate", ()=>({
|
|
3991
4188
|
value: undefined,
|
|
@@ -4017,10 +4214,10 @@ const createProgressCircleHandler = (_ctx)=>defineComponentHandler(progressCircl
|
|
|
4017
4214
|
tone: changeCase.camelCase(props.Tone.value)
|
|
4018
4215
|
}
|
|
4019
4216
|
};
|
|
4020
|
-
return createLocalSnippetElement$
|
|
4217
|
+
return createLocalSnippetElement$c("ProgressCircle", commonProps);
|
|
4021
4218
|
});
|
|
4022
4219
|
|
|
4023
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4220
|
+
const { createLocalSnippetElement: createLocalSnippetElement$b } = createLocalSnippetHelper("radio-group");
|
|
4024
4221
|
const createRadioGroupItemHandler = (_ctx)=>defineComponentHandler(radio.key, ({ componentProperties: props })=>{
|
|
4025
4222
|
const tone = tsPattern.match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated]Brand", ()=>"brand").exhaustive();
|
|
4026
4223
|
const commonProps = {
|
|
@@ -4033,20 +4230,20 @@ const createRadioGroupItemHandler = (_ctx)=>defineComponentHandler(radio.key, ({
|
|
|
4033
4230
|
tone,
|
|
4034
4231
|
weight: changeCase.camelCase(props.Weight.value)
|
|
4035
4232
|
};
|
|
4036
|
-
return createLocalSnippetElement$
|
|
4233
|
+
return createLocalSnippetElement$b("RadioGroupItem", commonProps);
|
|
4037
4234
|
});
|
|
4038
4235
|
|
|
4039
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4236
|
+
const { createLocalSnippetElement: createLocalSnippetElement$a } = createLocalSnippetHelper("radio-group");
|
|
4040
4237
|
const createRadioMarkHandler = (_ctx)=>defineComponentHandler(radioMark.key, ({ componentProperties: props })=>{
|
|
4041
4238
|
const tone = tsPattern.match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated]Brand", ()=>"brand").exhaustive();
|
|
4042
4239
|
const commonProps = {
|
|
4043
4240
|
tone,
|
|
4044
4241
|
size: handleSizeProp(props.Size.value)
|
|
4045
4242
|
};
|
|
4046
|
-
return createLocalSnippetElement$
|
|
4243
|
+
return createLocalSnippetElement$a("RadioMark", commonProps);
|
|
4047
4244
|
});
|
|
4048
4245
|
|
|
4049
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4246
|
+
const { createLocalSnippetElement: createLocalSnippetElement$9 } = createLocalSnippetHelper("reaction-button");
|
|
4050
4247
|
const createReactionButtonHandler = (ctx)=>defineComponentHandler(reactionButton.key, ({ componentProperties: props })=>{
|
|
4051
4248
|
const commonProps = {
|
|
4052
4249
|
size: handleSizeProp(props.Size.value),
|
|
@@ -4060,7 +4257,7 @@ const createReactionButtonHandler = (ctx)=>defineComponentHandler(reactionButton
|
|
|
4060
4257
|
defaultPressed: true
|
|
4061
4258
|
}
|
|
4062
4259
|
};
|
|
4063
|
-
return createLocalSnippetElement$
|
|
4260
|
+
return createLocalSnippetElement$9("ReactionButton", commonProps, [
|
|
4064
4261
|
createSeedReactElement("PrefixIcon", {
|
|
4065
4262
|
svg: ctx.iconHandler.transform(props["Icon#12379:0"])
|
|
4066
4263
|
}),
|
|
@@ -4069,7 +4266,7 @@ const createReactionButtonHandler = (ctx)=>defineComponentHandler(reactionButton
|
|
|
4069
4266
|
]);
|
|
4070
4267
|
});
|
|
4071
4268
|
|
|
4072
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4269
|
+
const { createLocalSnippetElement: createLocalSnippetElement$8 } = createLocalSnippetHelper("segmented-control");
|
|
4073
4270
|
const SEGMENTED_CONTROL_ITEM_KEY = "9a7ba0d4c041ddbce84ee48881788434fd6bccc8";
|
|
4074
4271
|
const createSegmentedControlItemHandler = (_ctx)=>defineComponentHandler(SEGMENTED_CONTROL_ITEM_KEY, ({ componentProperties: props })=>{
|
|
4075
4272
|
const states = props.State.value.split("-");
|
|
@@ -4079,7 +4276,7 @@ const createSegmentedControlItemHandler = (_ctx)=>defineComponentHandler(SEGMENT
|
|
|
4079
4276
|
disabled: true
|
|
4080
4277
|
}
|
|
4081
4278
|
};
|
|
4082
|
-
return createLocalSnippetElement$
|
|
4279
|
+
return createLocalSnippetElement$8("SegmentedControlItem", commonProps, props["Label#11366:15"].value);
|
|
4083
4280
|
});
|
|
4084
4281
|
const createSegmentedControlHandler = (ctx)=>{
|
|
4085
4282
|
const segmentedControlItemHandler = createSegmentedControlItemHandler();
|
|
@@ -4095,13 +4292,13 @@ const createSegmentedControlHandler = (ctx)=>{
|
|
|
4095
4292
|
defaultValue: selectedSegment.componentProperties["Label#11366:15"].value
|
|
4096
4293
|
}
|
|
4097
4294
|
};
|
|
4098
|
-
return createLocalSnippetElement$
|
|
4295
|
+
return createLocalSnippetElement$8("SegmentedControl", commonProps, segmentedControlChildren, {
|
|
4099
4296
|
comment: "aria-label이나 aria-labelledby 중 하나를 제공해야 합니다."
|
|
4100
4297
|
});
|
|
4101
4298
|
});
|
|
4102
4299
|
};
|
|
4103
4300
|
|
|
4104
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4301
|
+
const { createLocalSnippetElement: createLocalSnippetElement$7 } = createLocalSnippetHelper("select-box");
|
|
4105
4302
|
const createSelectBoxHandler = (_ctx)=>defineComponentHandler(selectBox.key, ({ componentProperties: props })=>{
|
|
4106
4303
|
const tag = tsPattern.match(props.Control.value).with("Checkbox", ()=>"CheckSelectBox").with("Radio", ()=>"RadioSelectBoxItem").exhaustive();
|
|
4107
4304
|
const commonProps = {
|
|
@@ -4116,7 +4313,7 @@ const createSelectBoxHandler = (_ctx)=>defineComponentHandler(selectBox.key, ({
|
|
|
4116
4313
|
defaultChecked: true
|
|
4117
4314
|
}
|
|
4118
4315
|
};
|
|
4119
|
-
return createLocalSnippetElement$
|
|
4316
|
+
return createLocalSnippetElement$7(tag, commonProps);
|
|
4120
4317
|
});
|
|
4121
4318
|
const createSelectBoxGroupHandler = (ctx)=>{
|
|
4122
4319
|
const selectBoxHandler = createSelectBoxHandler();
|
|
@@ -4139,7 +4336,7 @@ const createSelectBoxGroupHandler = (ctx)=>{
|
|
|
4139
4336
|
defaultValue: selectedSelectBox?.componentProperties["Label#3635:0"].value
|
|
4140
4337
|
}
|
|
4141
4338
|
};
|
|
4142
|
-
return createLocalSnippetElement$
|
|
4339
|
+
return createLocalSnippetElement$7(tag, commonProps, stack);
|
|
4143
4340
|
});
|
|
4144
4341
|
};
|
|
4145
4342
|
|
|
@@ -4153,7 +4350,91 @@ const createSkeletonHandler = (ctx)=>defineComponentHandler(skeleton.key, (node)
|
|
|
4153
4350
|
return createSeedReactElement("Skeleton", commonProps);
|
|
4154
4351
|
});
|
|
4155
4352
|
|
|
4156
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4353
|
+
const { createLocalSnippetElement: createLocalSnippetElement$6 } = createLocalSnippetHelper("slider");
|
|
4354
|
+
const SLIDER_TICK_KEY = "ace432ffb7a2af13bce549b19c932ac5f96a9a78";
|
|
4355
|
+
function getSliderComment(props) {
|
|
4356
|
+
return [
|
|
4357
|
+
"min, max, step 값을 적절히 조정해주세요.",
|
|
4358
|
+
props.markers && "markers 배열을 채워주세요.",
|
|
4359
|
+
props.ticks && "ticks 배열을 채워주세요."
|
|
4360
|
+
].filter(Boolean).join(" ");
|
|
4361
|
+
}
|
|
4362
|
+
const createSliderFieldHandler = (ctx)=>{
|
|
4363
|
+
const sliderHandler = createSliderHandler();
|
|
4364
|
+
const fieldHeaderHandler = createFieldHeaderHandler();
|
|
4365
|
+
const fieldFooterHandler = createFieldFooterHandler();
|
|
4366
|
+
return defineComponentHandler(templateSliderField.key, (node, traverse)=>{
|
|
4367
|
+
const props = node.componentProperties;
|
|
4368
|
+
const [slider$1] = findAllInstances({
|
|
4369
|
+
node,
|
|
4370
|
+
key: slider.key
|
|
4371
|
+
});
|
|
4372
|
+
const [fieldHeader] = findAllInstances({
|
|
4373
|
+
node,
|
|
4374
|
+
key: FIELD_KEYS.HEADER
|
|
4375
|
+
});
|
|
4376
|
+
const [fieldFooter] = findAllInstances({
|
|
4377
|
+
node,
|
|
4378
|
+
key: FIELD_KEYS.FOOTER
|
|
4379
|
+
});
|
|
4380
|
+
const sliderProps = sliderHandler.transform(slider$1, traverse).props;
|
|
4381
|
+
// maxGraphemeCount and required can't be props of Slider
|
|
4382
|
+
const { required: __required, ...headerProps } = props["Show Header#40606:8"].value && fieldHeader ? fieldHeaderHandler.transform(fieldHeader, traverse).props : {};
|
|
4383
|
+
const { maxGraphemeCount: __maxGraphemeCount, ...footerProps } = props["Show Footer#40606:9"].value && fieldFooter ? fieldFooterHandler.transform(fieldFooter, traverse).props : {};
|
|
4384
|
+
const commonProps = {
|
|
4385
|
+
...sliderProps,
|
|
4386
|
+
...headerProps,
|
|
4387
|
+
...footerProps
|
|
4388
|
+
};
|
|
4389
|
+
return createLocalSnippetElement$6("Slider", commonProps, undefined, {
|
|
4390
|
+
comment: getSliderComment(commonProps)
|
|
4391
|
+
});
|
|
4392
|
+
});
|
|
4393
|
+
};
|
|
4394
|
+
const createSliderHandler = (_ctx)=>{
|
|
4395
|
+
return defineComponentHandler(slider.key, (node)=>{
|
|
4396
|
+
const { componentProperties: props } = node;
|
|
4397
|
+
const { min, max, defaultValues } = tsPattern.match(props.Value.value).with("Single", ()=>({
|
|
4398
|
+
min: 0,
|
|
4399
|
+
max: 100,
|
|
4400
|
+
defaultValues: [
|
|
4401
|
+
50
|
|
4402
|
+
]
|
|
4403
|
+
})).with("Range", ()=>({
|
|
4404
|
+
min: 0,
|
|
4405
|
+
max: 100,
|
|
4406
|
+
defaultValues: [
|
|
4407
|
+
0,
|
|
4408
|
+
50
|
|
4409
|
+
]
|
|
4410
|
+
})).exhaustive();
|
|
4411
|
+
const [ticks] = findAllInstances({
|
|
4412
|
+
node,
|
|
4413
|
+
key: SLIDER_TICK_KEY
|
|
4414
|
+
});
|
|
4415
|
+
const commonProps = {
|
|
4416
|
+
min,
|
|
4417
|
+
max,
|
|
4418
|
+
defaultValues,
|
|
4419
|
+
hideRange: props["Show Active Track#48156:0"].value === false,
|
|
4420
|
+
...props["Show Markers#49596:0"].value === true && {
|
|
4421
|
+
markers: []
|
|
4422
|
+
},
|
|
4423
|
+
...props["Has Tick Mark#47921:0"].value === true && ticks && {
|
|
4424
|
+
ticks: [],
|
|
4425
|
+
tickWeight: ticks.componentProperties.Type.value === "Discrete" ? "thick" : "thin"
|
|
4426
|
+
},
|
|
4427
|
+
...props.State.value === "Disabled" && {
|
|
4428
|
+
disabled: true
|
|
4429
|
+
}
|
|
4430
|
+
};
|
|
4431
|
+
return createLocalSnippetElement$6("Slider", commonProps, undefined, {
|
|
4432
|
+
comment: getSliderComment(commonProps)
|
|
4433
|
+
});
|
|
4434
|
+
});
|
|
4435
|
+
};
|
|
4436
|
+
|
|
4437
|
+
const { createLocalSnippetElement: createLocalSnippetElement$5 } = createLocalSnippetHelper("snackbar");
|
|
4157
4438
|
const createSnackbarHandler = (_ctx)=>defineComponentHandler(snackbar.key, ({ componentProperties: props })=>{
|
|
4158
4439
|
const commonProps = {
|
|
4159
4440
|
message: props["Message#1528:4"].value,
|
|
@@ -4163,20 +4444,20 @@ const createSnackbarHandler = (_ctx)=>defineComponentHandler(snackbar.key, ({ co
|
|
|
4163
4444
|
}
|
|
4164
4445
|
};
|
|
4165
4446
|
// TODO: adapter.create({ render })
|
|
4166
|
-
return createLocalSnippetElement$
|
|
4447
|
+
return createLocalSnippetElement$5("Snackbar", commonProps);
|
|
4167
4448
|
});
|
|
4168
4449
|
|
|
4169
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4450
|
+
const { createLocalSnippetElement: createLocalSnippetElement$4 } = createLocalSnippetHelper("switch");
|
|
4170
4451
|
const createSwitchMarkHandler = (_ctx)=>defineComponentHandler(switchMark.key, ({ componentProperties: props })=>{
|
|
4171
4452
|
const tone = tsPattern.match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated] Brand", ()=>"brand").exhaustive();
|
|
4172
4453
|
const commonProps = {
|
|
4173
4454
|
tone,
|
|
4174
4455
|
size: props.Size.value
|
|
4175
4456
|
};
|
|
4176
|
-
return createLocalSnippetElement$
|
|
4457
|
+
return createLocalSnippetElement$4("SwitchMark", commonProps);
|
|
4177
4458
|
});
|
|
4178
4459
|
|
|
4179
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4460
|
+
const { createLocalSnippetElement: createLocalSnippetElement$3 } = createLocalSnippetHelper("switch");
|
|
4180
4461
|
const createSwitchHandler = (_ctx)=>defineComponentHandler(_switch.key, ({ componentProperties: props })=>{
|
|
4181
4462
|
const tone = tsPattern.match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated] Brand", ()=>"brand").exhaustive();
|
|
4182
4463
|
const commonProps = {
|
|
@@ -4184,9 +4465,9 @@ const createSwitchHandler = (_ctx)=>defineComponentHandler(_switch.key, ({ compo
|
|
|
4184
4465
|
size: props.Size.value
|
|
4185
4466
|
};
|
|
4186
4467
|
if (props["Layout(Figma Only)"].value === "🚫[Switch Mark 사용] Switch Only") {
|
|
4187
|
-
return createLocalSnippetElement$
|
|
4468
|
+
return createLocalSnippetElement$3("SwitchMark", commonProps);
|
|
4188
4469
|
}
|
|
4189
|
-
return createLocalSnippetElement$
|
|
4470
|
+
return createLocalSnippetElement$3("Switch", {
|
|
4190
4471
|
...commonProps,
|
|
4191
4472
|
label: props["Label#36578:0"].value,
|
|
4192
4473
|
...props.Selected.value === "True" && {
|
|
@@ -4407,8 +4688,264 @@ const createChipTabsTriggerHandler = (_ctx)=>defineComponentHandler(CHIP_TRIGGER
|
|
|
4407
4688
|
return createChipTabsLocalSnippetElement("ChipTabsTrigger", commonProps);
|
|
4408
4689
|
});
|
|
4409
4690
|
|
|
4410
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4411
|
-
const
|
|
4691
|
+
const { createLocalSnippetElement: createLocalSnippetElement$2 } = createLocalSnippetHelper("text-field");
|
|
4692
|
+
const TEXT_INPUT_OUTLINE_KEY = "22eebd645d310c086d9f5f69d8f179ff5c7cf7ca";
|
|
4693
|
+
const TEXT_INPUT_OUTLINE_PREFIX_KEY = "1ab174dd51bc42a5efe530f52f1dd02255c50b18";
|
|
4694
|
+
const TEXT_INPUT_OUTLINE_SUFFIX_KEY = "555fee288d9053760e301791665bbac31d19c43f";
|
|
4695
|
+
const TEXT_INPUT_UNDERLINE_KEY = "16e9e343fc319190149369bd61076d6415e09a8a";
|
|
4696
|
+
const TEXT_INPUT_UNDERLINE_PREFIX_KEY = "a7ceae43b6daf4490e8ab408d2c29fb63b2eb891";
|
|
4697
|
+
const TEXT_INPUT_UNDERLINE_SUFFIX_KEY = "1b88368820be61f358e24a8aaa601e7f2a2ea101";
|
|
4698
|
+
const TEXTAREA_KEY = "22bb206483f00cd635188eea6ae8a6aac058b5d5";
|
|
4699
|
+
const createTextInputFieldHandler = (ctx)=>{
|
|
4700
|
+
const fieldHeaderHandler = createFieldHeaderHandler();
|
|
4701
|
+
const fieldFooterHandler = createFieldFooterHandler();
|
|
4702
|
+
return defineComponentHandler(templateTextField.key, (node, traverse)=>{
|
|
4703
|
+
const props = node.componentProperties;
|
|
4704
|
+
const [textInputOutline] = findAllInstances({
|
|
4705
|
+
node,
|
|
4706
|
+
key: TEXT_INPUT_OUTLINE_KEY
|
|
4707
|
+
});
|
|
4708
|
+
const [textInputUnderline] = findAllInstances({
|
|
4709
|
+
node,
|
|
4710
|
+
key: TEXT_INPUT_UNDERLINE_KEY
|
|
4711
|
+
});
|
|
4712
|
+
const [fieldHeader] = findAllInstances({
|
|
4713
|
+
node,
|
|
4714
|
+
key: FIELD_KEYS.HEADER
|
|
4715
|
+
});
|
|
4716
|
+
const [fieldFooter] = findAllInstances({
|
|
4717
|
+
node,
|
|
4718
|
+
key: FIELD_KEYS.FOOTER
|
|
4719
|
+
});
|
|
4720
|
+
const fieldProps = {
|
|
4721
|
+
...props["Show Header#40606:8"].value && fieldHeader ? fieldHeaderHandler.transform(fieldHeader, traverse).props : {},
|
|
4722
|
+
...props["Show Footer#40606:9"].value && fieldFooter ? fieldFooterHandler.transform(fieldFooter, traverse).props : {}
|
|
4723
|
+
};
|
|
4724
|
+
const commonProps = (()=>{
|
|
4725
|
+
if (textInputOutline) {
|
|
4726
|
+
const [prefix] = findAllInstances({
|
|
4727
|
+
node: textInputOutline,
|
|
4728
|
+
key: TEXT_INPUT_OUTLINE_PREFIX_KEY
|
|
4729
|
+
});
|
|
4730
|
+
const [suffix] = findAllInstances({
|
|
4731
|
+
node: textInputOutline,
|
|
4732
|
+
key: TEXT_INPUT_OUTLINE_SUFFIX_KEY
|
|
4733
|
+
});
|
|
4734
|
+
return {
|
|
4735
|
+
variant: "outline",
|
|
4736
|
+
...textInputOutline.componentProperties.State.value === "Disabled" && {
|
|
4737
|
+
disabled: true
|
|
4738
|
+
},
|
|
4739
|
+
...textInputOutline.componentProperties.State.value === "Read Only" && {
|
|
4740
|
+
readOnly: true
|
|
4741
|
+
},
|
|
4742
|
+
...textInputOutline.componentProperties.State.value === "Error" && {
|
|
4743
|
+
invalid: true
|
|
4744
|
+
},
|
|
4745
|
+
...textInputOutline.componentProperties.State.value === "Error Focused" && {
|
|
4746
|
+
invalid: true
|
|
4747
|
+
},
|
|
4748
|
+
...textInputOutline.componentProperties["Has Prefix#32514:10"].value === true && prefix && prefix.componentProperties.Type.value === "Icon" && {
|
|
4749
|
+
prefixIcon: ctx.iconHandler.transform(prefix.componentProperties["Icon#34021:2"])
|
|
4750
|
+
},
|
|
4751
|
+
...textInputOutline.componentProperties["Has Suffix#32865:68"].value === true && suffix && suffix.componentProperties["Type (Figma Only)"].value === "Icon" && {
|
|
4752
|
+
suffixIcon: ctx.iconHandler.transform(suffix.componentProperties["Icon#45391:0"])
|
|
4753
|
+
},
|
|
4754
|
+
...textInputOutline.componentProperties["Has Suffix#32865:68"].value === true && suffix && suffix.componentProperties["Type (Figma Only)"].value === "Text" && {
|
|
4755
|
+
suffix: suffix.componentProperties["Suffix Text#34021:4"].value
|
|
4756
|
+
}
|
|
4757
|
+
};
|
|
4758
|
+
}
|
|
4759
|
+
if (textInputUnderline) {
|
|
4760
|
+
const [prefix] = findAllInstances({
|
|
4761
|
+
node: textInputUnderline,
|
|
4762
|
+
key: TEXT_INPUT_UNDERLINE_PREFIX_KEY
|
|
4763
|
+
});
|
|
4764
|
+
const [suffix] = findAllInstances({
|
|
4765
|
+
node: textInputUnderline,
|
|
4766
|
+
key: TEXT_INPUT_UNDERLINE_SUFFIX_KEY
|
|
4767
|
+
});
|
|
4768
|
+
return {
|
|
4769
|
+
variant: "underline",
|
|
4770
|
+
...textInputUnderline.componentProperties.State.value === "Disabled" && {
|
|
4771
|
+
disabled: true
|
|
4772
|
+
},
|
|
4773
|
+
...textInputUnderline.componentProperties.State.value === "Read Only" && {
|
|
4774
|
+
readOnly: true
|
|
4775
|
+
},
|
|
4776
|
+
...textInputUnderline.componentProperties.State.value === "Error" && {
|
|
4777
|
+
invalid: true
|
|
4778
|
+
},
|
|
4779
|
+
...textInputUnderline.componentProperties.State.value === "Error Focused" && {
|
|
4780
|
+
invalid: true
|
|
4781
|
+
},
|
|
4782
|
+
...textInputUnderline.componentProperties["Has Prefix#34125:0"].value === true && prefix && prefix.componentProperties.Type.value === "Icon" && {
|
|
4783
|
+
prefixIcon: ctx.iconHandler.transform(prefix.componentProperties["Icon#34021:2"])
|
|
4784
|
+
},
|
|
4785
|
+
...textInputUnderline.componentProperties["Has Suffix#34125:8"].value === true && suffix && suffix.componentProperties["Type (Figma Only)"].value === "Icon" && {
|
|
4786
|
+
suffixIcon: ctx.iconHandler.transform(suffix.componentProperties["Icon#45391:5"])
|
|
4787
|
+
},
|
|
4788
|
+
...textInputUnderline.componentProperties["Has Suffix#34125:8"].value === true && suffix && suffix.componentProperties["Type (Figma Only)"].value === "Text" && {
|
|
4789
|
+
suffix: suffix.componentProperties["Suffix Text#34021:4"].value
|
|
4790
|
+
}
|
|
4791
|
+
};
|
|
4792
|
+
}
|
|
4793
|
+
return {};
|
|
4794
|
+
})();
|
|
4795
|
+
// these can be fragile but better than having 9 different handlers
|
|
4796
|
+
const placeholder = findOne(node, (node)=>node.type === "TEXT" && node.name.toLowerCase().includes("placeholder"));
|
|
4797
|
+
const value = findOne(node, (node)=>node.type === "TEXT" && node.name.toLowerCase().includes("value"));
|
|
4798
|
+
const inputProps = {
|
|
4799
|
+
...placeholder && {
|
|
4800
|
+
placeholder: placeholder.characters
|
|
4801
|
+
}
|
|
4802
|
+
};
|
|
4803
|
+
return createLocalSnippetElement$2("TextField", {
|
|
4804
|
+
...fieldProps,
|
|
4805
|
+
...commonProps,
|
|
4806
|
+
...value && {
|
|
4807
|
+
defaultValue: value.characters
|
|
4808
|
+
}
|
|
4809
|
+
}, createLocalSnippetElement$2("TextFieldInput", inputProps));
|
|
4810
|
+
});
|
|
4811
|
+
};
|
|
4812
|
+
const createTextareaFieldHandler = (ctx)=>{
|
|
4813
|
+
const fieldHeaderHandler = createFieldHeaderHandler();
|
|
4814
|
+
const fieldFooterHandler = createFieldFooterHandler();
|
|
4815
|
+
return defineComponentHandler(templateTextareaField.key, (node, traverse)=>{
|
|
4816
|
+
const [textarea] = findAllInstances({
|
|
4817
|
+
node,
|
|
4818
|
+
key: TEXTAREA_KEY
|
|
4819
|
+
});
|
|
4820
|
+
const [fieldHeader] = findAllInstances({
|
|
4821
|
+
node,
|
|
4822
|
+
key: FIELD_KEYS.HEADER
|
|
4823
|
+
});
|
|
4824
|
+
const [fieldFooter] = findAllInstances({
|
|
4825
|
+
node,
|
|
4826
|
+
key: FIELD_KEYS.FOOTER
|
|
4827
|
+
});
|
|
4828
|
+
const fieldProps = {
|
|
4829
|
+
...fieldHeader ? fieldHeaderHandler.transform(fieldHeader, traverse).props : {},
|
|
4830
|
+
...fieldFooter ? fieldFooterHandler.transform(fieldFooter, traverse).props : {}
|
|
4831
|
+
};
|
|
4832
|
+
// these can be fragile but better than having 9 different handlers
|
|
4833
|
+
const placeholder = findOne(node, (node)=>node.type === "TEXT" && node.name.toLowerCase().includes("placeholder"));
|
|
4834
|
+
const value = findOne(node, (node)=>node.type === "TEXT" && node.name.toLowerCase().includes("value"));
|
|
4835
|
+
const inputProps = {
|
|
4836
|
+
autoresize: textarea.componentProperties["Auto Size (Figma Only)"].value === "true",
|
|
4837
|
+
...placeholder && {
|
|
4838
|
+
placeholder: placeholder.characters
|
|
4839
|
+
}
|
|
4840
|
+
};
|
|
4841
|
+
const commonProps = {
|
|
4842
|
+
...textarea.componentProperties.State.value === "Disabled" && {
|
|
4843
|
+
disabled: true
|
|
4844
|
+
},
|
|
4845
|
+
...textarea.componentProperties.State.value === "Read Only" && {
|
|
4846
|
+
readOnly: true
|
|
4847
|
+
},
|
|
4848
|
+
...value && {
|
|
4849
|
+
defaultValue: value.characters
|
|
4850
|
+
}
|
|
4851
|
+
};
|
|
4852
|
+
return createLocalSnippetElement$2("TextField", {
|
|
4853
|
+
...fieldProps,
|
|
4854
|
+
...commonProps
|
|
4855
|
+
}, createLocalSnippetElement$2("TextFieldTextarea", inputProps));
|
|
4856
|
+
});
|
|
4857
|
+
};
|
|
4858
|
+
|
|
4859
|
+
const { createLocalSnippetElement: createLocalSnippetElement$1 } = createLocalSnippetHelper("toggle-button");
|
|
4860
|
+
const createToggleButtonHandler = (ctx)=>defineComponentHandler(toggleButton.key, ({ componentProperties: props })=>{
|
|
4861
|
+
const commonProps = {
|
|
4862
|
+
variant: changeCase.camelCase(props.Variant.value),
|
|
4863
|
+
size: handleSizeProp(props.Size.value),
|
|
4864
|
+
...props.Selected.value === "True" && {
|
|
4865
|
+
defaultPressed: true
|
|
4866
|
+
},
|
|
4867
|
+
...props.State.value === "Disabled" && {
|
|
4868
|
+
disabled: true
|
|
4869
|
+
},
|
|
4870
|
+
...props.State.value === "Loading" && {
|
|
4871
|
+
loading: true
|
|
4872
|
+
}
|
|
4873
|
+
};
|
|
4874
|
+
return createLocalSnippetElement$1("ToggleButton", commonProps, [
|
|
4875
|
+
props["Show Prefix Icon#6122:392"].value ? createSeedReactElement("PrefixIcon", {
|
|
4876
|
+
svg: ctx.iconHandler.transform(props["Prefix Icon#6122:98"])
|
|
4877
|
+
}) : undefined,
|
|
4878
|
+
props["Label#6122:49"].value,
|
|
4879
|
+
props["Show Suffix Icon#6122:147"].value ? createSeedReactElement("SuffixIcon", {
|
|
4880
|
+
svg: ctx.iconHandler.transform(props["Suffix Icon#6122:343"])
|
|
4881
|
+
}) : undefined
|
|
4882
|
+
]);
|
|
4883
|
+
});
|
|
4884
|
+
|
|
4885
|
+
const createTagGroupHandler = (ctx)=>{
|
|
4886
|
+
const itemHandler = createTagGroupItemHandler(ctx);
|
|
4887
|
+
return defineComponentHandler(tagGroup.key, (node, traverse)=>{
|
|
4888
|
+
const itemNodes = findAllInstances({
|
|
4889
|
+
node,
|
|
4890
|
+
key: TAG_GROUP_ITEM_KEY
|
|
4891
|
+
});
|
|
4892
|
+
const items = itemNodes.map((itemNode)=>itemHandler.transform(itemNode, traverse));
|
|
4893
|
+
if (items.length === 0) {
|
|
4894
|
+
return createSeedReactElement("TagGroup.Root");
|
|
4895
|
+
}
|
|
4896
|
+
// if size/weight/tone are all the same among item[n].props, lift them up to TagGroup.Root
|
|
4897
|
+
const consistent = {
|
|
4898
|
+
size: items.map((item)=>item.props.size).every((size)=>size === items[0].props.size),
|
|
4899
|
+
weight: items.map((item)=>item.props.weight).every((weight)=>weight === items[0].props.weight),
|
|
4900
|
+
tone: items.map((item)=>item.props.tone).every((tone)=>tone === items[0].props.tone)
|
|
4901
|
+
};
|
|
4902
|
+
return createSeedReactElement("TagGroup.Root", {
|
|
4903
|
+
// lift up consistent props
|
|
4904
|
+
...consistent.size && {
|
|
4905
|
+
size: items[0].props.size
|
|
4906
|
+
},
|
|
4907
|
+
...consistent.weight && {
|
|
4908
|
+
weight: items[0].props.weight
|
|
4909
|
+
},
|
|
4910
|
+
...consistent.tone && {
|
|
4911
|
+
tone: items[0].props.tone
|
|
4912
|
+
}
|
|
4913
|
+
}, items.map((item)=>({
|
|
4914
|
+
...item,
|
|
4915
|
+
props: {
|
|
4916
|
+
// remove lifted props
|
|
4917
|
+
...item.props,
|
|
4918
|
+
size: consistent.size ? undefined : item.props.size,
|
|
4919
|
+
weight: consistent.weight ? undefined : item.props.weight,
|
|
4920
|
+
tone: consistent.tone ? undefined : item.props.tone
|
|
4921
|
+
}
|
|
4922
|
+
})));
|
|
4923
|
+
});
|
|
4924
|
+
};
|
|
4925
|
+
const TAG_GROUP_ITEM_KEY = "a7bbc318919053f96be00e509469f6294d6bb6bb";
|
|
4926
|
+
const createTagGroupItemHandler = (ctx)=>defineComponentHandler(TAG_GROUP_ITEM_KEY, ({ componentProperties: props })=>{
|
|
4927
|
+
const size = tsPattern.match(props.Size.value).with("t2(12pt)", ()=>"t2").with("t3(13pt)", ()=>"t3").with("t4(14pt)", ()=>"t4").exhaustive();
|
|
4928
|
+
const commonProps = {
|
|
4929
|
+
size,
|
|
4930
|
+
weight: changeCase.camelCase(props["Weight"].value),
|
|
4931
|
+
tone: changeCase.camelCase(props["Tone"].value)
|
|
4932
|
+
};
|
|
4933
|
+
const children = [
|
|
4934
|
+
props.Layout.value === "Icon First" ? createSeedReactElement("PrefixIcon", {
|
|
4935
|
+
svg: ctx.iconHandler.transform(props["Prefix Icon#47948:0"])
|
|
4936
|
+
}) : undefined,
|
|
4937
|
+
props["Label#5409:0"].value,
|
|
4938
|
+
props.Layout.value === "Icon Last" ? createSeedReactElement("SuffixIcon", {
|
|
4939
|
+
svg: ctx.iconHandler.transform(props["Suffix Icon#47948:55"])
|
|
4940
|
+
}) : undefined
|
|
4941
|
+
].filter(Boolean);
|
|
4942
|
+
return createSeedReactElement("TagGroup.Item", commonProps, children);
|
|
4943
|
+
});
|
|
4944
|
+
|
|
4945
|
+
const { createLocalSnippetElement } = createLocalSnippetHelper("text-field");
|
|
4946
|
+
const LEGACY_TEXT_FIELD_KEY = "c49873c37a639f0dffdea4efd0eb43760d66c141";
|
|
4947
|
+
const LEGACY_MULTILINE_TEXT_FIELD_KEY = "88b2399c930c85f9ce2972163a078bc684b84bbe";
|
|
4948
|
+
const createLegacyTextFieldHandler = (ctx)=>defineComponentHandler(LEGACY_TEXT_FIELD_KEY, ({ componentProperties: props })=>{
|
|
4412
4949
|
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;
|
|
4413
4950
|
const states = state.split("-");
|
|
4414
4951
|
const commonProps = {
|
|
@@ -4462,94 +4999,56 @@ const createTextFieldHandler = (ctx)=>defineComponentHandler(textField.key, ({ c
|
|
|
4462
4999
|
const inputProps = {
|
|
4463
5000
|
placeholder
|
|
4464
5001
|
};
|
|
4465
|
-
const TextFieldChildren = createLocalSnippetElement
|
|
4466
|
-
return createLocalSnippetElement
|
|
5002
|
+
const TextFieldChildren = createLocalSnippetElement("TextFieldInput", inputProps);
|
|
5003
|
+
return createLocalSnippetElement("TextField", commonProps, TextFieldChildren, {
|
|
5004
|
+
comment: "이 Figma 컴포넌트는 @seed-design/react@1.1보다 낮은 버전의 TextField입니다."
|
|
5005
|
+
});
|
|
4467
5006
|
});
|
|
4468
|
-
|
|
4469
|
-
const {
|
|
4470
|
-
const
|
|
5007
|
+
const createLegacyMultilineTextFieldHandler = (_ctx)=>defineComponentHandler(LEGACY_MULTILINE_TEXT_FIELD_KEY, ({ componentProperties: props })=>{
|
|
5008
|
+
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;
|
|
5009
|
+
const states = state.split("-");
|
|
4471
5010
|
const commonProps = {
|
|
4472
|
-
|
|
4473
|
-
|
|
4474
|
-
...
|
|
4475
|
-
|
|
4476
|
-
},
|
|
4477
|
-
...props.State.value === "Disabled" && {
|
|
4478
|
-
disabled: true
|
|
5011
|
+
size: handleSizeProp(size),
|
|
5012
|
+
// header
|
|
5013
|
+
...showHeader && {
|
|
5014
|
+
label
|
|
4479
5015
|
},
|
|
4480
|
-
...
|
|
4481
|
-
|
|
4482
|
-
}
|
|
4483
|
-
};
|
|
4484
|
-
return createLocalSnippetElement("ToggleButton", commonProps, [
|
|
4485
|
-
props["Show Prefix Icon#6122:392"].value ? createSeedReactElement("PrefixIcon", {
|
|
4486
|
-
svg: ctx.iconHandler.transform(props["Prefix Icon#6122:98"])
|
|
4487
|
-
}) : undefined,
|
|
4488
|
-
props["Label#6122:49"].value,
|
|
4489
|
-
props["Show Suffix Icon#6122:147"].value ? createSeedReactElement("SuffixIcon", {
|
|
4490
|
-
svg: ctx.iconHandler.transform(props["Suffix Icon#6122:343"])
|
|
4491
|
-
}) : undefined
|
|
4492
|
-
]);
|
|
4493
|
-
});
|
|
4494
|
-
|
|
4495
|
-
const createTagGroupHandler = (ctx)=>{
|
|
4496
|
-
const itemHandler = createTagGroupItemHandler(ctx);
|
|
4497
|
-
return defineComponentHandler(tagGroup.key, (node, traverse)=>{
|
|
4498
|
-
const itemNodes = findAllInstances({
|
|
4499
|
-
node,
|
|
4500
|
-
key: TAG_GROUP_ITEM_KEY
|
|
4501
|
-
});
|
|
4502
|
-
const items = itemNodes.map((itemNode)=>itemHandler.transform(itemNode, traverse));
|
|
4503
|
-
if (items.length === 0) {
|
|
4504
|
-
return createSeedReactElement("TagGroup.Root");
|
|
4505
|
-
}
|
|
4506
|
-
// if size/weight/tone are all the same among item[n].props, lift them up to TagGroup.Root
|
|
4507
|
-
const consistent = {
|
|
4508
|
-
size: items.map((item)=>item.props.size).every((size)=>size === items[0].props.size),
|
|
4509
|
-
weight: items.map((item)=>item.props.weight).every((weight)=>weight === items[0].props.weight),
|
|
4510
|
-
tone: items.map((item)=>item.props.tone).every((tone)=>tone === items[0].props.tone)
|
|
4511
|
-
};
|
|
4512
|
-
return createSeedReactElement("TagGroup.Root", {
|
|
4513
|
-
// lift up consistent props
|
|
4514
|
-
...consistent.size && {
|
|
4515
|
-
size: items[0].props.size
|
|
5016
|
+
...showHeader && showIndicator && {
|
|
5017
|
+
indicator
|
|
4516
5018
|
},
|
|
4517
|
-
|
|
4518
|
-
|
|
5019
|
+
// input
|
|
5020
|
+
...filled === "True" && {
|
|
5021
|
+
defaultValue
|
|
4519
5022
|
},
|
|
4520
|
-
...
|
|
4521
|
-
|
|
5023
|
+
...states.includes("Invalid") && {
|
|
5024
|
+
invalid: true
|
|
5025
|
+
},
|
|
5026
|
+
...states.includes("Disabled") && {
|
|
5027
|
+
disabled: true
|
|
5028
|
+
},
|
|
5029
|
+
...states.includes("Read Only") && {
|
|
5030
|
+
readOnly: true
|
|
5031
|
+
},
|
|
5032
|
+
// footer
|
|
5033
|
+
...showFooter && showDescription && states.includes("Invalid") && {
|
|
5034
|
+
// invalid인 경우 description을 error로 사용
|
|
5035
|
+
errorMessage: description
|
|
5036
|
+
},
|
|
5037
|
+
...showFooter && showDescription && !states.includes("Invalid") && {
|
|
5038
|
+
// invalid가 아닌 경우 description을 description으로 사용
|
|
5039
|
+
description
|
|
5040
|
+
},
|
|
5041
|
+
...showFooter && showCharacterCount && {
|
|
5042
|
+
maxGraphemeCount: Number(maxCharacterCount)
|
|
4522
5043
|
}
|
|
4523
|
-
}, items.map((item)=>({
|
|
4524
|
-
...item,
|
|
4525
|
-
props: {
|
|
4526
|
-
// remove lifted props
|
|
4527
|
-
...item.props,
|
|
4528
|
-
size: consistent.size ? undefined : item.props.size,
|
|
4529
|
-
weight: consistent.weight ? undefined : item.props.weight,
|
|
4530
|
-
tone: consistent.tone ? undefined : item.props.tone
|
|
4531
|
-
}
|
|
4532
|
-
})));
|
|
4533
|
-
});
|
|
4534
|
-
};
|
|
4535
|
-
const TAG_GROUP_ITEM_KEY = "a7bbc318919053f96be00e509469f6294d6bb6bb";
|
|
4536
|
-
const createTagGroupItemHandler = (ctx)=>defineComponentHandler(TAG_GROUP_ITEM_KEY, ({ componentProperties: props })=>{
|
|
4537
|
-
const size = tsPattern.match(props.Size.value).with("t2(12pt)", ()=>"t2").with("t3(13pt)", ()=>"t3").with("t4(14pt)", ()=>"t4").exhaustive();
|
|
4538
|
-
const commonProps = {
|
|
4539
|
-
size,
|
|
4540
|
-
weight: changeCase.camelCase(props["Weight"].value),
|
|
4541
|
-
tone: changeCase.camelCase(props["Tone"].value)
|
|
4542
5044
|
};
|
|
4543
|
-
const
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
}) : undefined
|
|
4551
|
-
].filter(Boolean);
|
|
4552
|
-
return createSeedReactElement("TagGroup.Item", commonProps, children);
|
|
5045
|
+
const inputProps = {
|
|
5046
|
+
placeholder
|
|
5047
|
+
};
|
|
5048
|
+
const TextFieldChildren = createLocalSnippetElement("TextFieldTextarea", inputProps);
|
|
5049
|
+
return createLocalSnippetElement("TextField", commonProps, TextFieldChildren, {
|
|
5050
|
+
comment: "이 Figma 컴포넌트는 @seed-design/react@1.1보다 낮은 버전의 TextField입니다."
|
|
5051
|
+
});
|
|
4553
5052
|
});
|
|
4554
5053
|
|
|
4555
5054
|
function bindComponentHandler(unbound, deps) {
|
|
@@ -4558,19 +5057,42 @@ function bindComponentHandler(unbound, deps) {
|
|
|
4558
5057
|
const unboundSeedComponentHandlers = [
|
|
4559
5058
|
createActionButtonGhostHandler,
|
|
4560
5059
|
createActionButtonHandler,
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
5060
|
+
createTextInputFieldHandler,
|
|
5061
|
+
createTextareaFieldHandler,
|
|
5062
|
+
createLegacyTextFieldHandler,
|
|
5063
|
+
createLegacyMultilineTextFieldHandler,
|
|
4565
5064
|
createBadgeHandler,
|
|
4566
|
-
|
|
5065
|
+
createChipHandler,
|
|
4567
5066
|
createCalloutHandler,
|
|
5067
|
+
createPageBannerHandler,
|
|
4568
5068
|
createCheckboxHandler,
|
|
4569
5069
|
createCheckmarkHandler,
|
|
4570
|
-
|
|
4571
|
-
|
|
5070
|
+
createRadioGroupItemHandler,
|
|
5071
|
+
createRadioMarkHandler,
|
|
5072
|
+
createSwitchHandler,
|
|
5073
|
+
createSwitchMarkHandler,
|
|
5074
|
+
createAlertDialogHandler,
|
|
4572
5075
|
createDividerHandler,
|
|
5076
|
+
createAvatarHandler,
|
|
5077
|
+
createAvatarStackHandler,
|
|
5078
|
+
createSegmentedControlHandler,
|
|
5079
|
+
createSelectBoxGroupHandler,
|
|
5080
|
+
createSelectBoxHandler,
|
|
5081
|
+
createSliderHandler,
|
|
5082
|
+
createSliderFieldHandler,
|
|
5083
|
+
createTabsHandler,
|
|
5084
|
+
createTagGroupHandler,
|
|
5085
|
+
createTagGroupItemHandler,
|
|
5086
|
+
createToggleButtonHandler,
|
|
5087
|
+
createAppBarHandler,
|
|
5088
|
+
createBottomSheetHandler,
|
|
5089
|
+
createFieldButtonHandler,
|
|
5090
|
+
createAddressFieldHandler,
|
|
5091
|
+
createDatePickerFieldHandler,
|
|
5092
|
+
createSelectFieldHandler,
|
|
5093
|
+
createTimePickerFieldHandler,
|
|
4573
5094
|
createErrorStateHandler,
|
|
5095
|
+
createContextualFloatingButtonHandler,
|
|
4574
5096
|
createFloatingActionButtonHandler,
|
|
4575
5097
|
createHelpBubbleHandler,
|
|
4576
5098
|
createIdentityPlaceholderHandler,
|
|
@@ -4579,24 +5101,10 @@ const unboundSeedComponentHandlers = [
|
|
|
4579
5101
|
createMannerTempBadgeHandler,
|
|
4580
5102
|
createMannerTempHandler,
|
|
4581
5103
|
createMenuSheetHandler,
|
|
4582
|
-
createMultilineTextFieldHandler,
|
|
4583
|
-
createPageBannerHandler,
|
|
4584
5104
|
createProgressCircleHandler,
|
|
4585
|
-
createRadioGroupItemHandler,
|
|
4586
|
-
createRadioMarkHandler,
|
|
4587
5105
|
createReactionButtonHandler,
|
|
4588
|
-
createSegmentedControlHandler,
|
|
4589
|
-
createSelectBoxGroupHandler,
|
|
4590
|
-
createSelectBoxHandler,
|
|
4591
5106
|
createSkeletonHandler,
|
|
4592
|
-
createSnackbarHandler
|
|
4593
|
-
createSwitchHandler,
|
|
4594
|
-
createSwitchMarkHandler,
|
|
4595
|
-
createTabsHandler,
|
|
4596
|
-
createTagGroupHandler,
|
|
4597
|
-
createTagGroupItemHandler,
|
|
4598
|
-
createTextFieldHandler,
|
|
4599
|
-
createToggleButtonHandler
|
|
5107
|
+
createSnackbarHandler
|
|
4600
5108
|
];
|
|
4601
5109
|
|
|
4602
5110
|
function createStaticIconRepository(iconRecord) {
|
|
@@ -5996,6 +6504,16 @@ const FIGMA_ICONS = {
|
|
|
5996
6504
|
"type": "monochrome",
|
|
5997
6505
|
"weight": "Line"
|
|
5998
6506
|
},
|
|
6507
|
+
"8c85104333ba7cc69fc866b41770316a6bd226d9": {
|
|
6508
|
+
"name": "icon_grid_dot5",
|
|
6509
|
+
"type": "monochrome",
|
|
6510
|
+
"weight": "Fill"
|
|
6511
|
+
},
|
|
6512
|
+
"29482f6a02c7c0fe2d714271ca540c197e2c5e9a": {
|
|
6513
|
+
"name": "icon_grid_dot5",
|
|
6514
|
+
"type": "monochrome",
|
|
6515
|
+
"weight": "Line"
|
|
6516
|
+
},
|
|
5999
6517
|
"94396773c3208ff19b7650bb7f48de6600492c83": {
|
|
6000
6518
|
"name": "icon_grid_heart",
|
|
6001
6519
|
"type": "monochrome",
|
|
@@ -6386,6 +6904,16 @@ const FIGMA_ICONS = {
|
|
|
6386
6904
|
"type": "monochrome",
|
|
6387
6905
|
"weight": "Line"
|
|
6388
6906
|
},
|
|
6907
|
+
"af40e22f4795e41a24778fae19232b7ffe8d0b95": {
|
|
6908
|
+
"name": "icon_midcut_square",
|
|
6909
|
+
"type": "monochrome",
|
|
6910
|
+
"weight": "Fill"
|
|
6911
|
+
},
|
|
6912
|
+
"7c104076f1c7d9bbe9e14f5957012f2c7a5710d7": {
|
|
6913
|
+
"name": "icon_midcut_square",
|
|
6914
|
+
"type": "monochrome",
|
|
6915
|
+
"weight": "Line"
|
|
6916
|
+
},
|
|
6389
6917
|
"5fa174f09a36f25f6af68e8a7b268e1d9a7f4752": {
|
|
6390
6918
|
"name": "icon_minus_circle",
|
|
6391
6919
|
"type": "monochrome",
|
|
@@ -7788,6 +8316,10 @@ const FIGMA_ICONS = {
|
|
|
7788
8316
|
"name": "icon_gift",
|
|
7789
8317
|
"type": "multicolor"
|
|
7790
8318
|
},
|
|
8319
|
+
"e44bf2ccec8dd6a9b720e15f1660854234aeb9ca": {
|
|
8320
|
+
"name": "icon_grid_dot5",
|
|
8321
|
+
"type": "multicolor"
|
|
8322
|
+
},
|
|
7791
8323
|
"9d3511905b35064003bf689e7f536f120e1fa5ad": {
|
|
7792
8324
|
"name": "icon_horizline_viewfinder",
|
|
7793
8325
|
"type": "multicolor"
|
|
@@ -7880,6 +8412,10 @@ const FIGMA_ICONS = {
|
|
|
7880
8412
|
"name": "icon_sneaker_lifted_leftside",
|
|
7881
8413
|
"type": "multicolor"
|
|
7882
8414
|
},
|
|
8415
|
+
"e8eb13395b0696f63d148a8c31401b21382f03ef": {
|
|
8416
|
+
"name": "icon_sofa",
|
|
8417
|
+
"type": "multicolor"
|
|
8418
|
+
},
|
|
7883
8419
|
"7fa76e36cb5397446a8ac3105d882ea685290c1b": {
|
|
7884
8420
|
"name": "icon_sparkle2",
|
|
7885
8421
|
"type": "multicolor"
|
|
@@ -7935,62 +8471,6 @@ const FIGMA_ICONS = {
|
|
|
7935
8471
|
};
|
|
7936
8472
|
|
|
7937
8473
|
const FIGMA_STYLES = [
|
|
7938
|
-
{
|
|
7939
|
-
"styleType": "FILL",
|
|
7940
|
-
"key": "c1cee6b89c357c6a12d020654d73a4490cafdf51",
|
|
7941
|
-
"name": "gradient/fade/layer-default/←(to-left)",
|
|
7942
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7943
|
-
"remote": false
|
|
7944
|
-
},
|
|
7945
|
-
{
|
|
7946
|
-
"styleType": "FILL",
|
|
7947
|
-
"key": "ff436e73cf9477a1006e6f8a1f9d2c9dbe0e5edd",
|
|
7948
|
-
"name": "gradient/fade/layer-default/→(to-right)",
|
|
7949
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7950
|
-
"remote": false
|
|
7951
|
-
},
|
|
7952
|
-
{
|
|
7953
|
-
"styleType": "FILL",
|
|
7954
|
-
"key": "826457503b7ee3d472eab91581b1fcd499c47c00",
|
|
7955
|
-
"name": "gradient/fade/layer-default/↑(to-top)",
|
|
7956
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7957
|
-
"remote": false
|
|
7958
|
-
},
|
|
7959
|
-
{
|
|
7960
|
-
"styleType": "FILL",
|
|
7961
|
-
"key": "408cb970f1de672217f452152b0398a4bb4f4e12",
|
|
7962
|
-
"name": "gradient/fade/layer-default/↓(to-bottom)",
|
|
7963
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7964
|
-
"remote": false
|
|
7965
|
-
},
|
|
7966
|
-
{
|
|
7967
|
-
"styleType": "FILL",
|
|
7968
|
-
"key": "df22450a8f8e9c323baf40d8981920d1b6376cbf",
|
|
7969
|
-
"name": "gradient/fade/layer-floating/←(to-left)",
|
|
7970
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7971
|
-
"remote": false
|
|
7972
|
-
},
|
|
7973
|
-
{
|
|
7974
|
-
"styleType": "FILL",
|
|
7975
|
-
"key": "063c0dc05b438ac36499492e783520a722782d74",
|
|
7976
|
-
"name": "gradient/fade/layer-floating/→(to-right)",
|
|
7977
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7978
|
-
"remote": false
|
|
7979
|
-
},
|
|
7980
|
-
{
|
|
7981
|
-
"styleType": "FILL",
|
|
7982
|
-
"key": "46186d7dd037e8e54983ee6677cf7915790d84cc",
|
|
7983
|
-
"name": "gradient/fade/layer-floating/↑(to-top)",
|
|
7984
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7985
|
-
"remote": false
|
|
7986
|
-
},
|
|
7987
|
-
{
|
|
7988
|
-
"styleType": "FILL",
|
|
7989
|
-
"key": "b28d9c9adc816fdd4ecec3a0b3e25d8aec802b6a",
|
|
7990
|
-
"name": "gradient/fade/layer-floating/↓(to-bottom)",
|
|
7991
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7992
|
-
"remote": false
|
|
7993
|
-
},
|
|
7994
8474
|
{
|
|
7995
8475
|
"styleType": "FILL",
|
|
7996
8476
|
"key": "353baa82e0440385eb121cd0ae98d2fcb1a70b18",
|
|
@@ -8281,10 +8761,10 @@ const FIGMA_VARIABLE_COLLECTIONS = {
|
|
|
8281
8761
|
"VariableID:238:17662",
|
|
8282
8762
|
"VariableID:17544:4057",
|
|
8283
8763
|
"VariableID:1:171",
|
|
8284
|
-
"VariableID:41186:6437",
|
|
8285
8764
|
"VariableID:670:2700",
|
|
8286
|
-
"VariableID:
|
|
8765
|
+
"VariableID:41186:6437",
|
|
8287
8766
|
"VariableID:1:172",
|
|
8767
|
+
"VariableID:1:158",
|
|
8288
8768
|
"VariableID:1:161",
|
|
8289
8769
|
"VariableID:1:159",
|
|
8290
8770
|
"VariableID:576:22878",
|
|
@@ -8332,8 +8812,8 @@ const FIGMA_VARIABLE_COLLECTIONS = {
|
|
|
8332
8812
|
"VariableID:12479:23364",
|
|
8333
8813
|
"VariableID:12479:23365",
|
|
8334
8814
|
"VariableID:12479:23366",
|
|
8335
|
-
"VariableID:1:7",
|
|
8336
8815
|
"VariableID:12548:1437",
|
|
8816
|
+
"VariableID:1:7",
|
|
8337
8817
|
"VariableID:12479:23367",
|
|
8338
8818
|
"VariableID:12479:23368",
|
|
8339
8819
|
"VariableID:12479:23371",
|
|
@@ -8468,14 +8948,12 @@ const FIGMA_VARIABLE_COLLECTIONS = {
|
|
|
8468
8948
|
"VariableID:10181:34417",
|
|
8469
8949
|
"VariableID:1:168",
|
|
8470
8950
|
"VariableID:29913:8440",
|
|
8471
|
-
"VariableID:29917:289",
|
|
8472
8951
|
"VariableID:29917:362",
|
|
8473
|
-
"VariableID:30009:40284",
|
|
8474
8952
|
"VariableID:29917:5084",
|
|
8953
|
+
"VariableID:30009:40284",
|
|
8475
8954
|
"VariableID:30009:40393",
|
|
8476
8955
|
"VariableID:30021:1313",
|
|
8477
8956
|
"VariableID:30023:1876",
|
|
8478
|
-
"VariableID:30023:1877",
|
|
8479
8957
|
"VariableID:30023:3032",
|
|
8480
8958
|
"VariableID:30023:1878",
|
|
8481
8959
|
"VariableID:30023:3347",
|
|
@@ -8496,7 +8974,12 @@ const FIGMA_VARIABLE_COLLECTIONS = {
|
|
|
8496
8974
|
"VariableID:43290:12820",
|
|
8497
8975
|
"VariableID:43290:12822",
|
|
8498
8976
|
"VariableID:43290:12823",
|
|
8499
|
-
"VariableID:43290:12824"
|
|
8977
|
+
"VariableID:43290:12824",
|
|
8978
|
+
"VariableID:49497:1643",
|
|
8979
|
+
"VariableID:49497:1644",
|
|
8980
|
+
"VariableID:49495:1861",
|
|
8981
|
+
"VariableID:49497:1645",
|
|
8982
|
+
"VariableID:49497:1646"
|
|
8500
8983
|
]
|
|
8501
8984
|
},
|
|
8502
8985
|
"VariableCollectionId:1:174": {
|
|
@@ -8622,9 +9105,9 @@ const FIGMA_VARIABLE_COLLECTIONS = {
|
|
|
8622
9105
|
"VariableID:289:13772",
|
|
8623
9106
|
"VariableID:1886:93038",
|
|
8624
9107
|
"VariableID:289:13773",
|
|
9108
|
+
"VariableID:796:4448",
|
|
8625
9109
|
"VariableID:15518:15916",
|
|
8626
9110
|
"VariableID:19225:68732",
|
|
8627
|
-
"VariableID:796:4448",
|
|
8628
9111
|
"VariableID:17955:50606",
|
|
8629
9112
|
"VariableID:514:13178",
|
|
8630
9113
|
"VariableID:535:1747",
|
|
@@ -8715,6 +9198,136 @@ const FIGMA_VARIABLES = {
|
|
|
8715
9198
|
],
|
|
8716
9199
|
"codeSyntax": {}
|
|
8717
9200
|
},
|
|
9201
|
+
"VariableID:49495:1861": {
|
|
9202
|
+
"name": "_scroll-fog",
|
|
9203
|
+
"id": "VariableID:49495:1861",
|
|
9204
|
+
"remote": false,
|
|
9205
|
+
"key": "12f1d88d590090e396c9b283bb51d4e89d9016d2",
|
|
9206
|
+
"variableCollectionId": "VariableCollectionId:1:3",
|
|
9207
|
+
"resolvedType": "COLOR",
|
|
9208
|
+
"description": "",
|
|
9209
|
+
"hiddenFromPublishing": false,
|
|
9210
|
+
"valuesByMode": {
|
|
9211
|
+
"1928:7": {
|
|
9212
|
+
"type": "VARIABLE_ALIAS",
|
|
9213
|
+
"id": "VariableID:29453:35711"
|
|
9214
|
+
},
|
|
9215
|
+
"1928:8": {
|
|
9216
|
+
"r": 1,
|
|
9217
|
+
"g": 1,
|
|
9218
|
+
"b": 1,
|
|
9219
|
+
"a": 1
|
|
9220
|
+
}
|
|
9221
|
+
},
|
|
9222
|
+
"scopes": [
|
|
9223
|
+
"ALL_SCOPES"
|
|
9224
|
+
],
|
|
9225
|
+
"codeSyntax": {}
|
|
9226
|
+
},
|
|
9227
|
+
"VariableID:49497:1643": {
|
|
9228
|
+
"name": "_scroll-fog/layer-default/0",
|
|
9229
|
+
"id": "VariableID:49497:1643",
|
|
9230
|
+
"remote": false,
|
|
9231
|
+
"key": "fae00f7e2fc2ee7cd4bef58de19f468255ca4c5c",
|
|
9232
|
+
"variableCollectionId": "VariableCollectionId:1:3",
|
|
9233
|
+
"resolvedType": "COLOR",
|
|
9234
|
+
"description": "",
|
|
9235
|
+
"hiddenFromPublishing": false,
|
|
9236
|
+
"valuesByMode": {
|
|
9237
|
+
"1928:7": {
|
|
9238
|
+
"type": "VARIABLE_ALIAS",
|
|
9239
|
+
"id": "VariableID:1:155"
|
|
9240
|
+
},
|
|
9241
|
+
"1928:8": {
|
|
9242
|
+
"type": "VARIABLE_ALIAS",
|
|
9243
|
+
"id": "VariableID:1:155"
|
|
9244
|
+
}
|
|
9245
|
+
},
|
|
9246
|
+
"scopes": [
|
|
9247
|
+
"ALL_SCOPES"
|
|
9248
|
+
],
|
|
9249
|
+
"codeSyntax": {}
|
|
9250
|
+
},
|
|
9251
|
+
"VariableID:49497:1644": {
|
|
9252
|
+
"name": "_scroll-fog/layer-default/1",
|
|
9253
|
+
"id": "VariableID:49497:1644",
|
|
9254
|
+
"remote": false,
|
|
9255
|
+
"key": "fac0ada2e11c8d54997dce0fc72a723fce514a9f",
|
|
9256
|
+
"variableCollectionId": "VariableCollectionId:1:3",
|
|
9257
|
+
"resolvedType": "COLOR",
|
|
9258
|
+
"description": "",
|
|
9259
|
+
"hiddenFromPublishing": false,
|
|
9260
|
+
"valuesByMode": {
|
|
9261
|
+
"1928:7": {
|
|
9262
|
+
"r": 1,
|
|
9263
|
+
"g": 1,
|
|
9264
|
+
"b": 1,
|
|
9265
|
+
"a": 0
|
|
9266
|
+
},
|
|
9267
|
+
"1928:8": {
|
|
9268
|
+
"r": 0.08627451211214066,
|
|
9269
|
+
"g": 0.09019608050584793,
|
|
9270
|
+
"b": 0.10588235408067703,
|
|
9271
|
+
"a": 0
|
|
9272
|
+
}
|
|
9273
|
+
},
|
|
9274
|
+
"scopes": [
|
|
9275
|
+
"ALL_SCOPES"
|
|
9276
|
+
],
|
|
9277
|
+
"codeSyntax": {}
|
|
9278
|
+
},
|
|
9279
|
+
"VariableID:49497:1645": {
|
|
9280
|
+
"name": "_scroll-fog/layer-floating/0",
|
|
9281
|
+
"id": "VariableID:49497:1645",
|
|
9282
|
+
"remote": false,
|
|
9283
|
+
"key": "334d485b6f54e6ed8dce767cd150b578f4323ad3",
|
|
9284
|
+
"variableCollectionId": "VariableCollectionId:1:3",
|
|
9285
|
+
"resolvedType": "COLOR",
|
|
9286
|
+
"description": "",
|
|
9287
|
+
"hiddenFromPublishing": false,
|
|
9288
|
+
"valuesByMode": {
|
|
9289
|
+
"1928:7": {
|
|
9290
|
+
"type": "VARIABLE_ALIAS",
|
|
9291
|
+
"id": "VariableID:238:17662"
|
|
9292
|
+
},
|
|
9293
|
+
"1928:8": {
|
|
9294
|
+
"type": "VARIABLE_ALIAS",
|
|
9295
|
+
"id": "VariableID:238:17662"
|
|
9296
|
+
}
|
|
9297
|
+
},
|
|
9298
|
+
"scopes": [
|
|
9299
|
+
"ALL_SCOPES"
|
|
9300
|
+
],
|
|
9301
|
+
"codeSyntax": {}
|
|
9302
|
+
},
|
|
9303
|
+
"VariableID:49497:1646": {
|
|
9304
|
+
"name": "_scroll-fog/layer-floating/1",
|
|
9305
|
+
"id": "VariableID:49497:1646",
|
|
9306
|
+
"remote": false,
|
|
9307
|
+
"key": "3259bea6c3999bc3ad72999fd3123648544bd002",
|
|
9308
|
+
"variableCollectionId": "VariableCollectionId:1:3",
|
|
9309
|
+
"resolvedType": "COLOR",
|
|
9310
|
+
"description": "",
|
|
9311
|
+
"hiddenFromPublishing": false,
|
|
9312
|
+
"valuesByMode": {
|
|
9313
|
+
"1928:7": {
|
|
9314
|
+
"r": 1,
|
|
9315
|
+
"g": 1,
|
|
9316
|
+
"b": 1,
|
|
9317
|
+
"a": 0
|
|
9318
|
+
},
|
|
9319
|
+
"1928:8": {
|
|
9320
|
+
"r": 0.11555555462837219,
|
|
9321
|
+
"g": 0.12638889253139496,
|
|
9322
|
+
"b": 0.14444443583488464,
|
|
9323
|
+
"a": 0
|
|
9324
|
+
}
|
|
9325
|
+
},
|
|
9326
|
+
"scopes": [
|
|
9327
|
+
"ALL_SCOPES"
|
|
9328
|
+
],
|
|
9329
|
+
"codeSyntax": {}
|
|
9330
|
+
},
|
|
8718
9331
|
"VariableID:1:151": {
|
|
8719
9332
|
"name": "bg/brand-solid",
|
|
8720
9333
|
"id": "VariableID:1:151",
|