@lightspeed/crane 1.1.2 → 1.1.3

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 (125) hide show
  1. package/dist/app.d.mts +20 -2
  2. package/dist/app.d.ts +20 -2
  3. package/dist/app.mjs +1 -1
  4. package/dist/cli.mjs +10 -23
  5. package/package.json +6 -5
  6. package/template/footers/example-footer/ExampleFooter.vue +6 -1
  7. package/template/footers/example-footer/assets/cart.svg +19 -0
  8. package/template/footers/example-footer/component/LegalLinks.vue +2 -2
  9. package/template/footers/example-footer/component/MadeWith.vue +23 -0
  10. package/template/footers/example-footer/component/ReportAbuse.vue +4 -3
  11. package/template/footers/example-footer/showcases/1.ts +1 -1
  12. package/template/headers/example-header/ExampleHeader.vue +17 -2
  13. package/template/headers/example-header/component/Account.vue +4 -4
  14. package/template/headers/example-header/component/Cart.vue +14 -33
  15. package/template/headers/example-header/settings/content.ts +1 -9
  16. package/template/headers/example-header/settings/design.ts +1 -23
  17. package/template/package.json +1 -1
  18. package/template/reference/sections/about-us/AboutUs.vue +73 -0
  19. package/template/reference/sections/about-us/assets/our_company_in_numbers.jpg +0 -0
  20. package/template/reference/sections/about-us/assets/our_company_in_numbers_preview.jpg +0 -0
  21. package/template/reference/sections/about-us/assets/our_team.jpg +0 -0
  22. package/template/reference/sections/about-us/assets/our_team_preview.jpg +0 -0
  23. package/template/reference/sections/about-us/client.ts +6 -0
  24. package/template/reference/sections/about-us/component/Image.vue +94 -0
  25. package/template/reference/sections/about-us/component/Stats.vue +155 -0
  26. package/template/reference/sections/about-us/component/Title.vue +32 -0
  27. package/template/reference/sections/about-us/server.ts +6 -0
  28. package/template/reference/sections/about-us/settings/content.ts +64 -0
  29. package/template/reference/sections/about-us/settings/design.ts +74 -0
  30. package/template/reference/sections/about-us/settings/layout.ts +12 -0
  31. package/template/reference/sections/about-us/settings/translations.ts +151 -0
  32. package/template/reference/sections/about-us/showcases/1.ts +176 -0
  33. package/template/reference/sections/about-us/showcases/2.ts +160 -0
  34. package/template/reference/sections/about-us/showcases/translations.ts +259 -0
  35. package/template/reference/sections/about-us/type.ts +5 -0
  36. package/template/reference/sections/about-us/util/visibility-provider.ts +27 -0
  37. package/template/reference/sections/intro-slider/IntroSlider.vue +77 -0
  38. package/template/reference/sections/intro-slider/assets/bike_1.jpg +0 -0
  39. package/template/reference/sections/intro-slider/assets/bike_1@2x.jpg +0 -0
  40. package/template/reference/sections/intro-slider/assets/bike_2.jpg +0 -0
  41. package/template/reference/sections/intro-slider/assets/bike_2@2x.jpg +0 -0
  42. package/template/reference/sections/intro-slider/assets/bike_3.jpg +0 -0
  43. package/template/reference/sections/intro-slider/assets/bike_3@2x.jpg +0 -0
  44. package/template/reference/sections/intro-slider/assets/bike_4.jpg +0 -0
  45. package/template/reference/sections/intro-slider/assets/bike_4@2x.jpg +0 -0
  46. package/template/reference/sections/intro-slider/assets/bike_5.jpg +0 -0
  47. package/template/reference/sections/intro-slider/assets/bike_5@2x.jpg +0 -0
  48. package/template/reference/sections/intro-slider/assets/bike_6.jpg +0 -0
  49. package/template/reference/sections/intro-slider/assets/bike_6@2x.jpg +0 -0
  50. package/template/reference/sections/intro-slider/assets/category_1.jpg +0 -0
  51. package/template/reference/sections/intro-slider/assets/category_1@2x.jpg +0 -0
  52. package/template/reference/sections/intro-slider/assets/category_2.jpg +0 -0
  53. package/template/reference/sections/intro-slider/assets/category_2@2x.jpg +0 -0
  54. package/template/reference/sections/intro-slider/assets/category_3.jpg +0 -0
  55. package/template/reference/sections/intro-slider/assets/category_3@2x.jpg +0 -0
  56. package/template/reference/sections/intro-slider/assets/category_5.jpg +0 -0
  57. package/template/reference/sections/intro-slider/assets/category_5@2x.jpg +0 -0
  58. package/template/reference/sections/intro-slider/assets/category_6.jpg +0 -0
  59. package/template/reference/sections/intro-slider/assets/category_6@2x.jpg +0 -0
  60. package/template/reference/sections/intro-slider/assets/custom_section_showcase_1_preview.png +0 -0
  61. package/template/reference/sections/intro-slider/assets/custom_section_showcase_2_preview.png +0 -0
  62. package/template/reference/sections/intro-slider/client.ts +5 -0
  63. package/template/reference/sections/intro-slider/component/Slider.vue +235 -0
  64. package/template/reference/sections/intro-slider/component/Title.vue +106 -0
  65. package/template/reference/sections/intro-slider/entity/color.ts +4 -0
  66. package/template/reference/sections/intro-slider/server.ts +5 -0
  67. package/template/reference/sections/intro-slider/settings/content.ts +43 -0
  68. package/template/reference/sections/intro-slider/settings/design.ts +88 -0
  69. package/template/reference/sections/intro-slider/settings/layout.ts +12 -0
  70. package/template/reference/sections/intro-slider/settings/translations.ts +53 -0
  71. package/template/reference/sections/intro-slider/showcases/1.ts +274 -0
  72. package/template/reference/sections/intro-slider/showcases/2.ts +270 -0
  73. package/template/reference/sections/intro-slider/showcases/translations.ts +88 -0
  74. package/template/reference/sections/intro-slider/type.ts +5 -0
  75. package/template/reference/sections/tag-lines/TagLines.vue +158 -0
  76. package/template/reference/sections/tag-lines/assets/explore_our_holiday_gift_guide.jpg +0 -0
  77. package/template/reference/sections/tag-lines/assets/fall_is_here.jpg +0 -0
  78. package/template/reference/sections/tag-lines/assets/fall_is_here_preview.jpg +0 -0
  79. package/template/reference/sections/tag-lines/assets/folding_bikes.jpg +0 -0
  80. package/template/reference/sections/tag-lines/assets/hybrid_bikes.jpg +0 -0
  81. package/template/reference/sections/tag-lines/assets/mountain_and_road_bikes.jpg +0 -0
  82. package/template/reference/sections/tag-lines/assets/shop_chelsea_boots.jpg +0 -0
  83. package/template/reference/sections/tag-lines/assets/sweater_weather.jpg +0 -0
  84. package/template/reference/sections/tag-lines/assets/what_we_sell.jpg +0 -0
  85. package/template/reference/sections/tag-lines/assets/what_we_sell_preview.jpg +0 -0
  86. package/template/reference/sections/tag-lines/client.ts +5 -0
  87. package/template/reference/sections/tag-lines/component/HighlightedText.vue +50 -0
  88. package/template/reference/sections/tag-lines/component/SectionImage.vue +78 -0
  89. package/template/reference/sections/tag-lines/component/Title.vue +51 -0
  90. package/template/reference/sections/tag-lines/composables/highlighted-text-image-list.ts +34 -0
  91. package/template/reference/sections/tag-lines/server.ts +5 -0
  92. package/template/reference/sections/tag-lines/settings/content.ts +37 -0
  93. package/template/reference/sections/tag-lines/settings/design.ts +81 -0
  94. package/template/reference/sections/tag-lines/settings/layout.ts +12 -0
  95. package/template/reference/sections/tag-lines/settings/translations.ts +61 -0
  96. package/template/reference/sections/tag-lines/showcases/1.ts +190 -0
  97. package/template/reference/sections/tag-lines/showcases/2.ts +190 -0
  98. package/template/reference/sections/tag-lines/showcases/translations.ts +49 -0
  99. package/template/reference/sections/tag-lines/type.ts +5 -0
  100. package/template/reference/shared/components/Button.vue +151 -0
  101. package/template/reference/shared/components/SectionWrapper.vue +26 -0
  102. package/template/reference/shared/components/Tagline.vue +45 -0
  103. package/template/reference/shared/utils/color.ts +16 -0
  104. package/template/reference/shared/utils/styles.ts +12 -0
  105. package/template/reference/templates/assets/reference_template_apparel_cover_image.jpg +0 -0
  106. package/template/reference/templates/assets/reference_template_bike_cover_image.jpg +0 -0
  107. package/template/reference/templates/reference-template-apparel.ts +44 -0
  108. package/template/reference/templates/reference-template-bike.ts +44 -0
  109. package/template/sections/example-section/ExampleSection.vue +8 -19
  110. package/template/sections/example-section/assets/bike_accessories_high.jpg +0 -0
  111. package/template/sections/example-section/assets/bike_accessories_low.jpg +0 -0
  112. package/template/sections/example-section/assets/bike_new_arrivals_high.jpg +0 -0
  113. package/template/sections/example-section/assets/bike_new_arrivals_low.jpg +0 -0
  114. package/template/sections/example-section/assets/custom_section_showcase_3_preview.jpg +0 -0
  115. package/template/sections/example-section/assets/fixed_gears_high.jpg +0 -0
  116. package/template/sections/example-section/assets/fixed_gears_low.jpg +0 -0
  117. package/template/sections/example-section/assets/repair_service_high.jpg +0 -0
  118. package/template/sections/example-section/assets/repair_service_low.jpg +0 -0
  119. package/template/sections/example-section/settings/translations.ts +39 -7
  120. package/template/sections/example-section/showcases/3.ts +198 -0
  121. package/template/sections/example-section/showcases/translations.ts +49 -1
  122. package/template/shared/{LanguageSelector.vue → components/LanguageSelector.vue} +1 -1
  123. package/template/shared/components/SectionWrapper.vue +26 -0
  124. package/template/templates/template.ts +2 -1
  125. package/types.d.ts +96 -70
@@ -0,0 +1,160 @@
1
+ export default {
2
+ showcaseId: '2',
3
+ previewImage: {
4
+ set: {
5
+ ORIGINAL: {
6
+ url: 'our_team_preview.jpg',
7
+ },
8
+ },
9
+ },
10
+ layoutId: 'Images_Without_Border_Radius',
11
+ blockName: '$label.showcase_2.blockName',
12
+ content: {
13
+ title: {
14
+ type: 'INPUTBOX',
15
+ text: '$label.showcase_2.section_title.text',
16
+ },
17
+ image: {
18
+ type: 'IMAGE',
19
+ imageData: {
20
+ set: {
21
+ LOW_RES: {
22
+ url: 'our_team.jpg',
23
+ },
24
+ MOBILE_WEBP_LOW_RES: {
25
+ url: 'our_team.jpg',
26
+ },
27
+ MOBILE_WEBP_HI_RES: {
28
+ url: 'our_team.jpg',
29
+ },
30
+ WEBP_LOW_RES: {
31
+ url: 'our_team.jpg',
32
+ },
33
+ WEBP_HI_2X_RES: {
34
+ url: 'our_team.jpg',
35
+ },
36
+ },
37
+ borderInfo: {},
38
+ },
39
+ },
40
+ stats: {
41
+ type: 'DECK',
42
+ cards: [
43
+ {
44
+ settings: {
45
+ stat_value: {
46
+ type: 'INPUTBOX',
47
+ label: '$label.showcase_2.stat_value_1.label',
48
+ placeholder: '$label.showcase_2.stat_value_1.placeholder',
49
+ text: '$label.showcase_2.stat_value.default_1.text',
50
+ title: '$label.showcase_2.stat_value.default_1.text',
51
+ },
52
+ stat_caption: {
53
+ type: 'INPUTBOX',
54
+ label: '$label.showcase_2.stat_caption_1.label',
55
+ placeholder: '$label.showcase_2.stat_caption_1.placeholder',
56
+ text: '$label.showcase_2.stat_caption_1.default.text',
57
+ title: '$label.showcase_2.stat_caption_1.default.text',
58
+ },
59
+ },
60
+ },
61
+ {
62
+ settings: {
63
+ stat_value: {
64
+ type: 'INPUTBOX',
65
+ label: '$label.showcase_2.stat_value_2.label',
66
+ placeholder: '$label.showcase_2.stat_value_2.placeholder',
67
+ text: '$label.showcase_2.stat_value.default_2.text',
68
+ },
69
+ stat_caption: {
70
+ type: 'INPUTBOX',
71
+ label: '$label.showcase_2.stat_caption_2.label',
72
+ placeholder: '$label.showcase_2.stat_caption_2.placeholder',
73
+ text: '$label.showcase_2.stat_caption_2.default.text',
74
+ },
75
+ },
76
+ },
77
+ {
78
+ settings: {
79
+ stat_value: {
80
+ type: 'INPUTBOX',
81
+ label: '$label.showcase_2.stat_value_3.label',
82
+ placeholder: '$label.showcase_2.stat_value_3.placeholder',
83
+ text: '$label.showcase_2.stat_value.default_3.text',
84
+ },
85
+ stat_caption: {
86
+ type: 'INPUTBOX',
87
+ label: '$label.showcase_2.stat_caption_3.label',
88
+ placeholder: '$label.showcase_2.stat_caption_3.placeholder',
89
+ text: '$label.showcase_2.stat_caption_3.default.text',
90
+ },
91
+ },
92
+ },
93
+ {
94
+ settings: {
95
+ stat_value: {
96
+ type: 'INPUTBOX',
97
+ label: '$label.showcase_2.stat_value_4.label',
98
+ placeholder: '$label.showcase_2.stat_value_4.placeholder',
99
+ text: '$label.showcase_2.stat_value.default_4.text',
100
+ },
101
+ stat_caption: {
102
+ type: 'INPUTBOX',
103
+ label: '$label.showcase_2.stat_caption_4.label',
104
+ placeholder: '$label.showcase_2.stat_caption_4.placeholder',
105
+ text: '$label.showcase_2.stat_caption_4.default.text',
106
+ },
107
+ },
108
+ },
109
+ ],
110
+ },
111
+ button: {
112
+ type: 'BUTTON',
113
+ title: '$label.showcase_2.button_content.title',
114
+ },
115
+ },
116
+ design: {
117
+ image: {
118
+ type: 'IMAGE',
119
+ overlay: 'GRADIENT',
120
+ color: ['#FFFFFF', '#000000'],
121
+ },
122
+ title: {
123
+ type: 'TEXT',
124
+ font: 'pt_mono',
125
+ size: 48,
126
+ bold: true,
127
+ italic: false,
128
+ color: '#FFFFFF',
129
+ },
130
+ caption: {
131
+ type: 'TEXT',
132
+ font: 'inter',
133
+ size: 16,
134
+ bold: true,
135
+ italic: false,
136
+ color: '#FFFFFF',
137
+ },
138
+ value: {
139
+ type: 'TEXT',
140
+ font: 'pt_mono',
141
+ size: 40,
142
+ bold: true,
143
+ italic: false,
144
+ color: '#878787',
145
+ },
146
+ background: {
147
+ type: 'BACKGROUND',
148
+ style: 'COLOR',
149
+ color: '#101010',
150
+ },
151
+ button: {
152
+ type: 'BUTTON',
153
+ font: 'inter',
154
+ appearance: 'OUTLINE',
155
+ size: 'LARGE',
156
+ style: 'rectangle',
157
+ color: '#FFFFFF',
158
+ },
159
+ },
160
+ } as const;
@@ -0,0 +1,259 @@
1
+ export default {
2
+ en: {
3
+ '$label.showcase_1.blockName': 'Reference Section – About us',
4
+
5
+ '$label.showcase_1.section_title.text': 'Our company in numbers',
6
+
7
+ '$label.showcase_1.stat_value_1.label': 'Value',
8
+ '$label.showcase_1.stat_value_1.placeholder': 'Value',
9
+ '$label.showcase_1.stat_value.default_1.text': '120',
10
+
11
+ '$label.showcase_1.stat_caption_1.label': 'Caption',
12
+ '$label.showcase_1.stat_caption_1.placeholder': 'Caption',
13
+ '$label.showcase_1.stat_caption_1.default.text': 'People',
14
+
15
+ '$label.showcase_1.stat_value_2.label': 'Value',
16
+ '$label.showcase_1.stat_value_2.placeholder': 'Value',
17
+ '$label.showcase_1.stat_value.default_2.text': '1500',
18
+
19
+ '$label.showcase_1.stat_caption_2.label': 'Caption',
20
+ '$label.showcase_1.stat_caption_2.placeholder': 'Caption',
21
+ '$label.showcase_1.stat_caption_2.default.text': 'Customers per month',
22
+
23
+ '$label.showcase_1.stat_value_3.label': 'Value',
24
+ '$label.showcase_1.stat_value_3.placeholder': 'Value',
25
+ '$label.showcase_1.stat_value.default_3.text': '1500000',
26
+
27
+ '$label.showcase_1.stat_caption_3.label': 'Caption',
28
+ '$label.showcase_1.stat_caption_3.placeholder': 'Caption',
29
+ '$label.showcase_1.stat_caption_3.default.text': 'Unique customers so far',
30
+
31
+ '$label.showcase_1.stat_value_4.label': 'Value',
32
+ '$label.showcase_1.stat_value_4.placeholder': 'Value',
33
+ '$label.showcase_1.stat_value.default_4.text': '3.3',
34
+
35
+ '$label.showcase_1.stat_caption_4.label': 'Caption',
36
+ '$label.showcase_1.stat_caption_4.placeholder': 'Caption',
37
+ '$label.showcase_1.stat_caption_4.default.text': 'Items per order in average',
38
+
39
+ '$label.showcase_1.stat_value_5.label': 'Value',
40
+ '$label.showcase_1.stat_value_5.placeholder': 'Value',
41
+ '$label.showcase_1.stat_value.default_5.text': '15',
42
+
43
+ '$label.showcase_1.stat_caption_5.label': 'Caption',
44
+ '$label.showcase_1.stat_caption_5.placeholder': 'Caption',
45
+ '$label.showcase_1.stat_caption_5.default.text': 'Warehouses',
46
+
47
+ '$label.showcase_1.button_content.title': 'Learn more',
48
+
49
+ '$label.showcase_2.blockName': 'Our team',
50
+
51
+ '$label.showcase_2.section_title.text': 'Our team',
52
+
53
+ '$label.showcase_2.stat_value_1.label': 'Value',
54
+ '$label.showcase_2.stat_value_1.placeholder': 'Value',
55
+ '$label.showcase_2.stat_value.default_1.text': '45',
56
+
57
+ '$label.showcase_2.stat_caption_1.label': 'Caption',
58
+ '$label.showcase_2.stat_caption_1.placeholder': 'Caption',
59
+ '$label.showcase_2.stat_caption_1.default.text': 'People',
60
+
61
+ '$label.showcase_2.stat_value_2.label': 'Value',
62
+ '$label.showcase_2.stat_value_2.placeholder': 'Value',
63
+ '$label.showcase_2.stat_value.default_2.text': '15',
64
+
65
+ '$label.showcase_2.stat_caption_2.label': 'Caption',
66
+ '$label.showcase_2.stat_caption_2.placeholder': 'Caption',
67
+ '$label.showcase_2.stat_caption_2.default.text': 'Nationalities',
68
+
69
+ '$label.showcase_2.stat_value_3.label': 'Value',
70
+ '$label.showcase_2.stat_value_3.placeholder': 'Value',
71
+ '$label.showcase_2.stat_value.default_3.text': '0',
72
+
73
+ '$label.showcase_2.stat_caption_3.label': 'Caption',
74
+ '$label.showcase_2.stat_caption_3.placeholder': 'Caption',
75
+ '$label.showcase_2.stat_caption_3.default.text': 'Managers',
76
+
77
+ '$label.showcase_2.stat_value_4.label': 'Value',
78
+ '$label.showcase_2.stat_value_4.placeholder': 'Value',
79
+ '$label.showcase_2.stat_value.default_4.text': '75',
80
+
81
+ '$label.showcase_2.stat_caption_4.label': 'Caption',
82
+ '$label.showcase_2.stat_caption_4.placeholder': 'Caption',
83
+ '$label.showcase_2.stat_caption_4.default.text': 'Bikes team members have',
84
+
85
+ '$label.showcase_2.button_content.title': 'Learn more',
86
+ },
87
+
88
+ nl: {
89
+ '$label.showcase_1.blockName': 'Referentie Sectie – Over ons',
90
+
91
+ '$label.showcase_1.section_title.text': 'Ons bedrijf in cijfers',
92
+
93
+ '$label.showcase_1.stat_value_1.label': 'Waarde',
94
+ '$label.showcase_1.stat_value_1.placeholder': 'Waarde',
95
+ '$label.showcase_1.stat_value.default_1.text': '120',
96
+
97
+ '$label.showcase_1.stat_caption_1.label': 'Bijschrift',
98
+ '$label.showcase_1.stat_caption_1.placeholder': 'Bijschrift',
99
+ '$label.showcase_1.stat_caption_1.default.text': 'Mensen',
100
+
101
+ '$label.showcase_1.stat_value_2.label': 'Waarde',
102
+ '$label.showcase_1.stat_value_2.placeholder': 'Waarde',
103
+ '$label.showcase_1.stat_value.default_2.text': '1500',
104
+
105
+ '$label.showcase_1.stat_caption_2.label': 'Bijschrift',
106
+ '$label.showcase_1.stat_caption_2.placeholder': 'Bijschrift',
107
+ '$label.showcase_1.stat_caption_2.default.text': 'Klanten per maand',
108
+
109
+ '$label.showcase_1.stat_value_3.label': 'Waarde',
110
+ '$label.showcase_1.stat_value_3.placeholder': 'Waarde',
111
+ '$label.showcase_1.stat_value.default_3.text': '1500000',
112
+
113
+ '$label.showcase_1.stat_caption_3.label': 'Bijschrift',
114
+ '$label.showcase_1.stat_caption_3.placeholder': 'Bijschrift',
115
+ '$label.showcase_1.stat_caption_3.default.text': 'Unieke klanten tot nu toe',
116
+
117
+ '$label.showcase_1.stat_value_4.label': 'Waarde',
118
+ '$label.showcase_1.stat_value_4.placeholder': 'Waarde',
119
+ '$label.showcase_1.stat_value.default_4.text': '3.3',
120
+
121
+ '$label.showcase_1.stat_caption_4.label': 'Bijschrift',
122
+ '$label.showcase_1.stat_caption_4.placeholder': 'Bijschrift',
123
+ '$label.showcase_1.stat_caption_4.default.text': 'Artikelen per bestelling gemiddeld',
124
+
125
+ '$label.showcase_1.stat_value_5.label': 'Waarde',
126
+ '$label.showcase_1.stat_value_5.placeholder': 'Waarde',
127
+ '$label.showcase_1.stat_value.default_5.text': '15',
128
+
129
+ '$label.showcase_1.stat_caption_5.label': 'Bijschrift',
130
+ '$label.showcase_1.stat_caption_5.placeholder': 'Bijschrift',
131
+ '$label.showcase_1.stat_caption_5.default.text': 'Magazijnen',
132
+
133
+ '$label.showcase_1.button_content.title': 'Meer informatie',
134
+
135
+ '$label.showcase_2.blockName': 'Referentie Sectie – Ons team',
136
+
137
+ '$label.showcase_2.section_title.text': 'Ons team',
138
+
139
+ '$label.showcase_2.stat_value_1.label': 'Waarde',
140
+ '$label.showcase_2.stat_value_1.placeholder': 'Waarde',
141
+ '$label.showcase_2.stat_value.default_1.text': '45',
142
+
143
+ '$label.showcase_2.stat_caption_1.label': 'Bijschrift',
144
+ '$label.showcase_2.stat_caption_1.placeholder': 'Bijschrift',
145
+ '$label.showcase_2.stat_caption_1.default.text': 'Mensen',
146
+
147
+ '$label.showcase_2.stat_value_2.label': 'Waarde',
148
+ '$label.showcase_2.stat_value_2.placeholder': 'Waarde',
149
+ '$label.showcase_2.stat_value.default_2.text': '15',
150
+
151
+ '$label.showcase_2.stat_caption_2.label': 'Bijschrift',
152
+ '$label.showcase_2.stat_caption_2.placeholder': 'Bijschrift',
153
+ '$label.showcase_2.stat_caption_2.default.text': 'Nationaliteiten',
154
+
155
+ '$label.showcase_2.stat_value_3.label': 'Waarde',
156
+ '$label.showcase_2.stat_value_3.placeholder': 'Waarde',
157
+ '$label.showcase_2.stat_value.default_3.text': '0',
158
+
159
+ '$label.showcase_2.stat_caption_3.label': 'Bijschrift',
160
+ '$label.showcase_2.stat_caption_3.placeholder': 'Bijschrift',
161
+ '$label.showcase_2.stat_caption_3.default.text': 'Managers',
162
+
163
+ '$label.showcase_2.stat_value_4.label': 'Waarde',
164
+ '$label.showcase_2.stat_value_4.placeholder': 'Waarde',
165
+ '$label.showcase_2.stat_value.default_4.text': '75',
166
+
167
+ '$label.showcase_2.stat_caption_4.label': 'Bijschrift',
168
+ '$label.showcase_2.stat_caption_4.placeholder': 'Bijschrift',
169
+ '$label.showcase_2.stat_caption_4.default.text': 'Fietsen die teamleden hebben',
170
+
171
+ '$label.showcase_2.button_content.title': 'Meer informatie',
172
+ },
173
+
174
+ fr: {
175
+ '$label.showcase_1.blockName': 'Section de référence – À propos de nous',
176
+
177
+ '$label.showcase_1.section_title.text': 'Notre entreprise en chiffres',
178
+
179
+ '$label.showcase_1.stat_value_1.label': 'Valeur',
180
+ '$label.showcase_1.stat_value_1.placeholder': 'Valeur',
181
+ '$label.showcase_1.stat_value.default_1.text': '120',
182
+
183
+ '$label.showcase_1.stat_caption_1.label': 'Légende',
184
+ '$label.showcase_1.stat_caption_1.placeholder': 'Légende',
185
+ '$label.showcase_1.stat_caption_1.default.text': 'Personnes',
186
+
187
+ '$label.showcase_1.stat_value_2.label': 'Valeur',
188
+ '$label.showcase_1.stat_value_2.placeholder': 'Valeur',
189
+ '$label.showcase_1.stat_value.default_2.text': '1500',
190
+
191
+ '$label.showcase_1.stat_caption_2.label': 'Légende',
192
+ '$label.showcase_1.stat_caption_2.placeholder': 'Légende',
193
+ '$label.showcase_1.stat_caption_2.default.text': 'Clients par mois',
194
+
195
+ '$label.showcase_1.stat_value_3.label': 'Valeur',
196
+ '$label.showcase_1.stat_value_3.placeholder': 'Valeur',
197
+ '$label.showcase_1.stat_value.default_3.text': '1500000',
198
+
199
+ '$label.showcase_1.stat_caption_3.label': 'Légende',
200
+ '$label.showcase_1.stat_caption_3.placeholder': 'Légende',
201
+ '$label.showcase_1.stat_caption_3.default.text': 'Clients uniques jusqu\'à présent',
202
+
203
+ '$label.showcase_1.stat_value_4.label': 'Valeur',
204
+ '$label.showcase_1.stat_value_4.placeholder': 'Valeur',
205
+ '$label.showcase_1.stat_value.default_4.text': '3.3',
206
+
207
+ '$label.showcase_1.stat_caption_4.label': 'Légende',
208
+ '$label.showcase_1.stat_caption_4.placeholder': 'Légende',
209
+ '$label.showcase_1.stat_caption_4.default.text': 'Articles par commande en moyenne',
210
+
211
+ '$label.showcase_1.stat_value_5.label': 'Valeur',
212
+ '$label.showcase_1.stat_value_5.placeholder': 'Valeur',
213
+ '$label.showcase_1.stat_value.default_5.text': '15',
214
+
215
+ '$label.showcase_1.stat_caption_5.label': 'Légende',
216
+ '$label.showcase_1.stat_caption_5.placeholder': 'Légende',
217
+ '$label.showcase_1.stat_caption_5.default.text': 'Entrepôts',
218
+
219
+ '$label.showcase_1.button_content.title': 'En savoir plus',
220
+
221
+ '$label.showcase_2.blockName': 'Section de référence – Notre équipe',
222
+
223
+ '$label.showcase_2.section_title.text': 'Notre équipe',
224
+
225
+ '$label.showcase_2.stat_value_1.label': 'Valeur',
226
+ '$label.showcase_2.stat_value_1.placeholder': 'Valeur',
227
+ '$label.showcase_2.stat_value.default_1.text': '45',
228
+
229
+ '$label.showcase_2.stat_caption_1.label': 'Légende',
230
+ '$label.showcase_2.stat_caption_1.placeholder': 'Légende',
231
+ '$label.showcase_2.stat_caption_1.default.text': 'Personnes',
232
+
233
+ '$label.showcase_2.stat_value_2.label': 'Valeur',
234
+ '$label.showcase_2.stat_value_2.placeholder': 'Valeur',
235
+ '$label.showcase_2.stat_value.default_2.text': '15',
236
+
237
+ '$label.showcase_2.stat_caption_2.label': 'Légende',
238
+ '$label.showcase_2.stat_caption_2.placeholder': 'Légende',
239
+ '$label.showcase_2.stat_caption_2.default.text': 'Nationalités',
240
+
241
+ '$label.showcase_2.stat_value_3.label': 'Valeur',
242
+ '$label.showcase_2.stat_value_3.placeholder': 'Valeur',
243
+ '$label.showcase_2.stat_value.default_3.text': '0',
244
+
245
+ '$label.showcase_2.stat_caption_3.label': 'Légende',
246
+ '$label.showcase_2.stat_caption_3.placeholder': 'Légende',
247
+ '$label.showcase_2.stat_caption_3.default.text': 'Managers',
248
+
249
+ '$label.showcase_2.stat_value_4.label': 'Valeur',
250
+ '$label.showcase_2.stat_value_4.placeholder': 'Valeur',
251
+ '$label.showcase_2.stat_value.default_4.text': '75',
252
+
253
+ '$label.showcase_2.stat_caption_4.label': 'Légende',
254
+ '$label.showcase_2.stat_caption_4.placeholder': 'Légende',
255
+ '$label.showcase_2.stat_caption_4.default.text': 'Vélos que les membres de l\'équipe possèdent',
256
+
257
+ '$label.showcase_2.button_content.title': 'En savoir plus',
258
+ },
259
+ } as const;
@@ -0,0 +1,5 @@
1
+ import type ContentSettings from './settings/content.ts';
2
+ import type DesignSettings from './settings/design.ts';
3
+
4
+ export type Content = InferContentType<typeof ContentSettings>;
5
+ export type Design = InferDesignType<typeof DesignSettings>;
@@ -0,0 +1,27 @@
1
+ import {
2
+ useButtonElementContent, useButtonElementDesign,
3
+ useImageElementContent,
4
+ useImageElementDesign,
5
+ useInputboxElementContent,
6
+ useTextElementDesign,
7
+ } from '@lightspeed/crane';
8
+ import { computed } from 'vue';
9
+
10
+ import type { Content, Design } from '../type.ts';
11
+
12
+ export const useVisibilityProvider = () => {
13
+ const titleContent = useInputboxElementContent<Content>('title');
14
+ const titleDesign = useTextElementDesign<Design>('title');
15
+ const imageContent = useImageElementContent<Content>('image');
16
+ const imageDesign = useImageElementDesign<Design>('image');
17
+ const buttonContent = useButtonElementContent<Content>('button');
18
+ const buttonDesign = useButtonElementDesign<Design>('button');
19
+
20
+ return {
21
+ isTitleVisible: computed(() => titleDesign.visible && titleContent.hasContent),
22
+ isImageVisible: computed(() => imageDesign.visible && imageContent.hasContent),
23
+ isButtonVisible: computed(() => buttonDesign.visible && buttonContent.hasTitle),
24
+ };
25
+ };
26
+
27
+ export default {};
@@ -0,0 +1,77 @@
1
+ <template>
2
+ <section class="intro-slider-section" :style="backgroundStyle">
3
+ <Tagline
4
+ v-if="taglineDesign.visible"
5
+ :design="taglineDesign"
6
+ >
7
+ {{ taglineContent.value }}
8
+ </Tagline>
9
+
10
+ <Title />
11
+
12
+ <Button
13
+ v-if="buttonDesign.visible"
14
+ class="intro-slider-section__button"
15
+ :design="buttonDesign"
16
+ :content="buttonContent"
17
+ />
18
+ <Slider />
19
+ </section>
20
+ </template>
21
+
22
+ <script setup lang="ts">
23
+ import {
24
+ useBackgroundElementDesign,
25
+ useInputboxElementContent,
26
+ useTextElementDesign,
27
+ useButtonElementContent,
28
+ useButtonElementDesign,
29
+ ButtonContent,
30
+ } from '@lightspeed/crane';
31
+ import { computed } from 'vue';
32
+ import { Content, Design } from './type.ts';
33
+ import Slider from './component/Slider.vue';
34
+ import Title from './component/Title.vue';
35
+ import Tagline from '../../shared/components/Tagline.vue';
36
+ import Button from '../../shared/components/Button.vue';
37
+
38
+ const backgroundDesign = useBackgroundElementDesign<Design>('background');
39
+ const background = computed(() => ({
40
+ type: backgroundDesign.background?.type,
41
+ solidColor: backgroundDesign.background?.solid?.color as Color,
42
+ fromColor: backgroundDesign.background?.gradient?.fromColor as Color,
43
+ toColor: backgroundDesign.background?.gradient?.toColor as Color,
44
+ }));
45
+
46
+ const backgroundStyle = computed(() => {
47
+ if (background.value.type === 'gradient') {
48
+ return { 'background-image': `linear-gradient(to right, ${background.value.fromColor.hex}, ${background.value.toColor.hex})` };
49
+ }
50
+
51
+ return { 'background-color': background.value.solidColor.hex };
52
+ });
53
+
54
+ const taglineContent = useInputboxElementContent<Content>('section_tagline');
55
+ const taglineDesign = useTextElementDesign<Design>('section_tagline') as TextDesignData;
56
+
57
+ const buttonContent = useButtonElementContent<Content>('section_button') as ButtonContent;
58
+ const buttonDesign = useButtonElementDesign<Design>('section_button') as ButtonDesignData;
59
+ </script>
60
+
61
+ <style scoped lang="scss">
62
+ .intro-slider-section {
63
+ min-height: 810px;
64
+ width: 100%;
65
+ padding: 110px 0 80px;
66
+ display: flex;
67
+ flex-direction: column;
68
+ align-items: center;
69
+ gap: 24px;
70
+
71
+ &__button {
72
+ margin: auto;
73
+ width: fit-content;
74
+ max-width: 360px;
75
+ }
76
+ }
77
+ </style>
@@ -0,0 +1,5 @@
1
+ import { createVueClientApp } from '@lightspeed/crane';
2
+ import ExampleSection from './IntroSlider.vue';
3
+ import { Content, Design } from './type.ts';
4
+
5
+ export default createVueClientApp<Content, Design>(ExampleSection);