@nulllogic/scssleon 1.0.3 → 1.0.5

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 (46) hide show
  1. package/README.md +134 -34
  2. package/package.json +12 -10
  3. package/scss/_base.scss +37 -16
  4. package/scss/_config.scss +14 -40
  5. package/scss/_content.scss +32 -8
  6. package/scss/_functions.scss +12 -25
  7. package/scss/_mixins.scss +0 -1
  8. package/scss/_reset.scss +41 -11
  9. package/scss/_root.scss +8 -13
  10. package/scss/components/_accordion.scss +4 -4
  11. package/scss/components/_alert.scss +4 -4
  12. package/scss/components/_badge.scss +4 -4
  13. package/scss/components/_breadcrumb.scss +4 -4
  14. package/scss/components/_button.scss +4 -4
  15. package/scss/components/_button_group.scss +4 -4
  16. package/scss/components/_card.scss +4 -4
  17. package/scss/components/_container.scss +19 -17
  18. package/scss/components/_dropdown.scss +11 -1
  19. package/scss/components/_form.scss +3 -44
  20. package/scss/components/_loader.scss +4 -4
  21. package/scss/components/_megamenu.scss +15 -0
  22. package/scss/components/_modal.scss +4 -4
  23. package/scss/components/_nav.scss +4 -3
  24. package/scss/components/_navbar.scss +4 -4
  25. package/scss/components/_overlay.scss +4 -4
  26. package/scss/components/_pagination.scss +4 -4
  27. package/scss/components/_placeholder.scss +4 -23
  28. package/scss/components/_sidecap.scss +4 -4
  29. package/scss/components/_table.scss +3 -3
  30. package/scss/components/_tooltip.scss +15 -0
  31. package/scss/forms/_checkbox.scss +5 -5
  32. package/scss/forms/_input-group.scss +4 -4
  33. package/scss/forms/_input.scss +4 -4
  34. package/scss/forms/_label.scss +4 -4
  35. package/scss/forms/_radio.scss +4 -4
  36. package/scss/forms/_range.scss +4 -4
  37. package/scss/forms/_select.scss +4 -4
  38. package/scss/forms/_switch.scss +4 -4
  39. package/scss/forms/_validation.scss +4 -4
  40. package/scss/mixins/_utilities.scss +1 -1
  41. package/scss/mixins/generators/_color-sheme.scss +1 -13
  42. package/scss/mixins/generators/_components.scss +79 -16
  43. package/scss/mixins/generators/_properties.scss +163 -64
  44. package/scss/scssleon.scss +49 -37
  45. package/scss/themes/_default.scss +1417 -321
  46. package/scss/mixins/generators/_wrapper.scss +0 -16
@@ -1,77 +1,90 @@
1
1
  @use 'sass:map';
2
2
  @use "sass:string";
3
+ @use '../functions' as functions;
3
4
 
4
- // Main theme colors
5
+ $config: () !default;
6
+
7
+ // Main theme _colors
5
8
  $theme: () !default;
6
- $updated-theme : () !default;
9
+ $updated-theme: () !default;
7
10
 
8
11
  $html-config: (
9
12
  root: (
13
+
10
14
  --font-family-default : string.unquote("system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', 'Liberation Sans', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'"),
11
15
  --font-family-monospace : string.unquote("ui-monospace, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace"),
16
+
12
17
  ),
18
+
13
19
  html : (
14
20
  body : (
15
- margin: 0,
16
21
  -webkit-text-size-adjust: 100%,
17
- font-size : 1rem,
22
+ -webkit-font-smoothing: antialiased,
23
+
24
+ margin: 0,
25
+
26
+ font-size : 1em,
18
27
  font-weight: normal,
19
- line-height : 1,
20
28
  font-family: var(global(--font-family-default)),
29
+ line-height : 1,
30
+ text-rendering: optimizelegibility,
31
+ font-synthesis-weight: none,
32
+
21
33
  color: var(--color),
22
34
  background: var(--background),
23
- text-rendering: optimizelegibility,
24
- -webkit-font-smoothing: antialiased,
25
- colors: (
35
+
36
+ _colors: (
26
37
  light : (
27
- background: '#fff',
38
+ background: rgb(244, 245, 250) linear-gradient(to top, #ffffff, #fefefe, #f3f2f8, #f3f4f9, #f4f5fa),
28
39
  color: '#ccc',
29
40
  ),
30
41
  dark : (
31
42
  background : rgba(18, 20, 23, 1),
32
43
  color: '#ccc'
33
44
  )
45
+ ),
46
+
47
+ _subclasses : (
48
+ '&[scroll-lock]' : (
49
+ overflow: hidden
50
+ )
34
51
  )
35
52
  ),
53
+
36
54
  a : (
37
- text-decoration : underline,
38
- color: var(--a-color),
39
- colors: (
55
+ text-decoration : none,
56
+ color: var(--color),
57
+
58
+ _colors: (
40
59
  light : (
41
- color: '#ccc',
60
+ color: '#333',
42
61
  ),
43
62
  dark : (
44
63
  color: '#ccc'
45
64
  )
46
65
  ),
47
- subclasses : (
48
- "&[target='_blank']" : (
49
- subclasses : (
50
- "&:after" : (
51
- background: red,
52
- display: inline-flex,
53
- width: 12px,
54
- height: 12px,
55
- content : ''
56
- )
57
- ),
58
- )
66
+
67
+ _subclasses : (
68
+ '&:hover': (
69
+ text-decoration: none
70
+ ),
59
71
  )
72
+
60
73
  ),
61
74
  ol: (
62
75
  margin: 0,
63
76
  padding: 0,
64
- list-style-type: none,
77
+ //list-style-type: none,
65
78
  ),
66
79
  ul: (
67
80
  margin: 0,
68
81
  padding: 0,
69
- list-style-type: none,
82
+ //list-style-type: none,
70
83
  ),
71
84
  dl: (
72
85
  margin: 0,
73
86
  padding: 0,
74
- list-style-type: none,
87
+ //list-style-type: none,
75
88
  ),
76
89
  img : (
77
90
  vertical-align: middle,
@@ -79,9 +92,62 @@ $html-config: (
79
92
  height: auto,
80
93
  max-width: 100%,
81
94
  ),
82
- p : (
83
- margin: 0
84
- )
95
+
96
+ code : (
97
+
98
+ //margin-block: -.125rem,
99
+ //padding: .125rem .375rem,
100
+
101
+ color: var(--color),
102
+ background: var(--background),
103
+
104
+ _colors: (
105
+ light : (
106
+ background: rgba(228, 221, 83, 0.65),
107
+ color: inherit,
108
+ ),
109
+ dark : (
110
+ background : oklch(0.63 0.14 106.66 / 0.54),
111
+ color: inherit,
112
+ )
113
+ ),
114
+ ),
115
+
116
+ kbd: (
117
+ font-family: var(global(--font-family-monospace)),
118
+
119
+ margin-block: -.125rem,
120
+ padding: .125rem .375rem,
121
+
122
+ border: var(--border),
123
+ background: var(--background),
124
+ color: var(--color),
125
+
126
+ //font-size: 11px,
127
+ //color: #4e4e4e,
128
+ //text-shadow: none,
129
+ //background-color: #f7f7f7,
130
+ //padding: 4px 7px,
131
+ //border: 1px solid rgba(0,0,0,0.2),
132
+ //border-radius: 7px,
133
+ //box-shadow: 0 2px 0 0 rgba(0,0,0,0.2), 0 0 0 1px #fafafa inset,
134
+ //margin: 0 1px,
135
+
136
+ _colors: (
137
+ light : (
138
+ background: rgb(255, 255, 255),
139
+ color: inherit,
140
+ border: 1px solid rgba(19, 19, 19, 0.2),
141
+ shadow: string.unquote(' rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.1) 0px 2px 4px -2px'),
142
+ ),
143
+ dark : (
144
+ background : oklch(.205 0 0),
145
+ color: inherit,
146
+ border: 1px solid rgba(19, 19, 19, 0.2),
147
+ shadow: string.unquote(' rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.1) 0px 2px 4px -2px'),
148
+ )
149
+ )
150
+ ),
85
151
  )
86
152
  );
87
153
 
@@ -89,51 +155,85 @@ $updated-theme: map.deep-merge($updated-theme, $html-config);
89
155
 
90
156
  $content-config: (
91
157
  content : (
158
+ a : (
159
+ text-decoration: underline,
160
+ _subclasses : (
161
+ '&:hover' : (
162
+ text-decoration: none,
163
+ )
164
+ )
165
+ ),
92
166
  h1 : (
93
- font-size: 3.5rem,
94
- line-height : inherit,
167
+ font-size: clamp(2.0273rem, 1.8053rem + 0.8833vw, 2.5341rem),
168
+ line-height: 1,
95
169
  font-weight: 500,
96
170
  margin: 0,
97
171
  padding: 0 0 15px 0
98
172
  ),
99
173
  h2 : (
100
- font-size: 2.8rem,
101
- line-height : inherit,
174
+ font-size: clamp(1.802rem, 1.7034rem + 0.3926vw, 2.0273rem),
175
+ line-height: 1,
102
176
  font-weight: 500,
103
177
  margin: 0,
104
178
  padding: 0 0 15px 0
105
179
  ),
106
180
  h3 : (
107
- font-size: 2.4rem,
108
- line-height : inherit,
181
+ font-size: clamp(1.6018rem, 1.5141rem + 0.349vw, 1.802rem),
182
+ line-height: 1,
109
183
  font-weight: 500,
110
184
  margin: 0,
111
185
  padding: 0 0 15px 0
112
186
  ),
113
187
  h4 : (
114
- font-size: 2rem,
115
- line-height : inherit,
188
+ font-size: clamp(1.4238rem, 1.3459rem + 0.3102vw, 1.6018rem),
189
+ line-height: 1,
116
190
  font-weight: 500,
117
191
  margin: 0,
118
192
  padding: 0 0 15px 0
119
193
  ),
120
194
  h5 : (
121
- font-size: 1.8rem,
122
- line-height : inherit,
195
+ font-size: clamp(1.2656rem, 1.1963rem + 0.2757vw, 1.4238rem),
196
+ line-height: 1,
123
197
  font-weight: 500,
124
198
  margin: 0,
125
199
  padding: 0 0 15px 0
126
200
  ),
127
201
  h6 : (
128
- font-size: 1.625rem,
129
- line-height : inherit,
202
+ font-size: clamp(1.125rem, 1.0634rem + 0.2451vw, 1.2656rem),
203
+ line-height: 1,
130
204
  font-weight: 500,
131
205
  margin: 0,
132
206
  padding: 0 0 15px 0
133
207
  ),
134
208
  p : (
135
209
  margin: 0,
136
- padding: 0 0 15px 0
210
+ padding: 0 0 15px 0,
211
+ line-height: clamp(1.5rem, calc(1rem * pow(1.618, 1)), 1.618rem),
212
+ ),
213
+ blockquote: (
214
+ margin: 0px 0px 15px,
215
+ line-height: clamp(1.25em, 4vw, 1.5em),
216
+ padding: 1rem,
217
+ font-style: italic,
218
+ font-size: 1.5rem,
219
+
220
+ border-left: var(--blockquote-border),
221
+
222
+ _colors: (
223
+ light: (
224
+ blockquote-border: 3px solid #939393,
225
+ //blockquote-background: rgba(0, 0, 0, 0.65),
226
+ ),
227
+ dark: (
228
+ blockquote-border: 3px solid #ccc,
229
+ //blockquote-background: rgba(0, 0, 0, 0.65),
230
+ )
231
+ ),
232
+ _subclasses : (
233
+ cite : (
234
+
235
+ )
236
+ )
137
237
  ),
138
238
  abbr: (
139
239
  attributes : (
@@ -148,12 +248,32 @@ $content-config: (
148
248
  ),
149
249
  ol: (
150
250
  margin-bottom: 15px,
251
+ line-height: clamp(1.25em, 4vw, 1.5em),
252
+ //list-style-type: attr(type),
253
+ margin-left: 1rem,
254
+ _subclasses : (
255
+ '& ol': (
256
+ //list-style-type: attr(type),
257
+ margin-bottom: 0.5rem,
258
+ margin-inline-start: 1rem,
259
+ )
260
+ )
151
261
  ),
152
262
  ul: (
153
- margin-bottom: 15px,
263
+ margin-bottom: 0.5rem,
264
+ margin-inline-start: 1rem,
265
+ line-height: clamp(1.25em, 4vw, 1.5em),
266
+ list-style-type: inherit,
267
+ _subclasses : (
268
+ '& ul': (
269
+ margin-bottom: 0.5rem,
270
+ margin-inline-start: 1rem,
271
+ )
272
+ )
154
273
  ),
155
274
  dl: (
156
275
  margin-bottom: 15px,
276
+ line-height: clamp(1.25em, 4vw, 1.5em),
157
277
  ),
158
278
  dt: (
159
279
  font-weight: normal,
@@ -185,24 +305,18 @@ $content-config: (
185
305
  ),
186
306
  pre: (
187
307
  font-family: var(global(--font-family-monospace)),
188
- ),
189
- code: (
190
- color: var(--color),
191
- background: var(--background),
192
- padding: 0 5px,
193
- colors: (
194
- light : (
195
- background: '#fff',
196
- color: '#ccc',
197
- ),
198
- dark : (
199
- background : rgba(38,69,116,1),
200
- color: '#fff'
308
+ margin-block: -.125rem,
309
+ padding: .575rem .375rem,
310
+ margin: 0 0 15px 0,
311
+ line-height: 1.1,
312
+ display: block,
313
+ border-radius: 0.5rem,
314
+ _subclasses : (
315
+ code : (
316
+ background: none,
201
317
  )
202
318
  )
203
319
  ),
204
- kbd: (
205
- ),
206
320
  figure: (
207
321
  margin: 0 0 15px 0,
208
322
  ),
@@ -268,7 +382,7 @@ $content-config: (
268
382
  border-top-width: 1px,
269
383
  border-top-style: solid,
270
384
  border-top-color: var(--border-top-color),
271
- colors: (
385
+ _colors: (
272
386
  light: (
273
387
  border-top-color: #ccc
274
388
  ),
@@ -276,7 +390,7 @@ $content-config: (
276
390
  border-top-color: #555
277
391
  )
278
392
  )
279
- )
393
+ ),
280
394
  )
281
395
  );
282
396
 
@@ -287,47 +401,133 @@ $components-config: (
287
401
 
288
402
  alert: (
289
403
 
290
- --border-radius: .25rem,
291
- --padding: 1.25rem,
404
+ --border-radius: .5rem,
405
+ --grid-template-columns: 20px auto 30px,
406
+ --gap : 0.5rem,
407
+ --padding: 0.825rem,
292
408
 
293
- box-shadow: var(--shadow),
294
409
  background: var(--background),
410
+ border-radius: var(--border-radius),
411
+ border: var(--border),
412
+ grid-template-columns: var(--grid-template-columns),
413
+ grid-gap: var(--gap),
414
+ padding: var(--padding),
295
415
 
296
416
  outline: 1px solid transparent,
297
417
  position: relative,
298
- display: flex,
418
+ display: grid,
419
+ width: 100%,
420
+ max-width: 100%,
421
+ align-items: center,
422
+ line-height: 1rem,
299
423
 
300
- colors: (
424
+ _colors: (
301
425
  light : (
302
426
  background: rgba(246, 246, 247, 1),
303
- shadow: string.unquote("inset 0 0.0625rem 0 0 rgba(186, 191, 195, 1), inset 0 0 0 0.0625rem rgba(186, 191, 195, 1)"),
427
+ border: 1px solid rgb(219, 219, 219),
304
428
  ),
305
429
  dark : (
306
- background: rgb(48, 56, 66),
307
- border: 1px solid rgba(182, 199, 216, .35),
308
- shadow: string.unquote("inset 0 0.0625rem 0 0 rgba(186, 191, 195, 1), inset 0 0 0 0.0625rem rgba(186, 191, 195, 1)"),
430
+ background: rgb(18, 18, 24),
431
+ border: 1px solid rgba(48, 54, 61, 0.75),
309
432
  )
310
- )
433
+ ),
311
434
 
312
435
  ),
313
436
 
314
437
  accordion : (
315
438
 
316
439
  --border-radius: .25rem,
317
- --padding: 1.25rem,
440
+ --padding: 0.5rem,
441
+ --item-padding: 0 0 .5rem 0,
318
442
 
443
+ border-radius: var(--border-radius),
319
444
  position: relative,
320
445
  width: 100%,
321
446
 
322
- colors: (
447
+ padding: var(--padding),
448
+
449
+ _colors: (
323
450
  light : (
324
451
  ),
325
452
  dark : (
326
453
  border: 1px solid rgba(182, 199, 216, .35),
327
454
  background: rgb(46, 56, 66),
328
455
  )
329
- )
456
+ ),
457
+
458
+ _subclasses : (
459
+
460
+ '.item' : (
461
+ padding: var(--item-padding),
462
+
463
+ _subclasses : (
464
+ '.question' : (
465
+
466
+ display: flex,
467
+ border-bottom: 1px solid #ccc,
468
+ justify-content: space-between,
469
+
470
+ _subclasses : (
471
+ '> button' : (
472
+ color: inherit,
473
+ background: none,
474
+ border: none,
475
+ cursor: pointer,
476
+ display: flex,
477
+ padding: 0,
478
+ font-size: inherit,
479
+ width: 100%,
480
+ align-items: center,
481
+ justify-content: space-between
482
+ ),
483
+
484
+ '&.open' : (
485
+ _subclasses : (
486
+ '.icon' : (
487
+ transform: rotate(180deg)
488
+ )
489
+ )
490
+ ),
491
+ '.icon' : (
492
+
493
+ )
494
+ )
495
+ ),
330
496
 
497
+ '.answer' : (
498
+
499
+ display: block,
500
+ padding: 0.5rem 0,
501
+ height: auto,
502
+ opacity: 1,
503
+
504
+ transition: string.unquote('opacity 0.15s ease-in, display 0.15s ease-in allow-discrete'),
505
+
506
+ _subclasses : (
507
+ '&[hidden]' : (
508
+ display: none,
509
+ opacity: 0,
510
+ transition: string.unquote('opacity 0.15s ease-out, display 0.15s ease-out allow-discrete'),
511
+ )
512
+ )
513
+ ),
514
+
515
+ '&:last-child' : (
516
+ padding-bottom: 0,
517
+ ),
518
+
519
+ // Avoid running animation onload and add animation, when user hover the element
520
+ // @TODO Add focus later, when user navigate by keyboard
521
+ '&:hover .answer' : (
522
+ _atrule : (
523
+ '@starting-style' : (
524
+ opacity: 0
525
+ )
526
+ ),
527
+ )
528
+ )
529
+ )
530
+ )
331
531
  ),
332
532
 
333
533
  badge : (
@@ -338,7 +538,6 @@ $components-config: (
338
538
  font-size: .75rem,
339
539
  line-height: 1rem,
340
540
  font-weight: 500,
341
-
342
541
  white-space: nowrap,
343
542
  vertical-align: middle,
344
543
  align-items: center,
@@ -346,45 +545,45 @@ $components-config: (
346
545
 
347
546
  padding: var(--padding),
348
547
  border-radius: var(--border-radius),
349
- color: var(--color),
350
548
  background: var(--background),
351
549
  box-shadow: var(--box-shadow),
352
550
  border: var(--border),
353
551
 
354
- colors: (
552
+ _colors: (
355
553
  light : (
356
- color: #ccc,
357
- box-shadow: none
554
+ box-shadow: none,
555
+ border: 1px solid rgba(33, 33, 33, 0.15),
556
+ background: rgba(247, 247, 247, 0.85),
358
557
  ),
359
558
  dark : (
360
- color: #ccc,
361
- background: rgb(40, 50, 60),
559
+ background: rgba(40, 50, 60, 0.85),
362
560
  box-shadow: none,
363
- border: 1px solid #ccc,
561
+ border: 1px solid rgba(255, 255, 255, 0.15),
364
562
  )
365
563
  )
366
564
  ),
367
565
 
368
566
  breadcrumb : (
369
- --padding: 0 0 0 5px,
567
+
370
568
  list-style: none,
371
569
  align-items: center,
372
570
  display: flex,
373
571
  flex-wrap: wrap,
374
- padding: var(--padding),
572
+
375
573
  margin: 0,
376
- colors: (
574
+
575
+ _colors: (
377
576
  light : (
378
577
  ),
379
578
  dark : (
380
579
  )
381
580
  ),
382
- subclasses : (
383
- ".item" : (
384
- display: inline-flex,
385
- subclasses : (
386
- ".link" : (
387
581
 
582
+ _subclasses : (
583
+ '.item' : (
584
+ display: inline-flex,
585
+ _subclasses : (
586
+ '.link' : (
388
587
  )
389
588
  )
390
589
  )
@@ -392,33 +591,24 @@ $components-config: (
392
591
  ),
393
592
 
394
593
  button : (
395
- --border-radius: .25rem,
396
- --box-shadow : (
397
- inset 0 0 0 1px rgba(0, 0, 0, 0.05),
398
- inset 0 1px 2px 0 rgba(78, 83, 90, 0.1)
399
- // inset -0.0625rem 0 0 #e3e3e3,
400
- // inset 0.0625rem 0 0 #e3e3e3,
401
- // inset 0 0.0625rem 0 #e3e3e3
402
- ),
594
+
403
595
  --padding: .5rem .75rem,
596
+ --border-radius: .25rem,
404
597
 
405
598
  display: inline-flex,
406
599
  align-items: center,
407
600
  align-content: center,
408
601
  white-space: nowrap,
409
- user-select: none,
410
602
  text-decoration: none,
411
603
  cursor: pointer,
412
-
413
604
  vertical-align: middle,
414
605
  font-size: 1em,
415
-
416
606
  padding: var(--padding),
417
607
  border: var(--border),
418
608
  background: var(--background),
419
609
  color: var(--color),
420
610
  border-radius: var(--border-radius),
421
-
611
+ box-shadow: var(--box-shadow),
422
612
  // This one is required for button group use
423
613
  position: relative,
424
614
 
@@ -429,111 +619,142 @@ $components-config: (
429
619
  box-shadow .15s ease-in-out
430
620
  ),
431
621
 
432
- colors: (
622
+ _colors: (
433
623
  light: (
434
- color: #fff,
435
- background: #fff
624
+ // Default
625
+ color: inherit,
626
+ background: rgb(250, 250, 250),
627
+ border: 1px solid rgb(188, 188, 188),
628
+ // Hover state
629
+ hover-color: inherit,
630
+ hover-background: rgb(235, 235, 235),
631
+ hover-border: 1px solid rgb(180, 180, 180),
632
+ // Active state
633
+ active-color: inherit,
634
+ active-background: rgb(235, 235, 235),
635
+ active-border: 1px solid rgb(180, 180, 180),
636
+ active-shadow: string.unquote('-0.0625rem 0rem 0.0625rem 0rem rgba(33,33,33,.1) inset,0.0625rem 0rem 0.0625rem 0rem rgba(3,33,33,.15) inset,0rem 0.125rem 0.0625rem 0rem rgba(44,44,44,0.15) inset'),
637
+ // Focus
638
+ focus : 0 0 0 0.2rem rgba(98, 175, 97, .5),
436
639
  ),
437
640
  dark: (
438
-
439
641
  // Default
440
642
  color: #fff,
441
643
  background: rgb(48, 56, 66),
442
644
  border: 1px solid rgba(240, 246, 252, .25),
443
-
444
645
  // Hover state
445
646
  hover-color: #fff,
446
647
  hover-background: rgb(59, 68, 81),
447
648
  hover-border: 1px solid rgba(229, 235, 240, .55),
448
-
449
- // Disabled state
450
- disabled-color: #484f58,
451
- disabled-background: #21262d,
452
- disabled-border: 1px solid rgba(240, 246, 252, 0.1),
453
-
454
649
  // Active state
455
650
  active-color: #fff,
456
651
  active-background: rgb(39, 45, 53),
457
652
  active-border: 1px solid rgba(240, 246, 252, .25),
458
- active-shadow: string.unquote("-0.0625rem 0rem 0.0625rem 0rem rgba(26,26,26,0.122) inset,0.0625rem 0rem 0.0625rem 0rem rgba(26,26,26,0.122) inset, 0rem 0.125rem 0.0625rem 0rem rgba(26,26,26,0.2) inset")
459
-
653
+ active-shadow: string.unquote('-0.0625rem 0rem 0.0625rem 0rem rgba(15,15,15,.35) inset,0.0625rem 0rem 0.0625rem 0rem rgba(13,13,13, .35) inset,0rem 0.125rem 0.0625rem 0rem rgba(15,15,15,0.35) inset'),
654
+ // Focus
655
+ focus : 0 0 0 0.2rem rgba(98, 175, 97, .5),
460
656
  )
461
657
  ),
462
658
 
463
- subclasses : (
464
- "&:hover:not(.loading, [disabled], .btn-link)" : (
659
+ _subclasses : (
660
+ '&:focus-visible:not([disabled])' : (
661
+ outline: none,
662
+ box-shadow: var(--focus)
663
+ ),
664
+ '&:hover:not(.loading, [disabled], .link, .blank)' : (
465
665
  color: var(--hover-color),
466
666
  background: var(--hover-background),
467
667
  border: var(--hover-border),
468
668
  ),
469
- "&:active:not(.loading, [disabled], .btn-link)" : (
669
+ '&:active:not(.loading, [disabled], .link, .blank)' : (
470
670
  color: var(--active-color),
471
671
  background: var(--active-background),
472
672
  border: var(--active-border),
473
673
  box-shadow: var(--active-shadow),
474
674
  ),
475
- "&.btn-link" : (
675
+
676
+ '&.link' : (
677
+ display: inline-flex,
678
+ align-items: center,
476
679
  background: transparent,
680
+ padding: var(--padding),
477
681
  border: none,
478
682
  box-shadow: none,
479
- subclasses: (
480
- "&:hover": (
481
- text-decoration: underline,
683
+ text-decoration: underline,
684
+ _subclasses: (
685
+ '&:hover': (
686
+ text-decoration: none,
482
687
  )
483
688
  )
484
689
  ),
485
- "&.loading" : (
690
+
691
+ '&.blank' : (
692
+ display: inline-flex,
693
+ align-items: center,
694
+ padding: 0,
695
+ border: none,
696
+ box-shadow: none,
697
+ background: transparent,
698
+ text-decoration: none,
699
+ ),
700
+
701
+ '&.loading' : (
486
702
  cursor: wait,
487
703
  ),
488
- "&.btn[disabled]" : (
704
+
705
+ '&[disabled]' : (
489
706
  cursor: not-allowed,
490
- color: var(--disabled-color),
491
- background: var(--disabled-background),
492
- border: var(--disabled-border),
707
+
708
+ color: var(--color),
709
+ background: var(--background),
710
+ border: var(--border),
493
711
  box-shadow: none,
712
+
713
+ _colors: (
714
+ light: (
715
+ color: rgba(28, 29, 31, 0.5),
716
+ background: rgb(235, 235, 235),
717
+ border: 1px solid rgb(188, 188, 188),
718
+ ),
719
+ dark: (
720
+ color: inherit,
721
+ background: #21262d,
722
+ border: 1px solid rgba(240, 246, 252, 0.1),
723
+ )
724
+ )
494
725
  )
495
726
  )
496
727
  ),
497
728
 
498
729
  button-group: (
499
730
  --gap: 10px,
500
-
501
731
  display: flex,
502
732
  flex-wrap: wrap,
503
-
504
- subclasses : (
505
- ".btn:first-child" : (
733
+ _subclasses : (
734
+ '.btn:first-child' : (
506
735
  border-start-end-radius: 0,
507
736
  border-end-end-radius: 0,
508
737
  ),
509
-
510
- ".btn:last-child" : (
738
+ '.btn:last-child' : (
511
739
  border-start-start-radius: 0,
512
740
  border-end-start-radius: 0,
513
741
  ),
514
-
515
- ".btn:not(:first-child)" : (
742
+ '.btn:not(:first-child)' : (
516
743
  margin-left: - 1px
517
744
  ),
518
-
519
- ".btn:not(:first-child, :last-child)" : (
745
+ '.btn:not(:first-child, :last-child)' : (
520
746
  border-radius: 0
521
747
  ),
522
-
523
- ".btn:only-child" : (
524
-
748
+ '.btn:only-child' : (
525
749
  ),
526
-
527
- ".btn:hover, .btn:focus" : (
750
+ '.btn:hover, .btn:focus' : (
528
751
  z-index: 1
529
752
  ),
530
-
531
- "&.separated" : (
753
+ '&.separated' : (
532
754
  gap: var(--gap),
533
755
  --border-radius: 5px,
534
-
535
- subclasses : (
536
- ".btn" : (
756
+ _subclasses : (
757
+ '.btn' : (
537
758
  margin: 0,
538
759
  border-radius: var(--border-radius)
539
760
  )
@@ -542,9 +763,86 @@ $components-config: (
542
763
  )
543
764
  ),
544
765
 
766
+ dropdown: (
767
+
768
+ position: relative,
769
+ display: inline-block,
770
+
771
+ z-index: functions.get-config($config, 'z-index.dropdown'),
772
+
773
+ _colors: (
774
+ light : (
775
+ background: rgba(246, 246, 247, 1),
776
+ border: 1px solid rgb(219, 219, 219),
777
+ shadow: string.unquote('rgba(37, 41, 46, 0.04) 0px 6px 12px -3px, rgba(37, 41, 46, 0.12) 0px 6px 18px 0px'),
778
+ ),
779
+ dark : (
780
+ background: rgb(18, 18, 24),
781
+ border: 1px solid rgba(48, 54, 61, 0.75),
782
+ shadow: string.unquote('rgba(37, 41, 46, 0.04) 0px 6px 12px -3px, rgba(37, 41, 46, 0.12) 0px 6px 18px 0px'),
783
+ )
784
+ ),
785
+
786
+ _subclasses : (
787
+ '&.on-hover:hover' : (
788
+ _subclasses : (
789
+ '& > .dropdown' : (
790
+ display: block,
791
+ opacity: 1,
792
+ transform: translateY(0),
793
+
794
+ _atrule : (
795
+ '@starting-style' : (
796
+ opacity: 0,
797
+ transform: translateY(-5px)
798
+ )
799
+ ),
800
+ )
801
+ )
802
+ ),
803
+
804
+ '.dropdown' : (
805
+
806
+ display: none,
807
+ position: absolute,
808
+ top: 100%,
809
+ left: 0,
810
+ border-radius: 0.25rem,
811
+ padding: .5rem,
812
+ width: 200px,
813
+ height: auto,
814
+
815
+ border: var(--border),
816
+ background: var(--background),
817
+ box-shadow: var(--shadow),
818
+
819
+ transition: string.unquote('opacity 0.15s ease-in, transform 0.15s ease-in, display 0.15s ease-in allow-discrete'),
820
+ transform: translateY(-5px),
821
+ opacity: 0,
822
+
823
+ _subclasses : (
824
+ '&:before': (
825
+ content: ' ',
826
+ left: 0,
827
+ top: -5px,
828
+ height: 5px,
829
+ width: 100%,
830
+ display: block,
831
+ position: absolute,
832
+ ),
833
+ '&.to-right' : (
834
+ top: 0,
835
+ left: 100%,
836
+ )
837
+ )
838
+ )
839
+ )
840
+ ),
841
+
545
842
  card : (
546
- --border-radius: .25rem,
547
- --padding: 10px,
843
+
844
+ --border-radius: .5rem,
845
+ --padding: .825rem,
548
846
 
549
847
  background: var(--background),
550
848
  padding: var(--padding),
@@ -555,12 +853,14 @@ $components-config: (
555
853
  height: 100%,
556
854
  margin: 0,
557
855
 
558
- colors: (
856
+ _colors: (
559
857
  light : (
560
- background: rgb(200, 200, 200)
858
+ background: rgb(250, 250, 250),
859
+ border : 1px solid rgb(219, 219, 219),
860
+ shadow: string.unquote('0 4px 12px rgba(224,224,224,0.5)')
561
861
  ),
562
862
  dark : (
563
- border: 1px solid rgba(48, 54, 61, .75),
863
+ border: 1px solid #3d444d,
564
864
  background: rgb(22, 27, 34),
565
865
  shadow: rgba(1, 4, 9, 0.4) 0 1px 0 0
566
866
  )
@@ -570,103 +870,554 @@ $components-config: (
570
870
  container : (
571
871
  margin: 0 auto,
572
872
  width: 100%,
573
- colors: (
574
- light : (),
575
- dark : ()
576
- ),
577
-
578
873
  ),
579
874
 
580
875
  form : (
581
- label : (
582
- display: block,
583
- margin-bottom: 10px,
584
- ),
585
- input : (
586
- --border-radius: .25rem,
587
- --padding: .5rem .75rem,
588
- display: block,
589
- colors: (
590
- light : (
591
- ),
592
- dark : (
593
- color: #fff,
594
- background: rgb(48, 56, 66),
595
- border: 1px solid rgba(240, 246, 252, .25),
596
- )
597
- )
598
- ),
599
- select : (
600
- --border-radius: .25rem,
601
- --padding: .5rem .75rem,
602
- display: block,
603
- colors: (
604
- light : (
605
- ),
606
- dark : (
607
- color: #fff,
608
- background: rgb(48, 56, 66),
609
- border: 1px solid rgba(240, 246, 252, .25),
610
- )
611
- )
612
- ),
613
- checkbox : (
614
- --border-radius: .25rem,
615
- --padding: .5rem .75rem,
616
- colors: (
617
- light : (
618
- ),
619
- dark : (
620
- color: #fff,
621
- background: rgb(48, 56, 66),
622
- border: 1px solid rgba(240, 246, 252, .25),
623
- )
624
- )
625
- ),
626
- radio : (
627
- --border-radius: .25rem,
628
- --padding: .5rem .75rem,
629
- colors: (
630
- light : (
631
- ),
632
- dark : (
633
- color: #fff,
634
- background: rgb(48, 56, 66),
635
- border: 1px solid rgba(240, 246, 252, .25),
636
- )
637
- )
638
- ),
639
- validation : (
640
- )
641
- ),
642
- table : (
643
- width: 100%,
644
- ),
645
-
646
- overlay : (
647
-
648
- position: absolute,
649
- top: 0,
650
- bottom: 0,
651
- left: 0,
652
- right: 0,
653
- width: 100%,
654
- height: 100%,
655
876
 
656
- colors: (
877
+ _colors: (
657
878
  light : (
879
+ caret-color: oklch(0.442 0.143 142.163),
880
+ box-shadow-focus: 0 0 0 .25rem rgba(13, 110, 253, .25),
658
881
  ),
659
882
  dark : (
660
- background: rgba(15, 23, 42, .25),
883
+ caret-color: oklch(0.442 0.143 142.163),
884
+ box-shadow-focus: 0 0 0 .25rem rgba(13, 110, 253, .25),
661
885
  )
662
- )
663
- ),
886
+ ),
887
+
888
+ _subclasses : (
889
+ '.field' : (
890
+ margin-bottom: 1rem,
891
+
892
+ _subclasses : (
893
+ '.inline' : (
894
+ display: inline-flex,
895
+ gap: .5rem,
896
+ ),
897
+ '&.is-invalid' : (
898
+ _subclasses : (
899
+ '.input, .textarea, .select' : (
900
+ border: 1px solid oklch(0.535 0.213 27.297),
901
+ margin-bottom: 10px,
902
+ background: var(--xii-form-background) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='oklch(0.535 0.213 27.297)'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") no-repeat calc(100% - 9px) 50% / 16px 16px,
903
+ ),
904
+ '.invalid-feedback' : (
905
+ display: block,
906
+ )
907
+ )
908
+ ),
909
+ '.invalid-feedback' : (
910
+ display: none,
911
+ color: oklch(0.535 0.213 27.297),
912
+ font-size: 0.825rem,
913
+ ),
914
+
915
+ '.note' : (
916
+ color : oklch(55.1% .027 264.364),
917
+ )
918
+ )
919
+ ),
920
+
921
+ '.label' : (
922
+ display: block,
923
+ margin-bottom: 10px,
924
+ ),
925
+
926
+ '.input' : (
927
+
928
+ --border-radius: .25rem,
929
+ --padding: .5rem .75rem,
930
+
931
+ font-size: inherit,
932
+ font-weight: inherit,
933
+ display: block,
934
+
935
+ appearance: none,
936
+ outline: none,
937
+
938
+ padding: var(--padding),
939
+ border-radius: var(--border-radius),
940
+ border: var(--border),
941
+ caret-color: var(--caret-color),
942
+
943
+ width: 100%,
944
+
945
+ transition: box-shadow .15s ease-in-out,
946
+
947
+ _colors: (
948
+ light : (
949
+ color: inherit,
950
+ background: rgb(250, 250, 250),
951
+ border: 1px solid rgb(219, 219, 219),
952
+ focus-shadow: 0 0 0 0.2rem rgba(98, 175, 97, .5),
953
+ focus-border: 1px solid oklch(0.69 0.18 142.52),
954
+ ),
955
+ dark : (
956
+ color: #fff,
957
+ background: rgb(48, 56, 66),
958
+ border: 1px solid rgba(240, 246, 252, .25),
959
+ focus-shadow: 0 0 0 0.2rem rgba(98, 175, 97, .5),
960
+ focus-border: 1px solid oklch(0.69 0.18 142.52),
961
+ )
962
+ ),
963
+
964
+ _subclasses : (
965
+ '&:focus-visible, &:focus' : (
966
+ box-shadow: var(--focus-shadow),
967
+ border: var(--focus-border),
968
+ )
969
+ )
970
+ ),
971
+
972
+ '.textarea' : (
973
+
974
+ --border-radius: .25rem,
975
+ --padding: .5rem .75rem,
976
+
977
+ font-size: inherit,
978
+ font-weight: inherit,
979
+ font-family: inherit,
980
+
981
+ display: block,
982
+
983
+ appearance: none,
984
+ outline: none,
985
+
986
+ padding: var(--padding),
987
+ border-radius: var(--border-radius),
988
+ border: var(--border),
989
+ caret-color: var(--caret-color),
990
+
991
+ width: 100%,
992
+
993
+ transition: box-shadow .15s ease-in-out,
994
+
995
+ _colors: (
996
+ light : (
997
+ color: inherit,
998
+ background: rgb(250, 250, 250),
999
+ border: 1px solid rgb(219, 219, 219),
1000
+ focus-shadow: 0 0 0 0.2rem rgba(98, 175, 97, .5),
1001
+ focus-border: 1px solid oklch(0.69 0.18 142.52),
1002
+ ),
1003
+ dark : (
1004
+ color: #fff,
1005
+ background: rgb(48, 56, 66),
1006
+ border: 1px solid rgba(240, 246, 252, .25),
1007
+ focus-shadow: 0 0 0 0.2rem rgba(98, 175, 97, .5),
1008
+ focus-border: 1px solid oklch(0.69 0.18 142.52),
1009
+ )
1010
+ ),
1011
+
1012
+ _subclasses : (
1013
+ '&:focus-visible, &:focus' : (
1014
+ box-shadow: var(--focus-shadow),
1015
+ border: var(--focus-border),
1016
+ )
1017
+ )
1018
+ ),
1019
+
1020
+ '.select' : (
1021
+
1022
+ --border-radius: .25rem,
1023
+ --padding: .5rem .75rem,
1024
+
1025
+ font-size: inherit,
1026
+ font-weight: inherit,
1027
+ display: block,
1028
+
1029
+ appearance: none,
1030
+ outline: none,
1031
+
1032
+ padding: var(--padding),
1033
+ border-radius: var(--border-radius),
1034
+ border: var(--border),
1035
+
1036
+ width: 100%,
1037
+
1038
+ transition: box-shadow .15s ease-in-out,
1039
+
1040
+ _colors: (
1041
+ light : (
1042
+ color: inherit,
1043
+ background: rgb(250, 250, 250),
1044
+ border: 1px solid rgb(219, 219, 219),
1045
+ focus-shadow: 0 0 0 0.2rem rgba(98, 175, 97, .5),
1046
+ focus-border: 1px solid oklch(0.69 0.18 142.52),
1047
+ ),
1048
+ dark : (
1049
+ color: #fff,
1050
+ background: rgb(48, 56, 66),
1051
+ border: 1px solid rgba(240, 246, 252, .25),
1052
+ focus-shadow: 0 0 0 0.2rem rgba(98, 175, 97, .5),
1053
+ focus-border: 1px solid oklch(0.69 0.18 142.52),
1054
+ )
1055
+ ),
1056
+
1057
+ _subclasses : (
1058
+ '&:focus-visible, &:focus' : (
1059
+ box-shadow: var(--focus-shadow),
1060
+ border: var(--focus-border),
1061
+ )
1062
+ )
1063
+ ),
1064
+
1065
+ '.checkbox' : (
1066
+
1067
+ --border-radius: .25rem,
1068
+ --padding: .5rem .75rem,
1069
+
1070
+ //padding: var(--padding),
1071
+ border-radius: var(--border-radius),
1072
+ border: var(--border),
1073
+ background: var(--background),
1074
+ //box-shadow: var(--shadow),
1075
+
1076
+ width: 16px,
1077
+ height: 16px,
1078
+ appearance: none,
1079
+ outline : none,
1080
+
1081
+ transition: box-shadow .15s ease-in-out,
1082
+
1083
+ _colors: (
1084
+ light : (
1085
+ background: rgba(250, 250, 250, .75),
1086
+ border: 1px solid rgb(219, 219, 219),
1087
+ //shadow: string.unquote('rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px ')
1088
+ focus-shadow: 0 0 0 0.2rem rgba(98, 175, 97, .5),
1089
+ focus-border: 1px solid oklch(0.69 0.18 142.52),
1090
+ ),
1091
+ dark : (
1092
+ background: rgba(48, 56, 66, .85),
1093
+ border: 1px solid rgb(74, 109, 71, .25),
1094
+ //shadow: string.unquote('rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px ')
1095
+ focus-shadow: 0 0 0 0.2rem rgba(98, 175, 97, .5),
1096
+ focus-border: 1px solid oklch(0.69 0.18 142.52),
1097
+ )
1098
+ ),
1099
+
1100
+ _subclasses : (
1101
+ '&:focus-visible, &:focus' : (
1102
+ box-shadow: var(--focus-shadow),
1103
+ border: var(--focus-border),
1104
+ ),
1105
+ '&:checked' : (
1106
+ _colors: (
1107
+ light : (
1108
+ background: rgb(74, 109, 71) string.unquote(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")),
1109
+ border: 1px solid rgba(11, 47, 10, .25),
1110
+ ),
1111
+ dark : (
1112
+ background: rgb(74, 109, 71) string.unquote(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")),
1113
+ border: 1px solid rgba(240, 246, 252, .25),
1114
+ )
1115
+ ),
1116
+ ),
1117
+ '&:indeterminate' : (
1118
+ _colors: (
1119
+ light : (
1120
+ border: 1px solid rgba(11, 47, 10, .25),
1121
+ background: rgb(74, 109, 71) string.unquote(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")),
1122
+ ),
1123
+ dark : (
1124
+ background: rgb(74, 109, 71) string.unquote(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")),
1125
+ border: 1px solid rgba(240, 246, 252, .25),
1126
+ )
1127
+ ),
1128
+ )
1129
+ )
1130
+ ),
1131
+
1132
+ '.radio' : (
1133
+
1134
+ --border-radius: 50%,
1135
+ --padding: .5rem .75rem,
1136
+
1137
+ border-radius: var(--border-radius),
1138
+ border: var(--border),
1139
+ background: var(--background),
1140
+
1141
+ width: 16px,
1142
+ height: 16px,
1143
+ appearance: none,
1144
+ outline : none,
1145
+
1146
+ transition: string.unquote('box-shadow .15s ease-in-out'),
1147
+
1148
+ _colors: (
1149
+ light : (
1150
+ background: rgba(250, 250, 250, .75),
1151
+ border: 1px solid rgb(219, 219, 219),
1152
+ //shadow: string.unquote('rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px ')
1153
+ focus-shadow: 0 0 0 0.2rem rgba(98, 175, 97, .5),
1154
+ focus-border: 1px solid oklch(0.69 0.18 142.52),
1155
+ ),
1156
+ dark : (
1157
+ background: rgba(48, 56, 66, .85),
1158
+ border: 1px solid rgb(74, 109, 71, .25),
1159
+ //shadow: string.unquote('rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px ')
1160
+ focus-shadow: 0 0 0 0.2rem rgba(98, 175, 97, .5),
1161
+ focus-border: 1px solid oklch(0.69 0.18 142.52),
1162
+ )
1163
+ ),
1164
+
1165
+ _subclasses : (
1166
+ '&:focus-visible, &:focus' : (
1167
+ box-shadow: var(--focus-shadow),
1168
+ border: var(--focus-border),
1169
+ ),
1170
+ '&:checked' : (
1171
+ _colors: (
1172
+ light : (
1173
+ background: rgb(74, 109, 71) string.unquote(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")),
1174
+ border: 1px solid rgba(11, 47, 10, .25),
1175
+ ),
1176
+ dark : (
1177
+ background: rgb(74, 109, 71) string.unquote(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")),
1178
+ border: 1px solid rgba(240, 246, 252, .25),
1179
+ )
1180
+ ),
1181
+ ),
1182
+ )
1183
+ ),
1184
+
1185
+ '.switcher' : (
1186
+
1187
+ _subclasses : (
1188
+ // .qhs:is(:where(.qhq):has(:checked) *)
1189
+ '&:has(:checked) .toggle' : (
1190
+ background: rgb(74, 109, 71),
1191
+ border: 1px solid rgba(11, 47, 10, 0.25),
1192
+ ),
1193
+ '.toggle' : (
1194
+ background: var(--background),
1195
+ border: var(--border),
1196
+ border-radius: 1rem,
1197
+ display: inline-flex,
1198
+ position: relative,
1199
+ width: 2.75rem,
1200
+ height: 1.5rem,
1201
+
1202
+ _colors: (
1203
+ light : (
1204
+ background: oklch(0.985 0 89.876),
1205
+ border: 1px solid rgb(219, 219, 219),
1206
+ focus-shadow: 0 0 0 0.2rem rgba(98, 175, 97, .5),
1207
+ ),
1208
+ dark : (
1209
+ background: rgba(48, 56, 66, 0.85),
1210
+ border: 1px solid rgba(74, 109, 71, 0.25),
1211
+ focus-shadow: 0 0 0 0.2rem rgba(98, 175, 97, .5),
1212
+ )
1213
+ ),
1214
+
1215
+ _subclasses : (
1216
+ '.span' : (
1217
+
1218
+ width: 1.25rem,
1219
+ //height: calc(100% - 2px),
1220
+ display: flex,
1221
+ align-items: center,
1222
+ justify-content: center,
1223
+ position: absolute,
1224
+ inset: 1px,
1225
+
1226
+ border-radius: 50%,
1227
+
1228
+ transition: transform .2s cubic-bezier(.4,0,.2,1),
1229
+ pointer-events: none,
1230
+
1231
+ border: var(--switcher-border),
1232
+ background: var(--switcher-background),
1233
+ //box-shadow: string.unquote('rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(9, 9, 11, 0.25) 0px 1px 2px 0px'),
1234
+
1235
+ _colors: (
1236
+ light : (
1237
+ switcher-background: white,
1238
+ switcher-border: 1px solid rgb(219, 219, 219),
1239
+ ),
1240
+ dark : (
1241
+ switcher-background: white,
1242
+ switcher-border: 1px solid rgba(41, 50, 57, 1),
1243
+ )
1244
+ ),
1245
+
1246
+ _subclasses : (
1247
+ '.icon' : (
1248
+ width: .75rem,
1249
+ height: .75rem,
1250
+ opacity: 0,
1251
+ display: none,
1252
+ color: oklch(70.7% .022 261.325),
1253
+ ),
1254
+ '.icon:first-child' : (
1255
+ opacity: 1,
1256
+ display: inherit,
1257
+ )
1258
+ )
1259
+ ),
1260
+ '.span:is(:where(.switcher):has(:checked) *)' : (
1261
+ background: white,
1262
+ opacity: 1,
1263
+ transform: translateX(100%),
1264
+ border: 1px solid #3b5e38,
1265
+
1266
+ _subclasses : (
1267
+ '.icon' : (
1268
+ opacity: 0,
1269
+ display: none
1270
+
1271
+ ),
1272
+ '.icon:last-child' : (
1273
+ opacity: 1,
1274
+ display: inherit,
1275
+ color: rgb(74, 109, 71),
1276
+ )
1277
+ )
1278
+ )
1279
+ )
1280
+ ),
1281
+ '.switch' : (
1282
+ appearance: none,
1283
+ position: absolute,
1284
+ inset: 0,
1285
+ )
1286
+ )
1287
+ )
1288
+ ),
1289
+ ),
1290
+
1291
+ loader : (
1292
+ animation: loader-rotation 2s linear infinite,
1293
+
1294
+ _subclasses : (
1295
+ '& .circle' : (
1296
+ transform-origin: 50% 50%,
1297
+ stroke-width : 6,
1298
+ stroke-dasharray: 283,
1299
+ stroke-dashoffset: 280,
1300
+ stroke-linecap: round,
1301
+ stroke: var(--stroke),
1302
+ animation: loader-rotation-cicle 1.4s linear infinite,
1303
+ )
1304
+ ),
1305
+
1306
+ _colors : (
1307
+ light : (
1308
+ stroke : rgba(0,0, 0, 0.85),
1309
+ ),
1310
+ dark : (
1311
+ stroke : rgba(255,255, 255, 0.85),
1312
+ )
1313
+ ),
1314
+
1315
+ _animations : (
1316
+ 'loader-rotation' : (
1317
+ '0%' : (
1318
+ transform: rotate(0deg),
1319
+ ),
1320
+ '100%' : (
1321
+ transform: rotate(360deg),
1322
+ )
1323
+ ),
1324
+ 'loader-rotation-cicle' : (
1325
+ '0%' : (
1326
+ stroke-dashoffset: 280,
1327
+ transform: rotate(0),
1328
+ ),
1329
+ '15%' : (
1330
+ stroke-width : 6,
1331
+ ),
1332
+ '40%' : (
1333
+ stroke-dasharray: 220,
1334
+ stroke-dashoffset: 150,
1335
+ ),
1336
+ '100%' : (
1337
+ stroke-dashoffset: 280,
1338
+ transform: rotate(720deg),
1339
+ )
1340
+ )
1341
+ ),
1342
+ ),
1343
+
1344
+ table : (
1345
+ width: 100%,
1346
+ _subclasses : (
1347
+ '.top > * > *' : (
1348
+ padding: 0.5rem 0,
1349
+ border-bottom: 1px solid rgb(73, 80, 87),
1350
+ ),
1351
+ '.middle > * > *' : (
1352
+ padding: 0.5rem 0,
1353
+ border-bottom: 1px solid rgb(73, 80, 87),
1354
+ ),
1355
+ '.bottom > * > *' : (
1356
+ padding: 0.5rem 0,
1357
+ ),
1358
+ '&.stripe' : (
1359
+ _subclasses : (
1360
+ 'tbody tr:nth-child(odd) td' : (
1361
+ background: rgba(33, 37, 41, 0.95),
1362
+ )
1363
+ )
1364
+ ),
1365
+ '&.hover' : (
1366
+ _subclasses : (
1367
+ 'tbody tr:hover td' : (
1368
+ background: rgba(33, 37, 41, 0.95),
1369
+ )
1370
+ )
1371
+ )
1372
+ )
1373
+ ),
1374
+
1375
+ overlay : (
1376
+
1377
+ --align-items : center,
1378
+ --justify-content : center,
1379
+
1380
+ background : var(--background),
1381
+
1382
+ position: absolute,
1383
+ top: 0,
1384
+ bottom: 0,
1385
+ left: 0,
1386
+ right: 0,
1387
+
1388
+ width: 100%,
1389
+ height: 100%,
1390
+
1391
+ display: none,
1392
+
1393
+ align-items: var(--align-items),
1394
+ justify-content: var(--justify-content),
1395
+
1396
+ z-index: functions.get-config($config, 'z-index.overlay'),
1397
+
1398
+ _colors: (
1399
+ light : (
1400
+ ),
1401
+ dark : (
1402
+ background: rgba(20, 20, 20, .85),
1403
+ )
1404
+ ),
1405
+
1406
+ _subclasses : (
1407
+ '&.show' : (
1408
+ display: flex
1409
+ ),
1410
+ '&.blurred' : (
1411
+ -webkit-backdrop-filter: blur(5px),
1412
+ backdrop-filter: blur(5px),
1413
+ )
1414
+ )
1415
+ ),
664
1416
 
665
1417
  pagination : (
666
1418
 
667
1419
  --grid-template-columns: auto auto 1fr,
668
1420
  --gap : 10px,
669
-
670
1421
  --left-column-aligment: start,
671
1422
  --center-column-alignment: center,
672
1423
  --right-column-alignment: end,
@@ -676,18 +1427,17 @@ $components-config: (
676
1427
  width: 100%,
677
1428
  max-width: 100%,
678
1429
  align-items: center,
679
-
680
1430
  grid-template-columns: var(--grid-template-columns),
681
1431
  grid-gap: var(--gap),
682
1432
 
683
- subclasses : (
684
- ".left" : (
1433
+ _subclasses : (
1434
+ '.left' : (
685
1435
  justify-self: var(--left-column-alignment),
686
1436
  ),
687
- ".center" : (
1437
+ '.center' : (
688
1438
  justify-self: var(--center-column-alignment),
689
1439
  ),
690
- ".right" : (
1440
+ '.right' : (
691
1441
  justify-self: var(--right-column-alignment)
692
1442
  )
693
1443
  ),
@@ -705,33 +1455,30 @@ $components-config: (
705
1455
 
706
1456
  gap: var(--gap),
707
1457
 
708
- colors: (
709
- light : (
710
- background: #ccc
711
- ),
712
- dark : (
713
- background: #ccc
714
- )
715
- ),
716
-
717
- subclasses : (
718
- ".el" : (
719
- min-height: var(--min-height),
720
- border-radius: var(--border-radius),
721
- background: var(--background)
1458
+ _subclasses : (
1459
+ '.el' : (
1460
+ min-height: var(--min-height),
1461
+ border-radius: var(--border-radius),
1462
+ background: var(--background),
1463
+ _colors: (
1464
+ light : (
1465
+ background: rgba(190, 190, 190, 0.75),
1466
+ ),
1467
+ dark : (
1468
+ background: #ccc
1469
+ )
1470
+ ),
722
1471
  ),
723
-
724
- "&.glow" : (
725
- subclasses : (
726
- ".el" : (
1472
+ '&.glow' : (
1473
+ _subclasses : (
1474
+ '.el' : (
727
1475
  animation: placeholder-glow 2s ease-in-out infinite,
728
1476
  )
729
1477
  )
730
1478
  ),
731
-
732
- "&.wave" : (
733
- subclasses : (
734
- ".el" : (
1479
+ '&.wave' : (
1480
+ _subclasses : (
1481
+ '.el' : (
735
1482
  mask-size: 200% 100%,
736
1483
  -webkit-mask-size: 200% 100%,
737
1484
  mask-image: linear-gradient(90deg, #0000, #fff, #0000),
@@ -740,13 +1487,165 @@ $components-config: (
740
1487
  )
741
1488
  )
742
1489
  )
1490
+ ),
1491
+
1492
+ _animations : (
1493
+ 'placeholder-glow' : (
1494
+ '50%' : (
1495
+ opacity: 0.5,
1496
+ )
1497
+ ),
1498
+ 'placeholder-wave' : (
1499
+ '100%' : (
1500
+ mask-position: -200% 0,
1501
+ -webkit-mask-position: -200% 0,
1502
+ )
1503
+ )
1504
+ )
1505
+ ),
1506
+
1507
+ megamenu : (
1508
+ position: relative,
1509
+ _subclasses : (
1510
+ '& .mega-link:hover' : (
1511
+ _subclasses : (
1512
+ '& .megamenu' : (
1513
+ display: block,
1514
+
1515
+ opacity: 1,
1516
+ transform: translateY(0),
1517
+
1518
+ _atrule : (
1519
+ '@starting-style' : (
1520
+ opacity: 0,
1521
+ transform: translateY(-5px)
1522
+ )
1523
+ ),
1524
+ )
1525
+ )
1526
+ ),
1527
+ '& .megamenu' : (
1528
+ --padding: 0.75rem,
1529
+
1530
+ display: none,
1531
+
1532
+ position: absolute,
1533
+ left: 0,
1534
+ right: 0,
1535
+ width: 100%,
1536
+
1537
+ margin-top: 5px,
1538
+ border-radius: 0.25rem,
1539
+
1540
+ transition: string.unquote('opacity 0.15s ease-in, transform 0.15s ease-in, display 0.15s ease-in allow-discrete'),
1541
+ transform: translateY(-5px),
1542
+ opacity: 0,
1543
+
1544
+ background: var(--background),
1545
+ border: var(--border),
1546
+ box-shadow: var(--shadow),
1547
+ padding: var(--padding),
1548
+
1549
+ _colors: (
1550
+ light : (
1551
+ background: rgba(246, 246, 247, 1),
1552
+ border: 1px solid rgb(219, 219, 219),
1553
+ shadow: string.unquote('rgba(37, 41, 46, 0.04) 0px 6px 12px -3px, rgba(37, 41, 46, 0.12) 0px 6px 18px 0px'),
1554
+ ),
1555
+ dark : (
1556
+ background: rgb(18, 18, 24),
1557
+ border: 1px solid rgba(48, 54, 61, 0.75),
1558
+ shadow: string.unquote('rgba(37, 41, 46, 0.04) 0px 6px 12px -3px, rgba(37, 41, 46, 0.12) 0px 6px 18px 0px'),
1559
+ )
1560
+ )
1561
+
1562
+ ),
1563
+ )
1564
+ ),
1565
+
1566
+ modal : (
1567
+
1568
+ display: none,
1569
+ height: auto,
1570
+ flex-direction: column,
1571
+ padding: 0,
1572
+
1573
+ //background: var(--background),
1574
+ //box-shadow: var(--box-shadow),
1575
+ //border-left: 1px solid rgb(4, 90, 195),
1576
+
1577
+ //will-change: transform,
1578
+ //transition: transform 300ms cubic-bezier(0.25,0.1,0.25,1),
1579
+ //transform-origin: right,
1580
+ //transform: translateX(100%),
1581
+
1582
+ background: var(--background),
1583
+ border: var(--border),
1584
+
1585
+ max-width: 42rem,
1586
+ width: 100%,
1587
+ margin: 0 auto,
1588
+ border-radius: 7px,
1589
+ transition: string.unquote('opacity 0.15s ease-in, display 0.15s ease-in allow-discrete, transform 0.15s ease-in'),
1590
+ transform: scale(.75),
1591
+
1592
+ box-shadow: string.unquote('rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px;'),
1593
+ opacity: 0,
1594
+ //transition: string.unquote('opacity 1s, display 1s allow-discrete'),
1595
+
1596
+ z-index: functions.get-config($config, 'z-index.modal'),
1597
+
1598
+ _colors: (
1599
+ light : (
1600
+ border: 1px solid rgba(198, 198, 198, .75),
1601
+ background : rgba(246, 246, 247, 1),
1602
+ box-shadow: string.unquote('0rem 1.25rem 1.25rem -0.5rem rgba(26,26,26,.28)'),
1603
+ ),
1604
+ dark: (
1605
+ border: 1px solid rgba(48, 54, 61, 0.75),
1606
+ background: rgb(13, 17, 23),
1607
+ box-shadow: string.unquote('rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px;'),
1608
+ )
1609
+ ),
1610
+
1611
+ _subclasses : (
1612
+ '&[open]' : (
1613
+ display: flex,
1614
+ opacity: 1,
1615
+ transform: scale(1),
1616
+ transition: string.unquote('opacity 0.3s ease-out, display 0.3s ease-out allow-discrete, transform 0.3s ease-out'),
1617
+ _atrule : (
1618
+ '@starting-style' : (
1619
+ opacity: 0,
1620
+ transform: scale(.75)
1621
+ )
1622
+ ),
1623
+ ),
1624
+ '& > :nth-child(1)' : (
1625
+ display: flex,
1626
+ justify-content: space-between,
1627
+ ),
1628
+ '& > :nth-child(2)' : (
1629
+ height: 100%,
1630
+ padding: 1rem 0,
1631
+ ),
1632
+ '& > :nth-child(3)' : (
1633
+ display: flex,
1634
+ justify-content: flex-end,
1635
+ )
1636
+ ),
1637
+
1638
+ _animations : (
1639
+ 'modal_animation_toggle' : (
1640
+
1641
+ )
743
1642
  )
744
1643
  ),
745
1644
 
746
1645
  nav : (
747
1646
 
748
1647
  --flex-direction: row,
749
- --align-items: auto,
1648
+ --align-items: center,
750
1649
  --gap: 0,
751
1650
 
752
1651
  display: flex,
@@ -757,66 +1656,42 @@ $components-config: (
757
1656
  padding: 0,
758
1657
  list-style-type: none,
759
1658
 
760
- colors: (
761
- light : (
762
- ),
763
- dark: (
764
- )
765
- ),
766
-
767
- subclasses : (
1659
+ _subclasses : (
768
1660
  '&.horizontal' : (
769
1661
  --align-items: center,
770
1662
  --flex-direction : row,
1663
+ --gap : 12.5px,
771
1664
  ),
772
1665
  '&.vertical' : (
773
1666
  --flex-direction : column,
1667
+ --align-items: auto,
1668
+ --gap : 0.5rem,
774
1669
  ),
775
1670
  '&.tabs' : (
776
-
777
1671
  ),
778
1672
  '&.pills' : (
779
-
780
1673
  ),
781
1674
  '.item' : (
782
1675
  width: auto,
783
-
784
- subclasses : (
1676
+ _subclasses : (
785
1677
  '.link' : (
786
- display: inline-flex,
787
- padding: 10px,
788
- color: var(--color),
789
-
790
- colors: (
791
- light : (
792
- color: '#333',
793
- ),
794
- dark : (
795
- color: '#fff'
796
- )
797
- ),
798
-
799
- subclasses: (
800
- '&:hover' : (
801
- text-decoration : none
1678
+ display: inline-flex,
1679
+ _subclasses: (
1680
+ '&:hover' : (
1681
+ text-decoration : none
802
1682
  )
803
1683
  )
804
1684
  ),
805
1685
  )
806
1686
  )
807
1687
  )
808
-
809
1688
  ),
810
1689
 
811
1690
  navbar : (
812
1691
 
813
1692
  --grid-template-columns: auto auto 1fr,
814
1693
  --gap : 10px,
815
- --left-column-aligment: start,
816
- --center-column-alignnent: center,
817
- --right-column-alignment: end,
818
1694
 
819
- position: relative,
820
1695
  display: grid,
821
1696
  width: 100%,
822
1697
  max-width: 100%,
@@ -826,44 +1701,265 @@ $components-config: (
826
1701
 
827
1702
  grid-template-columns: var(--grid-template-columns),
828
1703
  grid-gap: var(--gap),
1704
+ ),
1705
+
1706
+ sidecap : (
1707
+
1708
+ --width : 20.75rem,
1709
+
1710
+ display: none,
1711
+ flex-direction: column,
1712
+
1713
+ position: fixed,
1714
+ top: 0,
1715
+ right: 0,
1716
+ height: 100%,
829
1717
 
830
- colors: (
1718
+ width: var(--width),
1719
+ background: var(--background),
1720
+ box-shadow: var(--box-shadow),
1721
+ border-left: var(--border),
1722
+ transform: translateX(100%),
1723
+ transition: string.unquote('opacity 0.3s ease-in, transform 0.3s ease-in, display 0.3s ease-in allow-discrete'),
1724
+ opacity : 0,
1725
+
1726
+ _colors: (
831
1727
  light : (
1728
+ background: rgba(246, 246, 247, 1),
1729
+ border: 1px solid rgb(219, 219, 219),
1730
+ box-shadow: string.unquote('0rem 1.25rem 1.25rem -0.5rem rgba(26,26,26,.28)'),
832
1731
  ),
833
1732
  dark: (
1733
+ background: rgb(18, 18, 24),
1734
+ border: 1px solid rgba(48, 54, 61, 0.75),
1735
+ box-shadow: string.unquote('rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px;'),
834
1736
  )
835
1737
  ),
836
1738
 
837
- subclasses : (
838
- ".left" : (
839
- justify-self: var(--left-column-alignment),
1739
+ _subclasses : (
1740
+ '&.open' : (
1741
+ transform: translateX(0),
1742
+ display: flex,
1743
+ opacity: 1,
1744
+ transition: string.unquote('opacity 0.3s ease-out, transform 0.3s ease-out, display 0.3s ease-out allow-discrete'),
1745
+ _atrule : (
1746
+ '@starting-style' : (
1747
+ opacity: 0,
1748
+ transform: translateX(100%),
1749
+ )
1750
+ ),
840
1751
  ),
841
- ".center" : (
842
- justify-self: var(--center-column-alignment),
1752
+ '& > :nth-child(1)' : (
1753
+ display: flex,
1754
+ padding: 0.25rem,
1755
+ justify-content: space-between,
843
1756
  ),
844
- ".right" : (
845
- justify-self: var(--right-column-alignment)
1757
+ '& > :nth-child(2)' : (
1758
+ height: 100%,
1759
+ padding: 0.25rem,
1760
+ ),
1761
+ '& > :nth-child(3)' : (
1762
+ display: flex,
1763
+ padding: 0.25rem,
846
1764
  )
847
1765
  )
848
1766
  ),
849
1767
 
850
- sidecap : (
851
- position: absolute,
852
- top: 0,
853
- right: 0,
854
- height: 100%,
1768
+ tooltip : (
855
1769
 
856
- display: flex,
857
- flex-direction: column,
1770
+ position: relative,
858
1771
 
859
- colors: (
860
- light : (
861
- background : #ccc
1772
+ _subclasses : (
1773
+
1774
+ '&.on-hover:hover .tooltip, .tooltip.show' : (
1775
+ display: block,
1776
+ opacity: 1,
1777
+ transform: translateY(5px),
1778
+
1779
+ transition: string.unquote('transform 0.15s ease-out, opacity 0.15s ease-out, display 0.15s ease-out allow-discrete'),
1780
+
1781
+ _atrule : (
1782
+ '@starting-style' : (
1783
+ opacity: 0,
1784
+ transform: translateY(-3px)
1785
+ )
1786
+ ),
1787
+
1788
+ _subclasses : (
1789
+ '&.to-left' : (
1790
+ transform: translateX(-3px),
1791
+ _atrule : (
1792
+ '@starting-style' : (
1793
+ opacity: 0,
1794
+ transform: translateX(-2px)
1795
+ )
1796
+ ),
1797
+ ),
1798
+ '&.to-right' : (
1799
+ transform: translateX(3px),
1800
+ _atrule : (
1801
+ '@starting-style' : (
1802
+ opacity: 0,
1803
+ transform: translateX(-2px)
1804
+ )
1805
+ ),
1806
+ )
1807
+ )
862
1808
  ),
863
- dark: (
864
- background: rgb(45, 56, 66),
865
- box-shadow: 0rem 1.25rem 1.25rem -0.5rem rgba(26,26,26, .28)
866
- )
1809
+
1810
+ '& .tooltip' : (
1811
+
1812
+ --padding: 0.25rem 0.5rem,
1813
+
1814
+ border: var(--border),
1815
+ background: var(--background),
1816
+ padding: var(--padding),
1817
+
1818
+ opacity: 0,
1819
+ display: none,
1820
+
1821
+ position: absolute,
1822
+ bottom: calc(100% + 10px),
1823
+ left: calc(50% - 1px),
1824
+ width: auto,
1825
+
1826
+ font-size: 0.875rem,
1827
+ border-radius: 5px,
1828
+
1829
+ z-index: functions.get-config($config, 'z-index.tooltip'),
1830
+
1831
+ color: inherit,
1832
+
1833
+ _colors : (
1834
+ light : (
1835
+ background: #fff,
1836
+ border: 1px solid #e5e6ea,
1837
+ ),
1838
+ dark : (
1839
+ background: #18191b,
1840
+ border: 1px solid #35383c,
1841
+ )
1842
+ ),
1843
+
1844
+ transition: string.unquote('transform 0.15s ease-in, opacity 0.15s ease-in, display 0.15s ease-in allow-discrete'),
1845
+ translate: -50% 0,
1846
+
1847
+ _atrule : (
1848
+ '@starting-style' : (
1849
+ opacity: 0,
1850
+ transform: translateY(-3px)
1851
+ )
1852
+ ),
1853
+
1854
+ _subclasses : (
1855
+
1856
+ '& > :first-child' : (
1857
+ position: relative,
1858
+ z-index: functions.get-config($config, 'z-index.tooltip'),
1859
+ ),
1860
+
1861
+ '&.to-bottom' : (
1862
+ bottom: unset,
1863
+ top: calc(100% + 5px),
1864
+
1865
+ _subclasses : (
1866
+ '&.with-arrow' : (
1867
+ _subclasses : (
1868
+ '&:before' : (
1869
+ left: calc(50% - 1px),
1870
+ top: -0.5px,
1871
+ ),
1872
+ '&:after' : (
1873
+ left: calc(50% - 1px),
1874
+ top: -2px,
1875
+ )
1876
+ )
1877
+ )
1878
+ )
1879
+ ),
1880
+
1881
+ '&.to-right' : (
1882
+ bottom: auto,
1883
+ right: -5px,
1884
+ left: unset,
1885
+ top: 50%,
1886
+ translate: 100% -50%,
1887
+
1888
+ _subclasses : (
1889
+ '&.with-arrow' : (
1890
+ _subclasses : (
1891
+ '&:before' : (
1892
+ left: -0.5px,
1893
+ top: 50%,
1894
+ ),
1895
+ '&:after' : (
1896
+ left: -2px,
1897
+ top: 50%,
1898
+ )
1899
+ )
1900
+ )
1901
+ )
1902
+ ),
1903
+
1904
+ '&.to-left' : (
1905
+ bottom: auto,
1906
+ top: 50%,
1907
+ left: -5px,
1908
+ right: unset,
1909
+ translate: -100% -50%,
1910
+
1911
+ _subclasses : (
1912
+ '&.with-arrow' : (
1913
+ _subclasses : (
1914
+ '&:before' : (
1915
+ left: calc(100% - 2px),
1916
+ top: 50%,
1917
+ ),
1918
+ '&:after' : (
1919
+ left: calc(100% - 0.5px),
1920
+ top: 50%,
1921
+ )
1922
+ )
1923
+ )
1924
+ )
1925
+ ),
1926
+
1927
+ '&.with-arrow' : (
1928
+
1929
+ _subclasses : (
1930
+
1931
+ '&:before' : (
1932
+ content: '',
1933
+ position: absolute,
1934
+ display: block,
1935
+ width: 8px,
1936
+ height: 8px,
1937
+ transform-origin: 50% 50%,
1938
+ transform: rotate(45deg) translateX(-50%),
1939
+ background-color: var(--background),
1940
+ left: calc(50% - 1px),
1941
+ top: calc(100% - 2px),
1942
+ ),
1943
+
1944
+ '&:after' : (
1945
+ content: '',
1946
+ display: block,
1947
+ position: absolute,
1948
+ width: 8px,
1949
+ height: 8px,
1950
+ transform-origin: 50% 50%,
1951
+ transform: rotate(45deg) translateX(-50%),
1952
+ border: var(--border),
1953
+ left: calc(50% - 1px),
1954
+ top: calc(100% - 0.5px),
1955
+ z-index: -1,
1956
+ ),
1957
+ )
1958
+ ),
1959
+ )
1960
+ ),
1961
+
1962
+
867
1963
  )
868
1964
  )
869
1965
  )
@@ -871,4 +1967,4 @@ $components-config: (
871
1967
 
872
1968
  $updated-theme: map.deep-merge($updated-theme, $components-config);
873
1969
 
874
- $theme: map.deep-merge($updated-theme, $theme);
1970
+ $theme: map.deep-merge($updated-theme, $theme);