lau-ecom-design-system 1.0.19 → 1.0.21

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 (50) hide show
  1. package/README.md +49 -0
  2. package/dist/316236bc7a52233c.png +0 -0
  3. package/dist/lau-ecom-design-system.esm.css +8 -1
  4. package/dist/lau-ecom-design-system.esm.js +1657 -682
  5. package/dist/lau-ecom-design-system.min.css +8 -1
  6. package/dist/lau-ecom-design-system.min.js +1 -1
  7. package/dist/lau-ecom-design-system.ssr.css +8 -1
  8. package/dist/lau-ecom-design-system.ssr.js +1406 -470
  9. package/dist/style.css +290 -69
  10. package/package.json +81 -80
  11. package/src/components/LauEcomBannerCookies/LauEcomBannerCookies.vue +178 -168
  12. package/src/components/LauEcomBannerCookies/LauEcomBannerCookiesConfig.vue +160 -159
  13. package/src/components/LauEcomBannerCookies/LauEcomBannerCookiesConfigAccordion.vue +80 -76
  14. package/src/components/LauEcomButton/LauEcomButton.vue +137 -137
  15. package/src/components/LauEcomCheckbox/LauEcomCheckbox.vue +143 -143
  16. package/src/components/LauEcomDisclamer/LauEcomDisclamer.vue +79 -79
  17. package/src/components/LauEcomDropdown/LauEcomDropdown.vue +208 -203
  18. package/src/components/LauEcomFooter/LauEcomFooter.vue +24 -73
  19. package/src/components/LauEcomFooter/LauEcomSubFooter.vue +5 -31
  20. package/src/components/LauEcomFooter/LauEcomSubFooterCategory.vue +9 -48
  21. package/src/components/LauEcomIcon/LauEcomCoreIconBook.vue +26 -26
  22. package/src/components/LauEcomIcon/LauEcomCoreIconFileCode.vue +28 -28
  23. package/src/components/LauEcomIcon/LauEcomUpcIconArrowDown.vue +0 -7
  24. package/src/components/LauEcomIcon/LauEcomUpcIconCertificate.vue +28 -28
  25. package/src/components/LauEcomIcon/LauEcomUpcIconCheck.vue +26 -26
  26. package/src/components/LauEcomIcon/LauEcomUpcIconCheckCircle.vue +28 -28
  27. package/src/components/LauEcomIcon/LauEcomUpcIconCreditCard.vue +28 -28
  28. package/src/components/LauEcomIcon/LauEcomUpcIconExclamationCircle.vue +28 -28
  29. package/src/components/LauEcomIcon/LauEcomUpcIconExclamationTriangle.vue +28 -28
  30. package/src/components/LauEcomIcon/LauEcomUpcIconInfoCircle.vue +26 -26
  31. package/src/components/LauEcomIcon/LauEcomUpcIconNavArrow.vue +26 -26
  32. package/src/components/LauEcomIcon/LauEcomUpcIconNavBack.vue +25 -0
  33. package/src/components/LauEcomIcon/LauEcomUpcIconNavCheckmark.vue +26 -26
  34. package/src/components/LauEcomInput/LauEcomInput.vue +207 -207
  35. package/src/components/LauEcomInput2/LauEcomInput2.vue +207 -0
  36. package/src/components/LauEcomInputSearch/LauEcomInputSearch.vue +244 -0
  37. package/src/components/LauEcomLoaderPage/LauEcomLoaderPage.vue +16 -16
  38. package/src/components/LauEcomPaginator/LauEcomPaginator.vue +57 -0
  39. package/src/components/LauEcomPaginator/LauEcomPaginatorButton.vue +68 -0
  40. package/src/components/LauEcomRadioButton/LauEcomRadioButton.vue +103 -103
  41. package/src/components/LauEcomRtb/LauEcomRtb.vue +71 -71
  42. package/src/components/LauEcomStepbar/LauEcomStepbar.vue +43 -43
  43. package/src/components/LauEcomStepbar/LauEcomStepbarItem.vue +128 -128
  44. package/src/components/LauEcomSwitch/LauEcomSwitch.vue +110 -108
  45. package/src/components/LauEcomTab/LauEcomTab.vue +82 -82
  46. package/src/components/LauEcomTag/LauEcomTag.vue +56 -0
  47. package/src/components/LauEcomTextButton/LauEcomTextButton.vue +71 -71
  48. package/src/components/LauEcomTyPage/LauEcomSummary.vue +14 -0
  49. package/src/components/LauEcomTyPage/LauEcomSummaryItem.vue +22 -0
  50. package/src/components/LauEcomTyPage/LauEcomTyPage.vue +149 -0
package/package.json CHANGED
@@ -1,80 +1,81 @@
1
- {
2
- "name": "lau-ecom-design-system",
3
- "private": false,
4
- "version": "1.0.19",
5
- "sourceType": "module",
6
- "sideEffects": false,
7
- "main": "dist/lau-ecom-design-system.ssr.js",
8
- "module": "dist/lau-ecom-design-system.esm.js",
9
- "browser": "dist/lau-ecom-design-system.esm.js",
10
- "unpkg": "dist/pe-lau-ecom-design-system.min.js",
11
- "files": [
12
- "dist/*",
13
- "dist/types/",
14
- "src/**/*.vue",
15
- "src/**/*.otf",
16
- "src/**/*.ttf",
17
- "src/enums/*.ts"
18
- ],
19
- "scripts": {
20
- "dev": "vite",
21
- "build": "rollup --bundleConfigAsCjs --config ./rollup.config.js && npm run start ",
22
- "build:ssr": "rollup --config ./rollup.config.js --format cjs",
23
- "build:es": "rollup --config ./rollup.config.js --format es",
24
- "build:unpkg": "rollup --config ./rollup.config.js --format iife",
25
- "start": "npx tailwindcss -i ./src/main.css -o ./dist/style.css",
26
- "preview": "vite preview",
27
- "storybook": "storybook dev -p 6006",
28
- "build-storybook": "storybook build",
29
- "prepare": "husky"
30
- },
31
- "dependencies": {
32
- "vue": "^3.5.12"
33
- },
34
- "devDependencies": {
35
- "@babel/core": "^7.25.9",
36
- "@babel/preset-env": "^7.25.9",
37
- "@babel/preset-typescript": "^7.25.9",
38
- "@chromatic-com/storybook": "1.9.0",
39
- "@eslint/js": "^9.13.0",
40
- "@rollup/plugin-alias": "^5.1.1",
41
- "@rollup/plugin-babel": "^6.0.4",
42
- "@rollup/plugin-commonjs": "^28.0.1",
43
- "@rollup/plugin-node-resolve": "^15.3.0",
44
- "@rollup/plugin-replace": "^6.0.1",
45
- "@rollup/plugin-typescript": "^12.1.1",
46
- "@rollup/plugin-url": "^8.0.2",
47
- "@storybook/addon-essentials": "8.3.6",
48
- "@storybook/addon-interactions": "8.3.6",
49
- "@storybook/addon-links": "8.3.6",
50
- "@storybook/addon-onboarding": "8.3.6",
51
- "@storybook/addon-styling-webpack": "1.0.0",
52
- "@storybook/blocks": "8.3.6",
53
- "@storybook/test": "8.3.6",
54
- "@storybook/vue3": "8.3.6",
55
- "@storybook/vue3-vite": "8.3.6",
56
- "@vitejs/plugin-vue": "^5.1.4",
57
- "autoprefixer": "^10.4.20",
58
- "cssnano": "^7.0.6",
59
- "eslint": "^8.45.0",
60
- "eslint-config-prettier": "^9.1.0",
61
- "eslint-plugin-prettier": "^5.2.1",
62
- "eslint-plugin-vue": "^9.15.1",
63
- "globals": "^15.11.0",
64
- "husky": "^9.1.6",
65
- "lint-staged": "^15.2.10",
66
- "minimist": "^1.2.8",
67
- "postcss": "^8.4.47",
68
- "prettier": "^3.3.3",
69
- "pretty-quick": "^4.0.0",
70
- "rollup-plugin-postcss": "^4.0.2",
71
- "rollup-plugin-terser": "^7.0.2",
72
- "rollup-plugin-vue": "^6.0.0",
73
- "storybook": "8.3.6",
74
- "tailwindcss": "^3.4.14",
75
- "typescript": "~5.6.2",
76
- "typescript-eslint": "^8.11.0",
77
- "vite": "^5.4.9",
78
- "vue-tsc": "^2.1.6"
79
- }
80
- }
1
+ {
2
+ "name": "lau-ecom-design-system",
3
+ "private": false,
4
+ "version": "1.0.21",
5
+ "sourceType": "module",
6
+ "sideEffects": false,
7
+ "main": "dist/lau-ecom-design-system.ssr.js",
8
+ "module": "dist/lau-ecom-design-system.esm.js",
9
+ "browser": "dist/lau-ecom-design-system.esm.js",
10
+ "unpkg": "dist/pe-lau-ecom-design-system.min.js",
11
+ "files": [
12
+ "dist/*",
13
+ "dist/types/",
14
+ "src/**/*.vue",
15
+ "src/**/*.otf",
16
+ "src/**/*.ttf",
17
+ "src/enums/*.ts"
18
+ ],
19
+ "scripts": {
20
+ "dev": "vite",
21
+ "build": "rollup --bundleConfigAsCjs --config ./rollup.config.js && npm run start ",
22
+ "build:ssr": "rollup --config ./rollup.config.js --format cjs",
23
+ "build:es": "rollup --config ./rollup.config.js --format es",
24
+ "build:unpkg": "rollup --config ./rollup.config.js --format iife",
25
+ "start": "npx tailwindcss -i ./src/main.css -o ./dist/style.css",
26
+ "preview": "vite preview",
27
+ "storybook": "storybook dev -p 6006",
28
+ "build-storybook": "storybook build",
29
+ "prepare": "husky",
30
+ "watch": "rollup -c -w"
31
+ },
32
+ "dependencies": {
33
+ "vue": "^3.5.12"
34
+ },
35
+ "devDependencies": {
36
+ "@babel/core": "^7.25.9",
37
+ "@babel/preset-env": "^7.25.9",
38
+ "@babel/preset-typescript": "^7.25.9",
39
+ "@chromatic-com/storybook": "1.9.0",
40
+ "@eslint/js": "^9.13.0",
41
+ "@rollup/plugin-alias": "^5.1.1",
42
+ "@rollup/plugin-babel": "^6.0.4",
43
+ "@rollup/plugin-commonjs": "^28.0.1",
44
+ "@rollup/plugin-node-resolve": "^15.3.0",
45
+ "@rollup/plugin-replace": "^6.0.1",
46
+ "@rollup/plugin-typescript": "^12.1.1",
47
+ "@rollup/plugin-url": "^8.0.2",
48
+ "@storybook/addon-essentials": "8.3.6",
49
+ "@storybook/addon-interactions": "8.3.6",
50
+ "@storybook/addon-links": "8.3.6",
51
+ "@storybook/addon-onboarding": "8.3.6",
52
+ "@storybook/addon-styling-webpack": "1.0.0",
53
+ "@storybook/blocks": "8.3.6",
54
+ "@storybook/test": "8.3.6",
55
+ "@storybook/vue3": "8.3.6",
56
+ "@storybook/vue3-vite": "8.3.6",
57
+ "@vitejs/plugin-vue": "^5.1.4",
58
+ "autoprefixer": "^10.4.20",
59
+ "cssnano": "^7.0.6",
60
+ "eslint": "^8.45.0",
61
+ "eslint-config-prettier": "^9.1.0",
62
+ "eslint-plugin-prettier": "^5.2.1",
63
+ "eslint-plugin-vue": "^9.15.1",
64
+ "globals": "^15.11.0",
65
+ "husky": "^9.1.6",
66
+ "lint-staged": "^15.2.10",
67
+ "minimist": "^1.2.8",
68
+ "postcss": "^8.4.47",
69
+ "prettier": "^3.3.3",
70
+ "pretty-quick": "^4.0.0",
71
+ "rollup-plugin-postcss": "^4.0.2",
72
+ "rollup-plugin-terser": "^7.0.2",
73
+ "rollup-plugin-vue": "^6.0.0",
74
+ "storybook": "8.3.6",
75
+ "tailwindcss": "^3.4.14",
76
+ "typescript": "~5.6.2",
77
+ "typescript-eslint": "^8.11.0",
78
+ "vite": "^5.4.9",
79
+ "vue-tsc": "^2.1.6"
80
+ }
81
+ }
@@ -1,168 +1,178 @@
1
- <script lang="ts" setup>
2
- import { onBeforeMount, ref } from "vue";
3
- import LauEcomButton from "../LauEcomButton/LauEcomButton.vue";
4
- import LauEcomTextButton from "../LauEcomTextButton/LauEcomTextButton.vue";
5
- import { getCookie, acceptAllCookies } from "../../utils/Cookies";
6
- import LauEcomBannerCookiesConfig from "./LauEcomBannerCookiesConfig.vue";
7
- import { CategoryCookie } from "./types";
8
- import { COOKIE_CONSENT, CookieItemKey } from "../../utils";
9
-
10
- interface Props {
11
- isVisible?: boolean;
12
- categoryCookies?: CategoryCookie[] | null;
13
- }
14
-
15
- const props = withDefaults(defineProps<Props>(), {
16
- isVisible: true,
17
- categoryCookies: () => {
18
- return [
19
- {
20
- title: "Esenciales",
21
- description:
22
- "Este sitio web utiliza cookies gracias a esto podemos personalizar los ingresos a la web en futuras visitas y brindarte una mejor experiencia.",
23
- isChecked: false,
24
- isDisabled: false,
25
- },
26
- {
27
- title: "Preferencias",
28
- description:
29
- "Este sitio web utiliza cookies gracias a esto podemos personalizar los ingresos a la web en futuras visitas y brindarte una mejor experiencia.",
30
- isChecked: false,
31
- isDisabled: false,
32
- },
33
- {
34
- id: CookieItemKey.statistics,
35
- title: "Estadisticas",
36
- description:
37
- "Este sitio web utiliza cookies gracias a esto podemos personalizar los ingresos a la web en futuras visitas y brindarte una mejor experiencia.",
38
- isChecked: true,
39
- isDisabled: false,
40
- },
41
- {
42
- id: CookieItemKey.marketing,
43
- title: "Marketing",
44
- description:
45
- "Este sitio web utiliza cookies gracias a esto podemos personalizar los ingresos a la web en futuras visitas y brindarte una mejor experiencia.",
46
- isChecked: true,
47
- isDisabled: false,
48
- },
49
- ];
50
- },
51
- });
52
-
53
- const isConfigOpen = ref(false);
54
- const isBannerVisible = ref(props.isVisible);
55
-
56
- const emit = defineEmits([
57
- "onConfigCookies",
58
- "onAccept",
59
- "onAcceptAll",
60
- "onReject",
61
- "onAcceptSelected",
62
- "onAcceptAll",
63
- "onClose",
64
- ]);
65
-
66
- onBeforeMount(() => {
67
- const cookieConsent = getCookie(COOKIE_CONSENT);
68
- if (cookieConsent) isBannerVisible.value = false;
69
- });
70
-
71
- const handleConfigCookies = () => {
72
- isConfigOpen.value = !isConfigOpen.value;
73
- emit("onConfigCookies");
74
- };
75
-
76
- const handleAccept = () => {
77
- acceptAllCookies();
78
- emit("onAccept");
79
- isBannerVisible.value = false;
80
- };
81
-
82
- const handleConfigClose = () => {
83
- emit("onClose");
84
- isConfigOpen.value = false;
85
- };
86
-
87
- const closeCookiesBanner = () => {
88
- isConfigOpen.value = false;
89
- isBannerVisible.value = false;
90
- };
91
-
92
- const handleReject = () => {
93
- emit("onReject");
94
- closeCookiesBanner();
95
- };
96
-
97
- const handleAcceptSelected = () => {
98
- emit("onAcceptSelected");
99
- closeCookiesBanner();
100
- };
101
-
102
- const handleAcceptAll = () => {
103
- emit("onAcceptAll");
104
- closeCookiesBanner();
105
- };
106
- </script>
107
-
108
- <template>
109
- <div v-if="isBannerVisible">
110
- <div v-if="!isConfigOpen" class="lau-ecom-cookies lau-ecom-cookies--upc">
111
- <p class="lau-ecom-text lau-ecom-text--upc core-font-body-reg-04-16px">
112
- Este sitio web utiliza cookies gracias a esto podemos personalizar los
113
- ingresos a la web en futuras visitas y brindarte una mejor experiencia
114
- dentro de nuestro sitio.
115
- <a class="core-font-link-02-16px dsEcom-text-link-60">Conoce más</a>
116
- </p>
117
- <div class="lau-ecom-buttons">
118
- <LauEcomTextButton @on-click="handleConfigCookies">
119
- Configurar cookies
120
- </LauEcomTextButton>
121
- <LauEcomButton @on-click="handleAccept"> Aceptar </LauEcomButton>
122
- </div>
123
- </div>
124
- <LauEcomBannerCookiesConfig
125
- v-else
126
- :category-cookies="categoryCookies"
127
- @on-accept-all="handleAcceptAll"
128
- @on-reject="handleReject"
129
- @on-accept-selected="handleAcceptSelected"
130
- @on-close="handleConfigClose"
131
- />
132
- </div>
133
- </template>
134
-
135
- <style scoped>
136
- .lau-ecom-cookies {
137
- @apply dsEcom-w-full
138
- dsEcom-py-[32px]
139
- dsEcom-px-[64px]
140
- dsEcom-flex
141
- dsEcom-justify-between
142
- dsEcom-items-center
143
- dsEcom-gap-20
144
- dsEcom-shadow-upc-shadow-prominent
145
- mobiles:dsEcom-flex-col
146
- mobiles:dsEcom-px-[24px];
147
- }
148
-
149
- .lau-ecom-cookies--upc {
150
- @apply dsEcom-text-neutral-20;
151
- }
152
-
153
- .lau-ecom-text {
154
- @apply dsEcom-block
155
- dsEcom-w-[883px]
156
- mobiles:dsEcom-w-full;
157
- }
158
-
159
- .lau-ecom-text--upc {
160
- @apply dsEcom-text-neutral-90;
161
- }
162
-
163
- .lau-ecom-buttons {
164
- @apply dsEcom-flex
165
- dsEcom-gap-8
166
- mobiles:dsEcom-self-end;
167
- }
168
- </style>
1
+ <script lang="ts" setup>
2
+ import { onBeforeMount, onMounted, ref } from "vue";
3
+ import LauEcomButton from "../LauEcomButton/LauEcomButton.vue";
4
+ import LauEcomTextButton from "../LauEcomTextButton/LauEcomTextButton.vue";
5
+ import { getCookie, acceptAllCookies } from "../../utils/Cookies";
6
+ import LauEcomBannerCookiesConfig from "./LauEcomBannerCookiesConfig.vue";
7
+ import { CategoryCookie } from "./types";
8
+ import { COOKIE_CONSENT, CookieItemKey } from "../../utils";
9
+
10
+ interface Props {
11
+ isVisible?: boolean;
12
+ categoryCookies?: CategoryCookie[] | null;
13
+ }
14
+
15
+ const props = withDefaults(defineProps<Props>(), {
16
+ isVisible: true,
17
+ categoryCookies: () => {
18
+ return [
19
+ {
20
+ title: "Esenciales",
21
+ description:
22
+ "Este sitio web utiliza cookies gracias a esto podemos personalizar los ingresos a la web en futuras visitas y brindarte una mejor experiencia.",
23
+ isChecked: false,
24
+ isDisabled: false,
25
+ onToggle: (value: boolean) => {
26
+ console.log("firstSwitch: " + value);
27
+ },
28
+ },
29
+ {
30
+ title: "Preferencias",
31
+ description:
32
+ "Este sitio web utiliza cookies gracias a esto podemos personalizar los ingresos a la web en futuras visitas y brindarte una mejor experiencia.",
33
+ isChecked: false,
34
+ isDisabled: false,
35
+ onToggle: () => {},
36
+ },
37
+ {
38
+ id: CookieItemKey.statistics,
39
+ title: "Estadisticas",
40
+ description:
41
+ "Este sitio web utiliza cookies gracias a esto podemos personalizar los ingresos a la web en futuras visitas y brindarte una mejor experiencia.",
42
+ isChecked: true,
43
+ isDisabled: false,
44
+ onToggle: () => {},
45
+ },
46
+ {
47
+ id: CookieItemKey.marketing,
48
+ title: "Marketing",
49
+ description:
50
+ "Este sitio web utiliza cookies gracias a esto podemos personalizar los ingresos a la web en futuras visitas y brindarte una mejor experiencia.",
51
+ isChecked: true,
52
+ isDisabled: false,
53
+ onToggle: () => {},
54
+ },
55
+ ];
56
+ },
57
+ });
58
+
59
+ const isConfigOpen = ref(false);
60
+ const isBannerVisible = ref(props.isVisible);
61
+
62
+ const emit = defineEmits([
63
+ "onConfigCookies",
64
+ "onDisplayBanner",
65
+ "onAccept",
66
+ "onAcceptAll",
67
+ "onReject",
68
+ "onAcceptSelected",
69
+ "onClose",
70
+ ]);
71
+
72
+ onBeforeMount(() => {
73
+ const cookieConsent = getCookie(COOKIE_CONSENT);
74
+ if (cookieConsent) isBannerVisible.value = false;
75
+ });
76
+
77
+ onMounted(() => {
78
+ emit("onDisplayBanner");
79
+ });
80
+
81
+ const handleConfigCookies = () => {
82
+ isConfigOpen.value = !isConfigOpen.value;
83
+ emit("onConfigCookies");
84
+ };
85
+
86
+ const handleAccept = () => {
87
+ acceptAllCookies();
88
+ emit("onAccept");
89
+ isBannerVisible.value = false;
90
+ };
91
+
92
+ const handleConfigClose = () => {
93
+ emit("onClose");
94
+ isConfigOpen.value = false;
95
+ };
96
+
97
+ const closeCookiesBanner = () => {
98
+ isConfigOpen.value = false;
99
+ isBannerVisible.value = false;
100
+ };
101
+
102
+ const handleReject = () => {
103
+ emit("onReject");
104
+ closeCookiesBanner();
105
+ };
106
+
107
+ const handleAcceptSelected = () => {
108
+ emit("onAcceptSelected");
109
+ closeCookiesBanner();
110
+ };
111
+
112
+ const handleAcceptAll = () => {
113
+ emit("onAcceptAll");
114
+ closeCookiesBanner();
115
+ };
116
+ </script>
117
+
118
+ <template>
119
+ <div v-if="isBannerVisible">
120
+ <div v-if="!isConfigOpen" class="lau-ecom-cookies lau-ecom-cookies--upc">
121
+ <p class="lau-ecom-text lau-ecom-text--upc core-font-body-reg-04-16px">
122
+ Este sitio web utiliza cookies gracias a esto podemos personalizar los
123
+ ingresos a la web en futuras visitas y brindarte una mejor experiencia
124
+ dentro de nuestro sitio.
125
+ <a class="core-font-link-02-16px dsEcom-text-link-60">Conoce más</a>
126
+ </p>
127
+ <div class="lau-ecom-buttons">
128
+ <LauEcomTextButton @on-click="handleConfigCookies">
129
+ Configurar cookies
130
+ </LauEcomTextButton>
131
+ <LauEcomButton @on-click="handleAccept"> Aceptar </LauEcomButton>
132
+ </div>
133
+ </div>
134
+ <LauEcomBannerCookiesConfig
135
+ v-else
136
+ :category-cookies="categoryCookies"
137
+ @on-accept-all="handleAcceptAll"
138
+ @on-reject="handleReject"
139
+ @on-accept-selected="handleAcceptSelected"
140
+ @on-close="handleConfigClose"
141
+ />
142
+ </div>
143
+ </template>
144
+
145
+ <style scoped>
146
+ .lau-ecom-cookies {
147
+ @apply dsEcom-w-full
148
+ dsEcom-py-[32px]
149
+ dsEcom-px-[64px]
150
+ dsEcom-flex
151
+ dsEcom-justify-between
152
+ dsEcom-items-center
153
+ dsEcom-gap-20
154
+ dsEcom-shadow-upc-shadow-prominent
155
+ mobiles:dsEcom-flex-col
156
+ mobiles:dsEcom-px-[24px];
157
+ }
158
+
159
+ .lau-ecom-cookies--upc {
160
+ @apply dsEcom-text-neutral-20;
161
+ }
162
+
163
+ .lau-ecom-text {
164
+ @apply dsEcom-block
165
+ dsEcom-w-[883px]
166
+ mobiles:dsEcom-w-full;
167
+ }
168
+
169
+ .lau-ecom-text--upc {
170
+ @apply dsEcom-text-neutral-90;
171
+ }
172
+
173
+ .lau-ecom-buttons {
174
+ @apply dsEcom-flex
175
+ dsEcom-gap-8
176
+ mobiles:dsEcom-self-end;
177
+ }
178
+ </style>