@fest-lib/veela 0.1.1

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 (78) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +533 -0
  3. package/dist/veela.js +878 -0
  4. package/package.json +83 -0
  5. package/src/scss/_layers.scss +16 -0
  6. package/src/scss/advanced/_index.scss +0 -0
  7. package/src/scss/advanced/animation/_motion.scss +317 -0
  8. package/src/scss/advanced/color/_color.scss +328 -0
  9. package/src/scss/advanced/color/_colorize.scss +325 -0
  10. package/src/scss/advanced/design/_design-tokens.scss +118 -0
  11. package/src/scss/advanced/design/_effects.scss +275 -0
  12. package/src/scss/advanced/design/_shadow.scss +359 -0
  13. package/src/scss/advanced/design/_surfaces.scss +76 -0
  14. package/src/scss/advanced/effects/_animations.scss +124 -0
  15. package/src/scss/advanced/effects/_shadows.scss +50 -0
  16. package/src/scss/advanced/font/_typography.scss +600 -0
  17. package/src/scss/advanced/index.scss +11 -0
  18. package/src/scss/advanced/index.ts +35 -0
  19. package/src/scss/advanced/layout/_content.scss +170 -0
  20. package/src/scss/advanced/layout/_index.scss +5 -0
  21. package/src/scss/advanced/layout/_normalize.scss +541 -0
  22. package/src/scss/advanced/layout/_shared-overlays.scss +162 -0
  23. package/src/scss/advanced/md3/_md3.scss +596 -0
  24. package/src/scss/advanced/md3/_utils.scss +114 -0
  25. package/src/scss/advanced/misc/_config.scss +119 -0
  26. package/src/scss/advanced/misc/_initials.scss +298 -0
  27. package/src/scss/advanced/misc/_mixins.scss +179 -0
  28. package/src/scss/advanced/misc/_queries.scss +34 -0
  29. package/src/scss/advanced/misc/_rendering.scss +82 -0
  30. package/src/scss/advanced/misc/_tokens.scss +74 -0
  31. package/src/scss/advanced/theme/_shared.scss +232 -0
  32. package/src/scss/advanced/theme/_states.scss +332 -0
  33. package/src/scss/advanced/theme/_variants.scss +354 -0
  34. package/src/scss/advanced/tokens/_material-color.scss +120 -0
  35. package/src/scss/advanced/tokens/_variables.scss +171 -0
  36. package/src/scss/basic/_layers.scss +0 -0
  37. package/src/scss/basic/design/_index.scss +3 -0
  38. package/src/scss/basic/design/_keyframes.scss +163 -0
  39. package/src/scss/basic/design/_shapes.scss +266 -0
  40. package/src/scss/basic/design/_wavy-runtime.scss +50 -0
  41. package/src/scss/basic/index.scss +19 -0
  42. package/src/scss/basic/index.ts +29 -0
  43. package/src/scss/basic/misc/_core-layout.scss +272 -0
  44. package/src/scss/basic/misc/_index.scss +18 -0
  45. package/src/scss/basic/misc/_layout.scss +1040 -0
  46. package/src/scss/basic/misc/_mixins.scss +179 -0
  47. package/src/scss/basic/misc/_motion.scss +28 -0
  48. package/src/scss/basic/misc/_normalize.scss +765 -0
  49. package/src/scss/basic/misc/_queries.scss +34 -0
  50. package/src/scss/basic/misc/_shared.scss +232 -0
  51. package/src/scss/basic/misc/_states.scss +135 -0
  52. package/src/scss/basic/misc/_tokens.scss +78 -0
  53. package/src/scss/basic/misc/_veela.scss +12 -0
  54. package/src/scss/core/index.scss +1 -0
  55. package/src/scss/core/interact/_draggable.scss +32 -0
  56. package/src/scss/core/interact/_position.scss +45 -0
  57. package/src/scss/core/interact/_ps-anchor.scss +28 -0
  58. package/src/scss/core/interact/_ps-centered.scss +28 -0
  59. package/src/scss/core/interact/_ps-cursor.scss +18 -0
  60. package/src/scss/core/interact/_ps-draggable.scss +25 -0
  61. package/src/scss/core/interact/_ps-mechanic.scss +0 -0
  62. package/src/scss/core/interact/_ps-properties.scss +54 -0
  63. package/src/scss/core/interact/_ps-resizable.scss +61 -0
  64. package/src/scss/core/interact/_resizable.scss +69 -0
  65. package/src/scss/core/interact/_viewport.scss +469 -0
  66. package/src/scss/core/misc/_color-properties.scss +64 -0
  67. package/src/scss/core/misc/_config.scss +110 -0
  68. package/src/scss/core/misc/_functions.scss +530 -0
  69. package/src/scss/core/misc/_icons.scss +109 -0
  70. package/src/scss/core/misc/_index.scss +6 -0
  71. package/src/scss/core/misc/_layout.scss +49 -0
  72. package/src/scss/core/misc/_mixins.scss +744 -0
  73. package/src/scss/core/misc/_properties.scss +245 -0
  74. package/src/scss/core/misc/_tokens.scss +947 -0
  75. package/src/scss/core/misc/_utilities.scss +941 -0
  76. package/src/scss/core/misc/_utils.scss +17 -0
  77. package/src/scss/index.scss +18 -0
  78. package/src/scss/index.ts +105 -0
@@ -0,0 +1,941 @@
1
+ @use "./mixins" as *;
2
+ @use "./functions" as cfg;
3
+ @use "../../basic/misc/layout" as ux;
4
+ @use "../interact/position" as *;
5
+ @use "../interact/ps-anchor" as *;
6
+ @use "../interact/ps-cursor" as *;
7
+
8
+ @layer utilities {
9
+ @each $name, $value in $spaces {
10
+ .m-#{$name} {
11
+ margin: $value;
12
+ }
13
+
14
+ .mb-#{$name} {
15
+ margin-block: $value;
16
+ }
17
+
18
+ .mi-#{$name} {
19
+ margin-inline: $value;
20
+ }
21
+
22
+ .p-#{$name} {
23
+ padding: $value;
24
+ }
25
+
26
+ .pb-#{$name} {
27
+ padding-block: $value;
28
+ }
29
+
30
+ .pi-#{$name} {
31
+ padding-inline: $value;
32
+ }
33
+
34
+ .gap-#{$name} {
35
+ gap: $value;
36
+ }
37
+
38
+ .inset-#{$name} {
39
+ inset: $value;
40
+ }
41
+ }
42
+
43
+ .text-xs {
44
+ @include typography("xs");
45
+ }
46
+
47
+ .text-sm {
48
+ @include typography("sm");
49
+ }
50
+
51
+ .text-base {
52
+ @include typography("base");
53
+ }
54
+
55
+ .text-lg {
56
+ @include typography("lg");
57
+ }
58
+
59
+ .text-xl {
60
+ @include typography("xl");
61
+ }
62
+
63
+ .text-2xl {
64
+ @include typography("2xl");
65
+ }
66
+
67
+ .font-thin {
68
+ font-weight: cfg.config("typography", "font-weight", "thin");
69
+ }
70
+
71
+ .font-light {
72
+ font-weight: cfg.config("typography", "font-weight", "light");
73
+ }
74
+
75
+ .font-normal {
76
+ font-weight: cfg.config("typography", "font-weight", "normal");
77
+ }
78
+
79
+ .font-medium {
80
+ font-weight: cfg.config("typography", "font-weight", "medium");
81
+ }
82
+
83
+ .font-semibold {
84
+ font-weight: cfg.config("typography", "font-weight", "semibold");
85
+ }
86
+
87
+ .font-bold {
88
+ font-weight: cfg.config("typography", "font-weight", "bold");
89
+ }
90
+
91
+ .text-start {
92
+ text-align: start;
93
+ }
94
+
95
+ .text-center {
96
+ text-align: center;
97
+ }
98
+
99
+ .text-end {
100
+ text-align: end;
101
+ }
102
+
103
+ .text-primary {
104
+ color: cfg.config("colors", "text-primary");
105
+ }
106
+
107
+ .text-secondary {
108
+ color: cfg.config("colors", "text-secondary");
109
+ }
110
+
111
+ .text-muted {
112
+ color: cfg.config("colors", "text-muted");
113
+ }
114
+
115
+ .text-disabled {
116
+ color: cfg.config("colors", "text-disabled");
117
+ }
118
+
119
+ .block,
120
+ .vu-block {
121
+ display: block;
122
+ }
123
+
124
+ .inline,
125
+ .vu-inline {
126
+ display: inline;
127
+ }
128
+
129
+ .inline-block {
130
+ display: inline-block;
131
+ }
132
+
133
+ .flex,
134
+ .vu-flex {
135
+ display: flex;
136
+ }
137
+
138
+ .inline-flex {
139
+ display: inline-flex;
140
+ }
141
+
142
+ .grid,
143
+ .vu-grid {
144
+ display: grid;
145
+ }
146
+
147
+ .hidden,
148
+ .vu-hidden {
149
+ display: none;
150
+ }
151
+
152
+ .flex-row {
153
+ flex-direction: row;
154
+ }
155
+
156
+ .flex-col {
157
+ flex-direction: column;
158
+ }
159
+
160
+ .flex-wrap {
161
+ flex-wrap: wrap;
162
+ }
163
+
164
+ .flex-nowrap {
165
+ flex-wrap: nowrap;
166
+ }
167
+
168
+ .items-start {
169
+ align-items: flex-start;
170
+ }
171
+
172
+ .items-center {
173
+ align-items: center;
174
+ }
175
+
176
+ .items-end {
177
+ align-items: flex-end;
178
+ }
179
+
180
+ .items-stretch {
181
+ align-items: stretch;
182
+ }
183
+
184
+ .justify-start {
185
+ justify-content: flex-start;
186
+ }
187
+
188
+ .justify-center {
189
+ justify-content: center;
190
+ }
191
+
192
+ .justify-end {
193
+ justify-content: flex-end;
194
+ }
195
+
196
+ .justify-between {
197
+ justify-content: space-between;
198
+ }
199
+
200
+ .justify-around {
201
+ justify-content: space-around;
202
+ }
203
+
204
+ .grid-cols-1 {
205
+ grid-template-columns: repeat(1, minmax(0, 1fr));
206
+ }
207
+
208
+ .grid-cols-2 {
209
+ grid-template-columns: repeat(2, minmax(0, 1fr));
210
+ }
211
+
212
+ .grid-cols-3 {
213
+ grid-template-columns: repeat(3, minmax(0, 1fr));
214
+ }
215
+
216
+ .grid-cols-4 {
217
+ grid-template-columns: repeat(4, minmax(0, 1fr));
218
+ }
219
+
220
+ .h-auto,
221
+ .block-size-auto {
222
+ block-size: auto;
223
+ }
224
+
225
+ .h-full,
226
+ .block-size-full {
227
+ block-size: 100%;
228
+ }
229
+
230
+ .h-screen {
231
+ block-size: 100vh;
232
+ }
233
+
234
+ .w-auto,
235
+ .inline-size-auto {
236
+ inline-size: auto;
237
+ }
238
+
239
+ .w-full,
240
+ .inline-size-full {
241
+ inline-size: 100%;
242
+ }
243
+
244
+ .w-screen {
245
+ inline-size: 100vw;
246
+ }
247
+
248
+ .min-h-0,
249
+ .min-block-size-0 {
250
+ min-block-size: 0;
251
+ }
252
+
253
+ .min-w-0,
254
+ .min-inline-size-0 {
255
+ min-inline-size: 0;
256
+ }
257
+
258
+ .max-h-full,
259
+ .max-block-size-full {
260
+ max-block-size: 100%;
261
+ }
262
+
263
+ .max-w-full,
264
+ .max-inline-size-full {
265
+ max-inline-size: 100%;
266
+ }
267
+
268
+ .static {
269
+ position: static;
270
+ }
271
+
272
+ .relative {
273
+ position: relative;
274
+ }
275
+
276
+ .absolute {
277
+ position: absolute;
278
+ }
279
+
280
+ .fixed {
281
+ position: fixed;
282
+ }
283
+
284
+ .sticky {
285
+ position: sticky;
286
+ }
287
+
288
+ .bg-surface {
289
+ background-color: cfg.config("colors", "surface");
290
+ }
291
+
292
+ .bg-surface-container {
293
+ background-color: cfg.config("colors", "surface-container");
294
+ }
295
+
296
+ .bg-surface-container-high {
297
+ background-color: cfg.config("colors", "surface-container-high");
298
+ }
299
+
300
+ .bg-primary {
301
+ background-color: cfg.config("colors", "primary");
302
+ }
303
+
304
+ .bg-secondary {
305
+ background-color: cfg.config("colors", "secondary");
306
+ }
307
+
308
+ .border {
309
+ @include logical-border(1px, solid, cfg.config("colors", "border"));
310
+ }
311
+
312
+ .border-2 {
313
+ @include logical-border(2px, solid, cfg.config("colors", "border"));
314
+ }
315
+
316
+ .border-primary {
317
+ @include logical-border(1px, solid, cfg.config("colors", "primary"));
318
+ }
319
+
320
+ .border-secondary {
321
+ @include logical-border(1px, solid, cfg.config("colors", "secondary"));
322
+ }
323
+
324
+ .rounded-none {
325
+ border-radius: 0;
326
+ }
327
+
328
+ .rounded-sm {
329
+ border-radius: cfg.config("shape", "border-radius", "sm");
330
+ }
331
+
332
+ .rounded-md {
333
+ border-radius: cfg.config("shape", "border-radius", "md");
334
+ }
335
+
336
+ .rounded-lg {
337
+ border-radius: cfg.config("shape", "border-radius", "lg");
338
+ }
339
+
340
+ .rounded-full {
341
+ border-radius: cfg.config("shape", "border-radius", "full");
342
+ }
343
+
344
+ .shadow-xs {
345
+ box-shadow: cfg.config("shape", "shadow", "xs");
346
+ }
347
+
348
+ .shadow-sm {
349
+ box-shadow: cfg.config("shape", "shadow", "sm");
350
+ }
351
+
352
+ .shadow-md {
353
+ box-shadow: cfg.config("shape", "shadow", "md");
354
+ }
355
+
356
+ .shadow-lg {
357
+ box-shadow: cfg.config("shape", "shadow", "lg");
358
+ }
359
+
360
+ .shadow-xl {
361
+ box-shadow: cfg.config("shape", "shadow", "xl");
362
+ }
363
+
364
+ .cursor-pointer {
365
+ cursor: pointer;
366
+ }
367
+
368
+ .cursor-default {
369
+ cursor: default;
370
+ }
371
+
372
+ .cursor-not-allowed {
373
+ cursor: not-allowed;
374
+ }
375
+
376
+ .select-none {
377
+ user-select: none;
378
+ }
379
+
380
+ .select-text {
381
+ user-select: text;
382
+ }
383
+
384
+ .select-all {
385
+ user-select: all;
386
+ }
387
+
388
+ .visible {
389
+ visibility: visible;
390
+ }
391
+
392
+ .invisible {
393
+ visibility: hidden;
394
+ }
395
+
396
+ .collapse,
397
+ .vs-collapsed {
398
+ visibility: collapse;
399
+ }
400
+
401
+ .opacity-0 {
402
+ opacity: 0;
403
+ }
404
+
405
+ .opacity-25 {
406
+ opacity: 0.25;
407
+ }
408
+
409
+ .opacity-50 {
410
+ opacity: 0.5;
411
+ }
412
+
413
+ .opacity-75 {
414
+ opacity: 0.75;
415
+ }
416
+
417
+ .opacity-100 {
418
+ opacity: 1;
419
+ }
420
+
421
+ .hidden\@xs {
422
+ @include container-query("xs", "max-width") {
423
+ display: none;
424
+ }
425
+ }
426
+
427
+ .hidden\@sm {
428
+ @include container-query("sm", "max-width") {
429
+ display: none;
430
+ }
431
+ }
432
+
433
+ .hidden\@md {
434
+ @include container-query("md", "max-width") {
435
+ display: none;
436
+ }
437
+ }
438
+
439
+ .hidden\@lg {
440
+ @include container-query("lg", "max-width") {
441
+ display: none;
442
+ }
443
+ }
444
+
445
+ .block\@xs {
446
+ @include container-query("xs") {
447
+ display: block;
448
+ }
449
+ }
450
+
451
+ .block\@sm {
452
+ @include container-query("sm") {
453
+ display: block;
454
+ }
455
+ }
456
+
457
+ .block\@md {
458
+ @include container-query("md") {
459
+ display: block;
460
+ }
461
+ }
462
+
463
+ .block\@lg {
464
+ @include container-query("lg") {
465
+ display: block;
466
+ }
467
+ }
468
+
469
+ .text-sm\@xs {
470
+ @include container-query("xs", "max-width") {
471
+ @include typography("sm");
472
+ }
473
+ }
474
+
475
+ .text-base\@sm {
476
+ @include container-query("sm") {
477
+ @include typography("base");
478
+ }
479
+ }
480
+
481
+ .icon-xs {
482
+ --icon-size: 0.75rem;
483
+ }
484
+
485
+ .icon-sm {
486
+ --icon-size: 0.875rem;
487
+ }
488
+
489
+ .icon-md {
490
+ --icon-size: 1rem;
491
+ }
492
+
493
+ .icon-lg {
494
+ --icon-size: 1.25rem;
495
+ }
496
+
497
+ .icon-xl {
498
+ --icon-size: 1.5rem;
499
+ }
500
+
501
+ .center-absolute {
502
+ @include center-absolute;
503
+ }
504
+
505
+ .center-flex {
506
+ @include center-flex;
507
+ }
508
+
509
+ .interactive {
510
+ @include interactive;
511
+ }
512
+
513
+ .focus-ring {
514
+ @include focus-ring;
515
+ }
516
+
517
+ .truncate {
518
+ @include truncate(1);
519
+ }
520
+
521
+ .truncate-2 {
522
+ @include truncate(2);
523
+ }
524
+
525
+ .truncate-3 {
526
+ @include truncate(3);
527
+ }
528
+
529
+ .aspect-square {
530
+ @include aspect-ratio(1);
531
+ }
532
+
533
+ .aspect-video {
534
+ @include aspect-ratio(#{"16 / 9"});
535
+ }
536
+
537
+ .margin-block-0 {
538
+ margin-block: 0;
539
+ }
540
+
541
+ .margin-block-sm {
542
+ margin-block: var(--space-sm);
543
+ }
544
+
545
+ .margin-block-md {
546
+ margin-block: var(--space-md);
547
+ }
548
+
549
+ .margin-block-lg {
550
+ margin-block: var(--space-lg);
551
+ }
552
+
553
+ .margin-inline-0 {
554
+ margin-inline: 0;
555
+ }
556
+
557
+ .margin-inline-sm {
558
+ margin-inline: var(--space-sm);
559
+ }
560
+
561
+ .margin-inline-md {
562
+ margin-inline: var(--space-md);
563
+ }
564
+
565
+ .margin-inline-lg {
566
+ margin-inline: var(--space-lg);
567
+ }
568
+
569
+ .margin-inline-auto {
570
+ margin-inline: auto;
571
+ }
572
+
573
+ .padding-block-0 {
574
+ padding-block: 0;
575
+ }
576
+
577
+ .padding-block-sm {
578
+ padding-block: var(--space-sm);
579
+ }
580
+
581
+ .padding-block-md {
582
+ padding-block: var(--space-md);
583
+ }
584
+
585
+ .padding-block-lg {
586
+ padding-block: var(--space-lg);
587
+ }
588
+
589
+ .padding-inline-0 {
590
+ padding-inline: 0;
591
+ }
592
+
593
+ .padding-inline-sm {
594
+ padding-inline: var(--space-sm);
595
+ }
596
+
597
+ .padding-inline-md {
598
+ padding-inline: var(--space-md);
599
+ }
600
+
601
+ .padding-inline-lg {
602
+ padding-inline: var(--space-lg);
603
+ }
604
+
605
+ .pointer-events-none {
606
+ pointer-events: none;
607
+ }
608
+
609
+ .pointer-events-auto {
610
+ pointer-events: auto;
611
+ }
612
+
613
+ .line-clamp-1 {
614
+ @include line-clamp(1);
615
+ }
616
+
617
+ .line-clamp-2 {
618
+ @include line-clamp(2);
619
+ }
620
+
621
+ .line-clamp-3 {
622
+ @include line-clamp(3);
623
+ }
624
+
625
+ .vs-active {
626
+ --state-active: 1;
627
+ }
628
+
629
+ .vs-disabled {
630
+ pointer-events: none;
631
+ opacity: 0.5;
632
+ }
633
+
634
+ .vs-loading {
635
+ cursor: wait;
636
+ }
637
+
638
+ .vs-error {
639
+ color: var(--color-error, #dc3545);
640
+ }
641
+
642
+ .vs-success {
643
+ color: var(--color-success, #28a745);
644
+ }
645
+
646
+ .vs-hidden {
647
+ display: none !important;
648
+ }
649
+
650
+ .vl-container,
651
+ .container {
652
+ inline-size: 100%;
653
+ max-inline-size: var(--container-max, 1200px);
654
+ margin-inline: auto;
655
+ }
656
+
657
+ .vl-container {
658
+ padding-inline: var(--space-md);
659
+ }
660
+
661
+ .container {
662
+ padding-inline: var(--space-lg);
663
+ }
664
+
665
+ .vl-grid {
666
+ display: grid;
667
+ gap: var(--gap-md);
668
+ }
669
+
670
+ .vl-stack {
671
+ display: flex;
672
+ flex-direction: column;
673
+ gap: var(--gap-md);
674
+ }
675
+
676
+ .vl-cluster {
677
+ display: flex;
678
+ flex-wrap: wrap;
679
+ gap: var(--gap-sm);
680
+ align-items: center;
681
+ }
682
+
683
+ .vl-center {
684
+ display: flex;
685
+ align-items: center;
686
+ justify-content: center;
687
+ }
688
+
689
+ .vu-sr-only {
690
+ @include visually-hidden;
691
+ }
692
+
693
+ .vc-surface {
694
+ background-color: var(--color-surface);
695
+ color: var(--color-on-surface);
696
+ }
697
+
698
+ .vc-surface-variant {
699
+ background-color: var(--color-surface-variant);
700
+ color: var(--color-on-surface-variant);
701
+ }
702
+
703
+ .vc-primary {
704
+ background-color: var(--color-primary);
705
+ color: var(--color-on-primary);
706
+ }
707
+
708
+ .vc-secondary {
709
+ background-color: var(--color-secondary);
710
+ color: var(--color-on-secondary);
711
+ }
712
+
713
+ .vc-elevated {
714
+ box-shadow: var(--elev-1);
715
+ }
716
+
717
+ .vc-elevated-2 {
718
+ box-shadow: var(--elev-2);
719
+ }
720
+
721
+ .vc-elevated-3 {
722
+ box-shadow: var(--elev-3);
723
+ }
724
+
725
+ .vc-rounded {
726
+ border-radius: var(--radius-md);
727
+ }
728
+
729
+ .vc-rounded-sm {
730
+ border-radius: var(--radius-sm);
731
+ }
732
+
733
+ .vc-rounded-lg {
734
+ border-radius: var(--radius-lg);
735
+ }
736
+
737
+ .vc-rounded-full {
738
+ border-radius: var(--radius-full, 9999px);
739
+ }
740
+
741
+ .card {
742
+ background: var(--color-bg);
743
+ border: 1px solid var(--color-border);
744
+ border-radius: var(--radius-lg);
745
+ padding: var(--space-lg);
746
+ box-shadow: var(--shadow-sm);
747
+ }
748
+
749
+ .stack {
750
+ & > * + * {
751
+ margin-block-start: var(--space-md);
752
+ }
753
+ }
754
+
755
+ .stack-sm {
756
+ & > * + * {
757
+ margin-block-start: var(--space-sm);
758
+ }
759
+ }
760
+
761
+ .stack-lg {
762
+ & > * + * {
763
+ margin-block-start: var(--space-lg);
764
+ }
765
+ }
766
+
767
+ @media print {
768
+ .print-hidden {
769
+ display: none !important;
770
+ }
771
+
772
+ .print-visible {
773
+ display: block !important;
774
+ }
775
+
776
+ .print-break-before {
777
+ page-break-before: always;
778
+ }
779
+
780
+ .print-break-after {
781
+ page-break-after: always;
782
+ }
783
+
784
+ .print-break-inside-avoid {
785
+ page-break-inside: avoid;
786
+ }
787
+ }
788
+
789
+ @media (prefers-reduced-motion: reduce) {
790
+ .transition-fast,
791
+ .transition-normal,
792
+ .transition-slow {
793
+ transition: none;
794
+ }
795
+
796
+ * {
797
+ animation-duration: 0.01ms !important;
798
+ animation-iteration-count: 1 !important;
799
+ transition-duration: 0.01ms !important;
800
+ }
801
+ }
802
+
803
+ @media (prefers-contrast: high) {
804
+ .text-primary {
805
+ color: var(--color-on-surface);
806
+ }
807
+
808
+ .text-secondary,
809
+ .text-muted,
810
+ .text-disabled {
811
+ color: var(--color-on-surface-variant);
812
+ }
813
+
814
+ .border {
815
+ border-width: 2px;
816
+ }
817
+
818
+ .border-top {
819
+ border-top-width: 2px;
820
+ }
821
+
822
+ .border-bottom {
823
+ border-bottom-width: 2px;
824
+ }
825
+
826
+ .border-left {
827
+ border-left-width: 2px;
828
+ }
829
+
830
+ .border-right {
831
+ border-right-width: 2px;
832
+ }
833
+ }
834
+ }
835
+
836
+ //
837
+ @property --value { syntax: "<number>"; initial-value: 0; inherits: true; };
838
+ @property --relate { syntax: "<number>"; initial-value: 0; inherits: true; };
839
+ @property --drag-x { syntax: "<number>"; initial-value: 0; inherits: false; };
840
+ @property --drag-y { syntax: "<number>"; initial-value: 0; inherits: false; };
841
+
842
+ //
843
+ @property --order { syntax: "<integer>"; initial-value: 1; inherits: true; };
844
+ @property --content-inline-size { syntax: "<length-percentage>"; initial-value: 100%; inherits: true; };
845
+ @property --content-block-size { syntax: "<length-percentage>"; initial-value: 100%; inherits: true; };
846
+ @property --icon-size { syntax: "<length-percentage>"; initial-value: 16px; inherits: true; };
847
+ @property --icon-color { syntax: "<color>"; initial-value: #0000; inherits: true; };
848
+ @property --icon-padding { syntax: "<length-percentage>"; initial-value: 0px; inherits: true; };
849
+ @property --icon-image { syntax: "<image>"; initial-value: linear-gradient(#0000, #0000); inherits: true; };
850
+
851
+ //
852
+ @layer ux-classes {
853
+ @include ux.host-related(".grid-rows", "::slotted(*)") { @include ux.grid-row; }
854
+ @include ux.host-related(".grid-rows", "*") { @include ux.grid-row; }
855
+ @include ux.host-context(".grid-rows") {
856
+ @include ux.display(inline-grid, column, center, center);
857
+ @include ux.size(auto, auto);
858
+
859
+ //
860
+ & {
861
+ grid-auto-rows: minmax(0px, max-content);
862
+ grid-template-columns: minmax(0px, max-content) minmax(0px, 1fr) minmax(0px, max-content);
863
+ margin: 0px;
864
+ padding: 0px;
865
+ list-style-type: none;
866
+ list-style-position: inside;
867
+ }
868
+ }
869
+
870
+ //
871
+ @include ux.host-related(".grid-columns", "::slotted(*)") { @include ux.grid-column; }
872
+ @include ux.host-related(".grid-columns", "*") { @include ux.grid-column; }
873
+ @include ux.host-context(".grid-columns") {
874
+ @include ux.display(inline-grid, row, center, center);
875
+ @include ux.size(auto, auto);
876
+
877
+ //
878
+ & {
879
+ grid-auto-columns: minmax(0px, 1fr);
880
+ grid-template-rows: minmax(0px, 1fr);
881
+ margin: 0px;
882
+ padding: 0px;
883
+ list-style-type: none;
884
+ list-style-position: inside;
885
+ }
886
+ }
887
+
888
+ //
889
+ @include ux.host-related(".flex-columns", "::slotted(*)") { @include ux.flex-column; }
890
+ @include ux.host-related(".flex-columns", "*") { @include ux.flex-column; }
891
+ @include ux.host-context(".flex-columns") {
892
+ @include ux.display(inline-flex, column, center, center);
893
+ @include ux.size(max-content, max-content);
894
+ }
895
+
896
+ //
897
+ @include ux.host-related(".grid-layered", "::slotted(*)") { @include ux.grid-layered; }
898
+ @include ux.host-related(".grid-layered", "*") { @include ux.grid-layered; }
899
+ @include ux.host-context(".grid-layered") {
900
+ @include ux.grid-layered;
901
+ @include ux.display(inline-grid, column, center, center);
902
+ @include ux.size(max-content, max-content);
903
+ }
904
+
905
+ //
906
+ @include ux.host-related(".grid-rows-3c", "::slotted(*)") { @include ux.grid-rows-3c; }
907
+ @include ux.host-related(".grid-rows-3c", "*") { @include ux.grid-rows-3c; }
908
+ @include ux.host-context(".grid-rows-3c") {
909
+ & { grid-template-columns: minmax(0px, max-content) minmax(0px, 1fr) minmax(0px, max-content); }
910
+ @include ux.size(auto, auto);
911
+ }
912
+
913
+ //
914
+ @include ux.host-related(".grid-rows-3c", "::slotted(*:last-child)") { grid-column: var(--order, 1) / 3 span; }
915
+ @include ux.host-related(".grid-rows-3c", "*:last-child") { grid-column: var(--order, 1) / 3 span; }
916
+ @include ux.host-context(".grid-rows-3c") {
917
+ & { --order: sibling-index(); };
918
+ & { grid-column: var(--order, 1) / var(--order, 1) span; }
919
+ @include ux.size(auto, auto);
920
+ }
921
+
922
+ //
923
+ @include ux.host-context(".stretch-inline") { @include ux.inline-stretch; }
924
+ @include ux.host-context(".stretch-block") { @include ux.block-stretch; }
925
+
926
+ // requires `box-sizing: border-box`
927
+ @include ux.host-context(".content-inline-size") { @include ux.content-inline-size; }
928
+
929
+ // requires `box-sizing: border-box`
930
+ @include ux.host-context(".content-block-size") { @include ux.content-block-size; }
931
+
932
+ //
933
+ @include ux.host-context(".ux-anchor") { @include ps-anchor; }
934
+ @include ux.host-context(".ux-anchor") { @include ps-cursor; }
935
+
936
+ //
937
+ @include ux.host-context(".layered-wrap") {
938
+ & { background-color: transparent; display: inline grid; inline-size: max-content; block-size: max-content; grid-template-columns: minmax(0px, 1fr); grid-template-rows: minmax(0px, 1fr); z-index: calc(var(--z-index, 0) + 1); overflow: visible; }
939
+ & > * { grid-column: 1 / -1; grid-row: 1 / -1; }
940
+ }
941
+ }