@seed-design/figma 1.3.6 → 1.3.7
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 +65 -1
- package/lib/codegen/index.js +65 -1
- package/lib/codegen/targets/react/index.cjs +275 -166
- package/lib/codegen/targets/react/index.js +275 -166
- package/lib/index.cjs +93 -1
- package/lib/index.js +93 -1
- package/package.json +3 -3
- package/src/codegen/component-properties.ts +4 -0
- package/src/codegen/targets/react/component/handlers/content-placeholder.ts +20 -0
- package/src/codegen/targets/react/component/handlers/image-frame.ts +14 -1
- package/src/codegen/targets/react/component/handlers/index.ts +1 -0
- package/src/entities/data/__generated__/component-sets/index.d.ts +66 -2
- package/src/entities/data/__generated__/component-sets/index.mjs +65 -1
- package/src/entities/data/__generated__/components/index.d.ts +5 -5
- package/src/entities/data/__generated__/components/index.mjs +5 -5
- package/src/entities/data/__generated__/icons/index.mjs +28 -0
package/lib/index.cjs
CHANGED
|
@@ -2789,6 +2789,16 @@ const FIGMA_ICONS = {
|
|
|
2789
2789
|
"type": "monochrome",
|
|
2790
2790
|
"weight": "Line"
|
|
2791
2791
|
},
|
|
2792
|
+
"dc015c59783f44e084809cc62404a93493842bb2": {
|
|
2793
|
+
"name": "icon_map",
|
|
2794
|
+
"type": "monochrome",
|
|
2795
|
+
"weight": "Fill"
|
|
2796
|
+
},
|
|
2797
|
+
"3724666f033ddb53644d75d196f55c076cd7ae12": {
|
|
2798
|
+
"name": "icon_map",
|
|
2799
|
+
"type": "monochrome",
|
|
2800
|
+
"weight": "Line"
|
|
2801
|
+
},
|
|
2792
2802
|
"07663395a21fd95087d677438538d8f61403c842": {
|
|
2793
2803
|
"name": "icon_map_locationpin",
|
|
2794
2804
|
"type": "monochrome",
|
|
@@ -3629,6 +3639,16 @@ const FIGMA_ICONS = {
|
|
|
3629
3639
|
"type": "monochrome",
|
|
3630
3640
|
"weight": "Line"
|
|
3631
3641
|
},
|
|
3642
|
+
"223debab61daa1aafd381a078e32b18f46ccbd59": {
|
|
3643
|
+
"name": "icon_square_splited_vertical_left",
|
|
3644
|
+
"type": "monochrome",
|
|
3645
|
+
"weight": "Fill"
|
|
3646
|
+
},
|
|
3647
|
+
"3e9e65a307d3ce3135bf5db67ca987a791294a70": {
|
|
3648
|
+
"name": "icon_square_splited_vertical_left",
|
|
3649
|
+
"type": "monochrome",
|
|
3650
|
+
"weight": "Line"
|
|
3651
|
+
},
|
|
3632
3652
|
"dba88cf915454127856088f2523c40ff5f4d21df": {
|
|
3633
3653
|
"name": "icon_square2_stacked",
|
|
3634
3654
|
"type": "monochrome",
|
|
@@ -4215,6 +4235,10 @@ const FIGMA_ICONS = {
|
|
|
4215
4235
|
"name": "icon_car_frontside",
|
|
4216
4236
|
"type": "multicolor"
|
|
4217
4237
|
},
|
|
4238
|
+
"3591ea6c06e913f34881b9a873f8d7de8db47aa0": {
|
|
4239
|
+
"name": "icon_car_frontside_bubble",
|
|
4240
|
+
"type": "multicolor"
|
|
4241
|
+
},
|
|
4218
4242
|
"dce1bb113c685af444682183176ec0cb583d114f": {
|
|
4219
4243
|
"name": "icon_card",
|
|
4220
4244
|
"type": "multicolor"
|
|
@@ -4423,6 +4447,10 @@ const FIGMA_ICONS = {
|
|
|
4423
4447
|
"name": "icon_tshirt_bubble2",
|
|
4424
4448
|
"type": "multicolor"
|
|
4425
4449
|
},
|
|
4450
|
+
"054c908bd177d6ff85ff90b7ab3887fa17a6c3fb": {
|
|
4451
|
+
"name": "icon_vertrectangle_tiltedstacked",
|
|
4452
|
+
"type": "multicolor"
|
|
4453
|
+
},
|
|
4426
4454
|
"ab66ee11be5539d340a87f1e9ca021fef1db3ef8": {
|
|
4427
4455
|
"name": "icon_vest_horizstripe",
|
|
4428
4456
|
"type": "multicolor"
|
|
@@ -22540,6 +22568,29 @@ const privateTemplateChipGroup = {
|
|
|
22540
22568
|
}
|
|
22541
22569
|
}
|
|
22542
22570
|
};
|
|
22571
|
+
const privateComponentContentPlaceholder = {
|
|
22572
|
+
"name": "privateComponentContentPlaceholder",
|
|
22573
|
+
"key": "49e110c31e4a7e6e9872d369f889dc48c0f5cef4",
|
|
22574
|
+
"componentPropertyDefinitions": {
|
|
22575
|
+
"Type": {
|
|
22576
|
+
"type": "VARIANT",
|
|
22577
|
+
"variantOptions": [
|
|
22578
|
+
"Default",
|
|
22579
|
+
"Coupon",
|
|
22580
|
+
"Realty",
|
|
22581
|
+
"Car",
|
|
22582
|
+
"Jobs",
|
|
22583
|
+
"Buy-sell",
|
|
22584
|
+
"Business",
|
|
22585
|
+
"Post",
|
|
22586
|
+
"Group",
|
|
22587
|
+
"Image",
|
|
22588
|
+
"Food",
|
|
22589
|
+
"Commerce"
|
|
22590
|
+
]
|
|
22591
|
+
}
|
|
22592
|
+
}
|
|
22593
|
+
};
|
|
22543
22594
|
const privateComponentFieldFooterCharacterCount = {
|
|
22544
22595
|
"name": "privateComponentFieldFooterCharacterCount",
|
|
22545
22596
|
"key": "73f1a9275275c87b563e879e6948318523faf8e4",
|
|
@@ -22603,6 +22654,19 @@ const privateComponentIdentityPlaceholder = {
|
|
|
22603
22654
|
}
|
|
22604
22655
|
}
|
|
22605
22656
|
};
|
|
22657
|
+
const privateComponentIdentityPlaceholderStatic = {
|
|
22658
|
+
"name": "privateComponentIdentityPlaceholderStatic",
|
|
22659
|
+
"key": "628e8010084e94e426edf97021ddaadff1c9e008",
|
|
22660
|
+
"componentPropertyDefinitions": {
|
|
22661
|
+
"Identity": {
|
|
22662
|
+
"type": "VARIANT",
|
|
22663
|
+
"variantOptions": [
|
|
22664
|
+
"Person",
|
|
22665
|
+
"Business"
|
|
22666
|
+
]
|
|
22667
|
+
}
|
|
22668
|
+
}
|
|
22669
|
+
};
|
|
22606
22670
|
const privateComponentInputButtonPrefix = {
|
|
22607
22671
|
"name": "privateComponentInputButtonPrefix",
|
|
22608
22672
|
"key": "c7d12be4056a8171f6857ec4ef15d81bd18d8cae",
|
|
@@ -24261,6 +24325,30 @@ const componentAvatar = {
|
|
|
24261
24325
|
}
|
|
24262
24326
|
}
|
|
24263
24327
|
};
|
|
24328
|
+
const templateAvatarPreset = {
|
|
24329
|
+
"name": "templateAvatarPreset",
|
|
24330
|
+
"key": "42eefce6a1ab0d45780d2be5346d8ec5f6bace6e",
|
|
24331
|
+
"componentPropertyDefinitions": {
|
|
24332
|
+
"Image": {
|
|
24333
|
+
"type": "VARIANT",
|
|
24334
|
+
"variantOptions": [
|
|
24335
|
+
"001",
|
|
24336
|
+
"002",
|
|
24337
|
+
"003",
|
|
24338
|
+
"004",
|
|
24339
|
+
"005",
|
|
24340
|
+
"006",
|
|
24341
|
+
"007",
|
|
24342
|
+
"008",
|
|
24343
|
+
"009",
|
|
24344
|
+
"010",
|
|
24345
|
+
"011",
|
|
24346
|
+
"012",
|
|
24347
|
+
"013"
|
|
24348
|
+
]
|
|
24349
|
+
}
|
|
24350
|
+
}
|
|
24351
|
+
};
|
|
24264
24352
|
const componentAvatarStack = {
|
|
24265
24353
|
"name": "componentAvatarStack",
|
|
24266
24354
|
"key": "99d74f36d2989b450cc0c7f15eb6495888bb1cec",
|
|
@@ -24495,7 +24583,8 @@ const templateChatScreenPreset = {
|
|
|
24495
24583
|
"비즈프로필(고객 뷰)",
|
|
24496
24584
|
"비즈프로필 (사장님 뷰)",
|
|
24497
24585
|
"알바 (구인자 뷰)",
|
|
24498
|
-
"알바 (구직자 뷰)"
|
|
24586
|
+
"알바 (구직자 뷰)",
|
|
24587
|
+
"Service11"
|
|
24499
24588
|
]
|
|
24500
24589
|
}
|
|
24501
24590
|
}
|
|
@@ -26572,10 +26661,12 @@ var FIGMA_COMPONENTS = {
|
|
|
26572
26661
|
privateComponentAlertDialogActions: privateComponentAlertDialogActions,
|
|
26573
26662
|
privateComponentBottomSheetCloseButton: privateComponentBottomSheetCloseButton,
|
|
26574
26663
|
privateComponentBottomSheetHandle: privateComponentBottomSheetHandle,
|
|
26664
|
+
privateComponentContentPlaceholder: privateComponentContentPlaceholder,
|
|
26575
26665
|
privateComponentFieldFooterCharacterCount: privateComponentFieldFooterCharacterCount,
|
|
26576
26666
|
privateComponentFieldHeaderIndicator: privateComponentFieldHeaderIndicator,
|
|
26577
26667
|
privateComponentFieldHeaderSuffix: privateComponentFieldHeaderSuffix,
|
|
26578
26668
|
privateComponentIdentityPlaceholder: privateComponentIdentityPlaceholder,
|
|
26669
|
+
privateComponentIdentityPlaceholderStatic: privateComponentIdentityPlaceholderStatic,
|
|
26579
26670
|
privateComponentInputButtonPrefix: privateComponentInputButtonPrefix,
|
|
26580
26671
|
privateComponentInputButtonSuffix: privateComponentInputButtonSuffix,
|
|
26581
26672
|
privateComponentInputButtonValue: privateComponentInputButtonValue,
|
|
@@ -26626,6 +26717,7 @@ var FIGMA_COMPONENTS = {
|
|
|
26626
26717
|
privateTemplatePhoneNumberField: privateTemplatePhoneNumberField,
|
|
26627
26718
|
privateTemplatePinField: privateTemplatePinField,
|
|
26628
26719
|
privateTemplateRootTopNavigationPreset: privateTemplateRootTopNavigationPreset,
|
|
26720
|
+
templateAvatarPreset: templateAvatarPreset,
|
|
26629
26721
|
templateButtonGroup: templateButtonGroup,
|
|
26630
26722
|
templateChatScreenPreset: templateChatScreenPreset,
|
|
26631
26723
|
templateCheckboxField: templateCheckboxField,
|
package/lib/index.js
CHANGED
|
@@ -2789,6 +2789,16 @@ const FIGMA_ICONS = {
|
|
|
2789
2789
|
"type": "monochrome",
|
|
2790
2790
|
"weight": "Line"
|
|
2791
2791
|
},
|
|
2792
|
+
"dc015c59783f44e084809cc62404a93493842bb2": {
|
|
2793
|
+
"name": "icon_map",
|
|
2794
|
+
"type": "monochrome",
|
|
2795
|
+
"weight": "Fill"
|
|
2796
|
+
},
|
|
2797
|
+
"3724666f033ddb53644d75d196f55c076cd7ae12": {
|
|
2798
|
+
"name": "icon_map",
|
|
2799
|
+
"type": "monochrome",
|
|
2800
|
+
"weight": "Line"
|
|
2801
|
+
},
|
|
2792
2802
|
"07663395a21fd95087d677438538d8f61403c842": {
|
|
2793
2803
|
"name": "icon_map_locationpin",
|
|
2794
2804
|
"type": "monochrome",
|
|
@@ -3629,6 +3639,16 @@ const FIGMA_ICONS = {
|
|
|
3629
3639
|
"type": "monochrome",
|
|
3630
3640
|
"weight": "Line"
|
|
3631
3641
|
},
|
|
3642
|
+
"223debab61daa1aafd381a078e32b18f46ccbd59": {
|
|
3643
|
+
"name": "icon_square_splited_vertical_left",
|
|
3644
|
+
"type": "monochrome",
|
|
3645
|
+
"weight": "Fill"
|
|
3646
|
+
},
|
|
3647
|
+
"3e9e65a307d3ce3135bf5db67ca987a791294a70": {
|
|
3648
|
+
"name": "icon_square_splited_vertical_left",
|
|
3649
|
+
"type": "monochrome",
|
|
3650
|
+
"weight": "Line"
|
|
3651
|
+
},
|
|
3632
3652
|
"dba88cf915454127856088f2523c40ff5f4d21df": {
|
|
3633
3653
|
"name": "icon_square2_stacked",
|
|
3634
3654
|
"type": "monochrome",
|
|
@@ -4215,6 +4235,10 @@ const FIGMA_ICONS = {
|
|
|
4215
4235
|
"name": "icon_car_frontside",
|
|
4216
4236
|
"type": "multicolor"
|
|
4217
4237
|
},
|
|
4238
|
+
"3591ea6c06e913f34881b9a873f8d7de8db47aa0": {
|
|
4239
|
+
"name": "icon_car_frontside_bubble",
|
|
4240
|
+
"type": "multicolor"
|
|
4241
|
+
},
|
|
4218
4242
|
"dce1bb113c685af444682183176ec0cb583d114f": {
|
|
4219
4243
|
"name": "icon_card",
|
|
4220
4244
|
"type": "multicolor"
|
|
@@ -4423,6 +4447,10 @@ const FIGMA_ICONS = {
|
|
|
4423
4447
|
"name": "icon_tshirt_bubble2",
|
|
4424
4448
|
"type": "multicolor"
|
|
4425
4449
|
},
|
|
4450
|
+
"054c908bd177d6ff85ff90b7ab3887fa17a6c3fb": {
|
|
4451
|
+
"name": "icon_vertrectangle_tiltedstacked",
|
|
4452
|
+
"type": "multicolor"
|
|
4453
|
+
},
|
|
4426
4454
|
"ab66ee11be5539d340a87f1e9ca021fef1db3ef8": {
|
|
4427
4455
|
"name": "icon_vest_horizstripe",
|
|
4428
4456
|
"type": "multicolor"
|
|
@@ -22540,6 +22568,29 @@ const privateTemplateChipGroup = {
|
|
|
22540
22568
|
}
|
|
22541
22569
|
}
|
|
22542
22570
|
};
|
|
22571
|
+
const privateComponentContentPlaceholder = {
|
|
22572
|
+
"name": "privateComponentContentPlaceholder",
|
|
22573
|
+
"key": "49e110c31e4a7e6e9872d369f889dc48c0f5cef4",
|
|
22574
|
+
"componentPropertyDefinitions": {
|
|
22575
|
+
"Type": {
|
|
22576
|
+
"type": "VARIANT",
|
|
22577
|
+
"variantOptions": [
|
|
22578
|
+
"Default",
|
|
22579
|
+
"Coupon",
|
|
22580
|
+
"Realty",
|
|
22581
|
+
"Car",
|
|
22582
|
+
"Jobs",
|
|
22583
|
+
"Buy-sell",
|
|
22584
|
+
"Business",
|
|
22585
|
+
"Post",
|
|
22586
|
+
"Group",
|
|
22587
|
+
"Image",
|
|
22588
|
+
"Food",
|
|
22589
|
+
"Commerce"
|
|
22590
|
+
]
|
|
22591
|
+
}
|
|
22592
|
+
}
|
|
22593
|
+
};
|
|
22543
22594
|
const privateComponentFieldFooterCharacterCount = {
|
|
22544
22595
|
"name": "privateComponentFieldFooterCharacterCount",
|
|
22545
22596
|
"key": "73f1a9275275c87b563e879e6948318523faf8e4",
|
|
@@ -22603,6 +22654,19 @@ const privateComponentIdentityPlaceholder = {
|
|
|
22603
22654
|
}
|
|
22604
22655
|
}
|
|
22605
22656
|
};
|
|
22657
|
+
const privateComponentIdentityPlaceholderStatic = {
|
|
22658
|
+
"name": "privateComponentIdentityPlaceholderStatic",
|
|
22659
|
+
"key": "628e8010084e94e426edf97021ddaadff1c9e008",
|
|
22660
|
+
"componentPropertyDefinitions": {
|
|
22661
|
+
"Identity": {
|
|
22662
|
+
"type": "VARIANT",
|
|
22663
|
+
"variantOptions": [
|
|
22664
|
+
"Person",
|
|
22665
|
+
"Business"
|
|
22666
|
+
]
|
|
22667
|
+
}
|
|
22668
|
+
}
|
|
22669
|
+
};
|
|
22606
22670
|
const privateComponentInputButtonPrefix = {
|
|
22607
22671
|
"name": "privateComponentInputButtonPrefix",
|
|
22608
22672
|
"key": "c7d12be4056a8171f6857ec4ef15d81bd18d8cae",
|
|
@@ -24261,6 +24325,30 @@ const componentAvatar = {
|
|
|
24261
24325
|
}
|
|
24262
24326
|
}
|
|
24263
24327
|
};
|
|
24328
|
+
const templateAvatarPreset = {
|
|
24329
|
+
"name": "templateAvatarPreset",
|
|
24330
|
+
"key": "42eefce6a1ab0d45780d2be5346d8ec5f6bace6e",
|
|
24331
|
+
"componentPropertyDefinitions": {
|
|
24332
|
+
"Image": {
|
|
24333
|
+
"type": "VARIANT",
|
|
24334
|
+
"variantOptions": [
|
|
24335
|
+
"001",
|
|
24336
|
+
"002",
|
|
24337
|
+
"003",
|
|
24338
|
+
"004",
|
|
24339
|
+
"005",
|
|
24340
|
+
"006",
|
|
24341
|
+
"007",
|
|
24342
|
+
"008",
|
|
24343
|
+
"009",
|
|
24344
|
+
"010",
|
|
24345
|
+
"011",
|
|
24346
|
+
"012",
|
|
24347
|
+
"013"
|
|
24348
|
+
]
|
|
24349
|
+
}
|
|
24350
|
+
}
|
|
24351
|
+
};
|
|
24264
24352
|
const componentAvatarStack = {
|
|
24265
24353
|
"name": "componentAvatarStack",
|
|
24266
24354
|
"key": "99d74f36d2989b450cc0c7f15eb6495888bb1cec",
|
|
@@ -24495,7 +24583,8 @@ const templateChatScreenPreset = {
|
|
|
24495
24583
|
"비즈프로필(고객 뷰)",
|
|
24496
24584
|
"비즈프로필 (사장님 뷰)",
|
|
24497
24585
|
"알바 (구인자 뷰)",
|
|
24498
|
-
"알바 (구직자 뷰)"
|
|
24586
|
+
"알바 (구직자 뷰)",
|
|
24587
|
+
"Service11"
|
|
24499
24588
|
]
|
|
24500
24589
|
}
|
|
24501
24590
|
}
|
|
@@ -26572,10 +26661,12 @@ var FIGMA_COMPONENTS = {
|
|
|
26572
26661
|
privateComponentAlertDialogActions: privateComponentAlertDialogActions,
|
|
26573
26662
|
privateComponentBottomSheetCloseButton: privateComponentBottomSheetCloseButton,
|
|
26574
26663
|
privateComponentBottomSheetHandle: privateComponentBottomSheetHandle,
|
|
26664
|
+
privateComponentContentPlaceholder: privateComponentContentPlaceholder,
|
|
26575
26665
|
privateComponentFieldFooterCharacterCount: privateComponentFieldFooterCharacterCount,
|
|
26576
26666
|
privateComponentFieldHeaderIndicator: privateComponentFieldHeaderIndicator,
|
|
26577
26667
|
privateComponentFieldHeaderSuffix: privateComponentFieldHeaderSuffix,
|
|
26578
26668
|
privateComponentIdentityPlaceholder: privateComponentIdentityPlaceholder,
|
|
26669
|
+
privateComponentIdentityPlaceholderStatic: privateComponentIdentityPlaceholderStatic,
|
|
26579
26670
|
privateComponentInputButtonPrefix: privateComponentInputButtonPrefix,
|
|
26580
26671
|
privateComponentInputButtonSuffix: privateComponentInputButtonSuffix,
|
|
26581
26672
|
privateComponentInputButtonValue: privateComponentInputButtonValue,
|
|
@@ -26626,6 +26717,7 @@ var FIGMA_COMPONENTS = {
|
|
|
26626
26717
|
privateTemplatePhoneNumberField: privateTemplatePhoneNumberField,
|
|
26627
26718
|
privateTemplatePinField: privateTemplatePinField,
|
|
26628
26719
|
privateTemplateRootTopNavigationPreset: privateTemplateRootTopNavigationPreset,
|
|
26720
|
+
templateAvatarPreset: templateAvatarPreset,
|
|
26629
26721
|
templateButtonGroup: templateButtonGroup,
|
|
26630
26722
|
templateChatScreenPreset: templateChatScreenPreset,
|
|
26631
26723
|
templateCheckboxField: templateCheckboxField,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seed-design/figma",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.7",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/daangn/seed-design.git",
|
|
@@ -39,14 +39,14 @@
|
|
|
39
39
|
"sync-entities": "find src/entities/data/__generated__ -mindepth 1 -maxdepth 1 ! -name 'archive' -exec rm -rf {} + 2>/dev/null; bun figma-extractor src/entities/data/__generated__"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@seed-design/css": "1.2.
|
|
42
|
+
"@seed-design/css": "1.2.6",
|
|
43
43
|
"change-case": "^5.4.4",
|
|
44
44
|
"ts-pattern": "^5.7.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@figma/plugin-typings": "^1.110.0",
|
|
48
48
|
"@figma/rest-api-spec": "^0.36.0",
|
|
49
|
-
"@karrotmarket/icon-data": "^1.
|
|
49
|
+
"@karrotmarket/icon-data": "^1.22.0",
|
|
50
50
|
"@seed-design/figma-extractor": "^1.1.0",
|
|
51
51
|
"typescript": "^5.9.2"
|
|
52
52
|
},
|
|
@@ -58,6 +58,10 @@ export type ChipIconSuffixProperties = InferComponentDefinition<
|
|
|
58
58
|
typeof components.componentChipSuffixIcon.componentPropertyDefinitions
|
|
59
59
|
>;
|
|
60
60
|
|
|
61
|
+
export type ContentPlaceholderProperties = InferComponentDefinition<
|
|
62
|
+
typeof sets.privateComponentContentPlaceholder.componentPropertyDefinitions
|
|
63
|
+
>;
|
|
64
|
+
|
|
61
65
|
export type ContextualFloatingButtonProperties = InferComponentDefinition<
|
|
62
66
|
typeof sets.componentContextualFloatingButton.componentPropertyDefinitions
|
|
63
67
|
>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { defineComponentHandler } from "@/codegen/core";
|
|
2
|
+
import { camelCase } from "change-case";
|
|
3
|
+
import { createLocalSnippetHelper } from "../../element-factories";
|
|
4
|
+
import type { ComponentHandlerDeps } from "../deps.interface";
|
|
5
|
+
import type { ContentPlaceholderProperties } from "@/codegen/component-properties";
|
|
6
|
+
import * as metadata from "@/entities/data/__generated__/component-sets";
|
|
7
|
+
|
|
8
|
+
const { createLocalSnippetElement } = createLocalSnippetHelper("content-placeholder");
|
|
9
|
+
|
|
10
|
+
export const createContentPlaceholderHandler = (_ctx: ComponentHandlerDeps) =>
|
|
11
|
+
defineComponentHandler<ContentPlaceholderProperties>(
|
|
12
|
+
metadata.privateComponentContentPlaceholder.key,
|
|
13
|
+
({ componentProperties: props }) => {
|
|
14
|
+
const commonProps = {
|
|
15
|
+
type: camelCase(props.Type.value),
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
return createLocalSnippetElement("ContentPlaceholder", commonProps);
|
|
19
|
+
},
|
|
20
|
+
);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
BadgeProperties,
|
|
3
|
+
ContentPlaceholderProperties,
|
|
3
4
|
ImageFrameIconProperties,
|
|
4
5
|
ImageFrameOverlayIndicatorProperties,
|
|
5
6
|
ImageFrameProperties,
|
|
@@ -8,10 +9,11 @@ import type {
|
|
|
8
9
|
import { defineComponentHandler } from "@/codegen/core";
|
|
9
10
|
import * as metadata from "@/entities/data/__generated__/component-sets";
|
|
10
11
|
import * as components from "@/entities/data/__generated__/components";
|
|
11
|
-
import { findAllInstances, findOne } from "@/utils/figma-node";
|
|
12
|
+
import { findAll, findAllInstances, findOne } from "@/utils/figma-node";
|
|
12
13
|
import { createSeedReactElement } from "../../element-factories";
|
|
13
14
|
import type { ComponentHandlerDeps } from "../deps.interface";
|
|
14
15
|
import { createBadgeHandler } from "@/codegen/targets/react/component/handlers/badge";
|
|
16
|
+
import { createContentPlaceholderHandler } from "@/codegen/targets/react/component/handlers/content-placeholder";
|
|
15
17
|
|
|
16
18
|
const CORNER_CONFIGS = [
|
|
17
19
|
{
|
|
@@ -88,11 +90,18 @@ export const createImageFrameIconHandler = (ctx: ComponentHandlerDeps) => {
|
|
|
88
90
|
};
|
|
89
91
|
|
|
90
92
|
export const createImageFrameHandler = (ctx: ComponentHandlerDeps) => {
|
|
93
|
+
const contentPlaceholderHandler = createContentPlaceholderHandler(ctx);
|
|
94
|
+
|
|
91
95
|
return defineComponentHandler<ImageFrameProperties>(
|
|
92
96
|
metadata.componentImageFrame.key,
|
|
93
97
|
(node, traverse) => {
|
|
94
98
|
const props = node.componentProperties;
|
|
95
99
|
|
|
100
|
+
const [placeholder] = findAllInstances<ContentPlaceholderProperties>({
|
|
101
|
+
node,
|
|
102
|
+
key: contentPlaceholderHandler.key,
|
|
103
|
+
});
|
|
104
|
+
|
|
96
105
|
const floaters = [];
|
|
97
106
|
for (const { showKey, placement } of CORNER_CONFIGS) {
|
|
98
107
|
if (!props[showKey].value) continue;
|
|
@@ -116,6 +125,10 @@ export const createImageFrameHandler = (ctx: ComponentHandlerDeps) => {
|
|
|
116
125
|
borderRadius: ctx.valueResolver.getFormattedValue.topLeftRadius(node),
|
|
117
126
|
}),
|
|
118
127
|
|
|
128
|
+
...(placeholder && {
|
|
129
|
+
fallback: contentPlaceholderHandler.transform(placeholder, traverse),
|
|
130
|
+
}),
|
|
131
|
+
|
|
119
132
|
...(node.layoutGrow === 1
|
|
120
133
|
? { flexGrow: true }
|
|
121
134
|
: node.layoutAlign === "STRETCH"
|
|
@@ -9,6 +9,7 @@ export * from "./callout";
|
|
|
9
9
|
export * from "./checkbox";
|
|
10
10
|
export * from "./checkmark";
|
|
11
11
|
export * from "./chip";
|
|
12
|
+
export * from "./content-placeholder";
|
|
12
13
|
export * from "./contextual-floating-button";
|
|
13
14
|
export * from "./divider";
|
|
14
15
|
export * from "./field-button";
|
|
@@ -170,6 +170,30 @@ export declare const privateTemplateChipGroup: {
|
|
|
170
170
|
}
|
|
171
171
|
};
|
|
172
172
|
|
|
173
|
+
export declare const privateComponentContentPlaceholder: {
|
|
174
|
+
"name": "privateComponentContentPlaceholder",
|
|
175
|
+
"key": "49e110c31e4a7e6e9872d369f889dc48c0f5cef4",
|
|
176
|
+
"componentPropertyDefinitions": {
|
|
177
|
+
"Type": {
|
|
178
|
+
"type": "VARIANT",
|
|
179
|
+
"variantOptions": [
|
|
180
|
+
"Default",
|
|
181
|
+
"Coupon",
|
|
182
|
+
"Realty",
|
|
183
|
+
"Car",
|
|
184
|
+
"Jobs",
|
|
185
|
+
"Buy-sell",
|
|
186
|
+
"Business",
|
|
187
|
+
"Post",
|
|
188
|
+
"Group",
|
|
189
|
+
"Image",
|
|
190
|
+
"Food",
|
|
191
|
+
"Commerce"
|
|
192
|
+
]
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
|
|
173
197
|
export declare const privateComponentFieldFooterCharacterCount: {
|
|
174
198
|
"name": "privateComponentFieldFooterCharacterCount",
|
|
175
199
|
"key": "73f1a9275275c87b563e879e6948318523faf8e4",
|
|
@@ -237,6 +261,20 @@ export declare const privateComponentIdentityPlaceholder: {
|
|
|
237
261
|
}
|
|
238
262
|
};
|
|
239
263
|
|
|
264
|
+
export declare const privateComponentIdentityPlaceholderStatic: {
|
|
265
|
+
"name": "privateComponentIdentityPlaceholderStatic",
|
|
266
|
+
"key": "628e8010084e94e426edf97021ddaadff1c9e008",
|
|
267
|
+
"componentPropertyDefinitions": {
|
|
268
|
+
"Identity": {
|
|
269
|
+
"type": "VARIANT",
|
|
270
|
+
"variantOptions": [
|
|
271
|
+
"Person",
|
|
272
|
+
"Business"
|
|
273
|
+
]
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
|
|
240
278
|
export declare const privateComponentInputButtonPrefix: {
|
|
241
279
|
"name": "privateComponentInputButtonPrefix",
|
|
242
280
|
"key": "c7d12be4056a8171f6857ec4ef15d81bd18d8cae",
|
|
@@ -1956,6 +1994,31 @@ export declare const componentAvatar: {
|
|
|
1956
1994
|
}
|
|
1957
1995
|
};
|
|
1958
1996
|
|
|
1997
|
+
export declare const templateAvatarPreset: {
|
|
1998
|
+
"name": "templateAvatarPreset",
|
|
1999
|
+
"key": "42eefce6a1ab0d45780d2be5346d8ec5f6bace6e",
|
|
2000
|
+
"componentPropertyDefinitions": {
|
|
2001
|
+
"Image": {
|
|
2002
|
+
"type": "VARIANT",
|
|
2003
|
+
"variantOptions": [
|
|
2004
|
+
"001",
|
|
2005
|
+
"002",
|
|
2006
|
+
"003",
|
|
2007
|
+
"004",
|
|
2008
|
+
"005",
|
|
2009
|
+
"006",
|
|
2010
|
+
"007",
|
|
2011
|
+
"008",
|
|
2012
|
+
"009",
|
|
2013
|
+
"010",
|
|
2014
|
+
"011",
|
|
2015
|
+
"012",
|
|
2016
|
+
"013"
|
|
2017
|
+
]
|
|
2018
|
+
}
|
|
2019
|
+
}
|
|
2020
|
+
};
|
|
2021
|
+
|
|
1959
2022
|
export declare const componentAvatarStack: {
|
|
1960
2023
|
"name": "componentAvatarStack",
|
|
1961
2024
|
"key": "99d74f36d2989b450cc0c7f15eb6495888bb1cec",
|
|
@@ -2196,7 +2259,8 @@ export declare const templateChatScreenPreset: {
|
|
|
2196
2259
|
"비즈프로필(고객 뷰)",
|
|
2197
2260
|
"비즈프로필 (사장님 뷰)",
|
|
2198
2261
|
"알바 (구인자 뷰)",
|
|
2199
|
-
"알바 (구직자 뷰)"
|
|
2262
|
+
"알바 (구직자 뷰)",
|
|
2263
|
+
"Service11"
|
|
2200
2264
|
]
|
|
2201
2265
|
}
|
|
2202
2266
|
}
|
|
@@ -4258,4 +4322,4 @@ export declare const componentSelectBoxItemVertical: {
|
|
|
4258
4322
|
]
|
|
4259
4323
|
}
|
|
4260
4324
|
}
|
|
4261
|
-
};
|
|
4325
|
+
};
|
|
@@ -170,6 +170,30 @@ export const privateTemplateChipGroup = {
|
|
|
170
170
|
}
|
|
171
171
|
};
|
|
172
172
|
|
|
173
|
+
export const privateComponentContentPlaceholder = {
|
|
174
|
+
"name": "privateComponentContentPlaceholder",
|
|
175
|
+
"key": "49e110c31e4a7e6e9872d369f889dc48c0f5cef4",
|
|
176
|
+
"componentPropertyDefinitions": {
|
|
177
|
+
"Type": {
|
|
178
|
+
"type": "VARIANT",
|
|
179
|
+
"variantOptions": [
|
|
180
|
+
"Default",
|
|
181
|
+
"Coupon",
|
|
182
|
+
"Realty",
|
|
183
|
+
"Car",
|
|
184
|
+
"Jobs",
|
|
185
|
+
"Buy-sell",
|
|
186
|
+
"Business",
|
|
187
|
+
"Post",
|
|
188
|
+
"Group",
|
|
189
|
+
"Image",
|
|
190
|
+
"Food",
|
|
191
|
+
"Commerce"
|
|
192
|
+
]
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
|
|
173
197
|
export const privateComponentFieldFooterCharacterCount = {
|
|
174
198
|
"name": "privateComponentFieldFooterCharacterCount",
|
|
175
199
|
"key": "73f1a9275275c87b563e879e6948318523faf8e4",
|
|
@@ -237,6 +261,20 @@ export const privateComponentIdentityPlaceholder = {
|
|
|
237
261
|
}
|
|
238
262
|
};
|
|
239
263
|
|
|
264
|
+
export const privateComponentIdentityPlaceholderStatic = {
|
|
265
|
+
"name": "privateComponentIdentityPlaceholderStatic",
|
|
266
|
+
"key": "628e8010084e94e426edf97021ddaadff1c9e008",
|
|
267
|
+
"componentPropertyDefinitions": {
|
|
268
|
+
"Identity": {
|
|
269
|
+
"type": "VARIANT",
|
|
270
|
+
"variantOptions": [
|
|
271
|
+
"Person",
|
|
272
|
+
"Business"
|
|
273
|
+
]
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
|
|
240
278
|
export const privateComponentInputButtonPrefix = {
|
|
241
279
|
"name": "privateComponentInputButtonPrefix",
|
|
242
280
|
"key": "c7d12be4056a8171f6857ec4ef15d81bd18d8cae",
|
|
@@ -1956,6 +1994,31 @@ export const componentAvatar = {
|
|
|
1956
1994
|
}
|
|
1957
1995
|
};
|
|
1958
1996
|
|
|
1997
|
+
export const templateAvatarPreset = {
|
|
1998
|
+
"name": "templateAvatarPreset",
|
|
1999
|
+
"key": "42eefce6a1ab0d45780d2be5346d8ec5f6bace6e",
|
|
2000
|
+
"componentPropertyDefinitions": {
|
|
2001
|
+
"Image": {
|
|
2002
|
+
"type": "VARIANT",
|
|
2003
|
+
"variantOptions": [
|
|
2004
|
+
"001",
|
|
2005
|
+
"002",
|
|
2006
|
+
"003",
|
|
2007
|
+
"004",
|
|
2008
|
+
"005",
|
|
2009
|
+
"006",
|
|
2010
|
+
"007",
|
|
2011
|
+
"008",
|
|
2012
|
+
"009",
|
|
2013
|
+
"010",
|
|
2014
|
+
"011",
|
|
2015
|
+
"012",
|
|
2016
|
+
"013"
|
|
2017
|
+
]
|
|
2018
|
+
}
|
|
2019
|
+
}
|
|
2020
|
+
};
|
|
2021
|
+
|
|
1959
2022
|
export const componentAvatarStack = {
|
|
1960
2023
|
"name": "componentAvatarStack",
|
|
1961
2024
|
"key": "99d74f36d2989b450cc0c7f15eb6495888bb1cec",
|
|
@@ -2196,7 +2259,8 @@ export const templateChatScreenPreset = {
|
|
|
2196
2259
|
"비즈프로필(고객 뷰)",
|
|
2197
2260
|
"비즈프로필 (사장님 뷰)",
|
|
2198
2261
|
"알바 (구인자 뷰)",
|
|
2199
|
-
"알바 (구직자 뷰)"
|
|
2262
|
+
"알바 (구직자 뷰)",
|
|
2263
|
+
"Service11"
|
|
2200
2264
|
]
|
|
2201
2265
|
}
|
|
2202
2266
|
}
|
|
@@ -84,6 +84,11 @@ export declare const templateInformationList: {
|
|
|
84
84
|
"key": "ea1ff4070a5ef4ada5974dc7030e8f9a1b759cdb"
|
|
85
85
|
};
|
|
86
86
|
|
|
87
|
+
export declare const componentFigmaOnly: {
|
|
88
|
+
"name": "componentFigmaOnly",
|
|
89
|
+
"key": "a790da2ff1fb6f761abf202034920c1504b8f8f1"
|
|
90
|
+
};
|
|
91
|
+
|
|
87
92
|
export declare const componentBottomSheetContentsAgreement: {
|
|
88
93
|
"name": "componentBottomSheetContentsAgreement",
|
|
89
94
|
"key": "9d530235407646750ce8298b2815093dffcbbd83"
|
|
@@ -371,8 +376,3 @@ export declare const componentSelectBoxItemSuffixRadiomark: {
|
|
|
371
376
|
"name": "componentSelectBoxItemSuffixRadiomark",
|
|
372
377
|
"key": "cfb712b12fe2805b5594f8c143147c8aa3de490e"
|
|
373
378
|
};
|
|
374
|
-
|
|
375
|
-
export declare const componentFigmaOnly: {
|
|
376
|
-
"name": "componentFigmaOnly",
|
|
377
|
-
"key": "a790da2ff1fb6f761abf202034920c1504b8f8f1"
|
|
378
|
-
};
|
|
@@ -84,6 +84,11 @@ export const templateInformationList = {
|
|
|
84
84
|
"key": "ea1ff4070a5ef4ada5974dc7030e8f9a1b759cdb"
|
|
85
85
|
};
|
|
86
86
|
|
|
87
|
+
export const componentFigmaOnly = {
|
|
88
|
+
"name": "componentFigmaOnly",
|
|
89
|
+
"key": "a790da2ff1fb6f761abf202034920c1504b8f8f1"
|
|
90
|
+
};
|
|
91
|
+
|
|
87
92
|
export const componentBottomSheetContentsAgreement = {
|
|
88
93
|
"name": "componentBottomSheetContentsAgreement",
|
|
89
94
|
"key": "9d530235407646750ce8298b2815093dffcbbd83"
|
|
@@ -371,8 +376,3 @@ export const componentSelectBoxItemSuffixRadiomark = {
|
|
|
371
376
|
"name": "componentSelectBoxItemSuffixRadiomark",
|
|
372
377
|
"key": "cfb712b12fe2805b5594f8c143147c8aa3de490e"
|
|
373
378
|
};
|
|
374
|
-
|
|
375
|
-
export const componentFigmaOnly = {
|
|
376
|
-
"name": "componentFigmaOnly",
|
|
377
|
-
"key": "a790da2ff1fb6f761abf202034920c1504b8f8f1"
|
|
378
|
-
};
|