lau-ecom-design-system 1.0.17 → 1.0.19

Sign up to get free protection for your applications and to get access to all the features.
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 +1577 -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 +1491 -211
  7. package/dist/style.css +194 -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>