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
@@ -1,159 +1,160 @@
1
- <script lang="ts" setup>
2
- import { ref } from "vue";
3
- import LauEcomButton from "../LauEcomButton/LauEcomButton.vue";
4
- import { LauEcomButtonType } from "../LauEcomButton/types";
5
- import { LauEcomCoreIconNavClose } from "../LauEcomIcon";
6
- import LauEcomBannerCookiesConfigAccordion from "./LauEcomBannerCookiesConfigAccordion.vue";
7
- import { CategoryCookie } from "./types";
8
- import {
9
- acceptAllCookies,
10
- acceptCookiesSelected,
11
- CookieItemKey,
12
- CookieOption,
13
- rejectCookies,
14
- } from "../../utils";
15
-
16
- interface Props {
17
- categoryCookies?: CategoryCookie[] | null;
18
- }
19
-
20
- const props = withDefaults(defineProps<Props>(), {
21
- categoryCookies: null,
22
- });
23
-
24
- const items = ref(props.categoryCookies);
25
-
26
- const emit = defineEmits([
27
- "onClose",
28
- "onReject",
29
- "onAcceptSelected",
30
- "onAcceptAll",
31
- ]);
32
-
33
- const handleCloseConfig = () => {
34
- emit("onClose");
35
- };
36
-
37
- const handleReject = () => {
38
- rejectCookies();
39
- emit("onReject");
40
- };
41
-
42
- const handleAcceptSelected = () => {
43
- let analyticsStorageOption;
44
- let adStorageOption;
45
-
46
- const analyticsStorageIndex = items.value?.findIndex(
47
- (item) => item.id === CookieItemKey.statistics,
48
- );
49
- if (analyticsStorageIndex) {
50
- analyticsStorageOption = items.value![analyticsStorageIndex].isChecked
51
- ? CookieOption.granted
52
- : CookieOption.denied;
53
- }
54
-
55
- const adStorageIndex = items.value?.findIndex(
56
- (item) => item.id === CookieItemKey.marketing,
57
- );
58
- if (adStorageIndex) {
59
- adStorageOption = items.value![adStorageIndex].isChecked
60
- ? CookieOption.granted
61
- : CookieOption.denied;
62
- }
63
-
64
- acceptCookiesSelected(analyticsStorageOption!, adStorageOption!);
65
- emit("onAcceptSelected");
66
- };
67
-
68
- const handleAcceptAll = () => {
69
- acceptAllCookies();
70
- emit("onAcceptAll");
71
- };
72
- </script>
73
-
74
- <template>
75
- <div
76
- class="lau-ecom-banner-cookies-config lau-ecom-banner-cookies-config--upc"
77
- >
78
- <div class="lau-ecom-config-head lau-ecom-config-head--upc">
79
- <p class="upc-font-subtitle-03-20px">Configuracion de cookies</p>
80
- <button @click="handleCloseConfig">
81
- <span><LauEcomCoreIconNavClose /></span>
82
- </button>
83
- </div>
84
- <div>
85
- <LauEcomBannerCookiesConfigAccordion
86
- v-for="(item, index) in items"
87
- :key="`cookie-config-${index + 1}`"
88
- v-model="item.isChecked"
89
- :category-cookie="item"
90
- />
91
- </div>
92
- <div class="lau-ecom-banner-cookies-buttons">
93
- <LauEcomButton
94
- class="!dsEcom-w-full mobiles:dsEcom-order-last"
95
- :type="LauEcomButtonType.Secondary"
96
- @on-click="handleReject"
97
- >
98
- Rechazar
99
- </LauEcomButton>
100
- <LauEcomButton
101
- class="!dsEcom-w-full"
102
- :type="LauEcomButtonType.Secondary"
103
- @on-click="handleAcceptSelected"
104
- >
105
- Aceptar seleccionadas
106
- </LauEcomButton>
107
- <LauEcomButton
108
- class="!dsEcom-w-full mobiles:dsEcom-order-first"
109
- @on-click="handleAcceptAll"
110
- >
111
- Aceptar todas
112
- </LauEcomButton>
113
- </div>
114
- </div>
115
- </template>
116
-
117
- <style scoped>
118
- .lau-ecom-banner-cookies-config {
119
- @apply dsEcom-flex
120
- dsEcom-flex-col
121
- dsEcom-gap-10
122
- dsEcom-absolute
123
- dsEcom-top-1/2
124
- dsEcom-left-1/2
125
- dsEcom-transform
126
- -dsEcom-translate-x-1/2
127
- -dsEcom-translate-y-1/2
128
- dsEcom-pt-6
129
- dsEcom-pb-8
130
- dsEcom-px-6
131
- dsEcom-w-[584px]
132
- dsEcom-h-auto
133
- dsEcom-shadow-upc-shadow-prominent
134
- mobiles:dsEcom-gap-8
135
- mobiles:dsEcom-w-[360px];
136
- }
137
-
138
- .lau-ecom-banner-cookies-config--upc {
139
- @apply dsEcom-text-neutral-100;
140
- }
141
-
142
- .lau-ecom-config-head {
143
- @apply dsEcom-flex
144
- dsEcom-justify-between
145
- dsEcom-items-center;
146
- }
147
-
148
- .lau-ecom-config-head--upc {
149
- @apply dsEcom-text-secondary-60;
150
- }
151
-
152
- .lau-ecom-banner-cookies-buttons {
153
- @apply dsEcom-flex
154
- dsEcom-justify-between
155
- dsEcom-items-center
156
- dsEcom-gap-4
157
- mobiles:dsEcom-flex-col;
158
- }
159
- </style>
1
+ <script lang="ts" setup>
2
+ import { ref } from "vue";
3
+ import LauEcomButton from "../LauEcomButton/LauEcomButton.vue";
4
+ import { LauEcomButtonType } from "../LauEcomButton/types";
5
+ import { LauEcomCoreIconNavClose } from "../LauEcomIcon";
6
+ import LauEcomBannerCookiesConfigAccordion from "./LauEcomBannerCookiesConfigAccordion.vue";
7
+ import { CategoryCookie } from "./types";
8
+ import {
9
+ acceptAllCookies,
10
+ acceptCookiesSelected,
11
+ CookieItemKey,
12
+ CookieOption,
13
+ rejectCookies,
14
+ } from "../../utils";
15
+
16
+ interface Props {
17
+ categoryCookies?: CategoryCookie[] | null;
18
+ }
19
+
20
+ const props = withDefaults(defineProps<Props>(), {
21
+ categoryCookies: null,
22
+ });
23
+
24
+ const items = ref(props.categoryCookies);
25
+
26
+ const emit = defineEmits([
27
+ "onClose",
28
+ "onReject",
29
+ "onAcceptSelected",
30
+ "onAcceptAll",
31
+ ]);
32
+
33
+ const handleCloseConfig = () => {
34
+ emit("onClose");
35
+ };
36
+
37
+ const handleReject = () => {
38
+ rejectCookies();
39
+ emit("onReject");
40
+ };
41
+
42
+ const handleAcceptSelected = () => {
43
+ let analyticsStorageOption;
44
+ let adStorageOption;
45
+
46
+ const analyticsStorageIndex = items.value?.findIndex(
47
+ (item) => item.id === CookieItemKey.statistics,
48
+ );
49
+ if (analyticsStorageIndex) {
50
+ analyticsStorageOption = items.value![analyticsStorageIndex].isChecked
51
+ ? CookieOption.granted
52
+ : CookieOption.denied;
53
+ }
54
+
55
+ const adStorageIndex = items.value?.findIndex(
56
+ (item) => item.id === CookieItemKey.marketing,
57
+ );
58
+ if (adStorageIndex) {
59
+ adStorageOption = items.value![adStorageIndex].isChecked
60
+ ? CookieOption.granted
61
+ : CookieOption.denied;
62
+ }
63
+
64
+ acceptCookiesSelected(analyticsStorageOption!, adStorageOption!);
65
+ emit("onAcceptSelected");
66
+ };
67
+
68
+ const handleAcceptAll = () => {
69
+ acceptAllCookies();
70
+ emit("onAcceptAll");
71
+ };
72
+ </script>
73
+
74
+ <template>
75
+ <div
76
+ class="lau-ecom-banner-cookies-config lau-ecom-banner-cookies-config--upc"
77
+ >
78
+ <div class="lau-ecom-config-head lau-ecom-config-head--upc">
79
+ <p class="upc-font-subtitle-03-20px">Configuracion de cookies</p>
80
+ <button @click="handleCloseConfig">
81
+ <span><LauEcomCoreIconNavClose /></span>
82
+ </button>
83
+ </div>
84
+ <div>
85
+ <LauEcomBannerCookiesConfigAccordion
86
+ v-for="(item, index) in items"
87
+ :key="`cookie-config-${index + 1}`"
88
+ v-model="item.isChecked"
89
+ :category-cookie="item"
90
+ @on-toggle="item.onToggle"
91
+ />
92
+ </div>
93
+ <div class="lau-ecom-banner-cookies-buttons">
94
+ <LauEcomButton
95
+ class="!dsEcom-w-full mobiles:dsEcom-order-last"
96
+ :type="LauEcomButtonType.Secondary"
97
+ @on-click="handleReject"
98
+ >
99
+ Rechazar
100
+ </LauEcomButton>
101
+ <LauEcomButton
102
+ class="!dsEcom-w-full"
103
+ :type="LauEcomButtonType.Secondary"
104
+ @on-click="handleAcceptSelected"
105
+ >
106
+ Aceptar seleccionadas
107
+ </LauEcomButton>
108
+ <LauEcomButton
109
+ class="!dsEcom-w-full mobiles:dsEcom-order-first"
110
+ @on-click="handleAcceptAll"
111
+ >
112
+ Aceptar todas
113
+ </LauEcomButton>
114
+ </div>
115
+ </div>
116
+ </template>
117
+
118
+ <style scoped>
119
+ .lau-ecom-banner-cookies-config {
120
+ @apply dsEcom-flex
121
+ dsEcom-flex-col
122
+ dsEcom-gap-10
123
+ dsEcom-absolute
124
+ dsEcom-top-1/2
125
+ dsEcom-left-1/2
126
+ dsEcom-transform
127
+ -dsEcom-translate-x-1/2
128
+ -dsEcom-translate-y-1/2
129
+ dsEcom-pt-6
130
+ dsEcom-pb-8
131
+ dsEcom-px-6
132
+ dsEcom-w-[584px]
133
+ dsEcom-h-auto
134
+ dsEcom-shadow-upc-shadow-prominent
135
+ mobiles:dsEcom-gap-8
136
+ mobiles:dsEcom-w-[360px];
137
+ }
138
+
139
+ .lau-ecom-banner-cookies-config--upc {
140
+ @apply dsEcom-text-neutral-100;
141
+ }
142
+
143
+ .lau-ecom-config-head {
144
+ @apply dsEcom-flex
145
+ dsEcom-justify-between
146
+ dsEcom-items-center;
147
+ }
148
+
149
+ .lau-ecom-config-head--upc {
150
+ @apply dsEcom-text-secondary-60;
151
+ }
152
+
153
+ .lau-ecom-banner-cookies-buttons {
154
+ @apply dsEcom-flex
155
+ dsEcom-justify-between
156
+ dsEcom-items-center
157
+ dsEcom-gap-4
158
+ mobiles:dsEcom-flex-col;
159
+ }
160
+ </style>
@@ -1,76 +1,80 @@
1
- <script lang="ts" setup>
2
- import { computed, ref } from "vue";
3
- import LauEcomUpcIconNavArrow from "../LauEcomIcon/LauEcomUpcIconNavArrow.vue";
4
- import LauEcomSwitch from "../LauEcomSwitch/LauEcomSwitch.vue";
5
- import { CategoryCookie } from "./types";
6
-
7
- interface Props {
8
- categoryCookie: CategoryCookie;
9
- }
10
-
11
- withDefaults(defineProps<Props>(), {
12
- categoryCookie: () => {
13
- return {
14
- title: "Cookie",
15
- description: "lorem ipsum dolor sit amet, consectetur",
16
- };
17
- },
18
- });
19
-
20
- const isOpen = ref(false);
21
- const isChecked = defineModel<boolean>();
22
-
23
- const emit = defineEmits(["onToggle"]);
24
-
25
- const handleClickAccordion = () => {
26
- isOpen.value = !isOpen.value;
27
- };
28
-
29
- const handleToggle = () => {
30
- emit("onToggle");
31
- };
32
-
33
- const iconClass = computed(() => {
34
- return isOpen.value ? "dsEcom-rotate-0" : "dsEcom-rotate-180";
35
- });
36
- </script>
37
-
38
- <template>
39
- <div class="dsEcom-mb-4">
40
- <div class="lau-ecom-config-accordion-head">
41
- <div
42
- class="dsEcom-flex dsEcom-items-center dsEcom-gap-2"
43
- @click="handleClickAccordion"
44
- >
45
- <span :class="iconClass"><LauEcomUpcIconNavArrow /></span>
46
- <p class="upc-font-subtitle-03-20px">
47
- {{ categoryCookie.title }}
48
- </p>
49
- </div>
50
- <LauEcomSwitch
51
- v-model="isChecked"
52
- :isDisabled="categoryCookie.isDisabled"
53
- @on-toggle="handleToggle"
54
- />
55
- </div>
56
- <div v-show="isOpen" class="lau-ecom-config-accordion-content">
57
- <p class="core-font-body-reg-05-14px">
58
- {{ categoryCookie.description }}
59
- </p>
60
- </div>
61
- </div>
62
- </template>
63
-
64
- <style scoped>
65
- .lau-ecom-config-accordion-head {
66
- @apply dsEcom-flex
67
- dsEcom-justify-between
68
- dsEcom-pb-4
69
- dsEcom-border-b-2;
70
- }
71
-
72
- .lau-ecom-config-accordion-content {
73
- @apply dsEcom-py-2
74
- dsEcom-px-8;
75
- }
76
- </style>
1
+ <script lang="ts" setup>
2
+ import { computed, ref } from "vue";
3
+ import LauEcomUpcIconNavArrow from "../LauEcomIcon/LauEcomUpcIconNavArrow.vue";
4
+ import LauEcomSwitch from "../LauEcomSwitch/LauEcomSwitch.vue";
5
+ import { CategoryCookie } from "./types";
6
+
7
+ interface Props {
8
+ categoryCookie: CategoryCookie;
9
+ }
10
+
11
+ withDefaults(defineProps<Props>(), {
12
+ categoryCookie: () => {
13
+ return {
14
+ title: "Cookie",
15
+ description: "lorem ipsum dolor sit amet, consectetur",
16
+ };
17
+ },
18
+ });
19
+
20
+ const isOpen = ref(false);
21
+ const isChecked = defineModel<boolean>();
22
+
23
+ const emit = defineEmits<{
24
+ (e: "onToggle", value: boolean): void;
25
+ }>();
26
+
27
+ const handleClickAccordion = () => {
28
+ isOpen.value = !isOpen.value;
29
+ };
30
+
31
+ const handleToggle = (value: boolean) => {
32
+ emit("onToggle", value);
33
+ };
34
+
35
+ const iconClass = computed(() => {
36
+ return isOpen.value ? "dsEcom-rotate-0" : "dsEcom-rotate-180";
37
+ });
38
+ </script>
39
+
40
+ <template>
41
+ <div class="dsEcom-mb-4">
42
+ <div class="lau-ecom-config-accordion-head">
43
+ <div
44
+ class="dsEcom-flex dsEcom-items-center dsEcom-gap-2"
45
+ @click="handleClickAccordion"
46
+ >
47
+ <span :class="iconClass"
48
+ ><LauEcomUpcIconNavArrow class="dsEcom-fill-neutral-100"
49
+ /></span>
50
+ <p class="upc-font-subtitle-03-20px">
51
+ {{ categoryCookie.title }}
52
+ </p>
53
+ </div>
54
+ <LauEcomSwitch
55
+ v-model="isChecked"
56
+ :isDisabled="categoryCookie.isDisabled"
57
+ @on-toggle="handleToggle"
58
+ />
59
+ </div>
60
+ <div v-show="isOpen" class="lau-ecom-config-accordion-content">
61
+ <p class="core-font-body-reg-05-14px">
62
+ {{ categoryCookie.description }}
63
+ </p>
64
+ </div>
65
+ </div>
66
+ </template>
67
+
68
+ <style scoped>
69
+ .lau-ecom-config-accordion-head {
70
+ @apply dsEcom-flex
71
+ dsEcom-justify-between
72
+ dsEcom-pb-4
73
+ dsEcom-border-b-2;
74
+ }
75
+
76
+ .lau-ecom-config-accordion-content {
77
+ @apply dsEcom-py-2
78
+ dsEcom-px-8;
79
+ }
80
+ </style>