@lightspeed/crane 1.4.2 → 2.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 (116) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/UPGRADE.md +19 -0
  3. package/dist/app.d.mts +1 -1028
  4. package/dist/app.d.ts +1 -1028
  5. package/dist/app.mjs +1 -1
  6. package/dist/cli.mjs +20 -7
  7. package/package.json +3 -2
  8. package/template/footers/example-footer/ExampleFooter.vue +1 -1
  9. package/template/footers/example-footer/client.ts +1 -1
  10. package/template/footers/example-footer/component/LegalLinks.vue +1 -1
  11. package/template/footers/example-footer/component/MadeWith.vue +1 -1
  12. package/template/footers/example-footer/component/ReportAbuse.vue +1 -1
  13. package/template/footers/example-footer/entity/color.ts +2 -2
  14. package/template/footers/example-footer/server.ts +1 -1
  15. package/template/headers/example-header/client.ts +1 -1
  16. package/template/headers/example-header/component/Account.vue +1 -1
  17. package/template/headers/example-header/component/Cart.vue +1 -1
  18. package/template/headers/example-header/component/CategoriesDropdown.vue +1 -1
  19. package/template/headers/example-header/component/Logo.vue +1 -1
  20. package/template/headers/example-header/component/NavigationMenu.vue +1 -1
  21. package/template/headers/example-header/component/SearchForm.vue +1 -1
  22. package/template/headers/example-header/server.ts +1 -1
  23. package/template/index.d.ts +1 -1
  24. package/template/layouts/catalog/example-catalog/Main.vue +1 -1
  25. package/template/layouts/catalog/example-catalog/slots/custom-bottom-bar/client.ts +1 -1
  26. package/template/layouts/catalog/example-catalog/slots/custom-bottom-bar/server.ts +1 -1
  27. package/template/layouts/category/example-category/Main.vue +1 -1
  28. package/template/layouts/category/example-category/settings/content.ts +1 -1
  29. package/template/layouts/category/example-category/settings/design.ts +1 -1
  30. package/template/layouts/product/example-product/Main.vue +1 -1
  31. package/template/layouts/product/example-product/settings/content.ts +1 -1
  32. package/template/layouts/product/example-product/settings/design.ts +1 -1
  33. package/template/package.json +6 -3
  34. package/template/page-templates/example-template/pages/catalog.ts +1 -1
  35. package/template/page-templates/example-template/pages/category.ts +1 -1
  36. package/template/page-templates/example-template/pages/product.ts +1 -1
  37. package/template/preview/sections/preview.html +1 -1
  38. package/template/preview/shared/api-routes.ts +347 -39
  39. package/template/preview/shared/mock.ts +43 -41
  40. package/template/preview/shared/preview.ts +205 -126
  41. package/template/preview/shared/utils.ts +208 -62
  42. package/template/preview/ssr-server.ts +429 -0
  43. package/template/preview/vite.config.js +64 -65
  44. package/template/reference/sections/about-us/AboutUs.vue +1 -1
  45. package/template/reference/sections/about-us/client.ts +1 -1
  46. package/template/reference/sections/about-us/component/Image.vue +1 -1
  47. package/template/reference/sections/about-us/component/Stats.vue +2 -2
  48. package/template/reference/sections/about-us/component/Title.vue +1 -1
  49. package/template/reference/sections/about-us/server.ts +1 -1
  50. package/template/reference/sections/about-us/util/visibility-provider.ts +1 -1
  51. package/template/reference/sections/featured-products/FeaturedProducts.vue +65 -0
  52. package/template/reference/sections/featured-products/assets/arrow.svg +3 -0
  53. package/template/reference/sections/featured-products/assets/custom_section_showcase_1_preview.png +0 -0
  54. package/template/reference/sections/featured-products/client.ts +5 -0
  55. package/template/reference/sections/featured-products/component/ProductItem.vue +71 -0
  56. package/template/reference/sections/featured-products/component/Title.vue +31 -0
  57. package/template/reference/sections/featured-products/entity/color.ts +4 -0
  58. package/template/reference/sections/featured-products/server.ts +5 -0
  59. package/template/reference/sections/featured-products/settings/content.ts +14 -0
  60. package/template/reference/sections/featured-products/settings/design.ts +33 -0
  61. package/template/reference/sections/featured-products/settings/translations.ts +24 -0
  62. package/template/reference/sections/featured-products/showcases/1.ts +28 -0
  63. package/template/reference/sections/featured-products/showcases/translations.ts +16 -0
  64. package/template/reference/sections/featured-products/type.ts +5 -0
  65. package/template/reference/sections/intro-slider/IntroSlider.vue +1 -1
  66. package/template/reference/sections/intro-slider/client.ts +1 -1
  67. package/template/reference/sections/intro-slider/component/Slider.vue +8 -2
  68. package/template/reference/sections/intro-slider/component/Title.vue +1 -1
  69. package/template/reference/sections/intro-slider/entity/color.ts +2 -2
  70. package/template/reference/sections/intro-slider/server.ts +1 -1
  71. package/template/reference/sections/tag-lines/TagLines.vue +1 -1
  72. package/template/reference/sections/tag-lines/client.ts +1 -1
  73. package/template/reference/sections/tag-lines/component/SectionImage.vue +1 -1
  74. package/template/reference/sections/tag-lines/component/Title.vue +1 -1
  75. package/template/reference/sections/tag-lines/composables/highlighted-text-image-list.ts +2 -2
  76. package/template/reference/sections/tag-lines/server.ts +1 -1
  77. package/template/reference/sections/trending-categories/TrendingCategories.vue +70 -0
  78. package/template/reference/sections/trending-categories/assets/arrow.svg +3 -0
  79. package/template/reference/sections/trending-categories/assets/custom_section_showcase_1_preview.png +0 -0
  80. package/template/reference/sections/trending-categories/client.ts +5 -0
  81. package/template/reference/sections/trending-categories/component/CategoryItem.vue +62 -0
  82. package/template/reference/sections/trending-categories/component/Title.vue +32 -0
  83. package/template/reference/sections/trending-categories/entity/color.ts +4 -0
  84. package/template/reference/sections/trending-categories/server.ts +5 -0
  85. package/template/reference/sections/trending-categories/settings/content.ts +14 -0
  86. package/template/reference/sections/trending-categories/settings/design.ts +33 -0
  87. package/template/reference/sections/trending-categories/settings/translations.ts +24 -0
  88. package/template/reference/sections/trending-categories/showcases/1.ts +36 -0
  89. package/template/reference/sections/trending-categories/showcases/translations.ts +22 -0
  90. package/template/reference/sections/trending-categories/type.ts +5 -0
  91. package/template/reference/shared/components/Button.vue +1 -1
  92. package/template/reference/templates/reference-template-apparel/pages/catalog.ts +1 -1
  93. package/template/reference/templates/reference-template-apparel/pages/category.ts +1 -1
  94. package/template/reference/templates/reference-template-apparel/pages/home.ts +10 -0
  95. package/template/reference/templates/reference-template-apparel/pages/product.ts +1 -1
  96. package/template/reference/templates/reference-template-bike/pages/catalog.ts +1 -1
  97. package/template/reference/templates/reference-template-bike/pages/category.ts +1 -1
  98. package/template/reference/templates/reference-template-bike/pages/home.ts +10 -0
  99. package/template/reference/templates/reference-template-bike/pages/product.ts +1 -1
  100. package/template/sections/example-section/ExampleSection.vue +8 -1
  101. package/template/sections/example-section/client.ts +1 -1
  102. package/template/sections/example-section/component/button/Button.vue +1 -1
  103. package/template/sections/example-section/component/image/Image.vue +1 -1
  104. package/template/sections/example-section/component/image/ImagesGrid.vue +1 -1
  105. package/template/sections/example-section/component/selectbox/Selectbox.vue +1 -1
  106. package/template/sections/example-section/component/title/Title.vue +1 -1
  107. package/template/sections/example-section/component/toggle/Toggle.vue +1 -1
  108. package/template/sections/example-section/entity/color.ts +2 -2
  109. package/template/sections/example-section/server.ts +1 -1
  110. package/template/sections/example-section/settings/translations.ts +1 -1
  111. package/template/sections/example-section/showcases/translations.ts +13 -13
  112. package/template/shared/components/LanguageSelector.vue +1 -1
  113. package/template/shared/translation.ts +16 -0
  114. package/template/shared/utils.ts +3 -1
  115. package/template/tsconfig.json +1 -0
  116. package/types.d.ts +6 -457
@@ -0,0 +1,33 @@
1
+ export default {
2
+ section_title: {
3
+ type: 'TEXT',
4
+ label: '$label.section_title.label',
5
+ colors: ['#FFFFFF66', '#0000004D', '#00000099', '#64C7FF66', '#F9947266', '#C794CD66', '#FFD17466'],
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: 'global.fontFamily.body',
9
+ size: 40,
10
+ bold: true,
11
+ italic: false,
12
+ color: '#313131',
13
+ visible: true,
14
+ },
15
+ },
16
+ background: {
17
+ type: 'BACKGROUND',
18
+ label: '$label.background.label',
19
+ colors: [
20
+ '#FFFFFF66',
21
+ '#0000004D',
22
+ '#00000099',
23
+ '#64C7FF66',
24
+ '#F9947266',
25
+ '#C794CD66',
26
+ '#FFD17466',
27
+ ],
28
+ defaults: {
29
+ style: 'COLOR',
30
+ color: 'global.color.background',
31
+ },
32
+ },
33
+ } as const;
@@ -0,0 +1,24 @@
1
+ export default {
2
+ en: {
3
+ '$label.section_title.label': 'Main title',
4
+ '$label.section_title.placeholder':
5
+ 'This will be the main title for this section',
6
+ '$label.trending_categories.label': 'Trending categories',
7
+
8
+ '$label.background.label': 'Background',
9
+ },
10
+
11
+ nl: {
12
+ '$label.section_title.label': 'Hoofdtitel',
13
+ '$label.section_title.placeholder':
14
+ 'Dit wordt de hoofdtitel voor deze sectie',
15
+ '$label.trending_categories.label': 'Trending categorieën',
16
+ },
17
+
18
+ fr: {
19
+ '$label.section_title.label': 'Titre principal',
20
+ '$label.section_title.placeholder':
21
+ 'Ce sera le titre principal de cette section',
22
+ '$label.trending_categories.label': 'Catégories tendance',
23
+ },
24
+ } as const;
@@ -0,0 +1,36 @@
1
+ export default {
2
+ showcaseId: '1',
3
+ previewImage: {
4
+ set: {
5
+ ORIGINAL: {
6
+ url: 'custom_section_showcase_1_preview.png',
7
+ },
8
+ },
9
+ },
10
+ blockName: '$label.showcase_1.blockName',
11
+ content: {
12
+ section_title: {
13
+ type: 'INPUTBOX',
14
+ text: '$label.showcase_1.section_title.text',
15
+ },
16
+ trending_categories: {
17
+ type: 'CATEGORY_SELECTOR',
18
+ maxCategories: 4,
19
+ },
20
+ },
21
+ design: {
22
+ section_title: {
23
+ type: 'TEXT',
24
+ font: 'global.fontFamily.body',
25
+ size: 44,
26
+ bold: true,
27
+ italic: false,
28
+ color: '#333',
29
+ },
30
+ background: {
31
+ type: 'BACKGROUND',
32
+ style: 'COLOR',
33
+ color: 'global.color.background',
34
+ },
35
+ },
36
+ } as const;
@@ -0,0 +1,22 @@
1
+ export default {
2
+ en: {
3
+ '$label.showcase_1.blockName': 'Reference Section — Trending Categories',
4
+ '$label.showcase_1.section_title.text': 'Trending categories',
5
+ '$label.showcase_1.section_description.text':
6
+ 'Discover our trending categories',
7
+ },
8
+
9
+ nl: {
10
+ '$label.showcase_1.blockName': 'Referentiesectie — Trending categorieën',
11
+ '$label.showcase_1.section_title.text': 'Trending categorieën',
12
+ '$label.showcase_1.section_description.text':
13
+ 'Ontdek onze trending categorieën',
14
+ },
15
+
16
+ fr: {
17
+ '$label.showcase_1.blockName': 'Section de référence — Catégories tendance',
18
+ '$label.showcase_1.section_title.text': 'Catégories tendance',
19
+ '$label.showcase_1.section_description.text':
20
+ 'Découvrez nos catégories tendance',
21
+ },
22
+ } as const;
@@ -0,0 +1,5 @@
1
+ import ContentSettings from './settings/content.ts';
2
+ import DesignSettings from './settings/design.ts';
3
+
4
+ export type Content = InferContentType<typeof ContentSettings>;
5
+ export type Design = InferDesignType<typeof DesignSettings>;
@@ -31,7 +31,7 @@
31
31
 
32
32
  <script setup lang="ts">
33
33
  import { computed, CSSProperties } from 'vue';
34
- import { ButtonContent } from '@lightspeed/crane';
34
+ import { ButtonContent } from '@lightspeed/crane-api';
35
35
 
36
36
  import { calculateFontColor } from '../utils/color.ts';
37
37
 
@@ -1,4 +1,4 @@
1
- import { StorePageConfiguration } from '@lightspeed/crane';
1
+ import { StorePageConfiguration } from '@lightspeed/crane-api';
2
2
 
3
3
  export default {
4
4
  sections: [
@@ -1,4 +1,4 @@
1
- import { StorePageConfiguration } from '@lightspeed/crane';
1
+ import { StorePageConfiguration } from '@lightspeed/crane-api';
2
2
 
3
3
  export default {
4
4
  sections: [
@@ -20,5 +20,15 @@ export default {
20
20
  id: 'example-section',
21
21
  showcase_id: '1',
22
22
  },
23
+ {
24
+ type: 'custom',
25
+ id: 'featured-products',
26
+ showcase_id: '1',
27
+ },
28
+ {
29
+ type: 'custom',
30
+ id: 'trending-categories',
31
+ showcase_id: '1',
32
+ },
23
33
  ],
24
34
  };
@@ -1,4 +1,4 @@
1
- import { StorePageConfiguration } from '@lightspeed/crane';
1
+ import { StorePageConfiguration } from '@lightspeed/crane-api';
2
2
 
3
3
  export default {
4
4
  sections: [
@@ -1,4 +1,4 @@
1
- import { StorePageConfiguration } from '@lightspeed/crane';
1
+ import { StorePageConfiguration } from '@lightspeed/crane-api';
2
2
 
3
3
  export default {
4
4
  sections: [
@@ -1,4 +1,4 @@
1
- import { StorePageConfiguration } from '@lightspeed/crane';
1
+ import { StorePageConfiguration } from '@lightspeed/crane-api';
2
2
 
3
3
  export default {
4
4
  sections: [
@@ -20,5 +20,15 @@ export default {
20
20
  id: 'about-us',
21
21
  showcase_id: '2',
22
22
  },
23
+ {
24
+ type: 'custom',
25
+ id: 'featured-products',
26
+ showcase_id: '1',
27
+ },
28
+ {
29
+ type: 'custom',
30
+ id: 'trending-categories',
31
+ showcase_id: '1',
32
+ },
23
33
  ],
24
34
  };
@@ -1,4 +1,4 @@
1
- import { StorePageConfiguration } from '@lightspeed/crane';
1
+ import { StorePageConfiguration } from '@lightspeed/crane-api';
2
2
 
3
3
  export default {
4
4
  sections: [
@@ -3,6 +3,10 @@
3
3
  class="example-section"
4
4
  :style="backgroundStyle"
5
5
  >
6
+ <div class="example-section__static-text-example">
7
+ <h2>{{ t('$label.shared.title') }}</h2>
8
+ </div>
9
+ <div class="example-section__blank_space" />
6
10
  <CustomSectionExampleTitle />
7
11
  <div class="example-section__blank_space" />
8
12
  <CustomSectionExampleImagesGrid />
@@ -16,7 +20,8 @@
16
20
  <script setup lang="ts">
17
21
  import {
18
22
  useBackgroundElementDesign,
19
- } from '@lightspeed/crane';
23
+ useTranslation,
24
+ } from '@lightspeed/crane-api';
20
25
  import { computed } from 'vue';
21
26
  import { Design } from './type.ts';
22
27
  import CustomSectionExampleTitle from './component/title/Title.vue';
@@ -26,6 +31,8 @@ import Selectbox from './component/selectbox/Selectbox.vue';
26
31
  import Toggle from './component/toggle/Toggle.vue';
27
32
  import Button from './component/button/Button.vue';
28
33
 
34
+ const { t } = useTranslation();
35
+
29
36
  const backgroundDesign = useBackgroundElementDesign<Design>('background');
30
37
  const background = computed(() => ({
31
38
  type: backgroundDesign.background?.type,
@@ -1,4 +1,4 @@
1
- import { createVueClientApp } from '@lightspeed/crane';
1
+ import { createVueClientApp } from '@lightspeed/crane-api';
2
2
  import ExampleSection from './ExampleSection.vue';
3
3
  import { Content, Design } from './type.ts';
4
4
 
@@ -19,7 +19,7 @@
19
19
  <script setup lang="ts">
20
20
  import {
21
21
  useButtonElementContent,
22
- } from '@lightspeed/crane';
22
+ } from '@lightspeed/crane-api';
23
23
  import { Content } from '../../type.ts';
24
24
  import arrowIcon from '../../assets/arrow.svg';
25
25
 
@@ -41,7 +41,7 @@ import {
41
41
  useImageElementDesign,
42
42
  useTextareaElementDesign,
43
43
  useLayoutElementDesign,
44
- } from '@lightspeed/crane';
44
+ } from '@lightspeed/crane-api';
45
45
  import { Design } from '../../type.ts';
46
46
  import { ColorType } from '../../entity/color.ts';
47
47
 
@@ -26,7 +26,7 @@ import {
26
26
  ImageContent,
27
27
  TextAreaContent,
28
28
  InputBoxContent,
29
- } from '@lightspeed/crane';
29
+ } from '@lightspeed/crane-api';
30
30
  import CustomSectionExampleImage from './Image.vue';
31
31
  import { Content } from '../../type.ts';
32
32
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  <script setup lang="ts">
10
10
  import { computed } from 'vue';
11
- import { useBackgroundElementDesign, useSelectboxElementContent } from '@lightspeed/crane';
11
+ import { useBackgroundElementDesign, useSelectboxElementContent } from '@lightspeed/crane-api';
12
12
  import { Content, Design } from '../../type.ts';
13
13
  import { isDark } from '../../../../shared/utils.ts';
14
14
 
@@ -20,7 +20,7 @@
20
20
  import { computed } from 'vue';
21
21
  import {
22
22
  useInputboxElementContent, useTextareaElementContent, useTextElementDesign, useTextareaElementDesign,
23
- } from '@lightspeed/crane';
23
+ } from '@lightspeed/crane-api';
24
24
  import { Content, Design } from '../../type.ts';
25
25
 
26
26
  const titleContent = useInputboxElementContent<Content>('section_title');
@@ -8,7 +8,7 @@
8
8
 
9
9
  <script setup lang="ts">
10
10
  import { computed } from 'vue';
11
- import { useBackgroundElementDesign, useToggleElementContent } from '@lightspeed/crane';
11
+ import { useBackgroundElementDesign, useToggleElementContent } from '@lightspeed/crane-api';
12
12
  import { Content, Design } from '../../type.ts';
13
13
  import { isDark } from '../../../../shared/utils.ts';
14
14
 
@@ -1,4 +1,4 @@
1
1
  export enum ColorType {
2
- SOLID = 'solid',
3
- GRADIENT = 'gradient',
2
+ SOLID = 'solid',
3
+ GRADIENT = 'gradient',
4
4
  }
@@ -1,4 +1,4 @@
1
- import { createVueServerApp } from '@lightspeed/crane';
1
+ import { createVueServerApp } from '@lightspeed/crane-api';
2
2
  import ExampleSection from './ExampleSection.vue';
3
3
  import { Content, Design } from './type.ts';
4
4
 
@@ -126,7 +126,7 @@ export default {
126
126
 
127
127
  '$label.info.label': 'Content.ts: Info',
128
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',
129
+ + 'pouvez fournir des conseils utiles sur l\'utilisation de la section personnalisée',
130
130
  '$label.info.button.label': 'En savoir plus',
131
131
  },
132
132
  } as const;
@@ -3,8 +3,8 @@ export default {
3
3
  '$label.showcase_1.blockName': 'Reference Section — Retail',
4
4
  '$label.showcase_1.section_title.text': 'Trending collections',
5
5
  '$label.showcase_1.section_description.text': 'Discover our favorite pieces this season, and indulge yourself in '
6
- + 'these timeless pieces suitable for every occasion. We offer free shipping and returns, and 24/7 fashion '
7
- + 'advice through our mobile app.',
6
+ + 'these timeless pieces suitable for every occasion. We offer free shipping and returns, and 24/7 fashion '
7
+ + 'advice through our mobile app.',
8
8
  '$label.showcase_1.image_text_1.text': 'New Arrivals',
9
9
  '$label.showcase_1.image_text_2.text': 'Sport look',
10
10
  '$label.showcase_1.image_text_3.text': 'Summer accessories',
@@ -86,8 +86,8 @@ export default {
86
86
  '$label.showcase_1.blockName': 'Referentiesectie — Detailhandel',
87
87
  '$label.showcase_1.section_title.text': 'Trending collecties',
88
88
  '$label.showcase_1.section_description.text': 'Ontdek onze favoriete stukken van dit seizoen en verwen jezelf met '
89
- + 'deze tijdloze stukken die geschikt zijn voor elke gelegenheid. Wij bieden gratis verzending en retourneren, '
90
- + 'en 24/7 modeadvies via onze mobiele app.',
89
+ + 'deze tijdloze stukken die geschikt zijn voor elke gelegenheid. Wij bieden gratis verzending en retourneren, '
90
+ + 'en 24/7 modeadvies via onze mobiele app.',
91
91
  '$label.showcase_1.image_text_1.text': 'Nieuw binnen',
92
92
  '$label.showcase_1.image_text_2.text': 'Sportieve look',
93
93
  '$label.showcase_1.image_text_3.text': 'Zomeraccessoires',
@@ -128,7 +128,7 @@ export default {
128
128
 
129
129
  '$label.showcase_1.info.label': 'Content.ts: Info',
130
130
  '$label.showcase_1.info.description': 'Content.ts: Dit is een informatiedeel waar je enkele nuttige tips '
131
- + 'kunt geven over het gebruik van aangepaste secties',
131
+ + 'kunt geven over het gebruik van aangepaste secties',
132
132
  '$label.showcase_1.info.button.label': 'Content.ts: Meer informatie',
133
133
 
134
134
  '$label.showcase_2.button.label': 'Content.ts: Knop',
@@ -144,7 +144,7 @@ export default {
144
144
 
145
145
  '$label.showcase_2.info.label': 'Content.ts: Info',
146
146
  '$label.showcase_2.info.description': 'Content.ts: Dit is een informatiedeel waar je enkele '
147
- + 'nuttige tips kunt geven over het gebruik van aangepaste secties',
147
+ + 'nuttige tips kunt geven over het gebruik van aangepaste secties',
148
148
  '$label.showcase_2.info.button.label': 'Content.ts: Meer informatie',
149
149
 
150
150
  '$label.showcase_3.button.label': 'Content.ts: Knop',
@@ -160,7 +160,7 @@ export default {
160
160
 
161
161
  '$label.showcase_3.info.label': 'Content.ts: Info',
162
162
  '$label.showcase_3.info.description': 'Content.ts: Dit is een informatiedeel waar je enkele nuttige tips '
163
- + 'kunt geven over het gebruik van aangepaste secties',
163
+ + 'kunt geven over het gebruik van aangepaste secties',
164
164
  '$label.showcase_3.info.button.label': 'Content.ts: Meer informatie',
165
165
  },
166
166
 
@@ -168,8 +168,8 @@ export default {
168
168
  '$label.showcase_1.blockName': 'Section de référence — Vente au détail',
169
169
  '$label.showcase_1.section_title.text': 'Collections tendance',
170
170
  '$label.showcase_1.section_description.text': 'Découvrez nos pièces préférées de cette saison et offrez-vous ces '
171
- + 'pièces intemporelles adaptées à toutes les occasions. Nous offrons la livraison et les retours gratuits, ainsi '
172
- + 'que des conseils de mode 24/7 via notre application mobile.',
171
+ + 'pièces intemporelles adaptées à toutes les occasions. Nous offrons la livraison et les retours gratuits, ainsi '
172
+ + 'que des conseils de mode 24/7 via notre application mobile.',
173
173
  '$label.showcase_1.image_text_1.text': 'Nouveautés',
174
174
  '$label.showcase_1.image_text_2.text': 'Look sportif',
175
175
  '$label.showcase_1.image_text_3.text': 'Accessoires d\'été',
@@ -195,7 +195,7 @@ export default {
195
195
  '$label.showcase_3.image_text_3.text': 'Service de réparation',
196
196
  '$label.showcase_3.image_text_4.text': 'Accessoires pour vélos',
197
197
  '$label.showcase_1.info.text': 'Showcase 1: Ceci est une section d\'information où vous pouvez fournir des conseils utiles sur '
198
- + 'l\'utilisation de la section personnalisée',
198
+ + 'l\'utilisation de la section personnalisée',
199
199
  '$label.showcase_2.info.text': 'Showcase 2: Ceci est une zone pour des conseils utiles sur l\'utilisation de la section personnalisée',
200
200
  '$label.showcase_1.info.button.title': 'Showcase 1: Apprendre',
201
201
  '$label.showcase_2.info.button.title': 'Showcase 2: Plus',
@@ -213,7 +213,7 @@ export default {
213
213
 
214
214
  '$label.showcase_1.info.label': 'Content.ts: Info',
215
215
  '$label.showcase_1.info.description': 'Content.ts: Ceci est une section d\'information où vous pouvez '
216
- + 'fournir des conseils utiles sur l\'utilisation de la section personnalisée',
216
+ + 'fournir des conseils utiles sur l\'utilisation de la section personnalisée',
217
217
  '$label.showcase_1.info.button.label': 'Content.ts: En savoir plus',
218
218
 
219
219
  '$label.showcase_2.button.label': 'Content.ts: Bouton',
@@ -229,7 +229,7 @@ export default {
229
229
 
230
230
  '$label.showcase_2.info.label': 'Content.ts: Info',
231
231
  '$label.showcase_2.info.description': 'Content.ts: Ceci est une section d\'information où vous pouvez fournir '
232
- + 'des conseils utiles sur l\'utilisation de la section personnalisée',
232
+ + 'des conseils utiles sur l\'utilisation de la section personnalisée',
233
233
  '$label.showcase_2.info.button.label': 'Content.ts: En savoir plus',
234
234
 
235
235
  '$label.showcase_3.button.label': 'Content.ts: Bouton',
@@ -245,7 +245,7 @@ export default {
245
245
 
246
246
  '$label.showcase_3.info.label': 'Content.ts: Info',
247
247
  '$label.showcase_3.info.description': 'Content.ts: Ceci est une section d\'information où vous pouvez fournir '
248
- + 'des conseils utiles sur l\'utilisation de la section personnalisée',
248
+ + 'des conseils utiles sur l\'utilisation de la section personnalisée',
249
249
  '$label.showcase_3.info.button.label': 'Content.ts: En savoir plus',
250
250
  },
251
251
  } as const;
@@ -20,7 +20,7 @@
20
20
  </template>
21
21
 
22
22
  <script setup lang="ts">
23
- import { useVueBaseProps } from '@lightspeed/crane';
23
+ import { useVueBaseProps } from '@lightspeed/crane-api';
24
24
  import { computed } from 'vue';
25
25
  import { Design } from '../../headers/example-header/type.ts';
26
26
 
@@ -0,0 +1,16 @@
1
+ export default {
2
+ en: {
3
+ '$label.shared.title': 'Title',
4
+ '$label.shared.description': 'Description',
5
+ },
6
+
7
+ nl: {
8
+ '$label.shared.title': 'Titel',
9
+ '$label.shared.description': 'Beschrijving',
10
+ },
11
+
12
+ fr: {
13
+ '$label.shared.title': 'Titre',
14
+ '$label.shared.description': 'Description',
15
+ },
16
+ } as const;
@@ -1,7 +1,9 @@
1
1
  export function isDark(color: string): boolean {
2
2
  if (!color) return false;
3
3
 
4
- let r; let g; let b;
4
+ let r;
5
+ let g;
6
+ let b;
5
7
 
6
8
  if (color.startsWith('#')) {
7
9
  const hex = color.replace('#', '');
@@ -5,6 +5,7 @@
5
5
  "module": "esnext",
6
6
  "lib": ["ES2020", "DOM", "DOM.Iterable"],
7
7
  "skipLibCheck": true,
8
+ "types": ["node", "@lightspeed/crane-api"],
8
9
 
9
10
  "moduleResolution": "node",
10
11
  "allowImportingTsExtensions": true,