@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.
Files changed (134) hide show
  1. package/bin/crane.js +0 -1
  2. package/dist/app.d.mts +20 -2
  3. package/dist/app.d.ts +20 -2
  4. package/dist/app.mjs +1 -1
  5. package/dist/cli.mjs +10 -23
  6. package/package.json +10 -5
  7. package/template/footers/example-footer/ExampleFooter.vue +6 -1
  8. package/template/footers/example-footer/assets/cart.svg +19 -0
  9. package/template/footers/example-footer/component/LegalLinks.vue +2 -2
  10. package/template/footers/example-footer/component/MadeWith.vue +23 -0
  11. package/template/footers/example-footer/component/ReportAbuse.vue +4 -3
  12. package/template/footers/example-footer/showcases/1.ts +1 -1
  13. package/template/headers/example-header/ExampleHeader.vue +17 -2
  14. package/template/headers/example-header/component/Account.vue +4 -4
  15. package/template/headers/example-header/component/Cart.vue +14 -33
  16. package/template/headers/example-header/settings/content.ts +1 -9
  17. package/template/headers/example-header/settings/design.ts +1 -23
  18. package/template/package.json +1 -1
  19. package/template/reference/sections/about-us/AboutUs.vue +73 -0
  20. package/template/reference/sections/about-us/assets/our_company_in_numbers.jpg +0 -0
  21. package/template/reference/sections/about-us/assets/our_company_in_numbers_preview.jpg +0 -0
  22. package/template/reference/sections/about-us/assets/our_team.jpg +0 -0
  23. package/template/reference/sections/about-us/assets/our_team_preview.jpg +0 -0
  24. package/template/reference/sections/about-us/client.ts +6 -0
  25. package/template/reference/sections/about-us/component/Image.vue +94 -0
  26. package/template/reference/sections/about-us/component/Stats.vue +155 -0
  27. package/template/reference/sections/about-us/component/Title.vue +32 -0
  28. package/template/reference/sections/about-us/server.ts +6 -0
  29. package/template/reference/sections/about-us/settings/content.ts +64 -0
  30. package/template/reference/sections/about-us/settings/design.ts +74 -0
  31. package/template/reference/sections/about-us/settings/layout.ts +12 -0
  32. package/template/reference/sections/about-us/settings/translations.ts +151 -0
  33. package/template/reference/sections/about-us/showcases/1.ts +155 -0
  34. package/template/reference/sections/about-us/showcases/2.ts +143 -0
  35. package/template/reference/sections/about-us/showcases/translations.ts +259 -0
  36. package/template/reference/sections/about-us/type.ts +5 -0
  37. package/template/reference/sections/about-us/util/visibility-provider.ts +27 -0
  38. package/template/reference/sections/intro-slider/IntroSlider.vue +77 -0
  39. package/template/reference/sections/intro-slider/assets/bike_1.jpg +0 -0
  40. package/template/reference/sections/intro-slider/assets/bike_1@2x.jpg +0 -0
  41. package/template/reference/sections/intro-slider/assets/bike_2.jpg +0 -0
  42. package/template/reference/sections/intro-slider/assets/bike_2@2x.jpg +0 -0
  43. package/template/reference/sections/intro-slider/assets/bike_3.jpg +0 -0
  44. package/template/reference/sections/intro-slider/assets/bike_3@2x.jpg +0 -0
  45. package/template/reference/sections/intro-slider/assets/bike_4.jpg +0 -0
  46. package/template/reference/sections/intro-slider/assets/bike_4@2x.jpg +0 -0
  47. package/template/reference/sections/intro-slider/assets/bike_5.jpg +0 -0
  48. package/template/reference/sections/intro-slider/assets/bike_5@2x.jpg +0 -0
  49. package/template/reference/sections/intro-slider/assets/bike_6.jpg +0 -0
  50. package/template/reference/sections/intro-slider/assets/bike_6@2x.jpg +0 -0
  51. package/template/reference/sections/intro-slider/assets/category_1.jpg +0 -0
  52. package/template/reference/sections/intro-slider/assets/category_1@2x.jpg +0 -0
  53. package/template/reference/sections/intro-slider/assets/category_2.jpg +0 -0
  54. package/template/reference/sections/intro-slider/assets/category_2@2x.jpg +0 -0
  55. package/template/reference/sections/intro-slider/assets/category_3.jpg +0 -0
  56. package/template/reference/sections/intro-slider/assets/category_3@2x.jpg +0 -0
  57. package/template/reference/sections/intro-slider/assets/category_5.jpg +0 -0
  58. package/template/reference/sections/intro-slider/assets/category_5@2x.jpg +0 -0
  59. package/template/reference/sections/intro-slider/assets/category_6.jpg +0 -0
  60. package/template/reference/sections/intro-slider/assets/category_6@2x.jpg +0 -0
  61. package/template/reference/sections/intro-slider/assets/custom_section_showcase_1_preview.png +0 -0
  62. package/template/reference/sections/intro-slider/assets/custom_section_showcase_2_preview.png +0 -0
  63. package/template/reference/sections/intro-slider/client.ts +5 -0
  64. package/template/reference/sections/intro-slider/component/Slider.vue +235 -0
  65. package/template/reference/sections/intro-slider/component/Title.vue +106 -0
  66. package/template/reference/sections/intro-slider/entity/color.ts +4 -0
  67. package/template/reference/sections/intro-slider/server.ts +5 -0
  68. package/template/reference/sections/intro-slider/settings/content.ts +43 -0
  69. package/template/reference/sections/intro-slider/settings/design.ts +88 -0
  70. package/template/reference/sections/intro-slider/settings/layout.ts +12 -0
  71. package/template/reference/sections/intro-slider/settings/translations.ts +53 -0
  72. package/template/reference/sections/intro-slider/showcases/1.ts +275 -0
  73. package/template/reference/sections/intro-slider/showcases/2.ts +271 -0
  74. package/template/reference/sections/intro-slider/showcases/translations.ts +88 -0
  75. package/template/reference/sections/intro-slider/type.ts +5 -0
  76. package/template/reference/sections/tag-lines/TagLines.vue +158 -0
  77. package/template/reference/sections/tag-lines/assets/explore_our_holiday_gift_guide.jpg +0 -0
  78. package/template/reference/sections/tag-lines/assets/fall_is_here.jpg +0 -0
  79. package/template/reference/sections/tag-lines/assets/fall_is_here_preview.jpg +0 -0
  80. package/template/reference/sections/tag-lines/assets/folding_bikes.jpg +0 -0
  81. package/template/reference/sections/tag-lines/assets/hybrid_bikes.jpg +0 -0
  82. package/template/reference/sections/tag-lines/assets/mountain_and_road_bikes.jpg +0 -0
  83. package/template/reference/sections/tag-lines/assets/shop_chelsea_boots.jpg +0 -0
  84. package/template/reference/sections/tag-lines/assets/sweater_weather.jpg +0 -0
  85. package/template/reference/sections/tag-lines/assets/what_we_sell.jpg +0 -0
  86. package/template/reference/sections/tag-lines/assets/what_we_sell_preview.jpg +0 -0
  87. package/template/reference/sections/tag-lines/client.ts +5 -0
  88. package/template/reference/sections/tag-lines/component/HighlightedText.vue +50 -0
  89. package/template/reference/sections/tag-lines/component/SectionImage.vue +78 -0
  90. package/template/reference/sections/tag-lines/component/Title.vue +51 -0
  91. package/template/reference/sections/tag-lines/composables/highlighted-text-image-list.ts +34 -0
  92. package/template/reference/sections/tag-lines/server.ts +5 -0
  93. package/template/reference/sections/tag-lines/settings/content.ts +37 -0
  94. package/template/reference/sections/tag-lines/settings/design.ts +81 -0
  95. package/template/reference/sections/tag-lines/settings/layout.ts +12 -0
  96. package/template/reference/sections/tag-lines/settings/translations.ts +61 -0
  97. package/template/reference/sections/tag-lines/showcases/1.ts +190 -0
  98. package/template/reference/sections/tag-lines/showcases/2.ts +190 -0
  99. package/template/reference/sections/tag-lines/showcases/translations.ts +49 -0
  100. package/template/reference/sections/tag-lines/type.ts +5 -0
  101. package/template/reference/shared/components/Button.vue +151 -0
  102. package/template/reference/shared/components/SectionWrapper.vue +26 -0
  103. package/template/reference/shared/components/Tagline.vue +45 -0
  104. package/template/reference/shared/utils/color.ts +16 -0
  105. package/template/reference/shared/utils/styles.ts +12 -0
  106. package/template/reference/templates/assets/reference_template_apparel_cover_image.jpg +0 -0
  107. package/template/reference/templates/assets/reference_template_bike_cover_image.jpg +0 -0
  108. package/template/reference/templates/reference-template-apparel.ts +44 -0
  109. package/template/reference/templates/reference-template-bike.ts +44 -0
  110. package/template/sections/example-section/ExampleSection.vue +21 -24
  111. package/template/sections/example-section/assets/arrow.svg +3 -0
  112. package/template/sections/example-section/assets/bike_accessories_high.jpg +0 -0
  113. package/template/sections/example-section/assets/bike_accessories_low.jpg +0 -0
  114. package/template/sections/example-section/assets/bike_new_arrivals_high.jpg +0 -0
  115. package/template/sections/example-section/assets/bike_new_arrivals_low.jpg +0 -0
  116. package/template/sections/example-section/assets/custom_section_showcase_3_preview.jpg +0 -0
  117. package/template/sections/example-section/assets/fixed_gears_high.jpg +0 -0
  118. package/template/sections/example-section/assets/fixed_gears_low.jpg +0 -0
  119. package/template/sections/example-section/assets/repair_service_high.jpg +0 -0
  120. package/template/sections/example-section/assets/repair_service_low.jpg +0 -0
  121. package/template/sections/example-section/component/button/Button.vue +87 -0
  122. package/template/sections/example-section/component/selectbox/Selectbox.vue +45 -0
  123. package/template/sections/example-section/component/toggle/Toggle.vue +110 -0
  124. package/template/sections/example-section/settings/content.ts +45 -0
  125. package/template/sections/example-section/settings/translations.ts +87 -7
  126. package/template/sections/example-section/showcases/1.ts +43 -0
  127. package/template/sections/example-section/showcases/2.ts +43 -0
  128. package/template/sections/example-section/showcases/3.ts +241 -0
  129. package/template/sections/example-section/showcases/translations.ts +205 -1
  130. package/template/shared/{LanguageSelector.vue → components/LanguageSelector.vue} +5 -5
  131. package/template/shared/components/SectionWrapper.vue +26 -0
  132. package/template/shared/utils.ts +28 -0
  133. package/template/templates/template.ts +2 -1
  134. package/types.d.ts +96 -70
@@ -0,0 +1,110 @@
1
+ <template>
2
+ <div v-if="toggle?.hasContent" class="control-item" :style="{ color: textColor }">
3
+ <div>
4
+ <h1>Toggle is: {{ toggle.value ? 'On' : 'Off' }}</h1>
5
+ </div>
6
+ </div>
7
+ </template>
8
+
9
+ <script setup lang="ts">
10
+ import { computed } from 'vue';
11
+ import { useBackgroundElementDesign, useToggleElementContent } from '@lightspeed/crane';
12
+ import { Content, Design } from '../../type.ts';
13
+ import { isDark } from '../../../../shared/utils.ts';
14
+
15
+ const toggle = useToggleElementContent<Content>('toggle');
16
+ const backgroundDesign = useBackgroundElementDesign<Design>('background');
17
+
18
+ const backgroundColor = computed(() => {
19
+ const currentColor = backgroundDesign.background?.type === 'solid' ? backgroundDesign.background?.solid?.color?.hex
20
+ : backgroundDesign.background?.gradient?.fromColor?.hex;
21
+ return currentColor || '#ffffff';
22
+ });
23
+
24
+ const textColor = computed(() => (isDark(backgroundColor.value) ? 'white' : 'black'));
25
+ </script>
26
+
27
+ <style lang="scss" scoped>
28
+ .custom-block {
29
+ padding: 50px;
30
+ background-color: #f8f8f8;
31
+ border-radius: 8px;
32
+
33
+ @media screen and (min-width: 700px) {
34
+ padding: 75px;
35
+ }
36
+ @media screen and (min-width: 1200px) {
37
+ padding: 100px;
38
+ }
39
+
40
+ &__blank_space {
41
+ height: 40px;
42
+ }
43
+ }
44
+
45
+ .control-item {
46
+ margin: 20px 0;
47
+ display: flex;
48
+ align-items: center;
49
+ gap: 10px;
50
+
51
+ label {
52
+ font-weight: 500;
53
+ }
54
+
55
+ select {
56
+ padding: 8px 12px;
57
+ border: 1px solid #ccc;
58
+ border-radius: 4px;
59
+ font-size: 14px;
60
+ }
61
+ }
62
+
63
+ .switch {
64
+ position: relative;
65
+ display: inline-block;
66
+ width: 40px;
67
+ height: 20px;
68
+
69
+ input {
70
+ display: none;
71
+ }
72
+
73
+ .slider {
74
+ position: absolute;
75
+ cursor: pointer;
76
+ top: 0;
77
+ left: 0;
78
+ right: 0;
79
+ bottom: 0;
80
+ background-color: #ccc;
81
+ transition: 0.4s;
82
+ border-radius: 20px;
83
+ }
84
+
85
+ input:checked + .slider {
86
+ background-color: #4caf50;
87
+ }
88
+
89
+ .slider::before {
90
+ position: absolute;
91
+ content: "";
92
+ height: 14px;
93
+ width: 14px;
94
+ background-color: white;
95
+ border-radius: 50%;
96
+ top: 3px;
97
+ left: 3px;
98
+ transition: 0.4s;
99
+ }
100
+
101
+ input:checked + .slider::before {
102
+ transform: translateX(20px);
103
+ }
104
+ }
105
+
106
+ .highlight {
107
+ color: #4caf50;
108
+ font-weight: bold;
109
+ }
110
+ </style>
@@ -63,4 +63,49 @@ export default {
63
63
  },
64
64
  },
65
65
  },
66
+ button: {
67
+ type: 'BUTTON',
68
+ label: '$label.button.label',
69
+ defaults: {
70
+ title: '$label.button.defaults.title',
71
+ buttonType: 'HYPER_LINK',
72
+ link: 'https://www.example.com',
73
+ },
74
+ },
75
+ toggle: {
76
+ type: 'TOGGLE',
77
+ label: '$label.toggle.label',
78
+ description: '$label.toggle.description',
79
+ defaults: {
80
+ enabled: true,
81
+ },
82
+ },
83
+ selectbox: {
84
+ type: 'SELECTBOX',
85
+ placeholder: '$label.selectbox.placeholder',
86
+ label: '$label.selectbox.label',
87
+ description: '$label.selectbox.description',
88
+ options: [
89
+ {
90
+ value: 'one',
91
+ label: '$label.selectbox.one.label',
92
+ },
93
+ {
94
+ value: 'two',
95
+ label: '$label.selectbox.two.label',
96
+ },
97
+ ],
98
+ defaults: {
99
+ value: 'one',
100
+ },
101
+ },
102
+ info: {
103
+ type: 'INFO',
104
+ label: '$label.info.label',
105
+ description: '$label.info.description',
106
+ button: {
107
+ label: '$label.info.button.label',
108
+ link: 'https://example.com',
109
+ },
110
+ },
66
111
  } as const;
@@ -28,6 +28,21 @@ export default {
28
28
  '$label.images.selectbox_option_1.label': 'Content.ts: Image select option 1',
29
29
  '$label.images.selectbox_option_2.label': 'Content.ts: Image select option 2',
30
30
  '$label.images.button.label': 'Content.ts: Image button label',
31
+
32
+ '$label.button.label': 'Content.ts: Button',
33
+ '$label.button.defaults.title': 'Button Title',
34
+ '$label.toggle.label': 'Toggle',
35
+ '$label.toggle.description': 'Enable or disable this feature using the toggle switch',
36
+
37
+ '$label.selectbox.placeholder': 'Select an option',
38
+ '$label.selectbox.label': 'Content.ts: Selectbox',
39
+ '$label.selectbox.description': 'Content.ts: Select an option from the dropdown to customize your settings',
40
+ '$label.selectbox.one.label': 'One label',
41
+ '$label.selectbox.two.label': 'Two label',
42
+
43
+ '$label.info.label': 'Content.ts: Info',
44
+ '$label.info.description': 'Content.ts: This is info section where you can provide some useful tips regarding custom section usage',
45
+ '$label.info.button.label': 'Content.ts: Learn more',
31
46
  },
32
47
 
33
48
  nl: {
@@ -36,17 +51,82 @@ export default {
36
51
  '$label.section_description.label': 'Lange beschrijving',
37
52
  '$label.section_description.placeholder': 'Deze beschrijving wordt onder de titel weergegeven',
38
53
  '$label.image_text.label': 'Bijschrift afbeelding',
39
- '$label.image_text_1.label': 'Onderschrift afbeelding',
40
54
  '$label.image_text.placeholder': 'Dit bijschrift wordt op of onder de afbeelding weergegeven',
41
55
  '$label.image_content.label': 'Afbeeldingsinhoud',
42
- '$label.image_content_1.label': 'Afbeelding',
43
- '$label.image_link_1.label': 'Afbeelding link',
44
56
  '$label.image_link.placeholder': 'Voer een optionele URL in voor de afbeelding',
45
57
  '$label.background.label': 'Achtergrond',
58
+ '$label.image_text_1.label': 'Content.ts: Onderschrift afbeelding',
59
+ '$label.image_content_1.label': 'Content.ts: Afbeelding',
60
+ '$label.image_link_1.label': 'Content.ts: Afbeelding link',
61
+ '$label.images.deck_title': 'Content.ts: Afbeeldingsinstellingen',
62
+ '$label.images.add_card_button': 'Content.ts: Afbeeldingsinstellingen toevoegen',
63
+ '$label.images.card_title': 'Content.ts: Afbeeldingsinstellingen',
64
+ '$label.images.default.image_text': 'Standaard van Content.ts: Standaard afbeeldingstekst',
65
+ '$label.images.default.image_link.text': 'Standaard van Content.ts: Standaard afbeeldingslinktekst',
66
+ '$label.images.default.button_title': 'Standaard van Content.ts: Standaard knoptitel',
67
+ '$label.images.toggle.label': 'Content.ts: Afbeelding schakelen',
68
+ '$label.images.selectbox.label': 'Content.ts: Afbeelding selecteren',
69
+ '$label.images.selectbox_option_1.label': 'Content.ts: Afbeelding selecteren optie 1',
70
+ '$label.images.selectbox_option_2.label': 'Content.ts: Afbeelding selecteren optie 2',
71
+
72
+ '$label.images.button.label': 'Content.ts: Afbeelding knoplabel',
73
+ '$label.button.label': 'Content.ts: Knop',
74
+ '$label.button.defaults.title': 'Knoptitel',
75
+
76
+ '$label.toggle.label': 'Schakelaar',
77
+ '$label.toggle.description': 'Schakel deze functie in of uit met de schakelaar',
78
+
79
+ '$label.selectbox.placeholder': 'Selecteer een optie',
80
+ '$label.selectbox.label': 'Content.ts: Selectievak',
81
+ '$label.selectbox.description': 'Selecteer een optie uit de dropdown om uw instellingen aan te passen',
82
+ '$label.selectbox.one.label': 'Eén label',
83
+ '$label.selectbox.two.label': 'Twee label',
84
+
85
+ '$label.info.label': 'Informatie',
86
+ '$label.info.description': 'Dit is een informatiedeel waar je enkele nuttige tips kunt geven over het gebruik van aangepaste secties',
87
+ '$label.info.button.label': 'Meer informatie',
88
+ },
89
+
90
+ fr: {
91
+ '$label.section_title.label': 'Titre principal',
92
+ '$label.section_title.placeholder': 'Ce sera le titre principal de cette section',
93
+ '$label.section_description.label': 'Description longue',
94
+ '$label.section_description.placeholder': 'Cette description sera affichée sous le titre',
95
+ '$label.image_text.label': 'Légende de l\'image',
96
+ '$label.image_text.placeholder': 'Cette légende sera affichée sur ou sous l\'image',
97
+ '$label.image_content.label': 'Contenu de l\'image',
98
+ '$label.image_link.placeholder': 'Entrez une URL facultative pour l\'image',
99
+ '$label.background.label': 'Arrière-plan',
100
+ '$label.image_text_1.label': 'Content.ts: Légende de l\'image',
101
+ '$label.image_content_1.label': 'Content.ts: Image',
102
+ '$label.image_link_1.label': 'Content.ts: Lien de l\'image',
103
+ '$label.images.deck_title': 'Content.ts: Paramètres de l\'image',
104
+ '$label.images.add_card_button': 'Content.ts: Ajouter de nouveaux paramètres d\'image',
105
+ '$label.images.card_title': 'Content.ts: Paramètres de l\'image',
106
+ '$label.images.default.image_text': 'Par défaut de Content.ts: Texte de l\'image par défaut',
107
+ '$label.images.default.image_link.text': 'Par défaut de Content.ts: Texte du lien de l\'image par défaut',
108
+ '$label.images.default.button_title': 'Par défaut de Content.ts: Titre du bouton par défaut',
109
+ '$label.images.toggle.label': 'Content.ts: Basculer l\'image',
110
+ '$label.images.selectbox.label': 'Content.ts: Sélectionner l\'image',
111
+ '$label.images.selectbox_option_1.label': 'Content.ts: Option de sélection de l\'image 1',
112
+ '$label.images.selectbox_option_2.label': 'Content.ts: Option de sélection de l\'image 2',
113
+ '$label.images.button.label': 'Content.ts: Étiquette du bouton de l\'image',
114
+
115
+ '$label.button.label': 'Content.ts: Bouton',
116
+ '$label.button.defaults.title': 'Titre du bouton',
117
+
118
+ '$label.toggle.label': 'Basculer',
119
+ '$label.toggle.description': 'Activez ou désactivez cette fonctionnalité à l\'aide de l\'interrupteur',
120
+
121
+ '$label.selectbox.placeholder': 'Sélectionnez une option',
122
+ '$label.selectbox.label': 'Content.ts: Boîte de sélection',
123
+ '$label.selectbox.description': 'Sélectionnez une option dans le menu déroulant pour personnaliser vos paramètres',
124
+ '$label.selectbox.one.label': 'Un label',
125
+ '$label.selectbox.two.label': 'Deux label',
46
126
 
47
- '$label.images.deck_title': 'Afbeeldingsinstellingen',
48
- '$label.images.add_card_button': 'Afbeeldingsinstellingen toevoegen',
49
- '$label.images.card_title': 'Afbeeldingsinstellingen',
50
- '$label.images.image_text_default': 'Standaardtekst',
127
+ '$label.info.label': 'Content.ts: Info',
128
+ '$label.info.description': 'Content.ts: Ceci est une section d\'information où vous '
129
+ + 'pouvez fournir des conseils utiles sur l\'utilisation de la section personnalisée',
130
+ '$label.info.button.label': 'En savoir plus',
51
131
  },
52
132
  } as const;
@@ -170,6 +170,49 @@ export default {
170
170
  },
171
171
  ],
172
172
  },
173
+ toggle: {
174
+ type: 'TOGGLE',
175
+ label: '$label.showcase_1.toggle.label',
176
+ description: '$label.showcase_1.toggle.description',
177
+ defaults: {
178
+ enabled: true,
179
+ },
180
+ },
181
+ selectbox: {
182
+ type: 'SELECTBOX',
183
+ placeholder: '$label.showcase_1.selectbox.placeholder',
184
+ label: '$label.showcase_1.selectbox.label',
185
+ description: '$label.showcase_1.selectbox.description',
186
+ options: [
187
+ {
188
+ value: 'one',
189
+ label: '$label.showcase_1.selectbox.one.label',
190
+ },
191
+ {
192
+ value: 'two',
193
+ label: '$label.showcase_1.selectbox.two.label',
194
+ },
195
+ ],
196
+ defaults: {
197
+ value: 'one',
198
+ },
199
+ },
200
+ info: {
201
+ type: 'INFO',
202
+ text: '$label.showcase_1.info.text',
203
+ button: {
204
+ title: '$label.showcase_1.info.button.title',
205
+ link: 'https://example.com',
206
+ buttonType: 'HYPER_LINK',
207
+ },
208
+ },
209
+ button: {
210
+ type: 'BUTTON',
211
+ label: '$label.showcase_1.button.label',
212
+ title: '$label.showcase_1.button.defaults.title',
213
+ buttonType: 'HYPER_LINK',
214
+ link: 'https://www.example.com',
215
+ },
173
216
  },
174
217
  design: {
175
218
  section_title: {
@@ -149,6 +149,49 @@ export default {
149
149
  },
150
150
  ],
151
151
  },
152
+ toggle: {
153
+ type: 'TOGGLE',
154
+ label: '$label.showcase_2.toggle.label',
155
+ description: '$label.showcase_2.toggle.description',
156
+ defaults: {
157
+ enabled: true,
158
+ },
159
+ },
160
+ selectbox: {
161
+ type: 'SELECTBOX',
162
+ placeholder: '$label.showcase_2.selectbox.placeholder',
163
+ label: '$label.showcase_2.selectbox.label',
164
+ description: '$label.showcase_2.selectbox.description',
165
+ options: [
166
+ {
167
+ value: 'one',
168
+ label: '$label.showcase_2.selectbox.one.label',
169
+ },
170
+ {
171
+ value: 'two',
172
+ label: '$label.showcase_2.selectbox.two.label',
173
+ },
174
+ ],
175
+ defaults: {
176
+ value: 'one',
177
+ },
178
+ },
179
+ info: {
180
+ type: 'INFO',
181
+ text: '$label.showcase_2.info.text',
182
+ button: {
183
+ title: '$label.showcase_1.info.button.title',
184
+ link: 'https://example.com',
185
+ buttonType: 'HYPER_LINK',
186
+ },
187
+ },
188
+ button: {
189
+ type: 'BUTTON',
190
+ label: '$label.showcase_2.button.label',
191
+ title: '$label.showcase_2.button.defaults.title',
192
+ buttonType: 'HYPER_LINK',
193
+ link: 'https://www.example.com',
194
+ },
152
195
  },
153
196
  design: {
154
197
  section_title: {
@@ -0,0 +1,241 @@
1
+ export default {
2
+ showcaseId: '3',
3
+ previewImage: {
4
+ set: {
5
+ ORIGINAL: {
6
+ url: 'custom_section_showcase_3_preview.jpg',
7
+ },
8
+ },
9
+ },
10
+ blockName: '$label.showcase_3.blockName',
11
+ layoutId: 'Caption_On_Image',
12
+ content: {
13
+ section_title: {
14
+ type: 'INPUTBOX',
15
+ text: '$label.showcase_3.section_title.text',
16
+ },
17
+
18
+ images: {
19
+ type: 'DECK',
20
+ cards: [
21
+ {
22
+ settings: {
23
+ image_text: {
24
+ type: 'TEXTAREA',
25
+ text: '$label.showcase_3.image_text_1.text',
26
+ },
27
+
28
+ image_content: {
29
+ type: 'IMAGE',
30
+ imageData: {
31
+ set: {
32
+ LOW_RES: {
33
+ url: 'bike_new_arrivals_low.jpg',
34
+ },
35
+ MOBILE_WEBP_LOW_RES: {
36
+ url: 'bike_new_arrivals_low.jpg',
37
+ },
38
+ MOBILE_WEBP_HI_RES: {
39
+ url: 'bike_new_arrivals_high.jpg',
40
+ },
41
+ WEBP_LOW_RES: {
42
+ url: 'bike_new_arrivals_high.jpg',
43
+ },
44
+ WEBP_HI_2X_RES: {
45
+ url: 'bike_new_arrivals_high.jpg',
46
+ },
47
+ },
48
+ borderInfo: {},
49
+ },
50
+ },
51
+
52
+ image_link: {
53
+ type: 'INPUTBOX',
54
+ text: '$label.showcase_3.image_link_1.text',
55
+ },
56
+ },
57
+ },
58
+
59
+ {
60
+ settings: {
61
+ image_text: {
62
+ type: 'TEXTAREA',
63
+ text: '$label.showcase_3.image_text_2.text',
64
+ },
65
+
66
+ image_content: {
67
+ type: 'IMAGE',
68
+ imageData: {
69
+ set: {
70
+ LOW_RES: {
71
+ url: 'fixed_gears_low.jpg',
72
+ },
73
+ MOBILE_WEBP_LOW_RES: {
74
+ url: 'fixed_gears_low.jpg',
75
+ },
76
+ MOBILE_WEBP_HI_RES: {
77
+ url: 'fixed_gears_high.jpg',
78
+ },
79
+ WEBP_LOW_RES: {
80
+ url: 'fixed_gears_low.jpg',
81
+ },
82
+ WEBP_HI_2X_RES: {
83
+ url: 'fixed_gears_high.jpg',
84
+ },
85
+ },
86
+ borderInfo: {},
87
+ },
88
+ },
89
+
90
+ image_link: {
91
+ type: 'INPUTBOX',
92
+ text: '$label.showcase_3.image_link_1.text',
93
+ },
94
+ },
95
+ },
96
+
97
+ {
98
+ settings: {
99
+ image_text: {
100
+ type: 'TEXTAREA',
101
+ text: '$label.showcase_3.image_text_3.text',
102
+ },
103
+
104
+ image_content: {
105
+ type: 'IMAGE',
106
+ imageData: {
107
+ set: {
108
+ LOW_RES: {
109
+ url: 'repair_service_low.jpg',
110
+ },
111
+ MOBILE_WEBP_LOW_RES: {
112
+ url: 'repair_service_low.jpg',
113
+ },
114
+ MOBILE_WEBP_HI_RES: {
115
+ url: 'repair_service_high.jpg',
116
+ },
117
+ WEBP_LOW_RES: {
118
+ url: 'repair_service_low.jpg',
119
+ },
120
+ WEBP_HI_2X_RES: {
121
+ url: 'repair_service_high.jpg',
122
+ },
123
+ },
124
+ borderInfo: {},
125
+ },
126
+ },
127
+
128
+ image_link: {
129
+ type: 'INPUTBOX',
130
+ text: '$label.showcase_3.image_link_1.text',
131
+ },
132
+ },
133
+ },
134
+
135
+ {
136
+ settings: {
137
+ image_text: {
138
+ type: 'TEXTAREA',
139
+ text: '$label.showcase_3.image_text_4.text',
140
+ },
141
+
142
+ image_content: {
143
+ type: 'IMAGE',
144
+ imageData: {
145
+ set: {
146
+ LOW_RES: {
147
+ url: 'bike_accessories_low.jpg',
148
+ },
149
+ MOBILE_WEBP_LOW_RES: {
150
+ url: 'bike_accessories_low.jpg',
151
+ },
152
+ MOBILE_WEBP_HI_RES: {
153
+ url: 'bike_accessories_high.jpg',
154
+ },
155
+ WEBP_LOW_RES: {
156
+ url: 'bike_accessories_low.jpg',
157
+ },
158
+ WEBP_HI_2X_RES: {
159
+ url: 'bike_accessories_high.jpg',
160
+ },
161
+ },
162
+ borderInfo: {},
163
+ },
164
+ },
165
+ },
166
+ },
167
+ ],
168
+ },
169
+ toggle: {
170
+ type: 'TOGGLE',
171
+ label: '$label.showcase_3.toggle.label',
172
+ description: '$label.showcase_3.toggle.description',
173
+ defaults: {
174
+ enabled: true,
175
+ },
176
+ },
177
+ selectbox: {
178
+ type: 'SELECTBOX',
179
+ placeholder: '$label.showcase_3.selectbox.placeholder',
180
+ label: '$label.showcase_3.selectbox.label',
181
+ description: '$label.showcase_3.selectbox.description',
182
+ options: [
183
+ {
184
+ value: 'one',
185
+ label: '$label.showcase_3.selectbox.one.label',
186
+ },
187
+ {
188
+ value: 'two',
189
+ label: '$label.showcase_3.selectbox.two.label',
190
+ },
191
+ ],
192
+ defaults: {
193
+ value: 'one',
194
+ },
195
+ },
196
+ info: {
197
+ type: 'INFO',
198
+ text: '$label.showcase_3.info.text',
199
+ button: {
200
+ title: '$label.showcase_3.info.button.title',
201
+ link: 'https://example.com',
202
+ buttonType: 'HYPER_LINK',
203
+ },
204
+ },
205
+ button: {
206
+ type: 'BUTTON',
207
+ label: '$label.showcase_1.button.label',
208
+ title: '$label.showcase_1.button.defaults.title',
209
+ buttonType: 'HYPER_LINK',
210
+ link: 'https://www.example.com',
211
+ },
212
+ },
213
+ design: {
214
+ section_title: {
215
+ type: 'TEXT',
216
+ font: 'pt_mono',
217
+ size: 48,
218
+ bold: true,
219
+ italic: false,
220
+ color: '#FFFFFF',
221
+ },
222
+ image_text: {
223
+ type: 'TEXT',
224
+ font: 'pt_mono',
225
+ size: 24,
226
+ bold: true,
227
+ italic: false,
228
+ color: '#FFFFFF',
229
+ },
230
+ background: {
231
+ type: 'BACKGROUND',
232
+ style: 'GRADIENT',
233
+ color: ['#131313', '#292929'],
234
+ },
235
+ image_content: {
236
+ type: 'IMAGE',
237
+ overlay: 'GRADIENT',
238
+ color: ['#000000', '#00000033'],
239
+ },
240
+ },
241
+ } as const;