@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
package/types.d.ts CHANGED
@@ -8,13 +8,13 @@ declare module '*.vue' {
8
8
  }
9
9
 
10
10
  type ActionLinkType
11
- = 'SCROLL_TO_TILE'
12
- | 'HYPER_LINK'
13
- | 'MAIL_LINK'
14
- | 'TEL_LINK'
15
- | 'GO_TO_STORE'
16
- | 'GO_TO_STORE_LINK'
17
- | 'GO_TO_PAGE';
11
+ = 'SCROLL_TO_TILE'
12
+ | 'HYPER_LINK'
13
+ | 'MAIL_LINK'
14
+ | 'TEL_LINK'
15
+ | 'GO_TO_STORE'
16
+ | 'GO_TO_STORE_LINK'
17
+ | 'GO_TO_PAGE';
18
18
 
19
19
  interface ButtonContentData {
20
20
  readonly title: string;
@@ -81,20 +81,20 @@ interface LogoContentData {
81
81
  }
82
82
 
83
83
  type GlobalColorsString =
84
- 'global.color.title' |
85
- 'global.color.body' |
86
- 'global.color.button' |
87
- 'global.color.link' |
88
- 'global.color.background';
84
+ 'global.color.title' |
85
+ 'global.color.body' |
86
+ 'global.color.button' |
87
+ 'global.color.link' |
88
+ 'global.color.background';
89
89
 
90
90
  type GlobalFontsString =
91
- 'global.fontFamily.title' |
92
- 'global.fontFamily.body';
91
+ 'global.fontFamily.title' |
92
+ 'global.fontFamily.body';
93
93
 
94
94
  type GlobalTextSizeString =
95
- 'global.textSize.title' |
96
- 'global.textSize.subtitle' |
97
- 'global.textSize.body';
95
+ 'global.textSize.title' |
96
+ 'global.textSize.subtitle' |
97
+ 'global.textSize.body';
98
98
 
99
99
  interface HSLColor {
100
100
  h: number;
@@ -140,9 +140,9 @@ interface TextareaDesignData extends TextDesignData {
140
140
  }
141
141
 
142
142
  type CapitalizationType =
143
- 'none'
144
- | 'all'
145
- | 'small';
143
+ 'none'
144
+ | 'all'
145
+ | 'small';
146
146
 
147
147
  interface Frame {
148
148
  visible: boolean;
@@ -163,19 +163,19 @@ interface LogoDesignData {
163
163
  }
164
164
 
165
165
  type ButtonAppearance =
166
- 'solid-button'
167
- | 'outline-button'
168
- | 'text-link';
166
+ 'solid-button'
167
+ | 'outline-button'
168
+ | 'text-link';
169
169
 
170
170
  type ButtonSize =
171
- 'small'
172
- | 'medium'
173
- | 'large';
171
+ 'small'
172
+ | 'medium'
173
+ | 'large';
174
174
 
175
175
  type ButtonStyle =
176
- 'round-corner'
177
- | 'rectangle'
178
- | 'pill';
176
+ 'round-corner'
177
+ | 'rectangle'
178
+ | 'pill';
179
179
 
180
180
  interface ButtonDesignData {
181
181
  appearance: ButtonAppearance | undefined;
@@ -187,9 +187,9 @@ interface ButtonDesignData {
187
187
  }
188
188
 
189
189
  type OverlayType =
190
- 'solid'
191
- | 'gradient'
192
- | 'none';
190
+ 'solid'
191
+ | 'gradient'
192
+ | 'none';
193
193
 
194
194
  interface Overlay {
195
195
  type: OverlayType | undefined;
@@ -211,8 +211,8 @@ interface ToggleDesignData {
211
211
  }
212
212
 
213
213
  type BackgroundType =
214
- 'solid'
215
- | 'gradient';
214
+ 'solid'
215
+ | 'gradient';
216
216
 
217
217
  interface Background {
218
218
  type: BackgroundType | undefined;
@@ -247,32 +247,56 @@ interface TextareaContentEditor {
247
247
  readonly placeholder: Record<string, string>;
248
248
  }
249
249
 
250
- interface SimpleLink {
251
- readonly url?: string,
252
- readonly title?: string,
253
- readonly target?: string,
250
+ interface ReportAbuse {
251
+ readonly title: string;
252
+ readonly url: string | undefined;
253
+ readonly target: string | undefined;
254
254
  }
255
255
 
256
- interface SimpleLink {
257
- readonly url?: string,
258
- readonly title?: string,
259
- readonly target?: string,
256
+ interface MadeWith {
257
+ readonly url: string | undefined;
258
+ readonly target: string | undefined;
259
+ readonly icon: string | undefined;
260
+ readonly poweredBy: string | undefined;
261
+ readonly company: string | undefined;
260
262
  }
261
263
 
262
264
  interface Language {
263
- readonly code: string;
264
- readonly description: string;
265
- readonly main: boolean;
266
- readonly selected: boolean;
267
- readonly url?: string;
265
+ readonly code: string;
266
+ readonly description: string;
267
+ readonly main: boolean;
268
+ readonly selected: boolean;
269
+ readonly url: string;
270
+ }
271
+
272
+ interface Account {
273
+ readonly title: string | undefined;
274
+ readonly url: string | undefined;
275
+ readonly target: string | undefined;
276
+ }
277
+
278
+ interface Cart {
279
+ readonly url: string | undefined;
280
+ readonly count: number;
281
+ }
282
+
283
+ interface LegalPage {
284
+ readonly title: string | undefined;
285
+ readonly url: string | undefined;
286
+ }
287
+
288
+ interface SiteContent {
289
+ readonly isPreviewMode: boolean;
290
+ readonly reportAbuse?: ReportAbuse;
291
+ readonly madeWith?: MadeWith;
292
+ readonly languages?: Language[];
293
+ readonly account?: Account;
294
+ readonly cart?: Cart;
295
+ readonly legalPages?: LegalPage[];
268
296
  }
269
297
 
270
298
  interface ExternalContentData {
271
- readonly reportAbuse?: SimpleLink;
272
- readonly account?: SimpleLink;
273
- readonly languages?: Language[];
274
- readonly legalLinks?: SimpleLink[];
275
- readonly isPreviewMode?: boolean;
299
+ readonly site?: SiteContent;
276
300
  }
277
301
 
278
302
  interface ButtonContentEditor {
@@ -320,15 +344,15 @@ interface LogoContentEditor {
320
344
  }
321
345
 
322
346
  type ContentEditor =
323
- TextContentEditor
324
- | MultilineTextContentEditor
325
- | ButtonContentEditor
326
- | ImageContentEditor
327
- | ToggleContentEditor
328
- | SelectboxContentEditor
329
- | MenuContentEditor
330
- | NavigationMenuContentEditor
331
- | LogoContentEditor;
347
+ TextContentEditor
348
+ | MultilineTextContentEditor
349
+ | ButtonContentEditor
350
+ | ImageContentEditor
351
+ | ToggleContentEditor
352
+ | SelectboxContentEditor
353
+ | MenuContentEditor
354
+ | NavigationMenuContentEditor
355
+ | LogoContentEditor;
332
356
 
333
357
  type InferContentType<T extends Record<string, ContentEditor>> = {
334
358
  readonly [P in keyof T]: MapEditorContentTypes[T[P]['type']]
@@ -388,20 +412,22 @@ interface ColorPickerDesignEditor {
388
412
 
389
413
  interface LogoDesignEditor {
390
414
  readonly type: 'LOGO';
391
- readonly label: string | Record<string, string>;
415
+ readonly label?: string | Record<string, string>;
392
416
  defaults: Record<string, unknown>;
393
417
  }
394
418
 
395
419
  type DesignEditor =
396
- TextDesignEditor
397
- | ButtonDesignEditor
398
- | ImageDesignEditor
399
- | ToggleDesignEditor
400
- | SelectboxDesignEditor
401
- | BackgroundDesignEditor
402
- | ColorPickerDesignEditor
403
- | LogoDesignEditor;
420
+ TextDesignEditor
421
+ | ButtonDesignEditor
422
+ | ImageDesignEditor
423
+ | ToggleDesignEditor
424
+ | SelectboxDesignEditor
425
+ | BackgroundDesignEditor
426
+ | ColorPickerDesignEditor
427
+ | LogoDesignEditor;
404
428
 
405
429
  type InferDesignType<T extends Record<string, DesignEditor>> = {
406
430
  readonly [P in keyof T]: MapEditorDesignTypes[T[P]['type']]
407
431
  }
432
+
433
+ type SettingsEditor = DesignEditor | ContentEditor;