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/style.css CHANGED
@@ -640,7 +640,7 @@
640
640
  --tw-contain-style: ;
641
641
  }
642
642
 
643
- /* ! tailwindcss v3.4.14 | MIT License | https://tailwindcss.com */
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,7 +1,7 @@
1
1
  {
2
2
  "name": "lau-ecom-design-system",
3
3
  "private": false,
4
- "version": "1.0.2",
4
+ "version": "1.0.3",
5
5
  "sourceType": "module",
6
6
  "sideEffects": false,
7
7
  "main": "dist/lau-ecom-design-system.ssr.js",
@@ -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
- interface Props {
8
- instance?: LauEcomInstance;
9
- }
10
-
11
- const props = withDefaults(defineProps<Props>(), {
12
- instance: LauEcomInstance.Upc,
13
- });
14
-
15
- const emit = defineEmits(["onConfigCookies", "onAccept"]);
16
-
17
- const handleConfigCookies = () => {
18
- emit("onConfigCookies");
19
- };
20
-
21
- const handleAccept = () => {
22
- emit("onAccept");
23
- };
24
-
25
- const lauEcomBannerCookiesClasses = computed(() => {
26
- return {
27
- "lau-ecom-cookies": true,
28
- "lau-ecom-cookies--upc": props.instance === LauEcomInstance.Upc,
29
- "lau-ecom-cookies--cib": props.instance === LauEcomInstance.Cibertec,
30
- };
31
- });
32
-
33
- const lauEcomBannerCookiesTextClasses = computed(() => {
34
- return {
35
- "lau-ecom-text": true,
36
- "core-font-body-reg-04-16px": true,
37
- "lau-ecom-text--upc": props.instance === LauEcomInstance.Upc,
38
- "lau-ecom-text--cib": props.instance === LauEcomInstance.Cibertec,
39
- };
40
- });
41
- </script>
42
-
43
- <template>
44
- <div :class="lauEcomBannerCookiesClasses">
45
- <p :class="lauEcomBannerCookiesTextClasses">
46
- Este sitio web utiliza cookies gracias a esto podemos personalizar los
47
- ingresos a la web en futuras visitas y brindarte una mejor experiencia
48
- dentro de nuestro sitio.
49
- <a class="core-font-link-02-16px dsEcom-text-core-color-blue-60-base"
50
- >Conoce más</a
51
- >
52
- </p>
53
- <div class="lau-ecom-buttons">
54
- <LauEcomTextButton :instance="instance" @on-click="handleConfigCookies">
55
- Configurar cookies
56
- </LauEcomTextButton>
57
- <LauEcomButton :instance="instance" @on-click="handleAccept">
58
- Aceptar
59
- </LauEcomButton>
60
- </div>
61
- </div>
62
- </template>
63
-
64
- <style scoped>
65
- .lau-ecom-cookies {
66
- @apply dsEcom-w-full
67
- dsEcom-py-[32px]
68
- dsEcom-px-[64px]
69
- dsEcom-flex
70
- dsEcom-justify-between
71
- dsEcom-items-center
72
- dsEcom-gap-20
73
- dsEcom-shadow-upc-shadow-prominent
74
- mobiles:dsEcom-flex-col
75
- mobiles:dsEcom-px-[24px];
76
- }
77
-
78
- .lau-ecom-cookies--upc {
79
- @apply dsEcom-text-upc-color-neutral-20;
80
- }
81
-
82
- .lau-ecom-cookies--cib {
83
- @apply dsEcom-text-color-cbt-color-neutral-20;
84
- }
85
-
86
- .lau-ecom-text {
87
- @apply dsEcom-block
88
- dsEcom-w-[883px]
89
- mobiles:dsEcom-w-full;
90
- }
91
-
92
- .lau-ecom-text--upc {
93
- @apply dsEcom-text-upc-color-neutral-90;
94
- }
95
-
96
- .lau-ecom-text--cib {
97
- @apply dsEcom-text-color-cbt-color-neutral-80;
98
- }
99
-
100
- .lau-ecom-buttons {
101
- @apply dsEcom-flex
102
- dsEcom-gap-8
103
- mobiles:dsEcom-self-end;
104
- }
105
- </style>
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>