lau-ecom-design-system 1.0.0 → 1.0.2

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 (45) hide show
  1. package/dist/lau-ecom-design-system.esm.js +2472 -980
  2. package/dist/lau-ecom-design-system.min.js +1 -1
  3. package/dist/lau-ecom-design-system.ssr.js +1768 -408
  4. package/dist/style.css +405 -27
  5. package/package.json +1 -1
  6. package/src/assets/Rambla/Rambla.otf +0 -0
  7. package/src/components/LauEcomBannerCookies/LauEcomBannerCookies.vue +105 -106
  8. package/src/components/LauEcomBannerCookies/LauEcomBannerCookiesConfig.vue +191 -159
  9. package/src/components/LauEcomBannerCookies/LauEcomBannerCookiesConfigAccordion.vue +80 -66
  10. package/src/components/LauEcomButton/LauEcomButton.vue +192 -160
  11. package/src/components/LauEcomCheckbox/LauEcomCheckbox.vue +18 -3
  12. package/src/components/LauEcomDisclamer/LauEcomDisclamer.vue +82 -0
  13. package/src/components/LauEcomFooter/LauEcomFooter.vue +194 -0
  14. package/src/components/LauEcomFooter/LauEcomSubFooter.vue +113 -0
  15. package/src/components/LauEcomFooter/LauEcomSubFooterCategory.vue +127 -0
  16. package/src/components/LauEcomIcon/LauEcomCbtIconChart.vue +53 -0
  17. package/src/components/LauEcomIcon/LauEcomCbtIconGirlReading.vue +31 -0
  18. package/src/components/LauEcomIcon/LauEcomCbtIconWorldwide.vue +29 -0
  19. package/src/components/LauEcomIcon/LauEcomCbtLogoCbtVer.vue +29 -0
  20. package/src/components/LauEcomIcon/LauEcomCbtLogoLaureate.vue +110 -0
  21. package/src/components/LauEcomIcon/LauEcomCbtLogoUpcWhite.vue +33 -0
  22. package/src/components/LauEcomIcon/LauEcomCoreIconBook.vue +29 -0
  23. package/src/components/LauEcomIcon/LauEcomCoreIconFileCode.vue +31 -0
  24. package/src/components/LauEcomIcon/LauEcomCoreIconNavClose.vue +29 -29
  25. package/src/components/LauEcomIcon/LauEcomLogoWasc.vue +456 -0
  26. package/src/components/LauEcomIcon/LauEcomUpcIconCertificate.vue +31 -0
  27. package/src/components/LauEcomIcon/LauEcomUpcIconCheckCircle.vue +31 -0
  28. package/src/components/LauEcomIcon/LauEcomUpcIconCreditCard.vue +31 -0
  29. package/src/components/LauEcomIcon/LauEcomUpcIconExclamationCircle.vue +31 -0
  30. package/src/components/LauEcomIcon/LauEcomUpcIconGlobe.vue +29 -0
  31. package/src/components/LauEcomIcon/LauEcomUpcIconInfoCircle.vue +29 -0
  32. package/src/components/LauEcomIcon/LauEcomUpcIconInnova.vue +122 -0
  33. package/src/components/LauEcomIcon/LauEcomUpcIconVirtualClass.vue +39 -0
  34. package/src/components/LauEcomInput/LauEcomInput.vue +6 -6
  35. package/src/components/LauEcomRadioButton/LauEcomRadioButton.vue +36 -8
  36. package/src/components/LauEcomRtb/LauEcomRtb.vue +92 -0
  37. package/src/components/LauEcomStepbar/LauEcomStepbar.vue +4 -0
  38. package/src/components/LauEcomStepbar/LauEcomStepbarItem.vue +50 -7
  39. package/src/components/LauEcomSwitch/LauEcomSwitch.vue +113 -94
  40. package/src/components/LauEcomTab/LauEcomTab.vue +113 -0
  41. package/src/components/LauEcomTextButton/LauEcomTextButton.vue +139 -0
  42. package/src/enums/index.ts +3 -2
  43. package/src/enums/instance.ts +5 -5
  44. package/src/enums/size.ts +1 -1
  45. package/src/enums/state.ts +6 -0
@@ -1,66 +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 { CookieItem } from "./types";
6
-
7
- interface Props {
8
- cookieItem: CookieItem;
9
- }
10
-
11
- withDefaults(defineProps<Props>(), {
12
- cookieItem: () => {
13
- return {
14
- title: "Cookie",
15
- text: "lorem ipsum dolor sit amet, consectetur",
16
- };
17
- },
18
- });
19
-
20
- const isOpen = ref(false);
21
- const isChecked = defineModel<boolean>();
22
-
23
- const handleClickAccordion = () => {
24
- isOpen.value = !isOpen.value;
25
- };
26
-
27
- const iconClass = computed(() => {
28
- return isOpen.value ? "dsEcom-rotate-0" : "dsEcom-rotate-180";
29
- });
30
- </script>
31
-
32
- <template>
33
- <div class="dsEcom-mb-4">
34
- <div class="lau-ecom-config-accordion-head">
35
- <div
36
- class="dsEcom-flex dsEcom-items-center dsEcom-gap-2"
37
- @click="handleClickAccordion"
38
- >
39
- <span :class="iconClass"><LauEcomUpcIconNavArrow /></span>
40
- <p class="upc-font-subtitle-03-20px">
41
- {{ cookieItem.title }}
42
- </p>
43
- </div>
44
- <LauEcomSwitch v-model="isChecked" />
45
- </div>
46
- <div v-show="isOpen" class="lau-ecom-config-accordion-content">
47
- <p class="core-font-body-reg-05-14px">
48
- {{ cookieItem.text }}
49
- </p>
50
- </div>
51
- </div>
52
- </template>
53
-
54
- <style scoped>
55
- .lau-ecom-config-accordion-head {
56
- @apply dsEcom-flex
57
- dsEcom-justify-between
58
- dsEcom-pb-4
59
- dsEcom-border-b-2;
60
- }
61
-
62
- .lau-ecom-config-accordion-content {
63
- @apply dsEcom-py-2
64
- dsEcom-px-8;
65
- }
66
- </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 { CookieItem } from "./types";
6
+ import { LauEcomInstance } from "../../enums";
7
+
8
+ interface Props {
9
+ instance: LauEcomInstance;
10
+ cookieItem: CookieItem;
11
+ }
12
+
13
+ const props = withDefaults(defineProps<Props>(), {
14
+ instance: LauEcomInstance.Upc,
15
+ cookieItem: () => {
16
+ return {
17
+ title: "Cookie",
18
+ text: "lorem ipsum dolor sit amet, consectetur",
19
+ };
20
+ },
21
+ });
22
+
23
+ const isOpen = ref(false);
24
+ const isChecked = defineModel<boolean>();
25
+
26
+ const handleClickAccordion = () => {
27
+ isOpen.value = !isOpen.value;
28
+ };
29
+
30
+ const iconClass = computed(() => {
31
+ return isOpen.value ? "dsEcom-rotate-0" : "dsEcom-rotate-180";
32
+ });
33
+
34
+ const titleClasses = computed(() => {
35
+ return {
36
+ "upc-font-subtitle-03-20px": props.instance === LauEcomInstance.Upc,
37
+ "cbt-font-subtitle-03-20px": props.instance === LauEcomInstance.Cibertec,
38
+ };
39
+ });
40
+ </script>
41
+
42
+ <template>
43
+ <div class="dsEcom-mb-4">
44
+ <div class="lau-ecom-config-accordion-head">
45
+ <div
46
+ class="dsEcom-flex dsEcom-items-center dsEcom-gap-2"
47
+ @click="handleClickAccordion"
48
+ >
49
+ <span :class="iconClass"><LauEcomUpcIconNavArrow /></span>
50
+ <p :class="titleClasses">
51
+ {{ cookieItem.title }}
52
+ </p>
53
+ </div>
54
+ <LauEcomSwitch
55
+ v-model="isChecked"
56
+ :instance="instance"
57
+ :isDisabled="cookieItem.isDisabled"
58
+ />
59
+ </div>
60
+ <div v-show="isOpen" class="lau-ecom-config-accordion-content">
61
+ <p class="core-font-body-reg-05-14px">
62
+ {{ cookieItem.text }}
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>
@@ -1,160 +1,192 @@
1
- <script lang="ts" setup>
2
- import { computed, ref } from "vue";
3
- import { LauEcomUpcIconNavArrow } from "../LauEcomIcon";
4
- import { Colors } from "../../utils";
5
- import { LauEcomButtonSize, LauEcomButtonType } from "./types";
6
- import { LauEcomInstance } from "../../enums";
7
-
8
- const props = withDefaults(
9
- defineProps<{
10
- instance?: LauEcomInstance;
11
- type?: LauEcomButtonType;
12
- size?: LauEcomButtonSize;
13
- isDisabled?: boolean;
14
- hasArrow?: boolean;
15
- }>(),
16
- {
17
- instance: LauEcomInstance.Upc,
18
- text: "Button Text",
19
- type: LauEcomButtonType.Primary,
20
- size: LauEcomButtonSize.Large,
21
- isDisabled: false,
22
- hasArrow: false,
23
- },
24
- );
25
-
26
- const emit = defineEmits(["onClick"]);
27
-
28
- const isMouseOver = ref(false);
29
-
30
- const lauEcomButtonClasses = computed(() => {
31
- return {
32
- "lau-ecom-button": true,
33
- "lau-ecom-button-upc": props.instance === LauEcomInstance.Upc,
34
- "lau-ecom-button-upc--secondary":
35
- props.instance === LauEcomInstance.Upc &&
36
- props.type === LauEcomButtonType.Secondary,
37
- "lau-ecom-button-upc--large":
38
- props.instance === LauEcomInstance.Upc &&
39
- props.size === LauEcomButtonSize.Large,
40
- "lau-ecom-button-upc--medium":
41
- props.instance === LauEcomInstance.Upc &&
42
- props.size === LauEcomButtonSize.Medium,
43
- "lau-ecom-button-upc--disabled":
44
- props.instance === "UPC" &&
45
- props.type === LauEcomButtonType.Primary &&
46
- props.isDisabled,
47
- "lau-ecom-button-upc--secondary-disabled":
48
- props.instance === LauEcomInstance.Upc &&
49
- props.type === LauEcomButtonType.Secondary &&
50
- props.isDisabled,
51
- };
52
- });
53
-
54
- const getIconColor = computed(() => {
55
- if (props.instance === "UPC") {
56
- switch (props.type) {
57
- case LauEcomButtonType.Primary:
58
- return Colors["upc-color-neutral-10"];
59
-
60
- case LauEcomButtonType.Secondary:
61
- if (props.isDisabled) {
62
- return Colors["upc-color-neutral-70"];
63
- }
64
- return isMouseOver.value
65
- ? Colors["upc-color-red-80"]
66
- : Colors["upc-color-red-60-base"];
67
-
68
- default:
69
- return "";
70
- }
71
- }
72
- return "";
73
- });
74
-
75
- const handleClick = () => {
76
- emit("onClick");
77
- };
78
-
79
- const handleMouseOver = () => {
80
- isMouseOver.value = true;
81
- };
82
-
83
- const handleMouseOut = () => {
84
- isMouseOver.value = false;
85
- };
86
- </script>
87
-
88
- <template>
89
- <button
90
- class="upc-font-button-bold-16px"
91
- :class="lauEcomButtonClasses"
92
- :disabled="isDisabled"
93
- @mouseover="handleMouseOver"
94
- @mouseout="handleMouseOut"
95
- @click="handleClick"
96
- >
97
- <LauEcomUpcIconNavArrow v-if="hasArrow" :color="getIconColor" />
98
- <slot></slot>
99
- </button>
100
- </template>
101
-
102
- <style scoped>
103
- .lau-ecom-button {
104
- @apply dsEcom-text-upc-color-neutral-10 dsEcom-flex dsEcom-items-center dsEcom-justify-center dsEcom-gap-2;
105
- }
106
-
107
- .lau-ecom-button-upc {
108
- @apply dsEcom-bg-upc-color-red-60-base
109
- dsEcom-rounded-core-border-radius-32px
110
- dsEcom-border-[1px]
111
- dsEcom-border-upc-color-red-60-base
112
- dsEcom-text-center
113
- dsEcom-py-[14px]
114
- dsEcom-px-[16px]
115
- hover:dsEcom-bg-upc-color-red-80
116
- hover:dsEcom-border-upc-color-red-80
117
- active:dsEcom-bg-upc-color-red-80
118
- active:dsEcom-border-upc-color-red-80;
119
- }
120
-
121
- .lau-ecom-button-upc--large {
122
- @apply dsEcom-w-auto
123
- dsEcom-h-[48px];
124
- }
125
-
126
- .lau-ecom-button-upc--medium {
127
- @apply dsEcom-w-auto
128
- dsEcom-h-[44px];
129
- }
130
-
131
- .lau-ecom-button-upc--disabled {
132
- @apply dsEcom-border-upc-color-neutral-70
133
- dsEcom-bg-upc-color-neutral-70
134
- hover:dsEcom-bg-upc-color-neutral-70
135
- hover:dsEcom-border-upc-color-neutral-70
136
- active:dsEcom-bg-upc-color-neutral-70
137
- active:dsEcom-border-upc-color-neutral-70;
138
- }
139
-
140
- .lau-ecom-button-upc--secondary {
141
- @apply dsEcom-bg-upc-color-neutral-10
142
- dsEcom-border-upc-color-red-60-base
143
- dsEcom-text-upc-color-red-60-base
144
- hover:dsEcom-text-upc-color-red-80
145
- hover:dsEcom-border-upc-color-red-80
146
- hover:dsEcom-bg-upc-color-neutral-10
147
- active:dsEcom-text-upc-color-red-80
148
- active:dsEcom-border-upc-color-red-80
149
- active:dsEcom-bg-upc-color-neutral-10;
150
- }
151
-
152
- .lau-ecom-button-upc--secondary-disabled {
153
- @apply dsEcom-border-upc-color-neutral-70
154
- dsEcom-text-upc-color-neutral-70
155
- hover:dsEcom-border-upc-color-neutral-70
156
- hover:dsEcom-text-upc-color-neutral-70
157
- active:dsEcom-border-upc-color-neutral-70
158
- active:dsEcom-text-upc-color-neutral-70;
159
- }
160
- </style>
1
+ <script lang="ts" setup>
2
+ import { computed, ref } from "vue";
3
+ import { LauEcomUpcIconNavArrow } from "../LauEcomIcon";
4
+ import { Colors } from "../../utils";
5
+ import { LauEcomButtonType } from "./types";
6
+ import { LauEcomInstance, LauEcomSize } from "../../enums";
7
+
8
+ const props = withDefaults(
9
+ defineProps<{
10
+ instance?: LauEcomInstance;
11
+ type?: LauEcomButtonType;
12
+ size?: LauEcomSize;
13
+ isDisabled?: boolean;
14
+ hasArrow?: boolean;
15
+ }>(),
16
+ {
17
+ instance: LauEcomInstance.Upc,
18
+ text: "Button Text",
19
+ type: LauEcomButtonType.Primary,
20
+ size: LauEcomSize.lg,
21
+ isDisabled: false,
22
+ hasArrow: false,
23
+ },
24
+ );
25
+
26
+ const emit = defineEmits(["onClick"]);
27
+
28
+ const isMouseOver = ref(false);
29
+
30
+ const lauEcomButtonClasses = computed(() => {
31
+ return {
32
+ "lau-ecom-button": true,
33
+ "lau-ecom-button--upc upc-font-button-16px":
34
+ props.instance === LauEcomInstance.Upc,
35
+ "lau-ecom-button--cbt cbt-font-button-16px":
36
+ props.instance === LauEcomInstance.Cibertec,
37
+ "lau-ecom-button--secondary": props.type === LauEcomButtonType.Secondary,
38
+ "lau-ecom-button--secondary-upc":
39
+ props.instance === LauEcomInstance.Upc &&
40
+ props.type === LauEcomButtonType.Secondary,
41
+ "lau-ecom-button--secondary-upc-disabled":
42
+ props.instance === LauEcomInstance.Upc &&
43
+ props.type === LauEcomButtonType.Secondary &&
44
+ props.isDisabled,
45
+ "lau-ecom-button--secondary-cbt":
46
+ props.instance === LauEcomInstance.Cibertec &&
47
+ props.type === LauEcomButtonType.Secondary,
48
+ "lau-ecom-button--secondary-cbt-disabled":
49
+ props.instance === LauEcomInstance.Cibertec &&
50
+ props.type === LauEcomButtonType.Secondary &&
51
+ props.isDisabled,
52
+ "lau-ecom-button--large": props.size === LauEcomSize.lg,
53
+ "lau-ecom-button--medium": props.size === LauEcomSize.md,
54
+ "lau-ecom-button--disabled":
55
+ props.type === LauEcomButtonType.Primary && props.isDisabled,
56
+ };
57
+ });
58
+
59
+ const getIconColor = computed(() => {
60
+ if (props.instance === "UPC") {
61
+ switch (props.type) {
62
+ case LauEcomButtonType.Primary:
63
+ return Colors["upc-color-neutral-10"];
64
+
65
+ case LauEcomButtonType.Secondary:
66
+ if (props.isDisabled) {
67
+ return Colors["upc-color-neutral-70"];
68
+ }
69
+ return isMouseOver.value
70
+ ? Colors["upc-color-red-80"]
71
+ : Colors["upc-color-red-60-base"];
72
+
73
+ default:
74
+ return "";
75
+ }
76
+ }
77
+ return "";
78
+ });
79
+
80
+ const handleClick = () => {
81
+ emit("onClick");
82
+ };
83
+
84
+ const handleMouseOver = () => {
85
+ isMouseOver.value = true;
86
+ };
87
+
88
+ const handleMouseOut = () => {
89
+ isMouseOver.value = false;
90
+ };
91
+ </script>
92
+
93
+ <template>
94
+ <button
95
+ :class="lauEcomButtonClasses"
96
+ :disabled="isDisabled"
97
+ @mouseover="handleMouseOver"
98
+ @mouseout="handleMouseOut"
99
+ @click="handleClick"
100
+ >
101
+ <LauEcomUpcIconNavArrow v-if="hasArrow" :color="getIconColor" />
102
+ <slot></slot>
103
+ </button>
104
+ </template>
105
+
106
+ <style scoped>
107
+ .lau-ecom-button {
108
+ @apply dsEcom-text-upc-color-neutral-10
109
+ dsEcom-flex
110
+ dsEcom-items-center
111
+ dsEcom-justify-center
112
+ dsEcom-gap-2
113
+ dsEcom-rounded-core-border-radius-32px
114
+ dsEcom-border-[1px]
115
+ dsEcom-text-center
116
+ dsEcom-py-[14px]
117
+ dsEcom-px-[16px];
118
+ }
119
+
120
+ .lau-ecom-button--upc {
121
+ @apply dsEcom-bg-upc-color-red-60-base
122
+ dsEcom-border-upc-color-red-60-base
123
+ hover:dsEcom-bg-upc-color-red-70
124
+ hover:dsEcom-border-upc-color-red-70
125
+ active:dsEcom-bg-upc-color-red-80
126
+ active:dsEcom-border-upc-color-red-80;
127
+ }
128
+
129
+ .lau-ecom-button--cbt {
130
+ @apply dsEcom-bg-cbt-color-apple-green-60-base
131
+ dsEcom-border-cbt-color-apple-green-60-base
132
+ hover:dsEcom-bg-cbt-color-apple-green-70
133
+ hover:dsEcom-border-cbt-color-apple-green-70
134
+ active:dsEcom-bg-cbt-color-apple-green-80
135
+ active:dsEcom-border-cbt-color-apple-green-80;
136
+ }
137
+
138
+ .lau-ecom-button--large {
139
+ @apply dsEcom-w-auto
140
+ dsEcom-h-[48px];
141
+ }
142
+
143
+ .lau-ecom-button--medium {
144
+ @apply dsEcom-w-auto
145
+ dsEcom-h-[44px];
146
+ }
147
+
148
+ .lau-ecom-button--disabled {
149
+ @apply dsEcom-border-upc-color-neutral-70
150
+ dsEcom-bg-upc-color-neutral-70
151
+ hover:dsEcom-bg-upc-color-neutral-70
152
+ hover:dsEcom-border-upc-color-neutral-70
153
+ active:dsEcom-bg-upc-color-neutral-70
154
+ active:dsEcom-border-upc-color-neutral-70;
155
+ }
156
+
157
+ .lau-ecom-button--secondary {
158
+ @apply dsEcom-bg-upc-color-neutral-10
159
+ hover:dsEcom-bg-upc-color-neutral-10
160
+ active:dsEcom-bg-upc-color-neutral-10;
161
+ }
162
+
163
+ .lau-ecom-button--secondary-upc {
164
+ @apply dsEcom-border-upc-color-red-60-base
165
+ dsEcom-text-upc-color-red-60-base
166
+ hover:dsEcom-text-upc-color-red-80
167
+ hover:dsEcom-border-upc-color-red-80
168
+ active:dsEcom-text-upc-color-red-80
169
+ active:dsEcom-border-upc-color-red-80;
170
+ }
171
+
172
+ .lau-ecom-button--secondary-cbt {
173
+ @apply dsEcom-bg-upc-color-neutral-10
174
+ dsEcom-border-cbt-color-apple-green-60-base
175
+ dsEcom-text-cbt-color-apple-green-60-base
176
+ hover:dsEcom-text-cbt-color-apple-green-70
177
+ hover:dsEcom-border-cbt-color-apple-green-70
178
+ hover:dsEcom-bg-upc-color-neutral-10
179
+ active:dsEcom-text-cbt-color-apple-green-80
180
+ active:dsEcom-border-cbt-color-apple-green-80
181
+ active:dsEcom-bg-upc-color-neutral-10;
182
+ }
183
+
184
+ .lau-ecom-button--secondary-upc-disabled {
185
+ @apply dsEcom-border-upc-color-neutral-70
186
+ dsEcom-text-upc-color-neutral-70
187
+ hover:dsEcom-border-upc-color-neutral-70
188
+ hover:dsEcom-text-upc-color-neutral-70
189
+ active:dsEcom-border-upc-color-neutral-70
190
+ active:dsEcom-text-upc-color-neutral-70;
191
+ }
192
+ </style>
@@ -1,8 +1,10 @@
1
1
  <script lang="ts" setup>
2
2
  import { computed, ref } from "vue";
3
3
  import { LauEcomUpcIconNavCheckmark } from "../LauEcomIcon";
4
+ import { LauEcomInstance } from "../../enums";
4
5
 
5
6
  interface Props {
7
+ instance?: LauEcomInstance;
6
8
  id?: string;
7
9
  label?: string;
8
10
  value?: string | number | boolean;
@@ -12,6 +14,7 @@ interface Props {
12
14
  }
13
15
 
14
16
  const props = withDefaults(defineProps<Props>(), {
17
+ instance: LauEcomInstance.Upc,
15
18
  id: "",
16
19
  label: "text label",
17
20
  value: "",
@@ -48,6 +51,8 @@ const handleChange = () => {
48
51
  const lauEcomCheckboxClasses = computed(() => {
49
52
  return {
50
53
  "lau-ecom-checkbox dsEcom-peer": true,
54
+ "lau-ecom-checkbox--upc": props.instance === LauEcomInstance.Upc,
55
+ "lau-ecom-checkbox--cib": props.instance === LauEcomInstance.Cibertec,
51
56
  "lau-ecom-checkbox--disabled": props.isDisabled,
52
57
  "dsEcom-cursor-pointer checked:!dsEcom-border-upc-color-red-60-base group-hover:dsEcom-border-upc-color-red-60-base":
53
58
  !props.isDisabled,
@@ -101,7 +106,7 @@ const textLabelClass = computed(() => {
101
106
  dsEcom-appearance-none
102
107
  dsEcom-border
103
108
  dsEcom-border-upc-color-neutral-90
104
- hover:dsEcom-border-upc-color-red-80
109
+
105
110
  dsEcom-transition
106
111
  dsEcom-duration-200
107
112
  after:dsEcom-absolute
@@ -109,11 +114,21 @@ const textLabelClass = computed(() => {
109
114
  after:dsEcom-top-0
110
115
  after:dsEcom-h-full
111
116
  after:dsEcom-w-full
112
- checked:dsEcom-bg-upc-color-red-60-base
113
- checked:!dsEcom-border-upc-color-red-60-base
114
117
  focus:dsEcom-outline-none;
115
118
  }
116
119
 
120
+ .lau-ecom-checkbox--upc {
121
+ @apply hover:dsEcom-border-upc-color-red-80
122
+ checked:dsEcom-bg-upc-color-red-60-base
123
+ checked:!dsEcom-border-upc-color-red-60-base;
124
+ }
125
+
126
+ .lau-ecom-checkbox--cib {
127
+ @apply hover:dsEcom-border-cbt-color-apple-green-70
128
+ checked:dsEcom-bg-cbt-color-apple-green-60-base
129
+ checked:!dsEcom-border-cbt-color-apple-green-60-base;
130
+ }
131
+
117
132
  .lau-ecom-checkbox--disabled {
118
133
  @apply !dsEcom-border-upc-color-neutral-60
119
134
  checked:!dsEcom-border-upc-color-neutral-60
@@ -0,0 +1,82 @@
1
+ <script lang="ts" setup>
2
+ import { computed } from "vue";
3
+ import { LauEcomInstance, LauEcomState } from "../../enums";
4
+ import {
5
+ LauEcomUpcIconCheckCircle,
6
+ LauEcomUpcIconExclamationCircle,
7
+ LauEcomUpcIconExclamationTriangle,
8
+ LauEcomUpcIconInfoCircle,
9
+ } from "../LauEcomIcon";
10
+ import { Colors } from "../../utils";
11
+
12
+ interface Props {
13
+ instance?: LauEcomInstance;
14
+ state?: LauEcomState;
15
+ }
16
+
17
+ const props = withDefaults(defineProps<Props>(), {
18
+ instance: LauEcomInstance.Upc,
19
+ state: LauEcomState.success,
20
+ });
21
+
22
+ const lauEcomDisclamerClasses = computed(() => {
23
+ return {
24
+ "lau-ecom-disclamer upc-font-body-reg-05-14px": true,
25
+ "lau-ecom-disclamer--success": props.state === LauEcomState.success,
26
+ "lau-ecom-disclamer--warning": props.state === LauEcomState.warning,
27
+ "lau-ecom-disclamer--error": props.state === LauEcomState.error,
28
+ "lau-ecom-disclamer--information": props.state === LauEcomState.information,
29
+ };
30
+ });
31
+ </script>
32
+
33
+ <template>
34
+ <div :class="lauEcomDisclamerClasses">
35
+ <span>
36
+ <LauEcomUpcIconCheckCircle
37
+ v-if="state === LauEcomState.success"
38
+ :color="Colors['core-color-green-60-base']"
39
+ />
40
+ <LauEcomUpcIconExclamationTriangle
41
+ v-if="state === LauEcomState.warning"
42
+ :color="Colors['core-icon-critical-60']"
43
+ />
44
+ <LauEcomUpcIconExclamationCircle
45
+ v-if="state === LauEcomState.error"
46
+ :color="Colors['core-color-redibbon-60-base']"
47
+ />
48
+ <LauEcomUpcIconInfoCircle
49
+ v-if="state === LauEcomState.information"
50
+ :color="Colors['core-color-blue-intense-60-base']"
51
+ />
52
+ </span>
53
+ <p>
54
+ ¡Qué buena elección! Inscríbete pero antes escoge la fecha de inicio y el
55
+ horario
56
+ </p>
57
+ </div>
58
+ </template>
59
+
60
+ <style scoped>
61
+ .lau-ecom-disclamer {
62
+ @apply dsEcom-text-upc-color-neutral-100
63
+ dsEcom-p-4
64
+ dsEcom-flex
65
+ dsEcom-gap-3
66
+ dsEcom-w-fit
67
+ dsEcom-rounded-[2px];
68
+ }
69
+
70
+ .lau-ecom-disclamer--success {
71
+ @apply dsEcom-bg-core-color-green-30;
72
+ }
73
+ .lau-ecom-disclamer--warning {
74
+ @apply dsEcom-bg-core-feedback-critical-30;
75
+ }
76
+ .lau-ecom-disclamer--error {
77
+ @apply dsEcom-bg-core-color-redibbon-30;
78
+ }
79
+ .lau-ecom-disclamer--information {
80
+ @apply dsEcom-bg-core-color-blue-intense-30;
81
+ }
82
+ </style>