lau-ecom-design-system 1.0.19 → 1.0.20

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 (48) hide show
  1. package/README.md +49 -0
  2. package/dist/316236bc7a52233c.png +0 -0
  3. package/dist/lau-ecom-design-system.esm.css +6 -1
  4. package/dist/lau-ecom-design-system.esm.js +900 -327
  5. package/dist/lau-ecom-design-system.min.css +6 -1
  6. package/dist/lau-ecom-design-system.min.js +1 -1
  7. package/dist/lau-ecom-design-system.ssr.css +6 -1
  8. package/dist/lau-ecom-design-system.ssr.js +787 -256
  9. package/dist/style.css +120 -12
  10. package/package.json +80 -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 +203 -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/LauEcomLoaderPage/LauEcomLoaderPage.vue +16 -16
  36. package/src/components/LauEcomPaginator/LauEcomPaginator.vue +57 -0
  37. package/src/components/LauEcomPaginator/LauEcomPaginatorButton.vue +68 -0
  38. package/src/components/LauEcomRadioButton/LauEcomRadioButton.vue +103 -103
  39. package/src/components/LauEcomRtb/LauEcomRtb.vue +71 -71
  40. package/src/components/LauEcomStepbar/LauEcomStepbar.vue +43 -43
  41. package/src/components/LauEcomStepbar/LauEcomStepbarItem.vue +128 -128
  42. package/src/components/LauEcomSwitch/LauEcomSwitch.vue +110 -108
  43. package/src/components/LauEcomTab/LauEcomTab.vue +82 -82
  44. package/src/components/LauEcomTag/LauEcomTag.vue +56 -0
  45. package/src/components/LauEcomTextButton/LauEcomTextButton.vue +71 -71
  46. package/src/components/LauEcomTyPage/LauEcomSummary.vue +14 -0
  47. package/src/components/LauEcomTyPage/LauEcomSummaryItem.vue +22 -0
  48. package/src/components/LauEcomTyPage/LauEcomTyPage.vue +149 -0
@@ -1,203 +1,203 @@
1
- <script lang="ts" setup>
2
- import { computed, ref } from "vue";
3
- import {
4
- LauEcomUpcIconArrowDown,
5
- LauEcomUpcIconExclamationTriangle,
6
- } from "../LauEcomIcon";
7
- import { DropdownItem } from "./types";
8
- import { Colors } from "../../utils";
9
-
10
- interface Props {
11
- id?: string;
12
- label?: string;
13
- isDisabled?: boolean;
14
- placeholder?: string;
15
- dropdownItems: DropdownItem[];
16
- errorMessage?: string;
17
- }
18
-
19
- const props = withDefaults(defineProps<Props>(), {
20
- id: "label",
21
- label: "Dropdown label",
22
- isDisabled: false,
23
- placeholder: "Placeholder",
24
- errorMessage: "",
25
- });
26
-
27
- const isOpen = ref(false);
28
- const selectedItem = ref<DropdownItem | null>(null);
29
-
30
- const handleDropdownOpen = () => {
31
- if (props.isDisabled) return;
32
- isOpen.value = !isOpen.value;
33
- };
34
-
35
- const selectDropdownItem = (index: number) => {
36
- selectedItem.value = props.dropdownItems[index];
37
- isOpen.value = false;
38
- };
39
-
40
- const lauEcomLabelClasses = computed(() => {
41
- return {
42
- "lau-ecom-label core-font-body-bold-06-12px": true,
43
- "lau-ecom-label--disabled": props.isDisabled,
44
- };
45
- });
46
-
47
- const lauEcomDropdownClasses = computed(() => {
48
- return {
49
- "lau-ecom-dropdown core-font-body-reg-04-16px": true,
50
- "lau-ecom-dropdown--open": isOpen.value,
51
- "lau-ecom-dropdown--disabled": props.isDisabled,
52
- "lau-ecom-dropdown--error": props.errorMessage,
53
- };
54
- });
55
-
56
- const lauEcomIconClasses = computed(() => {
57
- return {
58
- "lau-ecom-icon": true,
59
- "lau-ecom-icon--open": isOpen.value,
60
- "lau-ecom-icon--disabled": props.isDisabled,
61
- };
62
- });
63
-
64
- const iconArrowDownColor = computed(() => {
65
- if (props.isDisabled) return Colors["upc-color-neutral-70"];
66
- if (props.errorMessage) return Colors["upc-color-red-60-base"];
67
- return Colors["upc-color-neutral-100"];
68
- });
69
- </script>
70
-
71
- <template>
72
- <div>
73
- <label :class="lauEcomLabelClasses" :for="id">{{ label }}</label>
74
- <div class="dsEcom-relative">
75
- <div class="dsEcom-relative">
76
- <input
77
- :id="id"
78
- :name="id"
79
- :disabled="isDisabled"
80
- :placeholder="placeholder"
81
- :value="selectedItem?.name"
82
- readonly
83
- :class="lauEcomDropdownClasses"
84
- @click="handleDropdownOpen"
85
- />
86
- <span :class="lauEcomIconClasses">
87
- <LauEcomUpcIconArrowDown :color="iconArrowDownColor" />
88
- </span>
89
- </div>
90
- <ul
91
- v-if="dropdownItems.length > 0"
92
- v-show="isOpen"
93
- class="lau-ecom-dropdown-list core-font-body-reg-04-16px"
94
- >
95
- <li
96
- v-for="(dropdownItem, index) in dropdownItems"
97
- :key="`dropdown-item-${index + 1}`"
98
- class="lau-ecom-dropdown-list-item"
99
- @click="selectDropdownItem(index)"
100
- >
101
- <span>{{ dropdownItem.name }}</span>
102
- </li>
103
- </ul>
104
- </div>
105
- <div
106
- v-if="errorMessage"
107
- class="lau-ecom-dropdown__error core-font-body-reg-06-12px"
108
- >
109
- <span>
110
- <LauEcomUpcIconExclamationTriangle
111
- width="16"
112
- height="16"
113
- :color="Colors['upc-color-red-60-base']"
114
- />
115
- </span>
116
- <p class="dsEcom-ml-1">
117
- {{ errorMessage }}
118
- </p>
119
- </div>
120
- </div>
121
- </template>
122
-
123
- <style scoped>
124
- .lau-ecom-label {
125
- @apply dsEcom-text-neutral-100;
126
- }
127
-
128
- .lau-ecom-label--disabled {
129
- @apply dsEcom-text-neutral-70;
130
- }
131
-
132
- .lau-ecom-dropdown {
133
- @apply dsEcom-w-full
134
- dsEcom-h-auto
135
- dsEcom-cursor-pointer
136
- dsEcom-bg-neutral-10
137
- dsEcom-px-3
138
- dsEcom-py-[11px]
139
- dsEcom-rounded-[2px]
140
- dsEcom-border
141
- dsEcom-border-neutral-80
142
- hover:dsEcom-border-stroke-secondary-60
143
- focus:dsEcom-border-stroke-secondary-60
144
- focus:dsEcom-outline-none;
145
- }
146
-
147
- .lau-ecom-dropdown--disabled {
148
- @apply !dsEcom-border-neutral-70
149
- !dsEcom-bg-neutral-20;
150
- }
151
-
152
- .lau-ecom-dropdown--error {
153
- @apply !dsEcom-border-feedback-error-60;
154
- }
155
-
156
- .lau-ecom-dropdown--open {
157
- @apply dsEcom-border-stroke-secondary-60;
158
- }
159
-
160
- .lau-ecom-icon {
161
- @apply dsEcom-absolute
162
- dsEcom-right-4
163
- dsEcom-top-3
164
- dsEcom-transition-all
165
- dsEcom-duration-300
166
- dsEcom-cursor-pointer;
167
- }
168
-
169
- .lau-ecom-icon--open {
170
- @apply dsEcom-rotate-180;
171
- }
172
-
173
- .lau-ecom-icon--disabled {
174
- @apply dsEcom-cursor-default;
175
- }
176
-
177
- .lau-ecom-dropdown-list {
178
- @apply dsEcom-absolute
179
- dsEcom-top-full
180
- dsEcom-left-0
181
- dsEcom-w-full
182
- dsEcom-z-20
183
- dsEcom-py-1
184
- dsEcom-shadow-upc-shadow-subtle
185
- dsEcom-bg-neutral-10;
186
- }
187
-
188
- .lau-ecom-dropdown-list-item {
189
- @apply dsEcom-py-2
190
- dsEcom-px-3
191
- dsEcom-cursor-pointer
192
- hover:dsEcom-bg-neutral-30
193
- active:dsEcom-bg-neutral-40
194
- focus:dsEcom-bg-neutral-40;
195
- }
196
-
197
- .lau-ecom-dropdown__error {
198
- @apply dsEcom-flex
199
- dsEcom-items-center
200
- dsEcom-mt-[2px]
201
- dsEcom-text-primary-60;
202
- }
203
- </style>
1
+ <script lang="ts" setup>
2
+ import { computed, ref } from "vue";
3
+ import {
4
+ LauEcomUpcIconArrowDown,
5
+ LauEcomUpcIconExclamationTriangle,
6
+ } from "../LauEcomIcon";
7
+ import { DropdownItem } from "./types";
8
+ import { Colors } from "../../utils";
9
+
10
+ interface Props {
11
+ id?: string;
12
+ label?: string;
13
+ isDisabled?: boolean;
14
+ placeholder?: string;
15
+ dropdownItems: DropdownItem[];
16
+ errorMessage?: string;
17
+ }
18
+
19
+ const props = withDefaults(defineProps<Props>(), {
20
+ id: "label",
21
+ label: "Dropdown label",
22
+ isDisabled: false,
23
+ placeholder: "Placeholder",
24
+ errorMessage: "",
25
+ });
26
+
27
+ const isOpen = ref(false);
28
+ const selectedItem = ref<DropdownItem | null>(null);
29
+
30
+ const handleDropdownOpen = () => {
31
+ if (props.isDisabled) return;
32
+ isOpen.value = !isOpen.value;
33
+ };
34
+
35
+ const selectDropdownItem = (index: number) => {
36
+ selectedItem.value = props.dropdownItems[index];
37
+ isOpen.value = false;
38
+ };
39
+
40
+ const lauEcomLabelClasses = computed(() => {
41
+ return {
42
+ "lau-ecom-label core-font-body-bold-06-12px": true,
43
+ "lau-ecom-label--disabled": props.isDisabled,
44
+ };
45
+ });
46
+
47
+ const lauEcomDropdownClasses = computed(() => {
48
+ return {
49
+ "lau-ecom-dropdown core-font-body-reg-04-16px": true,
50
+ "lau-ecom-dropdown--open": isOpen.value,
51
+ "lau-ecom-dropdown--disabled": props.isDisabled,
52
+ "lau-ecom-dropdown--error": props.errorMessage,
53
+ };
54
+ });
55
+
56
+ const lauEcomIconClasses = computed(() => {
57
+ return {
58
+ "lau-ecom-icon": true,
59
+ "lau-ecom-icon--open": isOpen.value,
60
+ "lau-ecom-icon--disabled": props.isDisabled,
61
+ };
62
+ });
63
+
64
+ const iconArrowDownColor = computed(() => {
65
+ if (props.isDisabled) return Colors["upc-color-neutral-70"];
66
+ if (props.errorMessage) return Colors["upc-color-red-60-base"];
67
+ return Colors["upc-color-neutral-100"];
68
+ });
69
+ </script>
70
+
71
+ <template>
72
+ <div>
73
+ <label :class="lauEcomLabelClasses" :for="id">{{ label }}</label>
74
+ <div class="dsEcom-relative">
75
+ <div class="dsEcom-relative">
76
+ <input
77
+ :id="id"
78
+ :name="id"
79
+ :disabled="isDisabled"
80
+ :placeholder="placeholder"
81
+ :value="selectedItem?.name"
82
+ readonly
83
+ :class="lauEcomDropdownClasses"
84
+ @click="handleDropdownOpen"
85
+ />
86
+ <span :class="lauEcomIconClasses">
87
+ <LauEcomUpcIconArrowDown :color="iconArrowDownColor" />
88
+ </span>
89
+ </div>
90
+ <ul
91
+ v-if="dropdownItems.length > 0"
92
+ v-show="isOpen"
93
+ class="lau-ecom-dropdown-list core-font-body-reg-04-16px"
94
+ >
95
+ <li
96
+ v-for="(dropdownItem, index) in dropdownItems"
97
+ :key="`dropdown-item-${index + 1}`"
98
+ class="lau-ecom-dropdown-list-item"
99
+ @click="selectDropdownItem(index)"
100
+ >
101
+ <span>{{ dropdownItem.name }}</span>
102
+ </li>
103
+ </ul>
104
+ </div>
105
+ <div
106
+ v-if="errorMessage"
107
+ class="lau-ecom-dropdown__error core-font-body-reg-06-12px"
108
+ >
109
+ <span>
110
+ <LauEcomUpcIconExclamationTriangle
111
+ width="16"
112
+ height="16"
113
+ :color="Colors['upc-color-red-60-base']"
114
+ />
115
+ </span>
116
+ <p class="dsEcom-ml-1">
117
+ {{ errorMessage }}
118
+ </p>
119
+ </div>
120
+ </div>
121
+ </template>
122
+
123
+ <style scoped>
124
+ .lau-ecom-label {
125
+ @apply dsEcom-text-neutral-100;
126
+ }
127
+
128
+ .lau-ecom-label--disabled {
129
+ @apply dsEcom-text-neutral-70;
130
+ }
131
+
132
+ .lau-ecom-dropdown {
133
+ @apply dsEcom-w-full
134
+ dsEcom-h-auto
135
+ dsEcom-cursor-pointer
136
+ dsEcom-bg-neutral-10
137
+ dsEcom-px-3
138
+ dsEcom-py-[11px]
139
+ dsEcom-rounded-[2px]
140
+ dsEcom-border
141
+ dsEcom-border-neutral-80
142
+ hover:dsEcom-border-stroke-secondary-60
143
+ focus:dsEcom-border-stroke-secondary-60
144
+ focus:dsEcom-outline-none;
145
+ }
146
+
147
+ .lau-ecom-dropdown--disabled {
148
+ @apply !dsEcom-border-neutral-70
149
+ !dsEcom-bg-neutral-20;
150
+ }
151
+
152
+ .lau-ecom-dropdown--error {
153
+ @apply !dsEcom-border-feedback-error-60;
154
+ }
155
+
156
+ .lau-ecom-dropdown--open {
157
+ @apply dsEcom-border-stroke-secondary-60;
158
+ }
159
+
160
+ .lau-ecom-icon {
161
+ @apply dsEcom-absolute
162
+ dsEcom-right-4
163
+ dsEcom-top-3
164
+ dsEcom-transition-all
165
+ dsEcom-duration-300
166
+ dsEcom-cursor-pointer;
167
+ }
168
+
169
+ .lau-ecom-icon--open {
170
+ @apply dsEcom-rotate-180;
171
+ }
172
+
173
+ .lau-ecom-icon--disabled {
174
+ @apply dsEcom-cursor-default;
175
+ }
176
+
177
+ .lau-ecom-dropdown-list {
178
+ @apply dsEcom-absolute
179
+ dsEcom-top-full
180
+ dsEcom-left-0
181
+ dsEcom-w-full
182
+ dsEcom-z-20
183
+ dsEcom-py-1
184
+ dsEcom-shadow-upc-shadow-subtle
185
+ dsEcom-bg-neutral-10;
186
+ }
187
+
188
+ .lau-ecom-dropdown-list-item {
189
+ @apply dsEcom-py-2
190
+ dsEcom-px-3
191
+ dsEcom-cursor-pointer
192
+ hover:dsEcom-bg-neutral-30
193
+ active:dsEcom-bg-neutral-40
194
+ focus:dsEcom-bg-neutral-40;
195
+ }
196
+
197
+ .lau-ecom-dropdown__error {
198
+ @apply dsEcom-flex
199
+ dsEcom-items-center
200
+ dsEcom-mt-[2px]
201
+ dsEcom-text-primary-60;
202
+ }
203
+ </style>
@@ -1,28 +1,20 @@
1
1
  <script setup lang="ts">
2
- // import { computed } from 'vue';
3
- import { computed } from "vue";
4
- import { LauEcomInstance } from "../../enums";
5
- import { Colors } from "../../utils";
6
2
  import {
7
- LauEcomCbtLogoLaureate,
8
- LauEcomCbtLogoUpcWhite,
9
3
  LauEcomCoreIconBook,
10
4
  LauEcomLogoWasc,
11
5
  LauEcomUpcIconInnova,
12
6
  } from "../LauEcomIcon";
13
- import LauEcomCbtLogoCbtVer from "../LauEcomIcon/LauEcomCbtLogoCbtVer.vue";
14
7
  import LauEcomSubFooter from "./LauEcomSubFooter.vue";
15
8
 
16
9
  interface Props {
17
- instance?: LauEcomInstance;
18
10
  urlPrivacyPolicy?: string;
19
11
  urlTermAndConditions?: string;
20
12
  urlComplaintsBook?: string;
21
13
  urlPdpArco?: string;
14
+ institutionName?: string;
22
15
  }
23
16
 
24
- const props = withDefaults(defineProps<Props>(), {
25
- instance: LauEcomInstance.Upc,
17
+ withDefaults(defineProps<Props>(), {
26
18
  urlContact: "https://www.upc.edu.pe/servicios/contacto-para-alumnos-upc/",
27
19
  urlPrivacyPolicy:
28
20
  "https://www.upc.edu.pe/html/politica-y-terminos/0/politica-privacidad.htm",
@@ -30,46 +22,23 @@ const props = withDefaults(defineProps<Props>(), {
30
22
  "https://www.upc.edu.pe/html/politica-y-terminos/0/terminos-condiciones.htm",
31
23
  urlComplaintsBook: "https://librodereclamaciones.upc.edu.pe/",
32
24
  urlPdpArco: "https://upc.edu.pe/proteccion-de-datos/",
33
- });
34
-
35
- const isUpcInstance = computed(() => {
36
- return props.instance === LauEcomInstance.Upc;
37
- });
38
-
39
- const isCbtInstance = computed(() => {
40
- return props.instance === LauEcomInstance.Cibertec;
41
- });
42
-
43
- const lauEcomFooterLogosClasses = computed(() => {
44
- return {
45
- "lau-ecom-footer-logos": true,
46
- "lau-ecom-footer-logos--upc": isUpcInstance.value,
47
- "lau-ecom-footer-logos--cbt": isCbtInstance.value,
48
- };
49
- });
50
-
51
- const lauEcomTermnsClasses = computed(() => {
52
- return {
53
- "lau-ecom-termns": true,
54
- "lau-ecom-termns--upc": isUpcInstance.value,
55
- "lau-ecom-termns--cbt": isCbtInstance.value,
56
- };
25
+ institutionName: "Universidad Peruana de Ciencias Aplicadas",
57
26
  });
58
27
  </script>
59
28
 
60
29
  <template>
61
30
  <footer>
62
- <LauEcomSubFooter :instance="instance" />
31
+ <LauEcomSubFooter />
63
32
  <div class="dsEcom-flex dsEcom-flex-col">
64
- <div :class="lauEcomFooterLogosClasses">
33
+ <div class="lau-ecom-footer-logos lau-ecom-footer-logos--upc">
65
34
  <div
66
- class="dsEcom-flex mobiles:dsEcom-w-full mobiles:dsEcom-justify-center mobiles:dsEcom-border-b-2 mobiles:dsEcom-border-b-upc-color-neutral-40"
35
+ class="dsEcom-flex mobiles:dsEcom-w-full mobiles:dsEcom-justify-center mobiles:dsEcom-border-b-2 mobiles:dsEcom-border-b-neutral-40"
67
36
  >
68
- <span v-if="isUpcInstance">
69
- <LauEcomUpcIconInnova />
37
+ <span v-if="$slots.mainLogo">
38
+ <slot name="mainLogo" />
70
39
  </span>
71
- <span v-if="isCbtInstance">
72
- <LauEcomCbtLogoCbtVer />
40
+ <span v-else>
41
+ <LauEcomUpcIconInnova />
73
42
  </span>
74
43
  </div>
75
44
  <div
@@ -81,42 +50,30 @@ const lauEcomTermnsClasses = computed(() => {
81
50
  <div
82
51
  class="dsEcom-flex dsEcom-items-center mobiles:dsEcom-flex-col mobiles:dsEcom-gap-8"
83
52
  >
53
+ <span v-if="$slots.sponsorLogo">
54
+ <slot name="sponsorLogo" />
55
+ </span>
84
56
  <span
85
- v-if="isUpcInstance"
86
- class="dsEcom-pr-[51px] dsEcom-py-3 dsEcom-border-r-2 dsEcom-border-r-upc-color-neutral-50 mobiles:dsEcom-pr-0 mobiles:dsEcom-border-r-0 mobiles:dsEcom-py-0"
57
+ v-else
58
+ class="dsEcom-pr-[51px] dsEcom-py-3 dsEcom-border-r-2 dsEcom-border-r-neutral-50 mobiles:dsEcom-pr-0 mobiles:dsEcom-border-r-0 mobiles:dsEcom-py-0"
87
59
  >
88
60
  <LauEcomLogoWasc />
89
61
  </span>
90
- <div
91
- v-if="isCbtInstance"
92
- class="dsEcom-flex mobiles:dsEcom-flex-col mobiles:dsEcom-gap-8"
93
- >
94
- <span
95
- class="dsEcom-pr-[51px] dsEcom-py-2 dsEcom-border-r-2 dsEcom-border-r-color-cbt-color-neutral-50 mobiles:dsEcom-py-0 mobiles:dsEcom-pr-0 mobiles:dsEcom-border-r-0"
96
- >
97
- <LauEcomCbtLogoLaureate />
98
- </span>
99
- <span
100
- class="dsEcom-px-[51px] dsEcom-py-2 dsEcom-border-r-2 dsEcom-border-r-color-cbt-color-neutral-50 mobiles:dsEcom-px-0 mobiles:dsEcom-py-0 mobiles:dsEcom-border-r-0"
101
- >
102
- <LauEcomCbtLogoUpcWhite />
103
- </span>
104
- </div>
105
62
  <div
106
63
  class="dsEcom-flex dsEcom-items-center dsEcom-pl-[51px] mobiles:dsEcom-pl-0"
107
64
  >
108
65
  <span>
109
66
  <LauEcomCoreIconBook
67
+ class="dsEcom-fill-link-60"
110
68
  width="56"
111
69
  height="56"
112
- :color="Colors['core-color-blue-60-base']"
113
70
  />
114
71
  </span>
115
72
  <a
116
73
  :href="urlComplaintsBook"
117
74
  target="_blank"
118
75
  rel="nofollow"
119
- class="core-font-body-bold-04-16px dsEcom-text-core-color-blue-60-base"
76
+ class="core-font-body-bold-04-16px dsEcom-text-link-60"
120
77
  >
121
78
  Libro de reclamaciones
122
79
  </a>
@@ -124,10 +81,9 @@ const lauEcomTermnsClasses = computed(() => {
124
81
  </div>
125
82
  </div>
126
83
  </div>
127
- <div :class="lauEcomTermnsClasses">
128
- <!-- ToDo: Add links para terminos y politicas -->
84
+ <div class="lau-ecom-termns lau-ecom-termns--upc">
129
85
  <div
130
- class="dsEcom-flex dsEcom-gap-1 core-font-link-03-14px dsEcom-text-core-color-blue-60-base mobiles:dsEcom-block mobiles:dsEcom-text-center"
86
+ class="dsEcom-flex dsEcom-gap-1 core-font-link-03-14px dsEcom-text-link-60 mobiles:dsEcom-block mobiles:dsEcom-text-center"
131
87
  >
132
88
  <a :href="urlPrivacyPolicy" target="_blank" rel="nofollow">
133
89
  Politica de Privacidad
@@ -142,9 +98,8 @@ const lauEcomTermnsClasses = computed(() => {
142
98
  </a>
143
99
  </div>
144
100
  <div class="core-font-body-reg-05-14px mobiles:dsEcom-text-center">
145
- <p v-if="isUpcInstance">Universidad Peruana de Ciencias Aplicadas</p>
146
- <p v-if="isCbtInstance">
147
- Instituto de Educacion Superior Privado Cibertec S.A.C
101
+ <p>
102
+ {{ institutionName }}
148
103
  </p>
149
104
  </div>
150
105
  </div>
@@ -165,11 +120,11 @@ const lauEcomTermnsClasses = computed(() => {
165
120
  }
166
121
 
167
122
  .lau-ecom-footer-logos--upc {
168
- @apply dsEcom-bg-upc-color-neutral-20;
123
+ @apply dsEcom-bg-neutral-20;
169
124
  }
170
125
 
171
126
  .lau-ecom-footer-logos--cbt {
172
- @apply dsEcom-bg-color-cbt-color-neutral-20;
127
+ @apply dsEcom-bg-neutral-20;
173
128
  }
174
129
 
175
130
  .lau-ecom-termns {
@@ -185,10 +140,6 @@ const lauEcomTermnsClasses = computed(() => {
185
140
  }
186
141
 
187
142
  .lau-ecom-termns--upc {
188
- @apply dsEcom-bg-upc-color-neutral-30;
189
- }
190
-
191
- .lau-ecom-termns--cbt {
192
- @apply dsEcom-bg-color-cbt-color-neutral-30;
143
+ @apply dsEcom-bg-neutral-30;
193
144
  }
194
145
  </style>
@@ -1,16 +1,12 @@
1
1
  <script setup lang="ts">
2
- import { computed } from "vue";
3
2
  import LauEcomSubFooterCategory from "./LauEcomSubFooterCategory.vue";
4
3
  import { Category } from "./types";
5
- import { LauEcomInstance } from "../../enums";
6
4
 
7
5
  interface Props {
8
- instance?: LauEcomInstance;
9
6
  categories?: Category[];
10
7
  }
11
8
 
12
- const props = withDefaults(defineProps<Props>(), {
13
- instance: LauEcomInstance.Upc,
9
+ withDefaults(defineProps<Props>(), {
14
10
  categories: () => {
15
11
  return [
16
12
  {
@@ -58,42 +54,20 @@ const props = withDefaults(defineProps<Props>(), {
58
54
  ];
59
55
  },
60
56
  });
61
-
62
- const isUpcInstance = computed(() => {
63
- return props.instance === LauEcomInstance.Upc;
64
- });
65
-
66
- const isCbtInstance = computed(() => {
67
- return props.instance === LauEcomInstance.Cibertec;
68
- });
69
-
70
- const lauEcomSubFooterClasses = computed(() => {
71
- return {
72
- "dsEcom-bg-upc-color-neutral-20": isUpcInstance.value,
73
- "dsEcom-bg-color-cbt-color-neutral-20": isCbtInstance.value,
74
- };
75
- });
76
-
77
- const subFooterLineClasses = computed(() => {
78
- return {
79
- "dsEcom-mx-[91px] dsEcom-h-[2px] mobiles:dsEcom-hidden": true,
80
- "dsEcom-bg-upc-color-neutral-50": isUpcInstance.value,
81
- "dsEcom-bg-color-cbt-color-neutral-50": isCbtInstance.value,
82
- };
83
- });
84
57
  </script>
85
58
 
86
59
  <template>
87
- <div :class="lauEcomSubFooterClasses">
60
+ <div class="dsEcom-bg-neutral-20">
88
61
  <div class="lau-ecom-sub-footer-wrapper">
89
62
  <LauEcomSubFooterCategory
90
63
  v-for="(category, index) in categories"
91
64
  :key="`sub-footer-category-${index + 1}`"
92
- :instance="instance"
93
65
  :category-data="category"
94
66
  />
95
67
  </div>
96
- <hr :class="subFooterLineClasses" />
68
+ <hr
69
+ class="dsEcom-mx-[91px] dsEcom-h-[2px] mobiles:dsEcom-hidden dsEcom-bg-neutral-50"
70
+ />
97
71
  </div>
98
72
  </template>
99
73