@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,106 @@
1
+ <template>
2
+ <div :class="titleClass">
3
+ <h1 v-if="showTitle">
4
+ {{ titleContent.value }}
5
+ </h1>
6
+ <p v-if="showDescription">
7
+ {{ descriptionContent.value }}
8
+ </p>
9
+ </div>
10
+ </template>
11
+
12
+ <script setup lang="ts">
13
+ import { computed, CSSProperties } from 'vue';
14
+ import {
15
+ useLayoutElementDesign,
16
+ useTextareaElementContent, useTextareaElementDesign,
17
+ } from '@lightspeed/crane';
18
+ import { Content, Design } from '../type.ts';
19
+
20
+ const titleContent = useTextareaElementContent<Content>('section_title');
21
+ const descriptionContent = useTextareaElementContent<Content>('section_description');
22
+
23
+ const titleDesign = useTextareaElementDesign<Design>('section_title');
24
+ const descriptionDesign = useTextareaElementDesign<Design>('section_description');
25
+
26
+ const showTitle = computed<boolean>(() => titleDesign.visible && titleContent.hasContent);
27
+ const showDescription = computed<boolean>(() => descriptionDesign.visible && descriptionContent.hasContent);
28
+
29
+ const layoutDesign = useLayoutElementDesign();
30
+ const titleClass = computed(() => [
31
+ 'title',
32
+ {
33
+ 'title--narrow': layoutDesign.layout === 'Narrow_Title_And_Images_With_Border_Radius',
34
+ },
35
+ ]);
36
+
37
+ const titleStyle = computed<CSSProperties>(() => ({
38
+ fontSize: `${titleDesign.size}px`,
39
+ fontFamily: titleDesign.font,
40
+ color: (titleDesign.color as Color).hex,
41
+ fontStyle: titleDesign.italic ? 'italic' : 'normal',
42
+ fontWeight: titleDesign.bold ? 'bold' : 'normal',
43
+ }));
44
+
45
+ const descriptionStyle = computed<CSSProperties>(() => ({
46
+ fontSize: `${descriptionDesign.size}px`,
47
+ fontFamily: descriptionDesign.font,
48
+ color: (descriptionDesign.color as Color).hex,
49
+ fontStyle: descriptionDesign.italic ? 'italic' : 'normal',
50
+ fontWeight: descriptionDesign.bold ? 'bold' : 'normal',
51
+ }));
52
+ </script>
53
+
54
+ <style lang="scss" scoped>
55
+ .title {
56
+ text-align: center;
57
+ white-space: break-spaces;
58
+ word-break: break-word;
59
+ overflow-wrap: break-word;
60
+ padding: 0 20px;
61
+
62
+ &--narrow {
63
+ max-width: 660px;
64
+ }
65
+
66
+ h1 {
67
+ --font-size: v-bind(titleStyle.fontSize);
68
+ --font-family: v-bind(titleStyle.fontFamily);
69
+ --color: v-bind(titleStyle.color);
70
+ --font-style: v-bind(titleStyle.fontStyle);
71
+ --font-weight: v-bind(titleStyle.fontWeight);
72
+ --font-size-multiplier: 1;
73
+
74
+ font-size: calc(var(--font-size) * var(--font-size-multiplier));
75
+ font-family: var(--font-family);
76
+ color: var(--color);
77
+ font-style: var(--font-style);
78
+ font-weight: var(--font-weight);
79
+ line-height: 1.3;
80
+ margin-bottom: 24px;
81
+
82
+ @media screen and (max-width: 768px) {
83
+ --font-size-multiplier: 0.7;
84
+ }
85
+ }
86
+
87
+ p {
88
+ --font-size: v-bind(descriptionStyle.fontSize);
89
+ --font-family: v-bind(descriptionStyle.fontFamily);
90
+ --color: v-bind(descriptionStyle.color);
91
+ --font-style: v-bind(descriptionStyle.fontStyle);
92
+ --font-weight: v-bind(descriptionStyle.fontWeight);
93
+ --font-size-multiplier: 1;
94
+
95
+ font-size: calc(var(--font-size) * var(--font-size-multiplier));
96
+ font-family: var(--font-family);
97
+ color: var(--color);
98
+ font-style: var(--font-style);
99
+ font-weight: var(--font-weight);
100
+
101
+ @media screen and (max-width: 768px) {
102
+ --font-size-multiplier: 1.25;
103
+ }
104
+ }
105
+ }
106
+ </style>
@@ -0,0 +1,4 @@
1
+ export enum ColorType {
2
+ SOLID = 'solid',
3
+ GRADIENT = 'gradient',
4
+ }
@@ -0,0 +1,5 @@
1
+ import { createVueServerApp } from '@lightspeed/crane';
2
+ import ExampleSection from './IntroSlider.vue';
3
+ import { Content, Design } from './type.ts';
4
+
5
+ export default createVueServerApp<Content, Design>(ExampleSection);
@@ -0,0 +1,43 @@
1
+ export default {
2
+ section_title: {
3
+ type: 'TEXTAREA',
4
+ label: '$label.section_title.label',
5
+ placeholder: '$label.section_title.placeholder',
6
+ },
7
+ section_description: {
8
+ type: 'TEXTAREA',
9
+ label: '$label.section_description.label',
10
+ placeholder: '$label.section_description.placeholder',
11
+ },
12
+ section_tagline: {
13
+ type: 'INPUTBOX',
14
+ label: '$label.section_tagline.label',
15
+ placeholder: '$label.section_tagline.placeholder',
16
+ },
17
+ section_button: {
18
+ type: 'BUTTON',
19
+ label: '$label.section_button.label',
20
+ title: '$label.section_button.title',
21
+ },
22
+ slider: {
23
+ type: 'DECK',
24
+ label: '$label.slider.title',
25
+ addButtonLabel: '$label.slider.add_slide',
26
+ maxCards: 6,
27
+ cards: {
28
+ defaultCardContent: {
29
+ label: '$label.slider.slide_title',
30
+ settings: {
31
+ image_content: {
32
+ type: 'IMAGE',
33
+ label: '$label.slide_content.label',
34
+ },
35
+ image_text: {
36
+ type: 'TEXTAREA',
37
+ label: '$label.slide_text.label',
38
+ },
39
+ },
40
+ },
41
+ },
42
+ },
43
+ } as const;
@@ -0,0 +1,88 @@
1
+ export default {
2
+ section_title: {
3
+ type: 'TEXT',
4
+ label: '$label.section_title.label',
5
+ colors: ['#000000', '#FFFFFF', '#C8D9FF', '#FFB92E', '#F4EFE3'],
6
+ sizes: [18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60],
7
+ defaults: {
8
+ font: 'noto_serif',
9
+ size: 48,
10
+ bold: true,
11
+ italic: false,
12
+ color: '#000000',
13
+ visible: true,
14
+ },
15
+ },
16
+ section_description: {
17
+ type: 'TEXT',
18
+ label: '$label.section_description.label',
19
+ colors: ['#000000', '#FFFFFF', '#C8D9FF', '#FFB92E', '#F4EFE3'],
20
+ sizes: [12, 13, 14, 15, 16, 17, 18, 20],
21
+ defaults: {
22
+ font: 'inter',
23
+ size: 16,
24
+ bold: true,
25
+ italic: false,
26
+ color: '#000000',
27
+ visible: true,
28
+ },
29
+ },
30
+ section_tagline: {
31
+ type: 'TEXT',
32
+ label: '$label.section_tagline.label',
33
+ colors: ['#000000', '#FFFFFF', '#C8D9FF', '#FFB92E', '#F4EFE3'],
34
+ sizes: [12, 13, 14, 15, 16, 17, 18, 20],
35
+ defaults: {
36
+ font: 'noto_serif',
37
+ size: 16,
38
+ bold: false,
39
+ italic: false,
40
+ color: '#C8D9FF',
41
+ visible: true,
42
+ },
43
+ },
44
+ section_button: {
45
+ type: 'BUTTON',
46
+ label: '$label.section_button.label',
47
+ colors: ['#000000', '#FFFFFF', '#C8D9FF', '#FFB92E', '#F4EFE3'],
48
+ defaults: {
49
+ appearance: 'SOLID',
50
+ size: 'MEDIUM',
51
+ style: 'pill',
52
+ color: '#000000',
53
+ visible: true,
54
+ },
55
+ },
56
+ background: {
57
+ type: 'BACKGROUND',
58
+ label: '$label.background.label',
59
+ colors: ['#000000', '#FFFFFF', '#C8D9FF', '#FFB92E', '#F4EFE3'],
60
+ defaults: {
61
+ style: 'COLOR',
62
+ color: '#F4EFE3',
63
+ },
64
+ },
65
+ image_text: {
66
+ type: 'TEXT',
67
+ label: '$label.section_image_text.label',
68
+ colors: ['#000000', '#FFFFFF', '#C8D9FF', '#FFB92E', '#F4EFE3'],
69
+ sizes: [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28],
70
+ defaults: {
71
+ font: 'noto_serif',
72
+ size: 24,
73
+ bold: true,
74
+ italic: false,
75
+ color: '#FFFFFF',
76
+ visible: true,
77
+ },
78
+ },
79
+ image_content: {
80
+ type: 'IMAGE',
81
+ label: '$label.section_image.label',
82
+ colors: ['#000000', '#FFFFFF', '#C8D9FF', '#FFB92E', '#F4EFE3'],
83
+ defaults: {
84
+ overlay: 'GRADIENT',
85
+ color: ['#000000', '#000000'],
86
+ },
87
+ },
88
+ } as const;
@@ -0,0 +1,12 @@
1
+ export default [
2
+ {
3
+ layoutId: 'Narrow_Title_And_Images_With_Border_Radius',
4
+ selectedContentSettings: [],
5
+ selectedDesignSettings: [],
6
+ },
7
+ {
8
+ layoutId: 'Wide_Title_And_Images_Without_Border_Radius',
9
+ selectedContentSettings: [],
10
+ selectedDesignSettings: [],
11
+ },
12
+ ];
@@ -0,0 +1,53 @@
1
+ export default {
2
+ en: {
3
+ '$label.section_title.label': 'Main title',
4
+ '$label.section_title.placeholder': 'This will be the main title for this section',
5
+ '$label.section_description.label': 'Description',
6
+ '$label.section_description.placeholder': 'This description will be displayed below the title',
7
+ '$label.section_tagline.label': 'Tagline',
8
+ '$label.section_tagline.placeholder': 'This label will be displayed above the title',
9
+ '$label.section_button.label': 'Button',
10
+ '$label.section_image_text.label': 'Image title',
11
+ '$label.section_image.label': 'Image',
12
+
13
+ '$label.slider.title': 'Slider',
14
+ '$label.slider.slide_title': 'Slide',
15
+ '$label.slider.add_slide': 'Add slide',
16
+ '$label.slide_text.label': 'Text on a slide',
17
+ '$label.slide_content.label': 'Slide image',
18
+
19
+ '$label.background.label': 'Background',
20
+ },
21
+
22
+ nl: {
23
+ '$label.showcase_1.blockName': 'Hoe we werken',
24
+ '$label.showcase_1.section_tagline.text': 'Seizoensgebonden',
25
+ '$label.showcase_1.section_title.text': 'De herfst is hier:',
26
+ '$label.showcase_1.highlighted_text_1.text': 'trui weer',
27
+ '$label.showcase_1.highlighted_text_2.text': 'shop chelsea boots',
28
+ '$label.showcase_1.highlighted_text_3.text': 'ontdek onze vakantiecadeaugids',
29
+
30
+ '$label.showcase_2.blockName': 'Hoe we werken',
31
+ '$label.showcase_2.section_tagline.text': 'Onze fietsen',
32
+ '$label.showcase_2.section_title.text': 'Wat we verkopen:',
33
+ '$label.showcase_2.highlighted_text_1.text': 'mountain- en racefietsen',
34
+ '$label.showcase_2.highlighted_text_2.text': 'hybride fietsen',
35
+ '$label.showcase_2.highlighted_text_3.text': 'vouwfietsen',
36
+ },
37
+
38
+ fr: {
39
+ '$label.showcase_1.blockName': 'Comment nous travaillons',
40
+ '$label.showcase_1.section_tagline.text': 'Saisonnier',
41
+ '$label.showcase_1.section_title.text': 'L\'automne est là:',
42
+ '$label.showcase_1.highlighted_text_1.text': 'temps des pulls',
43
+ '$label.showcase_1.highlighted_text_2.text': 'achetez des bottes chelsea',
44
+ '$label.showcase_1.highlighted_text_3.text': 'découvrez notre guide des cadeaux de vacances',
45
+
46
+ '$label.showcase_2.blockName': 'Comment nous travaillons',
47
+ '$label.showcase_2.section_tagline.text': 'Nos vélos',
48
+ '$label.showcase_2.section_title.text': 'Ce que nous vendons:',
49
+ '$label.showcase_2.highlighted_text_1.text': 'vélos de montagne et de route',
50
+ '$label.showcase_2.highlighted_text_2.text': 'vélos hybrides',
51
+ '$label.showcase_2.highlighted_text_3.text': 'vélos pliants',
52
+ },
53
+ } as const;
@@ -0,0 +1,275 @@
1
+ export default {
2
+ showcaseId: '1',
3
+ layoutId: 'Narrow_Title_And_Images_With_Border_Radius',
4
+ previewImage: {
5
+ set: {
6
+ ORIGINAL: {
7
+ url: 'custom_section_showcase_1_preview.png',
8
+ },
9
+ },
10
+ },
11
+ blockName: '$label.showcase_1.blockName',
12
+ content: {
13
+ section_title: {
14
+ type: 'TEXTAREA',
15
+ text: '$label.showcase_1.section_title.text',
16
+ },
17
+ section_description: {
18
+ type: 'TEXTAREA',
19
+ text: '$label.showcase_1.section_description.text',
20
+ },
21
+ section_tagline: {
22
+ type: 'INPUTBOX',
23
+ text: '$label.showcase_1.section_tagline.text',
24
+ },
25
+ section_button: {
26
+ type: 'BUTTON',
27
+ title: '$label.showcase_1.section_button.title',
28
+ buttonType: 'HYPER_LINK',
29
+ },
30
+ slider: {
31
+ type: 'DECK',
32
+ cards: [
33
+ {
34
+ settings: {
35
+ image_text: {
36
+ type: 'INPUTBOX',
37
+ text: '$label.showcase_1.slide_text_1.text',
38
+ },
39
+ image_content: {
40
+ type: 'IMAGE',
41
+ imageData: {
42
+ set: {
43
+ LOW_RES: {
44
+ url: 'category_1.jpg',
45
+ },
46
+ MOBILE_WEBP_LOW_RES: {
47
+ url: 'category_1.jpg',
48
+ },
49
+ MOBILE_WEBP_HI_RES: {
50
+ url: 'category_1@2x.jpg',
51
+ },
52
+ WEBP_LOW_RES: {
53
+ url: 'category_1@2x.jpg',
54
+ },
55
+ WEBP_HI_2X_RES: {
56
+ url: 'category_1@2x.jpg',
57
+ },
58
+ },
59
+ borderInfo: {},
60
+ },
61
+ },
62
+ },
63
+ },
64
+ {
65
+ settings: {
66
+ image_text: {
67
+ type: 'INPUTBOX',
68
+ text: '$label.showcase_1.slide_text_2.text',
69
+ },
70
+ image_content: {
71
+ type: 'IMAGE',
72
+ imageData: {
73
+ set: {
74
+ LOW_RES: {
75
+ url: 'category_2.jpg',
76
+ },
77
+ MOBILE_WEBP_LOW_RES: {
78
+ url: 'category_2.jpg',
79
+ },
80
+ MOBILE_WEBP_HI_RES: {
81
+ url: 'category_2@2x.jpg',
82
+ },
83
+ WEBP_LOW_RES: {
84
+ url: 'category_2@2x.jpg',
85
+ },
86
+ WEBP_HI_2X_RES: {
87
+ url: 'category_2@2x.jpg',
88
+ },
89
+ },
90
+ borderInfo: {},
91
+ },
92
+ },
93
+ },
94
+ },
95
+ {
96
+ settings: {
97
+ image_text: {
98
+ type: 'INPUTBOX',
99
+ text: '$label.showcase_1.slide_text_3.text',
100
+ },
101
+ image_content: {
102
+ type: 'IMAGE',
103
+ imageData: {
104
+ set: {
105
+ LOW_RES: {
106
+ url: 'category_3.jpg',
107
+ },
108
+ MOBILE_WEBP_LOW_RES: {
109
+ url: 'category_3.jpg',
110
+ },
111
+ MOBILE_WEBP_HI_RES: {
112
+ url: 'category_3@2x.jpg',
113
+ },
114
+ WEBP_LOW_RES: {
115
+ url: 'category_3@2x.jpg',
116
+ },
117
+ WEBP_HI_2X_RES: {
118
+ url: 'category_3@2x.jpg',
119
+ },
120
+ },
121
+ borderInfo: {},
122
+ },
123
+ },
124
+ },
125
+ },
126
+ {
127
+ settings: {
128
+ image_text: {
129
+ type: 'INPUTBOX',
130
+ text: '$label.showcase_1.slide_text_4.text',
131
+ },
132
+ image_content: {
133
+ type: 'IMAGE',
134
+ imageData: {
135
+ set: {
136
+ LOW_RES: {
137
+ url: 'category_4.jpg',
138
+ },
139
+ MOBILE_WEBP_LOW_RES: {
140
+ url: 'category_4.jpg',
141
+ },
142
+ MOBILE_WEBP_HI_RES: {
143
+ url: 'category_4@2x.jpg',
144
+ },
145
+ WEBP_LOW_RES: {
146
+ url: 'category_4@2x.jpg',
147
+ },
148
+ WEBP_HI_2X_RES: {
149
+ url: 'category_4@2x.jpg',
150
+ },
151
+ },
152
+ borderInfo: {},
153
+ },
154
+ },
155
+ },
156
+ },
157
+ {
158
+
159
+ settings: {
160
+ image_text: {
161
+ type: 'INPUTBOX',
162
+ text: '$label.showcase_1.slide_text_5.text',
163
+ },
164
+ image_content: {
165
+ type: 'IMAGE',
166
+ imageData: {
167
+ set: {
168
+ LOW_RES: {
169
+ url: 'category_5.jpg',
170
+ },
171
+ MOBILE_WEBP_LOW_RES: {
172
+ url: 'category_5.jpg',
173
+ },
174
+ MOBILE_WEBP_HI_RES: {
175
+ url: 'category_5@2x.jpg',
176
+ },
177
+ WEBP_LOW_RES: {
178
+ url: 'category_5@2x.jpg',
179
+ },
180
+ WEBP_HI_2X_RES: {
181
+ url: 'category_5@2x.jpg',
182
+ },
183
+ },
184
+ borderInfo: {},
185
+ },
186
+ },
187
+ },
188
+ },
189
+ {
190
+ settings: {
191
+ image_text: {
192
+ type: 'INPUTBOX',
193
+ text: '$label.showcase_1.slide_text_6.text',
194
+ },
195
+ image_content: {
196
+ type: 'IMAGE',
197
+ imageData: {
198
+ set: {
199
+ LOW_RES: {
200
+ url: 'category_6.png',
201
+ },
202
+ MOBILE_WEBP_LOW_RES: {
203
+ url: 'category_6.jpg',
204
+ },
205
+ MOBILE_WEBP_HI_RES: {
206
+ url: 'category_6@2x.jpg',
207
+ },
208
+ WEBP_LOW_RES: {
209
+ url: 'category_6@2x.jpg',
210
+ },
211
+ WEBP_HI_2X_RES: {
212
+ url: 'category_6@2x.jpg',
213
+ },
214
+ },
215
+ borderInfo: {},
216
+ },
217
+ },
218
+ },
219
+ },
220
+ ],
221
+ },
222
+ },
223
+ design: {
224
+ section_title: {
225
+ type: 'TEXT',
226
+ font: 'noto_serif',
227
+ size: 48,
228
+ bold: true,
229
+ italic: false,
230
+ color: '#000000',
231
+ },
232
+ section_description: {
233
+ type: 'TEXT',
234
+ font: 'inter',
235
+ size: 16,
236
+ bold: true,
237
+ italic: false,
238
+ color: '#000000',
239
+ },
240
+ section_tagline: {
241
+ type: 'TEXT',
242
+ font: 'noto_serif',
243
+ size: 16,
244
+ bold: false,
245
+ italic: false,
246
+ color: '#C8D9FF',
247
+ },
248
+ section_button: {
249
+ type: 'BUTTON',
250
+ font: 'inter',
251
+ appearance: 'SOLID',
252
+ size: 'LARGE',
253
+ shape: 'PILL',
254
+ color: '#000000',
255
+ },
256
+ background: {
257
+ type: 'BACKGROUND',
258
+ style: 'COLOR',
259
+ color: '#F4EFE3',
260
+ },
261
+ image_text: {
262
+ type: 'TEXT',
263
+ font: 'noto_serif',
264
+ size: 24,
265
+ bold: true,
266
+ italic: false,
267
+ color: '#FFFFFF',
268
+ },
269
+ image_content: {
270
+ type: 'IMAGE',
271
+ overlay: 'GRADIENT',
272
+ color: ['#000000', '#000000'],
273
+ },
274
+ },
275
+ } as const;