lau-ecom-design-system 1.0.2 → 1.0.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.
- package/dist/lau-ecom-design-system.esm.js +514 -340
- package/dist/lau-ecom-design-system.min.js +1 -1
- package/dist/lau-ecom-design-system.ssr.js +465 -298
- package/dist/style.css +36 -6
- package/package.json +1 -1
- package/src/components/LauEcomBannerCookies/LauEcomBannerCookies.vue +199 -105
- package/src/components/LauEcomBannerCookies/LauEcomBannerCookiesConfig.vue +197 -191
- package/src/components/LauEcomBannerCookies/LauEcomBannerCookiesConfigAccordion.vue +87 -80
- package/src/components/LauEcomLoaderPage/LauEcomLoaderPage.vue +42 -0
- package/src/components/LauEcomSwitch/LauEcomSwitch.vue +119 -113
- package/src/components/LauEcomTextButton/LauEcomTextButton.vue +133 -139
package/dist/style.css
CHANGED
@@ -640,7 +640,7 @@
|
|
640
640
|
--tw-contain-style: ;
|
641
641
|
}
|
642
642
|
|
643
|
-
/* ! tailwindcss v3.4.
|
643
|
+
/* ! tailwindcss v3.4.16 | MIT License | https://tailwindcss.com */
|
644
644
|
|
645
645
|
/*
|
646
646
|
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
|
@@ -1242,6 +1242,10 @@ video {
|
|
1242
1242
|
position: relative;
|
1243
1243
|
}
|
1244
1244
|
|
1245
|
+
.dsEcom-inset-0 {
|
1246
|
+
inset: 0px;
|
1247
|
+
}
|
1248
|
+
|
1245
1249
|
.dsEcom-left-0 {
|
1246
1250
|
left: 0px;
|
1247
1251
|
}
|
@@ -1282,6 +1286,10 @@ video {
|
|
1282
1286
|
z-index: 20;
|
1283
1287
|
}
|
1284
1288
|
|
1289
|
+
.dsEcom-z-50 {
|
1290
|
+
z-index: 50;
|
1291
|
+
}
|
1292
|
+
|
1285
1293
|
.dsEcom-col-span-2 {
|
1286
1294
|
grid-column: span 2 / span 2;
|
1287
1295
|
}
|
@@ -1331,6 +1339,11 @@ video {
|
|
1331
1339
|
display: none;
|
1332
1340
|
}
|
1333
1341
|
|
1342
|
+
.dsEcom-size-full {
|
1343
|
+
width: 100%;
|
1344
|
+
height: 100%;
|
1345
|
+
}
|
1346
|
+
|
1334
1347
|
.\!dsEcom-h-\[1px\] {
|
1335
1348
|
height: 1px !important;
|
1336
1349
|
}
|
@@ -1609,6 +1622,10 @@ video {
|
|
1609
1622
|
border-color: var(--color-cbt-color-apple-green-60-base);
|
1610
1623
|
}
|
1611
1624
|
|
1625
|
+
.dsEcom-border-color-cbt-color-neutral-90 {
|
1626
|
+
border-color: var(--color-cbt-color-neutral-90);
|
1627
|
+
}
|
1628
|
+
|
1612
1629
|
.dsEcom-border-upc-color-neutral-60 {
|
1613
1630
|
border-color: var(--color-upc-color-neutral-60);
|
1614
1631
|
}
|
@@ -1629,10 +1646,6 @@ video {
|
|
1629
1646
|
border-color: var(--color-upc-color-red-60-base);
|
1630
1647
|
}
|
1631
1648
|
|
1632
|
-
.dsEcom-border-upc-color-red-90 {
|
1633
|
-
border-color: var(--color-upc-color-red-90);
|
1634
|
-
}
|
1635
|
-
|
1636
1649
|
.dsEcom-border-upc-epg-color-purple-60-base {
|
1637
1650
|
border-color: var(--color-upc-epg-color-purple-60-base);
|
1638
1651
|
}
|
@@ -1653,6 +1666,10 @@ video {
|
|
1653
1666
|
background-color: var(--color-upc-color-red-60-base) !important;
|
1654
1667
|
}
|
1655
1668
|
|
1669
|
+
.dsEcom-bg-cbt-astro-blue-90 {
|
1670
|
+
background-color: var(--color-cbt-astro-blue-90);
|
1671
|
+
}
|
1672
|
+
|
1656
1673
|
.dsEcom-bg-cbt-color-apple-green-60-base {
|
1657
1674
|
background-color: var(--color-cbt-color-apple-green-60-base);
|
1658
1675
|
}
|
@@ -1681,6 +1698,10 @@ video {
|
|
1681
1698
|
background-color: var(--color-upc-color-neutral-70);
|
1682
1699
|
}
|
1683
1700
|
|
1701
|
+
.dsEcom-bg-upc-color-neutral-80 {
|
1702
|
+
background-color: var(--color-upc-color-neutral-80);
|
1703
|
+
}
|
1704
|
+
|
1684
1705
|
.dsEcom-bg-upc-color-neutral-90 {
|
1685
1706
|
background-color: var(--color-upc-color-neutral-90);
|
1686
1707
|
}
|
@@ -1691,7 +1712,11 @@ video {
|
|
1691
1712
|
|
1692
1713
|
.dsEcom-bg-white {
|
1693
1714
|
--tw-bg-opacity: 1;
|
1694
|
-
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
|
1715
|
+
background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
|
1716
|
+
}
|
1717
|
+
|
1718
|
+
.dsEcom-bg-opacity-70 {
|
1719
|
+
--tw-bg-opacity: 0.7;
|
1695
1720
|
}
|
1696
1721
|
|
1697
1722
|
.dsEcom-p-4 {
|
@@ -1898,6 +1923,11 @@ video {
|
|
1898
1923
|
color: var(--color-upc-epg-color-purple-60-base);
|
1899
1924
|
}
|
1900
1925
|
|
1926
|
+
.dsEcom-text-white {
|
1927
|
+
--tw-text-opacity: 1;
|
1928
|
+
color: rgb(255 255 255 / var(--tw-text-opacity, 1));
|
1929
|
+
}
|
1930
|
+
|
1901
1931
|
.dsEcom-shadow-upc-shadow-prominent {
|
1902
1932
|
--tw-shadow: 0px 8px 48px -6px rgba(89, 89, 89, 0.24);
|
1903
1933
|
--tw-shadow-colored: 0px 8px 48px -6px var(--tw-shadow-color);
|
package/package.json
CHANGED
@@ -1,105 +1,199 @@
|
|
1
|
-
<script lang="ts" setup>
|
2
|
-
import { computed } from "vue";
|
3
|
-
import LauEcomButton from "../LauEcomButton/LauEcomButton.vue";
|
4
|
-
import LauEcomTextButton from "../LauEcomTextButton/LauEcomTextButton.vue";
|
5
|
-
import { LauEcomInstance } from "../../enums";
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
}
|
10
|
-
|
11
|
-
|
12
|
-
instance
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
const
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
.
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
}
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
}
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
}
|
105
|
-
|
1
|
+
<script lang="ts" setup>
|
2
|
+
import { computed, onBeforeMount, ref } from "vue";
|
3
|
+
import LauEcomButton from "../LauEcomButton/LauEcomButton.vue";
|
4
|
+
import LauEcomTextButton from "../LauEcomTextButton/LauEcomTextButton.vue";
|
5
|
+
import { LauEcomInstance } from "../../enums";
|
6
|
+
import { getCookie, acceptAllCookies } from "../../utils/Cookies";
|
7
|
+
import LauEcomBannerCookiesConfig from "./LauEcomBannerCookiesConfig.vue";
|
8
|
+
import { CategoryCookie } from "./types";
|
9
|
+
import { COOKIE_CONSENT, CookieItemKey } from "../../utils";
|
10
|
+
|
11
|
+
interface Props {
|
12
|
+
instance?: LauEcomInstance;
|
13
|
+
isVisible?: boolean;
|
14
|
+
categoryCookies?: CategoryCookie[] | null;
|
15
|
+
}
|
16
|
+
|
17
|
+
const props = withDefaults(defineProps<Props>(), {
|
18
|
+
instance: LauEcomInstance.Upc,
|
19
|
+
isVisible: true,
|
20
|
+
categoryCookies: () => {
|
21
|
+
return [
|
22
|
+
{
|
23
|
+
title: "Esenciales",
|
24
|
+
description:
|
25
|
+
"Este sitio web utiliza cookies gracias a esto podemos personalizar los ingresos a la web en futuras visitas y brindarte una mejor experiencia.",
|
26
|
+
isChecked: false,
|
27
|
+
isDisabled: false,
|
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
|
+
},
|
36
|
+
{
|
37
|
+
id: CookieItemKey.statistics,
|
38
|
+
title: "Estadisticas",
|
39
|
+
description:
|
40
|
+
"Este sitio web utiliza cookies gracias a esto podemos personalizar los ingresos a la web en futuras visitas y brindarte una mejor experiencia.",
|
41
|
+
isChecked: true,
|
42
|
+
isDisabled: false,
|
43
|
+
},
|
44
|
+
{
|
45
|
+
id: CookieItemKey.marketing,
|
46
|
+
title: "Marketing",
|
47
|
+
description:
|
48
|
+
"Este sitio web utiliza cookies gracias a esto podemos personalizar los ingresos a la web en futuras visitas y brindarte una mejor experiencia.",
|
49
|
+
isChecked: true,
|
50
|
+
isDisabled: false,
|
51
|
+
},
|
52
|
+
];
|
53
|
+
},
|
54
|
+
});
|
55
|
+
|
56
|
+
const isConfigOpen = ref(false);
|
57
|
+
const isBannerVisible = ref(props.isVisible);
|
58
|
+
|
59
|
+
const emit = defineEmits([
|
60
|
+
"onConfigCookies",
|
61
|
+
"onAccept",
|
62
|
+
"onAcceptAll",
|
63
|
+
"onReject",
|
64
|
+
"onAcceptSelected",
|
65
|
+
"onAcceptAll",
|
66
|
+
"onClose",
|
67
|
+
]);
|
68
|
+
|
69
|
+
onBeforeMount(() => {
|
70
|
+
const cookieConsent = getCookie(COOKIE_CONSENT);
|
71
|
+
if (cookieConsent) isBannerVisible.value = false;
|
72
|
+
});
|
73
|
+
|
74
|
+
const handleConfigCookies = () => {
|
75
|
+
isConfigOpen.value = !isConfigOpen.value;
|
76
|
+
emit("onConfigCookies");
|
77
|
+
};
|
78
|
+
|
79
|
+
const handleAccept = () => {
|
80
|
+
acceptAllCookies();
|
81
|
+
emit("onAccept");
|
82
|
+
isBannerVisible.value = false;
|
83
|
+
};
|
84
|
+
|
85
|
+
const lauEcomBannerCookiesClasses = computed(() => {
|
86
|
+
return {
|
87
|
+
"lau-ecom-cookies": true,
|
88
|
+
"lau-ecom-cookies--upc": props.instance === LauEcomInstance.Upc,
|
89
|
+
"lau-ecom-cookies--cib": props.instance === LauEcomInstance.Cibertec,
|
90
|
+
};
|
91
|
+
});
|
92
|
+
|
93
|
+
const lauEcomBannerCookiesTextClasses = computed(() => {
|
94
|
+
return {
|
95
|
+
"lau-ecom-text core-font-body-reg-04-16px": true,
|
96
|
+
"lau-ecom-text--upc": props.instance === LauEcomInstance.Upc,
|
97
|
+
"lau-ecom-text--cib": props.instance === LauEcomInstance.Cibertec,
|
98
|
+
};
|
99
|
+
});
|
100
|
+
|
101
|
+
const handleConfigClose = () => {
|
102
|
+
emit("onClose");
|
103
|
+
isConfigOpen.value = false;
|
104
|
+
};
|
105
|
+
|
106
|
+
const closeCookiesBanner = () => {
|
107
|
+
isConfigOpen.value = false;
|
108
|
+
isBannerVisible.value = false;
|
109
|
+
};
|
110
|
+
|
111
|
+
const handleReject = () => {
|
112
|
+
emit("onReject");
|
113
|
+
closeCookiesBanner();
|
114
|
+
};
|
115
|
+
|
116
|
+
const handleAcceptSelected = () => {
|
117
|
+
emit("onAcceptSelected");
|
118
|
+
closeCookiesBanner();
|
119
|
+
};
|
120
|
+
|
121
|
+
const handleAcceptAll = () => {
|
122
|
+
emit("onAcceptAll");
|
123
|
+
closeCookiesBanner();
|
124
|
+
};
|
125
|
+
</script>
|
126
|
+
|
127
|
+
<template>
|
128
|
+
<div v-if="isBannerVisible">
|
129
|
+
<div v-if="!isConfigOpen" :class="lauEcomBannerCookiesClasses">
|
130
|
+
<p :class="lauEcomBannerCookiesTextClasses">
|
131
|
+
Este sitio web utiliza cookies gracias a esto podemos personalizar los
|
132
|
+
ingresos a la web en futuras visitas y brindarte una mejor experiencia
|
133
|
+
dentro de nuestro sitio.
|
134
|
+
<a class="core-font-link-02-16px dsEcom-text-core-color-blue-60-base"
|
135
|
+
>Conoce más</a
|
136
|
+
>
|
137
|
+
</p>
|
138
|
+
<div class="lau-ecom-buttons">
|
139
|
+
<LauEcomTextButton :instance="instance" @on-click="handleConfigCookies">
|
140
|
+
Configurar cookies
|
141
|
+
</LauEcomTextButton>
|
142
|
+
<LauEcomButton :instance="instance" @on-click="handleAccept">
|
143
|
+
Aceptar
|
144
|
+
</LauEcomButton>
|
145
|
+
</div>
|
146
|
+
</div>
|
147
|
+
<LauEcomBannerCookiesConfig
|
148
|
+
v-else
|
149
|
+
:category-cookies="categoryCookies"
|
150
|
+
@on-accept-all="handleAcceptAll"
|
151
|
+
@on-reject="handleReject"
|
152
|
+
@on-accept-selected="handleAcceptSelected"
|
153
|
+
@on-close="handleConfigClose"
|
154
|
+
/>
|
155
|
+
</div>
|
156
|
+
</template>
|
157
|
+
|
158
|
+
<style scoped>
|
159
|
+
.lau-ecom-cookies {
|
160
|
+
@apply dsEcom-w-full
|
161
|
+
dsEcom-py-[32px]
|
162
|
+
dsEcom-px-[64px]
|
163
|
+
dsEcom-flex
|
164
|
+
dsEcom-justify-between
|
165
|
+
dsEcom-items-center
|
166
|
+
dsEcom-gap-20
|
167
|
+
dsEcom-shadow-upc-shadow-prominent
|
168
|
+
mobiles:dsEcom-flex-col
|
169
|
+
mobiles:dsEcom-px-[24px];
|
170
|
+
}
|
171
|
+
|
172
|
+
.lau-ecom-cookies--upc {
|
173
|
+
@apply dsEcom-text-upc-color-neutral-20;
|
174
|
+
}
|
175
|
+
|
176
|
+
.lau-ecom-cookies--cib {
|
177
|
+
@apply dsEcom-text-color-cbt-color-neutral-20;
|
178
|
+
}
|
179
|
+
|
180
|
+
.lau-ecom-text {
|
181
|
+
@apply dsEcom-block
|
182
|
+
dsEcom-w-[883px]
|
183
|
+
mobiles:dsEcom-w-full;
|
184
|
+
}
|
185
|
+
|
186
|
+
.lau-ecom-text--upc {
|
187
|
+
@apply dsEcom-text-upc-color-neutral-90;
|
188
|
+
}
|
189
|
+
|
190
|
+
.lau-ecom-text--cib {
|
191
|
+
@apply dsEcom-text-color-cbt-color-neutral-80;
|
192
|
+
}
|
193
|
+
|
194
|
+
.lau-ecom-buttons {
|
195
|
+
@apply dsEcom-flex
|
196
|
+
dsEcom-gap-8
|
197
|
+
mobiles:dsEcom-self-end;
|
198
|
+
}
|
199
|
+
</style>
|