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,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>