@nulllogic/scssleon 1.0.4 → 1.0.6

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