@seed-design/figma 1.0.7 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/codegen/index.cjs +366 -286
- package/lib/codegen/index.d.ts +508 -233
- package/lib/codegen/index.d.ts.map +1 -1
- package/lib/codegen/index.js +366 -286
- package/lib/codegen/targets/react/index.cjs +1024 -511
- package/lib/codegen/targets/react/index.d.ts.map +1 -1
- package/lib/codegen/targets/react/index.js +1024 -511
- package/lib/index.cjs +394 -286
- package/lib/index.js +394 -286
- package/package.json +2 -2
- package/src/codegen/component-properties.ts +362 -103
- package/src/codegen/targets/react/component/handlers/action-button.ts +69 -54
- 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/slider.ts +114 -0
- package/src/codegen/targets/react/component/handlers/text-field.ts +245 -92
- package/src/codegen/targets/react/component/index.ts +40 -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$x } = 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 } = match(props.Layout.value).with("Icon Only", ()=>({
|
|
@@ -3070,11 +3088,16 @@ const createActionButtonHandler = (ctx)=>defineComponentHandler(actionButton.key
|
|
|
3070
3088
|
variant: camelCase(props.Variant.value),
|
|
3071
3089
|
layout
|
|
3072
3090
|
};
|
|
3073
|
-
return createLocalSnippetElement$
|
|
3091
|
+
return createLocalSnippetElement$x("ActionButton", commonProps, children);
|
|
3074
3092
|
});
|
|
3075
3093
|
const ACTION_BUTTON_GHOST_BUTTON_KEY = "ea69291fb4d76217419f3d9613ae16aadafb56a5";
|
|
3076
|
-
const createActionButtonGhostHandler = (ctx)=>defineComponentHandler(ACTION_BUTTON_GHOST_BUTTON_KEY, (
|
|
3094
|
+
const createActionButtonGhostHandler = (ctx)=>defineComponentHandler(ACTION_BUTTON_GHOST_BUTTON_KEY, (node)=>{
|
|
3095
|
+
const props = node.componentProperties;
|
|
3077
3096
|
const states = props.State.value.split("-");
|
|
3097
|
+
const buttonWrapperNode = findOne(node, (n)=>n.type === "FRAME" && n.layoutPositioning !== "ABSOLUTE");
|
|
3098
|
+
const labelNode = buttonWrapperNode ? findOne(buttonWrapperNode, (n)=>n.type === "TEXT") : undefined;
|
|
3099
|
+
const color = labelNode ? ctx.valueResolver.getFormattedValue.textFill(labelNode) : null;
|
|
3100
|
+
const fontWeight = labelNode ? ctx.valueResolver.getFormattedValue.fontWeight(labelNode) : null;
|
|
3078
3101
|
const { layout, children } = match(props.Layout.value).with("Icon Only", ()=>({
|
|
3079
3102
|
layout: "iconOnly",
|
|
3080
3103
|
children: [
|
|
@@ -3112,31 +3135,37 @@ const createActionButtonGhostHandler = (ctx)=>defineComponentHandler(ACTION_BUTT
|
|
|
3112
3135
|
size: handleSizeProp(props.Size.value),
|
|
3113
3136
|
variant: "ghost",
|
|
3114
3137
|
layout,
|
|
3138
|
+
...color && {
|
|
3139
|
+
color
|
|
3140
|
+
},
|
|
3141
|
+
...fontWeight && {
|
|
3142
|
+
fontWeight
|
|
3143
|
+
},
|
|
3115
3144
|
...props.Bleed.value === "true" && {
|
|
3116
3145
|
bleedX: "asPadding",
|
|
3117
3146
|
bleedY: "asPadding"
|
|
3118
3147
|
}
|
|
3119
3148
|
};
|
|
3120
|
-
return createLocalSnippetElement$
|
|
3149
|
+
return createLocalSnippetElement$x("ActionButton", commonProps, children);
|
|
3121
3150
|
});
|
|
3122
3151
|
|
|
3123
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3152
|
+
const { createLocalSnippetElement: createLocalSnippetElement$w } = createLocalSnippetHelper("alert-dialog");
|
|
3124
3153
|
const { createLocalSnippetElement: createLocalSnippetElementTrigger$3 } = createLocalSnippetHelper("action-button");
|
|
3125
3154
|
const ALERT_DIALOG_FOOTER_KEY = "00b1b131d67edf2875a7a1df8dfa88098d7c04be";
|
|
3126
3155
|
const createAlertDialogHandler = (_ctx)=>defineComponentHandler(alertDialog.key, (node, traverse)=>{
|
|
3127
3156
|
const props = node.componentProperties;
|
|
3128
|
-
const alertDialogHeader = createLocalSnippetElement$
|
|
3157
|
+
const alertDialogHeader = createLocalSnippetElement$w("AlertDialogHeader", undefined, [
|
|
3129
3158
|
...props["Show Title#20361:14"].value ? [
|
|
3130
|
-
createLocalSnippetElement$
|
|
3159
|
+
createLocalSnippetElement$w("AlertDialogTitle", undefined, props["Title Text#20361:0"].value)
|
|
3131
3160
|
] : [],
|
|
3132
|
-
createLocalSnippetElement$
|
|
3161
|
+
createLocalSnippetElement$w("AlertDialogDescription", undefined, props["Description Text#20361:7"].value)
|
|
3133
3162
|
]);
|
|
3134
3163
|
const footerNodes = findAllInstances({
|
|
3135
3164
|
node,
|
|
3136
3165
|
key: ALERT_DIALOG_FOOTER_KEY
|
|
3137
3166
|
});
|
|
3138
3167
|
if (footerNodes.length === 0 || footerNodes.length > 1) {
|
|
3139
|
-
return createLocalSnippetElement$
|
|
3168
|
+
return createLocalSnippetElement$w("AlertDialog", undefined, alertDialogHeader, {
|
|
3140
3169
|
comment: "Footer 영역을 확인해주세요."
|
|
3141
3170
|
});
|
|
3142
3171
|
}
|
|
@@ -3144,21 +3173,21 @@ const createAlertDialogHandler = (_ctx)=>defineComponentHandler(alertDialog.key,
|
|
|
3144
3173
|
const footerNodeProps = traverse(footerNode)?.props;
|
|
3145
3174
|
const buttons = footerNode.children.map(traverse);
|
|
3146
3175
|
const alertDialogFooterChildren = match(footerNode.componentProperties.Type.value).with("Single", ()=>buttons).with("Neutral", "Critical", ()=>createSeedReactElement("ResponsivePair", footerNodeProps, buttons)).with("Neutral (Overflow)", "Critical (Overflow)", "Nonpreferred", ()=>createSeedReactElement("VStack", footerNodeProps, buttons)).exhaustive();
|
|
3147
|
-
const alertDialogFooter = createLocalSnippetElement$
|
|
3148
|
-
return createLocalSnippetElement$
|
|
3176
|
+
const alertDialogFooter = createLocalSnippetElement$w("AlertDialogFooter", undefined, alertDialogFooterChildren);
|
|
3177
|
+
return createLocalSnippetElement$w("AlertDialogRoot", {
|
|
3149
3178
|
open: true
|
|
3150
3179
|
}, [
|
|
3151
|
-
createLocalSnippetElement$
|
|
3180
|
+
createLocalSnippetElement$w("AlertDialogTrigger", {
|
|
3152
3181
|
asChild: true
|
|
3153
3182
|
}, createLocalSnippetElementTrigger$3("ActionButton", {}, "AlertDialog 열기")),
|
|
3154
|
-
createLocalSnippetElement$
|
|
3183
|
+
createLocalSnippetElement$w("AlertDialogContent", undefined, [
|
|
3155
3184
|
alertDialogHeader,
|
|
3156
3185
|
alertDialogFooter
|
|
3157
3186
|
])
|
|
3158
3187
|
]);
|
|
3159
3188
|
});
|
|
3160
3189
|
|
|
3161
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3190
|
+
const { createLocalSnippetElement: createLocalSnippetElement$v } = createLocalSnippetHelper("app-bar");
|
|
3162
3191
|
const APP_BAR_TITLE_KEY = "d2cc4f615b2b44098be89448ad1c573f94af0355";
|
|
3163
3192
|
const APP_BAR_LEFT_ICON_BUTTON_KEY = "5a953f7bafc0df744777517458396e9f6c915825";
|
|
3164
3193
|
const APP_BAR_RIGHT_ICON_BUTTON_KEY = "c08db793288077e53bd45ef11aa419a835e88fce";
|
|
@@ -3175,12 +3204,12 @@ const createAppBarMainHandler = (_ctx)=>{
|
|
|
3175
3204
|
subtitle: undefined
|
|
3176
3205
|
})).exhaustive();
|
|
3177
3206
|
if (title) {
|
|
3178
|
-
return createLocalSnippetElement$
|
|
3207
|
+
return createLocalSnippetElement$v("AppBarMain", {
|
|
3179
3208
|
title,
|
|
3180
3209
|
subtitle
|
|
3181
3210
|
});
|
|
3182
3211
|
}
|
|
3183
|
-
return createLocalSnippetElement$
|
|
3212
|
+
return createLocalSnippetElement$v("AppBarMain", undefined, undefined, {
|
|
3184
3213
|
comment: "AppBarMain 내부를 직접 작성해주세요."
|
|
3185
3214
|
});
|
|
3186
3215
|
});
|
|
@@ -3207,33 +3236,33 @@ const createAppBarHandler = (ctx)=>{
|
|
|
3207
3236
|
return appBarMainHandler.transform(mainNode, traverse);
|
|
3208
3237
|
})();
|
|
3209
3238
|
const leftChildren = match(props.Left.value).with("None", ()=>undefined).with("Back", ()=>[
|
|
3210
|
-
createLocalSnippetElement$
|
|
3239
|
+
createLocalSnippetElement$v("AppBarBackButton")
|
|
3211
3240
|
]).with("Close", ()=>[
|
|
3212
|
-
createLocalSnippetElement$
|
|
3241
|
+
createLocalSnippetElement$v("AppBarCloseButton")
|
|
3213
3242
|
]).with("Custom", ()=>{
|
|
3214
3243
|
const buttons = findAllInstances({
|
|
3215
3244
|
node,
|
|
3216
3245
|
key: APP_BAR_LEFT_ICON_BUTTON_KEY
|
|
3217
3246
|
});
|
|
3218
3247
|
if (buttons.length > 0) {
|
|
3219
|
-
return buttons.map((button)=>createLocalSnippetElement$
|
|
3248
|
+
return buttons.map((button)=>createLocalSnippetElement$v("AppBarIconButton", undefined, ctx.iconHandler.transform(button.componentProperties["Icon#33580:0"]), {
|
|
3220
3249
|
comment: "AppBarIconButton에 aria-label 속성을 추가해주세요."
|
|
3221
3250
|
}));
|
|
3222
3251
|
}
|
|
3223
3252
|
return undefined;
|
|
3224
3253
|
}).exhaustive();
|
|
3225
|
-
const left = leftChildren && leftChildren.length > 0 ? createLocalSnippetElement$
|
|
3254
|
+
const left = leftChildren && leftChildren.length > 0 ? createLocalSnippetElement$v("AppBarLeft", {}, leftChildren) : undefined;
|
|
3226
3255
|
const rightChildren = match(props.Right.value).with("None", ()=>undefined).with("1 Icon Button", "2 Icon Button", "3 Icon Button", ()=>{
|
|
3227
3256
|
const buttons = findAllInstances({
|
|
3228
3257
|
node,
|
|
3229
3258
|
key: APP_BAR_RIGHT_ICON_BUTTON_KEY
|
|
3230
3259
|
});
|
|
3231
|
-
return buttons.map((button)=>createLocalSnippetElement$
|
|
3260
|
+
return buttons.map((button)=>createLocalSnippetElement$v("AppBarIconButton", undefined, ctx.iconHandler.transform(button.componentProperties["Icon#6406:3"]), {
|
|
3232
3261
|
comment: "AppBarIconButton에 aria-label 속성을 추가해주세요."
|
|
3233
3262
|
}));
|
|
3234
3263
|
}).with("Text Button", ()=>undefined).exhaustive();
|
|
3235
|
-
const right = rightChildren && rightChildren.length > 0 ? createLocalSnippetElement$
|
|
3236
|
-
return createLocalSnippetElement$
|
|
3264
|
+
const right = rightChildren && rightChildren.length > 0 ? createLocalSnippetElement$v("AppBarRight", {}, rightChildren) : undefined;
|
|
3265
|
+
return createLocalSnippetElement$v("AppBar", {
|
|
3237
3266
|
theme,
|
|
3238
3267
|
tone
|
|
3239
3268
|
}, [
|
|
@@ -3247,15 +3276,15 @@ const createAppBarHandler = (ctx)=>{
|
|
|
3247
3276
|
};
|
|
3248
3277
|
|
|
3249
3278
|
const IDENTITY_PLACEHOLDER_KEY = "b3563b6f16ba4cfe4240c9b33eef7edad4c304eb";
|
|
3250
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3279
|
+
const { createLocalSnippetElement: createLocalSnippetElement$u } = createLocalSnippetHelper("identity-placeholder");
|
|
3251
3280
|
const createIdentityPlaceholderHandler = (_ctx)=>defineComponentHandler(IDENTITY_PLACEHOLDER_KEY, ({ componentProperties: props })=>{
|
|
3252
3281
|
const commonProps = {
|
|
3253
3282
|
identity: camelCase(props.Identity.value)
|
|
3254
3283
|
};
|
|
3255
|
-
return createLocalSnippetElement$
|
|
3284
|
+
return createLocalSnippetElement$u("IdentityPlaceholder", commonProps);
|
|
3256
3285
|
});
|
|
3257
3286
|
|
|
3258
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3287
|
+
const { createLocalSnippetElement: createLocalSnippetElement$t } = createLocalSnippetHelper("avatar");
|
|
3259
3288
|
const createAvatarHandler = (ctx)=>{
|
|
3260
3289
|
const identityPlaceholderHandler = createIdentityPlaceholderHandler();
|
|
3261
3290
|
return defineComponentHandler(avatar.key, (node, traverse)=>{
|
|
@@ -3278,7 +3307,7 @@ const createAvatarHandler = (ctx)=>{
|
|
|
3278
3307
|
},
|
|
3279
3308
|
size: props.Size.value
|
|
3280
3309
|
};
|
|
3281
|
-
return createLocalSnippetElement$
|
|
3310
|
+
return createLocalSnippetElement$t("Avatar", commonProps, props["Badge"].value === "None" ? undefined : createLocalSnippetElement$t("AvatarBadge", {
|
|
3282
3311
|
asChild: true
|
|
3283
3312
|
}, createElement("img", {
|
|
3284
3313
|
src: "https://placehold.co/20x20"
|
|
@@ -3290,7 +3319,7 @@ const createAvatarHandler = (ctx)=>{
|
|
|
3290
3319
|
});
|
|
3291
3320
|
};
|
|
3292
3321
|
|
|
3293
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3322
|
+
const { createLocalSnippetElement: createLocalSnippetElement$s } = createLocalSnippetHelper("avatar");
|
|
3294
3323
|
const createAvatarStackHandler = (ctx)=>{
|
|
3295
3324
|
const avatarHandler = createAvatarHandler();
|
|
3296
3325
|
return defineComponentHandler(avatarStack.key, (node, traverse)=>{
|
|
@@ -3303,7 +3332,7 @@ const createAvatarStackHandler = (ctx)=>{
|
|
|
3303
3332
|
size: props.Size.value
|
|
3304
3333
|
};
|
|
3305
3334
|
const avatarStackChildren = avatarNodes.map((avatarNode)=>avatarHandler.transform(avatarNode, traverse));
|
|
3306
|
-
return createLocalSnippetElement$
|
|
3335
|
+
return createLocalSnippetElement$s("AvatarStack", commonProps, avatarStackChildren);
|
|
3307
3336
|
});
|
|
3308
3337
|
};
|
|
3309
3338
|
|
|
@@ -3316,7 +3345,7 @@ const createBadgeHandler = (_ctx)=>defineComponentHandler(badge.key, ({ componen
|
|
|
3316
3345
|
return createSeedReactElement("Badge", commonProps, props["Label#1584:0"].value);
|
|
3317
3346
|
});
|
|
3318
3347
|
|
|
3319
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3348
|
+
const { createLocalSnippetElement: createLocalSnippetElement$r } = createLocalSnippetHelper("bottom-sheet");
|
|
3320
3349
|
const { createLocalSnippetElement: createLocalSnippetElementTrigger$2 } = createLocalSnippetHelper("action-button");
|
|
3321
3350
|
// TODO: Bottom Action Bar (WIP) handler의 키. 해당 컴포넌트(템플릿) 핸들러 작성 시 handler.transform()으로 대체
|
|
3322
3351
|
const BOTTOM_SHEET_FOOTER_KEY = "de6c65d34cc4a01c18c9a7c0ded34635170ca11f";
|
|
@@ -3329,40 +3358,39 @@ const createBottomSheetHandler = (_ctx)=>defineComponentHandler(bottomSheet.key,
|
|
|
3329
3358
|
...props["Show Description#25192:0"].value === true && {
|
|
3330
3359
|
description: props["Description#19787:7"].value
|
|
3331
3360
|
},
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
}
|
|
3361
|
+
showHandle: props["Show Handle#49774:6"].value,
|
|
3362
|
+
showCloseButton: props["Show Close Button#19787:11"].value
|
|
3335
3363
|
};
|
|
3336
3364
|
const bodyNodes = findAllInstances({
|
|
3337
3365
|
node,
|
|
3338
3366
|
key: BOTTOM_SHEET_BODY_KEY
|
|
3339
3367
|
});
|
|
3340
|
-
const bottomSheetBody = bodyNodes.length === 1 ? createLocalSnippetElement$
|
|
3368
|
+
const bottomSheetBody = bodyNodes.length === 1 ? createLocalSnippetElement$r("BottomSheetBody", {}, bodyNodes[0].children.map(traverse)) : createLocalSnippetElement$r("BottomSheetBody", {}, createElement("div", undefined, "No content available"));
|
|
3341
3369
|
const footerNodes = findAllInstances({
|
|
3342
3370
|
node,
|
|
3343
3371
|
key: BOTTOM_SHEET_FOOTER_KEY
|
|
3344
3372
|
});
|
|
3345
|
-
const bottomSheetFooter = props["Show Footer#25162:14"] && footerNodes.length === 1 ? createLocalSnippetElement$
|
|
3346
|
-
return createLocalSnippetElement$
|
|
3373
|
+
const bottomSheetFooter = props["Show Footer#25162:14"] && footerNodes.length === 1 ? createLocalSnippetElement$r("BottomSheetFooter", {}, footerNodes[0].children.map(traverse)) : undefined;
|
|
3374
|
+
return createLocalSnippetElement$r("BottomSheetRoot", {
|
|
3347
3375
|
defaultOpen: true,
|
|
3348
3376
|
headerAlign
|
|
3349
3377
|
}, [
|
|
3350
|
-
createLocalSnippetElement$
|
|
3378
|
+
createLocalSnippetElement$r("BottomSheetTrigger", {
|
|
3351
3379
|
asChild: true
|
|
3352
3380
|
}, createLocalSnippetElementTrigger$2("ActionButton", {}, "BottomSheet 열기")),
|
|
3353
|
-
createLocalSnippetElement$
|
|
3381
|
+
createLocalSnippetElement$r("BottomSheetContent", contentProps, [
|
|
3354
3382
|
bottomSheetBody,
|
|
3355
3383
|
bottomSheetFooter
|
|
3356
3384
|
])
|
|
3357
3385
|
]);
|
|
3358
3386
|
});
|
|
3359
3387
|
|
|
3360
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3388
|
+
const { createLocalSnippetElement: createLocalSnippetElement$q } = createLocalSnippetHelper("callout");
|
|
3361
3389
|
const createCalloutHandler = (ctx)=>defineComponentHandler(callout.key, ({ componentProperties: props, children })=>{
|
|
3362
3390
|
const tag = match(props.Interaction.value).with("Display", ()=>"Callout").with("Actionable", ()=>"ActionableCallout").with("Dismissible", ()=>"DismissibleCallout").exhaustive();
|
|
3363
3391
|
const textNode = children.find((child)=>child.type === "TEXT");
|
|
3364
3392
|
if (!textNode) {
|
|
3365
|
-
return createLocalSnippetElement$
|
|
3393
|
+
return createLocalSnippetElement$q(tag, undefined, undefined, {
|
|
3366
3394
|
comment: "내용을 제공해주세요."
|
|
3367
3395
|
});
|
|
3368
3396
|
}
|
|
@@ -3414,10 +3442,10 @@ const createCalloutHandler = (ctx)=>defineComponentHandler(callout.key, ({ compo
|
|
|
3414
3442
|
prefixIcon: ctx.iconHandler.transform(props["Prefix Icon#35087:0"])
|
|
3415
3443
|
}
|
|
3416
3444
|
};
|
|
3417
|
-
return createLocalSnippetElement$
|
|
3445
|
+
return createLocalSnippetElement$q(tag, commonProps);
|
|
3418
3446
|
});
|
|
3419
3447
|
|
|
3420
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3448
|
+
const { createLocalSnippetElement: createLocalSnippetElement$p } = createLocalSnippetHelper("checkbox");
|
|
3421
3449
|
const createCheckboxHandler = (_ctx)=>defineComponentHandler(checkbox.key, ({ componentProperties: props })=>{
|
|
3422
3450
|
const tone = match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated]Brand", ()=>"brand").exhaustive();
|
|
3423
3451
|
const commonProps = {
|
|
@@ -3437,10 +3465,10 @@ const createCheckboxHandler = (_ctx)=>defineComponentHandler(checkbox.key, ({ co
|
|
|
3437
3465
|
disabled: true
|
|
3438
3466
|
}
|
|
3439
3467
|
};
|
|
3440
|
-
return createLocalSnippetElement$
|
|
3468
|
+
return createLocalSnippetElement$p("Checkbox", commonProps);
|
|
3441
3469
|
});
|
|
3442
3470
|
|
|
3443
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3471
|
+
const { createLocalSnippetElement: createLocalSnippetElement$o } = createLocalSnippetHelper("checkbox");
|
|
3444
3472
|
const createCheckmarkHandler = (_ctx)=>defineComponentHandler(checkmark.key, ({ componentProperties: props })=>{
|
|
3445
3473
|
const tone = match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated]Brand", ()=>"brand").exhaustive();
|
|
3446
3474
|
const commonProps = {
|
|
@@ -3448,14 +3476,14 @@ const createCheckmarkHandler = (_ctx)=>defineComponentHandler(checkmark.key, ({
|
|
|
3448
3476
|
variant: camelCase(props.Shape.value),
|
|
3449
3477
|
size: handleSizeProp(props.Size.value)
|
|
3450
3478
|
};
|
|
3451
|
-
return createLocalSnippetElement$
|
|
3479
|
+
return createLocalSnippetElement$o("Checkmark", commonProps);
|
|
3452
3480
|
});
|
|
3453
3481
|
|
|
3454
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3482
|
+
const { createLocalSnippetElement: createLocalSnippetElement$n } = createLocalSnippetHelper("chip");
|
|
3455
3483
|
const CHIP_ICON_SUFFIX_KEY = "27343e0e5ab2c66948e9b10fde03d58b5e037212";
|
|
3456
3484
|
const createChipIconSuffixHandler = (ctx)=>{
|
|
3457
3485
|
return defineComponentHandler(CHIP_ICON_SUFFIX_KEY, ({ componentProperties })=>{
|
|
3458
|
-
return createLocalSnippetElement$
|
|
3486
|
+
return createLocalSnippetElement$n("Chip.SuffixIcon", undefined, createSeedReactElement("Icon", {
|
|
3459
3487
|
svg: ctx.iconHandler.transform(componentProperties["Icon#33203:0"])
|
|
3460
3488
|
}));
|
|
3461
3489
|
});
|
|
@@ -3465,7 +3493,7 @@ const createChipHandler = (ctx)=>{
|
|
|
3465
3493
|
const iconSuffixHandler = createChipIconSuffixHandler(ctx);
|
|
3466
3494
|
return defineComponentHandler(chip.key, (node, traverse)=>{
|
|
3467
3495
|
const props = node.componentProperties;
|
|
3468
|
-
const prefix = match(props["Prefix Type"].value).with("None", "Image", ()=>undefined).with("Icon", ()=>createLocalSnippetElement$
|
|
3496
|
+
const prefix = match(props["Prefix Type"].value).with("None", "Image", ()=>undefined).with("Icon", ()=>createLocalSnippetElement$n("Chip.PrefixIcon", undefined, createSeedReactElement("Icon", {
|
|
3469
3497
|
svg: ctx.iconHandler.transform(props["Prefix Icon#8722:0"])
|
|
3470
3498
|
}))).with("Avatar", ()=>{
|
|
3471
3499
|
const [avatar$1] = findAllInstances({
|
|
@@ -3473,9 +3501,9 @@ const createChipHandler = (ctx)=>{
|
|
|
3473
3501
|
key: avatar.key
|
|
3474
3502
|
});
|
|
3475
3503
|
if (!avatar$1) return undefined;
|
|
3476
|
-
return createLocalSnippetElement$
|
|
3504
|
+
return createLocalSnippetElement$n("Chip.PrefixAvatar", undefined, avatarHandler.transform(avatar$1, traverse));
|
|
3477
3505
|
}).exhaustive();
|
|
3478
|
-
const label = createLocalSnippetElement$
|
|
3506
|
+
const label = createLocalSnippetElement$n("Chip.Label", undefined, props["Label#7185:0"].value);
|
|
3479
3507
|
const [suffixIcon] = findAllInstances({
|
|
3480
3508
|
node,
|
|
3481
3509
|
key: CHIP_ICON_SUFFIX_KEY
|
|
@@ -3491,7 +3519,7 @@ const createChipHandler = (ctx)=>{
|
|
|
3491
3519
|
disabled: true
|
|
3492
3520
|
}
|
|
3493
3521
|
};
|
|
3494
|
-
return createLocalSnippetElement$
|
|
3522
|
+
return createLocalSnippetElement$n("Chip.Toggle", commonProps, [
|
|
3495
3523
|
prefix,
|
|
3496
3524
|
label,
|
|
3497
3525
|
suffixIcon ? iconSuffixHandler.transform(suffixIcon, traverse) : undefined
|
|
@@ -3501,7 +3529,7 @@ const createChipHandler = (ctx)=>{
|
|
|
3501
3529
|
});
|
|
3502
3530
|
};
|
|
3503
3531
|
|
|
3504
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3532
|
+
const { createLocalSnippetElement: createLocalSnippetElement$m } = createLocalSnippetHelper("contextual-floating-button");
|
|
3505
3533
|
const createContextualFloatingButtonHandler = (ctx)=>defineComponentHandler(contextualFloatingButton.key, ({ componentProperties: props })=>{
|
|
3506
3534
|
const states = props.State.value.split("-");
|
|
3507
3535
|
const { layout, children } = match(props.Layout.value).with("Icon Only", ()=>({
|
|
@@ -3530,7 +3558,7 @@ const createContextualFloatingButtonHandler = (ctx)=>defineComponentHandler(cont
|
|
|
3530
3558
|
variant: match(props.Variant.value).with("Solid", ()=>"solid").with("Layer", ()=>"layer").exhaustive(),
|
|
3531
3559
|
layout
|
|
3532
3560
|
};
|
|
3533
|
-
return createLocalSnippetElement$
|
|
3561
|
+
return createLocalSnippetElement$m("ContextualFloatingButton", commonProps, children);
|
|
3534
3562
|
});
|
|
3535
3563
|
|
|
3536
3564
|
const createDividerHandler = (_ctx)=>defineComponentHandler(divider.key, ({ componentProperties: props })=>{
|
|
@@ -3546,31 +3574,257 @@ const createDividerHandler = (_ctx)=>defineComponentHandler(divider.key, ({ comp
|
|
|
3546
3574
|
return createSeedReactElement("Divider", commonProps, undefined);
|
|
3547
3575
|
});
|
|
3548
3576
|
|
|
3549
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
3577
|
+
const { createLocalSnippetElement: createLocalSnippetElement$l } = createLocalSnippetHelper("error-state");
|
|
3550
3578
|
const createErrorStateHandler = (ctx)=>{
|
|
3551
3579
|
const actionButtonHandler = createActionButtonHandler(ctx);
|
|
3580
|
+
const ghostButtonHandler = createActionButtonGhostHandler(ctx);
|
|
3552
3581
|
return defineComponentHandler(templateErrorState.key, (node, traverse)=>{
|
|
3553
3582
|
const props = node.componentProperties;
|
|
3554
|
-
const [
|
|
3583
|
+
const [actionButton] = findAllInstances({
|
|
3555
3584
|
node,
|
|
3556
3585
|
key: actionButtonHandler.key
|
|
3557
3586
|
});
|
|
3587
|
+
const [ghostButton] = findAllInstances({
|
|
3588
|
+
node,
|
|
3589
|
+
key: ghostButtonHandler.key
|
|
3590
|
+
});
|
|
3558
3591
|
const commonProps = {
|
|
3559
3592
|
variant: camelCase(props.Variant.value),
|
|
3560
3593
|
...props.Layout.value === "With Title" && {
|
|
3561
3594
|
title: props["Title#16237:0"].value
|
|
3562
3595
|
},
|
|
3563
3596
|
description: props["Description#16237:5"].value,
|
|
3564
|
-
...
|
|
3597
|
+
...actionButton && {
|
|
3565
3598
|
primaryActionProps: {
|
|
3566
|
-
children: actionButtonHandler.transform(
|
|
3567
|
-
}
|
|
3599
|
+
children: actionButtonHandler.transform(actionButton, traverse).children[0]
|
|
3600
|
+
}
|
|
3601
|
+
},
|
|
3602
|
+
...ghostButton && {
|
|
3568
3603
|
secondaryActionProps: {
|
|
3569
|
-
children:
|
|
3604
|
+
children: ghostButtonHandler.transform(ghostButton, traverse).children[0]
|
|
3570
3605
|
}
|
|
3571
3606
|
}
|
|
3572
3607
|
};
|
|
3573
|
-
return createLocalSnippetElement$
|
|
3608
|
+
return createLocalSnippetElement$l("ErrorState", commonProps);
|
|
3609
|
+
});
|
|
3610
|
+
};
|
|
3611
|
+
|
|
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: 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 } = 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 } = 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 } = 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$k } = 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$k("FieldButton", {
|
|
3781
|
+
...headerProps,
|
|
3782
|
+
...footerProps,
|
|
3783
|
+
...commonProps
|
|
3784
|
+
}, props["Has Value"].value === "True" && value ? createLocalSnippetElement$k("FieldButtonValue", undefined, value.characters) : placeholder ? createLocalSnippetElement$k("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);
|
|
3574
3828
|
});
|
|
3575
3829
|
};
|
|
3576
3830
|
|
|
@@ -3857,53 +4111,7 @@ const createMenuSheetHandler = (ctx)=>{
|
|
|
3857
4111
|
});
|
|
3858
4112
|
};
|
|
3859
4113
|
|
|
3860
|
-
const { createLocalSnippetElement: createLocalSnippetElement$c } = createLocalSnippetHelper("
|
|
3861
|
-
const createMultilineTextFieldHandler = (_ctx)=>defineComponentHandler(multilineTextField.key, ({ componentProperties: props })=>{
|
|
3862
|
-
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;
|
|
3863
|
-
const states = state.split("-");
|
|
3864
|
-
const commonProps = {
|
|
3865
|
-
size: handleSizeProp(size),
|
|
3866
|
-
// header
|
|
3867
|
-
...showHeader && {
|
|
3868
|
-
label
|
|
3869
|
-
},
|
|
3870
|
-
...showHeader && showIndicator && {
|
|
3871
|
-
indicator
|
|
3872
|
-
},
|
|
3873
|
-
// input
|
|
3874
|
-
...filled === "True" && {
|
|
3875
|
-
defaultValue
|
|
3876
|
-
},
|
|
3877
|
-
...states.includes("Invalid") && {
|
|
3878
|
-
invalid: true
|
|
3879
|
-
},
|
|
3880
|
-
...states.includes("Disabled") && {
|
|
3881
|
-
disabled: true
|
|
3882
|
-
},
|
|
3883
|
-
...states.includes("Read Only") && {
|
|
3884
|
-
readOnly: true
|
|
3885
|
-
},
|
|
3886
|
-
// footer
|
|
3887
|
-
...showFooter && showDescription && states.includes("Invalid") && {
|
|
3888
|
-
// invalid인 경우 description을 error로 사용
|
|
3889
|
-
errorMessage: description
|
|
3890
|
-
},
|
|
3891
|
-
...showFooter && showDescription && !states.includes("Invalid") && {
|
|
3892
|
-
// invalid가 아닌 경우 description을 description으로 사용
|
|
3893
|
-
description
|
|
3894
|
-
},
|
|
3895
|
-
...showFooter && showCharacterCount && {
|
|
3896
|
-
maxGraphemeCount: Number(maxCharacterCount)
|
|
3897
|
-
}
|
|
3898
|
-
};
|
|
3899
|
-
const inputProps = {
|
|
3900
|
-
placeholder
|
|
3901
|
-
};
|
|
3902
|
-
const TextFieldChildren = createLocalSnippetElement$c("TextFieldTextarea", inputProps);
|
|
3903
|
-
return createLocalSnippetElement$c("TextField", commonProps, TextFieldChildren);
|
|
3904
|
-
});
|
|
3905
|
-
|
|
3906
|
-
const { createLocalSnippetElement: createLocalSnippetElement$b } = createLocalSnippetHelper("page-banner");
|
|
4114
|
+
const { createLocalSnippetElement: createLocalSnippetElement$c } = createLocalSnippetHelper("page-banner");
|
|
3907
4115
|
const SUFFIX_BUTTON_KEY = "7dce4e1242761ccd8e5da42278fc2d870918039c";
|
|
3908
4116
|
const createPageBannerButtonHandler = (_ctx)=>defineComponentHandler(SUFFIX_BUTTON_KEY, (node)=>{
|
|
3909
4117
|
return createElement("PageBannerButton", undefined, node.componentProperties["Label#39890:0"].value);
|
|
@@ -3937,7 +4145,7 @@ const createPageBannerHandler = (ctx)=>{
|
|
|
3937
4145
|
})).exhaustive();
|
|
3938
4146
|
const textNode = findOne(node, (child)=>child.type === "TEXT" && child.name === "Text");
|
|
3939
4147
|
if (!textNode) {
|
|
3940
|
-
return createLocalSnippetElement$
|
|
4148
|
+
return createLocalSnippetElement$c(tag, undefined, undefined, {
|
|
3941
4149
|
comment: "내용을 제공해주세요."
|
|
3942
4150
|
});
|
|
3943
4151
|
}
|
|
@@ -3970,11 +4178,11 @@ const createPageBannerHandler = (ctx)=>{
|
|
|
3970
4178
|
suffix
|
|
3971
4179
|
}
|
|
3972
4180
|
};
|
|
3973
|
-
return createLocalSnippetElement$
|
|
4181
|
+
return createLocalSnippetElement$c(tag, commonProps);
|
|
3974
4182
|
});
|
|
3975
4183
|
};
|
|
3976
4184
|
|
|
3977
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4185
|
+
const { createLocalSnippetElement: createLocalSnippetElement$b } = createLocalSnippetHelper("progress-circle");
|
|
3978
4186
|
const createProgressCircleHandler = (_ctx)=>defineComponentHandler(progressCircle.key, ({ componentProperties: props })=>{
|
|
3979
4187
|
const { value, minValue, maxValue } = match(props.Value.value).with("Indeterminate", ()=>({
|
|
3980
4188
|
value: undefined,
|
|
@@ -4006,10 +4214,10 @@ const createProgressCircleHandler = (_ctx)=>defineComponentHandler(progressCircl
|
|
|
4006
4214
|
tone: camelCase(props.Tone.value)
|
|
4007
4215
|
}
|
|
4008
4216
|
};
|
|
4009
|
-
return createLocalSnippetElement$
|
|
4217
|
+
return createLocalSnippetElement$b("ProgressCircle", commonProps);
|
|
4010
4218
|
});
|
|
4011
4219
|
|
|
4012
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4220
|
+
const { createLocalSnippetElement: createLocalSnippetElement$a } = createLocalSnippetHelper("radio-group");
|
|
4013
4221
|
const createRadioGroupItemHandler = (_ctx)=>defineComponentHandler(radio.key, ({ componentProperties: props })=>{
|
|
4014
4222
|
const tone = match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated]Brand", ()=>"brand").exhaustive();
|
|
4015
4223
|
const commonProps = {
|
|
@@ -4022,20 +4230,20 @@ const createRadioGroupItemHandler = (_ctx)=>defineComponentHandler(radio.key, ({
|
|
|
4022
4230
|
tone,
|
|
4023
4231
|
weight: camelCase(props.Weight.value)
|
|
4024
4232
|
};
|
|
4025
|
-
return createLocalSnippetElement$
|
|
4233
|
+
return createLocalSnippetElement$a("RadioGroupItem", commonProps);
|
|
4026
4234
|
});
|
|
4027
4235
|
|
|
4028
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4236
|
+
const { createLocalSnippetElement: createLocalSnippetElement$9 } = createLocalSnippetHelper("radio-group");
|
|
4029
4237
|
const createRadioMarkHandler = (_ctx)=>defineComponentHandler(radioMark.key, ({ componentProperties: props })=>{
|
|
4030
4238
|
const tone = match(props.Tone.value).with("Neutral", ()=>"neutral").with("🚫[Deprecated]Brand", ()=>"brand").exhaustive();
|
|
4031
4239
|
const commonProps = {
|
|
4032
4240
|
tone,
|
|
4033
4241
|
size: handleSizeProp(props.Size.value)
|
|
4034
4242
|
};
|
|
4035
|
-
return createLocalSnippetElement$
|
|
4243
|
+
return createLocalSnippetElement$9("RadioMark", commonProps);
|
|
4036
4244
|
});
|
|
4037
4245
|
|
|
4038
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4246
|
+
const { createLocalSnippetElement: createLocalSnippetElement$8 } = createLocalSnippetHelper("reaction-button");
|
|
4039
4247
|
const createReactionButtonHandler = (ctx)=>defineComponentHandler(reactionButton.key, ({ componentProperties: props })=>{
|
|
4040
4248
|
const commonProps = {
|
|
4041
4249
|
size: handleSizeProp(props.Size.value),
|
|
@@ -4049,7 +4257,7 @@ const createReactionButtonHandler = (ctx)=>defineComponentHandler(reactionButton
|
|
|
4049
4257
|
defaultPressed: true
|
|
4050
4258
|
}
|
|
4051
4259
|
};
|
|
4052
|
-
return createLocalSnippetElement$
|
|
4260
|
+
return createLocalSnippetElement$8("ReactionButton", commonProps, [
|
|
4053
4261
|
createSeedReactElement("PrefixIcon", {
|
|
4054
4262
|
svg: ctx.iconHandler.transform(props["Icon#12379:0"])
|
|
4055
4263
|
}),
|
|
@@ -4058,7 +4266,7 @@ const createReactionButtonHandler = (ctx)=>defineComponentHandler(reactionButton
|
|
|
4058
4266
|
]);
|
|
4059
4267
|
});
|
|
4060
4268
|
|
|
4061
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4269
|
+
const { createLocalSnippetElement: createLocalSnippetElement$7 } = createLocalSnippetHelper("segmented-control");
|
|
4062
4270
|
const SEGMENTED_CONTROL_ITEM_KEY = "9a7ba0d4c041ddbce84ee48881788434fd6bccc8";
|
|
4063
4271
|
const createSegmentedControlItemHandler = (_ctx)=>defineComponentHandler(SEGMENTED_CONTROL_ITEM_KEY, ({ componentProperties: props })=>{
|
|
4064
4272
|
const states = props.State.value.split("-");
|
|
@@ -4068,7 +4276,7 @@ const createSegmentedControlItemHandler = (_ctx)=>defineComponentHandler(SEGMENT
|
|
|
4068
4276
|
disabled: true
|
|
4069
4277
|
}
|
|
4070
4278
|
};
|
|
4071
|
-
return createLocalSnippetElement$
|
|
4279
|
+
return createLocalSnippetElement$7("SegmentedControlItem", commonProps, props["Label#11366:15"].value);
|
|
4072
4280
|
});
|
|
4073
4281
|
const createSegmentedControlHandler = (ctx)=>{
|
|
4074
4282
|
const segmentedControlItemHandler = createSegmentedControlItemHandler();
|
|
@@ -4084,13 +4292,13 @@ const createSegmentedControlHandler = (ctx)=>{
|
|
|
4084
4292
|
defaultValue: selectedSegment.componentProperties["Label#11366:15"].value
|
|
4085
4293
|
}
|
|
4086
4294
|
};
|
|
4087
|
-
return createLocalSnippetElement$
|
|
4295
|
+
return createLocalSnippetElement$7("SegmentedControl", commonProps, segmentedControlChildren, {
|
|
4088
4296
|
comment: "aria-label이나 aria-labelledby 중 하나를 제공해야 합니다."
|
|
4089
4297
|
});
|
|
4090
4298
|
});
|
|
4091
4299
|
};
|
|
4092
4300
|
|
|
4093
|
-
const { createLocalSnippetElement: createLocalSnippetElement$
|
|
4301
|
+
const { createLocalSnippetElement: createLocalSnippetElement$6 } = createLocalSnippetHelper("select-box");
|
|
4094
4302
|
const createSelectBoxHandler = (_ctx)=>defineComponentHandler(selectBox.key, ({ componentProperties: props })=>{
|
|
4095
4303
|
const tag = match(props.Control.value).with("Checkbox", ()=>"CheckSelectBox").with("Radio", ()=>"RadioSelectBoxItem").exhaustive();
|
|
4096
4304
|
const commonProps = {
|
|
@@ -4105,7 +4313,7 @@ const createSelectBoxHandler = (_ctx)=>defineComponentHandler(selectBox.key, ({
|
|
|
4105
4313
|
defaultChecked: true
|
|
4106
4314
|
}
|
|
4107
4315
|
};
|
|
4108
|
-
return createLocalSnippetElement$
|
|
4316
|
+
return createLocalSnippetElement$6(tag, commonProps);
|
|
4109
4317
|
});
|
|
4110
4318
|
const createSelectBoxGroupHandler = (ctx)=>{
|
|
4111
4319
|
const selectBoxHandler = createSelectBoxHandler();
|
|
@@ -4128,7 +4336,7 @@ const createSelectBoxGroupHandler = (ctx)=>{
|
|
|
4128
4336
|
defaultValue: selectedSelectBox?.componentProperties["Label#3635:0"].value
|
|
4129
4337
|
}
|
|
4130
4338
|
};
|
|
4131
|
-
return createLocalSnippetElement$
|
|
4339
|
+
return createLocalSnippetElement$6(tag, commonProps, stack);
|
|
4132
4340
|
});
|
|
4133
4341
|
};
|
|
4134
4342
|
|
|
@@ -4142,6 +4350,90 @@ const createSkeletonHandler = (ctx)=>defineComponentHandler(skeleton.key, (node)
|
|
|
4142
4350
|
return createSeedReactElement("Skeleton", commonProps);
|
|
4143
4351
|
});
|
|
4144
4352
|
|
|
4353
|
+
const { createLocalSnippetElement: createLocalSnippetElement$5 } = 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$5("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 } = 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$5("Slider", commonProps, undefined, {
|
|
4432
|
+
comment: getSliderComment(commonProps)
|
|
4433
|
+
});
|
|
4434
|
+
});
|
|
4435
|
+
};
|
|
4436
|
+
|
|
4145
4437
|
const { createLocalSnippetElement: createLocalSnippetElement$4 } = createLocalSnippetHelper("snackbar");
|
|
4146
4438
|
const createSnackbarHandler = (_ctx)=>defineComponentHandler(snackbar.key, ({ componentProperties: props })=>{
|
|
4147
4439
|
const commonProps = {
|
|
@@ -4363,97 +4655,206 @@ const createLineTriggerFillHandler = (_ctx)=>defineComponentHandler(LINE_TRIGGER
|
|
|
4363
4655
|
variant,
|
|
4364
4656
|
defaultValue
|
|
4365
4657
|
};
|
|
4366
|
-
const tabsCarousel = createChipTabsLocalSnippetElement("ChipTabsCarousel", {
|
|
4367
|
-
swipeable: false
|
|
4368
|
-
}, triggers.map(({ value })=>createChipTabsLocalSnippetElement("ChipTabsContent", {
|
|
4369
|
-
value
|
|
4370
|
-
}, value)));
|
|
4371
|
-
const tabsList = createChipTabsLocalSnippetElement("ChipTabsList", undefined, triggers.map(({ elementNode })=>elementNode));
|
|
4372
|
-
return createChipTabsLocalSnippetElement("ChipTabsRoot", rootProps, [
|
|
4373
|
-
tabsList,
|
|
4374
|
-
tabsCarousel
|
|
4375
|
-
]);
|
|
4658
|
+
const tabsCarousel = createChipTabsLocalSnippetElement("ChipTabsCarousel", {
|
|
4659
|
+
swipeable: false
|
|
4660
|
+
}, triggers.map(({ value })=>createChipTabsLocalSnippetElement("ChipTabsContent", {
|
|
4661
|
+
value
|
|
4662
|
+
}, value)));
|
|
4663
|
+
const tabsList = createChipTabsLocalSnippetElement("ChipTabsList", undefined, triggers.map(({ elementNode })=>elementNode));
|
|
4664
|
+
return createChipTabsLocalSnippetElement("ChipTabsRoot", rootProps, [
|
|
4665
|
+
tabsList,
|
|
4666
|
+
tabsCarousel
|
|
4667
|
+
]);
|
|
4668
|
+
});
|
|
4669
|
+
};
|
|
4670
|
+
const CHIP_TRIGGER_KEY = "95bf31a329f9e8bba0d9aa2299d1552f1d388148";
|
|
4671
|
+
const createChipTabsTriggerHandler = (_ctx)=>defineComponentHandler(CHIP_TRIGGER_KEY, (node)=>{
|
|
4672
|
+
const [chip$1] = findAllInstances({
|
|
4673
|
+
node,
|
|
4674
|
+
key: chip.key
|
|
4675
|
+
});
|
|
4676
|
+
if (!chip$1) throw new Error("Chip not found in ChipTabsTrigger");
|
|
4677
|
+
const props = node.componentProperties;
|
|
4678
|
+
const chipProps = chip$1.componentProperties;
|
|
4679
|
+
const commonProps = {
|
|
4680
|
+
value: chipProps["Label#7185:0"].value,
|
|
4681
|
+
...chipProps.State.value === "Disabled" && {
|
|
4682
|
+
disabled: true
|
|
4683
|
+
},
|
|
4684
|
+
...props["Has Notification"].value === "True" && {
|
|
4685
|
+
notification: true
|
|
4686
|
+
}
|
|
4687
|
+
};
|
|
4688
|
+
return createChipTabsLocalSnippetElement("ChipTabsTrigger", commonProps);
|
|
4689
|
+
});
|
|
4690
|
+
|
|
4691
|
+
const { createLocalSnippetElement: createLocalSnippetElement$1 } = 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$1("TextField", {
|
|
4804
|
+
...fieldProps,
|
|
4805
|
+
...commonProps,
|
|
4806
|
+
...value && {
|
|
4807
|
+
defaultValue: value.characters
|
|
4808
|
+
}
|
|
4809
|
+
}, createLocalSnippetElement$1("TextFieldInput", inputProps));
|
|
4376
4810
|
});
|
|
4377
4811
|
};
|
|
4378
|
-
const
|
|
4379
|
-
const
|
|
4380
|
-
|
|
4812
|
+
const createTextareaFieldHandler = (ctx)=>{
|
|
4813
|
+
const fieldHeaderHandler = createFieldHeaderHandler();
|
|
4814
|
+
const fieldFooterHandler = createFieldFooterHandler();
|
|
4815
|
+
return defineComponentHandler(templateTextareaField.key, (node, traverse)=>{
|
|
4816
|
+
const [textarea] = findAllInstances({
|
|
4381
4817
|
node,
|
|
4382
|
-
key:
|
|
4818
|
+
key: TEXTAREA_KEY
|
|
4383
4819
|
});
|
|
4384
|
-
|
|
4385
|
-
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
|
|
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
|
|
4394
4839
|
}
|
|
4395
4840
|
};
|
|
4396
|
-
return createChipTabsLocalSnippetElement("ChipTabsTrigger", commonProps);
|
|
4397
|
-
});
|
|
4398
|
-
|
|
4399
|
-
const { createLocalSnippetElement: createLocalSnippetElement$1 } = createLocalSnippetHelper("text-field");
|
|
4400
|
-
const createTextFieldHandler = (ctx)=>defineComponentHandler(textField.key, ({ componentProperties: props })=>{
|
|
4401
|
-
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;
|
|
4402
|
-
const states = state.split("-");
|
|
4403
4841
|
const commonProps = {
|
|
4404
|
-
|
|
4405
|
-
// header
|
|
4406
|
-
...showHeader && {
|
|
4407
|
-
label
|
|
4408
|
-
},
|
|
4409
|
-
...showHeader && showIndicator && {
|
|
4410
|
-
indicator
|
|
4411
|
-
},
|
|
4412
|
-
// input affixes
|
|
4413
|
-
...showPrefix && showPrefixIcon && {
|
|
4414
|
-
prefixIcon: ctx.iconHandler.transform(prefixIcon)
|
|
4415
|
-
},
|
|
4416
|
-
...showPrefix && showPrefixText && {
|
|
4417
|
-
prefix
|
|
4418
|
-
},
|
|
4419
|
-
...showSuffix && showSuffixIcon && {
|
|
4420
|
-
suffixIcon: ctx.iconHandler.transform(suffixIcon)
|
|
4421
|
-
},
|
|
4422
|
-
...showSuffix && showSuffixText && {
|
|
4423
|
-
suffix
|
|
4424
|
-
},
|
|
4425
|
-
// input
|
|
4426
|
-
...filled === "True" && {
|
|
4427
|
-
defaultValue
|
|
4428
|
-
},
|
|
4429
|
-
...states.includes("Invalid") && {
|
|
4430
|
-
invalid: true
|
|
4431
|
-
},
|
|
4432
|
-
...states.includes("Disabled") && {
|
|
4842
|
+
...textarea.componentProperties.State.value === "Disabled" && {
|
|
4433
4843
|
disabled: true
|
|
4434
4844
|
},
|
|
4435
|
-
...
|
|
4845
|
+
...textarea.componentProperties.State.value === "Read Only" && {
|
|
4436
4846
|
readOnly: true
|
|
4437
4847
|
},
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
// invalid인 경우 description을 error로 사용
|
|
4441
|
-
errorMessage: description
|
|
4442
|
-
},
|
|
4443
|
-
...showFooter && showDescription && !states.includes("Invalid") && {
|
|
4444
|
-
// invalid가 아닌 경우 description을 description으로 사용
|
|
4445
|
-
description
|
|
4446
|
-
},
|
|
4447
|
-
...showFooter && showCharacterCount && {
|
|
4448
|
-
maxGraphemeCount: Number(maxCharacterCount)
|
|
4848
|
+
...value && {
|
|
4849
|
+
defaultValue: value.characters
|
|
4449
4850
|
}
|
|
4450
4851
|
};
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
|
|
4455
|
-
return createLocalSnippetElement$1("TextField", commonProps, TextFieldChildren);
|
|
4852
|
+
return createLocalSnippetElement$1("TextField", {
|
|
4853
|
+
...fieldProps,
|
|
4854
|
+
...commonProps
|
|
4855
|
+
}, createLocalSnippetElement$1("TextFieldTextarea", inputProps));
|
|
4456
4856
|
});
|
|
4857
|
+
};
|
|
4457
4858
|
|
|
4458
4859
|
const { createLocalSnippetElement } = createLocalSnippetHelper("toggle-button");
|
|
4459
4860
|
const createToggleButtonHandler = (ctx)=>defineComponentHandler(toggleButton.key, ({ componentProperties: props })=>{
|
|
@@ -4547,19 +4948,40 @@ function bindComponentHandler(unbound, deps) {
|
|
|
4547
4948
|
const unboundSeedComponentHandlers = [
|
|
4548
4949
|
createActionButtonGhostHandler,
|
|
4549
4950
|
createActionButtonHandler,
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
createAvatarHandler,
|
|
4553
|
-
createAvatarStackHandler,
|
|
4951
|
+
createTextInputFieldHandler,
|
|
4952
|
+
createTextareaFieldHandler,
|
|
4554
4953
|
createBadgeHandler,
|
|
4555
|
-
|
|
4954
|
+
createChipHandler,
|
|
4556
4955
|
createCalloutHandler,
|
|
4956
|
+
createPageBannerHandler,
|
|
4557
4957
|
createCheckboxHandler,
|
|
4558
4958
|
createCheckmarkHandler,
|
|
4559
|
-
|
|
4560
|
-
|
|
4959
|
+
createRadioGroupItemHandler,
|
|
4960
|
+
createRadioMarkHandler,
|
|
4961
|
+
createSwitchHandler,
|
|
4962
|
+
createSwitchMarkHandler,
|
|
4963
|
+
createAlertDialogHandler,
|
|
4561
4964
|
createDividerHandler,
|
|
4965
|
+
createAvatarHandler,
|
|
4966
|
+
createAvatarStackHandler,
|
|
4967
|
+
createSegmentedControlHandler,
|
|
4968
|
+
createSelectBoxGroupHandler,
|
|
4969
|
+
createSelectBoxHandler,
|
|
4970
|
+
createSliderHandler,
|
|
4971
|
+
createSliderFieldHandler,
|
|
4972
|
+
createTabsHandler,
|
|
4973
|
+
createTagGroupHandler,
|
|
4974
|
+
createTagGroupItemHandler,
|
|
4975
|
+
createToggleButtonHandler,
|
|
4976
|
+
createAppBarHandler,
|
|
4977
|
+
createBottomSheetHandler,
|
|
4978
|
+
createFieldButtonHandler,
|
|
4979
|
+
createAddressFieldHandler,
|
|
4980
|
+
createDatePickerFieldHandler,
|
|
4981
|
+
createSelectFieldHandler,
|
|
4982
|
+
createTimePickerFieldHandler,
|
|
4562
4983
|
createErrorStateHandler,
|
|
4984
|
+
createContextualFloatingButtonHandler,
|
|
4563
4985
|
createFloatingActionButtonHandler,
|
|
4564
4986
|
createHelpBubbleHandler,
|
|
4565
4987
|
createIdentityPlaceholderHandler,
|
|
@@ -4568,24 +4990,10 @@ const unboundSeedComponentHandlers = [
|
|
|
4568
4990
|
createMannerTempBadgeHandler,
|
|
4569
4991
|
createMannerTempHandler,
|
|
4570
4992
|
createMenuSheetHandler,
|
|
4571
|
-
createMultilineTextFieldHandler,
|
|
4572
|
-
createPageBannerHandler,
|
|
4573
4993
|
createProgressCircleHandler,
|
|
4574
|
-
createRadioGroupItemHandler,
|
|
4575
|
-
createRadioMarkHandler,
|
|
4576
4994
|
createReactionButtonHandler,
|
|
4577
|
-
createSegmentedControlHandler,
|
|
4578
|
-
createSelectBoxGroupHandler,
|
|
4579
|
-
createSelectBoxHandler,
|
|
4580
4995
|
createSkeletonHandler,
|
|
4581
|
-
createSnackbarHandler
|
|
4582
|
-
createSwitchHandler,
|
|
4583
|
-
createSwitchMarkHandler,
|
|
4584
|
-
createTabsHandler,
|
|
4585
|
-
createTagGroupHandler,
|
|
4586
|
-
createTagGroupItemHandler,
|
|
4587
|
-
createTextFieldHandler,
|
|
4588
|
-
createToggleButtonHandler
|
|
4996
|
+
createSnackbarHandler
|
|
4589
4997
|
];
|
|
4590
4998
|
|
|
4591
4999
|
function createStaticIconRepository(iconRecord) {
|
|
@@ -5985,6 +6393,16 @@ const FIGMA_ICONS = {
|
|
|
5985
6393
|
"type": "monochrome",
|
|
5986
6394
|
"weight": "Line"
|
|
5987
6395
|
},
|
|
6396
|
+
"8c85104333ba7cc69fc866b41770316a6bd226d9": {
|
|
6397
|
+
"name": "icon_grid_dot5",
|
|
6398
|
+
"type": "monochrome",
|
|
6399
|
+
"weight": "Fill"
|
|
6400
|
+
},
|
|
6401
|
+
"29482f6a02c7c0fe2d714271ca540c197e2c5e9a": {
|
|
6402
|
+
"name": "icon_grid_dot5",
|
|
6403
|
+
"type": "monochrome",
|
|
6404
|
+
"weight": "Line"
|
|
6405
|
+
},
|
|
5988
6406
|
"94396773c3208ff19b7650bb7f48de6600492c83": {
|
|
5989
6407
|
"name": "icon_grid_heart",
|
|
5990
6408
|
"type": "monochrome",
|
|
@@ -6375,6 +6793,16 @@ const FIGMA_ICONS = {
|
|
|
6375
6793
|
"type": "monochrome",
|
|
6376
6794
|
"weight": "Line"
|
|
6377
6795
|
},
|
|
6796
|
+
"af40e22f4795e41a24778fae19232b7ffe8d0b95": {
|
|
6797
|
+
"name": "icon_midcut_square",
|
|
6798
|
+
"type": "monochrome",
|
|
6799
|
+
"weight": "Fill"
|
|
6800
|
+
},
|
|
6801
|
+
"7c104076f1c7d9bbe9e14f5957012f2c7a5710d7": {
|
|
6802
|
+
"name": "icon_midcut_square",
|
|
6803
|
+
"type": "monochrome",
|
|
6804
|
+
"weight": "Line"
|
|
6805
|
+
},
|
|
6378
6806
|
"5fa174f09a36f25f6af68e8a7b268e1d9a7f4752": {
|
|
6379
6807
|
"name": "icon_minus_circle",
|
|
6380
6808
|
"type": "monochrome",
|
|
@@ -7777,6 +8205,10 @@ const FIGMA_ICONS = {
|
|
|
7777
8205
|
"name": "icon_gift",
|
|
7778
8206
|
"type": "multicolor"
|
|
7779
8207
|
},
|
|
8208
|
+
"e44bf2ccec8dd6a9b720e15f1660854234aeb9ca": {
|
|
8209
|
+
"name": "icon_grid_dot5",
|
|
8210
|
+
"type": "multicolor"
|
|
8211
|
+
},
|
|
7780
8212
|
"9d3511905b35064003bf689e7f536f120e1fa5ad": {
|
|
7781
8213
|
"name": "icon_horizline_viewfinder",
|
|
7782
8214
|
"type": "multicolor"
|
|
@@ -7869,6 +8301,10 @@ const FIGMA_ICONS = {
|
|
|
7869
8301
|
"name": "icon_sneaker_lifted_leftside",
|
|
7870
8302
|
"type": "multicolor"
|
|
7871
8303
|
},
|
|
8304
|
+
"e8eb13395b0696f63d148a8c31401b21382f03ef": {
|
|
8305
|
+
"name": "icon_sofa",
|
|
8306
|
+
"type": "multicolor"
|
|
8307
|
+
},
|
|
7872
8308
|
"7fa76e36cb5397446a8ac3105d882ea685290c1b": {
|
|
7873
8309
|
"name": "icon_sparkle2",
|
|
7874
8310
|
"type": "multicolor"
|
|
@@ -7924,62 +8360,6 @@ const FIGMA_ICONS = {
|
|
|
7924
8360
|
};
|
|
7925
8361
|
|
|
7926
8362
|
const FIGMA_STYLES = [
|
|
7927
|
-
{
|
|
7928
|
-
"styleType": "FILL",
|
|
7929
|
-
"key": "c1cee6b89c357c6a12d020654d73a4490cafdf51",
|
|
7930
|
-
"name": "gradient/fade/layer-default/←(to-left)",
|
|
7931
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7932
|
-
"remote": false
|
|
7933
|
-
},
|
|
7934
|
-
{
|
|
7935
|
-
"styleType": "FILL",
|
|
7936
|
-
"key": "ff436e73cf9477a1006e6f8a1f9d2c9dbe0e5edd",
|
|
7937
|
-
"name": "gradient/fade/layer-default/→(to-right)",
|
|
7938
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7939
|
-
"remote": false
|
|
7940
|
-
},
|
|
7941
|
-
{
|
|
7942
|
-
"styleType": "FILL",
|
|
7943
|
-
"key": "826457503b7ee3d472eab91581b1fcd499c47c00",
|
|
7944
|
-
"name": "gradient/fade/layer-default/↑(to-top)",
|
|
7945
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7946
|
-
"remote": false
|
|
7947
|
-
},
|
|
7948
|
-
{
|
|
7949
|
-
"styleType": "FILL",
|
|
7950
|
-
"key": "408cb970f1de672217f452152b0398a4bb4f4e12",
|
|
7951
|
-
"name": "gradient/fade/layer-default/↓(to-bottom)",
|
|
7952
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7953
|
-
"remote": false
|
|
7954
|
-
},
|
|
7955
|
-
{
|
|
7956
|
-
"styleType": "FILL",
|
|
7957
|
-
"key": "df22450a8f8e9c323baf40d8981920d1b6376cbf",
|
|
7958
|
-
"name": "gradient/fade/layer-floating/←(to-left)",
|
|
7959
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7960
|
-
"remote": false
|
|
7961
|
-
},
|
|
7962
|
-
{
|
|
7963
|
-
"styleType": "FILL",
|
|
7964
|
-
"key": "063c0dc05b438ac36499492e783520a722782d74",
|
|
7965
|
-
"name": "gradient/fade/layer-floating/→(to-right)",
|
|
7966
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7967
|
-
"remote": false
|
|
7968
|
-
},
|
|
7969
|
-
{
|
|
7970
|
-
"styleType": "FILL",
|
|
7971
|
-
"key": "46186d7dd037e8e54983ee6677cf7915790d84cc",
|
|
7972
|
-
"name": "gradient/fade/layer-floating/↑(to-top)",
|
|
7973
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7974
|
-
"remote": false
|
|
7975
|
-
},
|
|
7976
|
-
{
|
|
7977
|
-
"styleType": "FILL",
|
|
7978
|
-
"key": "b28d9c9adc816fdd4ecec3a0b3e25d8aec802b6a",
|
|
7979
|
-
"name": "gradient/fade/layer-floating/↓(to-bottom)",
|
|
7980
|
-
"description": "스크롤이 가능하도록 그라디언트로 특정 영역을 덮는 요소로 사용해요.",
|
|
7981
|
-
"remote": false
|
|
7982
|
-
},
|
|
7983
8363
|
{
|
|
7984
8364
|
"styleType": "FILL",
|
|
7985
8365
|
"key": "353baa82e0440385eb121cd0ae98d2fcb1a70b18",
|
|
@@ -8270,10 +8650,10 @@ const FIGMA_VARIABLE_COLLECTIONS = {
|
|
|
8270
8650
|
"VariableID:238:17662",
|
|
8271
8651
|
"VariableID:17544:4057",
|
|
8272
8652
|
"VariableID:1:171",
|
|
8273
|
-
"VariableID:41186:6437",
|
|
8274
8653
|
"VariableID:670:2700",
|
|
8275
|
-
"VariableID:
|
|
8654
|
+
"VariableID:41186:6437",
|
|
8276
8655
|
"VariableID:1:172",
|
|
8656
|
+
"VariableID:1:158",
|
|
8277
8657
|
"VariableID:1:161",
|
|
8278
8658
|
"VariableID:1:159",
|
|
8279
8659
|
"VariableID:576:22878",
|
|
@@ -8321,8 +8701,8 @@ const FIGMA_VARIABLE_COLLECTIONS = {
|
|
|
8321
8701
|
"VariableID:12479:23364",
|
|
8322
8702
|
"VariableID:12479:23365",
|
|
8323
8703
|
"VariableID:12479:23366",
|
|
8324
|
-
"VariableID:1:7",
|
|
8325
8704
|
"VariableID:12548:1437",
|
|
8705
|
+
"VariableID:1:7",
|
|
8326
8706
|
"VariableID:12479:23367",
|
|
8327
8707
|
"VariableID:12479:23368",
|
|
8328
8708
|
"VariableID:12479:23371",
|
|
@@ -8457,14 +8837,12 @@ const FIGMA_VARIABLE_COLLECTIONS = {
|
|
|
8457
8837
|
"VariableID:10181:34417",
|
|
8458
8838
|
"VariableID:1:168",
|
|
8459
8839
|
"VariableID:29913:8440",
|
|
8460
|
-
"VariableID:29917:289",
|
|
8461
8840
|
"VariableID:29917:362",
|
|
8462
|
-
"VariableID:30009:40284",
|
|
8463
8841
|
"VariableID:29917:5084",
|
|
8842
|
+
"VariableID:30009:40284",
|
|
8464
8843
|
"VariableID:30009:40393",
|
|
8465
8844
|
"VariableID:30021:1313",
|
|
8466
8845
|
"VariableID:30023:1876",
|
|
8467
|
-
"VariableID:30023:1877",
|
|
8468
8846
|
"VariableID:30023:3032",
|
|
8469
8847
|
"VariableID:30023:1878",
|
|
8470
8848
|
"VariableID:30023:3347",
|
|
@@ -8485,7 +8863,12 @@ const FIGMA_VARIABLE_COLLECTIONS = {
|
|
|
8485
8863
|
"VariableID:43290:12820",
|
|
8486
8864
|
"VariableID:43290:12822",
|
|
8487
8865
|
"VariableID:43290:12823",
|
|
8488
|
-
"VariableID:43290:12824"
|
|
8866
|
+
"VariableID:43290:12824",
|
|
8867
|
+
"VariableID:49497:1643",
|
|
8868
|
+
"VariableID:49497:1644",
|
|
8869
|
+
"VariableID:49495:1861",
|
|
8870
|
+
"VariableID:49497:1645",
|
|
8871
|
+
"VariableID:49497:1646"
|
|
8489
8872
|
]
|
|
8490
8873
|
},
|
|
8491
8874
|
"VariableCollectionId:1:174": {
|
|
@@ -8611,9 +8994,9 @@ const FIGMA_VARIABLE_COLLECTIONS = {
|
|
|
8611
8994
|
"VariableID:289:13772",
|
|
8612
8995
|
"VariableID:1886:93038",
|
|
8613
8996
|
"VariableID:289:13773",
|
|
8997
|
+
"VariableID:796:4448",
|
|
8614
8998
|
"VariableID:15518:15916",
|
|
8615
8999
|
"VariableID:19225:68732",
|
|
8616
|
-
"VariableID:796:4448",
|
|
8617
9000
|
"VariableID:17955:50606",
|
|
8618
9001
|
"VariableID:514:13178",
|
|
8619
9002
|
"VariableID:535:1747",
|
|
@@ -8704,6 +9087,136 @@ const FIGMA_VARIABLES = {
|
|
|
8704
9087
|
],
|
|
8705
9088
|
"codeSyntax": {}
|
|
8706
9089
|
},
|
|
9090
|
+
"VariableID:49495:1861": {
|
|
9091
|
+
"name": "_scroll-fog",
|
|
9092
|
+
"id": "VariableID:49495:1861",
|
|
9093
|
+
"remote": false,
|
|
9094
|
+
"key": "12f1d88d590090e396c9b283bb51d4e89d9016d2",
|
|
9095
|
+
"variableCollectionId": "VariableCollectionId:1:3",
|
|
9096
|
+
"resolvedType": "COLOR",
|
|
9097
|
+
"description": "",
|
|
9098
|
+
"hiddenFromPublishing": false,
|
|
9099
|
+
"valuesByMode": {
|
|
9100
|
+
"1928:7": {
|
|
9101
|
+
"type": "VARIABLE_ALIAS",
|
|
9102
|
+
"id": "VariableID:29453:35711"
|
|
9103
|
+
},
|
|
9104
|
+
"1928:8": {
|
|
9105
|
+
"r": 1,
|
|
9106
|
+
"g": 1,
|
|
9107
|
+
"b": 1,
|
|
9108
|
+
"a": 1
|
|
9109
|
+
}
|
|
9110
|
+
},
|
|
9111
|
+
"scopes": [
|
|
9112
|
+
"ALL_SCOPES"
|
|
9113
|
+
],
|
|
9114
|
+
"codeSyntax": {}
|
|
9115
|
+
},
|
|
9116
|
+
"VariableID:49497:1643": {
|
|
9117
|
+
"name": "_scroll-fog/layer-default/0",
|
|
9118
|
+
"id": "VariableID:49497:1643",
|
|
9119
|
+
"remote": false,
|
|
9120
|
+
"key": "fae00f7e2fc2ee7cd4bef58de19f468255ca4c5c",
|
|
9121
|
+
"variableCollectionId": "VariableCollectionId:1:3",
|
|
9122
|
+
"resolvedType": "COLOR",
|
|
9123
|
+
"description": "",
|
|
9124
|
+
"hiddenFromPublishing": false,
|
|
9125
|
+
"valuesByMode": {
|
|
9126
|
+
"1928:7": {
|
|
9127
|
+
"type": "VARIABLE_ALIAS",
|
|
9128
|
+
"id": "VariableID:1:155"
|
|
9129
|
+
},
|
|
9130
|
+
"1928:8": {
|
|
9131
|
+
"type": "VARIABLE_ALIAS",
|
|
9132
|
+
"id": "VariableID:1:155"
|
|
9133
|
+
}
|
|
9134
|
+
},
|
|
9135
|
+
"scopes": [
|
|
9136
|
+
"ALL_SCOPES"
|
|
9137
|
+
],
|
|
9138
|
+
"codeSyntax": {}
|
|
9139
|
+
},
|
|
9140
|
+
"VariableID:49497:1644": {
|
|
9141
|
+
"name": "_scroll-fog/layer-default/1",
|
|
9142
|
+
"id": "VariableID:49497:1644",
|
|
9143
|
+
"remote": false,
|
|
9144
|
+
"key": "fac0ada2e11c8d54997dce0fc72a723fce514a9f",
|
|
9145
|
+
"variableCollectionId": "VariableCollectionId:1:3",
|
|
9146
|
+
"resolvedType": "COLOR",
|
|
9147
|
+
"description": "",
|
|
9148
|
+
"hiddenFromPublishing": false,
|
|
9149
|
+
"valuesByMode": {
|
|
9150
|
+
"1928:7": {
|
|
9151
|
+
"r": 1,
|
|
9152
|
+
"g": 1,
|
|
9153
|
+
"b": 1,
|
|
9154
|
+
"a": 0
|
|
9155
|
+
},
|
|
9156
|
+
"1928:8": {
|
|
9157
|
+
"r": 0.08627451211214066,
|
|
9158
|
+
"g": 0.09019608050584793,
|
|
9159
|
+
"b": 0.10588235408067703,
|
|
9160
|
+
"a": 0
|
|
9161
|
+
}
|
|
9162
|
+
},
|
|
9163
|
+
"scopes": [
|
|
9164
|
+
"ALL_SCOPES"
|
|
9165
|
+
],
|
|
9166
|
+
"codeSyntax": {}
|
|
9167
|
+
},
|
|
9168
|
+
"VariableID:49497:1645": {
|
|
9169
|
+
"name": "_scroll-fog/layer-floating/0",
|
|
9170
|
+
"id": "VariableID:49497:1645",
|
|
9171
|
+
"remote": false,
|
|
9172
|
+
"key": "334d485b6f54e6ed8dce767cd150b578f4323ad3",
|
|
9173
|
+
"variableCollectionId": "VariableCollectionId:1:3",
|
|
9174
|
+
"resolvedType": "COLOR",
|
|
9175
|
+
"description": "",
|
|
9176
|
+
"hiddenFromPublishing": false,
|
|
9177
|
+
"valuesByMode": {
|
|
9178
|
+
"1928:7": {
|
|
9179
|
+
"type": "VARIABLE_ALIAS",
|
|
9180
|
+
"id": "VariableID:238:17662"
|
|
9181
|
+
},
|
|
9182
|
+
"1928:8": {
|
|
9183
|
+
"type": "VARIABLE_ALIAS",
|
|
9184
|
+
"id": "VariableID:238:17662"
|
|
9185
|
+
}
|
|
9186
|
+
},
|
|
9187
|
+
"scopes": [
|
|
9188
|
+
"ALL_SCOPES"
|
|
9189
|
+
],
|
|
9190
|
+
"codeSyntax": {}
|
|
9191
|
+
},
|
|
9192
|
+
"VariableID:49497:1646": {
|
|
9193
|
+
"name": "_scroll-fog/layer-floating/1",
|
|
9194
|
+
"id": "VariableID:49497:1646",
|
|
9195
|
+
"remote": false,
|
|
9196
|
+
"key": "3259bea6c3999bc3ad72999fd3123648544bd002",
|
|
9197
|
+
"variableCollectionId": "VariableCollectionId:1:3",
|
|
9198
|
+
"resolvedType": "COLOR",
|
|
9199
|
+
"description": "",
|
|
9200
|
+
"hiddenFromPublishing": false,
|
|
9201
|
+
"valuesByMode": {
|
|
9202
|
+
"1928:7": {
|
|
9203
|
+
"r": 1,
|
|
9204
|
+
"g": 1,
|
|
9205
|
+
"b": 1,
|
|
9206
|
+
"a": 0
|
|
9207
|
+
},
|
|
9208
|
+
"1928:8": {
|
|
9209
|
+
"r": 0.11555555462837219,
|
|
9210
|
+
"g": 0.12638889253139496,
|
|
9211
|
+
"b": 0.14444443583488464,
|
|
9212
|
+
"a": 0
|
|
9213
|
+
}
|
|
9214
|
+
},
|
|
9215
|
+
"scopes": [
|
|
9216
|
+
"ALL_SCOPES"
|
|
9217
|
+
],
|
|
9218
|
+
"codeSyntax": {}
|
|
9219
|
+
},
|
|
8707
9220
|
"VariableID:1:151": {
|
|
8708
9221
|
"name": "bg/brand-solid",
|
|
8709
9222
|
"id": "VariableID:1:151",
|