lau-ecom-design-system 1.0.19 → 1.0.20

Sign up to get free protection for your applications and to get access to all the features.
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