@eos-ui/vue 0.4.0 → 0.5.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.
- 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/PageHeader/EPageHeader.js.map +1 -1
- package/dist/components/PageHeader/EPageHeader.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 +555 -179
- 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;
|
|
@@ -3852,9 +3992,6 @@ a:any-link > .e-highlight {
|
|
|
3852
3992
|
align-items: center;
|
|
3853
3993
|
gap: var(--e-space-2) var(--e-space-4);
|
|
3854
3994
|
}
|
|
3855
|
-
.e-pagehead-titlerow > :not(.e-pagehead-title) {
|
|
3856
|
-
margin-top: var(--e-space-1);
|
|
3857
|
-
}
|
|
3858
3995
|
}
|
|
3859
3996
|
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
3860
3997
|
@layer e.composites {
|
|
@@ -3886,8 +4023,8 @@ a:any-link > .e-highlight {
|
|
|
3886
4023
|
flex: none;
|
|
3887
4024
|
width: 14px;
|
|
3888
4025
|
height: 14px;
|
|
3889
|
-
border: var(--e-stroke-edge) solid var(--e-border-strong);
|
|
3890
4026
|
border-radius: 50%;
|
|
4027
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong);
|
|
3891
4028
|
}
|
|
3892
4029
|
}
|
|
3893
4030
|
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
@@ -4020,24 +4157,27 @@ to {
|
|
|
4020
4157
|
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
4021
4158
|
@layer e.controls {
|
|
4022
4159
|
.e-search {
|
|
4160
|
+
--e-ring: var(--e-border-strong);
|
|
4161
|
+
|
|
4023
4162
|
display: flex;
|
|
4024
4163
|
align-items: center;
|
|
4025
4164
|
gap: var(--e-space-1);
|
|
4026
4165
|
height: var(--e-control-height);
|
|
4027
4166
|
padding: 0 var(--e-space-1) 0 var(--e-space-2);
|
|
4028
|
-
border: var(--e-stroke-edge) solid var(--e-border-strong);
|
|
4029
4167
|
border-radius: var(--e-radius-md);
|
|
4030
4168
|
background: var(--e-surface);
|
|
4031
|
-
box-shadow:
|
|
4032
|
-
|
|
4169
|
+
box-shadow:
|
|
4170
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-ring),
|
|
4171
|
+
var(--e-well);
|
|
4172
|
+
transition: box-shadow var(--e-duration-tap) var(--e-easing-out);
|
|
4033
4173
|
}
|
|
4034
4174
|
.e-search:hover {
|
|
4035
|
-
|
|
4175
|
+
background: var(--e-surface-hover);
|
|
4036
4176
|
}
|
|
4037
4177
|
.e-search .e-btn {
|
|
4038
4178
|
position: relative;
|
|
4039
|
-
height: calc(var(--e-control-height) - 6px
|
|
4040
|
-
padding: 0 var(--e-space-3);
|
|
4179
|
+
height: calc(var(--e-control-height) - 6px);
|
|
4180
|
+
padding: 0 var(--e-space-3) var(--e-lift);
|
|
4041
4181
|
font-size: var(--e-text-md);
|
|
4042
4182
|
}
|
|
4043
4183
|
.e-search .e-btn::after {
|
|
@@ -4104,8 +4244,10 @@ to {
|
|
|
4104
4244
|
outline: none;
|
|
4105
4245
|
}
|
|
4106
4246
|
.e-search:focus-within {
|
|
4107
|
-
|
|
4108
|
-
|
|
4247
|
+
--e-ring: var(--e-focus-field);
|
|
4248
|
+
|
|
4249
|
+
background: var(--e-surface);
|
|
4250
|
+
outline: max(var(--e-stroke-focus), calc(2 * var(--e-stroke-edge))) solid var(--e-focus-field);
|
|
4109
4251
|
outline-offset: var(--e-focus-gap-field);
|
|
4110
4252
|
}
|
|
4111
4253
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -4160,12 +4302,17 @@ to {
|
|
|
4160
4302
|
}
|
|
4161
4303
|
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
4162
4304
|
@layer e.controls {
|
|
4305
|
+
/* 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
4306
|
.e-seg {
|
|
4164
4307
|
display: inline-flex;
|
|
4308
|
+
box-sizing: border-box;
|
|
4165
4309
|
height: var(--e-control-height);
|
|
4166
|
-
|
|
4310
|
+
position: relative;
|
|
4167
4311
|
border-radius: var(--e-radius-md);
|
|
4168
|
-
background: var(--e-
|
|
4312
|
+
background: var(--e-surface-tint);
|
|
4313
|
+
box-shadow:
|
|
4314
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong),
|
|
4315
|
+
var(--e-well);
|
|
4169
4316
|
overflow: hidden;
|
|
4170
4317
|
max-width: 100%;
|
|
4171
4318
|
width: fit-content;
|
|
@@ -4175,9 +4322,6 @@ to {
|
|
|
4175
4322
|
display: inline-flex;
|
|
4176
4323
|
cursor: pointer;
|
|
4177
4324
|
}
|
|
4178
|
-
.e-seg-opt + .e-seg-opt {
|
|
4179
|
-
border-inline-start: var(--e-stroke-hair) solid var(--e-border-strong);
|
|
4180
|
-
}
|
|
4181
4325
|
.e-seg-input {
|
|
4182
4326
|
position: absolute;
|
|
4183
4327
|
inset: 0;
|
|
@@ -4190,18 +4334,24 @@ to {
|
|
|
4190
4334
|
align-items: center;
|
|
4191
4335
|
justify-content: center;
|
|
4192
4336
|
gap: var(--e-space-2);
|
|
4337
|
+
box-sizing: border-box;
|
|
4193
4338
|
min-width: 4rem;
|
|
4194
4339
|
padding: 0 var(--e-space-4);
|
|
4195
|
-
background:
|
|
4340
|
+
background: transparent;
|
|
4341
|
+
color: var(--e-ink);
|
|
4196
4342
|
font: 500 var(--e-text-md)/1 var(--e-font-sans);
|
|
4197
4343
|
white-space: nowrap;
|
|
4198
4344
|
transition: background-color var(--e-duration-tap) var(--e-easing-out);
|
|
4199
4345
|
}
|
|
4200
4346
|
.e-seg-opt:hover .e-seg-text {
|
|
4201
|
-
background: var(--e-
|
|
4347
|
+
background: var(--e-wash-hover);
|
|
4202
4348
|
}
|
|
4203
|
-
.e-seg-input:checked + .e-seg-text
|
|
4204
|
-
|
|
4349
|
+
.e-seg-input:checked + .e-seg-text,
|
|
4350
|
+
.e-seg-opt:hover .e-seg-input:checked + .e-seg-text {
|
|
4351
|
+
background-color: var(--e-primary);
|
|
4352
|
+
|
|
4353
|
+
/* The darker band along the bottom is the slab, drawn inside the piece and the track clips it to the corners. */
|
|
4354
|
+
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
4355
|
color: var(--e-on-primary);
|
|
4206
4356
|
font-weight: 600;
|
|
4207
4357
|
}
|
|
@@ -4216,9 +4366,13 @@ to {
|
|
|
4216
4366
|
.e-seg-opt:has(:disabled):hover .e-seg-text {
|
|
4217
4367
|
background: transparent;
|
|
4218
4368
|
}
|
|
4369
|
+
|
|
4370
|
+
/* Chosen but unavailable: a flat piece with ink text, so it stays readable. */
|
|
4219
4371
|
.e-seg-input:disabled:checked + .e-seg-text,
|
|
4220
4372
|
.e-seg-opt:has(:disabled:checked):hover .e-seg-text {
|
|
4221
|
-
background: var(--e-surface
|
|
4373
|
+
background-color: var(--e-surface);
|
|
4374
|
+
background-image: none;
|
|
4375
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong);
|
|
4222
4376
|
color: var(--e-ink);
|
|
4223
4377
|
}
|
|
4224
4378
|
.e-seg-field {
|
|
@@ -4247,10 +4401,11 @@ to {
|
|
|
4247
4401
|
.e-pad-surface {
|
|
4248
4402
|
position: relative;
|
|
4249
4403
|
overflow: hidden;
|
|
4250
|
-
border: var(--e-stroke-edge) solid var(--e-border-strong);
|
|
4251
4404
|
border-radius: var(--e-radius-md);
|
|
4252
4405
|
background: var(--e-surface);
|
|
4253
|
-
box-shadow:
|
|
4406
|
+
box-shadow:
|
|
4407
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong),
|
|
4408
|
+
var(--e-well);
|
|
4254
4409
|
}
|
|
4255
4410
|
.e-pad-surface::after {
|
|
4256
4411
|
content: "";
|
|
@@ -4442,18 +4597,20 @@ to {
|
|
|
4442
4597
|
width: var(--e-dot);
|
|
4443
4598
|
height: var(--e-dot);
|
|
4444
4599
|
border-radius: 50%;
|
|
4445
|
-
|
|
4600
|
+
outline: var(--e-stroke-edge) dashed var(--e-border-strong);
|
|
4601
|
+
outline-offset: calc(-1 * var(--e-stroke-edge));
|
|
4446
4602
|
background: var(--e-surface);
|
|
4447
4603
|
color: var(--e-muted);
|
|
4448
4604
|
font: 600 var(--e-text-xs) / 1 var(--e-font-mono);
|
|
4449
4605
|
}
|
|
4450
4606
|
.e-step[data-state="done"] .e-step-dot {
|
|
4451
|
-
|
|
4607
|
+
outline: 0;
|
|
4452
4608
|
background: var(--e-primary);
|
|
4453
4609
|
color: var(--e-on-primary);
|
|
4454
4610
|
}
|
|
4455
4611
|
.e-step[data-state="current"] .e-step-dot {
|
|
4456
|
-
|
|
4612
|
+
outline: 0;
|
|
4613
|
+
box-shadow: inset 0 0 0 var(--e-stroke-focus) var(--e-primary);
|
|
4457
4614
|
color: var(--e-primary);
|
|
4458
4615
|
background: var(--e-surface);
|
|
4459
4616
|
}
|
|
@@ -4508,7 +4665,6 @@ to {
|
|
|
4508
4665
|
.e-step[data-state="done"] .e-step-dot {
|
|
4509
4666
|
forced-color-adjust: none;
|
|
4510
4667
|
background: Highlight;
|
|
4511
|
-
border-color: Highlight;
|
|
4512
4668
|
color: HighlightText;
|
|
4513
4669
|
}
|
|
4514
4670
|
}
|
|
@@ -4574,19 +4730,20 @@ to {
|
|
|
4574
4730
|
.e-switch-track {
|
|
4575
4731
|
--e-switch-w: 44px;
|
|
4576
4732
|
--e-thumb: 14px;
|
|
4577
|
-
--e-thumb-inset:
|
|
4578
|
-
--e-thumb-travel: calc(var(--e-switch-w) -
|
|
4733
|
+
--e-thumb-inset: var(--e-space-1);
|
|
4734
|
+
--e-thumb-travel: calc(var(--e-switch-w) - var(--e-thumb) - 2 * var(--e-thumb-inset));
|
|
4735
|
+
--e-ring: var(--e-border-strong);
|
|
4579
4736
|
|
|
4580
4737
|
position: relative;
|
|
4581
4738
|
flex: none;
|
|
4582
4739
|
width: var(--e-switch-w);
|
|
4583
4740
|
height: 24px;
|
|
4584
|
-
border: var(--e-stroke-edge) solid var(--e-border-strong);
|
|
4585
4741
|
border-radius: var(--e-radius-pill);
|
|
4586
4742
|
background: var(--e-surface-tint);
|
|
4743
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-ring);
|
|
4587
4744
|
transition:
|
|
4588
4745
|
background-color var(--e-duration-tap) var(--e-easing-out),
|
|
4589
|
-
|
|
4746
|
+
box-shadow var(--e-duration-tap) var(--e-easing-out);
|
|
4590
4747
|
}
|
|
4591
4748
|
.e-switch-track::after {
|
|
4592
4749
|
content: "";
|
|
@@ -4601,19 +4758,21 @@ to {
|
|
|
4601
4758
|
transition: transform var(--e-duration-move, 160ms) var(--e-easing-out);
|
|
4602
4759
|
}
|
|
4603
4760
|
.e-switch:hover .e-switch-track {
|
|
4604
|
-
|
|
4761
|
+
--e-ring: var(--e-ink);
|
|
4605
4762
|
}
|
|
4606
4763
|
.e-switch-input:checked + .e-switch-track {
|
|
4764
|
+
--e-ring: var(--e-primary);
|
|
4765
|
+
|
|
4607
4766
|
background: var(--e-primary);
|
|
4608
|
-
border-color: var(--e-primary);
|
|
4609
4767
|
}
|
|
4610
4768
|
.e-switch-input:checked + .e-switch-track::after {
|
|
4611
4769
|
background: var(--e-on-primary);
|
|
4612
4770
|
transform: translateX(var(--e-thumb-travel));
|
|
4613
4771
|
}
|
|
4614
4772
|
.e-switch-input:disabled + .e-switch-track {
|
|
4615
|
-
|
|
4616
|
-
outline:
|
|
4773
|
+
box-shadow: none;
|
|
4774
|
+
outline: var(--e-stroke-edge) dashed var(--e-border-strong);
|
|
4775
|
+
outline-offset: calc(-1 * var(--e-stroke-edge));
|
|
4617
4776
|
background: var(--e-surface-tint);
|
|
4618
4777
|
}
|
|
4619
4778
|
.e-switch-input:disabled + .e-switch-track::after {
|
|
@@ -4640,8 +4799,79 @@ to {
|
|
|
4640
4799
|
}
|
|
4641
4800
|
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
4642
4801
|
@layer e.containers {
|
|
4802
|
+
.e-table-wrap {
|
|
4803
|
+
position: relative;
|
|
4804
|
+
min-width: 0;
|
|
4805
|
+
border-radius: var(--e-radius-md);
|
|
4806
|
+
background: var(--e-surface);
|
|
4807
|
+
}
|
|
4808
|
+
|
|
4809
|
+
/* The outline is drawn once, above the scroller and its sticky headings, so nothing covers it. */
|
|
4810
|
+
.e-table-wrap::after {
|
|
4811
|
+
content: "";
|
|
4812
|
+
position: absolute;
|
|
4813
|
+
inset: 0;
|
|
4814
|
+
border-radius: inherit;
|
|
4815
|
+
z-index: var(--e-z-sticky);
|
|
4816
|
+
box-shadow: inset 0 0 0 var(--e-stroke-card) var(--e-border);
|
|
4817
|
+
pointer-events: none;
|
|
4818
|
+
}
|
|
4819
|
+
.e-table-scroll {
|
|
4820
|
+
overflow: auto;
|
|
4821
|
+
max-height: var(--e-table-max-h, none);
|
|
4822
|
+
border-radius: inherit;
|
|
4823
|
+
}
|
|
4824
|
+
.e-table-scroll:focus-visible {
|
|
4825
|
+
outline: var(--e-stroke-focus) solid var(--e-focus-ring);
|
|
4826
|
+
outline-offset: calc(-1 * var(--e-stroke-focus));
|
|
4827
|
+
}
|
|
4828
|
+
.e-table-wrap .e-table {
|
|
4829
|
+
background: var(--e-surface);
|
|
4830
|
+
}
|
|
4831
|
+
.e-table-caption {
|
|
4832
|
+
padding: var(--e-space-3) var(--e-space-4);
|
|
4833
|
+
border-bottom: var(--e-stroke-hair) solid var(--e-border);
|
|
4834
|
+
text-align: start;
|
|
4835
|
+
font: 600 var(--e-text-md) / 1.3 var(--e-font-sans);
|
|
4836
|
+
color: var(--e-ink);
|
|
4837
|
+
}
|
|
4838
|
+
.e-table-wrap thead th {
|
|
4839
|
+
position: sticky;
|
|
4840
|
+
top: 0;
|
|
4841
|
+
z-index: var(--e-z-raised);
|
|
4842
|
+
}
|
|
4843
|
+
.e-table-wrap--striped tbody tr:nth-child(even) :is(td, th) {
|
|
4844
|
+
background: var(--e-surface-tint);
|
|
4845
|
+
}
|
|
4846
|
+
.e-table-wrap--striped tbody tr:hover :is(td, th) {
|
|
4847
|
+
background: var(--e-surface-hover);
|
|
4848
|
+
}
|
|
4849
|
+
.e-table-wrap--dense .e-table {
|
|
4850
|
+
font-size: var(--e-text-sm);
|
|
4851
|
+
}
|
|
4852
|
+
.e-table-wrap--dense .e-table :is(th, td, tbody th) {
|
|
4853
|
+
padding: var(--e-space-2) var(--e-space-3);
|
|
4854
|
+
}
|
|
4855
|
+
@media print {
|
|
4856
|
+
.e-table-scroll {
|
|
4857
|
+
overflow: visible;
|
|
4858
|
+
max-height: none;
|
|
4859
|
+
}
|
|
4860
|
+
.e-table-wrap::after {
|
|
4861
|
+
display: none;
|
|
4862
|
+
}
|
|
4863
|
+
}
|
|
4864
|
+
@media (forced-colors: active) {
|
|
4865
|
+
.e-table-wrap {
|
|
4866
|
+
outline: 1px solid CanvasText;
|
|
4867
|
+
}
|
|
4868
|
+
}
|
|
4869
|
+
}
|
|
4870
|
+
@layer e.reset, e.tokens, e.base, e.primitives, e.blocks, e.controls, e.composites, e.containers, e.page;
|
|
4871
|
+
@layer e.containers {
|
|
4643
4872
|
.e-tablist {
|
|
4644
4873
|
display: flex;
|
|
4874
|
+
flex: none;
|
|
4645
4875
|
gap: 0;
|
|
4646
4876
|
/* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties -- the two axes are set apart */
|
|
4647
4877
|
overflow-x: auto;
|
|
@@ -4652,30 +4882,33 @@ to {
|
|
|
4652
4882
|
display: none;
|
|
4653
4883
|
}
|
|
4654
4884
|
|
|
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
|
|
4885
|
+
/* 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
4886
|
.e-tab {
|
|
4657
4887
|
--e-bc: var(--e-border-strong);
|
|
4658
4888
|
|
|
4659
|
-
/* A selected tab rises:
|
|
4889
|
+
/* 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
4890
|
--e-lift: 0px;
|
|
4891
|
+
--e-band: calc(var(--e-lift) + var(--e-stroke-edge));
|
|
4892
|
+
--e-slab: var(--e-primary);
|
|
4661
4893
|
|
|
4662
4894
|
position: relative;
|
|
4663
4895
|
display: inline-flex;
|
|
4664
4896
|
align-items: center;
|
|
4665
4897
|
gap: var(--e-space-2);
|
|
4666
4898
|
flex: none;
|
|
4667
|
-
height:
|
|
4668
|
-
|
|
4669
|
-
|
|
4670
|
-
border: var(--e-stroke-edge) solid var(--e-bc);
|
|
4899
|
+
height: var(--e-control-height);
|
|
4900
|
+
padding: 0 var(--e-space-4) var(--e-lift);
|
|
4901
|
+
border: 0;
|
|
4671
4902
|
border-radius: 0;
|
|
4672
4903
|
background: transparent;
|
|
4904
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-bc);
|
|
4673
4905
|
color: var(--e-muted);
|
|
4674
4906
|
font: 500 var(--e-text-md) / 1 var(--e-font-sans);
|
|
4675
4907
|
cursor: pointer;
|
|
4676
4908
|
transition:
|
|
4677
4909
|
color var(--e-duration-tap) var(--e-easing-out),
|
|
4678
|
-
background-color var(--e-duration-tap) var(--e-easing-out)
|
|
4910
|
+
background-color var(--e-duration-tap) var(--e-easing-out),
|
|
4911
|
+
box-shadow var(--e-duration-tap) var(--e-easing-out);
|
|
4679
4912
|
}
|
|
4680
4913
|
|
|
4681
4914
|
/* Only the outer ends of the row are rounded. */
|
|
@@ -4703,24 +4936,166 @@ to {
|
|
|
4703
4936
|
|
|
4704
4937
|
z-index: var(--e-z-sticky);
|
|
4705
4938
|
background-color: color-mix(in srgb, var(--e-surface-tint), var(--e-ink) 3%);
|
|
4706
|
-
box-shadow:
|
|
4939
|
+
box-shadow:
|
|
4940
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-bc),
|
|
4941
|
+
inset 0 calc(-1 * var(--e-band)) 0 0 var(--e-slab);
|
|
4707
4942
|
color: var(--e-ink);
|
|
4708
4943
|
font-weight: 600;
|
|
4709
4944
|
}
|
|
4945
|
+
|
|
4946
|
+
/* The slab answers the pointer too: it darkens under the cursor, in step with the face. */
|
|
4947
|
+
.e-tab[aria-selected="true"]:hover {
|
|
4948
|
+
--e-slab: color-mix(in srgb, var(--e-primary), var(--e-shade-slab));
|
|
4949
|
+
}
|
|
4710
4950
|
.e-tab:focus-visible {
|
|
4711
4951
|
z-index: var(--e-z-focus);
|
|
4712
4952
|
outline: var(--e-stroke-focus) solid var(--e-focus-ring);
|
|
4713
4953
|
outline-offset: var(--e-focus-gap);
|
|
4714
4954
|
}
|
|
4715
|
-
.e-tabs--fill .e-tablist {
|
|
4955
|
+
.e-tabs--fill > .e-tablist {
|
|
4716
4956
|
overflow-x: hidden;
|
|
4717
4957
|
}
|
|
4718
|
-
.e-tabs--fill .e-tab {
|
|
4958
|
+
.e-tabs--fill > .e-tablist > .e-tab {
|
|
4719
4959
|
flex: 1 1 0;
|
|
4720
4960
|
min-width: 0;
|
|
4721
4961
|
justify-content: center;
|
|
4722
4962
|
padding-inline: var(--e-space-1);
|
|
4723
4963
|
}
|
|
4964
|
+
|
|
4965
|
+
/* 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. */
|
|
4966
|
+
.e-tabs--vertical {
|
|
4967
|
+
display: flex;
|
|
4968
|
+
align-items: flex-start;
|
|
4969
|
+
gap: var(--e-space-4);
|
|
4970
|
+
}
|
|
4971
|
+
.e-tabs--vertical > .e-tablist {
|
|
4972
|
+
flex-direction: column;
|
|
4973
|
+
flex: none;
|
|
4974
|
+
overflow: visible;
|
|
4975
|
+
}
|
|
4976
|
+
.e-tabs--vertical > .e-tablist > .e-tab {
|
|
4977
|
+
--e-lift: 0px;
|
|
4978
|
+
|
|
4979
|
+
height: var(--e-control-height);
|
|
4980
|
+
padding-block-end: 0;
|
|
4981
|
+
justify-content: flex-start;
|
|
4982
|
+
border-radius: 0;
|
|
4983
|
+
}
|
|
4984
|
+
.e-tabs--vertical > .e-tablist > .e-tab:first-child {
|
|
4985
|
+
border-start-start-radius: var(--e-radius-md);
|
|
4986
|
+
border-start-end-radius: var(--e-radius-md);
|
|
4987
|
+
}
|
|
4988
|
+
.e-tabs--vertical > .e-tablist > .e-tab:last-child {
|
|
4989
|
+
border-end-start-radius: var(--e-radius-md);
|
|
4990
|
+
border-end-end-radius: var(--e-radius-md);
|
|
4991
|
+
}
|
|
4992
|
+
.e-tabs--vertical > .e-tablist > .e-tab + .e-tab {
|
|
4993
|
+
margin-inline-start: 0;
|
|
4994
|
+
margin-block-start: calc(-1 * var(--e-stroke-edge));
|
|
4995
|
+
}
|
|
4996
|
+
.e-tabs--vertical > .e-tablist > .e-tab[aria-selected="true"] {
|
|
4997
|
+
--e-lift: var(--e-depth);
|
|
4998
|
+
|
|
4999
|
+
padding-inline-start: calc(var(--e-space-4) + var(--e-lift));
|
|
5000
|
+
box-shadow:
|
|
5001
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-bc),
|
|
5002
|
+
inset var(--e-band) 0 0 0 var(--e-slab);
|
|
5003
|
+
}
|
|
5004
|
+
.e-tabs--vertical > .e-tabpanel {
|
|
5005
|
+
flex: 1 1 0;
|
|
5006
|
+
min-width: 0;
|
|
5007
|
+
padding-top: 0;
|
|
5008
|
+
}
|
|
5009
|
+
:dir(rtl) .e-tabs--vertical > .e-tablist > .e-tab[aria-selected="true"] {
|
|
5010
|
+
box-shadow:
|
|
5011
|
+
inset 0 0 0 var(--e-stroke-edge) var(--e-bc),
|
|
5012
|
+
inset calc(-1 * var(--e-band)) 0 0 0 var(--e-slab);
|
|
5013
|
+
}
|
|
5014
|
+
|
|
5015
|
+
/* 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. */
|
|
5016
|
+
.e-tabs--framed > .e-tablist {
|
|
5017
|
+
position: relative;
|
|
5018
|
+
z-index: var(--e-z-raised);
|
|
5019
|
+
margin-block-end: calc(-1 * var(--e-stroke-edge));
|
|
5020
|
+
}
|
|
5021
|
+
.e-tabs--framed > .e-tablist > .e-tab {
|
|
5022
|
+
--e-bc: var(--e-border-strong);
|
|
5023
|
+
--e-lift: 0px;
|
|
5024
|
+
|
|
5025
|
+
border-radius: 0;
|
|
5026
|
+
background-color: var(--e-surface-tint);
|
|
5027
|
+
}
|
|
5028
|
+
.e-tabs--framed > .e-tablist > .e-tab:first-child {
|
|
5029
|
+
border-start-start-radius: var(--e-radius-md);
|
|
5030
|
+
}
|
|
5031
|
+
.e-tabs--framed.e-tabs--fill > .e-tablist > .e-tab:last-child {
|
|
5032
|
+
border-start-end-radius: var(--e-radius-md);
|
|
5033
|
+
}
|
|
5034
|
+
.e-tabs:not(.e-tabs--fill, .e-tabs--vertical).e-tabs--framed > .e-tablist {
|
|
5035
|
+
padding-inline-end: var(--e-radius-md);
|
|
5036
|
+
}
|
|
5037
|
+
.e-tabs--framed > .e-tablist > .e-tab:hover {
|
|
5038
|
+
background-color: var(--e-surface-hover);
|
|
5039
|
+
}
|
|
5040
|
+
|
|
5041
|
+
/* 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. */
|
|
5042
|
+
.e-tabs--framed > .e-tablist > .e-tab[aria-selected="true"] {
|
|
5043
|
+
--e-bc: var(--e-primary);
|
|
5044
|
+
--e-lift: var(--e-depth);
|
|
5045
|
+
|
|
5046
|
+
padding-block: var(--e-lift) 0;
|
|
5047
|
+
background-color: var(--e-surface);
|
|
5048
|
+
box-shadow:
|
|
5049
|
+
inset var(--e-stroke-edge) 0 0 0 var(--e-bc),
|
|
5050
|
+
inset calc(-1 * var(--e-stroke-edge)) 0 0 0 var(--e-bc),
|
|
5051
|
+
inset 0 var(--e-band) 0 0 var(--e-slab);
|
|
5052
|
+
}
|
|
5053
|
+
.e-tabs--framed > .e-tabpanel {
|
|
5054
|
+
padding: var(--e-space-4);
|
|
5055
|
+
border-radius: var(--e-radius-md);
|
|
5056
|
+
border-start-start-radius: 0;
|
|
5057
|
+
background: var(--e-surface);
|
|
5058
|
+
box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-border-strong);
|
|
5059
|
+
}
|
|
5060
|
+
.e-tabs--framed.e-tabs--fill > .e-tabpanel {
|
|
5061
|
+
border-start-end-radius: 0;
|
|
5062
|
+
}
|
|
5063
|
+
.e-tabs--framed.e-tabs--vertical {
|
|
5064
|
+
gap: 0;
|
|
5065
|
+
align-items: stretch;
|
|
5066
|
+
}
|
|
5067
|
+
.e-tabs--framed.e-tabs--vertical > .e-tablist {
|
|
5068
|
+
align-self: flex-start;
|
|
5069
|
+
margin-block-end: var(--e-radius-md);
|
|
5070
|
+
margin-inline-end: calc(-1 * var(--e-stroke-edge));
|
|
5071
|
+
}
|
|
5072
|
+
.e-tabs--framed.e-tabs--vertical > .e-tablist > .e-tab {
|
|
5073
|
+
border-radius: 0;
|
|
5074
|
+
}
|
|
5075
|
+
.e-tabs--framed.e-tabs--vertical > .e-tablist > .e-tab:first-child {
|
|
5076
|
+
border-start-start-radius: var(--e-radius-md);
|
|
5077
|
+
}
|
|
5078
|
+
.e-tabs--framed.e-tabs--vertical > .e-tablist > .e-tab[aria-selected="true"] {
|
|
5079
|
+
margin-block: calc(-1 * var(--e-stroke-edge)) 0;
|
|
5080
|
+
padding-block: 0;
|
|
5081
|
+
padding-inline-start: calc(var(--e-space-4) + var(--e-lift));
|
|
5082
|
+
box-shadow:
|
|
5083
|
+
inset 0 var(--e-stroke-edge) 0 0 var(--e-bc),
|
|
5084
|
+
inset 0 calc(-1 * var(--e-stroke-edge)) 0 0 var(--e-bc),
|
|
5085
|
+
inset var(--e-band) 0 0 0 var(--e-slab);
|
|
5086
|
+
}
|
|
5087
|
+
:dir(rtl) .e-tabs--framed.e-tabs--vertical > .e-tablist > .e-tab[aria-selected="true"] {
|
|
5088
|
+
box-shadow:
|
|
5089
|
+
inset 0 var(--e-stroke-edge) 0 0 var(--e-bc),
|
|
5090
|
+
inset 0 calc(-1 * var(--e-stroke-edge)) 0 0 var(--e-bc),
|
|
5091
|
+
inset calc(-1 * var(--e-band)) 0 0 0 var(--e-slab);
|
|
5092
|
+
}
|
|
5093
|
+
.e-tabs--framed.e-tabs--vertical > .e-tablist > .e-tab[aria-selected="true"]:first-child {
|
|
5094
|
+
margin-block-start: 0;
|
|
5095
|
+
}
|
|
5096
|
+
.e-tabs--framed.e-tabs--vertical > .e-tabpanel {
|
|
5097
|
+
padding: var(--e-space-4);
|
|
5098
|
+
}
|
|
4724
5099
|
.e-tab-count {
|
|
4725
5100
|
min-width: var(--e-space-6);
|
|
4726
5101
|
padding: 0 var(--e-space-2);
|
|
@@ -4858,22 +5233,23 @@ to {
|
|
|
4858
5233
|
justify-items: center;
|
|
4859
5234
|
gap: var(--e-space-1);
|
|
4860
5235
|
padding: var(--e-space-6) var(--e-space-4);
|
|
4861
|
-
|
|
5236
|
+
outline: var(--e-stroke-edge) dashed var(--e-border-strong);
|
|
5237
|
+
outline-offset: calc(-1 * var(--e-stroke-edge));
|
|
4862
5238
|
border-radius: var(--e-radius-md);
|
|
4863
5239
|
background: var(--e-surface);
|
|
4864
5240
|
text-align: center;
|
|
4865
5241
|
cursor: pointer;
|
|
4866
5242
|
transition:
|
|
4867
5243
|
background-color var(--e-duration-tap) var(--e-easing-out),
|
|
4868
|
-
|
|
5244
|
+
outline-color var(--e-duration-tap) var(--e-easing-out);
|
|
4869
5245
|
}
|
|
4870
5246
|
.e-drop:hover {
|
|
4871
5247
|
background: var(--e-surface-hover);
|
|
4872
|
-
|
|
5248
|
+
outline-color: var(--e-ink);
|
|
4873
5249
|
}
|
|
4874
5250
|
.e-drop--over {
|
|
4875
5251
|
background: var(--e-secondary-soft);
|
|
4876
|
-
|
|
5252
|
+
outline-color: var(--e-secondary);
|
|
4877
5253
|
}
|
|
4878
5254
|
.e-drop-main {
|
|
4879
5255
|
font: 400 var(--e-text-md)/1.4 var(--e-font-sans);
|
|
@@ -4897,7 +5273,7 @@ to {
|
|
|
4897
5273
|
}
|
|
4898
5274
|
.e-drop-input:focus-visible + .e-files,
|
|
4899
5275
|
.e-field:focus-within .e-drop {
|
|
4900
|
-
outline: var(--e-stroke-focus) solid var(--e-focus-field);
|
|
5276
|
+
outline: max(var(--e-stroke-focus), calc(2 * var(--e-stroke-edge))) solid var(--e-focus-field);
|
|
4901
5277
|
outline-offset: var(--e-focus-gap-field);
|
|
4902
5278
|
}
|
|
4903
5279
|
.e-files {
|
|
@@ -4932,8 +5308,8 @@ to {
|
|
|
4932
5308
|
@media (forced-colors: active) {
|
|
4933
5309
|
.e-drop:hover,
|
|
4934
5310
|
.e-drop--over {
|
|
4935
|
-
|
|
4936
|
-
|
|
5311
|
+
outline-style: solid;
|
|
5312
|
+
outline-color: Highlight;
|
|
4937
5313
|
}
|
|
4938
5314
|
}
|
|
4939
5315
|
}
|