lau-ecom-design-system 1.0.17 → 1.0.18

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 (35) hide show
  1. package/dist/lau-ecom-design-system.esm.css +13 -1
  2. package/dist/lau-ecom-design-system.esm.js +1578 -258
  3. package/dist/lau-ecom-design-system.min.css +13 -1
  4. package/dist/lau-ecom-design-system.min.js +1 -1
  5. package/dist/lau-ecom-design-system.ssr.css +13 -1
  6. package/dist/lau-ecom-design-system.ssr.js +1492 -211
  7. package/dist/style.css +190 -19
  8. package/package.json +80 -80
  9. package/src/components/LauEcomBannerCookies/LauEcomBannerCookies.vue +8 -39
  10. package/src/components/LauEcomBannerCookies/LauEcomBannerCookiesConfig.vue +8 -46
  11. package/src/components/LauEcomBannerCookies/LauEcomBannerCookiesConfigAccordion.vue +2 -13
  12. package/src/components/LauEcomButton/LauEcomButton.vue +137 -150
  13. package/src/components/LauEcomCheckbox/LauEcomCheckbox.vue +143 -148
  14. package/src/components/LauEcomDisclamer/LauEcomDisclamer.vue +79 -82
  15. package/src/components/LauEcomDropdown/LauEcomDropdown.vue +203 -203
  16. package/src/components/LauEcomIcon/LauEcomCoreIconBook.vue +26 -29
  17. package/src/components/LauEcomIcon/LauEcomCoreIconFileCode.vue +28 -31
  18. package/src/components/LauEcomIcon/LauEcomUpcIconCertificate.vue +28 -31
  19. package/src/components/LauEcomIcon/LauEcomUpcIconCheck.vue +26 -29
  20. package/src/components/LauEcomIcon/LauEcomUpcIconCheckCircle.vue +28 -31
  21. package/src/components/LauEcomIcon/LauEcomUpcIconCreditCard.vue +28 -31
  22. package/src/components/LauEcomIcon/LauEcomUpcIconExclamationCircle.vue +28 -31
  23. package/src/components/LauEcomIcon/LauEcomUpcIconExclamationTriangle.vue +28 -31
  24. package/src/components/LauEcomIcon/LauEcomUpcIconInfoCircle.vue +26 -29
  25. package/src/components/LauEcomIcon/LauEcomUpcIconNavArrow.vue +26 -28
  26. package/src/components/LauEcomIcon/LauEcomUpcIconNavCheckmark.vue +26 -29
  27. package/src/components/LauEcomInput/LauEcomInput.vue +207 -208
  28. package/src/components/LauEcomLoaderPage/LauEcomLoaderPage.vue +2 -28
  29. package/src/components/LauEcomRadioButton/LauEcomRadioButton.vue +103 -115
  30. package/src/components/LauEcomRtb/LauEcomRtb.vue +71 -92
  31. package/src/components/LauEcomStepbar/LauEcomStepbar.vue +43 -49
  32. package/src/components/LauEcomStepbar/LauEcomStepbarItem.vue +128 -172
  33. package/src/components/LauEcomSwitch/LauEcomSwitch.vue +9 -20
  34. package/src/components/LauEcomTab/LauEcomTab.vue +82 -113
  35. package/src/components/LauEcomTextButton/LauEcomTextButton.vue +13 -75
@@ -1,172 +1,128 @@
1
- <script lang="ts" setup>
2
- import { computed, toRefs } from "vue";
3
- import { Step } from "./types";
4
- import { LauEcomUpcIconCheck } from "../LauEcomIcon";
5
- import { Colors } from "../../utils";
6
- import { LauEcomInstance } from "../../enums";
7
-
8
- interface Props {
9
- instance?: LauEcomInstance;
10
- step: Step;
11
- totalSteps: number;
12
- isCurrentStep: boolean;
13
- isCompleted: boolean;
14
- isLastItem: boolean;
15
- }
16
-
17
- const props = withDefaults(defineProps<Props>(), {
18
- instance: LauEcomInstance.Upc,
19
- step: () => ({
20
- numberStep: 1,
21
- label: "Step,",
22
- }),
23
- totalSteps: 10,
24
- isCurrentStep: false,
25
- isCompleted: false,
26
- isLastItem: false,
27
- });
28
-
29
- const { numberStep, label } = toRefs(props.step);
30
-
31
- const stepbarItemClasses = computed(() => {
32
- return [
33
- "lau-ecom-step upc-font-body-reg-05-14px",
34
- {
35
- "lau-ecom-step--current-upc":
36
- props.isCurrentStep && props.instance === LauEcomInstance.Upc,
37
- },
38
- {
39
- "lau-ecom-step--current-cbt":
40
- props.isCurrentStep && props.instance === LauEcomInstance.Cibertec,
41
- },
42
- {
43
- "lau-ecom-step--completed-upc":
44
- props.isCompleted && props.instance === LauEcomInstance.Upc,
45
- },
46
- {
47
- "lau-ecom-step--completed-cbt":
48
- props.isCompleted && props.instance === LauEcomInstance.Cibertec,
49
- },
50
- ];
51
- });
52
-
53
- const stepTrailClasses = computed(() => {
54
- return [
55
- "lau-ecom-step-trail",
56
- {
57
- "lau-ecom-step-trail--completed-upc":
58
- props.isCompleted && props.instance === LauEcomInstance.Upc,
59
- },
60
- {
61
- "lau-ecom-step-trail--completed-cbt":
62
- props.isCompleted && props.instance === LauEcomInstance.Cibertec,
63
- },
64
- ];
65
- });
66
-
67
- const stepLabelClasses = computed(() => {
68
- return [
69
- "lau-ecom-step-label core-font-body-reg-06-12px",
70
- {
71
- "lau-ecom-step-label--upc": props.instance === LauEcomInstance.Upc,
72
- },
73
- {
74
- "lau-ecom-step-label--cbt": props.instance === LauEcomInstance.Cibertec,
75
- },
76
- {
77
- "lau-ecom-step-label--disabled":
78
- !props.isCompleted && !props.isCurrentStep,
79
- },
80
- {
81
- "lau-ecom-step-label--current": props.isCurrentStep,
82
- },
83
- ];
84
- });
85
- </script>
86
-
87
- <template>
88
- <div class="dsEcom-w-full">
89
- <div class="dsEcom-flex dsEcom-items-center dsEcom-w-full">
90
- <div :class="stepbarItemClasses">
91
- <span v-if="!props.isCompleted">
92
- {{ `${numberStep < 10 && "0"}${numberStep}` }}
93
- </span>
94
- <LauEcomUpcIconCheck
95
- v-else
96
- :color="Colors['upc-color-neutral-10']"
97
- width="24"
98
- height="24"
99
- />
100
- </div>
101
- <span v-if="!isLastItem" :class="stepTrailClasses" />
102
- </div>
103
- <span :class="stepLabelClasses">{{ label }}</span>
104
- </div>
105
- </template>
106
-
107
- <style scoped>
108
- .lau-ecom-step {
109
- @apply dsEcom-flex
110
- dsEcom-items-center
111
- dsEcom-justify-center
112
- dsEcom-border
113
- dsEcom-border-upc-color-neutral-70
114
- dsEcom-text-upc-color-neutral-70
115
- dsEcom-bg-upc-color-neutral-10
116
- dsEcom-w-8
117
- dsEcom-h-8
118
- dsEcom-rounded-full;
119
- }
120
-
121
- .lau-ecom-step--completed-upc {
122
- @apply !dsEcom-text-upc-color-neutral-10
123
- !dsEcom-bg-upc-color-red-60-base
124
- dsEcom-border-upc-color-red-60-base;
125
- }
126
-
127
- .lau-ecom-step--completed-cbt {
128
- @apply !dsEcom-text-upc-color-neutral-10
129
- !dsEcom-bg-cbt-color-apple-green-60-base
130
- dsEcom-border-cbt-color-apple-green-60-base;
131
- }
132
-
133
- .lau-ecom-step--current-upc {
134
- @apply !dsEcom-text-upc-color-red-60-base
135
- dsEcom-border-upc-color-red-60-base;
136
- }
137
-
138
- .lau-ecom-step--current-cbt {
139
- @apply !dsEcom-text-cbt-color-apple-green-60-base
140
- dsEcom-border-cbt-color-apple-green-60-base;
141
- }
142
-
143
- .lau-ecom-step-trail {
144
- @apply dsEcom-bg-upc-color-neutral-70
145
- dsEcom-grow
146
- !dsEcom-h-[1px];
147
- }
148
-
149
- .lau-ecom-step-trail--completed-upc {
150
- @apply !dsEcom-bg-upc-color-red-60-base;
151
- }
152
-
153
- .lau-ecom-step-trail--completed-cbt {
154
- @apply !dsEcom-bg-cbt-color-apple-green-60-base;
155
- }
156
-
157
- .lau-ecom-step-label--upc {
158
- @apply dsEcom-text-upc-color-red-60-base;
159
- }
160
-
161
- .lau-ecom-step-label--cbt {
162
- @apply dsEcom-text-cbt-color-apple-green-60-base;
163
- }
164
-
165
- .lau-ecom-step-label--current {
166
- @apply dsEcom-font-bold;
167
- }
168
-
169
- .lau-ecom-step-label--disabled {
170
- @apply dsEcom-text-upc-color-neutral-70;
171
- }
172
- </style>
1
+ <script lang="ts" setup>
2
+ import { computed, toRefs } from "vue";
3
+ import { Step } from "./types";
4
+ import { LauEcomUpcIconCheck } from "../LauEcomIcon";
5
+
6
+ interface Props {
7
+ step: Step;
8
+ totalSteps: number;
9
+ isCurrentStep: boolean;
10
+ isCompleted: boolean;
11
+ isLastItem: boolean;
12
+ }
13
+
14
+ const props = withDefaults(defineProps<Props>(), {
15
+ step: () => ({
16
+ numberStep: 1,
17
+ label: "Step,",
18
+ }),
19
+ totalSteps: 10,
20
+ isCurrentStep: false,
21
+ isCompleted: false,
22
+ isLastItem: false,
23
+ });
24
+
25
+ const { numberStep, label } = toRefs(props.step);
26
+
27
+ const stepbarItemClasses = computed(() => {
28
+ return [
29
+ "lau-ecom-step upc-font-body-reg-05-14px",
30
+ {
31
+ "lau-ecom-step--current-upc": props.isCurrentStep,
32
+ },
33
+ {
34
+ "lau-ecom-step--completed-upc": props.isCompleted,
35
+ },
36
+ ];
37
+ });
38
+
39
+ const stepTrailClasses = computed(() => {
40
+ return [
41
+ "lau-ecom-step-trail",
42
+ {
43
+ "lau-ecom-step-trail--completed-upc": props.isCompleted,
44
+ },
45
+ ];
46
+ });
47
+
48
+ const stepLabelClasses = computed(() => {
49
+ return [
50
+ "lau-ecom-step-label core-font-body-reg-06-12px lau-ecom-step-label--upc",
51
+ {
52
+ "lau-ecom-step-label--disabled":
53
+ !props.isCompleted && !props.isCurrentStep,
54
+ },
55
+ {
56
+ "lau-ecom-step-label--current": props.isCurrentStep,
57
+ },
58
+ ];
59
+ });
60
+ </script>
61
+
62
+ <template>
63
+ <div class="dsEcom-w-full">
64
+ <div class="dsEcom-flex dsEcom-items-center dsEcom-w-full">
65
+ <div :class="stepbarItemClasses">
66
+ <span v-if="!props.isCompleted">
67
+ {{ `${numberStep < 10 && "0"}${numberStep}` }}
68
+ </span>
69
+ <LauEcomUpcIconCheck
70
+ v-else
71
+ class="dsEcom-fill-neutral-10"
72
+ width="24"
73
+ height="24"
74
+ />
75
+ </div>
76
+ <span v-if="!isLastItem" :class="stepTrailClasses" />
77
+ </div>
78
+ <span :class="stepLabelClasses">{{ label }}</span>
79
+ </div>
80
+ </template>
81
+
82
+ <style scoped>
83
+ .lau-ecom-step {
84
+ @apply dsEcom-flex
85
+ dsEcom-items-center
86
+ dsEcom-justify-center
87
+ dsEcom-border
88
+ dsEcom-border-neutral-70
89
+ dsEcom-text-neutral-70
90
+ dsEcom-bg-neutral-10
91
+ dsEcom-w-8
92
+ dsEcom-h-8
93
+ dsEcom-rounded-full;
94
+ }
95
+
96
+ .lau-ecom-step--completed-upc {
97
+ @apply !dsEcom-text-neutral-10
98
+ !dsEcom-bg-primary-60
99
+ dsEcom-border-primary-60;
100
+ }
101
+
102
+ .lau-ecom-step--current-upc {
103
+ @apply !dsEcom-text-primary-60
104
+ dsEcom-border-primary-60;
105
+ }
106
+
107
+ .lau-ecom-step-trail {
108
+ @apply dsEcom-bg-neutral-70
109
+ dsEcom-grow
110
+ !dsEcom-h-[1px];
111
+ }
112
+
113
+ .lau-ecom-step-trail--completed-upc {
114
+ @apply !dsEcom-bg-primary-60;
115
+ }
116
+
117
+ .lau-ecom-step-label--upc {
118
+ @apply dsEcom-text-primary-60;
119
+ }
120
+
121
+ .lau-ecom-step-label--current {
122
+ @apply dsEcom-font-bold;
123
+ }
124
+
125
+ .lau-ecom-step-label--disabled {
126
+ @apply dsEcom-text-neutral-70;
127
+ }
128
+ </style>
@@ -1,9 +1,7 @@
1
1
  <script lang="ts" setup>
2
2
  import { computed, watch } from "vue";
3
- import { LauEcomInstance } from "../../enums";
4
3
 
5
4
  interface Props {
6
- instance?: LauEcomInstance;
7
5
  currentClass?: string;
8
6
  isDisabled?: boolean;
9
7
  isChecked?: boolean;
@@ -13,7 +11,6 @@ interface Props {
13
11
  }
14
12
 
15
13
  const props = withDefaults(defineProps<Props>(), {
16
- instance: LauEcomInstance.Upc,
17
14
  currentClass: "",
18
15
  isDisabled: false,
19
16
  isChecked: false,
@@ -29,9 +26,7 @@ const emit = defineEmits(["onToggle"]);
29
26
 
30
27
  const lauEcomSwitchClasses = computed(() => {
31
28
  return {
32
- "dsEcom-peer lau-ecom-switch": true,
33
- "lau-ecom-switch--upc": props.instance === LauEcomInstance.Upc,
34
- "lau-ecom-switch--cbt": props.instance === LauEcomInstance.Cibertec,
29
+ "dsEcom-peer lau-ecom-switch lau-ecom-switch--upc": true,
35
30
  "lau-ecom-switch--disabled": props.isDisabled,
36
31
  };
37
32
  });
@@ -77,24 +72,18 @@ watch(model, (newValue) => {
77
72
  dsEcom-duration-[0.3s]
78
73
  checked:dsEcom-p-1
79
74
  checked:dsEcom-cursor-pointer
80
- checked:disabled:!dsEcom-bg-upc-color-neutral-60
81
- checked:disabled:!dsEcom-border-upc-color-neutral-60;
75
+ checked:disabled:!dsEcom-bg-neutral-60
76
+ checked:disabled:!dsEcom-border-neutral-60;
82
77
  }
83
78
 
84
79
  .lau-ecom-switch--upc {
85
- @apply dsEcom-border-upc-color-neutral-90
86
- checked:dsEcom-bg-upc-color-red-60-base
87
- checked:dsEcom-border-upc-color-red-60-base;
88
- }
89
-
90
- .lau-ecom-switch--cbt {
91
- @apply dsEcom-border-color-cbt-color-neutral-90
92
- checked:dsEcom-bg-cbt-color-apple-green-60-base
93
- checked:dsEcom-border-cbt-color-apple-green-60-base;
80
+ @apply dsEcom-border-neutral-90
81
+ checked:dsEcom-bg-primary-60
82
+ checked:dsEcom-border-primary-60;
94
83
  }
95
84
 
96
85
  .lau-ecom-switch--disabled {
97
- @apply dsEcom-border-upc-color-neutral-60
86
+ @apply dsEcom-border-neutral-60
98
87
  dsEcom-pointer-events-none;
99
88
  }
100
89
 
@@ -104,7 +93,7 @@ watch(model, (newValue) => {
104
93
  dsEcom-w-4
105
94
  dsEcom-h-4
106
95
  dsEcom-ml-1
107
- dsEcom-bg-upc-color-neutral-90
96
+ dsEcom-bg-neutral-90
108
97
  dsEcom-rounded-full
109
98
  dsEcom-pointer-events-none
110
99
  dsEcom-transition-all
@@ -114,6 +103,6 @@ watch(model, (newValue) => {
114
103
  }
115
104
 
116
105
  .lau-ecom-switch-button--disabled {
117
- @apply dsEcom-bg-upc-color-neutral-60;
106
+ @apply dsEcom-bg-neutral-60;
118
107
  }
119
108
  </style>
@@ -1,113 +1,82 @@
1
- <script lang="ts" setup>
2
- import { computed } from "vue";
3
- import { LauEcomInstance, LauEcomSize } from "../../enums";
4
- // import { LauEcomUpcIconGlobe } from '../LauEcomIcon';
5
- import { Colors } from "../../utils";
6
-
7
- interface Props {
8
- instance?: LauEcomInstance;
9
- size?: LauEcomSize;
10
- isDisabled?: boolean;
11
- isActive?: boolean;
12
- title?: string;
13
- }
14
-
15
- const props = withDefaults(defineProps<Props>(), {
16
- instance: LauEcomInstance.Upc,
17
- size: LauEcomSize.md,
18
- isDisabled: false,
19
- isActive: false,
20
- title: "item",
21
- });
22
-
23
- const lauEcomTabClasses = computed(() => {
24
- return {
25
- "lau-ecom-tab": true,
26
- "lau-ecom-tab--disabled": props.isDisabled,
27
- "lau-ecom-tab--upc upc-font-button-16px":
28
- props.instance === LauEcomInstance.Upc,
29
- "lau-ecom-tab--cbt cbt-font-button-16px":
30
- props.instance === LauEcomInstance.Cibertec,
31
- "lau-ecom-tab--upc-active":
32
- props.instance === LauEcomInstance.Upc && props.isActive,
33
- "lau-ecom-tab--cbt-active":
34
- props.instance === LauEcomInstance.Cibertec && props.isActive,
35
- };
36
- });
37
-
38
- const getIconColor = computed(() => {
39
- if (props.instance === LauEcomInstance.Upc) {
40
- if (props.isDisabled) return Colors["upc-color-neutral-70"];
41
- return Colors["upc-epg-color-purple-60-base"];
42
- }
43
-
44
- if (props.instance === LauEcomInstance.Cibertec) {
45
- if (props.isDisabled) return Colors["cbt-color-neutral-80"];
46
- return Colors["cbt-astro-blue-80"];
47
- }
48
-
49
- return "";
50
- });
51
- </script>
52
-
53
- <template>
54
- <div class="dsEcom-flex">
55
- <div :class="lauEcomTabClasses">
56
- <!-- <LauEcomUpcIconGlobe :color="getIconColor" /> -->
57
- <slot name="icon" :color="getIconColor"></slot>
58
- <p>{{ title }}</p>
59
- </div>
60
- </div>
61
- </template>
62
-
63
- <style scoped>
64
- .lau-ecom-tab {
65
- @apply dsEcom-flex
66
- dsEcom-flex-col
67
- dsEcom-justify-center
68
- dsEcom-items-center
69
- dsEcom-pt-2
70
- dsEcom-pb-1
71
- dsEcom-px-5
72
- dsEcom-cursor-pointer
73
- dsEcom-rounded-[4px];
74
- }
75
-
76
- .lau-ecom-tab--disabled {
77
- @apply !dsEcom-text-upc-color-neutral-70
78
- dsEcom-cursor-not-allowed
79
- hover:!dsEcom-bg-upc-color-neutral-10;
80
- }
81
-
82
- .lau-ecom-tab--upc {
83
- @apply dsEcom-text-upc-epg-color-purple-60-base
84
- hover:dsEcom-bg-upc-color-neutral-20;
85
- }
86
-
87
- .lau-ecom-tab--upc-active {
88
- @apply dsEcom-border-b-4
89
- dsEcom-border-upc-epg-color-purple-60-base
90
- dsEcom-rounded-b-[2px]
91
- hover:dsEcom-bg-upc-color-neutral-10;
92
- }
93
-
94
- .lau-ecom-tab--cbt {
95
- @apply dsEcom-text-cbt-astro-blue-80
96
- hover:dsEcom-bg-color-cbt-color-neutral-20;
97
- }
98
-
99
- .lau-ecom-tab--cbt-active {
100
- @apply dsEcom-border-b-4
101
- dsEcom-border-cbt-astro-blue-80
102
- dsEcom-rounded-b-[2px]
103
- hover:dsEcom-bg-color-cbt-color-neutral-10;
104
- }
105
-
106
- .lau-ecom-tab-line {
107
- @apply dsEcom-w-full
108
- dsEcom-mt-4
109
- dsEcom-h-[4px]
110
- dsEcom-rounded-[2px]
111
- dsEcom-bg-upc-epg-color-purple-60-base;
112
- }
113
- </style>
1
+ <script lang="ts" setup>
2
+ import { computed } from "vue";
3
+ import { LauEcomSize } from "../../enums";
4
+
5
+ interface Props {
6
+ size?: LauEcomSize;
7
+ isDisabled?: boolean;
8
+ isActive?: boolean;
9
+ title?: string;
10
+ }
11
+
12
+ const props = withDefaults(defineProps<Props>(), {
13
+ size: LauEcomSize.md,
14
+ isDisabled: false,
15
+ isActive: false,
16
+ title: "item",
17
+ });
18
+
19
+ const lauEcomTabClasses = computed(() => {
20
+ return {
21
+ "lau-ecom-tab lau-ecom-tab--upc upc-font-button-16px": true,
22
+ "lau-ecom-tab--disabled": props.isDisabled,
23
+ "lau-ecom-tab--upc-active": props.isActive,
24
+ };
25
+ });
26
+
27
+ const iconClasses = computed(() => {
28
+ return {
29
+ "dsEcom-fill-secondary-60": true,
30
+ "dsEcom-fill-neutral-70": props.isDisabled,
31
+ };
32
+ });
33
+ </script>
34
+
35
+ <template>
36
+ <div class="dsEcom-flex">
37
+ <div :class="lauEcomTabClasses">
38
+ <slot name="icon" :classIcon="iconClasses"></slot>
39
+ <p>{{ title }}</p>
40
+ </div>
41
+ </div>
42
+ </template>
43
+
44
+ <style scoped>
45
+ .lau-ecom-tab {
46
+ @apply dsEcom-flex
47
+ dsEcom-flex-col
48
+ dsEcom-justify-center
49
+ dsEcom-items-center
50
+ dsEcom-pt-2
51
+ dsEcom-pb-1
52
+ dsEcom-px-5
53
+ dsEcom-cursor-pointer
54
+ dsEcom-rounded-[4px];
55
+ }
56
+
57
+ .lau-ecom-tab--disabled {
58
+ @apply !dsEcom-text-neutral-70
59
+ dsEcom-cursor-not-allowed
60
+ hover:!dsEcom-bg-neutral-10;
61
+ }
62
+
63
+ .lau-ecom-tab--upc {
64
+ @apply dsEcom-text-secondary-60
65
+ hover:dsEcom-bg-neutral-20;
66
+ }
67
+
68
+ .lau-ecom-tab--upc-active {
69
+ @apply dsEcom-border-b-4
70
+ dsEcom-border-secondary-60
71
+ dsEcom-rounded-b-[2px]
72
+ hover:dsEcom-bg-neutral-10;
73
+ }
74
+
75
+ .lau-ecom-tab-line {
76
+ @apply dsEcom-w-full
77
+ dsEcom-mt-4
78
+ dsEcom-h-[4px]
79
+ dsEcom-rounded-[2px]
80
+ dsEcom-bg-secondary-60;
81
+ }
82
+ </style>