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,143 +1,143 @@
1
- <script lang="ts" setup>
2
- import { computed, ref } from "vue";
3
- import { LauEcomUpcIconNavCheckmark } from "../LauEcomIcon";
4
-
5
- interface Props {
6
- id?: string;
7
- label?: string;
8
- value?: string | number | boolean;
9
- modelValue?: string | number | boolean | [];
10
- isRequired?: boolean;
11
- isDisabled?: boolean;
12
- }
13
-
14
- const props = withDefaults(defineProps<Props>(), {
15
- id: "",
16
- label: "text label",
17
- value: "",
18
- modelValue: () => false,
19
- isRequired: false,
20
- isDisabled: false,
21
- });
22
-
23
- const emit = defineEmits<{
24
- "update:modelValue": [value: string | number | boolean];
25
- }>();
26
-
27
- const isChecked = ref(
28
- typeof props.modelValue === "boolean"
29
- ? props.modelValue
30
- : //@ts-ignore
31
- props.modelValue.includes(props.value),
32
- );
33
-
34
- const handleChange = () => {
35
- if (typeof props.modelValue !== "boolean") {
36
- isChecked.value = !isChecked.value;
37
- //@ts-ignore
38
- const newValue = isChecked.value
39
- ? [...props.modelValue, props.value]
40
- : props.modelValue.filter((val) => val !== props.value);
41
- emit("update:modelValue", newValue);
42
- } else {
43
- isChecked.value = !isChecked.value;
44
- emit("update:modelValue", isChecked.value);
45
- }
46
- };
47
-
48
- const lauEcomCheckboxClasses = computed(() => {
49
- return {
50
- "lau-ecom-checkbox dsEcom-peer lau-ecom-checkbox--upc": true,
51
- "lau-ecom-checkbox--disabled": props.isDisabled,
52
- "lau-ecom-checkbox--checked": !props.isDisabled,
53
- "!dsEcom-border-upc-primary-60": props.isRequired && !props.isDisabled,
54
- };
55
- });
56
-
57
- const textLabelClass = computed(() => {
58
- if (props.isDisabled) return "!dsEcom-text-neutral-70";
59
- return "";
60
- });
61
- </script>
62
-
63
- <template>
64
- <div class="dsEcom-flex">
65
- <label class="lau-ecom-label group upc-font-body-reg-05-14px">
66
- <input
67
- :class="lauEcomCheckboxClasses"
68
- type="checkbox"
69
- :required="isRequired"
70
- :disabled="isDisabled"
71
- :checked="isChecked"
72
- @change="handleChange"
73
- />
74
- <LauEcomUpcIconNavCheckmark
75
- class="icon-checkmark"
76
- width="16"
77
- height="16"
78
- />
79
- <span
80
- v-if="!$slots.default"
81
- class="upc-font-link-03-14px"
82
- :class="textLabelClass"
83
- >{{ label }}</span
84
- >
85
- </label>
86
- <div :class="textLabelClass">
87
- <slot :text="`upc-font-link-03-14px ${textLabelClass}`" />
88
- </div>
89
- </div>
90
- </template>
91
-
92
- <style scoped>
93
- .lau-ecom-checkbox {
94
- @apply dsEcom-w-5
95
- dsEcom-h-5
96
- dsEcom-mr-2
97
- dsEcom-rounded
98
- dsEcom-appearance-none
99
- dsEcom-border
100
- dsEcom-border-neutral-90
101
- dsEcom-transition
102
- dsEcom-duration-200
103
- after:dsEcom-absolute
104
- after:dsEcom-left-0
105
- after:dsEcom-top-0
106
- after:dsEcom-h-full
107
- after:dsEcom-w-full
108
- focus:dsEcom-outline-none;
109
- }
110
-
111
- .lau-ecom-checkbox--upc {
112
- @apply hover:dsEcom-border-primary-80
113
- checked:dsEcom-bg-primary-60
114
- checked:!dsEcom-border-primary-60;
115
- }
116
-
117
- .lau-ecom-checkbox--checked {
118
- @apply dsEcom-cursor-pointer
119
- checked:!dsEcom-border-primary-60
120
- group-hover:dsEcom-border-primary-60;
121
- }
122
-
123
- .lau-ecom-checkbox--disabled {
124
- @apply !dsEcom-border-neutral-60
125
- checked:!dsEcom-border-neutral-60
126
- checked:!dsEcom-bg-neutral-60;
127
- }
128
-
129
- .lau-ecom-label {
130
- @apply dsEcom-flex
131
- dsEcom-items-center
132
- dsEcom-text-neutral-90
133
- dsEcom-relative;
134
- }
135
-
136
- .icon-checkmark {
137
- @apply dsEcom-absolute
138
- dsEcom-left-[2px]
139
- dsEcom-hidden
140
- dsEcom-fill-white
141
- peer-checked:!dsEcom-block;
142
- }
143
- </style>
1
+ <script lang="ts" setup>
2
+ import { computed, ref } from "vue";
3
+ import { LauEcomUpcIconNavCheckmark } from "../LauEcomIcon";
4
+
5
+ interface Props {
6
+ id?: string;
7
+ label?: string;
8
+ value?: string | number | boolean;
9
+ modelValue?: string | number | boolean | [];
10
+ isRequired?: boolean;
11
+ isDisabled?: boolean;
12
+ }
13
+
14
+ const props = withDefaults(defineProps<Props>(), {
15
+ id: "",
16
+ label: "text label",
17
+ value: "",
18
+ modelValue: () => false,
19
+ isRequired: false,
20
+ isDisabled: false,
21
+ });
22
+
23
+ const emit = defineEmits<{
24
+ "update:modelValue": [value: string | number | boolean];
25
+ }>();
26
+
27
+ const isChecked = ref(
28
+ typeof props.modelValue === "boolean"
29
+ ? props.modelValue
30
+ : //@ts-ignore
31
+ props.modelValue.includes(props.value),
32
+ );
33
+
34
+ const handleChange = () => {
35
+ if (typeof props.modelValue !== "boolean") {
36
+ isChecked.value = !isChecked.value;
37
+ //@ts-ignore
38
+ const newValue = isChecked.value
39
+ ? [...props.modelValue, props.value]
40
+ : props.modelValue.filter((val) => val !== props.value);
41
+ emit("update:modelValue", newValue);
42
+ } else {
43
+ isChecked.value = !isChecked.value;
44
+ emit("update:modelValue", isChecked.value);
45
+ }
46
+ };
47
+
48
+ const lauEcomCheckboxClasses = computed(() => {
49
+ return {
50
+ "lau-ecom-checkbox dsEcom-peer lau-ecom-checkbox--upc": true,
51
+ "lau-ecom-checkbox--disabled": props.isDisabled,
52
+ "lau-ecom-checkbox--checked": !props.isDisabled,
53
+ "!dsEcom-border-upc-primary-60": props.isRequired && !props.isDisabled,
54
+ };
55
+ });
56
+
57
+ const textLabelClass = computed(() => {
58
+ if (props.isDisabled) return "!dsEcom-text-neutral-70";
59
+ return "";
60
+ });
61
+ </script>
62
+
63
+ <template>
64
+ <div class="dsEcom-flex">
65
+ <label class="lau-ecom-label group upc-font-body-reg-05-14px">
66
+ <input
67
+ :class="lauEcomCheckboxClasses"
68
+ type="checkbox"
69
+ :required="isRequired"
70
+ :disabled="isDisabled"
71
+ :checked="isChecked"
72
+ @change="handleChange"
73
+ />
74
+ <LauEcomUpcIconNavCheckmark
75
+ class="icon-checkmark"
76
+ width="16"
77
+ height="16"
78
+ />
79
+ <span
80
+ v-if="!$slots.default"
81
+ class="upc-font-link-03-14px"
82
+ :class="textLabelClass"
83
+ >{{ label }}</span
84
+ >
85
+ </label>
86
+ <div :class="textLabelClass">
87
+ <slot :text="`upc-font-link-03-14px ${textLabelClass}`" />
88
+ </div>
89
+ </div>
90
+ </template>
91
+
92
+ <style scoped>
93
+ .lau-ecom-checkbox {
94
+ @apply dsEcom-w-5
95
+ dsEcom-h-5
96
+ dsEcom-mr-2
97
+ dsEcom-rounded
98
+ dsEcom-appearance-none
99
+ dsEcom-border
100
+ dsEcom-border-neutral-90
101
+ dsEcom-transition
102
+ dsEcom-duration-200
103
+ after:dsEcom-absolute
104
+ after:dsEcom-left-0
105
+ after:dsEcom-top-0
106
+ after:dsEcom-h-full
107
+ after:dsEcom-w-full
108
+ focus:dsEcom-outline-none;
109
+ }
110
+
111
+ .lau-ecom-checkbox--upc {
112
+ @apply hover:dsEcom-border-primary-80
113
+ checked:dsEcom-bg-primary-60
114
+ checked:!dsEcom-border-primary-60;
115
+ }
116
+
117
+ .lau-ecom-checkbox--checked {
118
+ @apply dsEcom-cursor-pointer
119
+ checked:!dsEcom-border-primary-60
120
+ group-hover:dsEcom-border-primary-60;
121
+ }
122
+
123
+ .lau-ecom-checkbox--disabled {
124
+ @apply !dsEcom-border-neutral-60
125
+ checked:!dsEcom-border-neutral-60
126
+ checked:!dsEcom-bg-neutral-60;
127
+ }
128
+
129
+ .lau-ecom-label {
130
+ @apply dsEcom-flex
131
+ dsEcom-items-center
132
+ dsEcom-text-neutral-90
133
+ dsEcom-relative;
134
+ }
135
+
136
+ .icon-checkmark {
137
+ @apply dsEcom-absolute
138
+ dsEcom-left-[2px]
139
+ dsEcom-hidden
140
+ dsEcom-fill-white
141
+ peer-checked:!dsEcom-block;
142
+ }
143
+ </style>
@@ -1,79 +1,79 @@
1
- <script lang="ts" setup>
2
- import { computed } from "vue";
3
- import { LauEcomState } from "../../enums";
4
- import {
5
- LauEcomUpcIconCheckCircle,
6
- LauEcomUpcIconExclamationCircle,
7
- LauEcomUpcIconExclamationTriangle,
8
- LauEcomUpcIconInfoCircle,
9
- } from "../LauEcomIcon";
10
-
11
- interface Props {
12
- state?: LauEcomState;
13
- }
14
-
15
- const props = withDefaults(defineProps<Props>(), {
16
- state: LauEcomState.success,
17
- });
18
-
19
- const lauEcomDisclamerClasses = computed(() => {
20
- return {
21
- "lau-ecom-disclamer upc-font-body-reg-05-14px": true,
22
- "lau-ecom-disclamer--success": props.state === LauEcomState.success,
23
- "lau-ecom-disclamer--warning": props.state === LauEcomState.warning,
24
- "lau-ecom-disclamer--error": props.state === LauEcomState.error,
25
- "lau-ecom-disclamer--information": props.state === LauEcomState.information,
26
- };
27
- });
28
- </script>
29
-
30
- <template>
31
- <div :class="lauEcomDisclamerClasses">
32
- <span>
33
- <LauEcomUpcIconCheckCircle
34
- v-if="state === LauEcomState.success"
35
- class="dsEcom-fill-feedback-success-60"
36
- />
37
- <LauEcomUpcIconExclamationTriangle
38
- v-if="state === LauEcomState.warning"
39
- class="dsEcom-fill-feedback-critical-60"
40
- />
41
- <LauEcomUpcIconExclamationCircle
42
- v-if="state === LauEcomState.error"
43
- class="dsEcom-fill-feedback-error-60"
44
- />
45
- <LauEcomUpcIconInfoCircle
46
- v-if="state === LauEcomState.information"
47
- class="dsEcom-fill-feedback-informative-60"
48
- />
49
- </span>
50
- <p>
51
- ¡Qué buena elección! Inscríbete pero antes escoge la fecha de inicio y el
52
- horario
53
- </p>
54
- </div>
55
- </template>
56
-
57
- <style scoped>
58
- .lau-ecom-disclamer {
59
- @apply dsEcom-text-neutral-100
60
- dsEcom-p-4
61
- dsEcom-flex
62
- dsEcom-gap-3
63
- dsEcom-w-fit
64
- dsEcom-rounded-[2px];
65
- }
66
-
67
- .lau-ecom-disclamer--success {
68
- @apply dsEcom-bg-feedback-success-30;
69
- }
70
- .lau-ecom-disclamer--warning {
71
- @apply dsEcom-bg-feedback-critical-30;
72
- }
73
- .lau-ecom-disclamer--error {
74
- @apply dsEcom-bg-feedback-error-30;
75
- }
76
- .lau-ecom-disclamer--information {
77
- @apply dsEcom-bg-feedback-informative-30;
78
- }
79
- </style>
1
+ <script lang="ts" setup>
2
+ import { computed } from "vue";
3
+ import { LauEcomState } from "../../enums";
4
+ import {
5
+ LauEcomUpcIconCheckCircle,
6
+ LauEcomUpcIconExclamationCircle,
7
+ LauEcomUpcIconExclamationTriangle,
8
+ LauEcomUpcIconInfoCircle,
9
+ } from "../LauEcomIcon";
10
+
11
+ interface Props {
12
+ state?: LauEcomState;
13
+ }
14
+
15
+ const props = withDefaults(defineProps<Props>(), {
16
+ state: LauEcomState.success,
17
+ });
18
+
19
+ const lauEcomDisclamerClasses = computed(() => {
20
+ return {
21
+ "lau-ecom-disclamer upc-font-body-reg-05-14px": true,
22
+ "lau-ecom-disclamer--success": props.state === LauEcomState.success,
23
+ "lau-ecom-disclamer--warning": props.state === LauEcomState.warning,
24
+ "lau-ecom-disclamer--error": props.state === LauEcomState.error,
25
+ "lau-ecom-disclamer--information": props.state === LauEcomState.information,
26
+ };
27
+ });
28
+ </script>
29
+
30
+ <template>
31
+ <div :class="lauEcomDisclamerClasses">
32
+ <span>
33
+ <LauEcomUpcIconCheckCircle
34
+ v-if="state === LauEcomState.success"
35
+ class="dsEcom-fill-feedback-success-60"
36
+ />
37
+ <LauEcomUpcIconExclamationTriangle
38
+ v-if="state === LauEcomState.warning"
39
+ class="dsEcom-fill-feedback-critical-60"
40
+ />
41
+ <LauEcomUpcIconExclamationCircle
42
+ v-if="state === LauEcomState.error"
43
+ class="dsEcom-fill-feedback-error-60"
44
+ />
45
+ <LauEcomUpcIconInfoCircle
46
+ v-if="state === LauEcomState.information"
47
+ class="dsEcom-fill-feedback-informative-60"
48
+ />
49
+ </span>
50
+ <p>
51
+ ¡Qué buena elección! Inscríbete pero antes escoge la fecha de inicio y el
52
+ horario
53
+ </p>
54
+ </div>
55
+ </template>
56
+
57
+ <style scoped>
58
+ .lau-ecom-disclamer {
59
+ @apply dsEcom-text-neutral-100
60
+ dsEcom-p-4
61
+ dsEcom-flex
62
+ dsEcom-gap-3
63
+ dsEcom-w-fit
64
+ dsEcom-rounded-[2px];
65
+ }
66
+
67
+ .lau-ecom-disclamer--success {
68
+ @apply dsEcom-bg-feedback-success-30;
69
+ }
70
+ .lau-ecom-disclamer--warning {
71
+ @apply dsEcom-bg-feedback-critical-30;
72
+ }
73
+ .lau-ecom-disclamer--error {
74
+ @apply dsEcom-bg-feedback-error-30;
75
+ }
76
+ .lau-ecom-disclamer--information {
77
+ @apply dsEcom-bg-feedback-informative-30;
78
+ }
79
+ </style>