@lightspeed/crane 1.1.3 → 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.
@@ -44,17 +44,11 @@ export default {
44
44
  settings: {
45
45
  stat_value: {
46
46
  type: 'INPUTBOX',
47
- label: '$label.showcase_2.stat_value_1.label',
48
- placeholder: '$label.showcase_2.stat_value_1.placeholder',
49
47
  text: '$label.showcase_2.stat_value.default_1.text',
50
- title: '$label.showcase_2.stat_value.default_1.text',
51
48
  },
52
49
  stat_caption: {
53
50
  type: 'INPUTBOX',
54
- label: '$label.showcase_2.stat_caption_1.label',
55
- placeholder: '$label.showcase_2.stat_caption_1.placeholder',
56
51
  text: '$label.showcase_2.stat_caption_1.default.text',
57
- title: '$label.showcase_2.stat_caption_1.default.text',
58
52
  },
59
53
  },
60
54
  },
@@ -62,14 +56,10 @@ export default {
62
56
  settings: {
63
57
  stat_value: {
64
58
  type: 'INPUTBOX',
65
- label: '$label.showcase_2.stat_value_2.label',
66
- placeholder: '$label.showcase_2.stat_value_2.placeholder',
67
59
  text: '$label.showcase_2.stat_value.default_2.text',
68
60
  },
69
61
  stat_caption: {
70
62
  type: 'INPUTBOX',
71
- label: '$label.showcase_2.stat_caption_2.label',
72
- placeholder: '$label.showcase_2.stat_caption_2.placeholder',
73
63
  text: '$label.showcase_2.stat_caption_2.default.text',
74
64
  },
75
65
  },
@@ -78,14 +68,10 @@ export default {
78
68
  settings: {
79
69
  stat_value: {
80
70
  type: 'INPUTBOX',
81
- label: '$label.showcase_2.stat_value_3.label',
82
- placeholder: '$label.showcase_2.stat_value_3.placeholder',
83
71
  text: '$label.showcase_2.stat_value.default_3.text',
84
72
  },
85
73
  stat_caption: {
86
74
  type: 'INPUTBOX',
87
- label: '$label.showcase_2.stat_caption_3.label',
88
- placeholder: '$label.showcase_2.stat_caption_3.placeholder',
89
75
  text: '$label.showcase_2.stat_caption_3.default.text',
90
76
  },
91
77
  },
@@ -94,14 +80,10 @@ export default {
94
80
  settings: {
95
81
  stat_value: {
96
82
  type: 'INPUTBOX',
97
- label: '$label.showcase_2.stat_value_4.label',
98
- placeholder: '$label.showcase_2.stat_value_4.placeholder',
99
83
  text: '$label.showcase_2.stat_value.default_4.text',
100
84
  },
101
85
  stat_caption: {
102
86
  type: 'INPUTBOX',
103
- label: '$label.showcase_2.stat_caption_4.label',
104
- placeholder: '$label.showcase_2.stat_caption_4.placeholder',
105
87
  text: '$label.showcase_2.stat_caption_4.default.text',
106
88
  },
107
89
  },
@@ -111,6 +93,7 @@ export default {
111
93
  button: {
112
94
  type: 'BUTTON',
113
95
  title: '$label.showcase_2.button_content.title',
96
+ buttonType: 'HYPER_LINK',
114
97
  },
115
98
  },
116
99
  design: {
@@ -153,7 +136,7 @@ export default {
153
136
  font: 'inter',
154
137
  appearance: 'OUTLINE',
155
138
  size: 'LARGE',
156
- style: 'rectangle',
139
+ shape: 'RECTANGLE',
157
140
  color: '#FFFFFF',
158
141
  },
159
142
  },
@@ -25,6 +25,7 @@ export default {
25
25
  section_button: {
26
26
  type: 'BUTTON',
27
27
  title: '$label.showcase_1.section_button.title',
28
+ buttonType: 'HYPER_LINK',
28
29
  },
29
30
  slider: {
30
31
  type: 'DECK',
@@ -249,7 +250,7 @@ export default {
249
250
  font: 'inter',
250
251
  appearance: 'SOLID',
251
252
  size: 'LARGE',
252
- style: 'pill',
253
+ shape: 'PILL',
253
254
  color: '#000000',
254
255
  },
255
256
  background: {
@@ -21,6 +21,7 @@ export default {
21
21
  section_button: {
22
22
  type: 'BUTTON',
23
23
  title: '$label.showcase_2.section_button.title',
24
+ buttonType: 'HYPER_LINK',
24
25
  },
25
26
  slider: {
26
27
  type: 'DECK',
@@ -245,7 +246,7 @@ export default {
245
246
  font: 'inter',
246
247
  appearance: 'SOLID',
247
248
  size: 'LARGE',
248
- style: 'rectangle',
249
+ shape: 'RECTANGLE',
249
250
  color: '#FFFFFF',
250
251
  },
251
252
  background: {
@@ -6,25 +6,33 @@
6
6
  <CustomSectionExampleTitle />
7
7
  <div class="example-section__blank_space" />
8
8
  <CustomSectionExampleImagesGrid />
9
+ <div class="custom-block__blank_space" />
10
+ <Button />
11
+ <Toggle />
12
+ <Selectbox />
9
13
  </SectionWrapper>
10
14
  </template>
11
15
 
12
16
  <script setup lang="ts">
13
- import { useBackgroundElementDesign } from '@lightspeed/crane';
17
+ import {
18
+ useBackgroundElementDesign,
19
+ } from '@lightspeed/crane';
14
20
  import { computed } from 'vue';
15
21
  import { Design } from './type.ts';
16
22
  import CustomSectionExampleTitle from './component/title/Title.vue';
17
23
  import CustomSectionExampleImagesGrid from './component/image/ImagesGrid.vue';
18
24
  import SectionWrapper from '../../shared/components/SectionWrapper.vue';
25
+ import Selectbox from './component/selectbox/Selectbox.vue';
26
+ import Toggle from './component/toggle/Toggle.vue';
27
+ import Button from './component/button/Button.vue';
19
28
 
20
29
  const backgroundDesign = useBackgroundElementDesign<Design>('background');
21
30
  const background = computed(() => ({
22
31
  type: backgroundDesign.background?.type,
23
- solidColor: backgroundDesign.background?.solid?.color as Color,
24
- fromColor: backgroundDesign.background?.gradient?.fromColor as Color,
25
- toColor: backgroundDesign.background?.gradient?.toColor as Color,
32
+ solidColor: backgroundDesign.background?.solid?.color,
33
+ fromColor: backgroundDesign.background?.gradient?.fromColor,
34
+ toColor: backgroundDesign.background?.gradient?.toColor,
26
35
  }));
27
-
28
36
  const backgroundStyle = computed(() => {
29
37
  if (background.value.type === 'gradient') {
30
38
  return { 'background-image': `linear-gradient(to right, ${background.value.fromColor.hex}, ${background.value.toColor.hex})` };
@@ -0,0 +1,3 @@
1
+ <svg width="22" height="22" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill="currentColor" d="M19.22 1.735c.528.012.97.42 1.037.933l.009.112.09 4.09a.97.97 0 01-1 1 1.08 1.08 0 01-1.037-.934l-.008-.111-.037-1.684-6.809 6.809c-.438.439-.877.47-1.314.095l-.101-.094c-.438-.437-.469-.876-.093-1.314l.094-.101 6.809-6.809-1.684-.037a1.08 1.08 0 01-1.034-.916l-.01-.128a.969.969 0 01.888-.997l.111-.003 4.09.09zM19 14.5a4.5 4.5 0 01-4.288 4.495L14.5 19h-7a4.5 4.5 0 01-4.495-4.288L3 14.5v-7a4.5 4.5 0 014.288-4.495L7.5 3h2.625a1 1 0 01.117 1.993L10.125 5H7.5a2.5 2.5 0 00-2.495 2.336L5 7.5v7a2.5 2.5 0 002.336 2.495L7.5 17h7a2.5 2.5 0 002.495-2.336L17 14.5v-2.625a1 1 0 011.993-.117l.007.117V14.5z" />
3
+ </svg>
@@ -0,0 +1,87 @@
1
+ <template>
2
+ <div>
3
+ <button
4
+ v-if="button?.hasTitle && button?.hasLink"
5
+ class="pretty-button"
6
+ type="button"
7
+ @click="button.performAction"
8
+ >
9
+ <div class="button-content">
10
+ <img :src="arrowIcon" alt="Arrow Icon" width="22" height="22" />
11
+ <div style="margin-left: 4px">
12
+ {{ button.title }}
13
+ </div>
14
+ </div>
15
+ </button>
16
+ </div>
17
+ </template>
18
+
19
+ <script setup lang="ts">
20
+ import {
21
+ useButtonElementContent,
22
+ } from '@lightspeed/crane';
23
+ import { Content } from '../../type.ts';
24
+ import arrowIcon from '../../assets/arrow.svg';
25
+
26
+ const button = useButtonElementContent<Content>('button');
27
+ </script>
28
+
29
+ <style lang="scss" scoped>
30
+ .button-content {
31
+ display: flex;
32
+ justify-content: center;
33
+ align-items: center;
34
+ }
35
+ .pretty-button {
36
+ background-color: #FFFFFF;
37
+ border: 1px solid #222222;
38
+ border-radius: 8px;
39
+ box-sizing: border-box;
40
+ color: #222222;
41
+ cursor: pointer;
42
+ display: inline-block;
43
+ font-family: Circular, -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif;
44
+ font-size: 16px;
45
+ font-weight: 600;
46
+ line-height: 20px;
47
+ margin: 0;
48
+ outline: none;
49
+ padding: 12px 20px;
50
+ position: relative;
51
+ text-align: center;
52
+ text-decoration: none;
53
+ transition: box-shadow 0.2s, transform 0.1s ease;
54
+ user-select: none;
55
+ -webkit-user-select: none;
56
+ width: auto;
57
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
58
+
59
+ &:hover {
60
+ background-color: #F7F7F7;
61
+ border-color: #222222;
62
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
63
+ transform: translateY(-2px);
64
+ }
65
+
66
+ &:active {
67
+ background-color: #F7F7F7;
68
+ border-color: #000000;
69
+ transform: scale(0.96);
70
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
71
+ }
72
+
73
+ &:focus-visible {
74
+ box-shadow: #222222 0 0 0 2px, rgba(255, 255, 255, 0.8) 0 0 0 4px;
75
+ transition: box-shadow 0.2s;
76
+ }
77
+
78
+ &:disabled {
79
+ background-color: #FFFFFF;
80
+ border-color: #DDDDDD;
81
+ color: #DDDDDD;
82
+ cursor: not-allowed;
83
+ opacity: 1;
84
+ box-shadow: none;
85
+ }
86
+ }
87
+ </style>
@@ -0,0 +1,45 @@
1
+ <template>
2
+ <div v-if="selectbox?.hasContent" class="control-item" :style="{ color: textColor }">
3
+ <div>
4
+ <h1>Selected: {{ selectbox.value }}</h1>
5
+ </div>
6
+ </div>
7
+ </template>
8
+
9
+ <script setup lang="ts">
10
+ import { computed } from 'vue';
11
+ import { useBackgroundElementDesign, useSelectboxElementContent } from '@lightspeed/crane';
12
+ import { Content, Design } from '../../type.ts';
13
+ import { isDark } from '../../../../shared/utils.ts';
14
+
15
+ const selectbox = useSelectboxElementContent<Content>('selectbox');
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
+ .control-item {
29
+ margin: 20px 0;
30
+ display: flex;
31
+ align-items: center;
32
+ gap: 10px;
33
+
34
+ label {
35
+ font-weight: 500;
36
+ }
37
+
38
+ select {
39
+ padding: 8px 12px;
40
+ border: 1px solid #ccc;
41
+ border-radius: 4px;
42
+ font-size: 14px;
43
+ }
44
+ }
45
+ </style>
@@ -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: {
@@ -53,7 +68,23 @@ export default {
53
68
  '$label.images.selectbox.label': 'Content.ts: Afbeelding selecteren',
54
69
  '$label.images.selectbox_option_1.label': 'Content.ts: Afbeelding selecteren optie 1',
55
70
  '$label.images.selectbox_option_2.label': 'Content.ts: Afbeelding selecteren optie 2',
71
+
56
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',
57
88
  },
58
89
 
59
90
  fr: {
@@ -80,5 +111,22 @@ export default {
80
111
  '$label.images.selectbox_option_1.label': 'Content.ts: Option de sélection de l\'image 1',
81
112
  '$label.images.selectbox_option_2.label': 'Content.ts: Option de sélection de l\'image 2',
82
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',
126
+
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',
83
131
  },
84
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: {
@@ -166,6 +166,49 @@ export default {
166
166
  },
167
167
  ],
168
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
+ },
169
212
  },
170
213
  design: {
171
214
  section_title: {