@eos-ui/vue 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/component-names.js +1 -1
- package/dist/component-names.js.map +1 -1
- package/dist/components/Actions/EActions.js.map +1 -1
- package/dist/components/Actions/EActions.vue.d.ts +1 -1
- package/dist/components/Actions/EActions.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Avatar/EAvatar.js.map +1 -1
- package/dist/components/Avatar/EAvatar.vue.d.ts +1 -1
- package/dist/components/Avatar/EAvatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Button/EButton.js.map +1 -1
- package/dist/components/Button/EButton.vue.d.ts +2 -0
- package/dist/components/Button/EButton.vue_vue_type_script_setup_true_lang.js +64 -29
- package/dist/components/Button/EButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Calendar/ECalendar.js.map +1 -1
- package/dist/components/Calendar/ECalendar.vue.d.ts +1 -1
- package/dist/components/Calendar/ECalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Checkbox/ECheckbox.js.map +1 -1
- package/dist/components/Checkbox/ECheckbox.vue.d.ts +1 -1
- package/dist/components/Checkbox/ECheckbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Combobox/EComboboxBase.js.map +1 -1
- package/dist/components/Combobox/EComboboxBase.vue_vue_type_script_setup_true_lang.js +4 -8
- package/dist/components/Combobox/EComboboxBase.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Combobox/types.d.ts +2 -2
- package/dist/components/DataGrid/EDataGrid.js.map +1 -1
- package/dist/components/DataGrid/EDataGrid.vue.d.ts +1 -1
- package/dist/components/DataGrid/EDataGrid.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/components/DataGrid/EDataGrid.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/DescriptionList/EDescriptionList.js.map +1 -1
- package/dist/components/DescriptionList/EDescriptionList.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/DescriptionList/EDescriptionList.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Dialog/EDialog.js.map +1 -1
- package/dist/components/Dialog/EDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Drawer/EDrawer.js.map +1 -1
- package/dist/components/Drawer/EDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/EmptyState/EEmptyState.js.map +1 -1
- package/dist/components/EmptyState/EEmptyState.vue.d.ts +1 -1
- package/dist/components/EmptyState/EEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Grid/EGrid.js.map +1 -1
- package/dist/components/Grid/EGrid.vue.d.ts +1 -1
- package/dist/components/Grid/EGrid.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/IconButton/EIconButton.js.map +1 -1
- package/dist/components/IconButton/EIconButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Inline/EInline.js.map +1 -1
- package/dist/components/Inline/EInline.vue.d.ts +1 -1
- package/dist/components/Inline/EInline.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Kbd/EKbd.js.map +1 -1
- package/dist/components/Kbd/EKbd.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/NavList/ENavList.js.map +1 -1
- package/dist/components/NavList/ENavList.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Notice/ENotice.js.map +1 -1
- package/dist/components/Notice/ENotice.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/OtpField/EOtpField.js.map +1 -1
- package/dist/components/OtpField/EOtpField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Pagination/EPagination.js.map +1 -1
- package/dist/components/Pagination/EPagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/PasswordField/EPasswordField.js.map +1 -1
- package/dist/components/PasswordField/EPasswordField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/SearchBar/ESearchBar.js.map +1 -1
- package/dist/components/SearchBar/ESearchBar.vue.d.ts +1 -1
- package/dist/components/SearchBar/ESearchBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Segmented/ESegmented.js.map +1 -1
- package/dist/components/Segmented/ESegmented.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Select/ESelectControl.js.map +1 -1
- package/dist/components/Select/ESelectControl.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/SignaturePad/ESignaturePad.js.map +1 -1
- package/dist/components/SignaturePad/ESignaturePad.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Stack/EStack.js.map +1 -1
- package/dist/components/Stack/EStack.vue.d.ts +1 -1
- package/dist/components/Stack/EStack.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Stamp/EStamp.js.map +1 -1
- package/dist/components/Stamp/EStamp.vue.d.ts +2 -2
- package/dist/components/Stamp/EStamp.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/Stamp/EStamp.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Stepper/EStepper.js.map +1 -1
- package/dist/components/Stepper/EStepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Surface/ESurface.js.map +1 -1
- package/dist/components/Surface/ESurface.vue.d.ts +1 -1
- package/dist/components/Surface/ESurface.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Switch/ESwitch.js.map +1 -1
- package/dist/components/Switch/ESwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Table/ETable.js +8 -0
- package/dist/components/Table/ETable.js.map +1 -0
- package/dist/components/Table/ETable.vue.d.ts +25 -0
- package/dist/components/Table/ETable.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/Table/ETable.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/Table/index.d.ts +1 -0
- package/dist/components/Tabs/ETabs.js.map +1 -1
- package/dist/components/Tabs/ETabs.vue.d.ts +10 -2
- package/dist/components/Tabs/ETabs.vue_vue_type_script_setup_true_lang.js +11 -3
- package/dist/components/Tabs/ETabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Upload/EUpload.js.map +1 -1
- package/dist/components/Upload/EUpload.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +10 -9
- package/dist/style.css +553 -174
- package/package.json +3 -2
package/dist/style.css
CHANGED
|
@@ -178,6 +178,8 @@
|
|
|
178
178
|
.e-radio,
|
|
179
179
|
.e-sel-trigger,
|
|
180
180
|
.e-combo,
|
|
181
|
+
.e-search,
|
|
182
|
+
.e-seg,
|
|
181
183
|
.e-avatar {
|
|
182
184
|
border: 1px solid ButtonText;
|
|
183
185
|
}
|
|
@@ -464,6 +466,9 @@
|
|
|
464
466
|
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
465
467
|
@layer e.primitives {
|
|
466
468
|
.e-avatar {
|
|
469
|
+
--e-ring: var(--e-border-strong);
|
|
470
|
+
|
|
471
|
+
position: relative;
|
|
467
472
|
display: inline-grid;
|
|
468
473
|
place-items: center;
|
|
469
474
|
flex: none;
|
|
@@ -471,21 +476,31 @@
|
|
|
471
476
|
width: var(--e-tap, 44px);
|
|
472
477
|
height: var(--e-tap, 44px);
|
|
473
478
|
overflow: hidden;
|
|
474
|
-
border:
|
|
479
|
+
border: 0;
|
|
475
480
|
border-radius: var(--e-radius-md);
|
|
476
481
|
background: var(--e-surface-tint);
|
|
477
482
|
color: var(--e-primary);
|
|
478
483
|
font: 600 var(--e-text-sm) / 1 var(--e-font-mono);
|
|
479
484
|
letter-spacing: 0.02em;
|
|
480
485
|
}
|
|
486
|
+
|
|
487
|
+
/* The ring sits over the picture so an image never covers it. */
|
|
488
|
+
.e-avatar::after {
|
|
489
|
+
content: "";
|
|
490
|
+
position: absolute;
|
|
491
|
+
inset: 0;
|
|
492
|
+
border-radius: inherit;
|
|
493
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-ring);
|
|
494
|
+
pointer-events: none;
|
|
495
|
+
transition: box-shadow var(--e-duration-tap) var(--e-easing-out);
|
|
496
|
+
}
|
|
481
497
|
.e-avatar--button {
|
|
482
498
|
position: relative;
|
|
483
499
|
padding: 0;
|
|
484
500
|
cursor: pointer;
|
|
485
|
-
transition: border-color var(--e-duration-tap) var(--e-easing-out);
|
|
486
501
|
}
|
|
487
502
|
.e-avatar--button:hover {
|
|
488
|
-
|
|
503
|
+
--e-ring: var(--e-ink);
|
|
489
504
|
}
|
|
490
505
|
.e-avatar--button:focus-visible {
|
|
491
506
|
outline: var(--e-stroke-focus) solid var(--e-focus-ring);
|
|
@@ -608,21 +623,24 @@
|
|
|
608
623
|
--e-hover: color-mix(in srgb, var(--e-fill), var(--e-shade-hover));
|
|
609
624
|
--e-press: color-mix(in srgb, var(--e-fill), var(--e-shade-press));
|
|
610
625
|
|
|
611
|
-
/*
|
|
626
|
+
/* One rounded box, one control height tall. The slab is an inset shadow shifted up by the lift: the part of the box left uncovered along its bottom, which follows the corners up the sides, in the colour of the box's own edge. It is cut by the box's one outline, so nothing sits behind the curve. Pressing sinks the face over it. */
|
|
612
627
|
--e-lift: var(--e-depth);
|
|
628
|
+
--e-band: calc(var(--e-lift) + var(--e-stroke-edge));
|
|
629
|
+
--e-ring: var(--e-slab);
|
|
613
630
|
|
|
614
631
|
position: relative;
|
|
615
632
|
display: inline-flex;
|
|
616
633
|
align-items: center;
|
|
617
634
|
justify-content: center;
|
|
618
635
|
gap: var(--e-space-2);
|
|
619
|
-
height:
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
border: var(--e-stroke-edge) solid var(--e-slab);
|
|
636
|
+
height: var(--e-control-height);
|
|
637
|
+
padding: 0 var(--e-space-4) var(--e-lift);
|
|
638
|
+
border: 0;
|
|
623
639
|
border-radius: var(--e-radius-md);
|
|
624
|
-
background: var(--e-fill);
|
|
625
|
-
box-shadow:
|
|
640
|
+
background-color: var(--e-fill);
|
|
641
|
+
box-shadow:
|
|
642
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-ring),
|
|
643
|
+
inset 0 calc(-1 * var(--e-band)) 0 0 var(--e-slab);
|
|
626
644
|
color: var(--e-on-fill);
|
|
627
645
|
font: 500 var(--e-text-md) / 1 var(--e-font-sans);
|
|
628
646
|
letter-spacing: 0.01em;
|
|
@@ -630,17 +648,19 @@
|
|
|
630
648
|
text-decoration: none;
|
|
631
649
|
cursor: pointer;
|
|
632
650
|
transition:
|
|
633
|
-
transform var(--e-duration-tap) var(--e-easing-out),
|
|
634
651
|
box-shadow var(--e-duration-tap) var(--e-easing-out),
|
|
635
652
|
background-color var(--e-duration-tap) var(--e-easing-out);
|
|
636
653
|
}
|
|
637
654
|
.e-btn:hover {
|
|
638
|
-
|
|
655
|
+
--e-slab: color-mix(in srgb, var(--e-hover), var(--e-shade-slab));
|
|
656
|
+
|
|
657
|
+
background-color: var(--e-hover);
|
|
639
658
|
}
|
|
640
659
|
.e-btn:active {
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
660
|
+
--e-lift: 0px;
|
|
661
|
+
|
|
662
|
+
background-color: var(--e-press);
|
|
663
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-ring);
|
|
644
664
|
}
|
|
645
665
|
.e-btn--secondary {
|
|
646
666
|
--e-fill: var(--e-secondary);
|
|
@@ -656,21 +676,24 @@
|
|
|
656
676
|
--e-slab: var(--e-border-strong);
|
|
657
677
|
}
|
|
658
678
|
.e-btn--outline:hover {
|
|
659
|
-
|
|
660
|
-
|
|
679
|
+
--e-ring: var(--e-ink);
|
|
680
|
+
--e-slab: var(--e-ink);
|
|
681
|
+
|
|
682
|
+
background-color: color-mix(in srgb, var(--e-surface), var(--e-shade-hover));
|
|
661
683
|
}
|
|
662
684
|
.e-btn--outline:active {
|
|
663
|
-
|
|
664
|
-
|
|
685
|
+
--e-ring: var(--e-ink);
|
|
686
|
+
--e-slab: var(--e-ink);
|
|
687
|
+
|
|
688
|
+
background-color: color-mix(in srgb, var(--e-surface), var(--e-shade-press));
|
|
665
689
|
}
|
|
666
690
|
.e-btn--quiet {
|
|
667
|
-
|
|
668
|
-
|
|
691
|
+
--e-ring: transparent;
|
|
669
692
|
--e-lift: 0px;
|
|
670
693
|
|
|
671
694
|
background: transparent;
|
|
672
695
|
color: var(--e-ink);
|
|
673
|
-
box-shadow:
|
|
696
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-ring);
|
|
674
697
|
padding-inline: var(--e-space-3);
|
|
675
698
|
text-decoration: underline;
|
|
676
699
|
text-underline-offset: 5px;
|
|
@@ -678,18 +701,72 @@
|
|
|
678
701
|
text-decoration-color: var(--e-border-strong);
|
|
679
702
|
}
|
|
680
703
|
.e-btn--quiet:not([disabled], [aria-disabled="true"]):hover {
|
|
681
|
-
|
|
704
|
+
--e-ring: var(--e-wash-ring);
|
|
705
|
+
|
|
682
706
|
background: var(--e-wash-hover);
|
|
683
707
|
text-decoration-color: currentcolor;
|
|
684
708
|
}
|
|
685
709
|
.e-btn--quiet:not([disabled], [aria-disabled="true"]):active {
|
|
686
|
-
|
|
710
|
+
--e-ring: var(--e-ink);
|
|
711
|
+
|
|
687
712
|
background: var(--e-wash-press);
|
|
688
713
|
transform: none;
|
|
689
714
|
}
|
|
690
|
-
.e-btn .e-icon
|
|
715
|
+
.e-btn .e-icon,
|
|
716
|
+
.e-btn-spinner {
|
|
691
717
|
margin-inline-start: calc(-0.5 * var(--e-space-1));
|
|
692
718
|
}
|
|
719
|
+
.e-btn-spinner {
|
|
720
|
+
flex: none;
|
|
721
|
+
width: 1.125em;
|
|
722
|
+
height: 1.125em;
|
|
723
|
+
fill: none;
|
|
724
|
+
stroke: currentcolor;
|
|
725
|
+
stroke-width: 3;
|
|
726
|
+
stroke-linecap: round;
|
|
727
|
+
stroke-dasharray: 36 56;
|
|
728
|
+
animation: e-btn-spin 0.9s linear infinite;
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
/* Busy reads as unavailable and in progress: a soft tint of the button's colour with a dashed edge like a disabled button, and stripes that move. The face grows over its slab, so the button stays one control height tall. The edge is a pseudo-element, so a page's focus reset cannot remove it. */
|
|
732
|
+
.e-btn--loading {
|
|
733
|
+
--e-lift: 0px;
|
|
734
|
+
--e-tint: var(--e-fill);
|
|
735
|
+
--e-busy: color-mix(in srgb, var(--e-tint) 80%, var(--e-ink));
|
|
736
|
+
}
|
|
737
|
+
.e-btn--outline.e-btn--loading {
|
|
738
|
+
--e-tint: var(--e-border-strong);
|
|
739
|
+
}
|
|
740
|
+
.e-btn--loading,
|
|
741
|
+
.e-btn--loading:hover,
|
|
742
|
+
.e-btn--loading:active {
|
|
743
|
+
background-color: color-mix(in srgb, var(--e-tint) 14%, var(--e-surface));
|
|
744
|
+
background-image: repeating-linear-gradient(135deg, transparent 0 8px, color-mix(in srgb, var(--e-tint) 20%, transparent) 8px 16px);
|
|
745
|
+
background-size: 22.63px 22.63px;
|
|
746
|
+
box-shadow: none;
|
|
747
|
+
color: var(--e-busy);
|
|
748
|
+
transform: none;
|
|
749
|
+
cursor: not-allowed;
|
|
750
|
+
animation: e-btn-stripes 0.8s linear infinite;
|
|
751
|
+
}
|
|
752
|
+
.e-btn--loading::before {
|
|
753
|
+
content: "";
|
|
754
|
+
position: absolute;
|
|
755
|
+
inset: 0;
|
|
756
|
+
border: var(--e-stroke-edge) dashed var(--e-busy);
|
|
757
|
+
border-radius: inherit;
|
|
758
|
+
pointer-events: none;
|
|
759
|
+
}
|
|
760
|
+
@keyframes e-btn-stripes {
|
|
761
|
+
to {
|
|
762
|
+
background-position-x: 22.63px;
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
@keyframes e-btn-spin {
|
|
766
|
+
to {
|
|
767
|
+
transform: rotate(360deg);
|
|
768
|
+
}
|
|
769
|
+
}
|
|
693
770
|
.e-btn--block {
|
|
694
771
|
width: 100%;
|
|
695
772
|
}
|
|
@@ -699,9 +776,9 @@
|
|
|
699
776
|
.e-btn[aria-pressed="true"]:hover,
|
|
700
777
|
.e-btn[aria-pressed="true"]:active {
|
|
701
778
|
--e-slab: var(--e-primary);
|
|
779
|
+
--e-ring: var(--e-primary);
|
|
702
780
|
|
|
703
|
-
|
|
704
|
-
background: var(--e-surface-hover);
|
|
781
|
+
background-color: var(--e-surface-hover);
|
|
705
782
|
color: var(--e-primary);
|
|
706
783
|
}
|
|
707
784
|
.e-btn[disabled],
|
|
@@ -711,8 +788,8 @@
|
|
|
711
788
|
cursor: not-allowed;
|
|
712
789
|
background: transparent;
|
|
713
790
|
color: var(--e-muted);
|
|
714
|
-
|
|
715
|
-
outline:
|
|
791
|
+
outline: var(--e-stroke-edge) dashed var(--e-border-strong);
|
|
792
|
+
outline-offset: calc(-1 * var(--e-stroke-edge));
|
|
716
793
|
box-shadow: none;
|
|
717
794
|
transform: none;
|
|
718
795
|
}
|
|
@@ -720,6 +797,12 @@
|
|
|
720
797
|
.e-btn {
|
|
721
798
|
transition: none;
|
|
722
799
|
}
|
|
800
|
+
.e-btn-spinner {
|
|
801
|
+
animation-duration: 3s;
|
|
802
|
+
}
|
|
803
|
+
.e-btn--loading {
|
|
804
|
+
animation: none;
|
|
805
|
+
}
|
|
723
806
|
}
|
|
724
807
|
@media print {
|
|
725
808
|
.e-btn {
|
|
@@ -737,7 +820,7 @@
|
|
|
737
820
|
}
|
|
738
821
|
.e-btn[disabled],
|
|
739
822
|
.e-btn[aria-disabled="true"] {
|
|
740
|
-
|
|
823
|
+
outline-color: GrayText;
|
|
741
824
|
color: GrayText;
|
|
742
825
|
}
|
|
743
826
|
}
|
|
@@ -767,7 +850,8 @@
|
|
|
767
850
|
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-ink);
|
|
768
851
|
}
|
|
769
852
|
.e-icon-btn:disabled {
|
|
770
|
-
|
|
853
|
+
outline: var(--e-stroke-edge) dashed var(--e-border-strong);
|
|
854
|
+
outline-offset: calc(-1 * var(--e-stroke-edge));
|
|
771
855
|
color: var(--e-muted);
|
|
772
856
|
cursor: not-allowed;
|
|
773
857
|
}
|
|
@@ -788,7 +872,7 @@
|
|
|
788
872
|
outline-offset: calc(-1 * var(--e-stroke-edge));
|
|
789
873
|
}
|
|
790
874
|
.e-icon-btn:disabled {
|
|
791
|
-
|
|
875
|
+
outline-color: GrayText;
|
|
792
876
|
color: GrayText;
|
|
793
877
|
}
|
|
794
878
|
}
|
|
@@ -826,7 +910,7 @@
|
|
|
826
910
|
gap: var(--e-space-1);
|
|
827
911
|
height: var(--e-control-height);
|
|
828
912
|
padding: 0 var(--e-space-2);
|
|
829
|
-
border:
|
|
913
|
+
border: 0;
|
|
830
914
|
border-radius: var(--e-radius-md);
|
|
831
915
|
background: transparent;
|
|
832
916
|
color: var(--e-ink);
|
|
@@ -836,7 +920,7 @@
|
|
|
836
920
|
}
|
|
837
921
|
.e-cal-pick:hover {
|
|
838
922
|
background: var(--e-surface-hover);
|
|
839
|
-
|
|
923
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong);
|
|
840
924
|
}
|
|
841
925
|
.e-cal-pick:focus-visible {
|
|
842
926
|
outline: var(--e-stroke-focus) solid var(--e-focus-ring);
|
|
@@ -889,7 +973,7 @@
|
|
|
889
973
|
width: 100%;
|
|
890
974
|
height: var(--e-tap);
|
|
891
975
|
padding: 0;
|
|
892
|
-
border:
|
|
976
|
+
border: 0;
|
|
893
977
|
border-radius: var(--e-radius-md);
|
|
894
978
|
background: transparent;
|
|
895
979
|
color: var(--e-ink);
|
|
@@ -902,7 +986,7 @@
|
|
|
902
986
|
/* stylelint-disable-next-line selector-not-notation -- the selector stays in this form */
|
|
903
987
|
.e-day:hover:not(:disabled):not(.e-day--sel) {
|
|
904
988
|
background: var(--e-surface-hover);
|
|
905
|
-
|
|
989
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong);
|
|
906
990
|
}
|
|
907
991
|
.e-day:focus-visible {
|
|
908
992
|
outline: var(--e-stroke-focus) solid var(--e-focus-ring);
|
|
@@ -917,7 +1001,7 @@
|
|
|
917
1001
|
}
|
|
918
1002
|
.e-day--sel {
|
|
919
1003
|
background: var(--e-primary);
|
|
920
|
-
|
|
1004
|
+
box-shadow: none;
|
|
921
1005
|
font-weight: 700;
|
|
922
1006
|
color: var(--e-on-primary);
|
|
923
1007
|
}
|
|
@@ -960,7 +1044,7 @@
|
|
|
960
1044
|
height: 100%;
|
|
961
1045
|
min-height: var(--e-tap);
|
|
962
1046
|
padding: 0;
|
|
963
|
-
border:
|
|
1047
|
+
border: 0;
|
|
964
1048
|
border-radius: var(--e-radius-md);
|
|
965
1049
|
background: transparent;
|
|
966
1050
|
color: var(--e-ink);
|
|
@@ -976,7 +1060,7 @@
|
|
|
976
1060
|
/* stylelint-disable-next-line selector-not-notation -- the selector stays in this form */
|
|
977
1061
|
.e-cal-cell:hover:not(:disabled):not(.e-day--sel) {
|
|
978
1062
|
background: var(--e-surface-hover);
|
|
979
|
-
|
|
1063
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong);
|
|
980
1064
|
}
|
|
981
1065
|
.e-cal-cell:focus-visible {
|
|
982
1066
|
outline: var(--e-stroke-focus) solid var(--e-focus-ring);
|
|
@@ -989,7 +1073,7 @@
|
|
|
989
1073
|
}
|
|
990
1074
|
.e-cal-cell.e-day--sel {
|
|
991
1075
|
background: var(--e-primary);
|
|
992
|
-
|
|
1076
|
+
box-shadow: none;
|
|
993
1077
|
font-weight: 700;
|
|
994
1078
|
color: var(--e-on-primary);
|
|
995
1079
|
}
|
|
@@ -1092,12 +1176,17 @@
|
|
|
1092
1176
|
width: 24px;
|
|
1093
1177
|
height: 24px;
|
|
1094
1178
|
margin: 0;
|
|
1095
|
-
|
|
1179
|
+
|
|
1180
|
+
--e-ring: var(--e-border-strong);
|
|
1181
|
+
|
|
1182
|
+
border: 0;
|
|
1096
1183
|
background: var(--e-surface);
|
|
1097
|
-
box-shadow:
|
|
1184
|
+
box-shadow:
|
|
1185
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-ring),
|
|
1186
|
+
var(--e-well);
|
|
1098
1187
|
cursor: inherit;
|
|
1099
1188
|
transition:
|
|
1100
|
-
|
|
1189
|
+
box-shadow var(--e-duration-tap) var(--e-easing-out),
|
|
1101
1190
|
background-color var(--e-duration-tap) var(--e-easing-out);
|
|
1102
1191
|
}
|
|
1103
1192
|
|
|
@@ -1111,12 +1200,12 @@
|
|
|
1111
1200
|
|
|
1112
1201
|
.e-check:hover,
|
|
1113
1202
|
.e-radio:hover {
|
|
1114
|
-
|
|
1203
|
+
--e-ring: var(--e-ink);
|
|
1204
|
+
|
|
1115
1205
|
background-color: var(--e-surface-hover);
|
|
1116
1206
|
}
|
|
1117
1207
|
|
|
1118
1208
|
.e-check:checked {
|
|
1119
|
-
border-color: var(--e-primary);
|
|
1120
1209
|
background-color: var(--e-primary);
|
|
1121
1210
|
box-shadow: none;
|
|
1122
1211
|
}
|
|
@@ -1135,7 +1224,6 @@
|
|
|
1135
1224
|
}
|
|
1136
1225
|
|
|
1137
1226
|
.e-radio:checked {
|
|
1138
|
-
border-color: var(--e-primary);
|
|
1139
1227
|
background-color: var(--e-primary);
|
|
1140
1228
|
box-shadow: none;
|
|
1141
1229
|
background-image: radial-gradient(circle, var(--e-on-primary) 0 4px, transparent 5px);
|
|
@@ -1155,16 +1243,17 @@
|
|
|
1155
1243
|
|
|
1156
1244
|
.e-check:disabled,
|
|
1157
1245
|
.e-radio:disabled {
|
|
1158
|
-
|
|
1246
|
+
outline: var(--e-stroke-edge) dashed var(--e-border-strong);
|
|
1247
|
+
outline-offset: calc(-1 * var(--e-stroke-edge));
|
|
1159
1248
|
background-color: var(--e-surface-tint);
|
|
1160
1249
|
box-shadow: none;
|
|
1161
1250
|
}
|
|
1162
1251
|
|
|
1163
1252
|
.e-check:checked:disabled,
|
|
1164
1253
|
.e-radio:checked:disabled {
|
|
1165
|
-
|
|
1254
|
+
outline: 0;
|
|
1166
1255
|
background-color: var(--e-surface-tint);
|
|
1167
|
-
|
|
1256
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong);
|
|
1168
1257
|
}
|
|
1169
1258
|
|
|
1170
1259
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -1307,18 +1396,22 @@
|
|
|
1307
1396
|
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
1308
1397
|
@layer e.controls {
|
|
1309
1398
|
.e-input {
|
|
1399
|
+
--e-ring: var(--e-border-strong);
|
|
1400
|
+
|
|
1310
1401
|
width: 100%;
|
|
1311
1402
|
min-width: 0;
|
|
1312
1403
|
height: var(--e-control-height);
|
|
1313
1404
|
padding: 0 var(--e-space-4);
|
|
1314
|
-
border:
|
|
1405
|
+
border: 0;
|
|
1315
1406
|
border-radius: var(--e-radius-md);
|
|
1316
1407
|
background-color: var(--e-surface);
|
|
1317
|
-
box-shadow:
|
|
1408
|
+
box-shadow:
|
|
1409
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-ring),
|
|
1410
|
+
var(--e-well);
|
|
1318
1411
|
color: var(--e-ink);
|
|
1319
1412
|
font: 400 var(--e-text-md)/1 var(--e-font-sans);
|
|
1320
1413
|
transition:
|
|
1321
|
-
|
|
1414
|
+
box-shadow var(--e-duration-tap) var(--e-easing-out),
|
|
1322
1415
|
background-color var(--e-duration-tap) var(--e-easing-out);
|
|
1323
1416
|
}
|
|
1324
1417
|
|
|
@@ -1327,25 +1420,34 @@
|
|
|
1327
1420
|
}
|
|
1328
1421
|
|
|
1329
1422
|
.e-input:hover {
|
|
1330
|
-
border-color: var(--e-ink);
|
|
1331
1423
|
background-color: var(--e-surface-hover);
|
|
1332
1424
|
}
|
|
1333
1425
|
|
|
1334
1426
|
.e-input:focus {
|
|
1335
|
-
|
|
1427
|
+
--e-ring: var(--e-focus-field);
|
|
1428
|
+
|
|
1336
1429
|
background-color: var(--e-surface);
|
|
1337
1430
|
}
|
|
1338
1431
|
|
|
1432
|
+
/* A field's focus outline lies over its border and then reaches at least as far outside it again, so the field looks thicker on every stroke preset. */
|
|
1339
1433
|
.e-input:focus-visible {
|
|
1434
|
+
outline-width: max(var(--e-stroke-focus), calc(2 * var(--e-stroke-edge)));
|
|
1340
1435
|
outline-color: var(--e-focus-field);
|
|
1341
1436
|
outline-offset: var(--e-focus-gap-field);
|
|
1342
1437
|
}
|
|
1343
1438
|
|
|
1344
1439
|
.e-input[aria-invalid="true"] {
|
|
1345
|
-
|
|
1440
|
+
--e-ring: var(--e-danger);
|
|
1441
|
+
|
|
1442
|
+
background-color: var(--e-surface);
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1445
|
+
.e-input[aria-invalid="true"]:hover {
|
|
1446
|
+
background-color: var(--e-danger-soft);
|
|
1447
|
+
}
|
|
1448
|
+
|
|
1449
|
+
.e-input[aria-invalid="true"]:focus {
|
|
1346
1450
|
background-color: var(--e-surface);
|
|
1347
|
-
box-shadow:
|
|
1348
|
-
var(--e-well), inset 0 0 0 var(--e-stroke-hair) var(--e-danger);
|
|
1349
1451
|
}
|
|
1350
1452
|
|
|
1351
1453
|
.e-input[aria-invalid="true"]:focus-visible {
|
|
@@ -1354,8 +1456,8 @@
|
|
|
1354
1456
|
|
|
1355
1457
|
.e-input:disabled {
|
|
1356
1458
|
cursor: not-allowed;
|
|
1357
|
-
|
|
1358
|
-
outline:
|
|
1459
|
+
outline: var(--e-stroke-edge) dashed var(--e-border-strong);
|
|
1460
|
+
outline-offset: calc(-1 * var(--e-stroke-edge));
|
|
1359
1461
|
background-color: var(--e-surface-tint);
|
|
1360
1462
|
box-shadow: none;
|
|
1361
1463
|
color: var(--e-muted);
|
|
@@ -1366,46 +1468,52 @@
|
|
|
1366
1468
|
}
|
|
1367
1469
|
|
|
1368
1470
|
.e-input-wrap {
|
|
1471
|
+
--e-ring: var(--e-border-strong);
|
|
1472
|
+
|
|
1369
1473
|
display: flex;
|
|
1370
1474
|
align-items: stretch;
|
|
1371
1475
|
min-width: 0;
|
|
1372
1476
|
min-height: var(--e-control-height);
|
|
1373
|
-
border: var(--e-stroke-edge) solid var(--e-border-strong);
|
|
1374
1477
|
border-radius: var(--e-radius-md);
|
|
1375
1478
|
background: var(--e-surface);
|
|
1376
|
-
box-shadow:
|
|
1479
|
+
box-shadow:
|
|
1480
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-ring),
|
|
1481
|
+
var(--e-well);
|
|
1377
1482
|
transition:
|
|
1378
|
-
|
|
1483
|
+
box-shadow var(--e-duration-tap) var(--e-easing-out),
|
|
1379
1484
|
background-color var(--e-duration-tap) var(--e-easing-out);
|
|
1380
1485
|
}
|
|
1381
1486
|
|
|
1382
1487
|
.e-input-wrap:hover {
|
|
1383
|
-
border-color: var(--e-ink);
|
|
1384
1488
|
background: var(--e-surface-hover);
|
|
1385
1489
|
}
|
|
1386
1490
|
|
|
1387
1491
|
.e-input-wrap:focus-within {
|
|
1388
|
-
|
|
1492
|
+
--e-ring: var(--e-focus-field);
|
|
1493
|
+
|
|
1389
1494
|
background: var(--e-surface);
|
|
1390
|
-
outline: var(--e-stroke-focus) solid var(--e-focus-field);
|
|
1495
|
+
outline: max(var(--e-stroke-focus), calc(2 * var(--e-stroke-edge))) solid var(--e-focus-field);
|
|
1391
1496
|
outline-offset: var(--e-focus-gap-field);
|
|
1392
1497
|
}
|
|
1393
1498
|
|
|
1394
1499
|
.e-input-wrap[data-invalid] {
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
var(--e-well), inset 0 0 0 var(--e-stroke-hair) var(--e-danger);
|
|
1500
|
+
--e-ring: var(--e-danger);
|
|
1501
|
+
|
|
1398
1502
|
background: var(--e-surface);
|
|
1399
1503
|
}
|
|
1400
1504
|
|
|
1505
|
+
.e-input-wrap[data-invalid]:hover {
|
|
1506
|
+
background: var(--e-danger-soft);
|
|
1507
|
+
}
|
|
1508
|
+
|
|
1401
1509
|
.e-input-wrap[data-invalid]:focus-within {
|
|
1402
|
-
|
|
1510
|
+
background: var(--e-surface);
|
|
1403
1511
|
outline-color: var(--e-danger);
|
|
1404
1512
|
}
|
|
1405
1513
|
|
|
1406
1514
|
.e-input-wrap[data-disabled] {
|
|
1407
|
-
|
|
1408
|
-
outline:
|
|
1515
|
+
outline: var(--e-stroke-edge) dashed var(--e-border-strong);
|
|
1516
|
+
outline-offset: calc(-1 * var(--e-stroke-edge));
|
|
1409
1517
|
background: var(--e-surface-tint);
|
|
1410
1518
|
box-shadow: none;
|
|
1411
1519
|
color: var(--e-muted);
|
|
@@ -1413,7 +1521,6 @@
|
|
|
1413
1521
|
|
|
1414
1522
|
.e-input-wrap .e-input {
|
|
1415
1523
|
flex: 1;
|
|
1416
|
-
border: 0;
|
|
1417
1524
|
outline: 0;
|
|
1418
1525
|
background: transparent;
|
|
1419
1526
|
box-shadow: none;
|
|
@@ -1465,7 +1572,7 @@
|
|
|
1465
1572
|
|
|
1466
1573
|
.e-input:disabled,
|
|
1467
1574
|
.e-input-wrap[data-disabled] {
|
|
1468
|
-
|
|
1575
|
+
outline-color: GrayText;
|
|
1469
1576
|
}
|
|
1470
1577
|
|
|
1471
1578
|
.e-input:focus-visible,
|
|
@@ -1800,6 +1907,9 @@ to {
|
|
|
1800
1907
|
align-self: center;
|
|
1801
1908
|
padding-inline: var(--e-space-2);
|
|
1802
1909
|
}
|
|
1910
|
+
.e-combo-main .e-tag:not(:has(.e-tag-x)) {
|
|
1911
|
+
padding-inline-end: var(--e-space-3);
|
|
1912
|
+
}
|
|
1803
1913
|
.e-tag {
|
|
1804
1914
|
display: inline-flex;
|
|
1805
1915
|
align-items: center;
|
|
@@ -1954,27 +2064,23 @@ to {
|
|
|
1954
2064
|
justify-items: center;
|
|
1955
2065
|
gap: var(--e-space-2);
|
|
1956
2066
|
padding: var(--e-space-8) var(--e-space-4);
|
|
1957
|
-
|
|
2067
|
+
outline: var(--e-stroke-edge) dashed var(--e-border-strong);
|
|
2068
|
+
outline-offset: calc(-1 * var(--e-stroke-edge));
|
|
1958
2069
|
border-radius: var(--e-radius-md);
|
|
1959
2070
|
text-align: center;
|
|
1960
2071
|
}
|
|
1961
2072
|
.e-empty--bare {
|
|
1962
|
-
|
|
2073
|
+
outline: 0;
|
|
1963
2074
|
}
|
|
1964
2075
|
.e-empty-icon {
|
|
1965
2076
|
display: grid;
|
|
1966
2077
|
place-items: center;
|
|
1967
|
-
box-sizing: border-box;
|
|
1968
|
-
width: 56px;
|
|
1969
|
-
height: 56px;
|
|
1970
2078
|
margin-bottom: var(--e-space-1);
|
|
1971
|
-
|
|
1972
|
-
background: var(--e-secondary-soft);
|
|
1973
|
-
border: var(--e-stroke-hair) solid var(--e-secondary);
|
|
2079
|
+
color: var(--e-primary);
|
|
1974
2080
|
}
|
|
1975
2081
|
.e-empty-icon .e-icon {
|
|
1976
|
-
width:
|
|
1977
|
-
height:
|
|
2082
|
+
width: 40px;
|
|
2083
|
+
height: 40px;
|
|
1978
2084
|
}
|
|
1979
2085
|
.e-empty-title {
|
|
1980
2086
|
margin: 0;
|
|
@@ -1987,10 +2093,12 @@ to {
|
|
|
1987
2093
|
color: var(--e-muted);
|
|
1988
2094
|
}
|
|
1989
2095
|
@media (forced-colors: active) {
|
|
1990
|
-
.e-empty
|
|
1991
|
-
border-color: CanvasText;
|
|
2096
|
+
.e-empty {
|
|
1992
2097
|
outline-color: CanvasText;
|
|
1993
2098
|
}
|
|
2099
|
+
.e-empty-icon {
|
|
2100
|
+
color: CanvasText;
|
|
2101
|
+
}
|
|
1994
2102
|
}
|
|
1995
2103
|
}
|
|
1996
2104
|
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
@@ -2016,7 +2124,7 @@ to {
|
|
|
2016
2124
|
min-width: var(--e-control-height);
|
|
2017
2125
|
height: var(--e-control-height);
|
|
2018
2126
|
padding: 0 var(--e-space-2);
|
|
2019
|
-
border:
|
|
2127
|
+
border: 0;
|
|
2020
2128
|
border-radius: var(--e-radius-md);
|
|
2021
2129
|
background: transparent;
|
|
2022
2130
|
color: var(--e-ink);
|
|
@@ -2025,11 +2133,11 @@ to {
|
|
|
2025
2133
|
cursor: pointer;
|
|
2026
2134
|
transition:
|
|
2027
2135
|
background-color var(--e-duration-tap) var(--e-easing-out),
|
|
2028
|
-
|
|
2136
|
+
box-shadow var(--e-duration-tap) var(--e-easing-out);
|
|
2029
2137
|
}
|
|
2030
2138
|
.e-page:hover {
|
|
2031
2139
|
background: var(--e-surface-hover);
|
|
2032
|
-
|
|
2140
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong);
|
|
2033
2141
|
}
|
|
2034
2142
|
.e-page:focus-visible {
|
|
2035
2143
|
outline: var(--e-stroke-focus) solid var(--e-focus-ring);
|
|
@@ -2037,7 +2145,7 @@ to {
|
|
|
2037
2145
|
}
|
|
2038
2146
|
.e-page[aria-current="page"] {
|
|
2039
2147
|
background: var(--e-primary);
|
|
2040
|
-
|
|
2148
|
+
box-shadow: none;
|
|
2041
2149
|
color: var(--e-on-primary);
|
|
2042
2150
|
font-weight: 600;
|
|
2043
2151
|
cursor: default;
|
|
@@ -2089,7 +2197,8 @@ to {
|
|
|
2089
2197
|
cursor: pointer;
|
|
2090
2198
|
}
|
|
2091
2199
|
.e-sel-trigger[aria-expanded="true"] {
|
|
2092
|
-
|
|
2200
|
+
--e-ring: var(--e-ink);
|
|
2201
|
+
|
|
2093
2202
|
background-color: var(--e-surface);
|
|
2094
2203
|
}
|
|
2095
2204
|
.e-sel-value {
|
|
@@ -2173,15 +2282,20 @@ to {
|
|
|
2173
2282
|
}
|
|
2174
2283
|
}
|
|
2175
2284
|
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
2285
|
+
/* The table look shared by ETable and EDataGrid: tinted mono headings, hairline rows, a hover row and numeric columns. */
|
|
2176
2286
|
@layer e.containers {
|
|
2177
|
-
.e-table {
|
|
2287
|
+
.e-table {
|
|
2178
2288
|
width: 100%;
|
|
2179
2289
|
border-collapse: collapse;
|
|
2180
2290
|
font: 400 var(--e-text-md) / 1.4 var(--e-font-sans);
|
|
2181
|
-
}
|
|
2182
|
-
|
|
2291
|
+
}
|
|
2292
|
+
|
|
2293
|
+
.e-table th {
|
|
2183
2294
|
padding: var(--e-space-3) var(--e-space-4);
|
|
2184
|
-
border-bottom:
|
|
2295
|
+
border-bottom: 0;
|
|
2296
|
+
|
|
2297
|
+
/* The rule under a heading is a shadow, not a border: a sticky cell in a collapsed table drops its border when the table scrolls. */
|
|
2298
|
+
box-shadow: inset 0 calc(-1 * var(--e-stroke-card)) 0 var(--e-border-strong);
|
|
2185
2299
|
background: var(--e-surface-tint);
|
|
2186
2300
|
text-align: start;
|
|
2187
2301
|
white-space: nowrap;
|
|
@@ -2189,30 +2303,52 @@ to {
|
|
|
2189
2303
|
letter-spacing: 0.08em;
|
|
2190
2304
|
text-transform: uppercase;
|
|
2191
2305
|
color: var(--e-muted);
|
|
2192
|
-
}
|
|
2193
|
-
|
|
2306
|
+
}
|
|
2307
|
+
|
|
2308
|
+
/* A heading at the start of a row names the row: it reads as a label, not as a column heading. */
|
|
2309
|
+
.e-table tbody th {
|
|
2310
|
+
padding: var(--e-space-3) var(--e-space-4);
|
|
2311
|
+
border-top: var(--e-stroke-hair) solid var(--e-border);
|
|
2312
|
+
border-bottom: 0;
|
|
2313
|
+
box-shadow: none;
|
|
2314
|
+
background: transparent;
|
|
2315
|
+
font: 600 var(--e-text-md) / 1.4 var(--e-font-sans);
|
|
2316
|
+
letter-spacing: normal;
|
|
2317
|
+
text-transform: none;
|
|
2318
|
+
color: var(--e-ink);
|
|
2319
|
+
}
|
|
2320
|
+
|
|
2321
|
+
.e-table td {
|
|
2194
2322
|
padding: var(--e-space-3) var(--e-space-4);
|
|
2195
2323
|
border-top: var(--e-stroke-hair) solid var(--e-border);
|
|
2196
2324
|
vertical-align: middle;
|
|
2197
|
-
}
|
|
2198
|
-
|
|
2325
|
+
}
|
|
2326
|
+
|
|
2327
|
+
.e-table tbody tr:first-child :is(td, th) {
|
|
2199
2328
|
border-top: 0;
|
|
2200
|
-
}
|
|
2201
|
-
|
|
2329
|
+
}
|
|
2330
|
+
|
|
2331
|
+
.e-table tbody tr:hover :is(td, th) {
|
|
2202
2332
|
background: var(--e-surface-hover);
|
|
2203
|
-
}
|
|
2204
|
-
|
|
2333
|
+
}
|
|
2334
|
+
|
|
2335
|
+
.e-table .e-num {
|
|
2205
2336
|
text-align: end;
|
|
2206
2337
|
font-family: var(--e-font-mono);
|
|
2207
2338
|
font-variant-numeric: tabular-nums;
|
|
2208
2339
|
white-space: nowrap;
|
|
2209
|
-
}
|
|
2210
|
-
|
|
2340
|
+
}
|
|
2341
|
+
|
|
2342
|
+
.e-table th.e-num {
|
|
2211
2343
|
font-family: var(--e-font-mono);
|
|
2212
|
-
}
|
|
2213
|
-
|
|
2344
|
+
}
|
|
2345
|
+
|
|
2346
|
+
.e-table .e-center {
|
|
2214
2347
|
text-align: center;
|
|
2348
|
+
}
|
|
2215
2349
|
}
|
|
2350
|
+
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
2351
|
+
@layer e.containers {
|
|
2216
2352
|
.e-skel {
|
|
2217
2353
|
display: block;
|
|
2218
2354
|
height: 14px;
|
|
@@ -2363,7 +2499,7 @@ to {
|
|
|
2363
2499
|
.e-filterrow td {
|
|
2364
2500
|
padding: var(--e-space-1) var(--e-space-3);
|
|
2365
2501
|
background: var(--e-surface);
|
|
2366
|
-
|
|
2502
|
+
box-shadow: inset 0 calc(-1 * var(--e-stroke-card)) 0 var(--e-border-strong);
|
|
2367
2503
|
border-top: 0;
|
|
2368
2504
|
position: sticky;
|
|
2369
2505
|
top: var(--e-grid-head-h);
|
|
@@ -2635,15 +2771,11 @@ to {
|
|
|
2635
2771
|
white-space: nowrap;
|
|
2636
2772
|
align-items: center;
|
|
2637
2773
|
gap: var(--e-space-2);
|
|
2638
|
-
|
|
2639
|
-
--e-bc: var(--e-strong);
|
|
2640
|
-
|
|
2641
2774
|
min-height: calc(var(--e-chip-height) + var(--e-space-1));
|
|
2642
2775
|
padding: 0 var(--e-space-3);
|
|
2643
2776
|
border-radius: var(--e-radius-sm);
|
|
2644
2777
|
background: var(--e-strong);
|
|
2645
2778
|
color: var(--e-on);
|
|
2646
|
-
box-shadow: inset 0 0 0 var(--e-stroke-card) var(--e-bc);
|
|
2647
2779
|
cursor: default;
|
|
2648
2780
|
justify-self: start;
|
|
2649
2781
|
}
|
|
@@ -2866,7 +2998,7 @@ to {
|
|
|
2866
2998
|
height: fit-content;
|
|
2867
2999
|
max-height: calc(100dvh - var(--e-space-8));
|
|
2868
3000
|
margin: auto;
|
|
2869
|
-
border-radius: var(--e-radius-
|
|
3001
|
+
border-radius: var(--e-radius-md);
|
|
2870
3002
|
overflow: auto;
|
|
2871
3003
|
}
|
|
2872
3004
|
.e-dialog--inline {
|
|
@@ -2984,7 +3116,7 @@ to {
|
|
|
2984
3116
|
height: auto;
|
|
2985
3117
|
max-height: min(32rem, 85dvh);
|
|
2986
3118
|
margin: 0;
|
|
2987
|
-
border-radius: var(--e-radius-
|
|
3119
|
+
border-radius: var(--e-radius-md) var(--e-radius-md) 0 0;
|
|
2988
3120
|
}
|
|
2989
3121
|
.e-drawer[data-state="open"] {
|
|
2990
3122
|
animation: e-drawer-in 220ms var(--e-easing-out);
|
|
@@ -3056,7 +3188,7 @@ to {
|
|
|
3056
3188
|
max-width: 28rem;
|
|
3057
3189
|
height: auto;
|
|
3058
3190
|
max-height: 18rem;
|
|
3059
|
-
border-radius: var(--e-radius-
|
|
3191
|
+
border-radius: var(--e-radius-md);
|
|
3060
3192
|
}
|
|
3061
3193
|
.e-drawer-body:focus-visible {
|
|
3062
3194
|
outline: var(--e-stroke-focus) solid var(--e-focus-ring);
|
|
@@ -3445,9 +3577,10 @@ a:any-link > .e-highlight {
|
|
|
3445
3577
|
display: inline-block;
|
|
3446
3578
|
min-width: 1.5em;
|
|
3447
3579
|
padding: 0 var(--e-space-1);
|
|
3448
|
-
border:
|
|
3580
|
+
border: 0;
|
|
3449
3581
|
border-radius: var(--e-radius-sm);
|
|
3450
3582
|
background: var(--e-surface-tint);
|
|
3583
|
+
box-shadow: inset 0 0 0 var(--e-stroke-hair) var(--e-border-strong);
|
|
3451
3584
|
color: var(--e-muted);
|
|
3452
3585
|
font: 500 var(--e-text-sm) / 1.5 var(--e-font-mono);
|
|
3453
3586
|
text-align: center;
|
|
@@ -3458,7 +3591,8 @@ a:any-link > .e-highlight {
|
|
|
3458
3591
|
}
|
|
3459
3592
|
@media (forced-colors: active) {
|
|
3460
3593
|
.e-kbd {
|
|
3461
|
-
|
|
3594
|
+
outline: var(--e-stroke-hair) solid ButtonText;
|
|
3595
|
+
outline-offset: calc(-1 * var(--e-stroke-hair));
|
|
3462
3596
|
}
|
|
3463
3597
|
}
|
|
3464
3598
|
}
|
|
@@ -3597,19 +3731,20 @@ a:any-link > .e-highlight {
|
|
|
3597
3731
|
display: flex;
|
|
3598
3732
|
align-items: center;
|
|
3599
3733
|
gap: var(--e-space-3);
|
|
3600
|
-
height:
|
|
3601
|
-
margin-block-end: var(--e-lift);
|
|
3734
|
+
height: var(--e-control-height);
|
|
3602
3735
|
box-sizing: border-box;
|
|
3603
|
-
padding: 0 var(--e-space-3);
|
|
3736
|
+
padding: 0 var(--e-space-3) var(--e-lift);
|
|
3604
3737
|
|
|
3605
3738
|
--e-lift: 0px;
|
|
3606
3739
|
|
|
3607
|
-
border:
|
|
3740
|
+
border: 0;
|
|
3608
3741
|
border-radius: var(--e-radius-md);
|
|
3609
3742
|
color: var(--e-ink);
|
|
3610
3743
|
font: 400 var(--e-text-md) / 1 var(--e-font-sans);
|
|
3611
3744
|
text-decoration: none;
|
|
3612
|
-
transition:
|
|
3745
|
+
transition:
|
|
3746
|
+
background-color var(--e-duration-tap) var(--e-easing-out),
|
|
3747
|
+
box-shadow var(--e-duration-tap) var(--e-easing-out);
|
|
3613
3748
|
}
|
|
3614
3749
|
.e-nav-item:hover {
|
|
3615
3750
|
background-color: var(--e-surface-hover);
|
|
@@ -3621,11 +3756,16 @@ a:any-link > .e-highlight {
|
|
|
3621
3756
|
.e-nav-item[aria-current="page"] {
|
|
3622
3757
|
background-color: color-mix(in srgb, var(--e-surface-tint), var(--e-ink) 3%);
|
|
3623
3758
|
font-weight: 600;
|
|
3624
|
-
border-color: var(--e-primary);
|
|
3625
3759
|
|
|
3626
3760
|
--e-lift: var(--e-depth);
|
|
3761
|
+
--e-slab: var(--e-primary);
|
|
3627
3762
|
|
|
3628
|
-
box-shadow:
|
|
3763
|
+
box-shadow:
|
|
3764
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-primary),
|
|
3765
|
+
inset 0 calc(-1 * (var(--e-lift) + var(--e-stroke-edge))) 0 0 var(--e-slab);
|
|
3766
|
+
}
|
|
3767
|
+
.e-nav-item[aria-current="page"]:hover {
|
|
3768
|
+
--e-slab: color-mix(in srgb, var(--e-primary), var(--e-shade-slab));
|
|
3629
3769
|
}
|
|
3630
3770
|
.e-nav-label {
|
|
3631
3771
|
flex: 1;
|
|
@@ -3747,11 +3887,11 @@ a:any-link > .e-highlight {
|
|
|
3747
3887
|
container-type: inline-size;
|
|
3748
3888
|
padding: var(--e-space-3) var(--e-space-4);
|
|
3749
3889
|
padding-left: calc(var(--e-space-4) + 2 * var(--e-depth));
|
|
3750
|
-
border:
|
|
3890
|
+
border: 0;
|
|
3751
3891
|
border-radius: var(--e-radius-md);
|
|
3752
3892
|
background-color: var(--e-bg);
|
|
3893
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-tone);
|
|
3753
3894
|
background-image: linear-gradient(to right, var(--e-tone) calc(var(--e-stroke-edge) + 2 * var(--e-depth)), transparent calc(var(--e-stroke-edge) + 2 * var(--e-depth)));
|
|
3754
|
-
background-origin: border-box;
|
|
3755
3895
|
background-repeat: no-repeat;
|
|
3756
3896
|
color: var(--e-ink);
|
|
3757
3897
|
}
|
|
@@ -3809,7 +3949,7 @@ a:any-link > .e-highlight {
|
|
|
3809
3949
|
|
|
3810
3950
|
/* stylelint-disable-next-line selector-not-notation */
|
|
3811
3951
|
.e-otp .e-otp-box[data-filled]:not(:focus):not([aria-invalid="true"]) {
|
|
3812
|
-
|
|
3952
|
+
--e-ring: var(--e-ink);
|
|
3813
3953
|
}
|
|
3814
3954
|
}
|
|
3815
3955
|
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
@@ -3886,8 +4026,8 @@ a:any-link > .e-highlight {
|
|
|
3886
4026
|
flex: none;
|
|
3887
4027
|
width: 14px;
|
|
3888
4028
|
height: 14px;
|
|
3889
|
-
border: var(--e-stroke-edge) solid var(--e-border-strong);
|
|
3890
4029
|
border-radius: 50%;
|
|
4030
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong);
|
|
3891
4031
|
}
|
|
3892
4032
|
}
|
|
3893
4033
|
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
@@ -4020,24 +4160,27 @@ to {
|
|
|
4020
4160
|
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
4021
4161
|
@layer e.controls {
|
|
4022
4162
|
.e-search {
|
|
4163
|
+
--e-ring: var(--e-border-strong);
|
|
4164
|
+
|
|
4023
4165
|
display: flex;
|
|
4024
4166
|
align-items: center;
|
|
4025
4167
|
gap: var(--e-space-1);
|
|
4026
4168
|
height: var(--e-control-height);
|
|
4027
4169
|
padding: 0 var(--e-space-1) 0 var(--e-space-2);
|
|
4028
|
-
border: var(--e-stroke-edge) solid var(--e-border-strong);
|
|
4029
4170
|
border-radius: var(--e-radius-md);
|
|
4030
4171
|
background: var(--e-surface);
|
|
4031
|
-
box-shadow:
|
|
4032
|
-
|
|
4172
|
+
box-shadow:
|
|
4173
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-ring),
|
|
4174
|
+
var(--e-well);
|
|
4175
|
+
transition: box-shadow var(--e-duration-tap) var(--e-easing-out);
|
|
4033
4176
|
}
|
|
4034
4177
|
.e-search:hover {
|
|
4035
|
-
|
|
4178
|
+
background: var(--e-surface-hover);
|
|
4036
4179
|
}
|
|
4037
4180
|
.e-search .e-btn {
|
|
4038
4181
|
position: relative;
|
|
4039
|
-
height: calc(var(--e-control-height) - 6px
|
|
4040
|
-
padding: 0 var(--e-space-3);
|
|
4182
|
+
height: calc(var(--e-control-height) - 6px);
|
|
4183
|
+
padding: 0 var(--e-space-3) var(--e-lift);
|
|
4041
4184
|
font-size: var(--e-text-md);
|
|
4042
4185
|
}
|
|
4043
4186
|
.e-search .e-btn::after {
|
|
@@ -4104,8 +4247,10 @@ to {
|
|
|
4104
4247
|
outline: none;
|
|
4105
4248
|
}
|
|
4106
4249
|
.e-search:focus-within {
|
|
4107
|
-
|
|
4108
|
-
|
|
4250
|
+
--e-ring: var(--e-focus-field);
|
|
4251
|
+
|
|
4252
|
+
background: var(--e-surface);
|
|
4253
|
+
outline: max(var(--e-stroke-focus), calc(2 * var(--e-stroke-edge))) solid var(--e-focus-field);
|
|
4109
4254
|
outline-offset: var(--e-focus-gap-field);
|
|
4110
4255
|
}
|
|
4111
4256
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -4160,12 +4305,17 @@ to {
|
|
|
4160
4305
|
}
|
|
4161
4306
|
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
4162
4307
|
@layer e.controls {
|
|
4308
|
+
/* A pressed-in track. The chosen option fills its cell edge to edge in the primary colour, covering the track's outline there so the outline turns primary where it is chosen, and the track clips it, so only the pieces at either end take the track's rounded corners: a value you set, not a place you go (that is Tabs). */
|
|
4163
4309
|
.e-seg {
|
|
4164
4310
|
display: inline-flex;
|
|
4311
|
+
box-sizing: border-box;
|
|
4165
4312
|
height: var(--e-control-height);
|
|
4166
|
-
|
|
4313
|
+
position: relative;
|
|
4167
4314
|
border-radius: var(--e-radius-md);
|
|
4168
|
-
background: var(--e-
|
|
4315
|
+
background: var(--e-surface-tint);
|
|
4316
|
+
box-shadow:
|
|
4317
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong),
|
|
4318
|
+
var(--e-well);
|
|
4169
4319
|
overflow: hidden;
|
|
4170
4320
|
max-width: 100%;
|
|
4171
4321
|
width: fit-content;
|
|
@@ -4175,9 +4325,6 @@ to {
|
|
|
4175
4325
|
display: inline-flex;
|
|
4176
4326
|
cursor: pointer;
|
|
4177
4327
|
}
|
|
4178
|
-
.e-seg-opt + .e-seg-opt {
|
|
4179
|
-
border-inline-start: var(--e-stroke-hair) solid var(--e-border-strong);
|
|
4180
|
-
}
|
|
4181
4328
|
.e-seg-input {
|
|
4182
4329
|
position: absolute;
|
|
4183
4330
|
inset: 0;
|
|
@@ -4190,18 +4337,24 @@ to {
|
|
|
4190
4337
|
align-items: center;
|
|
4191
4338
|
justify-content: center;
|
|
4192
4339
|
gap: var(--e-space-2);
|
|
4340
|
+
box-sizing: border-box;
|
|
4193
4341
|
min-width: 4rem;
|
|
4194
4342
|
padding: 0 var(--e-space-4);
|
|
4195
|
-
background:
|
|
4343
|
+
background: transparent;
|
|
4344
|
+
color: var(--e-ink);
|
|
4196
4345
|
font: 500 var(--e-text-md)/1 var(--e-font-sans);
|
|
4197
4346
|
white-space: nowrap;
|
|
4198
4347
|
transition: background-color var(--e-duration-tap) var(--e-easing-out);
|
|
4199
4348
|
}
|
|
4200
4349
|
.e-seg-opt:hover .e-seg-text {
|
|
4201
|
-
background: var(--e-
|
|
4350
|
+
background: var(--e-wash-hover);
|
|
4202
4351
|
}
|
|
4203
|
-
.e-seg-input:checked + .e-seg-text
|
|
4204
|
-
|
|
4352
|
+
.e-seg-input:checked + .e-seg-text,
|
|
4353
|
+
.e-seg-opt:hover .e-seg-input:checked + .e-seg-text {
|
|
4354
|
+
background-color: var(--e-primary);
|
|
4355
|
+
|
|
4356
|
+
/* The darker band along the bottom is the slab, drawn inside the piece and the track clips it to the corners. */
|
|
4357
|
+
background-image: linear-gradient(to top, color-mix(in srgb, var(--e-primary), var(--e-shade-slab)) var(--e-depth), transparent var(--e-depth));
|
|
4205
4358
|
color: var(--e-on-primary);
|
|
4206
4359
|
font-weight: 600;
|
|
4207
4360
|
}
|
|
@@ -4216,9 +4369,13 @@ to {
|
|
|
4216
4369
|
.e-seg-opt:has(:disabled):hover .e-seg-text {
|
|
4217
4370
|
background: transparent;
|
|
4218
4371
|
}
|
|
4372
|
+
|
|
4373
|
+
/* Chosen but unavailable: a flat piece with ink text, so it stays readable. */
|
|
4219
4374
|
.e-seg-input:disabled:checked + .e-seg-text,
|
|
4220
4375
|
.e-seg-opt:has(:disabled:checked):hover .e-seg-text {
|
|
4221
|
-
background: var(--e-surface
|
|
4376
|
+
background-color: var(--e-surface);
|
|
4377
|
+
background-image: none;
|
|
4378
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong);
|
|
4222
4379
|
color: var(--e-ink);
|
|
4223
4380
|
}
|
|
4224
4381
|
.e-seg-field {
|
|
@@ -4247,10 +4404,11 @@ to {
|
|
|
4247
4404
|
.e-pad-surface {
|
|
4248
4405
|
position: relative;
|
|
4249
4406
|
overflow: hidden;
|
|
4250
|
-
border: var(--e-stroke-edge) solid var(--e-border-strong);
|
|
4251
4407
|
border-radius: var(--e-radius-md);
|
|
4252
4408
|
background: var(--e-surface);
|
|
4253
|
-
box-shadow:
|
|
4409
|
+
box-shadow:
|
|
4410
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong),
|
|
4411
|
+
var(--e-well);
|
|
4254
4412
|
}
|
|
4255
4413
|
.e-pad-surface::after {
|
|
4256
4414
|
content: "";
|
|
@@ -4442,18 +4600,20 @@ to {
|
|
|
4442
4600
|
width: var(--e-dot);
|
|
4443
4601
|
height: var(--e-dot);
|
|
4444
4602
|
border-radius: 50%;
|
|
4445
|
-
|
|
4603
|
+
outline: var(--e-stroke-edge) dashed var(--e-border-strong);
|
|
4604
|
+
outline-offset: calc(-1 * var(--e-stroke-edge));
|
|
4446
4605
|
background: var(--e-surface);
|
|
4447
4606
|
color: var(--e-muted);
|
|
4448
4607
|
font: 600 var(--e-text-xs) / 1 var(--e-font-mono);
|
|
4449
4608
|
}
|
|
4450
4609
|
.e-step[data-state="done"] .e-step-dot {
|
|
4451
|
-
|
|
4610
|
+
outline: 0;
|
|
4452
4611
|
background: var(--e-primary);
|
|
4453
4612
|
color: var(--e-on-primary);
|
|
4454
4613
|
}
|
|
4455
4614
|
.e-step[data-state="current"] .e-step-dot {
|
|
4456
|
-
|
|
4615
|
+
outline: 0;
|
|
4616
|
+
box-shadow: inset 0 0 0 var(--e-stroke-focus) var(--e-primary);
|
|
4457
4617
|
color: var(--e-primary);
|
|
4458
4618
|
background: var(--e-surface);
|
|
4459
4619
|
}
|
|
@@ -4508,7 +4668,6 @@ to {
|
|
|
4508
4668
|
.e-step[data-state="done"] .e-step-dot {
|
|
4509
4669
|
forced-color-adjust: none;
|
|
4510
4670
|
background: Highlight;
|
|
4511
|
-
border-color: Highlight;
|
|
4512
4671
|
color: HighlightText;
|
|
4513
4672
|
}
|
|
4514
4673
|
}
|
|
@@ -4574,19 +4733,20 @@ to {
|
|
|
4574
4733
|
.e-switch-track {
|
|
4575
4734
|
--e-switch-w: 44px;
|
|
4576
4735
|
--e-thumb: 14px;
|
|
4577
|
-
--e-thumb-inset:
|
|
4578
|
-
--e-thumb-travel: calc(var(--e-switch-w) -
|
|
4736
|
+
--e-thumb-inset: var(--e-space-1);
|
|
4737
|
+
--e-thumb-travel: calc(var(--e-switch-w) - var(--e-thumb) - 2 * var(--e-thumb-inset));
|
|
4738
|
+
--e-ring: var(--e-border-strong);
|
|
4579
4739
|
|
|
4580
4740
|
position: relative;
|
|
4581
4741
|
flex: none;
|
|
4582
4742
|
width: var(--e-switch-w);
|
|
4583
4743
|
height: 24px;
|
|
4584
|
-
border: var(--e-stroke-edge) solid var(--e-border-strong);
|
|
4585
4744
|
border-radius: var(--e-radius-pill);
|
|
4586
4745
|
background: var(--e-surface-tint);
|
|
4746
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-ring);
|
|
4587
4747
|
transition:
|
|
4588
4748
|
background-color var(--e-duration-tap) var(--e-easing-out),
|
|
4589
|
-
|
|
4749
|
+
box-shadow var(--e-duration-tap) var(--e-easing-out);
|
|
4590
4750
|
}
|
|
4591
4751
|
.e-switch-track::after {
|
|
4592
4752
|
content: "";
|
|
@@ -4601,19 +4761,21 @@ to {
|
|
|
4601
4761
|
transition: transform var(--e-duration-move, 160ms) var(--e-easing-out);
|
|
4602
4762
|
}
|
|
4603
4763
|
.e-switch:hover .e-switch-track {
|
|
4604
|
-
|
|
4764
|
+
--e-ring: var(--e-ink);
|
|
4605
4765
|
}
|
|
4606
4766
|
.e-switch-input:checked + .e-switch-track {
|
|
4767
|
+
--e-ring: var(--e-primary);
|
|
4768
|
+
|
|
4607
4769
|
background: var(--e-primary);
|
|
4608
|
-
border-color: var(--e-primary);
|
|
4609
4770
|
}
|
|
4610
4771
|
.e-switch-input:checked + .e-switch-track::after {
|
|
4611
4772
|
background: var(--e-on-primary);
|
|
4612
4773
|
transform: translateX(var(--e-thumb-travel));
|
|
4613
4774
|
}
|
|
4614
4775
|
.e-switch-input:disabled + .e-switch-track {
|
|
4615
|
-
|
|
4616
|
-
outline:
|
|
4776
|
+
box-shadow: none;
|
|
4777
|
+
outline: var(--e-stroke-edge) dashed var(--e-border-strong);
|
|
4778
|
+
outline-offset: calc(-1 * var(--e-stroke-edge));
|
|
4617
4779
|
background: var(--e-surface-tint);
|
|
4618
4780
|
}
|
|
4619
4781
|
.e-switch-input:disabled + .e-switch-track::after {
|
|
@@ -4640,8 +4802,79 @@ to {
|
|
|
4640
4802
|
}
|
|
4641
4803
|
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
4642
4804
|
@layer e.containers {
|
|
4805
|
+
.e-table-wrap {
|
|
4806
|
+
position: relative;
|
|
4807
|
+
min-width: 0;
|
|
4808
|
+
border-radius: var(--e-radius-md);
|
|
4809
|
+
background: var(--e-surface);
|
|
4810
|
+
}
|
|
4811
|
+
|
|
4812
|
+
/* The outline is drawn once, above the scroller and its sticky headings, so nothing covers it. */
|
|
4813
|
+
.e-table-wrap::after {
|
|
4814
|
+
content: "";
|
|
4815
|
+
position: absolute;
|
|
4816
|
+
inset: 0;
|
|
4817
|
+
border-radius: inherit;
|
|
4818
|
+
z-index: var(--e-z-sticky);
|
|
4819
|
+
box-shadow: inset 0 0 0 var(--e-stroke-card) var(--e-border);
|
|
4820
|
+
pointer-events: none;
|
|
4821
|
+
}
|
|
4822
|
+
.e-table-scroll {
|
|
4823
|
+
overflow: auto;
|
|
4824
|
+
max-height: var(--e-table-max-h, none);
|
|
4825
|
+
border-radius: inherit;
|
|
4826
|
+
}
|
|
4827
|
+
.e-table-scroll:focus-visible {
|
|
4828
|
+
outline: var(--e-stroke-focus) solid var(--e-focus-ring);
|
|
4829
|
+
outline-offset: calc(-1 * var(--e-stroke-focus));
|
|
4830
|
+
}
|
|
4831
|
+
.e-table-wrap .e-table {
|
|
4832
|
+
background: var(--e-surface);
|
|
4833
|
+
}
|
|
4834
|
+
.e-table-caption {
|
|
4835
|
+
padding: var(--e-space-3) var(--e-space-4);
|
|
4836
|
+
border-bottom: var(--e-stroke-hair) solid var(--e-border);
|
|
4837
|
+
text-align: start;
|
|
4838
|
+
font: 600 var(--e-text-md) / 1.3 var(--e-font-sans);
|
|
4839
|
+
color: var(--e-ink);
|
|
4840
|
+
}
|
|
4841
|
+
.e-table-wrap thead th {
|
|
4842
|
+
position: sticky;
|
|
4843
|
+
top: 0;
|
|
4844
|
+
z-index: var(--e-z-raised);
|
|
4845
|
+
}
|
|
4846
|
+
.e-table-wrap--striped tbody tr:nth-child(even) :is(td, th) {
|
|
4847
|
+
background: var(--e-surface-tint);
|
|
4848
|
+
}
|
|
4849
|
+
.e-table-wrap--striped tbody tr:hover :is(td, th) {
|
|
4850
|
+
background: var(--e-surface-hover);
|
|
4851
|
+
}
|
|
4852
|
+
.e-table-wrap--dense .e-table {
|
|
4853
|
+
font-size: var(--e-text-sm);
|
|
4854
|
+
}
|
|
4855
|
+
.e-table-wrap--dense .e-table :is(th, td, tbody th) {
|
|
4856
|
+
padding: var(--e-space-2) var(--e-space-3);
|
|
4857
|
+
}
|
|
4858
|
+
@media print {
|
|
4859
|
+
.e-table-scroll {
|
|
4860
|
+
overflow: visible;
|
|
4861
|
+
max-height: none;
|
|
4862
|
+
}
|
|
4863
|
+
.e-table-wrap::after {
|
|
4864
|
+
display: none;
|
|
4865
|
+
}
|
|
4866
|
+
}
|
|
4867
|
+
@media (forced-colors: active) {
|
|
4868
|
+
.e-table-wrap {
|
|
4869
|
+
outline: 1px solid CanvasText;
|
|
4870
|
+
}
|
|
4871
|
+
}
|
|
4872
|
+
}
|
|
4873
|
+
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
4874
|
+
@layer e.containers {
|
|
4643
4875
|
.e-tablist {
|
|
4644
4876
|
display: flex;
|
|
4877
|
+
flex: none;
|
|
4645
4878
|
gap: 0;
|
|
4646
4879
|
/* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties -- the two axes are set apart */
|
|
4647
4880
|
overflow-x: auto;
|
|
@@ -4652,30 +4885,33 @@ to {
|
|
|
4652
4885
|
display: none;
|
|
4653
4886
|
}
|
|
4654
4887
|
|
|
4655
|
-
/* Tabs are button-like: every tab is ringed and neighbours sit flush and share an edge, so only the outer ends of the row are rounded. The selected tab is outlined in the primary colour with a thick slab
|
|
4888
|
+
/* Tabs are button-like: every tab is ringed and neighbours sit flush and share an edge, so only the outer ends of the row are rounded. The selected tab is outlined in the primary colour with a thick slab along its bottom. */
|
|
4656
4889
|
.e-tab {
|
|
4657
4890
|
--e-bc: var(--e-border-strong);
|
|
4658
4891
|
|
|
4659
|
-
/* A selected tab rises:
|
|
4892
|
+
/* A selected tab rises: the slab is a band the tab paints along one edge itself, so there is no second shape behind the corners. Every tab is one control height tall either way. */
|
|
4660
4893
|
--e-lift: 0px;
|
|
4894
|
+
--e-band: calc(var(--e-lift) + var(--e-stroke-edge));
|
|
4895
|
+
--e-slab: var(--e-primary);
|
|
4661
4896
|
|
|
4662
4897
|
position: relative;
|
|
4663
4898
|
display: inline-flex;
|
|
4664
4899
|
align-items: center;
|
|
4665
4900
|
gap: var(--e-space-2);
|
|
4666
4901
|
flex: none;
|
|
4667
|
-
height:
|
|
4668
|
-
|
|
4669
|
-
|
|
4670
|
-
border: var(--e-stroke-edge) solid var(--e-bc);
|
|
4902
|
+
height: var(--e-control-height);
|
|
4903
|
+
padding: 0 var(--e-space-4) var(--e-lift);
|
|
4904
|
+
border: 0;
|
|
4671
4905
|
border-radius: 0;
|
|
4672
4906
|
background: transparent;
|
|
4907
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-bc);
|
|
4673
4908
|
color: var(--e-muted);
|
|
4674
4909
|
font: 500 var(--e-text-md) / 1 var(--e-font-sans);
|
|
4675
4910
|
cursor: pointer;
|
|
4676
4911
|
transition:
|
|
4677
4912
|
color var(--e-duration-tap) var(--e-easing-out),
|
|
4678
|
-
background-color var(--e-duration-tap) var(--e-easing-out)
|
|
4913
|
+
background-color var(--e-duration-tap) var(--e-easing-out),
|
|
4914
|
+
box-shadow var(--e-duration-tap) var(--e-easing-out);
|
|
4679
4915
|
}
|
|
4680
4916
|
|
|
4681
4917
|
/* Only the outer ends of the row are rounded. */
|
|
@@ -4703,10 +4939,17 @@ to {
|
|
|
4703
4939
|
|
|
4704
4940
|
z-index: var(--e-z-sticky);
|
|
4705
4941
|
background-color: color-mix(in srgb, var(--e-surface-tint), var(--e-ink) 3%);
|
|
4706
|
-
box-shadow:
|
|
4942
|
+
box-shadow:
|
|
4943
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-bc),
|
|
4944
|
+
inset 0 calc(-1 * var(--e-band)) 0 0 var(--e-slab);
|
|
4707
4945
|
color: var(--e-ink);
|
|
4708
4946
|
font-weight: 600;
|
|
4709
4947
|
}
|
|
4948
|
+
|
|
4949
|
+
/* The slab answers the pointer too: it darkens under the cursor, in step with the face. */
|
|
4950
|
+
.e-tab[aria-selected="true"]:hover {
|
|
4951
|
+
--e-slab: color-mix(in srgb, var(--e-primary), var(--e-shade-slab));
|
|
4952
|
+
}
|
|
4710
4953
|
.e-tab:focus-visible {
|
|
4711
4954
|
z-index: var(--e-z-focus);
|
|
4712
4955
|
outline: var(--e-stroke-focus) solid var(--e-focus-ring);
|
|
@@ -4721,6 +4964,141 @@ to {
|
|
|
4721
4964
|
justify-content: center;
|
|
4722
4965
|
padding-inline: var(--e-space-1);
|
|
4723
4966
|
}
|
|
4967
|
+
|
|
4968
|
+
/* Vertical: the tabs stack beside the panel, flush and sharing edges. The selected tab rises towards the panel, so its slab is a band down the inline-start side, away from the panel, instead of along the bottom, and only the top and bottom ends of the column are rounded. */
|
|
4969
|
+
.e-tabs--vertical {
|
|
4970
|
+
display: flex;
|
|
4971
|
+
align-items: flex-start;
|
|
4972
|
+
gap: var(--e-space-4);
|
|
4973
|
+
}
|
|
4974
|
+
.e-tabs--vertical .e-tablist {
|
|
4975
|
+
flex-direction: column;
|
|
4976
|
+
flex: none;
|
|
4977
|
+
overflow: visible;
|
|
4978
|
+
}
|
|
4979
|
+
.e-tabs--vertical .e-tab {
|
|
4980
|
+
--e-lift: 0px;
|
|
4981
|
+
|
|
4982
|
+
height: var(--e-control-height);
|
|
4983
|
+
padding-block-end: 0;
|
|
4984
|
+
justify-content: flex-start;
|
|
4985
|
+
border-radius: 0;
|
|
4986
|
+
}
|
|
4987
|
+
.e-tabs--vertical .e-tab:first-child {
|
|
4988
|
+
border-start-start-radius: var(--e-radius-md);
|
|
4989
|
+
border-start-end-radius: var(--e-radius-md);
|
|
4990
|
+
}
|
|
4991
|
+
.e-tabs--vertical .e-tab:last-child {
|
|
4992
|
+
border-end-start-radius: var(--e-radius-md);
|
|
4993
|
+
border-end-end-radius: var(--e-radius-md);
|
|
4994
|
+
}
|
|
4995
|
+
.e-tabs--vertical .e-tab + .e-tab {
|
|
4996
|
+
margin-inline-start: 0;
|
|
4997
|
+
margin-block-start: calc(-1 * var(--e-stroke-edge));
|
|
4998
|
+
}
|
|
4999
|
+
.e-tabs--vertical .e-tab[aria-selected="true"] {
|
|
5000
|
+
--e-lift: var(--e-depth);
|
|
5001
|
+
|
|
5002
|
+
padding-inline-start: calc(var(--e-space-4) + var(--e-lift));
|
|
5003
|
+
box-shadow:
|
|
5004
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-bc),
|
|
5005
|
+
inset var(--e-band) 0 0 0 var(--e-slab);
|
|
5006
|
+
}
|
|
5007
|
+
.e-tabs--vertical .e-tabpanel {
|
|
5008
|
+
flex: 1 1 0;
|
|
5009
|
+
min-width: 0;
|
|
5010
|
+
padding-top: 0;
|
|
5011
|
+
}
|
|
5012
|
+
:dir(rtl) .e-tabs--vertical .e-tab[aria-selected="true"] {
|
|
5013
|
+
box-shadow:
|
|
5014
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-bc),
|
|
5015
|
+
inset calc(-1 * var(--e-band)) 0 0 0 var(--e-slab);
|
|
5016
|
+
}
|
|
5017
|
+
|
|
5018
|
+
/* Framed: tabs and panel are one outlined card. The tab row sits over the panel's edge by one stroke, so a tab's lower edge and the panel's upper edge are the same line; the chosen tab has no edge on that side and its fill covers the panel's, opening into it. Tabs sit flush with their neighbours, square where they meet; only the card's outer corner at the first tab is rounded, and the panel's own corner beside it is square. The row always leaves a corner's width of open edge past the last tab, so the panel's curve never lands against a tab's straight edge. */
|
|
5019
|
+
.e-tabs--framed .e-tablist {
|
|
5020
|
+
position: relative;
|
|
5021
|
+
z-index: var(--e-z-raised);
|
|
5022
|
+
margin-block-end: calc(-1 * var(--e-stroke-edge));
|
|
5023
|
+
}
|
|
5024
|
+
.e-tabs--framed .e-tab {
|
|
5025
|
+
--e-bc: var(--e-border-strong);
|
|
5026
|
+
--e-lift: 0px;
|
|
5027
|
+
|
|
5028
|
+
border-radius: 0;
|
|
5029
|
+
background-color: var(--e-surface-tint);
|
|
5030
|
+
}
|
|
5031
|
+
.e-tabs--framed .e-tab:first-child {
|
|
5032
|
+
border-start-start-radius: var(--e-radius-md);
|
|
5033
|
+
}
|
|
5034
|
+
.e-tabs--framed.e-tabs--fill .e-tab:last-child {
|
|
5035
|
+
border-start-end-radius: var(--e-radius-md);
|
|
5036
|
+
}
|
|
5037
|
+
.e-tabs:not(.e-tabs--fill, .e-tabs--vertical).e-tabs--framed .e-tablist {
|
|
5038
|
+
padding-inline-end: var(--e-radius-md);
|
|
5039
|
+
}
|
|
5040
|
+
.e-tabs--framed .e-tab:hover {
|
|
5041
|
+
background-color: var(--e-surface-hover);
|
|
5042
|
+
}
|
|
5043
|
+
|
|
5044
|
+
/* The chosen tab rises like a button does, with its primary slab as a band on the edge away from the panel, and its open sides outlined in the primary colour. */
|
|
5045
|
+
.e-tabs--framed .e-tab[aria-selected="true"] {
|
|
5046
|
+
--e-bc: var(--e-primary);
|
|
5047
|
+
--e-lift: var(--e-depth);
|
|
5048
|
+
|
|
5049
|
+
padding-block: var(--e-lift) 0;
|
|
5050
|
+
background-color: var(--e-surface);
|
|
5051
|
+
box-shadow:
|
|
5052
|
+
inset var(--e-stroke-edge) 0 0 0 var(--e-bc),
|
|
5053
|
+
inset calc(-1 * var(--e-stroke-edge)) 0 0 0 var(--e-bc),
|
|
5054
|
+
inset 0 var(--e-band) 0 0 var(--e-slab);
|
|
5055
|
+
}
|
|
5056
|
+
.e-tabs--framed .e-tabpanel {
|
|
5057
|
+
padding: var(--e-space-4);
|
|
5058
|
+
border-radius: var(--e-radius-md);
|
|
5059
|
+
border-start-start-radius: 0;
|
|
5060
|
+
background: var(--e-surface);
|
|
5061
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong);
|
|
5062
|
+
}
|
|
5063
|
+
.e-tabs--framed.e-tabs--fill .e-tabpanel {
|
|
5064
|
+
border-start-end-radius: 0;
|
|
5065
|
+
}
|
|
5066
|
+
.e-tabs--framed.e-tabs--vertical {
|
|
5067
|
+
gap: 0;
|
|
5068
|
+
align-items: stretch;
|
|
5069
|
+
}
|
|
5070
|
+
.e-tabs--framed.e-tabs--vertical .e-tablist {
|
|
5071
|
+
align-self: flex-start;
|
|
5072
|
+
margin-block-end: var(--e-radius-md);
|
|
5073
|
+
margin-inline-end: calc(-1 * var(--e-stroke-edge));
|
|
5074
|
+
}
|
|
5075
|
+
.e-tabs--framed.e-tabs--vertical .e-tab {
|
|
5076
|
+
border-radius: 0;
|
|
5077
|
+
}
|
|
5078
|
+
.e-tabs--framed.e-tabs--vertical .e-tab:first-child {
|
|
5079
|
+
border-start-start-radius: var(--e-radius-md);
|
|
5080
|
+
}
|
|
5081
|
+
.e-tabs--framed.e-tabs--vertical .e-tab[aria-selected="true"] {
|
|
5082
|
+
margin-block: calc(-1 * var(--e-stroke-edge)) 0;
|
|
5083
|
+
padding-block: 0;
|
|
5084
|
+
padding-inline-start: calc(var(--e-space-4) + var(--e-lift));
|
|
5085
|
+
box-shadow:
|
|
5086
|
+
inset 0 var(--e-stroke-edge) 0 0 var(--e-bc),
|
|
5087
|
+
inset 0 calc(-1 * var(--e-stroke-edge)) 0 0 var(--e-bc),
|
|
5088
|
+
inset var(--e-band) 0 0 0 var(--e-slab);
|
|
5089
|
+
}
|
|
5090
|
+
:dir(rtl) .e-tabs--framed.e-tabs--vertical .e-tab[aria-selected="true"] {
|
|
5091
|
+
box-shadow:
|
|
5092
|
+
inset 0 var(--e-stroke-edge) 0 0 var(--e-bc),
|
|
5093
|
+
inset 0 calc(-1 * var(--e-stroke-edge)) 0 0 var(--e-bc),
|
|
5094
|
+
inset calc(-1 * var(--e-band)) 0 0 0 var(--e-slab);
|
|
5095
|
+
}
|
|
5096
|
+
.e-tabs--framed.e-tabs--vertical .e-tab[aria-selected="true"]:first-child {
|
|
5097
|
+
margin-block-start: 0;
|
|
5098
|
+
}
|
|
5099
|
+
.e-tabs--framed.e-tabs--vertical .e-tabpanel {
|
|
5100
|
+
padding: var(--e-space-4);
|
|
5101
|
+
}
|
|
4724
5102
|
.e-tab-count {
|
|
4725
5103
|
min-width: var(--e-space-6);
|
|
4726
5104
|
padding: 0 var(--e-space-2);
|
|
@@ -4858,22 +5236,23 @@ to {
|
|
|
4858
5236
|
justify-items: center;
|
|
4859
5237
|
gap: var(--e-space-1);
|
|
4860
5238
|
padding: var(--e-space-6) var(--e-space-4);
|
|
4861
|
-
|
|
5239
|
+
outline: var(--e-stroke-edge) dashed var(--e-border-strong);
|
|
5240
|
+
outline-offset: calc(-1 * var(--e-stroke-edge));
|
|
4862
5241
|
border-radius: var(--e-radius-md);
|
|
4863
5242
|
background: var(--e-surface);
|
|
4864
5243
|
text-align: center;
|
|
4865
5244
|
cursor: pointer;
|
|
4866
5245
|
transition:
|
|
4867
5246
|
background-color var(--e-duration-tap) var(--e-easing-out),
|
|
4868
|
-
|
|
5247
|
+
outline-color var(--e-duration-tap) var(--e-easing-out);
|
|
4869
5248
|
}
|
|
4870
5249
|
.e-drop:hover {
|
|
4871
5250
|
background: var(--e-surface-hover);
|
|
4872
|
-
|
|
5251
|
+
outline-color: var(--e-ink);
|
|
4873
5252
|
}
|
|
4874
5253
|
.e-drop--over {
|
|
4875
5254
|
background: var(--e-secondary-soft);
|
|
4876
|
-
|
|
5255
|
+
outline-color: var(--e-secondary);
|
|
4877
5256
|
}
|
|
4878
5257
|
.e-drop-main {
|
|
4879
5258
|
font: 400 var(--e-text-md)/1.4 var(--e-font-sans);
|
|
@@ -4897,7 +5276,7 @@ to {
|
|
|
4897
5276
|
}
|
|
4898
5277
|
.e-drop-input:focus-visible + .e-files,
|
|
4899
5278
|
.e-field:focus-within .e-drop {
|
|
4900
|
-
outline: var(--e-stroke-focus) solid var(--e-focus-field);
|
|
5279
|
+
outline: max(var(--e-stroke-focus), calc(2 * var(--e-stroke-edge))) solid var(--e-focus-field);
|
|
4901
5280
|
outline-offset: var(--e-focus-gap-field);
|
|
4902
5281
|
}
|
|
4903
5282
|
.e-files {
|
|
@@ -4932,8 +5311,8 @@ to {
|
|
|
4932
5311
|
@media (forced-colors: active) {
|
|
4933
5312
|
.e-drop:hover,
|
|
4934
5313
|
.e-drop--over {
|
|
4935
|
-
|
|
4936
|
-
|
|
5314
|
+
outline-style: solid;
|
|
5315
|
+
outline-color: Highlight;
|
|
4937
5316
|
}
|
|
4938
5317
|
}
|
|
4939
5318
|
}
|