@threadlabs/looma 0.16.2 → 0.16.3
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/components/ui-button/ui-button.html +6 -0
- package/components/ui-form-field/ui-form-field.html +29 -5
- package/components/ui-input/ui-input.html +9 -4
- package/components/ui-input/ui-input.js +8 -2
- package/components/ui-nav-item/ui-nav-item.html +5 -1
- package/components/ui-select/ui-select.html +25 -5
- package/components/ui-text/ui-text.html +17 -4
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-button.css +6 -0
- package/styles/ui-form-field.css +29 -5
- package/styles/ui-input.css +5 -1
- package/styles/ui-nav-item.css +5 -1
- package/styles/ui-select.css +25 -5
- package/styles/ui-text.css +14 -2
- package/vanilla/UiInput.d.ts +1 -1
- package/vanilla/UiInput.js +1 -1
- package/vanilla/UiText.d.ts +1 -1
- package/vanilla/UiText.js +76 -1
- package/vue/UiButton.vue +6 -0
- package/vue/UiFormField.vue +29 -5
- package/vue/UiInput.d.ts +2 -2
- package/vue/UiInput.vue +7 -3
- package/vue/UiNavItem.vue +5 -1
- package/vue/UiSelect.vue +28 -5
- package/vue/UiText.d.ts +13 -3
- package/vue/UiText.vue +50 -2
- package/vue/chunks/UiButton.js +1 -1
- package/vue/chunks/UiFormField.js +1 -1
- package/vue/chunks/UiInput.js +1 -1
- package/vue/chunks/UiNavItem.js +1 -1
- package/vue/chunks/UiSelect.js +1 -1
- package/vue/chunks/UiText.js +23 -3
- package/vue/components.css +196 -127
package/vue/components.css
CHANGED
|
@@ -679,7 +679,11 @@ to {
|
|
|
679
679
|
syntax: "*";
|
|
680
680
|
inherits: false;
|
|
681
681
|
}
|
|
682
|
-
|
|
682
|
+
@property --ui-button-white-space {
|
|
683
|
+
syntax: "*";
|
|
684
|
+
inherits: false;
|
|
685
|
+
}
|
|
686
|
+
[data-component~="ui-button"][data-v-2d967790] {
|
|
683
687
|
--_hue: var(--ui-accent);
|
|
684
688
|
--_hue-hover: var(--ui-accent-hover);
|
|
685
689
|
--_hue-active: var(--ui-accent-active);
|
|
@@ -698,15 +702,15 @@ to {
|
|
|
698
702
|
vertical-align: middle;
|
|
699
703
|
color: var(--_tone-text);
|
|
700
704
|
}
|
|
701
|
-
[data-component~="ui-button"][data-ui-button-state~="align=start"][data-v-
|
|
705
|
+
[data-component~="ui-button"][data-ui-button-state~="align=start"][data-v-2d967790] {
|
|
702
706
|
justify-content: flex-start;
|
|
703
707
|
text-align: start;
|
|
704
708
|
}
|
|
705
|
-
[data-component~="ui-button"][data-ui-button-state~="stretch"][data-v-
|
|
709
|
+
[data-component~="ui-button"][data-ui-button-state~="stretch"][data-v-2d967790] {
|
|
706
710
|
display: flex;
|
|
707
711
|
inline-size: 100%;
|
|
708
712
|
}
|
|
709
|
-
[data-component~="ui-button"][data-v-
|
|
713
|
+
[data-component~="ui-button"][data-v-2d967790] {
|
|
710
714
|
appearance: none;
|
|
711
715
|
min-block-size: var(--ui-button-min-block-size, var(--ui-control-size-md));
|
|
712
716
|
border-style: solid;
|
|
@@ -718,6 +722,8 @@ to {
|
|
|
718
722
|
font: inherit;
|
|
719
723
|
font-weight: var(--ui-font-medium);
|
|
720
724
|
text-decoration: none;
|
|
725
|
+
/* Unset, a button wraps as its container does. */
|
|
726
|
+
white-space: var(--ui-button-white-space, inherit);
|
|
721
727
|
line-height: var(--ui-line-height-tight);
|
|
722
728
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
723
729
|
background-image: var(--ui-raised-highlight);
|
|
@@ -730,21 +736,21 @@ to {
|
|
|
730
736
|
box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
|
|
731
737
|
margin: 0;
|
|
732
738
|
}
|
|
733
|
-
.pending-spinner[data-v-
|
|
739
|
+
.pending-spinner[data-v-2d967790] {
|
|
734
740
|
margin-inline-end: var(--ui-space-2);
|
|
735
741
|
}
|
|
736
742
|
@supports (text-box-trim: trim-both) {
|
|
737
|
-
[data-component~="ui-button"][data-v-
|
|
743
|
+
[data-component~="ui-button"][data-v-2d967790] {
|
|
738
744
|
text-box-trim: trim-both;
|
|
739
745
|
text-box-edge: cap alphabetic;
|
|
740
746
|
}
|
|
741
747
|
}
|
|
742
|
-
[data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-
|
|
748
|
+
[data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-2d967790] {
|
|
743
749
|
min-block-size: var(--ui-control-size-sm);
|
|
744
750
|
padding: var(--ui-space-1) var(--ui-space-2);
|
|
745
751
|
font-size: var(--ui-font-size-sm);
|
|
746
752
|
}
|
|
747
|
-
[data-component~="ui-button"][data-ui-button-state~="size=lg"][data-v-
|
|
753
|
+
[data-component~="ui-button"][data-ui-button-state~="size=lg"][data-v-2d967790] {
|
|
748
754
|
min-block-size: var(--ui-control-size-lg);
|
|
749
755
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
750
756
|
font-size: var(--ui-font-size-md);
|
|
@@ -752,29 +758,29 @@ to {
|
|
|
752
758
|
|
|
753
759
|
/* A link is never :enabled, so interactive states test "not unavailable" instead: for a button that
|
|
754
760
|
is exactly :enabled, at the same specificity, and it also matches a link that can be followed. */
|
|
755
|
-
[data-component~="ui-button"][data-v-
|
|
761
|
+
[data-component~="ui-button"][data-v-2d967790]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
756
762
|
border-color: var(--ui-button-hover-border, var(--_tone-hover));
|
|
757
763
|
background-color: var(--ui-button-hover-surface, oklch(from var(--_tone) l c h / 12%));
|
|
758
764
|
}
|
|
759
765
|
|
|
760
766
|
/* Pressed reads as pressed in: the highlight goes, and the shadow moves inside. */
|
|
761
|
-
[data-component~="ui-button"][data-v-
|
|
767
|
+
[data-component~="ui-button"][data-v-2d967790]:active:not(:disabled, [aria-disabled="true"]) {
|
|
762
768
|
background-color: var(--ui-button-active-surface, oklch(from var(--_tone) l c h / 18%));
|
|
763
769
|
background-image: none;
|
|
764
770
|
box-shadow: var(--ui-pressed);
|
|
765
771
|
}
|
|
766
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-
|
|
767
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-
|
|
772
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-2d967790],
|
|
773
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-2d967790] {
|
|
768
774
|
border-color: var(--_tone);
|
|
769
775
|
background-color: var(--_tone);
|
|
770
776
|
color: var(--_on-tone);
|
|
771
777
|
box-shadow: var(--ui-button-solid-shadow, var(--ui-raised));
|
|
772
778
|
}
|
|
773
|
-
:is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-
|
|
779
|
+
:is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-2d967790], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-2d967790]):hover:not(:disabled, [aria-disabled="true"]) {
|
|
774
780
|
background-color: var(--_tone-hover);
|
|
775
781
|
border-color: var(--_tone-hover);
|
|
776
782
|
}
|
|
777
|
-
:is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-
|
|
783
|
+
:is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-2d967790], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-2d967790]):active:not(:disabled, [aria-disabled="true"]) {
|
|
778
784
|
background-color: var(--_tone-active);
|
|
779
785
|
border-color: var(--_tone-active);
|
|
780
786
|
background-image: none;
|
|
@@ -783,43 +789,43 @@ to {
|
|
|
783
789
|
|
|
784
790
|
/* Tone is the colour, variant is the volume. Every pairing works: a danger outline is a
|
|
785
791
|
destructive secondary action, not a special case. */
|
|
786
|
-
[data-component~="ui-button"][data-ui-button-state~="tone=neutral"][data-v-
|
|
792
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=neutral"][data-v-2d967790] {
|
|
787
793
|
--_hue: var(--ui-text);
|
|
788
794
|
--_hue-hover: var(--ui-text);
|
|
789
795
|
--_hue-active: var(--ui-text);
|
|
790
796
|
--_hue-text: var(--ui-text);
|
|
791
797
|
--_on-hue: var(--ui-surface);
|
|
792
798
|
}
|
|
793
|
-
[data-component~="ui-button"][data-ui-button-state~="tone=danger"][data-v-
|
|
794
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-
|
|
799
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=danger"][data-v-2d967790],
|
|
800
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-2d967790] {
|
|
795
801
|
--_hue: var(--ui-danger);
|
|
796
802
|
--_hue-hover: var(--ui-danger-hover);
|
|
797
803
|
--_hue-active: var(--ui-danger-hover);
|
|
798
804
|
--_hue-text: var(--ui-danger-hover);
|
|
799
805
|
--_on-hue: var(--ui-on-danger);
|
|
800
806
|
}
|
|
801
|
-
[data-component~="ui-button"][data-ui-button-state~="tone=success"][data-v-
|
|
807
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=success"][data-v-2d967790] {
|
|
802
808
|
--_hue: var(--ui-success);
|
|
803
809
|
--_hue-hover: color-mix(in srgb, var(--ui-success) 85%, #000);
|
|
804
810
|
--_hue-active: color-mix(in srgb, var(--ui-success) 75%, #000);
|
|
805
811
|
--_hue-text: color-mix(in srgb, var(--ui-success) 85%, #000);
|
|
806
812
|
--_on-hue: var(--ui-surface);
|
|
807
813
|
}
|
|
808
|
-
[data-component~="ui-button"][data-ui-button-state~="tone=warning"][data-v-
|
|
814
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=warning"][data-v-2d967790] {
|
|
809
815
|
--_hue: var(--ui-warning);
|
|
810
816
|
--_hue-hover: color-mix(in srgb, var(--ui-warning) 85%, #000);
|
|
811
817
|
--_hue-active: color-mix(in srgb, var(--ui-warning) 75%, #000);
|
|
812
818
|
--_hue-text: color-mix(in srgb, var(--ui-warning) 85%, #000);
|
|
813
819
|
--_on-hue: var(--ui-surface);
|
|
814
820
|
}
|
|
815
|
-
[data-component~="ui-button"][data-ui-button-state~="tone=info"][data-v-
|
|
821
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=info"][data-v-2d967790] {
|
|
816
822
|
--_hue: var(--ui-info);
|
|
817
823
|
--_hue-hover: color-mix(in srgb, var(--ui-info) 85%, #000);
|
|
818
824
|
--_hue-active: color-mix(in srgb, var(--ui-info) 75%, #000);
|
|
819
825
|
--_hue-text: color-mix(in srgb, var(--ui-info) 85%, #000);
|
|
820
826
|
--_on-hue: var(--ui-surface);
|
|
821
827
|
}
|
|
822
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-
|
|
828
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-2d967790] {
|
|
823
829
|
border-color: transparent;
|
|
824
830
|
background: transparent;
|
|
825
831
|
box-shadow: none;
|
|
@@ -827,24 +833,24 @@ to {
|
|
|
827
833
|
}
|
|
828
834
|
|
|
829
835
|
/* Tints derive from the text colour, not a surface token, so hover and press show on any background. */
|
|
830
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-
|
|
836
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-2d967790]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
831
837
|
background-color: var(--ui-button-ghost-hover-surface, oklch(from var(--_tone) l c h / 10%));
|
|
832
838
|
border-color: transparent;
|
|
833
839
|
}
|
|
834
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-
|
|
840
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-2d967790]:active:not(:disabled, [aria-disabled="true"]) {
|
|
835
841
|
background-color: var(--ui-button-ghost-active-surface, oklch(from var(--_tone) l c h / 16%));
|
|
836
842
|
border-color: transparent;
|
|
837
843
|
box-shadow: var(--ui-pressed);
|
|
838
844
|
}
|
|
839
845
|
|
|
840
846
|
/* A soft halo that transitions in with the other box-shadow changes, layered on the raised shadow. */
|
|
841
|
-
[data-component~="ui-button"][data-v-
|
|
847
|
+
[data-component~="ui-button"][data-v-2d967790]:focus-visible {
|
|
842
848
|
outline: none;
|
|
843
849
|
box-shadow:
|
|
844
850
|
var(--ui-button-shadow, var(--ui-raised)),
|
|
845
851
|
var(--ui-focus-halo);
|
|
846
852
|
}
|
|
847
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-
|
|
853
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-2d967790]:focus-visible {
|
|
848
854
|
box-shadow:
|
|
849
855
|
var(--ui-button-solid-shadow, var(--ui-raised)),
|
|
850
856
|
var(--ui-focus-halo);
|
|
@@ -855,14 +861,14 @@ to {
|
|
|
855
861
|
fill, border, and text together (--ui-disabled-filter), and the theme decides which way is
|
|
856
862
|
toward the page. The highlight and shadow go, because nothing that cannot be pressed should
|
|
857
863
|
look raised. */
|
|
858
|
-
[data-component~="ui-button"][data-v-
|
|
864
|
+
[data-component~="ui-button"][data-v-2d967790]:is(:disabled, [aria-disabled="true"]) {
|
|
859
865
|
filter: var(--ui-button-disabled-filter, var(--ui-disabled-filter));
|
|
860
866
|
opacity: var(--ui-button-disabled-opacity, 1);
|
|
861
867
|
cursor: not-allowed;
|
|
862
868
|
background-image: none;
|
|
863
869
|
box-shadow: none;
|
|
864
870
|
}
|
|
865
|
-
[data-component~="ui-button"][data-ui-button-state~="pending"][data-v-
|
|
871
|
+
[data-component~="ui-button"][data-ui-button-state~="pending"][data-v-2d967790]:focus-visible {
|
|
866
872
|
box-shadow: var(--ui-focus-halo);
|
|
867
873
|
}
|
|
868
874
|
|
|
@@ -870,14 +876,14 @@ to {
|
|
|
870
876
|
it takes a surface rather than reading as plain text. The surface is a wash of the faded tone,
|
|
871
877
|
the way hover washes the live one, so it stays light in every tone. An opaque mix toward the
|
|
872
878
|
hue came out a mid-grey slab for neutral, whose hue is the ink: louder than the enabled button. */
|
|
873
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-
|
|
879
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-2d967790]:is(:disabled, [aria-disabled="true"]) {
|
|
874
880
|
background-color: oklch(from var(--_tone) l c h / 14%);
|
|
875
881
|
border-color: transparent;
|
|
876
882
|
}
|
|
877
883
|
|
|
878
884
|
/* The size states outrank :host, so sm is named too, or a small button would stay small. */
|
|
879
885
|
@media (pointer: coarse) {
|
|
880
|
-
[data-component~="ui-button"][data-v-
|
|
886
|
+
[data-component~="ui-button"][data-v-2d967790], [data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-2d967790] {
|
|
881
887
|
min-block-size: var(--ui-control-min-block-size);
|
|
882
888
|
}
|
|
883
889
|
}
|
|
@@ -887,11 +893,11 @@ to {
|
|
|
887
893
|
a link-style one keeps its text size, so a standalone one ("See all" under a list) needs the
|
|
888
894
|
area. Only the link needs it: a hit area on every button would reach over its neighbours. */
|
|
889
895
|
html[data-ui-input-modality="touch"]
|
|
890
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
896
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-2d967790] {
|
|
891
897
|
position: relative;
|
|
892
898
|
}
|
|
893
899
|
html[data-ui-input-modality="touch"]
|
|
894
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
900
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-2d967790]::after {
|
|
895
901
|
position: absolute;
|
|
896
902
|
inset: 50% auto auto 50%;
|
|
897
903
|
inline-size: max(100%, var(--ui-control-min-block-size));
|
|
@@ -902,7 +908,7 @@ html[data-ui-input-modality="touch"]
|
|
|
902
908
|
|
|
903
909
|
/* Link: an inline text action. No box, padding, or minimum height (inline targets are exempt under
|
|
904
910
|
WCAG 2.5.8); the inherited font; an underline that strengthens on hover; a visible focus ring. */
|
|
905
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
911
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-2d967790] {
|
|
906
912
|
display: inline;
|
|
907
913
|
min-block-size: 0;
|
|
908
914
|
padding: 0;
|
|
@@ -920,21 +926,21 @@ html[data-ui-input-modality="touch"]
|
|
|
920
926
|
color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
921
927
|
text-decoration-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
922
928
|
}
|
|
923
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
929
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-2d967790]:hover:not(:disabled, [aria-disabled="true"]) {
|
|
924
930
|
color: var(--ui-button-link-hover-text, var(--ui-text-primary));
|
|
925
931
|
text-decoration-color: currentColor;
|
|
926
932
|
background: none;
|
|
927
933
|
transform: none;
|
|
928
934
|
}
|
|
929
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
935
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-2d967790]:active:not(:disabled, [aria-disabled="true"]) {
|
|
930
936
|
background: none;
|
|
931
937
|
transform: none;
|
|
932
938
|
}
|
|
933
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
939
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-2d967790]:is(:disabled, [aria-disabled="true"]) {
|
|
934
940
|
background: none;
|
|
935
941
|
border-color: transparent;
|
|
936
942
|
}
|
|
937
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
943
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-2d967790]:focus-visible {
|
|
938
944
|
box-shadow: none;
|
|
939
945
|
/* Fallback keeps the ring if the token is missing: an unresolved var() would void the outline. */
|
|
940
946
|
outline: 2px solid var(--ui-focus-ring);
|
|
@@ -942,7 +948,7 @@ html[data-ui-input-modality="touch"]
|
|
|
942
948
|
}
|
|
943
949
|
|
|
944
950
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
945
|
-
[data-component~="ui-button"][hidden][data-v-
|
|
951
|
+
[data-component~="ui-button"][hidden][data-v-2d967790] {
|
|
946
952
|
display: none;
|
|
947
953
|
}
|
|
948
954
|
|
|
@@ -3900,73 +3906,97 @@ svg[data-v-70304a1a-s] {
|
|
|
3900
3906
|
syntax: "*";
|
|
3901
3907
|
inherits: false;
|
|
3902
3908
|
}
|
|
3909
|
+
@property --ui-form-field-help-font-size {
|
|
3910
|
+
syntax: "*";
|
|
3911
|
+
inherits: false;
|
|
3912
|
+
}
|
|
3903
3913
|
@property --ui-form-field-help-min-block-size {
|
|
3904
3914
|
syntax: "*";
|
|
3905
3915
|
inherits: false;
|
|
3906
3916
|
}
|
|
3907
|
-
|
|
3917
|
+
@property --ui-form-field-help-text {
|
|
3918
|
+
syntax: "*";
|
|
3919
|
+
inherits: false;
|
|
3920
|
+
}
|
|
3921
|
+
@property --ui-form-field-label-font-size {
|
|
3922
|
+
syntax: "*";
|
|
3923
|
+
inherits: false;
|
|
3924
|
+
}
|
|
3925
|
+
@property --ui-form-field-label-text {
|
|
3926
|
+
syntax: "*";
|
|
3927
|
+
inherits: false;
|
|
3928
|
+
}
|
|
3929
|
+
@property --ui-form-field-min-inline-size {
|
|
3930
|
+
syntax: "*";
|
|
3931
|
+
inherits: false;
|
|
3932
|
+
}
|
|
3933
|
+
[data-component~="ui-form-field"][data-v-60c91d56] {
|
|
3908
3934
|
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
3909
3935
|
--_ui-form-field-danger: var(--ui-form-field-danger);
|
|
3910
3936
|
--_ui-form-field-help-min-block-size: var(--ui-form-field-help-min-block-size);
|
|
3937
|
+
--_ui-form-field-label-text: var(--ui-form-field-label-text);
|
|
3938
|
+
--_ui-form-field-label-font-size: var(--ui-form-field-label-font-size);
|
|
3939
|
+
--_ui-form-field-help-text: var(--ui-form-field-help-text);
|
|
3940
|
+
--_ui-form-field-help-font-size: var(--ui-form-field-help-font-size);
|
|
3911
3941
|
|
|
3912
3942
|
display: grid;
|
|
3913
3943
|
gap: var(--ui-space-2);
|
|
3914
|
-
min-inline-size: 0;
|
|
3944
|
+
min-inline-size: var(--ui-form-field-min-inline-size, 0);
|
|
3915
3945
|
align-content: start;
|
|
3916
3946
|
color: var(--ui-text-primary);
|
|
3917
3947
|
}
|
|
3918
3948
|
|
|
3919
3949
|
/* Each named region styles whatever fills it, however it was slotted (slot="…" in HTML, #label
|
|
3920
3950
|
in Vue), and generates no box of its own, so an empty region adds no gap. */
|
|
3921
|
-
.label[data-v-
|
|
3922
|
-
.help[data-v-
|
|
3923
|
-
.error[data-v-
|
|
3951
|
+
.label[data-v-60c91d56],
|
|
3952
|
+
.help[data-v-60c91d56],
|
|
3953
|
+
.error[data-v-60c91d56] {
|
|
3924
3954
|
display: contents;
|
|
3925
3955
|
}
|
|
3926
|
-
.label[data-v-
|
|
3927
|
-
color: var(--ui-text-secondary);
|
|
3928
|
-
font-size: var(--ui-font-size-sm);
|
|
3956
|
+
.label[data-v-60c91d56] {
|
|
3957
|
+
color: var(--_ui-form-field-label-text, var(--ui-text-secondary));
|
|
3958
|
+
font-size: var(--_ui-form-field-label-font-size, var(--ui-font-size-sm));
|
|
3929
3959
|
}
|
|
3930
3960
|
|
|
3931
3961
|
/* A label action, such as a small help button, sits after the label text in a box one line
|
|
3932
3962
|
tall, centred on the first line and overflowing it. A button taller than a line of label
|
|
3933
3963
|
text then never makes this field's label row taller than its neighbours' in a grid row. */
|
|
3934
|
-
.label[data-v-
|
|
3964
|
+
.label[data-v-60c91d56]:has(> .label-action > *) {
|
|
3935
3965
|
display: flex;
|
|
3936
3966
|
align-items: start;
|
|
3937
3967
|
gap: var(--ui-space-1);
|
|
3938
3968
|
}
|
|
3939
|
-
.label-action[data-v-
|
|
3969
|
+
.label-action[data-v-60c91d56] {
|
|
3940
3970
|
display: flex;
|
|
3941
3971
|
align-items: unsafe center;
|
|
3942
3972
|
block-size: 1lh;
|
|
3943
3973
|
}
|
|
3944
|
-
.label-action[data-v-
|
|
3974
|
+
.label-action[data-v-60c91d56]:not(:has(> *)) {
|
|
3945
3975
|
display: none;
|
|
3946
3976
|
}
|
|
3947
|
-
.help[data-v-
|
|
3948
|
-
color: var(--ui-text-muted);
|
|
3949
|
-
font-size: var(--ui-font-size-sm);
|
|
3977
|
+
.help[data-v-60c91d56] {
|
|
3978
|
+
color: var(--_ui-form-field-help-text, var(--ui-text-muted));
|
|
3979
|
+
font-size: var(--_ui-form-field-help-font-size, var(--ui-font-size-sm));
|
|
3950
3980
|
line-height: var(--ui-line-height-md);
|
|
3951
3981
|
}
|
|
3952
|
-
.help > [data-v-
|
|
3982
|
+
.help > [data-v-60c91d56-s] {
|
|
3953
3983
|
min-block-size: var(--_ui-form-field-help-min-block-size, 0);
|
|
3954
3984
|
}
|
|
3955
|
-
.error[data-v-
|
|
3985
|
+
.error[data-v-60c91d56] {
|
|
3956
3986
|
display: none;
|
|
3957
3987
|
}
|
|
3958
|
-
[data-component~="ui-form-field"][data-ui-form-field-state~="invalid"] .error[data-v-
|
|
3988
|
+
[data-component~="ui-form-field"][data-ui-form-field-state~="invalid"] .error[data-v-60c91d56] {
|
|
3959
3989
|
display: contents;
|
|
3960
3990
|
}
|
|
3961
3991
|
|
|
3962
3992
|
/* An error reads in the danger colour, the one the invalid control's border takes. */
|
|
3963
|
-
.error[data-v-
|
|
3993
|
+
.error[data-v-60c91d56],[role="alert"][data-v-60c91d56-s] {
|
|
3964
3994
|
color: var(--_ui-form-field-danger, var(--ui-field-danger, var(--ui-danger)));
|
|
3965
3995
|
font-size: var(--ui-font-size-sm);
|
|
3966
3996
|
}
|
|
3967
3997
|
|
|
3968
3998
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
3969
|
-
[data-component~="ui-form-field"][hidden][data-v-
|
|
3999
|
+
[data-component~="ui-form-field"][hidden][data-v-60c91d56] {
|
|
3970
4000
|
display: none;
|
|
3971
4001
|
}
|
|
3972
4002
|
|
|
@@ -4322,6 +4352,10 @@ svg[data-v-c62d95c3-s] {
|
|
|
4322
4352
|
syntax: "*";
|
|
4323
4353
|
inherits: false;
|
|
4324
4354
|
}
|
|
4355
|
+
@property --ui-input-inline-size {
|
|
4356
|
+
syntax: "*";
|
|
4357
|
+
inherits: false;
|
|
4358
|
+
}
|
|
4325
4359
|
@property --ui-input-invalid-border {
|
|
4326
4360
|
syntax: "*";
|
|
4327
4361
|
inherits: false;
|
|
@@ -4346,10 +4380,10 @@ svg[data-v-c62d95c3-s] {
|
|
|
4346
4380
|
syntax: "*";
|
|
4347
4381
|
inherits: false;
|
|
4348
4382
|
}
|
|
4349
|
-
[data-component~="ui-input"][data-v-
|
|
4383
|
+
[data-component~="ui-input"][data-v-aa3c35f4] {
|
|
4350
4384
|
box-sizing: border-box;
|
|
4351
4385
|
display: inline-block;
|
|
4352
|
-
inline-size: 100
|
|
4386
|
+
inline-size: var(--ui-input-inline-size, 100%);
|
|
4353
4387
|
min-inline-size: 0;
|
|
4354
4388
|
min-block-size: var(
|
|
4355
4389
|
--ui-input-min-block-size,
|
|
@@ -4382,7 +4416,7 @@ svg[data-v-c62d95c3-s] {
|
|
|
4382
4416
|
}
|
|
4383
4417
|
|
|
4384
4418
|
/* Each size reads the hook and then an Input Group's default first, so a group, which draws the frame, can zero it. */
|
|
4385
|
-
[data-component~="ui-input"][data-ui-input-state~="size=sm"][data-v-
|
|
4419
|
+
[data-component~="ui-input"][data-ui-input-state~="size=sm"][data-v-aa3c35f4] {
|
|
4386
4420
|
min-block-size: var(
|
|
4387
4421
|
--ui-input-min-block-size,
|
|
4388
4422
|
var(--_ui-default-input-min-block-size, var(--ui-control-size-sm))
|
|
@@ -4390,7 +4424,7 @@ svg[data-v-c62d95c3-s] {
|
|
|
4390
4424
|
padding: var(--ui-space-1) var(--ui-space-2);
|
|
4391
4425
|
font-size: var(--ui-font-size-sm);
|
|
4392
4426
|
}
|
|
4393
|
-
[data-component~="ui-input"][data-ui-input-state~="size=lg"][data-v-
|
|
4427
|
+
[data-component~="ui-input"][data-ui-input-state~="size=lg"][data-v-aa3c35f4] {
|
|
4394
4428
|
min-block-size: var(
|
|
4395
4429
|
--ui-input-min-block-size,
|
|
4396
4430
|
var(--_ui-default-input-min-block-size, var(--ui-control-size-lg))
|
|
@@ -4402,7 +4436,7 @@ svg[data-v-c62d95c3-s] {
|
|
|
4402
4436
|
/* Under touch a small field is still a touch-sized target, as a small button is, and keeps
|
|
4403
4437
|
body-size text: below 16px, iOS zooms the page into the focused field. */
|
|
4404
4438
|
@media (pointer: coarse) {
|
|
4405
|
-
[data-component~="ui-input"][data-ui-input-state~="size=sm"][data-v-
|
|
4439
|
+
[data-component~="ui-input"][data-ui-input-state~="size=sm"][data-v-aa3c35f4] {
|
|
4406
4440
|
min-block-size: var(
|
|
4407
4441
|
--ui-input-min-block-size,
|
|
4408
4442
|
var(--_ui-default-input-min-block-size, var(--ui-control-min-block-size))
|
|
@@ -4412,21 +4446,21 @@ svg[data-v-c62d95c3-s] {
|
|
|
4412
4446
|
}
|
|
4413
4447
|
|
|
4414
4448
|
/* Tabbing into a field selects its text; tint that selection softly instead of the page highlight. */
|
|
4415
|
-
[data-component~="ui-input"][data-v-
|
|
4449
|
+
[data-component~="ui-input"][data-v-aa3c35f4]::selection {
|
|
4416
4450
|
background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
|
|
4417
4451
|
color: inherit;
|
|
4418
4452
|
}
|
|
4419
|
-
[data-component~="ui-input"][data-v-
|
|
4453
|
+
[data-component~="ui-input"][data-v-aa3c35f4]::placeholder {
|
|
4420
4454
|
color: var(--ui-control-placeholder, var(--ui-text-secondary));
|
|
4421
4455
|
opacity: 1;
|
|
4422
4456
|
}
|
|
4423
|
-
[data-component~="ui-input"][data-v-
|
|
4457
|
+
[data-component~="ui-input"][data-v-aa3c35f4]:hover:not(:focus):not(:disabled) {
|
|
4424
4458
|
border-color: var(
|
|
4425
4459
|
--ui-input-border-hover,
|
|
4426
4460
|
var(--_ui-default-input-border-hover, var(--ui-control-border-hover, var(--ui-text-secondary)))
|
|
4427
4461
|
);
|
|
4428
4462
|
}
|
|
4429
|
-
[data-component~="ui-input"][data-v-
|
|
4463
|
+
[data-component~="ui-input"][data-v-aa3c35f4]:focus-visible {
|
|
4430
4464
|
border-color: var(
|
|
4431
4465
|
--ui-input-focus-border,
|
|
4432
4466
|
var(--_ui-default-input-focus-border, var(--ui-control-focus, var(--ui-accent-solid)))
|
|
@@ -4443,14 +4477,14 @@ svg[data-v-c62d95c3-s] {
|
|
|
4443
4477
|
}
|
|
4444
4478
|
|
|
4445
4479
|
/* The app's invalid flag, or the browser's own verdict once the user has left an invalid field. */
|
|
4446
|
-
[data-component~="ui-input"][aria-invalid="true"][data-v-
|
|
4447
|
-
[data-component~="ui-input"][data-v-
|
|
4480
|
+
[data-component~="ui-input"][aria-invalid="true"][data-v-aa3c35f4],
|
|
4481
|
+
[data-component~="ui-input"][data-v-aa3c35f4]:is(:user-invalid, [data-user-invalid]) {
|
|
4448
4482
|
border-color: var(
|
|
4449
4483
|
--ui-input-invalid-border,
|
|
4450
4484
|
var(--_ui-default-input-invalid-border, var(--ui-field-danger, var(--ui-danger-solid)))
|
|
4451
4485
|
);
|
|
4452
4486
|
}
|
|
4453
|
-
[data-component~="ui-input"][data-v-
|
|
4487
|
+
[data-component~="ui-input"][data-v-aa3c35f4]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
|
|
4454
4488
|
box-shadow: var(
|
|
4455
4489
|
--ui-input-invalid-focus-shadow,
|
|
4456
4490
|
var(
|
|
@@ -4464,7 +4498,7 @@ svg[data-v-c62d95c3-s] {
|
|
|
4464
4498
|
)
|
|
4465
4499
|
);
|
|
4466
4500
|
}
|
|
4467
|
-
[data-component~="ui-input"][data-v-
|
|
4501
|
+
[data-component~="ui-input"][data-v-aa3c35f4]:disabled {
|
|
4468
4502
|
background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
4469
4503
|
color: var(--ui-disabled-text);
|
|
4470
4504
|
box-shadow: none;
|
|
@@ -4473,7 +4507,7 @@ svg[data-v-c62d95c3-s] {
|
|
|
4473
4507
|
|
|
4474
4508
|
/* Forced colors drop box shadows, so the focus ring becomes an outline. */
|
|
4475
4509
|
@media (forced-colors: active) {
|
|
4476
|
-
[data-component~="ui-input"][data-v-
|
|
4510
|
+
[data-component~="ui-input"][data-v-aa3c35f4]:focus-visible {
|
|
4477
4511
|
outline: var(
|
|
4478
4512
|
--ui-input-focus-outline,
|
|
4479
4513
|
var(--_ui-default-input-focus-outline, 2px solid Highlight)
|
|
@@ -4486,7 +4520,7 @@ svg[data-v-c62d95c3-s] {
|
|
|
4486
4520
|
* scroll vertically inside the field. Native inputs already center their single line. */
|
|
4487
4521
|
|
|
4488
4522
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
4489
|
-
[data-component~="ui-input"][hidden][data-v-
|
|
4523
|
+
[data-component~="ui-input"][hidden][data-v-aa3c35f4] {
|
|
4490
4524
|
display: none;
|
|
4491
4525
|
}
|
|
4492
4526
|
|
|
@@ -5266,12 +5300,16 @@ svg[data-v-c62d95c3-s] {
|
|
|
5266
5300
|
syntax: "*";
|
|
5267
5301
|
inherits: false;
|
|
5268
5302
|
}
|
|
5303
|
+
@property --ui-nav-item-inline-size {
|
|
5304
|
+
syntax: "*";
|
|
5305
|
+
inherits: false;
|
|
5306
|
+
}
|
|
5269
5307
|
|
|
5270
5308
|
/* One destination in a side or rail navigation: an icon to find it by (leading), its name (the
|
|
5271
5309
|
default slot), and an optional line under it (description), such as the record a section
|
|
5272
5310
|
belongs to. Label and description are one line each and end in an ellipsis, so every item in a
|
|
5273
5311
|
navigation has the same height and the rail never grows sideways. */
|
|
5274
|
-
[data-component~="ui-nav-item"][data-v-
|
|
5312
|
+
[data-component~="ui-nav-item"][data-v-7f1c22fc] {
|
|
5275
5313
|
--_indicator-width: var(--ui-nav-item-indicator-width, 3px);
|
|
5276
5314
|
--_indicator-color: var(--ui-nav-item-indicator-color, var(--ui-accent));
|
|
5277
5315
|
position: relative;
|
|
@@ -5279,7 +5317,7 @@ svg[data-v-c62d95c3-s] {
|
|
|
5279
5317
|
display: flex;
|
|
5280
5318
|
align-items: center;
|
|
5281
5319
|
gap: var(--ui-space-3);
|
|
5282
|
-
inline-size: 100
|
|
5320
|
+
inline-size: var(--ui-nav-item-inline-size, 100%);
|
|
5283
5321
|
min-inline-size: 0;
|
|
5284
5322
|
min-block-size: var(--ui-control-size, 2.5rem);
|
|
5285
5323
|
margin: 0;
|
|
@@ -5299,18 +5337,18 @@ svg[data-v-c62d95c3-s] {
|
|
|
5299
5337
|
background-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
5300
5338
|
color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
5301
5339
|
}
|
|
5302
|
-
[data-component~="ui-nav-item"][data-v-
|
|
5340
|
+
[data-component~="ui-nav-item"][data-v-7f1c22fc]:hover:not([aria-current]) {
|
|
5303
5341
|
background: var(--ui-surface-hover);
|
|
5304
5342
|
color: var(--ui-text-primary);
|
|
5305
5343
|
}
|
|
5306
5344
|
|
|
5307
5345
|
/* The ring is an outline, drawn inside the item: forced colors keep an outline where they drop a
|
|
5308
5346
|
box shadow, and a scrolling rail cannot clip a ring that stays within the item. */
|
|
5309
|
-
[data-component~="ui-nav-item"][data-v-
|
|
5347
|
+
[data-component~="ui-nav-item"][data-v-7f1c22fc]:focus-visible {
|
|
5310
5348
|
outline: 2px solid var(--ui-focus-ring);
|
|
5311
5349
|
outline-offset: -2px;
|
|
5312
5350
|
}
|
|
5313
|
-
[data-component~="ui-nav-item"][aria-current][data-v-
|
|
5351
|
+
[data-component~="ui-nav-item"][aria-current][data-v-7f1c22fc] {
|
|
5314
5352
|
background: var(--ui-nav-item-current-surface, var(--ui-accent-soft));
|
|
5315
5353
|
color: var(--ui-accent-subtle-text, var(--ui-text-primary));
|
|
5316
5354
|
font-weight: var(--ui-font-semibold);
|
|
@@ -5319,7 +5357,7 @@ svg[data-v-c62d95c3-s] {
|
|
|
5319
5357
|
/* The bar on the start edge is a border, not a fill: forced colors replace backgrounds but keep a
|
|
5320
5358
|
border, so the current item stays marked in high contrast. Logical edges mirror it in a
|
|
5321
5359
|
right-to-left page. */
|
|
5322
|
-
.indicator[data-v-
|
|
5360
|
+
.indicator[data-v-7f1c22fc] {
|
|
5323
5361
|
position: absolute;
|
|
5324
5362
|
inset-block: var(--ui-space-2);
|
|
5325
5363
|
inset-inline-start: 0;
|
|
@@ -5327,41 +5365,41 @@ svg[data-v-c62d95c3-s] {
|
|
|
5327
5365
|
border-inline-start: var(--_indicator-width) solid var(--_indicator-color);
|
|
5328
5366
|
border-radius: var(--ui-radius-round);
|
|
5329
5367
|
}
|
|
5330
|
-
[data-component~="ui-nav-item"][aria-current] .indicator[data-v-
|
|
5368
|
+
[data-component~="ui-nav-item"][aria-current] .indicator[data-v-7f1c22fc] {
|
|
5331
5369
|
display: block;
|
|
5332
5370
|
}
|
|
5333
5371
|
@media (forced-colors: active) {
|
|
5334
|
-
.indicator[data-v-
|
|
5372
|
+
.indicator[data-v-7f1c22fc] {
|
|
5335
5373
|
border-inline-start-color: Highlight;
|
|
5336
5374
|
}
|
|
5337
5375
|
}
|
|
5338
|
-
.leading[data-v-
|
|
5376
|
+
.leading[data-v-7f1c22fc] {
|
|
5339
5377
|
display: inline-flex;
|
|
5340
5378
|
flex: none;
|
|
5341
5379
|
align-items: center;
|
|
5342
5380
|
color: inherit;
|
|
5343
5381
|
font-size: var(--ui-font-size-lg);
|
|
5344
5382
|
}
|
|
5345
|
-
.content[data-v-
|
|
5383
|
+
.content[data-v-7f1c22fc] {
|
|
5346
5384
|
display: flex;
|
|
5347
5385
|
flex: 1;
|
|
5348
5386
|
flex-direction: column;
|
|
5349
5387
|
gap: var(--ui-space-0-5, 2px);
|
|
5350
5388
|
min-inline-size: 0;
|
|
5351
5389
|
}
|
|
5352
|
-
.label[data-v-
|
|
5353
|
-
.description[data-v-
|
|
5390
|
+
.label[data-v-7f1c22fc],
|
|
5391
|
+
.description[data-v-7f1c22fc] {
|
|
5354
5392
|
display: block;
|
|
5355
5393
|
min-inline-size: 0;
|
|
5356
5394
|
overflow: hidden;
|
|
5357
5395
|
text-overflow: ellipsis;
|
|
5358
5396
|
white-space: nowrap;
|
|
5359
5397
|
}
|
|
5360
|
-
.label[data-v-
|
|
5398
|
+
.label[data-v-7f1c22fc] {
|
|
5361
5399
|
font-size: var(--ui-font-size-md);
|
|
5362
5400
|
line-height: var(--ui-line-height-tight);
|
|
5363
5401
|
}
|
|
5364
|
-
.description[data-v-
|
|
5402
|
+
.description[data-v-7f1c22fc] {
|
|
5365
5403
|
color: var(--ui-text-muted);
|
|
5366
5404
|
font-size: var(--ui-font-size-sm);
|
|
5367
5405
|
font-weight: var(--ui-font-normal);
|
|
@@ -5369,13 +5407,13 @@ svg[data-v-c62d95c3-s] {
|
|
|
5369
5407
|
}
|
|
5370
5408
|
|
|
5371
5409
|
/* An unused region takes no space. */
|
|
5372
|
-
.leading[data-v-
|
|
5373
|
-
.description[data-v-
|
|
5410
|
+
.leading[data-v-7f1c22fc]:empty,
|
|
5411
|
+
.description[data-v-7f1c22fc]:empty {
|
|
5374
5412
|
display: none;
|
|
5375
5413
|
}
|
|
5376
5414
|
|
|
5377
5415
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
5378
|
-
[data-component~="ui-nav-item"][hidden][data-v-
|
|
5416
|
+
[data-component~="ui-nav-item"][hidden][data-v-7f1c22fc] {
|
|
5379
5417
|
display: none;
|
|
5380
5418
|
}
|
|
5381
5419
|
|
|
@@ -6201,10 +6239,26 @@ dialog[data-v-20a7b8e3] {
|
|
|
6201
6239
|
}
|
|
6202
6240
|
|
|
6203
6241
|
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
6242
|
+
@property --ui-select-border {
|
|
6243
|
+
syntax: "*";
|
|
6244
|
+
inherits: false;
|
|
6245
|
+
}
|
|
6246
|
+
@property --ui-select-border-hover {
|
|
6247
|
+
syntax: "*";
|
|
6248
|
+
inherits: false;
|
|
6249
|
+
}
|
|
6250
|
+
@property --ui-select-focus-border {
|
|
6251
|
+
syntax: "*";
|
|
6252
|
+
inherits: false;
|
|
6253
|
+
}
|
|
6204
6254
|
@property --ui-select-focus-shadow {
|
|
6205
6255
|
syntax: "*";
|
|
6206
6256
|
inherits: false;
|
|
6207
6257
|
}
|
|
6258
|
+
@property --ui-select-inline-size {
|
|
6259
|
+
syntax: "*";
|
|
6260
|
+
inherits: false;
|
|
6261
|
+
}
|
|
6208
6262
|
@property --ui-select-invalid-border {
|
|
6209
6263
|
syntax: "*";
|
|
6210
6264
|
inherits: false;
|
|
@@ -6221,17 +6275,21 @@ dialog[data-v-20a7b8e3] {
|
|
|
6221
6275
|
syntax: "*";
|
|
6222
6276
|
inherits: false;
|
|
6223
6277
|
}
|
|
6224
|
-
|
|
6278
|
+
@property --ui-select-surface {
|
|
6279
|
+
syntax: "*";
|
|
6280
|
+
inherits: false;
|
|
6281
|
+
}
|
|
6282
|
+
[data-component~="ui-select"][data-v-3f68a24f] {
|
|
6225
6283
|
box-sizing: border-box;
|
|
6226
6284
|
display: inline-block;
|
|
6227
|
-
inline-size: 100
|
|
6285
|
+
inline-size: var(--ui-select-inline-size, 100%);
|
|
6228
6286
|
min-inline-size: 0;
|
|
6229
6287
|
min-block-size: var(--ui-control-size-md);
|
|
6230
6288
|
margin: 0;
|
|
6231
6289
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
6232
|
-
border: 1px solid var(--ui-control-border, var(--ui-border-strong));
|
|
6290
|
+
border: 1px solid var(--ui-select-border, var(--ui-control-border, var(--ui-border-strong)));
|
|
6233
6291
|
border-radius: var(--ui-select-radius, var(--ui-field-radius, var(--ui-radius-md)));
|
|
6234
|
-
background-color: var(--ui-control-surface, var(--ui-surface-elevated));
|
|
6292
|
+
background-color: var(--ui-select-surface, var(--ui-control-surface, var(--ui-surface-elevated)));
|
|
6235
6293
|
color: var(--ui-text-primary);
|
|
6236
6294
|
color-scheme: light dark;
|
|
6237
6295
|
font: inherit;
|
|
@@ -6245,7 +6303,7 @@ dialog[data-v-20a7b8e3] {
|
|
|
6245
6303
|
|
|
6246
6304
|
/* The select draws its own chevron: the native caret cannot be inset or sized consistently.
|
|
6247
6305
|
* The root stays a native <s-lect>, so the icon is a background image rather than an element. */
|
|
6248
|
-
[data-component~="ui-select"][data-v-
|
|
6306
|
+
[data-component~="ui-select"][data-v-3f68a24f] {
|
|
6249
6307
|
appearance: none;
|
|
6250
6308
|
padding-inline-end: calc(var(--ui-space-3) + 1.5rem);
|
|
6251
6309
|
background-image: var(
|
|
@@ -6256,11 +6314,14 @@ dialog[data-v-20a7b8e3] {
|
|
|
6256
6314
|
background-position: right var(--ui-space-3) center;
|
|
6257
6315
|
background-size: 1.125rem 1.125rem;
|
|
6258
6316
|
}
|
|
6259
|
-
[data-component~="ui-select"][data-v-
|
|
6260
|
-
border-color: var(
|
|
6317
|
+
[data-component~="ui-select"][data-v-3f68a24f]:hover:not(:focus):not(:disabled) {
|
|
6318
|
+
border-color: var(
|
|
6319
|
+
--ui-select-border-hover,
|
|
6320
|
+
var(--ui-control-border-hover, var(--ui-text-secondary))
|
|
6321
|
+
);
|
|
6261
6322
|
}
|
|
6262
|
-
[data-component~="ui-select"][data-v-
|
|
6263
|
-
border-color: var(--ui-control-focus, var(--ui-accent-solid));
|
|
6323
|
+
[data-component~="ui-select"][data-v-3f68a24f]:focus-visible {
|
|
6324
|
+
border-color: var(--ui-select-focus-border, var(--ui-control-focus, var(--ui-accent-solid)));
|
|
6264
6325
|
outline: none;
|
|
6265
6326
|
box-shadow: var(
|
|
6266
6327
|
--ui-select-focus-shadow,
|
|
@@ -6270,11 +6331,11 @@ dialog[data-v-20a7b8e3] {
|
|
|
6270
6331
|
}
|
|
6271
6332
|
|
|
6272
6333
|
/* The app's invalid flag, or the browser's own verdict once the user has left an invalid field. */
|
|
6273
|
-
[data-component~="ui-select"][aria-invalid="true"][data-v-
|
|
6274
|
-
[data-component~="ui-select"][data-v-
|
|
6334
|
+
[data-component~="ui-select"][aria-invalid="true"][data-v-3f68a24f],
|
|
6335
|
+
[data-component~="ui-select"][data-v-3f68a24f]:is(:user-invalid, [data-user-invalid]) {
|
|
6275
6336
|
border-color: var(--ui-select-invalid-border, var(--ui-field-danger, var(--ui-danger-solid)));
|
|
6276
6337
|
}
|
|
6277
|
-
[data-component~="ui-select"][data-v-
|
|
6338
|
+
[data-component~="ui-select"][data-v-3f68a24f]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
|
|
6278
6339
|
box-shadow: var(
|
|
6279
6340
|
--ui-select-invalid-focus-shadow,
|
|
6280
6341
|
var(--ui-control-inset),
|
|
@@ -6285,13 +6346,13 @@ dialog[data-v-20a7b8e3] {
|
|
|
6285
6346
|
)
|
|
6286
6347
|
);
|
|
6287
6348
|
}
|
|
6288
|
-
[data-component~="ui-select"][data-v-
|
|
6349
|
+
[data-component~="ui-select"][data-v-3f68a24f]:disabled {
|
|
6289
6350
|
background-color: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
6290
6351
|
color: var(--ui-disabled-text);
|
|
6291
6352
|
box-shadow: none;
|
|
6292
6353
|
cursor: not-allowed;
|
|
6293
6354
|
}
|
|
6294
|
-
[data-component~="ui-select"][data-ui-select-state~="size=sm"][data-v-
|
|
6355
|
+
[data-component~="ui-select"][data-ui-select-state~="size=sm"][data-v-3f68a24f] {
|
|
6295
6356
|
min-block-size: var(--ui-control-size-sm);
|
|
6296
6357
|
padding: var(--ui-space-1) var(--ui-space-2);
|
|
6297
6358
|
padding-inline-end: calc(var(--ui-space-2) + var(--ui-icon-size-sm) + var(--ui-space-1));
|
|
@@ -6299,7 +6360,7 @@ dialog[data-v-20a7b8e3] {
|
|
|
6299
6360
|
background-size: var(--ui-icon-size-sm) var(--ui-icon-size-sm);
|
|
6300
6361
|
font-size: var(--ui-font-size-sm);
|
|
6301
6362
|
}
|
|
6302
|
-
[data-component~="ui-select"][data-ui-select-state~="size=lg"][data-v-
|
|
6363
|
+
[data-component~="ui-select"][data-ui-select-state~="size=lg"][data-v-3f68a24f] {
|
|
6303
6364
|
min-block-size: var(--ui-control-size-lg);
|
|
6304
6365
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
6305
6366
|
padding-inline-end: calc(var(--ui-space-4) + 1.5rem);
|
|
@@ -6310,14 +6371,14 @@ dialog[data-v-20a7b8e3] {
|
|
|
6310
6371
|
/* Under touch a small field is still a touch-sized target, as a small button is, and keeps
|
|
6311
6372
|
body-size text: below 16px, iOS zooms the page into the focused field. */
|
|
6312
6373
|
@media (pointer: coarse) {
|
|
6313
|
-
[data-component~="ui-select"][data-ui-select-state~="size=sm"][data-v-
|
|
6374
|
+
[data-component~="ui-select"][data-ui-select-state~="size=sm"][data-v-3f68a24f] {
|
|
6314
6375
|
min-block-size: var(--ui-control-min-block-size);
|
|
6315
6376
|
font-size: inherit;
|
|
6316
6377
|
}
|
|
6317
6378
|
}
|
|
6318
6379
|
|
|
6319
6380
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
6320
|
-
[data-component~="ui-select"][hidden][data-v-
|
|
6381
|
+
[data-component~="ui-select"][hidden][data-v-3f68a24f] {
|
|
6321
6382
|
display: none;
|
|
6322
6383
|
}
|
|
6323
6384
|
|
|
@@ -7090,90 +7151,98 @@ tbody tr[data-v-9980d203-s]:last-child > * {
|
|
|
7090
7151
|
}
|
|
7091
7152
|
|
|
7092
7153
|
/* Running text, set on the type scale and in a tone that says what it is, so a view never styles
|
|
7093
|
-
text of its own. The root is a paragraph unless as= names a span, div, small, strong,
|
|
7094
|
-
|
|
7154
|
+
text of its own. The root is a paragraph unless as= names a span, div, small, strong, label, or
|
|
7155
|
+
heading. */
|
|
7156
|
+
[data-component~="ui-text"][data-v-80b3e712] {
|
|
7095
7157
|
margin: 0;
|
|
7096
7158
|
min-inline-size: 0;
|
|
7097
7159
|
color: var(--ui-text-primary);
|
|
7098
7160
|
text-align: start;
|
|
7099
7161
|
}
|
|
7100
|
-
|
|
7162
|
+
|
|
7163
|
+
/* A heading drops the browser's heading size and weight, so size and weight set it as they set
|
|
7164
|
+
any text, and inherit keeps the text around it. */
|
|
7165
|
+
[data-component~="ui-text"][data-v-80b3e712]:is(h2, h3, h4, h5, h6) {
|
|
7166
|
+
font-size: inherit;
|
|
7167
|
+
font-weight: inherit;
|
|
7168
|
+
}
|
|
7169
|
+
[data-component~="ui-text"][data-ui-text-state~="size=xs"][data-v-80b3e712] {
|
|
7101
7170
|
font-size: var(--ui-font-size-xs);
|
|
7102
7171
|
line-height: var(--ui-line-height);
|
|
7103
7172
|
}
|
|
7104
|
-
[data-component~="ui-text"][data-ui-text-state~="size=sm"][data-v-
|
|
7173
|
+
[data-component~="ui-text"][data-ui-text-state~="size=sm"][data-v-80b3e712] {
|
|
7105
7174
|
font-size: var(--ui-font-size-sm);
|
|
7106
7175
|
line-height: var(--ui-line-height);
|
|
7107
7176
|
}
|
|
7108
|
-
[data-component~="ui-text"][data-ui-text-state~="size=md"][data-v-
|
|
7177
|
+
[data-component~="ui-text"][data-ui-text-state~="size=md"][data-v-80b3e712] {
|
|
7109
7178
|
font-size: var(--ui-font-size-md);
|
|
7110
7179
|
line-height: var(--ui-line-height);
|
|
7111
7180
|
}
|
|
7112
|
-
[data-component~="ui-text"][data-ui-text-state~="size=lg"][data-v-
|
|
7181
|
+
[data-component~="ui-text"][data-ui-text-state~="size=lg"][data-v-80b3e712] {
|
|
7113
7182
|
font-size: var(--ui-font-size-lg);
|
|
7114
7183
|
line-height: var(--ui-line-height-relaxed);
|
|
7115
7184
|
}
|
|
7116
|
-
[data-component~="ui-text"][data-ui-text-state~="tone=secondary"][data-v-
|
|
7185
|
+
[data-component~="ui-text"][data-ui-text-state~="tone=secondary"][data-v-80b3e712] {
|
|
7117
7186
|
color: var(--ui-text-secondary);
|
|
7118
7187
|
}
|
|
7119
|
-
[data-component~="ui-text"][data-ui-text-state~="tone=muted"][data-v-
|
|
7188
|
+
[data-component~="ui-text"][data-ui-text-state~="tone=muted"][data-v-80b3e712] {
|
|
7120
7189
|
color: var(--ui-text-muted);
|
|
7121
7190
|
}
|
|
7122
|
-
[data-component~="ui-text"][data-ui-text-state~="tone=accent"][data-v-
|
|
7191
|
+
[data-component~="ui-text"][data-ui-text-state~="tone=accent"][data-v-80b3e712] {
|
|
7123
7192
|
color: var(--ui-accent-active);
|
|
7124
7193
|
}
|
|
7125
7194
|
/* Every status tone uses the text-safe token a subtle badge sets its words in, so text and badges
|
|
7126
7195
|
in one tone match, and each holds 4.5:1 on sunken surfaces where some base colours fall short. */
|
|
7127
|
-
[data-component~="ui-text"][data-ui-text-state~="tone=danger"][data-v-
|
|
7196
|
+
[data-component~="ui-text"][data-ui-text-state~="tone=danger"][data-v-80b3e712] {
|
|
7128
7197
|
color: var(--ui-danger-subtle-text);
|
|
7129
7198
|
}
|
|
7130
|
-
[data-component~="ui-text"][data-ui-text-state~="tone=success"][data-v-
|
|
7199
|
+
[data-component~="ui-text"][data-ui-text-state~="tone=success"][data-v-80b3e712] {
|
|
7131
7200
|
color: var(--ui-success-subtle-text);
|
|
7132
7201
|
}
|
|
7133
|
-
[data-component~="ui-text"][data-ui-text-state~="tone=info"][data-v-
|
|
7202
|
+
[data-component~="ui-text"][data-ui-text-state~="tone=info"][data-v-80b3e712] {
|
|
7134
7203
|
color: var(--ui-info-subtle-text);
|
|
7135
7204
|
}
|
|
7136
|
-
[data-component~="ui-text"][data-ui-text-state~="tone=warning"][data-v-
|
|
7205
|
+
[data-component~="ui-text"][data-ui-text-state~="tone=warning"][data-v-80b3e712] {
|
|
7137
7206
|
color: var(--ui-warning-subtle-text);
|
|
7138
7207
|
}
|
|
7139
|
-
[data-component~="ui-text"][data-ui-text-state~="weight=normal"][data-v-
|
|
7208
|
+
[data-component~="ui-text"][data-ui-text-state~="weight=normal"][data-v-80b3e712] {
|
|
7140
7209
|
font-weight: var(--ui-font-normal);
|
|
7141
7210
|
}
|
|
7142
|
-
[data-component~="ui-text"][data-ui-text-state~="weight=medium"][data-v-
|
|
7211
|
+
[data-component~="ui-text"][data-ui-text-state~="weight=medium"][data-v-80b3e712] {
|
|
7143
7212
|
font-weight: var(--ui-font-medium);
|
|
7144
7213
|
}
|
|
7145
|
-
[data-component~="ui-text"][data-ui-text-state~="weight=semibold"][data-v-
|
|
7214
|
+
[data-component~="ui-text"][data-ui-text-state~="weight=semibold"][data-v-80b3e712] {
|
|
7146
7215
|
font-weight: var(--ui-font-semibold);
|
|
7147
7216
|
}
|
|
7148
|
-
[data-component~="ui-text"][data-ui-text-state~="variant=eyebrow"][data-v-
|
|
7217
|
+
[data-component~="ui-text"][data-ui-text-state~="variant=eyebrow"][data-v-80b3e712] {
|
|
7149
7218
|
font-size: var(--ui-font-size-xs);
|
|
7150
7219
|
font-weight: var(--ui-font-semibold);
|
|
7151
7220
|
letter-spacing: 0.06em;
|
|
7152
7221
|
text-transform: uppercase;
|
|
7153
7222
|
}
|
|
7154
|
-
[data-component~="ui-text"][data-ui-text-state~="variant=code"][data-v-
|
|
7223
|
+
[data-component~="ui-text"][data-ui-text-state~="variant=code"][data-v-80b3e712] {
|
|
7155
7224
|
font-family: var(--ui-font-family-mono);
|
|
7156
7225
|
}
|
|
7157
7226
|
|
|
7158
7227
|
/* A link in running text is underlined, so it stands apart from the words around it by more than
|
|
7159
7228
|
colour. */
|
|
7160
|
-
[data-component~="ui-text"] a[data-v-
|
|
7229
|
+
[data-component~="ui-text"] a[data-v-80b3e712-s] {
|
|
7161
7230
|
color: var(--ui-accent-active);
|
|
7162
7231
|
text-decoration: underline;
|
|
7163
7232
|
text-decoration-thickness: 0.06em;
|
|
7164
7233
|
text-underline-offset: 0.18em;
|
|
7165
7234
|
}
|
|
7166
|
-
[data-component~="ui-text"][data-ui-text-state~="truncate"][data-v-
|
|
7235
|
+
[data-component~="ui-text"][data-ui-text-state~="truncate"][data-v-80b3e712] {
|
|
7167
7236
|
overflow: hidden;
|
|
7168
7237
|
text-overflow: ellipsis;
|
|
7169
7238
|
white-space: nowrap;
|
|
7170
7239
|
}
|
|
7171
|
-
[data-component~="ui-text"][data-ui-text-state~="align=center"][data-v-
|
|
7240
|
+
[data-component~="ui-text"][data-ui-text-state~="align=center"][data-v-80b3e712] {
|
|
7172
7241
|
text-align: center;
|
|
7173
7242
|
}
|
|
7174
7243
|
|
|
7175
7244
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
7176
|
-
[data-component~="ui-text"][hidden][data-v-
|
|
7245
|
+
[data-component~="ui-text"][hidden][data-v-80b3e712] {
|
|
7177
7246
|
display: none;
|
|
7178
7247
|
}
|
|
7179
7248
|
|