@lightspeed/crane 2.0.5 → 3.0.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 (131) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/UPGRADE.md +96 -0
  3. package/dist/cli.mjs +44 -25
  4. package/package.json +6 -3
  5. package/template/blank/sections/blank-section/BlankSection.vue +9 -0
  6. package/template/blank/sections/blank-section/assets/blank_section_showcase_1_preview.jpg +0 -0
  7. package/template/blank/sections/blank-section/client.ts +6 -0
  8. package/template/blank/sections/blank-section/server.ts +6 -0
  9. package/template/blank/sections/blank-section/settings/content.ts +2 -0
  10. package/template/blank/sections/blank-section/settings/design.ts +2 -0
  11. package/template/blank/sections/blank-section/settings/layout.ts +2 -0
  12. package/template/blank/sections/blank-section/settings/translations.ts +8 -0
  13. package/template/blank/sections/blank-section/showcases/1.ts +15 -0
  14. package/template/blank/sections/blank-section/showcases/translations.ts +10 -0
  15. package/template/blank/sections/blank-section/type.ts +5 -0
  16. package/template/collections/assets/collection_cover_image.png +0 -0
  17. package/template/collections/example-collection/configuration.ts +21 -0
  18. package/template/crane.config.json +1 -1
  19. package/template/footers/example-footer/ExampleFooter.vue +4 -4
  20. package/template/footers/example-footer/component/LegalLinks.vue +1 -1
  21. package/template/footers/example-footer/component/MadeWith.vue +1 -1
  22. package/template/footers/example-footer/component/ReportAbuse.vue +1 -1
  23. package/template/footers/example-footer/settings/design.ts +5 -4
  24. package/template/footers/example-footer/settings/translations.ts +4 -3
  25. package/template/footers/example-footer/showcases/1.ts +4 -2
  26. package/template/footers/example-footer/showcases/translations.ts +4 -2
  27. package/template/headers/example-header/ExampleHeader.vue +1 -1
  28. package/template/headers/example-header/component/Account.vue +1 -1
  29. package/template/headers/example-header/component/CategoriesDropdown.vue +1 -1
  30. package/template/headers/example-header/component/Logo.vue +7 -7
  31. package/template/headers/example-header/component/NavigationMenu.vue +1 -1
  32. package/template/headers/example-header/settings/content.ts +8 -1
  33. package/template/headers/example-header/settings/design.ts +7 -1
  34. package/template/headers/example-header/settings/layout.ts +1 -1
  35. package/template/headers/example-header/settings/translations.ts +4 -2
  36. package/template/headers/example-header/showcases/1.ts +15 -11
  37. package/template/headers/example-header/showcases/2.ts +12 -8
  38. package/template/headers/example-header/showcases/translations.ts +4 -2
  39. package/template/layouts/catalog/example-catalog/components/Icon.vue +14 -14
  40. package/template/layouts/catalog/example-catalog/slots/custom-bottom-bar/CustomBottomBar.vue +1 -1
  41. package/template/package.json +1 -0
  42. package/template/page-templates/example-template/configuration.ts +8 -10
  43. package/template/page-templates/example-template/pages/catalog.ts +3 -6
  44. package/template/page-templates/example-template/pages/category.ts +3 -6
  45. package/template/page-templates/example-template/pages/home.ts +42 -57
  46. package/template/page-templates/example-template/pages/product.ts +3 -6
  47. package/template/preview/sections/preview.html +10 -6
  48. package/template/preview/shared/api-routes.ts +235 -102
  49. package/template/preview/shared/logger.ts +9 -0
  50. package/template/preview/shared/preview.ts +108 -72
  51. package/template/preview/shared/utils.ts +63 -43
  52. package/template/preview/ssr-server.ts +1 -1
  53. package/template/reference/sections/about-us/AboutUs.vue +20 -22
  54. package/template/reference/sections/about-us/component/Image.vue +18 -18
  55. package/template/reference/sections/about-us/component/Stats.vue +40 -40
  56. package/template/reference/sections/about-us/component/Title.vue +1 -1
  57. package/template/reference/sections/about-us/settings/content.ts +15 -19
  58. package/template/reference/sections/about-us/settings/design.ts +14 -18
  59. package/template/reference/sections/about-us/settings/layout.ts +7 -5
  60. package/template/reference/sections/about-us/settings/translations.ts +4 -2
  61. package/template/reference/sections/about-us/showcases/1.ts +48 -62
  62. package/template/reference/sections/about-us/showcases/2.ts +44 -56
  63. package/template/reference/sections/about-us/showcases/translations.ts +4 -2
  64. package/template/reference/sections/featured-products/FeaturedProducts.vue +12 -6
  65. package/template/reference/sections/featured-products/component/ProductItem.vue +18 -1
  66. package/template/reference/sections/featured-products/component/ProductPlaceholder.vue +42 -0
  67. package/template/reference/sections/featured-products/component/Title.vue +1 -1
  68. package/template/reference/sections/featured-products/settings/content.ts +8 -10
  69. package/template/reference/sections/featured-products/settings/design.ts +7 -7
  70. package/template/reference/sections/featured-products/settings/translations.ts +4 -2
  71. package/template/reference/sections/featured-products/showcases/1.ts +8 -12
  72. package/template/reference/sections/featured-products/showcases/translations.ts +4 -2
  73. package/template/reference/sections/intro-slider/IntroSlider.vue +6 -6
  74. package/template/reference/sections/intro-slider/component/Slider.vue +42 -43
  75. package/template/reference/sections/intro-slider/component/Title.vue +7 -7
  76. package/template/reference/sections/intro-slider/settings/content.ts +33 -36
  77. package/template/reference/sections/intro-slider/settings/design.ts +17 -22
  78. package/template/reference/sections/intro-slider/settings/layout.ts +6 -4
  79. package/template/reference/sections/intro-slider/settings/translations.ts +4 -2
  80. package/template/reference/sections/intro-slider/showcases/1.ts +52 -75
  81. package/template/reference/sections/intro-slider/showcases/2.ts +50 -72
  82. package/template/reference/sections/intro-slider/showcases/translations.ts +4 -2
  83. package/template/reference/sections/tag-lines/TagLines.vue +41 -47
  84. package/template/reference/sections/tag-lines/component/HighlightedText.vue +1 -1
  85. package/template/reference/sections/tag-lines/component/SectionImage.vue +18 -18
  86. package/template/reference/sections/tag-lines/component/Title.vue +1 -1
  87. package/template/reference/sections/tag-lines/settings/content.ts +47 -47
  88. package/template/reference/sections/tag-lines/settings/design.ts +15 -19
  89. package/template/reference/sections/tag-lines/settings/layout.ts +6 -4
  90. package/template/reference/sections/tag-lines/settings/translations.ts +4 -2
  91. package/template/reference/sections/tag-lines/showcases/1.ts +40 -50
  92. package/template/reference/sections/tag-lines/showcases/2.ts +40 -50
  93. package/template/reference/sections/tag-lines/showcases/translations.ts +4 -2
  94. package/template/reference/sections/trending-categories/TrendingCategories.vue +1 -1
  95. package/template/reference/sections/trending-categories/component/CategoryItem.vue +18 -1
  96. package/template/reference/sections/trending-categories/component/Title.vue +1 -1
  97. package/template/reference/sections/trending-categories/settings/content.ts +8 -10
  98. package/template/reference/sections/trending-categories/settings/design.ts +7 -7
  99. package/template/reference/sections/trending-categories/settings/translations.ts +4 -2
  100. package/template/reference/sections/trending-categories/showcases/1.ts +14 -15
  101. package/template/reference/sections/trending-categories/showcases/translations.ts +4 -2
  102. package/template/reference/shared/components/Button.vue +6 -6
  103. package/template/reference/shared/components/SectionWrapper.vue +5 -5
  104. package/template/reference/shared/components/Tagline.vue +12 -11
  105. package/template/reference/templates/reference-template-apparel/configuration.ts +8 -8
  106. package/template/reference/templates/reference-template-apparel/pages/catalog.ts +3 -6
  107. package/template/reference/templates/reference-template-apparel/pages/category.ts +3 -6
  108. package/template/reference/templates/reference-template-apparel/pages/home.ts +14 -18
  109. package/template/reference/templates/reference-template-apparel/pages/product.ts +3 -6
  110. package/template/reference/templates/reference-template-bike/configuration.ts +9 -9
  111. package/template/reference/templates/reference-template-bike/pages/catalog.ts +3 -6
  112. package/template/reference/templates/reference-template-bike/pages/category.ts +3 -6
  113. package/template/reference/templates/reference-template-bike/pages/home.ts +14 -18
  114. package/template/reference/templates/reference-template-bike/pages/product.ts +3 -6
  115. package/template/sections/example-section/ExampleSection.vue +3 -5
  116. package/template/sections/example-section/component/button/Button.vue +1 -1
  117. package/template/sections/example-section/component/image/Image.vue +43 -43
  118. package/template/sections/example-section/component/image/ImagesGrid.vue +21 -32
  119. package/template/sections/example-section/component/selectbox/Selectbox.vue +1 -1
  120. package/template/sections/example-section/component/title/Title.vue +1 -1
  121. package/template/sections/example-section/component/toggle/Toggle.vue +4 -4
  122. package/template/sections/example-section/settings/content.ts +25 -34
  123. package/template/sections/example-section/settings/design.ts +15 -19
  124. package/template/sections/example-section/settings/layout.ts +15 -14
  125. package/template/sections/example-section/settings/translations.ts +4 -2
  126. package/template/sections/example-section/showcases/1.ts +52 -79
  127. package/template/sections/example-section/showcases/2.ts +46 -62
  128. package/template/sections/example-section/showcases/3.ts +50 -76
  129. package/template/sections/example-section/showcases/translations.ts +4 -2
  130. package/template/shared/components/LanguageSelector.vue +1 -1
  131. package/template/shared/components/SectionWrapper.vue +5 -5
@@ -1,6 +1,7 @@
1
+ import { design } from '@lightspeed/crane-api';
2
+
1
3
  export default {
2
- section_title: {
3
- type: 'TEXT',
4
+ section_title: design.text({
4
5
  label: '$label.section_title.label',
5
6
  colors: ['#FFFFFF66', '#0000004D', '#00000099', '#64C7FF66', '#F9947266', '#C794CD66', '#FFD17466'],
6
7
  sizes: [18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60],
@@ -12,9 +13,8 @@ export default {
12
13
  color: '#313131',
13
14
  visible: true,
14
15
  },
15
- },
16
- section_description: {
17
- type: 'TEXT',
16
+ }),
17
+ section_description: design.text({
18
18
  label: '$label.section_description.label',
19
19
  colors: ['#FFFFFF66', '#0000004D', '#00000099', '#64C7FF66', '#F9947266', '#C794CD66', '#FFD17466'],
20
20
  sizes: [12, 13, 14, 15, 16, 17, 18, 20],
@@ -26,13 +26,11 @@ export default {
26
26
  color: '#313131',
27
27
  visible: true,
28
28
  },
29
- },
30
- divider: {
31
- type: 'DIVIDER',
29
+ }),
30
+ divider: design.divider({
32
31
  label: '$label.divider.label',
33
- },
34
- image_text: {
35
- type: 'TEXT',
32
+ }),
33
+ image_text: design.text({
36
34
  label: '$label.image_text.label',
37
35
  colors: ['#FFFFFF66', '#0000004D', '#00000099', '#64C7FF66', '#F9947266', '#C794CD66', '#FFD17466'],
38
36
  sizes: [12, 13, 14, 15, 16, 17, 18, 20],
@@ -44,23 +42,21 @@ export default {
44
42
  color: '#FFFFFF',
45
43
  visible: true,
46
44
  },
47
- },
48
- image_content: {
49
- type: 'IMAGE',
45
+ }),
46
+ image_content: design.image({
50
47
  label: '$label.image_content.label',
51
48
  colors: ['#FFFFFF66', '#0000004D', '#00000099', '#64C7FF66', '#F9947266', '#C794CD66', '#FFD17466'],
52
49
  defaults: {
53
50
  overlay: 'COLOR',
54
51
  color: '#333',
55
52
  },
56
- },
57
- background: {
58
- type: 'BACKGROUND',
53
+ }),
54
+ background: design.background({
59
55
  label: '$label.background.label',
60
56
  colors: ['#FFFFFF66', '#0000004D', '#00000099', '#64C7FF66', '#F9947266', '#C794CD66', '#FFD17466'],
61
57
  defaults: {
62
58
  style: 'COLOR',
63
59
  color: 'global.color.background',
64
60
  },
65
- },
66
- } as const;
61
+ }),
62
+ };
@@ -1,22 +1,23 @@
1
+ import { layout } from '@lightspeed/crane-api';
2
+
1
3
  export default [
2
- {
4
+ layout.init({
3
5
  layoutId: 'Caption_On_Image',
4
6
  selectedContentSettings: [],
5
7
  selectedDesignSettings: [],
6
- },
7
- {
8
+ }),
9
+ layout.init({
8
10
  layoutId: 'Caption_Under_Image',
9
11
  selectedContentSettings: [],
10
12
  selectedDesignSettings: [
11
- {
13
+ layout.designOverride.text({
12
14
  fieldName: 'section_title',
13
- },
14
- {
15
+ }),
16
+ layout.designOverride.text({
15
17
  fieldName: 'section_description',
16
- },
17
- {
18
+ }),
19
+ layout.designOverride.text({
18
20
  fieldName: 'image_text',
19
- type: 'TEXT',
20
21
  defaults: {
21
22
  font: 'global.fontFamily.body',
22
23
  size: 16,
@@ -25,10 +26,10 @@ export default [
25
26
  color: '#000000',
26
27
  visible: true,
27
28
  },
28
- },
29
- {
29
+ }),
30
+ layout.designOverride.background({
30
31
  fieldName: 'background',
31
- },
32
+ }),
32
33
  ],
33
- },
34
- ] as const;
34
+ }),
35
+ ];
@@ -1,4 +1,6 @@
1
- export default {
1
+ import { translation } from '@lightspeed/crane-api';
2
+
3
+ export default translation.init({
2
4
  en: {
3
5
  '$label.section_title.label': 'Main title',
4
6
  '$label.section_title.placeholder': 'This will be the main title for this section',
@@ -129,4 +131,4 @@ export default {
129
131
  + 'pouvez fournir des conseils utiles sur l\'utilisation de la section personnalisée',
130
132
  '$label.info.button.label': 'En savoir plus',
131
133
  },
132
- } as const;
134
+ });
@@ -1,4 +1,10 @@
1
- export default {
1
+ import {
2
+ content,
3
+ design,
4
+ showcase,
5
+ } from '@lightspeed/crane-api';
6
+
7
+ export default showcase.init({
2
8
  showcaseId: '1',
3
9
  previewImage: {
4
10
  set: {
@@ -10,27 +16,20 @@ export default {
10
16
  blockName: '$label.showcase_1.blockName',
11
17
  layoutId: 'Caption_On_Image',
12
18
  content: {
13
- section_title: {
14
- type: 'INPUTBOX',
19
+ section_title: content.default.inputbox({
15
20
  text: '$label.showcase_1.section_title.text',
16
- },
17
- section_description: {
18
- type: 'TEXTAREA',
21
+ }),
22
+ section_description: content.default.textarea({
19
23
  text: '$label.showcase_1.section_description.text',
20
- },
21
-
22
- images: {
23
- type: 'DECK',
24
+ }),
25
+ images: content.default.deck({
24
26
  cards: [
25
27
  {
26
28
  settings: {
27
- image_text: {
28
- type: 'TEXTAREA',
29
+ image_text: content.default.textarea({
29
30
  text: '$label.showcase_1.image_text_1.text',
30
- },
31
-
32
- image_content: {
33
- type: 'IMAGE',
31
+ }),
32
+ image_content: content.default.image({
34
33
  imageData: {
35
34
  set: {
36
35
  MOBILE_WEBP_LOW_RES: {
@@ -48,24 +47,18 @@ export default {
48
47
  },
49
48
  borderInfo: {},
50
49
  },
51
- },
52
-
53
- image_link: {
54
- type: 'INPUTBOX',
50
+ }),
51
+ image_link: content.default.inputbox({
55
52
  text: '$label.showcase_1.image_link_1.text',
56
- },
53
+ }),
57
54
  },
58
55
  },
59
-
60
56
  {
61
57
  settings: {
62
- image_text: {
63
- type: 'TEXTAREA',
58
+ image_text: content.default.textarea({
64
59
  text: '$label.showcase_1.image_text_2.text',
65
- },
66
-
67
- image_content: {
68
- type: 'IMAGE',
60
+ }),
61
+ image_content: content.default.image({
69
62
  imageData: {
70
63
  set: {
71
64
  MOBILE_WEBP_LOW_RES: {
@@ -83,24 +76,18 @@ export default {
83
76
  },
84
77
  borderInfo: {},
85
78
  },
86
- },
87
-
88
- image_link: {
89
- type: 'INPUTBOX',
79
+ }),
80
+ image_link: content.default.inputbox({
90
81
  text: '$label.showcase_1.image_link_1.text',
91
- },
82
+ }),
92
83
  },
93
84
  },
94
-
95
85
  {
96
86
  settings: {
97
- image_text: {
98
- type: 'TEXTAREA',
87
+ image_text: content.default.textarea({
99
88
  text: '$label.showcase_1.image_text_3.text',
100
- },
101
-
102
- image_content: {
103
- type: 'IMAGE',
89
+ }),
90
+ image_content: content.default.image({
104
91
  imageData: {
105
92
  set: {
106
93
  MOBILE_WEBP_LOW_RES: {
@@ -118,24 +105,18 @@ export default {
118
105
  },
119
106
  borderInfo: {},
120
107
  },
121
- },
122
-
123
- image_link: {
124
- type: 'INPUTBOX',
108
+ }),
109
+ image_link: content.default.inputbox({
125
110
  text: '$label.showcase_1.image_link_1.text',
126
- },
111
+ }),
127
112
  },
128
113
  },
129
-
130
114
  {
131
115
  settings: {
132
- image_text: {
133
- type: 'TEXTAREA',
116
+ image_text: content.default.textarea({
134
117
  text: '$label.showcase_1.image_text_4.text',
135
- },
136
-
137
- image_content: {
138
- type: 'IMAGE',
118
+ }),
119
+ image_content: content.default.image({
139
120
  imageData: {
140
121
  set: {
141
122
  MOBILE_WEBP_LOW_RES: {
@@ -153,58 +134,50 @@ export default {
153
134
  },
154
135
  borderInfo: {},
155
136
  },
156
- },
137
+ }),
157
138
  },
158
139
  },
159
140
  ],
160
- },
161
- toggle: {
162
- type: 'TOGGLE',
141
+ }),
142
+ toggle: content.default.toggle({
163
143
  enabled: true,
164
- },
165
- selectbox: {
166
- type: 'SELECTBOX',
144
+ }),
145
+ selectbox: content.default.selectbox({
167
146
  value: 'one',
168
- },
169
- info: {
170
- type: 'INFO',
147
+ }),
148
+ info: content.default.info({
171
149
  text: '$label.showcase_1.info.text',
172
150
  button: {
173
151
  title: '$label.showcase_1.info.button.title',
174
152
  link: 'https://example.com',
175
153
  },
176
- },
177
- button: {
178
- type: 'BUTTON',
154
+ }),
155
+ button: content.default.button({
179
156
  title: '$label.showcase_1.button.defaults.title',
180
157
  buttonType: 'HYPER_LINK',
181
158
  link: 'https://www.example.com',
182
- },
159
+ }),
183
160
  },
184
161
  design: {
185
- section_title: {
186
- type: 'TEXT',
162
+ section_title: design.default.text({
187
163
  font: 'global.fontFamily.body',
188
164
  size: 44,
189
165
  bold: true,
190
166
  italic: false,
191
167
  color: '#333',
192
- },
193
- image_text: {
194
- type: 'TEXT',
168
+ }),
169
+ image_text: design.default.text({
195
170
  size: 20,
196
171
  bold: false,
197
172
  italic: false,
198
- },
199
- background: {
200
- type: 'BACKGROUND',
173
+ }),
174
+ background: design.default.background({
201
175
  style: 'COLOR',
202
176
  color: 'global.color.background',
203
- },
204
- image_content: {
205
- type: 'IMAGE',
177
+ }),
178
+ image_content: design.default.image({
206
179
  overlay: 'GRADIENT',
207
180
  color: ['#FFFFFF', '#000000'],
208
- },
181
+ }),
209
182
  },
210
- } as const;
183
+ });
@@ -1,4 +1,10 @@
1
- export default {
1
+ import {
2
+ content,
3
+ design,
4
+ showcase,
5
+ } from '@lightspeed/crane-api';
6
+
7
+ export default showcase.init({
2
8
  showcaseId: '2',
3
9
  previewImage: {
4
10
  set: {
@@ -9,22 +15,17 @@ export default {
9
15
  },
10
16
  blockName: '$label.showcase_2.blockName',
11
17
  content: {
12
- section_title: {
13
- type: 'INPUTBOX',
18
+ section_title: content.default.inputbox({
14
19
  text: '$label.showcase_2.section_title.text',
15
- },
16
-
17
- images: {
18
- type: 'DECK',
20
+ }),
21
+ images: content.default.deck({
19
22
  cards: [
20
23
  {
21
24
  settings: {
22
- image_text: {
23
- type: 'TEXTAREA',
25
+ image_text: content.default.textarea({
24
26
  text: '$label.showcase_2.image_text_1.text',
25
- },
26
- image_content: {
27
- type: 'IMAGE',
27
+ }),
28
+ image_content: content.default.image({
28
29
  imageData: {
29
30
  set: {
30
31
  MOBILE_WEBP_LOW_RES: {
@@ -42,21 +43,18 @@ export default {
42
43
  },
43
44
  borderInfo: {},
44
45
  },
45
- },
46
- image_link: {
47
- type: 'INPUTBOX',
46
+ }),
47
+ image_link: content.default.inputbox({
48
48
  text: '$label.showcase_2.image_link_1.text',
49
- },
49
+ }),
50
50
  },
51
51
  },
52
52
  {
53
53
  settings: {
54
- image_text: {
55
- type: 'TEXTAREA',
54
+ image_text: content.default.textarea({
56
55
  text: '$label.showcase_2.image_text_2.text',
57
- },
58
- image_content: {
59
- type: 'IMAGE',
56
+ }),
57
+ image_content: content.default.image({
60
58
  imageData: {
61
59
  set: {
62
60
  MOBILE_WEBP_LOW_RES: {
@@ -74,18 +72,15 @@ export default {
74
72
  },
75
73
  borderInfo: {},
76
74
  },
77
- },
75
+ }),
78
76
  },
79
77
  },
80
-
81
78
  {
82
79
  settings: {
83
- image_text: {
84
- type: 'TEXTAREA',
80
+ image_text: content.default.textarea({
85
81
  text: '$label.showcase_2.image_text_3.text',
86
- },
87
- image_content: {
88
- type: 'IMAGE',
82
+ }),
83
+ image_content: content.default.image({
89
84
  imageData: {
90
85
  set: {
91
86
  MOBILE_WEBP_LOW_RES: {
@@ -103,18 +98,15 @@ export default {
103
98
  },
104
99
  borderInfo: {},
105
100
  },
106
- },
101
+ }),
107
102
  },
108
103
  },
109
-
110
104
  {
111
105
  settings: {
112
- image_text: {
113
- type: 'TEXTAREA',
106
+ image_text: content.default.textarea({
114
107
  text: '$label.showcase_2.image_text_4.text',
115
- },
116
- image_content: {
117
- type: 'IMAGE',
108
+ }),
109
+ image_content: content.default.image({
118
110
  imageData: {
119
111
  set: {
120
112
  MOBILE_WEBP_LOW_RES: {
@@ -132,59 +124,51 @@ export default {
132
124
  },
133
125
  borderInfo: {},
134
126
  },
135
- },
127
+ }),
136
128
  },
137
129
  },
138
130
  ],
139
- },
140
- toggle: {
141
- type: 'TOGGLE',
131
+ }),
132
+ toggle: content.default.toggle({
142
133
  enabled: true,
143
- },
144
- selectbox: {
145
- type: 'SELECTBOX',
134
+ }),
135
+ selectbox: content.default.selectbox({
146
136
  value: 'one',
147
- },
148
- info: {
149
- type: 'INFO',
137
+ }),
138
+ info: content.default.info({
150
139
  text: '$label.showcase_2.info.text',
151
140
  button: {
152
141
  title: '$label.showcase_1.info.button.title',
153
142
  link: 'https://example.com',
154
143
  },
155
- },
156
- button: {
157
- type: 'BUTTON',
144
+ }),
145
+ button: content.default.button({
158
146
  title: '$label.showcase_2.button.defaults.title',
159
147
  buttonType: 'HYPER_LINK',
160
148
  link: 'https://www.example.com',
161
- },
149
+ }),
162
150
  },
163
151
  design: {
164
- section_title: {
165
- type: 'TEXT',
152
+ section_title: design.default.text({
166
153
  font: 'global.fontFamily.body',
167
154
  size: 44,
168
155
  bold: true,
169
156
  italic: false,
170
157
  color: '#333',
171
- },
172
- image_text: {
173
- type: 'TEXT',
158
+ }),
159
+ image_text: design.default.text({
174
160
  size: 20,
175
161
  bold: false,
176
162
  italic: false,
177
163
  color: '#FFFFFF',
178
- },
179
- background: {
180
- type: 'BACKGROUND',
164
+ }),
165
+ background: design.default.background({
181
166
  style: 'COLOR',
182
167
  color: 'global.color.background',
183
- },
184
- image_content: {
185
- type: 'IMAGE',
168
+ }),
169
+ image_content: design.default.image({
186
170
  overlay: 'GRADIENT',
187
171
  color: ['#FFFFFF', '#000000'],
188
- },
172
+ }),
189
173
  },
190
- } as const;
174
+ });