@unifiedsoftware/styles 1.0.1 → 1.0.3

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.
package/css/styles.css CHANGED
@@ -1,3 +1,19 @@
1
+ @charset "UTF-8";
2
+ .us-collapse {
3
+ overflow: hidden;
4
+ transition: all 0.15s ease-in-out;
5
+ }
6
+
7
+ .us-icon {
8
+ width: 1em;
9
+ height: 1em;
10
+ font-size: var(--us-icon-font-size);
11
+ color: var(--us-icon-color);
12
+ display: flex;
13
+ justify-content: center;
14
+ align-items: center;
15
+ }
16
+
1
17
  .us-button {
2
18
  position: relative;
3
19
  height: var(--us-button-height);
@@ -9,24 +25,52 @@
9
25
  border-radius: var(--us-button-border-radius);
10
26
  cursor: pointer;
11
27
  color: var(--us-button-color);
12
- background: var(--us-button-background);
28
+ background-color: var(--us-button-background);
29
+ display: flex;
30
+ align-items: center;
31
+ gap: var(--us-button-gap);
13
32
  user-select: none;
14
33
  -webkit-tap-highlight-color: transparent;
34
+ position: relative;
15
35
  }
16
- .us-button__elevation {
36
+ .us-button .us-overlay {
17
37
  position: absolute;
18
38
  inset: 0px;
19
- z-index: 0;
20
- border: var(--us-button-border-width) solid var(--us-button-border-color);
21
39
  border-radius: inherit;
22
- background: currentColor;
23
- opacity: var(--us-button-elevation-opacity);
40
+ overflow: hidden;
41
+ color: inherit;
42
+ }
43
+ .us-button .us-overlay__surface {
44
+ position: absolute;
45
+ inset: 0px;
46
+ color: var(--us-overlay-color);
47
+ opacity: var(--us-overlay-opacity);
48
+ background-color: currentColor;
49
+ z-index: 0;
50
+ }
51
+ .us-button .us-overlay::before {
52
+ content: "";
53
+ position: absolute;
54
+ inset: 0px;
55
+ opacity: 0;
56
+ background-color: currentColor;
57
+ transition: opacity 15ms linear, background-color 15ms linear;
58
+ }
59
+ .us-button .us-overlay::after {
60
+ content: "";
61
+ position: absolute;
62
+ inset: 0px;
63
+ opacity: 0;
64
+ color: var(--us-_active-overlay-color);
65
+ background-color: currentColor;
66
+ transition: opacity 30ms linear;
24
67
  }
25
- .us-button:hover .us-button__elevation {
26
- opacity: var(--us-_hover-button-elevation-opacity);
68
+ .us-button:hover .us-overlay::before {
69
+ color: var(--us-_hover-overlay-color);
70
+ opacity: var(--us-_hover-overlay-opacity);
27
71
  }
28
- .us-button:active .us-button__elevation {
29
- opacity: var(--us-_active-button-elevation-opacity);
72
+ .us-button:active .us-overlay::after {
73
+ opacity: var(--us-_active-overlay-opacity);
30
74
  }
31
75
  .us-button__outline {
32
76
  position: absolute;
@@ -34,6 +78,194 @@
34
78
  z-index: 0;
35
79
  border: var(--us-button-outline-border-width) solid var(--us-button-outline-border-color);
36
80
  border-radius: inherit;
81
+ pointer-events: none;
82
+ }
83
+ .us-button__prefix, .us-button__suffix, .us-button__content {
84
+ position: relative;
85
+ display: flex;
86
+ align-items: center;
87
+ }
88
+
89
+ .us-menu {
90
+ margin: 0;
91
+ padding: 0;
92
+ color: var(--us-menu-color);
93
+ background-color: var(--us-menu-background);
94
+ }
95
+ .us-menu-item {
96
+ position: relative;
97
+ height: var(--us-menu-item-height);
98
+ padding: var(--us-menu-item-padding-y) var(--us-menu-item-padding-x);
99
+ font-size: var(--us-menu-item-font-size);
100
+ font-weight: var(--us-menu-item-font-weight);
101
+ text-decoration: none;
102
+ cursor: pointer;
103
+ display: flex;
104
+ align-items: center;
105
+ color: var(--us-menu-item-color);
106
+ background-color: var(--us-menu-item-background);
107
+ user-select: none;
108
+ -webkit-tap-highlight-color: transparent;
109
+ gap: var(--us-menu-item-gap);
110
+ position: relative;
111
+ }
112
+ .us-menu-item:hover {
113
+ text-decoration: none;
114
+ }
115
+ .us-menu-item .us-overlay {
116
+ position: absolute;
117
+ inset: 0px;
118
+ border-radius: inherit;
119
+ overflow: hidden;
120
+ color: inherit;
121
+ }
122
+ .us-menu-item .us-overlay__surface {
123
+ position: absolute;
124
+ inset: 0px;
125
+ color: var(--us-overlay-color);
126
+ opacity: var(--us-overlay-opacity);
127
+ background-color: currentColor;
128
+ z-index: 0;
129
+ }
130
+ .us-menu-item .us-overlay::before {
131
+ content: "";
132
+ position: absolute;
133
+ inset: 0px;
134
+ opacity: 0;
135
+ background-color: currentColor;
136
+ transition: opacity 15ms linear, background-color 15ms linear;
137
+ }
138
+ .us-menu-item .us-overlay::after {
139
+ content: "";
140
+ position: absolute;
141
+ inset: 0px;
142
+ opacity: 0;
143
+ color: var(--us-_active-overlay-color);
144
+ background-color: currentColor;
145
+ transition: opacity 30ms linear;
146
+ }
147
+ .us-menu-item:hover .us-overlay::before {
148
+ color: var(--us-_hover-overlay-color);
149
+ opacity: var(--us-_hover-overlay-opacity);
150
+ }
151
+ .us-menu-item:active .us-overlay::after {
152
+ opacity: var(--us-_active-overlay-opacity);
153
+ }
154
+ .us-menu-item--disabled {
155
+ opacity: 0.6;
156
+ pointer-events: none;
157
+ }
158
+ .us-menu-item--selected .us-menu-item__icon {
159
+ --us-menu-item-icon-color: var(--us-_active-menu-item-icon-color);
160
+ }
161
+ .us-menu-item__icon {
162
+ flex-shrink: 0;
163
+ z-index: 1;
164
+ display: flex;
165
+ justify-content: center;
166
+ align-items: center;
167
+ }
168
+ .us-menu-item__icon .us-icon {
169
+ --us-icon-font-size: var(--us-menu-item-icon-font-size);
170
+ --us-icon-color: var(--us-menu-item-icon-color);
171
+ }
172
+ .us-menu-item__content {
173
+ flex-grow: 1;
174
+ z-index: 1;
175
+ display: grid;
176
+ overflow: hidden;
177
+ }
178
+ .us-menu-item__title {
179
+ overflow: hidden;
180
+ display: -webkit-box;
181
+ -webkit-box-orient: vertical;
182
+ -webkit-line-clamp: 1;
183
+ }
184
+ .us-menu-group {
185
+ position: relative;
186
+ height: var(--us-menu-group-height);
187
+ padding: var(--us-menu-group-padding-y) var(--us-menu-group-padding-x);
188
+ font-size: var(--us-menu-group-font-size);
189
+ font-weight: var(--us-menu-group-font-weight);
190
+ text-decoration: none;
191
+ border-bottom: var(--us-menu-group-border-width) solid var(--us-menu-group-border-color);
192
+ display: flex;
193
+ align-items: center;
194
+ color: var(--us-menu-group-color);
195
+ background-color: var(--us-menu-group-background);
196
+ gap: var(--us-menu-group-gap);
197
+ position: relative;
198
+ }
199
+ .us-menu-group:hover {
200
+ text-decoration: none;
201
+ }
202
+ .us-menu-group .us-overlay {
203
+ position: absolute;
204
+ inset: 0px;
205
+ border-radius: inherit;
206
+ overflow: hidden;
207
+ color: inherit;
208
+ }
209
+ .us-menu-group .us-overlay__surface {
210
+ position: absolute;
211
+ inset: 0px;
212
+ color: var(--us-overlay-color);
213
+ opacity: var(--us-overlay-opacity);
214
+ background-color: currentColor;
215
+ z-index: 0;
216
+ }
217
+ .us-menu-group .us-overlay::before {
218
+ content: "";
219
+ position: absolute;
220
+ inset: 0px;
221
+ opacity: 0;
222
+ background-color: currentColor;
223
+ transition: opacity 15ms linear, background-color 15ms linear;
224
+ }
225
+ .us-menu-group .us-overlay::after {
226
+ content: "";
227
+ position: absolute;
228
+ inset: 0px;
229
+ opacity: 0;
230
+ color: var(--us-_active-overlay-color);
231
+ background-color: currentColor;
232
+ transition: opacity 30ms linear;
233
+ }
234
+ .us-menu-group:hover .us-overlay::before {
235
+ color: var(--us-_hover-overlay-color);
236
+ opacity: var(--us-_hover-overlay-opacity);
237
+ }
238
+ .us-menu-group:active .us-overlay::after {
239
+ opacity: var(--us-_active-overlay-opacity);
240
+ }
241
+ .us-menu-group__icon {
242
+ flex-shrink: 0;
243
+ z-index: 1;
244
+ display: flex;
245
+ justify-content: center;
246
+ align-items: center;
247
+ }
248
+ .us-menu-group--selected .us-menu-group__icon {
249
+ --us-menu-group-icon-color: var(--us-_active-menu-item-icon-color);
250
+ }
251
+ .us-menu-group__icon .us-icon {
252
+ --us-icon-font-size: var(--us-menu-group-icon-font-size);
253
+ --us-icon-color: var(--us-menu-group-icon-color);
254
+ }
255
+ .us-menu-group__content {
256
+ flex-grow: 1;
257
+ z-index: 1;
258
+ display: grid;
259
+ overflow: hidden;
260
+ }
261
+ .us-menu-group__title {
262
+ overflow: hidden;
263
+ display: -webkit-box;
264
+ -webkit-box-orient: vertical;
265
+ -webkit-line-clamp: 1;
266
+ }
267
+ .us-menu-submenu .us-menu {
268
+ --us-menu-background: var(--us-submenu-background);
37
269
  }
38
270
 
39
271
  .us-divider {
@@ -50,16 +282,57 @@
50
282
 
51
283
  .us-tab {
52
284
  position: relative;
53
- width: 100%;
54
285
  padding: 0px 16px;
55
- font-size: 14px;
56
- font-weight: 500;
286
+ font-size: var(--us-tab-font-size);
287
+ font-weight: var(--us-tab-font-weight);
57
288
  vertical-align: middle;
58
289
  z-index: 1;
59
290
  color: var(--us-tab-color);
60
291
  display: inline-flex;
61
292
  justify-content: center;
62
293
  align-items: center;
294
+ user-select: none;
295
+ -webkit-tap-highlight-color: transparent;
296
+ position: relative;
297
+ }
298
+ .us-tab .us-overlay {
299
+ position: absolute;
300
+ inset: 0px;
301
+ border-radius: inherit;
302
+ overflow: hidden;
303
+ color: inherit;
304
+ }
305
+ .us-tab .us-overlay__surface {
306
+ position: absolute;
307
+ inset: 0px;
308
+ color: var(--us-overlay-color);
309
+ opacity: var(--us-overlay-opacity);
310
+ background-color: currentColor;
311
+ z-index: 0;
312
+ }
313
+ .us-tab .us-overlay::before {
314
+ content: "";
315
+ position: absolute;
316
+ inset: 0px;
317
+ opacity: 0;
318
+ background-color: currentColor;
319
+ transition: opacity 15ms linear, background-color 15ms linear;
320
+ }
321
+ .us-tab .us-overlay::after {
322
+ content: "";
323
+ position: absolute;
324
+ inset: 0px;
325
+ opacity: 0;
326
+ color: var(--us-_active-overlay-color);
327
+ background-color: currentColor;
328
+ transition: opacity 30ms linear;
329
+ }
330
+ .us-tab:hover .us-overlay::before {
331
+ color: var(--us-_hover-overlay-color);
332
+ opacity: var(--us-_hover-overlay-opacity);
333
+ }
334
+ .us-tab:active .us-overlay::after {
335
+ opacity: var(--us-_active-overlay-opacity);
63
336
  }
64
337
  .us-tab__content {
65
338
  position: relative;
@@ -72,17 +345,71 @@
72
345
  }
73
346
  .us-tab__indicator {
74
347
  position: absolute;
75
- height: 3px;
76
- border-radius: 3px 3px 0px 0px;
348
+ height: var(--us-tab-indicator-height);
349
+ border-radius: 0;
77
350
  inset: auto 0px 0px;
78
351
  opacity: 0;
79
352
  z-index: -1;
80
353
  background: var(--us-tab-indicator-color);
81
354
  transform-origin: left bottom;
82
355
  }
83
- .us-tab--selected {
84
- color: var(--us-_active-tab-color);
85
- }
86
356
  .us-tab--selected .us-tab__indicator {
87
357
  opacity: 1;
358
+ }
359
+
360
+ .us-animation-spin {
361
+ animation: us-animation-spin 1s linear infinite;
362
+ transform-origin: center center;
363
+ }
364
+
365
+ @keyframes us-animation-spin {
366
+ from {
367
+ transform: rotate(0deg);
368
+ }
369
+ to {
370
+ transform: rotate(360deg);
371
+ }
372
+ }
373
+ .us-animation-pulse {
374
+ animation: us-animation-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
375
+ }
376
+
377
+ @keyframes us-animation-pulse {
378
+ 0%, 100% {
379
+ opacity: 1;
380
+ }
381
+ 50% {
382
+ opacity: 0.5;
383
+ }
384
+ }
385
+ .us-animation-bounce {
386
+ animation: us-animation-bounce 1s infinite;
387
+ }
388
+
389
+ @keyframes us-animation-bounce {
390
+ 0%, 100% {
391
+ transform: translateY(-25%);
392
+ animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
393
+ }
394
+ 50% {
395
+ transform: translateY(0);
396
+ animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
397
+ }
398
+ }
399
+ /* Estilos CSS aquí */
400
+ .slider-container {
401
+ width: 300px;
402
+ height: 20px;
403
+ background-color: #ccc;
404
+ position: relative;
405
+ margin-top: 20px;
406
+ }
407
+
408
+ .slider-point {
409
+ width: 20px;
410
+ height: 20px;
411
+ background-color: #007bff;
412
+ border-radius: 50%;
413
+ position: absolute;
414
+ cursor: pointer;
88
415
  }
@@ -1 +1 @@
1
- .us-button{position:relative;height:var(--us-button-height);padding:var(--us-button-padding-y) var(--us-button-padding-x);font-size:var(--us-button-font-size);font-weight:var(--us-button-font-weight);border:none;outline:none;border-radius:var(--us-button-border-radius);cursor:pointer;color:var(--us-button-color);background:var(--us-button-background);user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.us-button__elevation{position:absolute;inset:0px;z-index:0;border:var(--us-button-border-width) solid var(--us-button-border-color);border-radius:inherit;background:currentColor;opacity:var(--us-button-elevation-opacity)}.us-button:hover .us-button__elevation{opacity:var(--us-_hover-button-elevation-opacity)}.us-button:active .us-button__elevation{opacity:var(--us-_active-button-elevation-opacity)}.us-button__outline{position:absolute;inset:0px;z-index:0;border:var(--us-button-outline-border-width) solid var(--us-button-outline-border-color);border-radius:inherit}.us-divider{width:100%;height:1px;background:#cac4d0}.us-tabs{width:100%;display:flex;align-items:center}.us-tab{position:relative;width:100%;padding:0px 16px;font-size:14px;font-weight:500;vertical-align:middle;z-index:1;color:var(--us-tab-color);display:inline-flex;justify-content:center;align-items:center}.us-tab__content{position:relative;height:48px;display:inline-flex;flex-direction:row;justify-content:center;align-items:center;gap:8px}.us-tab__indicator{position:absolute;height:3px;border-radius:3px 3px 0px 0px;inset:auto 0px 0px;opacity:0;z-index:-1;background:var(--us-tab-indicator-color);transform-origin:left bottom}.us-tab--selected{color:var(--us-_active-tab-color)}.us-tab--selected .us-tab__indicator{opacity:1}
1
+ .us-collapse{overflow:hidden;transition:all .15s ease-in-out}.us-icon{width:1em;height:1em;font-size:var(--us-icon-font-size);color:var(--us-icon-color);display:flex;justify-content:center;align-items:center}.us-button{position:relative;height:var(--us-button-height);padding:var(--us-button-padding-y) var(--us-button-padding-x);font-size:var(--us-button-font-size);font-weight:var(--us-button-font-weight);border:none;outline:none;border-radius:var(--us-button-border-radius);cursor:pointer;color:var(--us-button-color);background-color:var(--us-button-background);display:flex;align-items:center;gap:var(--us-button-gap);user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative}.us-button .us-overlay{position:absolute;inset:0px;border-radius:inherit;overflow:hidden;color:inherit}.us-button .us-overlay__surface{position:absolute;inset:0px;color:var(--us-overlay-color);opacity:var(--us-overlay-opacity);background-color:currentColor;z-index:0}.us-button .us-overlay::before{content:"";position:absolute;inset:0px;opacity:0;background-color:currentColor;transition:opacity 15ms linear,background-color 15ms linear}.us-button .us-overlay::after{content:"";position:absolute;inset:0px;opacity:0;color:var(--us-_active-overlay-color);background-color:currentColor;transition:opacity 30ms linear}.us-button:hover .us-overlay::before{color:var(--us-_hover-overlay-color);opacity:var(--us-_hover-overlay-opacity)}.us-button:active .us-overlay::after{opacity:var(--us-_active-overlay-opacity)}.us-button__outline{position:absolute;inset:0px;z-index:0;border:var(--us-button-outline-border-width) solid var(--us-button-outline-border-color);border-radius:inherit;pointer-events:none}.us-button__prefix,.us-button__suffix,.us-button__content{position:relative;display:flex;align-items:center}.us-menu{margin:0;padding:0;color:var(--us-menu-color);background-color:var(--us-menu-background)}.us-menu-item{position:relative;height:var(--us-menu-item-height);padding:var(--us-menu-item-padding-y) var(--us-menu-item-padding-x);font-size:var(--us-menu-item-font-size);font-weight:var(--us-menu-item-font-weight);text-decoration:none;cursor:pointer;display:flex;align-items:center;color:var(--us-menu-item-color);background-color:var(--us-menu-item-background);user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);gap:var(--us-menu-item-gap);position:relative}.us-menu-item:hover{text-decoration:none}.us-menu-item .us-overlay{position:absolute;inset:0px;border-radius:inherit;overflow:hidden;color:inherit}.us-menu-item .us-overlay__surface{position:absolute;inset:0px;color:var(--us-overlay-color);opacity:var(--us-overlay-opacity);background-color:currentColor;z-index:0}.us-menu-item .us-overlay::before{content:"";position:absolute;inset:0px;opacity:0;background-color:currentColor;transition:opacity 15ms linear,background-color 15ms linear}.us-menu-item .us-overlay::after{content:"";position:absolute;inset:0px;opacity:0;color:var(--us-_active-overlay-color);background-color:currentColor;transition:opacity 30ms linear}.us-menu-item:hover .us-overlay::before{color:var(--us-_hover-overlay-color);opacity:var(--us-_hover-overlay-opacity)}.us-menu-item:active .us-overlay::after{opacity:var(--us-_active-overlay-opacity)}.us-menu-item--disabled{opacity:.6;pointer-events:none}.us-menu-item--selected .us-menu-item__icon{--us-menu-item-icon-color: var(--us-_active-menu-item-icon-color)}.us-menu-item__icon{flex-shrink:0;z-index:1;display:flex;justify-content:center;align-items:center}.us-menu-item__icon .us-icon{--us-icon-font-size: var(--us-menu-item-icon-font-size);--us-icon-color: var(--us-menu-item-icon-color)}.us-menu-item__content{flex-grow:1;z-index:1;display:grid;overflow:hidden}.us-menu-item__title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.us-menu-group{position:relative;height:var(--us-menu-group-height);padding:var(--us-menu-group-padding-y) var(--us-menu-group-padding-x);font-size:var(--us-menu-group-font-size);font-weight:var(--us-menu-group-font-weight);text-decoration:none;border-bottom:var(--us-menu-group-border-width) solid var(--us-menu-group-border-color);display:flex;align-items:center;color:var(--us-menu-group-color);background-color:var(--us-menu-group-background);gap:var(--us-menu-group-gap);position:relative}.us-menu-group:hover{text-decoration:none}.us-menu-group .us-overlay{position:absolute;inset:0px;border-radius:inherit;overflow:hidden;color:inherit}.us-menu-group .us-overlay__surface{position:absolute;inset:0px;color:var(--us-overlay-color);opacity:var(--us-overlay-opacity);background-color:currentColor;z-index:0}.us-menu-group .us-overlay::before{content:"";position:absolute;inset:0px;opacity:0;background-color:currentColor;transition:opacity 15ms linear,background-color 15ms linear}.us-menu-group .us-overlay::after{content:"";position:absolute;inset:0px;opacity:0;color:var(--us-_active-overlay-color);background-color:currentColor;transition:opacity 30ms linear}.us-menu-group:hover .us-overlay::before{color:var(--us-_hover-overlay-color);opacity:var(--us-_hover-overlay-opacity)}.us-menu-group:active .us-overlay::after{opacity:var(--us-_active-overlay-opacity)}.us-menu-group__icon{flex-shrink:0;z-index:1;display:flex;justify-content:center;align-items:center}.us-menu-group--selected .us-menu-group__icon{--us-menu-group-icon-color: var(--us-_active-menu-item-icon-color)}.us-menu-group__icon .us-icon{--us-icon-font-size: var(--us-menu-group-icon-font-size);--us-icon-color: var(--us-menu-group-icon-color)}.us-menu-group__content{flex-grow:1;z-index:1;display:grid;overflow:hidden}.us-menu-group__title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.us-menu-submenu .us-menu{--us-menu-background: var(--us-submenu-background)}.us-divider{width:100%;height:1px;background:#cac4d0}.us-tabs{width:100%;display:flex;align-items:center}.us-tab{position:relative;padding:0px 16px;font-size:var(--us-tab-font-size);font-weight:var(--us-tab-font-weight);vertical-align:middle;z-index:1;color:var(--us-tab-color);display:inline-flex;justify-content:center;align-items:center;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative}.us-tab .us-overlay{position:absolute;inset:0px;border-radius:inherit;overflow:hidden;color:inherit}.us-tab .us-overlay__surface{position:absolute;inset:0px;color:var(--us-overlay-color);opacity:var(--us-overlay-opacity);background-color:currentColor;z-index:0}.us-tab .us-overlay::before{content:"";position:absolute;inset:0px;opacity:0;background-color:currentColor;transition:opacity 15ms linear,background-color 15ms linear}.us-tab .us-overlay::after{content:"";position:absolute;inset:0px;opacity:0;color:var(--us-_active-overlay-color);background-color:currentColor;transition:opacity 30ms linear}.us-tab:hover .us-overlay::before{color:var(--us-_hover-overlay-color);opacity:var(--us-_hover-overlay-opacity)}.us-tab:active .us-overlay::after{opacity:var(--us-_active-overlay-opacity)}.us-tab__content{position:relative;height:48px;display:inline-flex;flex-direction:row;justify-content:center;align-items:center;gap:8px}.us-tab__indicator{position:absolute;height:var(--us-tab-indicator-height);border-radius:0;inset:auto 0px 0px;opacity:0;z-index:-1;background:var(--us-tab-indicator-color);transform-origin:left bottom}.us-tab--selected .us-tab__indicator{opacity:1}.us-animation-spin{animation:us-animation-spin 1s linear infinite;transform-origin:center center}@keyframes us-animation-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.us-animation-pulse{animation:us-animation-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}@keyframes us-animation-pulse{0%,100%{opacity:1}50%{opacity:.5}}.us-animation-bounce{animation:us-animation-bounce 1s infinite}@keyframes us-animation-bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8, 0, 1, 1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}}.slider-container{width:300px;height:20px;background-color:#ccc;position:relative;margin-top:20px}.slider-point{width:20px;height:20px;background-color:#007bff;border-radius:50%;position:absolute;cursor:pointer}
@@ -0,0 +1,192 @@
1
+ .us-icon {
2
+ --us-icon-font-size: 1.5rem;
3
+ --us-icon-color: inherit;
4
+ }
5
+
6
+ .us-button {
7
+ --us-button-font-weight: 500;
8
+ --us-button-border-radius: 4px;
9
+ /* Overlay */
10
+ --us-_hover-overlay-color: inherit;
11
+ --us-_hover-overlay-opacity: 0.08;
12
+ --us-_active-overlay-color: inherit;
13
+ --us-_active-overlay-opacity: 0.12;
14
+ }
15
+ .us-button--filled {
16
+ --us-button-border-width: 1px;
17
+ --us-button-border-color: transparent;
18
+ --us-button-color: var(--us-white-color);
19
+ }
20
+ .us-button--filled.us-button--primary {
21
+ --us-button-background: var(--us-primary-color);
22
+ }
23
+ .us-button--filled.us-button--secondary {
24
+ --us-button-color: var(--us-black-color);
25
+ --us-button-background: var(--us-secondary-color);
26
+ }
27
+ .us-button--filled.us-button--success {
28
+ --us-button-background: var(--us-success-color);
29
+ }
30
+ .us-button--filled.us-button--info {
31
+ --us-button-background: var(--us-info-color);
32
+ }
33
+ .us-button--filled.us-button--warning {
34
+ --us-button-background: var(--us-warning-color);
35
+ }
36
+ .us-button--filled.us-button--danger {
37
+ --us-button-background: var(--us-danger-color);
38
+ }
39
+ .us-button--outlined {
40
+ --us-button-border-width: 1px;
41
+ --us-button-border-color: currentColor;
42
+ --us-button-elevation-opacity: 0;
43
+ --us-_hover-button-elevation-opacity: 0.08;
44
+ --us-_active-button-elevation-opacity: 0.12;
45
+ --us-button-outline-border-width: 1px;
46
+ --us-button-outline-border-color: currentColor;
47
+ }
48
+ .us-button--outlined.us-button--primary {
49
+ --us-button-color: var(--us-primary-color);
50
+ }
51
+ .us-button--outlined.us-button--secondary {
52
+ --us-button-color: var(--us-black-color);
53
+ }
54
+ .us-button--outlined.us-button--success {
55
+ --us-button-color: var(--us-success-color);
56
+ }
57
+ .us-button--outlined.us-button--info {
58
+ --us-button-color: var(--us-info-color);
59
+ }
60
+ .us-button--outlined.us-button--warning {
61
+ --us-button-color: var(--us-warning-color);
62
+ }
63
+ .us-button--outlined.us-button--danger {
64
+ --us-button-color: var(--us-danger-color);
65
+ }
66
+ .us-button--text {
67
+ --us-button-border-width: 1px;
68
+ --us-button-border-color: transparent;
69
+ --us-button-elevation-opacity: 0;
70
+ --us-_hover-button-elevation-opacity: 0.08;
71
+ --us-_active-button-elevation-opacity: 0.12;
72
+ }
73
+ .us-button--text.us-button--primary {
74
+ --us-button-color: var(--us-primary-color);
75
+ }
76
+ .us-button--text.us-button--secondary {
77
+ --us-button-color: var(--us-black-color);
78
+ }
79
+ .us-button--text.us-button--success {
80
+ --us-button-color: var(--us-success-color);
81
+ }
82
+ .us-button--text.us-button--info {
83
+ --us-button-color: var(--us-info-color);
84
+ }
85
+ .us-button--text.us-button--warning {
86
+ --us-button-color: var(--us-warning-color);
87
+ }
88
+ .us-button--text.us-button--danger {
89
+ --us-button-color: var(--us-danger-color);
90
+ }
91
+ .us-button--sm {
92
+ --us-button-height: 32px;
93
+ --us-button-padding-y: 0;
94
+ --us-button-padding-x: 0.75rem;
95
+ --us-button-font-size: 14px;
96
+ --us-button-gap: 0.375rem;
97
+ --us-icon-font-size: 1.125rem;
98
+ }
99
+ .us-button--md {
100
+ --us-button-height: 36px;
101
+ --us-button-padding-y: 0;
102
+ --us-button-padding-x: 1rem;
103
+ --us-button-font-size: 14px;
104
+ --us-button-gap: 0.5rem;
105
+ --us-icon-font-size: 1.25rem;
106
+ }
107
+ .us-button--lg {
108
+ --us-button-height: 40px;
109
+ --us-button-padding-y: 0;
110
+ --us-button-padding-x: 1.25rem;
111
+ --us-button-font-size: 1rem;
112
+ --us-button-gap: 0.5rem;
113
+ --us-icon-font-size: 1.5rem;
114
+ }
115
+
116
+ .us-menu {
117
+ --us-menu-color: #343a40;
118
+ --us-menu-background: #fff;
119
+ }
120
+ .us-menu-item {
121
+ --us-menu-item-height: 40px;
122
+ --us-menu-item-padding-y: 0;
123
+ --us-menu-item-padding-x: 1rem;
124
+ --us-menu-item-padding-level: 2rem;
125
+ --us-menu-item-font-size: 12px;
126
+ --us-menu-item-font-weight: 500;
127
+ --us-menu-item-gap: 1rem;
128
+ --us-menu-item-icon-font-size: 16px;
129
+ --us-menu-item-icon-color: var(--us-primary-color);
130
+ /* Overlay */
131
+ --us-overlay-color: inherit;
132
+ --us-overlay-opacity: 0;
133
+ --us-_hover-overlay-color: inherit;
134
+ --us-_hover-overlay-opacity: 0.08;
135
+ --us-_active-overlay-opacity: 0;
136
+ }
137
+ .us-menu-item--selected {
138
+ --us-menu-item-color: var(--us-primary-color);
139
+ --us-overlay-color: var(--us-primary-color);
140
+ --us-overlay-opacity: 0.08;
141
+ --us-_hover-overlay-opacity: 0;
142
+ --us-_active-overlay-opacity: 0;
143
+ }
144
+ .us-menu-group {
145
+ --us-menu-group-height: 40px;
146
+ --us-menu-group-padding-y: 0;
147
+ --us-menu-group-padding-x: 1rem;
148
+ --us-menu-group-padding-level: 2rem;
149
+ --us-menu-group-font-size: 12px;
150
+ --us-menu-group-font-weight: 700;
151
+ --us-menu-group-gap: 1rem;
152
+ --us-menu-group-border-width: 1px;
153
+ --us-menu-group-border-color: #dee2e6;
154
+ }
155
+ .us-menu-submenu {
156
+ --us-_active-submenu-item-color: var(--us-primary-color);
157
+ --us-_active-submenu-item-background: transparent;
158
+ }
159
+ .us-menu-submenu > .us-menu-item--selected {
160
+ --us-overlay-opacity: 0;
161
+ --us-_hover-overlay-opacity: 0;
162
+ --us-_active-overlay-opacity: 0;
163
+ }
164
+
165
+ .us-tab {
166
+ --us-tab-color: var(--us-black-color);
167
+ --us-tab-font-size: 12px;
168
+ --us-tab-font-weight: 500;
169
+ --us-tab-indicator-color: var(--us-primary-color);
170
+ --us-tab-indicator-height: 2px;
171
+ /* Overlay */
172
+ --us-_hover-overlay-color: inherit;
173
+ --us-_hover-overlay-opacity: 0.08;
174
+ --us-_active-overlay-color: inherit;
175
+ --us-_active-overlay-opacity: 0.12;
176
+ }
177
+ .us-tab--selected {
178
+ --us-tab-color: var(--us-primary-color);
179
+ --us-_hover-overlay-color: inherit;
180
+ --us-_active-overlay-color: inherit;
181
+ }
182
+
183
+ :root {
184
+ --us-primary-color: #990000;
185
+ --us-secondary-color: #dde4eb;
186
+ --us-success-color: #e1ae30;
187
+ --us-info-color: #8862e0;
188
+ --us-warning-color: #ffaf00;
189
+ --us-danger-color: #ff0017;
190
+ --us-black-color: #000;
191
+ --us-white-color: #fff;
192
+ }
@@ -0,0 +1 @@
1
+ .us-icon{--us-icon-font-size: 1.5rem;--us-icon-color: inherit}.us-button{--us-button-font-weight: 500;--us-button-border-radius: 4px;--us-_hover-overlay-color: inherit;--us-_hover-overlay-opacity: 0.08;--us-_active-overlay-color: inherit;--us-_active-overlay-opacity: 0.12}.us-button--filled{--us-button-border-width: 1px;--us-button-border-color: transparent;--us-button-color: var(--us-white-color)}.us-button--filled.us-button--primary{--us-button-background: var(--us-primary-color)}.us-button--filled.us-button--secondary{--us-button-color: var(--us-black-color);--us-button-background: var(--us-secondary-color)}.us-button--filled.us-button--success{--us-button-background: var(--us-success-color)}.us-button--filled.us-button--info{--us-button-background: var(--us-info-color)}.us-button--filled.us-button--warning{--us-button-background: var(--us-warning-color)}.us-button--filled.us-button--danger{--us-button-background: var(--us-danger-color)}.us-button--outlined{--us-button-border-width: 1px;--us-button-border-color: currentColor;--us-button-elevation-opacity: 0;--us-_hover-button-elevation-opacity: 0.08;--us-_active-button-elevation-opacity: 0.12;--us-button-outline-border-width: 1px;--us-button-outline-border-color: currentColor}.us-button--outlined.us-button--primary{--us-button-color: var(--us-primary-color)}.us-button--outlined.us-button--secondary{--us-button-color: var(--us-black-color)}.us-button--outlined.us-button--success{--us-button-color: var(--us-success-color)}.us-button--outlined.us-button--info{--us-button-color: var(--us-info-color)}.us-button--outlined.us-button--warning{--us-button-color: var(--us-warning-color)}.us-button--outlined.us-button--danger{--us-button-color: var(--us-danger-color)}.us-button--text{--us-button-border-width: 1px;--us-button-border-color: transparent;--us-button-elevation-opacity: 0;--us-_hover-button-elevation-opacity: 0.08;--us-_active-button-elevation-opacity: 0.12}.us-button--text.us-button--primary{--us-button-color: var(--us-primary-color)}.us-button--text.us-button--secondary{--us-button-color: var(--us-black-color)}.us-button--text.us-button--success{--us-button-color: var(--us-success-color)}.us-button--text.us-button--info{--us-button-color: var(--us-info-color)}.us-button--text.us-button--warning{--us-button-color: var(--us-warning-color)}.us-button--text.us-button--danger{--us-button-color: var(--us-danger-color)}.us-button--sm{--us-button-height: 32px;--us-button-padding-y: 0;--us-button-padding-x: 0.75rem;--us-button-font-size: 14px;--us-button-gap: 0.375rem;--us-icon-font-size: 1.125rem}.us-button--md{--us-button-height: 36px;--us-button-padding-y: 0;--us-button-padding-x: 1rem;--us-button-font-size: 14px;--us-button-gap: 0.5rem;--us-icon-font-size: 1.25rem}.us-button--lg{--us-button-height: 40px;--us-button-padding-y: 0;--us-button-padding-x: 1.25rem;--us-button-font-size: 1rem;--us-button-gap: 0.5rem;--us-icon-font-size: 1.5rem}.us-menu{--us-menu-color: #343a40;--us-menu-background: #fff}.us-menu-item{--us-menu-item-height: 40px;--us-menu-item-padding-y: 0;--us-menu-item-padding-x: 1rem;--us-menu-item-padding-level: 2rem;--us-menu-item-font-size: 12px;--us-menu-item-font-weight: 500;--us-menu-item-gap: 1rem;--us-menu-item-icon-font-size: 16px;--us-menu-item-icon-color: var(--us-primary-color);--us-overlay-color: inherit;--us-overlay-opacity: 0;--us-_hover-overlay-color: inherit;--us-_hover-overlay-opacity: 0.08;--us-_active-overlay-opacity: 0}.us-menu-item--selected{--us-menu-item-color: var(--us-primary-color);--us-overlay-color: var(--us-primary-color);--us-overlay-opacity: 0.08;--us-_hover-overlay-opacity: 0;--us-_active-overlay-opacity: 0}.us-menu-group{--us-menu-group-height: 40px;--us-menu-group-padding-y: 0;--us-menu-group-padding-x: 1rem;--us-menu-group-padding-level: 2rem;--us-menu-group-font-size: 12px;--us-menu-group-font-weight: 700;--us-menu-group-gap: 1rem;--us-menu-group-border-width: 1px;--us-menu-group-border-color: #dee2e6}.us-menu-submenu{--us-_active-submenu-item-color: var(--us-primary-color);--us-_active-submenu-item-background: transparent}.us-menu-submenu>.us-menu-item--selected{--us-overlay-opacity: 0;--us-_hover-overlay-opacity: 0;--us-_active-overlay-opacity: 0}.us-tab{--us-tab-color: var(--us-black-color);--us-tab-font-size: 12px;--us-tab-font-weight: 500;--us-tab-indicator-color: var(--us-primary-color);--us-tab-indicator-height: 2px;--us-_hover-overlay-color: inherit;--us-_hover-overlay-opacity: 0.08;--us-_active-overlay-color: inherit;--us-_active-overlay-opacity: 0.12}.us-tab--selected{--us-tab-color: var(--us-primary-color);--us-_hover-overlay-color: inherit;--us-_active-overlay-color: inherit}:root{--us-primary-color: #990000;--us-secondary-color: #dde4eb;--us-success-color: #e1ae30;--us-info-color: #8862e0;--us-warning-color: #ffaf00;--us-danger-color: #ff0017;--us-black-color: #000;--us-white-color: #fff}
package/index.scss CHANGED
@@ -1 +1,21 @@
1
1
  @use 'scss/components';
2
+
3
+ @use 'scss/animation';
4
+
5
+ /* Estilos CSS aquí */
6
+ .slider-container {
7
+ width: 300px;
8
+ height: 20px;
9
+ background-color: #ccc;
10
+ position: relative;
11
+ margin-top: 20px;
12
+ }
13
+
14
+ .slider-point {
15
+ width: 20px;
16
+ height: 20px;
17
+ background-color: #007bff;
18
+ border-radius: 50%;
19
+ position: absolute;
20
+ cursor: pointer;
21
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unifiedsoftware/styles",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "index.scss",
@@ -0,0 +1,45 @@
1
+ @use './variables' as *;
2
+
3
+ .#{$prefix}animation-spin {
4
+ animation: #{$prefix}animation-spin 1s linear infinite;
5
+ transform-origin: center center;
6
+ }
7
+
8
+ @keyframes #{$prefix}animation-spin {
9
+ from {
10
+ transform: rotate(0deg);
11
+ }
12
+ to {
13
+ transform: rotate(360deg);
14
+ }
15
+ }
16
+
17
+ .#{$prefix}animation-pulse {
18
+ animation: #{$prefix}animation-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
19
+ }
20
+
21
+ @keyframes #{$prefix}animation-pulse {
22
+ 0%,
23
+ 100% {
24
+ opacity: 1;
25
+ }
26
+ 50% {
27
+ opacity: 0.5;
28
+ }
29
+ }
30
+
31
+ .#{$prefix}animation-bounce {
32
+ animation: #{$prefix}animation-bounce 1s infinite;
33
+ }
34
+
35
+ @keyframes #{$prefix}animation-bounce {
36
+ 0%,
37
+ 100% {
38
+ transform: translateY(-25%);
39
+ animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
40
+ }
41
+ 50% {
42
+ transform: translateY(0);
43
+ animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
44
+ }
45
+ }
@@ -1,4 +1,5 @@
1
1
  @use '../variables' as *;
2
+ @use '../mixins/overlay' as *;
2
3
 
3
4
  .#{$prefix}button {
4
5
  position: relative;
@@ -11,27 +12,14 @@
11
12
  border-radius: var(--#{$prefix}button-border-radius);
12
13
  cursor: pointer;
13
14
  color: var(--#{$prefix}button-color);
14
- background: var(--#{$prefix}button-background);
15
+ background-color: var(--#{$prefix}button-background);
16
+ display: flex;
17
+ align-items: center;
18
+ gap: var(--#{$prefix}button-gap);
15
19
  user-select: none;
16
20
  -webkit-tap-highlight-color: transparent;
17
21
 
18
- &__elevation {
19
- position: absolute;
20
- inset: 0px;
21
- z-index: 0;
22
- border: var(--#{$prefix}button-border-width) solid var(--#{$prefix}button-border-color);
23
- border-radius: inherit;
24
- background: currentColor;
25
- opacity: var(--#{$prefix}button-elevation-opacity);
26
- }
27
-
28
- &:hover &__elevation {
29
- opacity: var(--#{$prefix}_hover-button-elevation-opacity);
30
- }
31
-
32
- &:active &__elevation {
33
- opacity: var(--#{$prefix}_active-button-elevation-opacity);
34
- }
22
+ @include overlay();
35
23
 
36
24
  &__outline {
37
25
  position: absolute;
@@ -39,5 +27,14 @@
39
27
  z-index: 0;
40
28
  border: var(--#{$prefix}button-outline-border-width) solid var(--#{$prefix}button-outline-border-color);
41
29
  border-radius: inherit;
30
+ pointer-events: none;
31
+ }
32
+
33
+ &__prefix,
34
+ &__suffix,
35
+ &__content {
36
+ position: relative;
37
+ display: flex;
38
+ align-items: center;
42
39
  }
43
40
  }
@@ -0,0 +1,6 @@
1
+ @use '../variables' as *;
2
+
3
+ .#{$prefix}collapse {
4
+ overflow: hidden;
5
+ transition: all 0.15s ease-in-out;
6
+ }
@@ -0,0 +1,11 @@
1
+ @use '../variables' as *;
2
+
3
+ .#{$prefix}icon {
4
+ width: 1em;
5
+ height: 1em;
6
+ font-size: var(--#{$prefix}icon-font-size);
7
+ color: var(--#{$prefix}icon-color);
8
+ display: flex;
9
+ justify-content: center;
10
+ align-items: center;
11
+ }
@@ -1,3 +1,8 @@
1
+ @use 'collapse';
2
+ @use 'icon';
3
+
1
4
  @use 'button';
5
+
6
+ @use 'menu';
2
7
  @use 'divider';
3
8
  @use 'tabs';
@@ -0,0 +1,124 @@
1
+ @use '../variables' as *;
2
+ @use '../mixins/overlay' as *;
3
+
4
+ .#{$prefix}menu {
5
+ margin: 0;
6
+ padding: 0;
7
+ color: var(--#{$prefix}menu-color);
8
+ background-color: var(--#{$prefix}menu-background);
9
+
10
+ &-item {
11
+ position: relative;
12
+ height: var(--#{$prefix}menu-item-height);
13
+ padding: var(--#{$prefix}menu-item-padding-y) var(--#{$prefix}menu-item-padding-x);
14
+ font-size: var(--#{$prefix}menu-item-font-size);
15
+ font-weight: var(--#{$prefix}menu-item-font-weight);
16
+ text-decoration: none;
17
+ cursor: pointer;
18
+ display: flex;
19
+ align-items: center;
20
+ color: var(--#{$prefix}menu-item-color);
21
+ background-color: var(--#{$prefix}menu-item-background);
22
+ user-select: none;
23
+ -webkit-tap-highlight-color: transparent;
24
+ gap: var(--#{$prefix}menu-item-gap);
25
+
26
+ &:hover {
27
+ text-decoration: none;
28
+ }
29
+
30
+ @include overlay();
31
+
32
+ &--disabled {
33
+ opacity: 0.6;
34
+ pointer-events: none;
35
+ }
36
+
37
+ &--selected &__icon {
38
+ --#{$prefix}menu-item-icon-color: var(--#{$prefix}_active-menu-item-icon-color);
39
+ }
40
+
41
+ &__icon {
42
+ flex-shrink: 0;
43
+ z-index: 1;
44
+ display: flex;
45
+ justify-content: center;
46
+ align-items: center;
47
+ }
48
+
49
+ &__icon .#{$prefix}icon {
50
+ --#{$prefix}icon-font-size: var(--#{$prefix}menu-item-icon-font-size);
51
+ --#{$prefix}icon-color: var(--#{$prefix}menu-item-icon-color);
52
+ }
53
+
54
+ &__content {
55
+ flex-grow: 1;
56
+ z-index: 1;
57
+ display: grid;
58
+ overflow: hidden;
59
+ }
60
+
61
+ &__title {
62
+ overflow: hidden;
63
+ display: -webkit-box;
64
+ -webkit-box-orient: vertical;
65
+ -webkit-line-clamp: 1;
66
+ }
67
+ }
68
+
69
+ &-group {
70
+ position: relative;
71
+ height: var(--#{$prefix}menu-group-height);
72
+ padding: var(--#{$prefix}menu-group-padding-y) var(--#{$prefix}menu-group-padding-x);
73
+ font-size: var(--#{$prefix}menu-group-font-size);
74
+ font-weight: var(--#{$prefix}menu-group-font-weight);
75
+ text-decoration: none;
76
+ border-bottom: var(--#{$prefix}menu-group-border-width) solid var(--#{$prefix}menu-group-border-color);
77
+ display: flex;
78
+ align-items: center;
79
+ color: var(--#{$prefix}menu-group-color);
80
+ background-color: var(--#{$prefix}menu-group-background);
81
+ gap: var(--#{$prefix}menu-group-gap);
82
+
83
+ &:hover {
84
+ text-decoration: none;
85
+ }
86
+
87
+ @include overlay();
88
+
89
+ &__icon {
90
+ flex-shrink: 0;
91
+ z-index: 1;
92
+ display: flex;
93
+ justify-content: center;
94
+ align-items: center;
95
+ }
96
+
97
+ &--selected &__icon {
98
+ --#{$prefix}menu-group-icon-color: var(--#{$prefix}_active-menu-item-icon-color);
99
+ }
100
+
101
+ &__icon .#{$prefix}icon {
102
+ --#{$prefix}icon-font-size: var(--#{$prefix}menu-group-icon-font-size);
103
+ --#{$prefix}icon-color: var(--#{$prefix}menu-group-icon-color);
104
+ }
105
+
106
+ &__content {
107
+ flex-grow: 1;
108
+ z-index: 1;
109
+ display: grid;
110
+ overflow: hidden;
111
+ }
112
+
113
+ &__title {
114
+ overflow: hidden;
115
+ display: -webkit-box;
116
+ -webkit-box-orient: vertical;
117
+ -webkit-line-clamp: 1;
118
+ }
119
+ }
120
+
121
+ &-submenu & {
122
+ --#{$prefix}menu-background: var(--#{$prefix}submenu-background);
123
+ }
124
+ }
@@ -0,0 +1,50 @@
1
+ @use '../variables' as *;
2
+
3
+ .#{$prefix}slider {
4
+ position: relative;
5
+ margin: 1rem;
6
+ width: 100%;
7
+ height: 20px;
8
+ display: flex;
9
+ align-items: center;
10
+
11
+ &__track {
12
+ width: 100%;
13
+ height: 5px;
14
+ background-color: blue;
15
+ }
16
+
17
+ &__range {
18
+ width: 50%;
19
+ height: 5px;
20
+ background-color: red;
21
+ }
22
+
23
+ &__thumb {
24
+ position: absolute;
25
+ width: 20px;
26
+ height: 20px;
27
+ border-radius: 9999px;
28
+ background-color: pink;
29
+ }
30
+
31
+ &__marks {
32
+ width: 100%;
33
+ display: flex;
34
+ align-items: center;
35
+ }
36
+
37
+ &__mark {
38
+ position: absolute;
39
+ width: 10px;
40
+ height: 10px;
41
+ border-radius: 9999px;
42
+ background-color: peru;
43
+ }
44
+
45
+ &__mark-label {
46
+ position: absolute;
47
+ top: 1.5rem;
48
+ text-align: center;
49
+ }
50
+ }
@@ -1,4 +1,5 @@
1
1
  @use '../variables' as *;
2
+ @use '../mixins/overlay' as *;
2
3
 
3
4
  .#{$prefix}tabs {
4
5
  width: 100%;
@@ -8,16 +9,19 @@
8
9
 
9
10
  .#{$prefix}tab {
10
11
  position: relative;
11
- width: 100%;
12
12
  padding: 0px 16px;
13
- font-size: 14px;
14
- font-weight: 500;
13
+ font-size: var(--#{$prefix}tab-font-size);
14
+ font-weight: var(--#{$prefix}tab-font-weight);
15
15
  vertical-align: middle;
16
16
  z-index: 1;
17
17
  color: var(--#{$prefix}tab-color);
18
18
  display: inline-flex;
19
19
  justify-content: center;
20
20
  align-items: center;
21
+ user-select: none;
22
+ -webkit-tap-highlight-color: transparent;
23
+
24
+ @include overlay();
21
25
 
22
26
  &__content {
23
27
  position: relative;
@@ -31,8 +35,8 @@
31
35
 
32
36
  &__indicator {
33
37
  position: absolute;
34
- height: 3px;
35
- border-radius: 3px 3px 0px 0px;
38
+ height: var(--#{$prefix}tab-indicator-height);
39
+ border-radius: 0;
36
40
  inset: auto 0px 0px;
37
41
  opacity: 0;
38
42
  z-index: -1;
@@ -41,7 +45,7 @@
41
45
  }
42
46
 
43
47
  &--selected {
44
- color: var(--#{$prefix}_active-tab-color);
48
+ // color: var(--#{$prefix}_active-tab-color);
45
49
  }
46
50
 
47
51
  &--selected &__indicator {
@@ -0,0 +1,52 @@
1
+ @use '../variables' as *;
2
+
3
+ @mixin overlay {
4
+ position: relative;
5
+
6
+ & .#{$prefix}overlay {
7
+ position: absolute;
8
+ inset: 0px;
9
+ border-radius: inherit;
10
+ overflow: hidden;
11
+ color: inherit;
12
+
13
+ &__surface {
14
+ position: absolute;
15
+ inset: 0px;
16
+ color: var(--#{$prefix}overlay-color);
17
+ opacity: var(--#{$prefix}overlay-opacity);
18
+ background-color: currentColor;
19
+ z-index: 0;
20
+ }
21
+
22
+ &::before {
23
+ content: '';
24
+ position: absolute;
25
+ inset: 0px;
26
+ opacity: 0;
27
+ background-color: currentColor;
28
+ transition:
29
+ opacity 15ms linear,
30
+ background-color 15ms linear;
31
+ }
32
+
33
+ &::after {
34
+ content: '';
35
+ position: absolute;
36
+ inset: 0px;
37
+ opacity: 0;
38
+ color: var(--#{$prefix}_active-overlay-color);
39
+ background-color: currentColor;
40
+ transition: opacity 30ms linear;
41
+ }
42
+ }
43
+
44
+ &:hover .#{$prefix}overlay::before {
45
+ color: var(--#{$prefix}_hover-overlay-color);
46
+ opacity: var(--#{$prefix}_hover-overlay-opacity);
47
+ }
48
+
49
+ &:active .#{$prefix}overlay::after {
50
+ opacity: var(--#{$prefix}_active-overlay-opacity);
51
+ }
52
+ }
@@ -4,38 +4,40 @@
4
4
  --#{$prefix}button-font-weight: 500;
5
5
  --#{$prefix}button-border-radius: 4px;
6
6
 
7
- &--contained {
7
+ /* Overlay */
8
+ --#{$prefix}_hover-overlay-color: inherit;
9
+ --#{$prefix}_hover-overlay-opacity: 0.08;
10
+ --#{$prefix}_active-overlay-color: inherit;
11
+ --#{$prefix}_active-overlay-opacity: 0.12;
12
+
13
+ &--filled {
8
14
  --#{$prefix}button-border-width: 1px;
9
15
  --#{$prefix}button-border-color: transparent;
10
16
  --#{$prefix}button-color: var(--#{$prefix}white-color);
11
-
12
- --#{$prefix}button-elevation-opacity: 0;
13
- --#{$prefix}_hover-button-elevation-opacity: 0.08;
14
- --#{$prefix}_active-button-elevation-opacity: 0.12;
15
17
  }
16
18
 
17
- &--contained#{&}--primary {
19
+ &--filled#{&}--primary {
18
20
  --#{$prefix}button-background: var(--#{$prefix}primary-color);
19
21
  }
20
22
 
21
- &--contained#{&}--secondary {
23
+ &--filled#{&}--secondary {
22
24
  --#{$prefix}button-color: var(--#{$prefix}black-color);
23
25
  --#{$prefix}button-background: var(--#{$prefix}secondary-color);
24
26
  }
25
27
 
26
- &--contained#{&}--success {
28
+ &--filled#{&}--success {
27
29
  --#{$prefix}button-background: var(--#{$prefix}success-color);
28
30
  }
29
31
 
30
- &--contained#{&}--info {
32
+ &--filled#{&}--info {
31
33
  --#{$prefix}button-background: var(--#{$prefix}info-color);
32
34
  }
33
35
 
34
- &--contained#{&}--warning {
36
+ &--filled#{&}--warning {
35
37
  --#{$prefix}button-background: var(--#{$prefix}warning-color);
36
38
  }
37
39
 
38
- &--contained#{&}--danger {
40
+ &--filled#{&}--danger {
39
41
  --#{$prefix}button-background: var(--#{$prefix}danger-color);
40
42
  }
41
43
 
@@ -113,6 +115,9 @@
113
115
  --#{$prefix}button-padding-y: 0;
114
116
  --#{$prefix}button-padding-x: 0.75rem;
115
117
  --#{$prefix}button-font-size: 14px;
118
+ --#{$prefix}button-gap: 0.375rem;
119
+
120
+ --#{$prefix}icon-font-size: 1.125rem;
116
121
  }
117
122
 
118
123
  &--md {
@@ -120,12 +125,18 @@
120
125
  --#{$prefix}button-padding-y: 0;
121
126
  --#{$prefix}button-padding-x: 1rem;
122
127
  --#{$prefix}button-font-size: 14px;
128
+ --#{$prefix}button-gap: 0.5rem;
129
+
130
+ --#{$prefix}icon-font-size: 1.25rem;
123
131
  }
124
132
 
125
133
  &--lg {
126
134
  --#{$prefix}button-height: 40px;
127
135
  --#{$prefix}button-padding-y: 0;
128
136
  --#{$prefix}button-padding-x: 1.25rem;
129
- --#{$prefix}button-font-size: 16px;
137
+ --#{$prefix}button-font-size: 1rem;
138
+ --#{$prefix}button-gap: 0.5rem;
139
+
140
+ --#{$prefix}icon-font-size: 1.5rem;
130
141
  }
131
142
  }
@@ -0,0 +1,6 @@
1
+ @use '../../../variables' as *;
2
+
3
+ .#{$prefix}icon {
4
+ --#{$prefix}icon-font-size: 1.5rem;
5
+ --#{$prefix}icon-color: inherit;
6
+ }
@@ -1,2 +1,4 @@
1
+ @use 'icon';
1
2
  @use 'button';
3
+ @use 'menu';
2
4
  @use 'tabs';
@@ -0,0 +1,58 @@
1
+ @use '../../../variables' as *;
2
+
3
+ .#{$prefix}menu {
4
+ --#{$prefix}menu-color: #343a40;
5
+ --#{$prefix}menu-background: #fff;
6
+
7
+ &-item {
8
+ --#{$prefix}menu-item-height: 40px;
9
+ --#{$prefix}menu-item-padding-y: 0;
10
+ --#{$prefix}menu-item-padding-x: 1rem;
11
+ --#{$prefix}menu-item-padding-level: 2rem;
12
+ --#{$prefix}menu-item-font-size: 12px;
13
+ --#{$prefix}menu-item-font-weight: 500;
14
+ --#{$prefix}menu-item-gap: 1rem;
15
+
16
+ --#{$prefix}menu-item-icon-font-size: 16px;
17
+ --#{$prefix}menu-item-icon-color: var(--#{$prefix}primary-color);
18
+
19
+ /* Overlay */
20
+ --#{$prefix}overlay-color: inherit;
21
+ --#{$prefix}overlay-opacity: 0;
22
+ --#{$prefix}_hover-overlay-color: inherit;
23
+ --#{$prefix}_hover-overlay-opacity: 0.08;
24
+ --#{$prefix}_active-overlay-opacity: 0;
25
+
26
+ &--selected {
27
+ --#{$prefix}menu-item-color: var(--#{$prefix}primary-color);
28
+
29
+ --#{$prefix}overlay-color: var(--#{$prefix}primary-color);
30
+ --#{$prefix}overlay-opacity: 0.08;
31
+ --#{$prefix}_hover-overlay-opacity: 0;
32
+ --#{$prefix}_active-overlay-opacity: 0;
33
+ }
34
+ }
35
+
36
+ &-group {
37
+ --#{$prefix}menu-group-height: 40px;
38
+ --#{$prefix}menu-group-padding-y: 0;
39
+ --#{$prefix}menu-group-padding-x: 1rem;
40
+ --#{$prefix}menu-group-padding-level: 2rem;
41
+ --#{$prefix}menu-group-font-size: 12px;
42
+ --#{$prefix}menu-group-font-weight: 700;
43
+ --#{$prefix}menu-group-gap: 1rem;
44
+ --#{$prefix}menu-group-border-width: 1px;
45
+ --#{$prefix}menu-group-border-color: #dee2e6;
46
+ }
47
+
48
+ &-submenu {
49
+ --#{$prefix}_active-submenu-item-color: var(--#{$prefix}primary-color);
50
+ --#{$prefix}_active-submenu-item-background: transparent;
51
+ }
52
+
53
+ &-submenu > &-item--selected {
54
+ --#{$prefix}overlay-opacity: 0;
55
+ --#{$prefix}_hover-overlay-opacity: 0;
56
+ --#{$prefix}_active-overlay-opacity: 0;
57
+ }
58
+ }
@@ -2,7 +2,21 @@
2
2
 
3
3
  .#{$prefix}tab {
4
4
  --#{$prefix}tab-color: var(--#{$prefix}black-color);
5
- --#{$prefix}_active-tab-color: var(--#{$prefix}primary-color);
5
+ --#{$prefix}tab-font-size: 12px;
6
+ --#{$prefix}tab-font-weight: 500;
6
7
 
7
8
  --#{$prefix}tab-indicator-color: var(--#{$prefix}primary-color);
9
+ --#{$prefix}tab-indicator-height: 2px;
10
+
11
+ /* Overlay */
12
+ --#{$prefix}_hover-overlay-color: inherit;
13
+ --#{$prefix}_hover-overlay-opacity: 0.08;
14
+ --#{$prefix}_active-overlay-color: inherit;
15
+ --#{$prefix}_active-overlay-opacity: 0.12;
16
+
17
+ &--selected {
18
+ --#{$prefix}tab-color: var(--#{$prefix}primary-color);
19
+ --#{$prefix}_hover-overlay-color: inherit;
20
+ --#{$prefix}_active-overlay-color: inherit;
21
+ }
8
22
  }