@shopware/cms-base-layer 3.0.1 → 4.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 (52) hide show
  1. package/README.md +78 -15
  2. package/app/app.config.ts +3 -3
  3. package/app/assets/css/rich-text.css +80 -0
  4. package/app/components/SwContactForm.vue +2 -1
  5. package/app/components/SwFilterChips.vue +29 -7
  6. package/app/components/SwNewsletterForm.vue +2 -1
  7. package/app/components/SwProductCard.vue +19 -3
  8. package/app/components/SwProductCardImage.vue +5 -1
  9. package/app/components/SwProductListingFilter.vue +5 -0
  10. package/app/components/SwProductListingFilters.vue +76 -74
  11. package/app/components/SwProductListingFiltersHorizontal.vue +73 -72
  12. package/app/components/SwStockInfo.vue +5 -2
  13. package/app/components/SwVariantConfigurator.vue +8 -3
  14. package/app/components/listing-filters/SwFilterCategories.vue +158 -0
  15. package/app/components/public/cms/CmsGenericBlock.vue +1 -1
  16. package/app/components/public/cms/CmsGenericElement.vue +1 -1
  17. package/app/components/public/cms/CmsNoComponent.vue +1 -1
  18. package/app/components/public/cms/FrontendAccountCustomerGroupRegistrationPage.vue +1 -1
  19. package/app/components/public/cms/block/CmsBlockCenterText.vue +2 -1
  20. package/app/components/public/cms/block/CmsBlockImageBubbleRow.vue +5 -1
  21. package/app/components/public/cms/block/CmsBlockImageFourColumn.vue +6 -2
  22. package/app/components/public/cms/block/CmsBlockImageGalleryBig.vue +9 -5
  23. package/app/components/public/cms/block/CmsBlockImageHighlightRow.vue +7 -2
  24. package/app/components/public/cms/block/CmsBlockImageTextRow.vue +9 -3
  25. package/app/components/public/cms/block/CmsBlockImageThreeCover.vue +7 -2
  26. package/app/components/public/cms/block/CmsBlockImageTwoColumn.vue +7 -3
  27. package/app/components/public/cms/block/CmsBlockProductHeading.vue +2 -1
  28. package/app/components/public/cms/element/CmsElementBuyBox.vue +4 -1
  29. package/app/components/public/cms/element/CmsElementCrossSelling.vue +2 -1
  30. package/app/components/public/cms/element/CmsElementHtml.vue +1 -1
  31. package/app/components/public/cms/element/CmsElementImage.vue +41 -2
  32. package/app/components/public/cms/element/CmsElementImageGallery.vue +2 -1
  33. package/app/components/public/cms/element/CmsElementProductDescriptionReviews.vue +18 -9
  34. package/app/components/public/cms/element/CmsElementText.md +77 -0
  35. package/app/components/public/cms/element/CmsElementText.vue +5 -32
  36. package/app/helpers/html-to-vue/renderToHtml.test.ts +55 -0
  37. package/app/helpers/html-to-vue/renderToHtml.ts +5 -1
  38. package/app/helpers/html-to-vue/renderer.ts +10 -1
  39. package/app/utils/listingFilters.test.ts +39 -0
  40. package/app/utils/listingFilters.ts +19 -0
  41. package/app/utils/routeQuery.test.ts +65 -0
  42. package/app/utils/routeQuery.ts +26 -0
  43. package/app/utils/useSelectedListingFilters.test.ts +92 -0
  44. package/app/utils/useSelectedListingFilters.ts +111 -0
  45. package/component-dirs.json +20 -0
  46. package/index.d.ts +2 -2
  47. package/nuxt.config.ts +35 -29
  48. package/package.json +27 -31
  49. package/dist/index.d.mts +0 -5
  50. package/dist/index.d.ts +0 -5
  51. package/dist/index.mjs +0 -31
  52. package/index.cjs +0 -7
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@shopware/cms-base-layer",
3
- "version": "3.0.1",
3
+ "version": "4.0.0",
4
4
  "description": "Vue CMS Nuxt Layer for Shopware",
5
5
  "author": "Shopware",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/shopware/frontends.git"
9
9
  },
10
- "homepage": "https://frontends.shopware.com/framework/shopping-experiences.html",
10
+ "homepage": "https://developer.shopware.com/frontends/concepts/shopping-experiences.html",
11
11
  "keywords": [
12
12
  "Shopware",
13
13
  "Vue",
@@ -21,56 +21,52 @@
21
21
  "license": "MIT",
22
22
  "type": "module",
23
23
  "main": "./nuxt.config.ts",
24
+ "exports": {
25
+ ".": "./nuxt.config.ts",
26
+ "./package.json": "./package.json"
27
+ },
24
28
  "files": [
25
- "dist",
26
29
  "app",
27
- "helpers",
28
- "index.cjs",
30
+ "component-dirs.json",
29
31
  "index.d.ts",
30
- "app.config.ts",
31
- "nuxt.config.ts",
32
- "uno.config.ts"
32
+ "nuxt.config.ts"
33
33
  ],
34
34
  "dependencies": {
35
- "@iconify-json/carbon": "1.2.23",
36
- "@nuxt/image": "2.0.0",
37
- "@nuxt/kit": "4.4.8",
38
- "@tresjs/cientos": "5.7.2",
39
- "@tresjs/nuxt": "^5.6.1",
35
+ "@iconify-json/carbon": "1.2.26",
36
+ "@nuxt/image": "2.1.0",
37
+ "@nuxt/kit": "4.5.2",
38
+ "@tresjs/cientos": "5.8.1",
39
+ "@tresjs/nuxt": "^5.6.3",
40
40
  "@vuelidate/core": "2.0.3",
41
41
  "@vuelidate/validators": "2.0.4",
42
- "@vueuse/core": "14.3.0",
43
- "entities": "6.0.0",
42
+ "@vueuse/core": "14.4.0",
43
+ "entities": "8.0.0",
44
44
  "scule": "1.3.0",
45
45
  "html-to-ast": "0.0.6",
46
- "three": "0.183.2",
47
- "vue": "3.5.38",
46
+ "three": "0.185.1",
47
+ "vue": "3.5.42",
48
48
  "xss": "1.0.15",
49
- "@shopware/helpers": "1.7.1",
50
- "@shopware/composables": "1.12.0",
51
- "@shopware/api-client": "1.5.0"
49
+ "@shopware/composables": "1.13.0",
50
+ "@shopware/api-client": "1.6.0",
51
+ "@shopware/helpers": "1.8.0"
52
52
  },
53
53
  "devDependencies": {
54
- "@nuxt/schema": "4.4.8",
54
+ "@nuxt/schema": "4.5.2",
55
55
  "@types/three": "0.182.0",
56
56
  "@typescript/native-preview": "7.0.0-dev.20260205.1",
57
- "@vitest/coverage-v8": "4.1.9",
58
- "nuxt": "4.4.8",
57
+ "@vitest/coverage-v8": "4.1.10",
58
+ "nuxt": "4.5.2",
59
59
  "typescript": "5.9.3",
60
- "unbuild": "3.6.1",
61
- "vitest": "4.1.9",
62
- "vue-router": "5.1.0",
63
- "vue-tsc": "3.3.5",
60
+ "vitest": "4.1.10",
61
+ "vue-router": "5.2.0",
62
+ "vue-tsc": "3.3.9",
64
63
  "tsconfig": "0.0.0"
65
64
  },
66
65
  "scripts": {
67
- "build": "nuxt prepare && unbuild",
68
- "dev": "unbuild --stub",
69
66
  "lint": "oxlint . && oxfmt --check .",
70
67
  "lint:fix": "oxlint --fix . && oxfmt --write . && pnpm run typecheck",
71
68
  "typecheck": "pnpm nuxt prepare && tsgo --noEmit",
72
69
  "test": "vitest run",
73
- "test:watch": "vitest",
74
- "check-colors": "tsx scripts/check-unused-colors.ts"
70
+ "test:watch": "vitest"
75
71
  }
76
72
  }
package/dist/index.d.mts DELETED
@@ -1,5 +0,0 @@
1
- import * as _nuxt_schema from '@nuxt/schema';
2
-
3
- declare const _default: _nuxt_schema.NuxtModule<_nuxt_schema.ModuleOptions, _nuxt_schema.ModuleOptions, false>;
4
-
5
- export { _default as default };
package/dist/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import * as _nuxt_schema from '@nuxt/schema';
2
-
3
- declare const _default: _nuxt_schema.NuxtModule<_nuxt_schema.ModuleOptions, _nuxt_schema.ModuleOptions, false>;
4
-
5
- export { _default as default };
package/dist/index.mjs DELETED
@@ -1,31 +0,0 @@
1
- import { resolve } from 'node:path';
2
- import { defineNuxtModule } from '@nuxt/kit';
3
-
4
-
5
-
6
- // -- Unbuild CommonJS Shims --
7
- import __cjs_url__ from 'url';
8
- import __cjs_path__ from 'path';
9
- import __cjs_mod__ from 'module';
10
- const __filename = __cjs_url__.fileURLToPath(import.meta.url);
11
- const __dirname = __cjs_path__.dirname(__filename);
12
- const require = __cjs_mod__.createRequire(import.meta.url);
13
- const index = defineNuxtModule({
14
- meta: {
15
- name: "@shopware/cms-base",
16
- configKey: "shopware-cms"
17
- },
18
- setup(_, nuxt) {
19
- nuxt.hook("components:dirs", (c) => {
20
- c.push({
21
- path: resolve(__dirname, "../components/public"),
22
- global: true
23
- });
24
- });
25
- nuxt.options.imports.transform = nuxt.options.imports.transform || {};
26
- nuxt.options.imports.transform.include = nuxt.options.imports.transform?.include || [];
27
- nuxt.options.imports.transform?.include.push(/.+cms-base.+/);
28
- }
29
- });
30
-
31
- export { index as default };
package/index.cjs DELETED
@@ -1,7 +0,0 @@
1
- // CommonJS proxy to bypass jiti transforms from nuxt 2 and using native ESM
2
- module.exports = function (...args) {
3
- return import("./dist/index.mjs").then((m) => m.default.call(this, ...args));
4
- };
5
-
6
- // eslint-disable-next-line
7
- module.exports.meta = require("./package.json");