@lightspeed/crane 1.4.2 → 2.0.1

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 (120) hide show
  1. package/CHANGELOG.md +51 -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 +4 -3
  8. package/template/footers/example-footer/ExampleFooter.vue +1 -1
  9. package/template/footers/example-footer/client.ts +2 -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 +2 -1
  15. package/template/headers/example-header/client.ts +2 -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 +2 -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 +2 -1
  26. package/template/layouts/catalog/example-catalog/slots/custom-bottom-bar/server.ts +2 -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 +515 -41
  39. package/template/preview/shared/mock.ts +43 -41
  40. package/template/preview/shared/preview.ts +220 -123
  41. package/template/preview/shared/utils.ts +209 -62
  42. package/template/preview/ssr-server.ts +430 -0
  43. package/template/preview/vite.config.js +76 -75
  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 +6 -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 +6 -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 +2 -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 +2 -1
  71. package/template/reference/sections/tag-lines/TagLines.vue +1 -1
  72. package/template/reference/sections/tag-lines/client.ts +2 -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 +4 -3
  76. package/template/reference/sections/tag-lines/server.ts +2 -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 +6 -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 +6 -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/shared/utils/styles.ts +1 -0
  93. package/template/reference/templates/reference-template-apparel/pages/catalog.ts +1 -1
  94. package/template/reference/templates/reference-template-apparel/pages/category.ts +1 -1
  95. package/template/reference/templates/reference-template-apparel/pages/home.ts +10 -0
  96. package/template/reference/templates/reference-template-apparel/pages/product.ts +1 -1
  97. package/template/reference/templates/reference-template-bike/pages/catalog.ts +1 -1
  98. package/template/reference/templates/reference-template-bike/pages/category.ts +1 -1
  99. package/template/reference/templates/reference-template-bike/pages/home.ts +10 -0
  100. package/template/reference/templates/reference-template-bike/pages/product.ts +1 -1
  101. package/template/sections/example-section/ExampleSection.vue +8 -1
  102. package/template/sections/example-section/client.ts +2 -1
  103. package/template/sections/example-section/component/button/Button.vue +1 -1
  104. package/template/sections/example-section/component/image/Image.vue +1 -1
  105. package/template/sections/example-section/component/image/ImagesGrid.vue +1 -1
  106. package/template/sections/example-section/component/selectbox/Selectbox.vue +1 -1
  107. package/template/sections/example-section/component/title/Title.vue +1 -1
  108. package/template/sections/example-section/component/toggle/Toggle.vue +1 -1
  109. package/template/sections/example-section/entity/color.ts +2 -2
  110. package/template/sections/example-section/server.ts +2 -1
  111. package/template/sections/example-section/settings/translations.ts +1 -1
  112. package/template/sections/example-section/showcases/1.ts +2 -22
  113. package/template/sections/example-section/showcases/2.ts +2 -22
  114. package/template/sections/example-section/showcases/3.ts +2 -22
  115. package/template/sections/example-section/showcases/translations.ts +11 -149
  116. package/template/shared/components/LanguageSelector.vue +1 -1
  117. package/template/shared/translation.ts +16 -0
  118. package/template/shared/utils.ts +3 -1
  119. package/template/tsconfig.json +1 -0
  120. package/types.d.ts +6 -457
package/CHANGELOG.md CHANGED
@@ -1,5 +1,56 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.1 - 2025-12-09
4
+
5
+ ### Added
6
+
7
+ - Add handling of tile state upon re-ordering in 'preview' mode.
8
+ - Provide default layout in 'preview' mode if not specified.
9
+
10
+ ### Changed
11
+
12
+ - Add dependency to the new internal packages.
13
+ - Updated dependencies
14
+ - @lightspeed/crane-api@1.0.1
15
+
16
+ ### Fixed
17
+
18
+ - Fix showcase translations by removing unused translation keys.
19
+ - Fix incorrect editor configuration examples in template showcase files.
20
+
21
+ ## 2.0.0 - 2025-12-02
22
+
23
+ ### Added
24
+
25
+ - Introduce new reference sections: 'Featured Products' and 'Trending Categories', providing examples that showcase the capabilities of the Product and Category selectors.
26
+ - Introduce support for static image editors in 'content' and 'design' configuration.
27
+ - **Category/Product Selectors (experimental):** add support for Category and Product selectors.
28
+ - Keep uncompressed original server.js file for 'preview' during 'build' process.
29
+ - Add support for `INFO` configuration type for 'preview' execution.
30
+ - Add JSON schema validation for section layout files.
31
+ - Introduce support for static text labels.
32
+ - Add support for multisection resource fetching during 'preview' process.
33
+ - Implement vue SSR rendering for 'preview' execution.
34
+ - Use dynamic URLs from the Chrome extension during 'preview' process.
35
+
36
+ ### Changed
37
+
38
+ - Move Crane app to a new package named crane-api.
39
+ - Move 'Category/Product Selectors' functionality from experimental to the core feature list.
40
+ - Update showcase validation to disallow settings that exists in showcases but not in content configuration file.
41
+ - Add validation for 'DECK' configuration type's 'defaultCardContent' property.
42
+ - Pass bearer token in the process of 'preview' execution.
43
+ - Update 'build' output validation during 'deploy' command execution.
44
+ - Updated dependencies
45
+ - @lightspeed/crane-api@1.0.0
46
+
47
+ ### Fixed
48
+
49
+ - Fix 'preview' execution displaying stale data.
50
+ - Fix division by zero error in 'intro-slider' of the reference template.
51
+ - Fix the position of top bar during 'preview' process.
52
+ - Allow 'visible' property on 'BUTTON' design configuration in showcase files during 'build' execution.
53
+
3
54
  ## 1.4.2 - 2025-11-04
4
55
 
5
56
  ### Added
package/UPGRADE.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Upgrades
2
2
 
3
+ ## 1.x.x to 2.0.0
4
+
5
+ ### Move app to new package named crane-api
6
+
7
+ The `app` artifact, containing the runtime APIs and types have been moved to a new package named `@lightspeed/crane-api`.
8
+ This change is backward compatible, but consider changing the dependency in your Crane applications to `@lightspeed/crane-api` for future-proofing.
9
+
3
10
  ## 1.2.1 to 1.2.2
4
11
 
5
12
  ### Node.js Version Upgrade
@@ -28,3 +35,15 @@ Ensure that all images conform to these resolutions to prevent build failures.
28
35
  module.exports = require('@lightspeed/eslint-config-crane');
29
36
  ```
30
37
  3. Remove existing ```.eslintrc.cjs``` file
38
+
39
+
40
+ ## 1.4.1 to 1.4.2
41
+
42
+ BREAKING CHANGE: The `ImageBorderInfo` type used in `CategoryListComponentItem` has been updated.
43
+
44
+ - The property `color` in `ImageBorderInfo` has been replaced with `dominatingColor`.
45
+ - The `dominatingColor` property now uses full color names (`"red"`, `"blue"`, `"green"`, `"alpha"`) instead of abbreviations (`"r"`, `"b"`, `"g"`, `"a"`).
46
+
47
+ Migration steps:
48
+ - Update all usages of `imageBorderInfo.color` to `imageBorderInfo.dominatingColor`.
49
+ - Ensure that values assigned to `dominatingColor` use full color names (e.g., change `"r"` to `"red"`, `"b"` to `"blue"`, etc.).