@lightspeed/crane 1.1.2 → 1.2.0
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/bin/crane.js +0 -1
- package/dist/app.d.mts +20 -2
- package/dist/app.d.ts +20 -2
- package/dist/app.mjs +1 -1
- package/dist/cli.mjs +10 -23
- package/package.json +10 -5
- package/template/footers/example-footer/ExampleFooter.vue +6 -1
- package/template/footers/example-footer/assets/cart.svg +19 -0
- package/template/footers/example-footer/component/LegalLinks.vue +2 -2
- package/template/footers/example-footer/component/MadeWith.vue +23 -0
- package/template/footers/example-footer/component/ReportAbuse.vue +4 -3
- package/template/footers/example-footer/showcases/1.ts +1 -1
- package/template/headers/example-header/ExampleHeader.vue +17 -2
- package/template/headers/example-header/component/Account.vue +4 -4
- package/template/headers/example-header/component/Cart.vue +14 -33
- package/template/headers/example-header/settings/content.ts +1 -9
- package/template/headers/example-header/settings/design.ts +1 -23
- package/template/package.json +1 -1
- package/template/reference/sections/about-us/AboutUs.vue +73 -0
- package/template/reference/sections/about-us/assets/our_company_in_numbers.jpg +0 -0
- package/template/reference/sections/about-us/assets/our_company_in_numbers_preview.jpg +0 -0
- package/template/reference/sections/about-us/assets/our_team.jpg +0 -0
- package/template/reference/sections/about-us/assets/our_team_preview.jpg +0 -0
- package/template/reference/sections/about-us/client.ts +6 -0
- package/template/reference/sections/about-us/component/Image.vue +94 -0
- package/template/reference/sections/about-us/component/Stats.vue +155 -0
- package/template/reference/sections/about-us/component/Title.vue +32 -0
- package/template/reference/sections/about-us/server.ts +6 -0
- package/template/reference/sections/about-us/settings/content.ts +64 -0
- package/template/reference/sections/about-us/settings/design.ts +74 -0
- package/template/reference/sections/about-us/settings/layout.ts +12 -0
- package/template/reference/sections/about-us/settings/translations.ts +151 -0
- package/template/reference/sections/about-us/showcases/1.ts +155 -0
- package/template/reference/sections/about-us/showcases/2.ts +143 -0
- package/template/reference/sections/about-us/showcases/translations.ts +259 -0
- package/template/reference/sections/about-us/type.ts +5 -0
- package/template/reference/sections/about-us/util/visibility-provider.ts +27 -0
- package/template/reference/sections/intro-slider/IntroSlider.vue +77 -0
- package/template/reference/sections/intro-slider/assets/bike_1.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/bike_1@2x.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/bike_2.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/bike_2@2x.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/bike_3.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/bike_3@2x.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/bike_4.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/bike_4@2x.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/bike_5.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/bike_5@2x.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/bike_6.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/bike_6@2x.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/category_1.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/category_1@2x.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/category_2.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/category_2@2x.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/category_3.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/category_3@2x.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/category_5.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/category_5@2x.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/category_6.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/category_6@2x.jpg +0 -0
- package/template/reference/sections/intro-slider/assets/custom_section_showcase_1_preview.png +0 -0
- package/template/reference/sections/intro-slider/assets/custom_section_showcase_2_preview.png +0 -0
- package/template/reference/sections/intro-slider/client.ts +5 -0
- package/template/reference/sections/intro-slider/component/Slider.vue +235 -0
- package/template/reference/sections/intro-slider/component/Title.vue +106 -0
- package/template/reference/sections/intro-slider/entity/color.ts +4 -0
- package/template/reference/sections/intro-slider/server.ts +5 -0
- package/template/reference/sections/intro-slider/settings/content.ts +43 -0
- package/template/reference/sections/intro-slider/settings/design.ts +88 -0
- package/template/reference/sections/intro-slider/settings/layout.ts +12 -0
- package/template/reference/sections/intro-slider/settings/translations.ts +53 -0
- package/template/reference/sections/intro-slider/showcases/1.ts +275 -0
- package/template/reference/sections/intro-slider/showcases/2.ts +271 -0
- package/template/reference/sections/intro-slider/showcases/translations.ts +88 -0
- package/template/reference/sections/intro-slider/type.ts +5 -0
- package/template/reference/sections/tag-lines/TagLines.vue +158 -0
- package/template/reference/sections/tag-lines/assets/explore_our_holiday_gift_guide.jpg +0 -0
- package/template/reference/sections/tag-lines/assets/fall_is_here.jpg +0 -0
- package/template/reference/sections/tag-lines/assets/fall_is_here_preview.jpg +0 -0
- package/template/reference/sections/tag-lines/assets/folding_bikes.jpg +0 -0
- package/template/reference/sections/tag-lines/assets/hybrid_bikes.jpg +0 -0
- package/template/reference/sections/tag-lines/assets/mountain_and_road_bikes.jpg +0 -0
- package/template/reference/sections/tag-lines/assets/shop_chelsea_boots.jpg +0 -0
- package/template/reference/sections/tag-lines/assets/sweater_weather.jpg +0 -0
- package/template/reference/sections/tag-lines/assets/what_we_sell.jpg +0 -0
- package/template/reference/sections/tag-lines/assets/what_we_sell_preview.jpg +0 -0
- package/template/reference/sections/tag-lines/client.ts +5 -0
- package/template/reference/sections/tag-lines/component/HighlightedText.vue +50 -0
- package/template/reference/sections/tag-lines/component/SectionImage.vue +78 -0
- package/template/reference/sections/tag-lines/component/Title.vue +51 -0
- package/template/reference/sections/tag-lines/composables/highlighted-text-image-list.ts +34 -0
- package/template/reference/sections/tag-lines/server.ts +5 -0
- package/template/reference/sections/tag-lines/settings/content.ts +37 -0
- package/template/reference/sections/tag-lines/settings/design.ts +81 -0
- package/template/reference/sections/tag-lines/settings/layout.ts +12 -0
- package/template/reference/sections/tag-lines/settings/translations.ts +61 -0
- package/template/reference/sections/tag-lines/showcases/1.ts +190 -0
- package/template/reference/sections/tag-lines/showcases/2.ts +190 -0
- package/template/reference/sections/tag-lines/showcases/translations.ts +49 -0
- package/template/reference/sections/tag-lines/type.ts +5 -0
- package/template/reference/shared/components/Button.vue +151 -0
- package/template/reference/shared/components/SectionWrapper.vue +26 -0
- package/template/reference/shared/components/Tagline.vue +45 -0
- package/template/reference/shared/utils/color.ts +16 -0
- package/template/reference/shared/utils/styles.ts +12 -0
- package/template/reference/templates/assets/reference_template_apparel_cover_image.jpg +0 -0
- package/template/reference/templates/assets/reference_template_bike_cover_image.jpg +0 -0
- package/template/reference/templates/reference-template-apparel.ts +44 -0
- package/template/reference/templates/reference-template-bike.ts +44 -0
- package/template/sections/example-section/ExampleSection.vue +21 -24
- package/template/sections/example-section/assets/arrow.svg +3 -0
- package/template/sections/example-section/assets/bike_accessories_high.jpg +0 -0
- package/template/sections/example-section/assets/bike_accessories_low.jpg +0 -0
- package/template/sections/example-section/assets/bike_new_arrivals_high.jpg +0 -0
- package/template/sections/example-section/assets/bike_new_arrivals_low.jpg +0 -0
- package/template/sections/example-section/assets/custom_section_showcase_3_preview.jpg +0 -0
- package/template/sections/example-section/assets/fixed_gears_high.jpg +0 -0
- package/template/sections/example-section/assets/fixed_gears_low.jpg +0 -0
- package/template/sections/example-section/assets/repair_service_high.jpg +0 -0
- package/template/sections/example-section/assets/repair_service_low.jpg +0 -0
- package/template/sections/example-section/component/button/Button.vue +87 -0
- package/template/sections/example-section/component/selectbox/Selectbox.vue +45 -0
- package/template/sections/example-section/component/toggle/Toggle.vue +110 -0
- package/template/sections/example-section/settings/content.ts +45 -0
- package/template/sections/example-section/settings/translations.ts +87 -7
- package/template/sections/example-section/showcases/1.ts +43 -0
- package/template/sections/example-section/showcases/2.ts +43 -0
- package/template/sections/example-section/showcases/3.ts +241 -0
- package/template/sections/example-section/showcases/translations.ts +205 -1
- package/template/shared/{LanguageSelector.vue → components/LanguageSelector.vue} +5 -5
- package/template/shared/components/SectionWrapper.vue +26 -0
- package/template/shared/utils.ts +28 -0
- package/template/templates/template.ts +2 -1
- package/types.d.ts +96 -70
|
@@ -13,7 +13,7 @@ export default {
|
|
|
13
13
|
|
|
14
14
|
'$label.card_button_title': 'Card button',
|
|
15
15
|
|
|
16
|
-
'$label.showcase_2.blockName': 'Reference
|
|
16
|
+
'$label.showcase_2.blockName': 'Reference Section — Apparel',
|
|
17
17
|
'$label.showcase_2.section_title.text': 'Trending collections',
|
|
18
18
|
'$label.showcase_2.image_text_1.text': 'New t-shirts collection',
|
|
19
19
|
'$label.showcase_2.image_text_2.text': 'Autumn looks',
|
|
@@ -21,6 +21,65 @@ export default {
|
|
|
21
21
|
'$label.showcase_2.image_text_4.text': 'Story of Jane',
|
|
22
22
|
'$label.showcase_2.image_link_1.text': '/products',
|
|
23
23
|
'$label.template_standard_showcase_1.section_title.text': 'Something really catchy',
|
|
24
|
+
|
|
25
|
+
'$label.showcase_3.blockName': 'Reference Section — Bike Shop',
|
|
26
|
+
'$label.showcase_3.section_title.text': 'New arrivals',
|
|
27
|
+
'$label.showcase_3.image_text_1.text': 'New Arrivals',
|
|
28
|
+
'$label.showcase_3.image_link_1.text': '/products',
|
|
29
|
+
'$label.showcase_3.image_text_2.text': 'Fixed-gears',
|
|
30
|
+
'$label.showcase_3.image_text_3.text': 'Repair service',
|
|
31
|
+
'$label.showcase_3.image_text_4.text': 'Bike accessories',
|
|
32
|
+
'$label.showcase_1.info.text': 'Showcase 1: This is info section where you can provide some useful tips regarding custom section usage',
|
|
33
|
+
'$label.showcase_2.info.text': 'Showcase 2: This is area for useful tips regarding custom section usage',
|
|
34
|
+
'$label.showcase_3.info.text': 'Showcase 3: This is info section where you can provide some useful tips regarding custom section usage',
|
|
35
|
+
'$label.showcase_1.info.button.title': 'Showcase 1: Learn',
|
|
36
|
+
'$label.showcase_2.info.button.title': 'Showcase 2: More',
|
|
37
|
+
'$label.showcase_3.info.button.title': 'Showcase 3: More',
|
|
38
|
+
|
|
39
|
+
'$label.showcase_1.button.label': 'Content.ts: Button',
|
|
40
|
+
'$label.showcase_1.button.defaults.title': 'Button Title',
|
|
41
|
+
'$label.showcase_1.toggle.label': 'Toggle',
|
|
42
|
+
'$label.showcase_1.toggle.description': 'Enable or disable this feature using the toggle switch',
|
|
43
|
+
|
|
44
|
+
'$label.showcase_1.selectbox.placeholder': 'Select an option',
|
|
45
|
+
'$label.showcase_1.selectbox.label': 'Content.ts: Selectbox',
|
|
46
|
+
'$label.showcase_1.selectbox.description': 'Content.ts:Select an option from the dropdown to customize your settings',
|
|
47
|
+
'$label.showcase_1.selectbox.one.label': 'One label',
|
|
48
|
+
'$label.showcase_1.selectbox.two.label': 'Two label',
|
|
49
|
+
|
|
50
|
+
'$label.showcase_1.info.label': 'Content.ts: Info',
|
|
51
|
+
'$label.showcase_1.info.description': 'Content.ts: This is info section where you can provide some useful tips regarding custom section usage',
|
|
52
|
+
'$label.showcase_1.info.button.label': 'Content.ts: Learn more',
|
|
53
|
+
|
|
54
|
+
'$label.showcase_2.button.label': 'Content.ts: Button',
|
|
55
|
+
'$label.showcase_2.button.defaults.title': 'Button Title',
|
|
56
|
+
'$label.showcase_2.toggle.label': 'Toggle',
|
|
57
|
+
'$label.showcase_2.toggle.description': 'Enable or disable this feature using the toggle switch',
|
|
58
|
+
|
|
59
|
+
'$label.showcase_2.selectbox.placeholder': 'Select an option',
|
|
60
|
+
'$label.showcase_2.selectbox.label': 'Content.ts: Selectbox',
|
|
61
|
+
'$label.showcase_2.selectbox.description': 'Content.ts:Select an option from the dropdown to customize your settings',
|
|
62
|
+
'$label.showcase_2.selectbox.one.label': 'One label',
|
|
63
|
+
'$label.showcase_2.selectbox.two.label': 'Two label',
|
|
64
|
+
|
|
65
|
+
'$label.showcase_2.info.label': 'Content.ts: Info',
|
|
66
|
+
'$label.showcase_2.info.description': 'Content.ts: This is info section where you can provide some useful tips regarding custom section usage',
|
|
67
|
+
'$label.showcase_2.info.button.label': 'Content.ts: Learn more',
|
|
68
|
+
|
|
69
|
+
'$label.showcase_3.button.label': 'Content.ts: Button',
|
|
70
|
+
'$label.showcase_3.button.defaults.title': 'Button Title',
|
|
71
|
+
'$label.showcase_3.toggle.label': 'Toggle',
|
|
72
|
+
'$label.showcase_3.toggle.description': 'Enable or disable this feature using the toggle switch',
|
|
73
|
+
|
|
74
|
+
'$label.showcase_3.selectbox.placeholder': 'Select an option',
|
|
75
|
+
'$label.showcase_3.selectbox.label': 'Content.ts: Selectbox',
|
|
76
|
+
'$label.showcase_3.selectbox.description': 'Content.ts:Select an option from the dropdown to customize your settings',
|
|
77
|
+
'$label.showcase_3.selectbox.one.label': 'One label',
|
|
78
|
+
'$label.showcase_3.selectbox.two.label': 'Two label',
|
|
79
|
+
|
|
80
|
+
'$label.showcase_3.info.label': 'Content.ts: Info',
|
|
81
|
+
'$label.showcase_3.info.description': 'Content.ts: This is info section where you can provide some useful tips regarding custom section usage',
|
|
82
|
+
'$label.showcase_3.info.button.label': 'Content.ts: Learn more',
|
|
24
83
|
},
|
|
25
84
|
|
|
26
85
|
nl: {
|
|
@@ -43,5 +102,150 @@ export default {
|
|
|
43
102
|
'$label.showcase_2.image_text_4.text': 'Verhaal van Jane',
|
|
44
103
|
'$label.showcase_2.image_link_1.text': '/products',
|
|
45
104
|
'$label.template_standard_showcase_1.section_title.text': 'Iets heel pakkends',
|
|
105
|
+
|
|
106
|
+
'$label.showcase_3.blockName': 'Referentiesectie — Fietsenwinkel',
|
|
107
|
+
'$label.showcase_3.section_title.text': 'Nieuw binnen',
|
|
108
|
+
'$label.showcase_3.image_text_1.text': 'Nieuw binnen',
|
|
109
|
+
'$label.showcase_3.image_link_1.text': '/products',
|
|
110
|
+
'$label.showcase_3.image_text_2.text': 'Vaste versnellingen',
|
|
111
|
+
'$label.showcase_3.image_text_3.text': 'Reparatieservice',
|
|
112
|
+
'$label.showcase_3.image_text_4.text': 'Fietsaccessoires',
|
|
113
|
+
'$label.showcase_1.info.text': 'Dit is het informatiedeel waar je enkele nuttige tips kunt geven over het gebruik van aangepaste secties',
|
|
114
|
+
'$label.showcase_2.info.text': 'Hier is een gebied voor nuttige tips over het gebruik van aangepaste secties',
|
|
115
|
+
'$label.showcase_1.info.button.title': 'Leren',
|
|
116
|
+
'$label.showcase_2.info.button.title': 'Meer',
|
|
117
|
+
|
|
118
|
+
'$label.showcase_1.button.label': 'Content.ts: Knop',
|
|
119
|
+
'$label.showcase_1.button.defaults.title': 'Knoptitel',
|
|
120
|
+
'$label.showcase_1.toggle.label': 'Schakelaar',
|
|
121
|
+
'$label.showcase_1.toggle.description': 'Schakel deze functie in of uit met de schakelaar',
|
|
122
|
+
|
|
123
|
+
'$label.showcase_1.selectbox.placeholder': 'Selecteer een optie',
|
|
124
|
+
'$label.showcase_1.selectbox.label': 'Content.ts: Selectievak',
|
|
125
|
+
'$label.showcase_1.selectbox.description': 'Content.ts:Selecteer een optie uit de dropdown om uw instellingen aan te passen',
|
|
126
|
+
'$label.showcase_1.selectbox.one.label': 'Eén label',
|
|
127
|
+
'$label.showcase_1.selectbox.two.label': 'Twee label',
|
|
128
|
+
|
|
129
|
+
'$label.showcase_1.info.label': 'Content.ts: Info',
|
|
130
|
+
'$label.showcase_1.info.description': 'Content.ts: Dit is een informatiedeel waar je enkele nuttige tips '
|
|
131
|
+
+ 'kunt geven over het gebruik van aangepaste secties',
|
|
132
|
+
'$label.showcase_1.info.button.label': 'Content.ts: Meer informatie',
|
|
133
|
+
|
|
134
|
+
'$label.showcase_2.button.label': 'Content.ts: Knop',
|
|
135
|
+
'$label.showcase_2.button.defaults.title': 'Knoptitel',
|
|
136
|
+
'$label.showcase_2.toggle.label': 'Schakelaar',
|
|
137
|
+
'$label.showcase_2.toggle.description': 'Schakel deze functie in of uit met de schakelaar',
|
|
138
|
+
|
|
139
|
+
'$label.showcase_2.selectbox.placeholder': 'Selecteer een optie',
|
|
140
|
+
'$label.showcase_2.selectbox.label': 'Content.ts: Selectievak',
|
|
141
|
+
'$label.showcase_2.selectbox.description': 'Content.ts:Selecteer een optie uit de dropdown om uw instellingen aan te passen',
|
|
142
|
+
'$label.showcase_2.selectbox.one.label': 'Eén label',
|
|
143
|
+
'$label.showcase_2.selectbox.two.label': 'Twee label',
|
|
144
|
+
|
|
145
|
+
'$label.showcase_2.info.label': 'Content.ts: Info',
|
|
146
|
+
'$label.showcase_2.info.description': 'Content.ts: Dit is een informatiedeel waar je enkele '
|
|
147
|
+
+ 'nuttige tips kunt geven over het gebruik van aangepaste secties',
|
|
148
|
+
'$label.showcase_2.info.button.label': 'Content.ts: Meer informatie',
|
|
149
|
+
|
|
150
|
+
'$label.showcase_3.button.label': 'Content.ts: Knop',
|
|
151
|
+
'$label.showcase_3.button.defaults.title': 'Knoptitel',
|
|
152
|
+
'$label.showcase_3.toggle.label': 'Schakelaar',
|
|
153
|
+
'$label.showcase_3.toggle.description': 'Schakel deze functie in of uit met de schakelaar',
|
|
154
|
+
|
|
155
|
+
'$label.showcase_3.selectbox.placeholder': 'Selecteer een optie',
|
|
156
|
+
'$label.showcase_3.selectbox.label': 'Content.ts: Selectievak',
|
|
157
|
+
'$label.showcase_3.selectbox.description': 'Content.ts:Selecteer een optie uit de dropdown om uw instellingen aan te passen',
|
|
158
|
+
'$label.showcase_3.selectbox.one.label': 'Eén label',
|
|
159
|
+
'$label.showcase_3.selectbox.two.label': 'Twee label',
|
|
160
|
+
|
|
161
|
+
'$label.showcase_3.info.label': 'Content.ts: Info',
|
|
162
|
+
'$label.showcase_3.info.description': 'Content.ts: Dit is een informatiedeel waar je enkele nuttige tips '
|
|
163
|
+
+ 'kunt geven over het gebruik van aangepaste secties',
|
|
164
|
+
'$label.showcase_3.info.button.label': 'Content.ts: Meer informatie',
|
|
165
|
+
},
|
|
166
|
+
|
|
167
|
+
fr: {
|
|
168
|
+
'$label.showcase_1.blockName': 'Section de référence — Vente au détail',
|
|
169
|
+
'$label.showcase_1.section_title.text': 'Collections tendance',
|
|
170
|
+
'$label.showcase_1.section_description.text': 'Découvrez nos pièces préférées de cette saison et offrez-vous ces '
|
|
171
|
+
+ 'pièces intemporelles adaptées à toutes les occasions. Nous offrons la livraison et les retours gratuits, ainsi '
|
|
172
|
+
+ 'que des conseils de mode 24/7 via notre application mobile.',
|
|
173
|
+
'$label.showcase_1.image_text_1.text': 'Nouveautés',
|
|
174
|
+
'$label.showcase_1.image_text_2.text': 'Look sportif',
|
|
175
|
+
'$label.showcase_1.image_text_3.text': 'Accessoires d\'été',
|
|
176
|
+
'$label.showcase_1.image_text_4.text': 'Chaussures tendance',
|
|
177
|
+
'$label.showcase_1.image_link_1.text': '/products',
|
|
178
|
+
|
|
179
|
+
'$label.card_button_title': 'Bouton de carte',
|
|
180
|
+
|
|
181
|
+
'$label.showcase_2.blockName': 'Section de référence — Vêtements',
|
|
182
|
+
'$label.showcase_2.section_title.text': 'Collections tendance',
|
|
183
|
+
'$label.showcase_2.image_text_1.text': 'Nouvelle collection de t-shirts',
|
|
184
|
+
'$label.showcase_2.image_text_2.text': 'Looks d\'automne',
|
|
185
|
+
'$label.showcase_2.image_text_3.text': 'Garde-robe de Bianka',
|
|
186
|
+
'$label.showcase_2.image_text_4.text': 'Histoire de Jane',
|
|
187
|
+
'$label.showcase_2.image_link_1.text': '/products',
|
|
188
|
+
'$label.template_standard_showcase_1.section_title.text': 'Quelque chose de vraiment accrocheur',
|
|
189
|
+
|
|
190
|
+
'$label.showcase_3.blockName': 'Section de référence — Magasin de vélos',
|
|
191
|
+
'$label.showcase_3.section_title.text': 'Nouveautés',
|
|
192
|
+
'$label.showcase_3.image_text_1.text': 'Nouveautés',
|
|
193
|
+
'$label.showcase_3.image_link_1.text': '/products',
|
|
194
|
+
'$label.showcase_3.image_text_2.text': 'Vélos à pignon fixe',
|
|
195
|
+
'$label.showcase_3.image_text_3.text': 'Service de réparation',
|
|
196
|
+
'$label.showcase_3.image_text_4.text': 'Accessoires pour vélos',
|
|
197
|
+
'$label.showcase_1.info.text': 'Showcase 1: Ceci est une section d\'information où vous pouvez fournir des conseils utiles sur '
|
|
198
|
+
+ 'l\'utilisation de la section personnalisée',
|
|
199
|
+
'$label.showcase_2.info.text': 'Showcase 2: Ceci est une zone pour des conseils utiles sur l\'utilisation de la section personnalisée',
|
|
200
|
+
'$label.showcase_1.info.button.title': 'Showcase 1: Apprendre',
|
|
201
|
+
'$label.showcase_2.info.button.title': 'Showcase 2: Plus',
|
|
202
|
+
|
|
203
|
+
'$label.showcase_1.button.label': 'Content.ts: Bouton',
|
|
204
|
+
'$label.showcase_1.button.defaults.title': 'Titre du bouton',
|
|
205
|
+
'$label.showcase_1.toggle.label': 'Basculer',
|
|
206
|
+
'$label.showcase_1.toggle.description': 'Activez ou désactivez cette fonctionnalité à l\'aide de l\'interrupteur',
|
|
207
|
+
|
|
208
|
+
'$label.showcase_1.selectbox.placeholder': 'Sélectionnez une option',
|
|
209
|
+
'$label.showcase_1.selectbox.label': 'Content.ts: Boîte de sélection',
|
|
210
|
+
'$label.showcase_1.selectbox.description': 'Content.ts:Sélectionnez une option dans le menu déroulant pour personnaliser vos paramètres',
|
|
211
|
+
'$label.showcase_1.selectbox.one.label': 'Un label',
|
|
212
|
+
'$label.showcase_1.selectbox.two.label': 'Deux label',
|
|
213
|
+
|
|
214
|
+
'$label.showcase_1.info.label': 'Content.ts: Info',
|
|
215
|
+
'$label.showcase_1.info.description': 'Content.ts: Ceci est une section d\'information où vous pouvez '
|
|
216
|
+
+ 'fournir des conseils utiles sur l\'utilisation de la section personnalisée',
|
|
217
|
+
'$label.showcase_1.info.button.label': 'Content.ts: En savoir plus',
|
|
218
|
+
|
|
219
|
+
'$label.showcase_2.button.label': 'Content.ts: Bouton',
|
|
220
|
+
'$label.showcase_2.button.defaults.title': 'Titre du bouton',
|
|
221
|
+
'$label.showcase_2.toggle.label': 'Basculer',
|
|
222
|
+
'$label.showcase_2.toggle.description': 'Activez ou désactivez cette fonctionnalité à l\'aide de l\'interrupteur',
|
|
223
|
+
|
|
224
|
+
'$label.showcase_2.selectbox.placeholder': 'Sélectionnez une option',
|
|
225
|
+
'$label.showcase_2.selectbox.label': 'Content.ts: Boîte de sélection',
|
|
226
|
+
'$label.showcase_2.selectbox.description': 'Content.ts:Sélectionnez une option dans le menu déroulant pour personnaliser vos paramètres',
|
|
227
|
+
'$label.showcase_2.selectbox.one.label': 'Un label',
|
|
228
|
+
'$label.showcase_2.selectbox.two.label': 'Deux label',
|
|
229
|
+
|
|
230
|
+
'$label.showcase_2.info.label': 'Content.ts: Info',
|
|
231
|
+
'$label.showcase_2.info.description': 'Content.ts: Ceci est une section d\'information où vous pouvez fournir '
|
|
232
|
+
+ 'des conseils utiles sur l\'utilisation de la section personnalisée',
|
|
233
|
+
'$label.showcase_2.info.button.label': 'Content.ts: En savoir plus',
|
|
234
|
+
|
|
235
|
+
'$label.showcase_3.button.label': 'Content.ts: Bouton',
|
|
236
|
+
'$label.showcase_3.button.defaults.title': 'Titre du bouton',
|
|
237
|
+
'$label.showcase_3.toggle.label': 'Basculer',
|
|
238
|
+
'$label.showcase_3.toggle.description': 'Activez ou désactivez cette fonctionnalité à l\'aide de l\'interrupteur',
|
|
239
|
+
|
|
240
|
+
'$label.showcase_3.selectbox.placeholder': 'Sélectionnez une option',
|
|
241
|
+
'$label.showcase_3.selectbox.label': 'Content.ts: Boîte de sélection',
|
|
242
|
+
'$label.showcase_3.selectbox.description': 'Content.ts:Sélectionnez une option dans le menu déroulant pour personnaliser vos paramètres',
|
|
243
|
+
'$label.showcase_3.selectbox.one.label': 'Un label',
|
|
244
|
+
'$label.showcase_3.selectbox.two.label': 'Deux label',
|
|
245
|
+
|
|
246
|
+
'$label.showcase_3.info.label': 'Content.ts: Info',
|
|
247
|
+
'$label.showcase_3.info.description': 'Content.ts: Ceci est une section d\'information où vous pouvez fournir '
|
|
248
|
+
+ 'des conseils utiles sur l\'utilisation de la section personnalisée',
|
|
249
|
+
'$label.showcase_3.info.button.label': 'Content.ts: En savoir plus',
|
|
46
250
|
},
|
|
47
251
|
} as const;
|
|
@@ -22,13 +22,13 @@
|
|
|
22
22
|
<script setup lang="ts">
|
|
23
23
|
import { useVueBaseProps } from '@lightspeed/crane';
|
|
24
24
|
import { computed } from 'vue';
|
|
25
|
-
import { Design } from '
|
|
25
|
+
import { Design } from '../../headers/example-header/type.ts';
|
|
26
26
|
|
|
27
27
|
const baseProps = useVueBaseProps<unknown, Design>();
|
|
28
|
-
const
|
|
29
|
-
const isPreviewMode = computed(() =>
|
|
30
|
-
const sortedLanguages = computed(() => (
|
|
31
|
-
? [...
|
|
28
|
+
const siteContent = computed(() => baseProps.site?.value satisfies SiteContent);
|
|
29
|
+
const isPreviewMode = computed(() => siteContent.value?.isPreviewMode ?? false);
|
|
30
|
+
const sortedLanguages = computed(() => (siteContent.value?.languages
|
|
31
|
+
? [...siteContent.value.languages].sort((a, b) => {
|
|
32
32
|
if (a.main && !b.main) return -1;
|
|
33
33
|
if (!a.main && b.main) return 1;
|
|
34
34
|
return 0;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<section class="section">
|
|
3
|
+
<div class="section__wrapper">
|
|
4
|
+
<slot />
|
|
5
|
+
</div>
|
|
6
|
+
</section>
|
|
7
|
+
</template>
|
|
8
|
+
|
|
9
|
+
<style lang="scss" scoped>
|
|
10
|
+
.section {
|
|
11
|
+
padding: 60px 20px;
|
|
12
|
+
|
|
13
|
+
@media screen and (min-width: 700px) {
|
|
14
|
+
padding: 75px;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@media screen and (min-width: 1200px) {
|
|
18
|
+
padding: 100px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&__wrapper {
|
|
22
|
+
max-width: 1120px;
|
|
23
|
+
margin: 0 auto;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
</style>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export function isDark(color: string): boolean {
|
|
2
|
+
if (!color) return false;
|
|
3
|
+
|
|
4
|
+
let r; let g; let b;
|
|
5
|
+
|
|
6
|
+
if (color.startsWith('#')) {
|
|
7
|
+
const hex = color.replace('#', '');
|
|
8
|
+
if (hex.length === 3) {
|
|
9
|
+
r = parseInt(hex[0] + hex[0], 16);
|
|
10
|
+
g = parseInt(hex[1] + hex[1], 16);
|
|
11
|
+
b = parseInt(hex[2] + hex[2], 16);
|
|
12
|
+
} else {
|
|
13
|
+
r = parseInt(hex.substring(0, 2), 16);
|
|
14
|
+
g = parseInt(hex.substring(2, 4), 16);
|
|
15
|
+
b = parseInt(hex.substring(4, 6), 16);
|
|
16
|
+
}
|
|
17
|
+
} else if (color.startsWith('rgb')) {
|
|
18
|
+
const rgbValues = color.match(/\d+/g);
|
|
19
|
+
if (rgbValues) {
|
|
20
|
+
[r, g, b] = rgbValues.map(Number);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (r === undefined || g === undefined || b === undefined) return false;
|
|
25
|
+
|
|
26
|
+
const brightness = (r * 299 + g * 587 + b * 114) / 1000;
|
|
27
|
+
return brightness < 128;
|
|
28
|
+
}
|
package/types.d.ts
CHANGED
|
@@ -8,13 +8,13 @@ declare module '*.vue' {
|
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
type ActionLinkType
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
= 'SCROLL_TO_TILE'
|
|
12
|
+
| 'HYPER_LINK'
|
|
13
|
+
| 'MAIL_LINK'
|
|
14
|
+
| 'TEL_LINK'
|
|
15
|
+
| 'GO_TO_STORE'
|
|
16
|
+
| 'GO_TO_STORE_LINK'
|
|
17
|
+
| 'GO_TO_PAGE';
|
|
18
18
|
|
|
19
19
|
interface ButtonContentData {
|
|
20
20
|
readonly title: string;
|
|
@@ -81,20 +81,20 @@ interface LogoContentData {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
type GlobalColorsString =
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
84
|
+
'global.color.title' |
|
|
85
|
+
'global.color.body' |
|
|
86
|
+
'global.color.button' |
|
|
87
|
+
'global.color.link' |
|
|
88
|
+
'global.color.background';
|
|
89
89
|
|
|
90
90
|
type GlobalFontsString =
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
'global.fontFamily.title' |
|
|
92
|
+
'global.fontFamily.body';
|
|
93
93
|
|
|
94
94
|
type GlobalTextSizeString =
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
'global.textSize.title' |
|
|
96
|
+
'global.textSize.subtitle' |
|
|
97
|
+
'global.textSize.body';
|
|
98
98
|
|
|
99
99
|
interface HSLColor {
|
|
100
100
|
h: number;
|
|
@@ -140,9 +140,9 @@ interface TextareaDesignData extends TextDesignData {
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
type CapitalizationType =
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
143
|
+
'none'
|
|
144
|
+
| 'all'
|
|
145
|
+
| 'small';
|
|
146
146
|
|
|
147
147
|
interface Frame {
|
|
148
148
|
visible: boolean;
|
|
@@ -163,19 +163,19 @@ interface LogoDesignData {
|
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
type ButtonAppearance =
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
166
|
+
'solid-button'
|
|
167
|
+
| 'outline-button'
|
|
168
|
+
| 'text-link';
|
|
169
169
|
|
|
170
170
|
type ButtonSize =
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
171
|
+
'small'
|
|
172
|
+
| 'medium'
|
|
173
|
+
| 'large';
|
|
174
174
|
|
|
175
175
|
type ButtonStyle =
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
176
|
+
'round-corner'
|
|
177
|
+
| 'rectangle'
|
|
178
|
+
| 'pill';
|
|
179
179
|
|
|
180
180
|
interface ButtonDesignData {
|
|
181
181
|
appearance: ButtonAppearance | undefined;
|
|
@@ -187,9 +187,9 @@ interface ButtonDesignData {
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
type OverlayType =
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
190
|
+
'solid'
|
|
191
|
+
| 'gradient'
|
|
192
|
+
| 'none';
|
|
193
193
|
|
|
194
194
|
interface Overlay {
|
|
195
195
|
type: OverlayType | undefined;
|
|
@@ -211,8 +211,8 @@ interface ToggleDesignData {
|
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
type BackgroundType =
|
|
214
|
-
|
|
215
|
-
|
|
214
|
+
'solid'
|
|
215
|
+
| 'gradient';
|
|
216
216
|
|
|
217
217
|
interface Background {
|
|
218
218
|
type: BackgroundType | undefined;
|
|
@@ -247,32 +247,56 @@ interface TextareaContentEditor {
|
|
|
247
247
|
readonly placeholder: Record<string, string>;
|
|
248
248
|
}
|
|
249
249
|
|
|
250
|
-
interface
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
250
|
+
interface ReportAbuse {
|
|
251
|
+
readonly title: string;
|
|
252
|
+
readonly url: string | undefined;
|
|
253
|
+
readonly target: string | undefined;
|
|
254
254
|
}
|
|
255
255
|
|
|
256
|
-
interface
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
256
|
+
interface MadeWith {
|
|
257
|
+
readonly url: string | undefined;
|
|
258
|
+
readonly target: string | undefined;
|
|
259
|
+
readonly icon: string | undefined;
|
|
260
|
+
readonly poweredBy: string | undefined;
|
|
261
|
+
readonly company: string | undefined;
|
|
260
262
|
}
|
|
261
263
|
|
|
262
264
|
interface Language {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
265
|
+
readonly code: string;
|
|
266
|
+
readonly description: string;
|
|
267
|
+
readonly main: boolean;
|
|
268
|
+
readonly selected: boolean;
|
|
269
|
+
readonly url: string;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
interface Account {
|
|
273
|
+
readonly title: string | undefined;
|
|
274
|
+
readonly url: string | undefined;
|
|
275
|
+
readonly target: string | undefined;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
interface Cart {
|
|
279
|
+
readonly url: string | undefined;
|
|
280
|
+
readonly count: number;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
interface LegalPage {
|
|
284
|
+
readonly title: string | undefined;
|
|
285
|
+
readonly url: string | undefined;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
interface SiteContent {
|
|
289
|
+
readonly isPreviewMode: boolean;
|
|
290
|
+
readonly reportAbuse?: ReportAbuse;
|
|
291
|
+
readonly madeWith?: MadeWith;
|
|
292
|
+
readonly languages?: Language[];
|
|
293
|
+
readonly account?: Account;
|
|
294
|
+
readonly cart?: Cart;
|
|
295
|
+
readonly legalPages?: LegalPage[];
|
|
268
296
|
}
|
|
269
297
|
|
|
270
298
|
interface ExternalContentData {
|
|
271
|
-
readonly
|
|
272
|
-
readonly account?: SimpleLink;
|
|
273
|
-
readonly languages?: Language[];
|
|
274
|
-
readonly legalLinks?: SimpleLink[];
|
|
275
|
-
readonly isPreviewMode?: boolean;
|
|
299
|
+
readonly site?: SiteContent;
|
|
276
300
|
}
|
|
277
301
|
|
|
278
302
|
interface ButtonContentEditor {
|
|
@@ -320,15 +344,15 @@ interface LogoContentEditor {
|
|
|
320
344
|
}
|
|
321
345
|
|
|
322
346
|
type ContentEditor =
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
347
|
+
TextContentEditor
|
|
348
|
+
| MultilineTextContentEditor
|
|
349
|
+
| ButtonContentEditor
|
|
350
|
+
| ImageContentEditor
|
|
351
|
+
| ToggleContentEditor
|
|
352
|
+
| SelectboxContentEditor
|
|
353
|
+
| MenuContentEditor
|
|
354
|
+
| NavigationMenuContentEditor
|
|
355
|
+
| LogoContentEditor;
|
|
332
356
|
|
|
333
357
|
type InferContentType<T extends Record<string, ContentEditor>> = {
|
|
334
358
|
readonly [P in keyof T]: MapEditorContentTypes[T[P]['type']]
|
|
@@ -388,20 +412,22 @@ interface ColorPickerDesignEditor {
|
|
|
388
412
|
|
|
389
413
|
interface LogoDesignEditor {
|
|
390
414
|
readonly type: 'LOGO';
|
|
391
|
-
readonly label
|
|
415
|
+
readonly label?: string | Record<string, string>;
|
|
392
416
|
defaults: Record<string, unknown>;
|
|
393
417
|
}
|
|
394
418
|
|
|
395
419
|
type DesignEditor =
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
420
|
+
TextDesignEditor
|
|
421
|
+
| ButtonDesignEditor
|
|
422
|
+
| ImageDesignEditor
|
|
423
|
+
| ToggleDesignEditor
|
|
424
|
+
| SelectboxDesignEditor
|
|
425
|
+
| BackgroundDesignEditor
|
|
426
|
+
| ColorPickerDesignEditor
|
|
427
|
+
| LogoDesignEditor;
|
|
404
428
|
|
|
405
429
|
type InferDesignType<T extends Record<string, DesignEditor>> = {
|
|
406
430
|
readonly [P in keyof T]: MapEditorDesignTypes[T[P]['type']]
|
|
407
431
|
}
|
|
432
|
+
|
|
433
|
+
type SettingsEditor = DesignEditor | ContentEditor;
|