lau-ecom-design-system 1.0.13 → 1.0.15

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,20 +1,17 @@
1
1
  <script lang="ts" setup>
2
2
  import { computed, ref } from "vue";
3
3
  import { LauEcomUpcIconNavArrow } from "../LauEcomIcon";
4
- import { Colors } from "../../utils";
5
4
  import { LauEcomButtonType } from "./types";
6
- import { LauEcomInstance, LauEcomSize } from "../../enums";
5
+ import { LauEcomSize } from "../../enums";
7
6
 
8
7
  const props = withDefaults(
9
8
  defineProps<{
10
- instance?: LauEcomInstance;
11
9
  type?: LauEcomButtonType;
12
10
  size?: LauEcomSize;
13
11
  isDisabled?: boolean;
14
12
  hasArrow?: boolean;
15
13
  }>(),
16
14
  {
17
- instance: LauEcomInstance.Upc,
18
15
  text: "Button Text",
19
16
  type: LauEcomButtonType.Primary,
20
17
  size: LauEcomSize.lg,
@@ -29,26 +26,10 @@ const isMouseOver = ref(false);
29
26
 
30
27
  const lauEcomButtonClasses = computed(() => {
31
28
  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,
29
+ "lau-ecom-button lau-ecom-button--upc upc-font-button-16px": true,
37
30
  "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,
31
+ "lau-ecom-button--secondary-upc": props.type === LauEcomButtonType.Secondary,
32
+ "lau-ecom-button--secondary-upc-disabled": props.type === LauEcomButtonType.Secondary && props.isDisabled,
52
33
  "lau-ecom-button--large": props.size === LauEcomSize.lg,
53
34
  "lau-ecom-button--medium": props.size === LauEcomSize.md,
54
35
  "lau-ecom-button--disabled":
@@ -56,26 +37,11 @@ const lauEcomButtonClasses = computed(() => {
56
37
  };
57
38
  });
58
39
 
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
- });
40
+ const iconClasses = computed(() => {
41
+ return [
42
+ `lau-ecom-icon-button${props.type === LauEcomButtonType.Secondary ? '-secondary' : ''}`
43
+ ]
44
+ })
79
45
 
80
46
  const handleClick = () => {
81
47
  emit("onClick");
@@ -98,14 +64,16 @@ const handleMouseOut = () => {
98
64
  @mouseout="handleMouseOut"
99
65
  @click="handleClick"
100
66
  >
101
- <LauEcomUpcIconNavArrow v-if="hasArrow" :color="getIconColor" />
67
+ <LauEcomUpcIconNavArrow
68
+ v-if="hasArrow"
69
+ :class="iconClasses" />
102
70
  <slot></slot>
103
71
  </button>
104
72
  </template>
105
73
 
106
74
  <style scoped>
107
75
  .lau-ecom-button {
108
- @apply dsEcom-text-upc-color-neutral-10
76
+ @apply dsEcom-text-neutral-10
109
77
  dsEcom-flex
110
78
  dsEcom-items-center
111
79
  dsEcom-justify-center
@@ -118,21 +86,12 @@ const handleMouseOut = () => {
118
86
  }
119
87
 
120
88
  .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;
89
+ @apply dsEcom-bg-primary-60
90
+ dsEcom-border-primary-60
91
+ hover:dsEcom-bg-primary-70
92
+ hover:dsEcom-border-primary-70
93
+ active:dsEcom-bg-primary-80
94
+ active:dsEcom-border-primary-80;
136
95
  }
137
96
 
138
97
  .lau-ecom-button--large {
@@ -146,47 +105,46 @@ const handleMouseOut = () => {
146
105
  }
147
106
 
148
107
  .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;
108
+ @apply dsEcom-border-neutral-70
109
+ dsEcom-bg-neutral-70
110
+ hover:dsEcom-bg-neutral-70
111
+ hover:dsEcom-border-neutral-70
112
+ active:dsEcom-bg-neutral-70
113
+ active:dsEcom-border-neutral-70;
155
114
  }
156
115
 
157
116
  .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;
117
+ @apply dsEcom-bg-neutral-10
118
+ hover:dsEcom-bg-neutral-10
119
+ active:dsEcom-bg-neutral-10;
161
120
  }
162
121
 
163
122
  .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;
123
+ @apply dsEcom-border-primary-60
124
+ dsEcom-text-primary-60
125
+ hover:dsEcom-text-primary-70
126
+ hover:dsEcom-border-primary-70
127
+ active:dsEcom-text-primary-80
128
+ active:dsEcom-border-primary-80;
170
129
  }
171
130
 
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;
131
+ .lau-ecom-button--secondary-upc-disabled {
132
+ @apply dsEcom-border-neutral-70
133
+ dsEcom-text-neutral-70
134
+ hover:dsEcom-border-neutral-70
135
+ hover:dsEcom-text-neutral-70
136
+ active:dsEcom-border-neutral-70
137
+ active:dsEcom-text-neutral-70;
182
138
  }
183
139
 
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;
140
+ .lau-ecom-icon-button {
141
+ @apply
142
+ dsEcom-fill-neutral-10
143
+ }
144
+
145
+ .lau-ecom-icon-button-secondary {
146
+ @apply dsEcom-fill-primary-60
147
+ hover:dsEcom-fill-primary-70
148
+ active:dsEcom-fill-primary-80
191
149
  }
192
150
  </style>
@@ -99,8 +99,7 @@ const subFooterLineClasses = computed(() => {
99
99
 
100
100
  <style scoped>
101
101
  .lau-ecom-sub-footer-wrapper {
102
- @apply
103
- dsEcom-grid
102
+ @apply dsEcom-grid
104
103
  dsEcom-grid-cols-4
105
104
  dsEcom-gap-4
106
105
  dsEcom-w-full
@@ -23,7 +23,6 @@ withDefaults(
23
23
  >
24
24
  <path
25
25
  d="M8.0101 6.79111L12.5555 10.7793C12.6425 10.8583 12.7495 10.9192 12.8684 10.9572C12.9873 10.9951 13.1148 11.0092 13.2411 10.9983C13.3674 10.9873 13.489 10.9517 13.5966 10.8942C13.7041 10.8366 13.7947 10.7587 13.8613 10.6664C13.9537 10.5445 14.0025 10.4022 14.0018 10.257C14.0006 10.1602 13.9782 10.0644 13.9357 9.97464C13.8949 9.88489 13.833 9.80321 13.7539 9.73464L8.60514 5.21699C8.52804 5.14766 8.43526 5.09242 8.33241 5.05464C8.22731 5.01838 8.11519 4.99922 8.00183 4.99817C7.89105 4.99835 7.78144 5.01755 7.67952 5.05464C7.57372 5.09158 7.47804 5.14686 7.39853 5.21699L2.22498 9.7417C2.08201 9.88017 2.00272 10.0582 2.00185 10.2429C2.0012 10.3375 2.02281 10.4312 2.0654 10.5185C2.10799 10.6058 2.17069 10.6849 2.24978 10.7511C2.32563 10.8191 2.41659 10.8735 2.51735 10.911C2.6181 10.9486 2.72662 10.9686 2.83655 10.9699C2.94809 10.9724 3.05904 10.9555 3.16272 10.9203C3.26641 10.8851 3.36068 10.8324 3.43986 10.7652L8.0101 6.79111Z"
26
- :fill="color"
27
26
  />
28
27
  </svg>
29
28
  </template>