@planningcenter/tapestry 3.0.1 → 3.0.2-qa-693.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/components/select/Select.d.ts +66 -0
  2. package/dist/components/select/Select.d.ts.map +1 -0
  3. package/dist/components/select/Select.js +58 -0
  4. package/dist/components/select/Select.js.map +1 -0
  5. package/dist/components/select/SelectNative.d.ts +3 -1
  6. package/dist/components/select/SelectNative.d.ts.map +1 -1
  7. package/dist/components/select/SelectNative.js +34 -0
  8. package/dist/components/select/SelectNative.js.map +1 -0
  9. package/dist/components/select/SelectOptions.d.ts +1 -1
  10. package/dist/components/select/SelectOptions.d.ts.map +1 -1
  11. package/dist/components/select/SelectOptions.js +35 -0
  12. package/dist/components/select/SelectOptions.js.map +1 -0
  13. package/dist/components/select/SelectPopover.d.ts +11 -55
  14. package/dist/components/select/SelectPopover.d.ts.map +1 -1
  15. package/dist/components/select/SelectPopover.js +237 -0
  16. package/dist/components/select/SelectPopover.js.map +1 -0
  17. package/dist/components/select/index.d.ts +2 -1
  18. package/dist/components/select/index.d.ts.map +1 -1
  19. package/dist/index.css +3 -2
  20. package/dist/index.css.map +1 -1
  21. package/dist/reactRender.css +1318 -808
  22. package/dist/reactRender.css.map +1 -1
  23. package/dist/reactRenderLegacy.css +1318 -808
  24. package/dist/reactRenderLegacy.css.map +1 -1
  25. package/dist/unstable.css +512 -2
  26. package/dist/unstable.css.map +1 -1
  27. package/dist/unstable.js +1 -0
  28. package/dist/unstable.js.map +1 -1
  29. package/dist/utilities/keyboardUtils.d.ts +27 -0
  30. package/dist/utilities/keyboardUtils.d.ts.map +1 -0
  31. package/dist/utilities/keyboardUtils.js +101 -0
  32. package/dist/utilities/keyboardUtils.js.map +1 -0
  33. package/dist/utilities/selectUtils.d.ts +3 -1
  34. package/dist/utilities/selectUtils.d.ts.map +1 -1
  35. package/dist/utilities/selectUtils.js +103 -0
  36. package/dist/utilities/selectUtils.js.map +1 -0
  37. package/package.json +5 -5
package/dist/unstable.css CHANGED
@@ -2422,9 +2422,10 @@ a[class="tds-btn"]{
2422
2422
  --tds-toggle-switch-description-color:var(--t-text-color-secondary);
2423
2423
 
2424
2424
  display:var(--tds-toggle-switch-display);
2425
- grid-template-columns:auto;
2426
- grid-auto-columns:1fr;
2427
2425
  gap:var(--t-spacing-fourth) var(--tds-toggle-switch-column-gap);
2426
+ grid-auto-columns:1fr;
2427
+ grid-template-columns:auto;
2428
+ position:relative;
2428
2429
  -webkit-user-select:none;
2429
2430
  -moz-user-select:none;
2430
2431
  user-select:none;
@@ -2770,6 +2771,515 @@ a[class="tds-btn"]{
2770
2771
  line-height:1.35;
2771
2772
  }
2772
2773
 
2774
+ .tds-select{
2775
+ --tds-select-border-color:var(--t-form-border-color);
2776
+ --tds-select-border-color-hover:var(--t-form-border-color-hover);
2777
+ --tds-select-border-color-active:var(--t-form-border-color-hover);
2778
+ --tds-select-background-color:var(--t-form-background-color);
2779
+ --tds-select-color:var(--t-form-color);
2780
+ --tds-select-placeholder-color:var(--t-form-placeholder-color);
2781
+ --tds-select-font-size:var(--t-font-size-md);
2782
+ --tds-select-height:32px;
2783
+ --tds-select-description-color:var(--t-text-color-secondary);
2784
+ --tds-select-description-invalid-icon-display:none;
2785
+ --tds-select-transition-property:background-color, border-color, outline-color, outline-offset;
2786
+ --tds-select-background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzQzYTQwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0ibTIgNSA2IDYgNi02Ii8+PC9zdmc+");
2787
+ --tds-select-caret-size:.75em;
2788
+ --tds-select-caret-inline-offset:.75em;
2789
+
2790
+ --tds-select-dropdown-background-color:var(--t-surface-color-card);
2791
+ --tds-select-dropdown-border:1px solid var(--t-border-color);
2792
+ --tds-select-dropdown-padding:var(--t-spacing-1);
2793
+ --tds-select-dropdown-margin-block:5px;
2794
+ --tds-select-dropdown-scrollbar-color:#0004 #0000;
2795
+ --tds-select-dropdown-scrollbar-width:thin;
2796
+ --tds-select-dropdown-border-radius:var(--t-border-radius);
2797
+ --tds-select-dropdown-box-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
2798
+ --tds-select-dropdown-scroll-behavior:smooth;
2799
+ --tds-select-dropdown-transition:opacity .2s ease, transform .2s ease-out, display .2s allow-discrete, overlay .2s allow-discrete;
2800
+ --tds-select-dropdown-closed-opacity:0;
2801
+ --tds-select-dropdown-open-opacity:1;
2802
+ --tds-select-dropdown-closed-transform:scale(.95);
2803
+ --tds-select-dropdown-open-transform:scale(1);
2804
+
2805
+ --tds-select-option-gap:var(--t-spacing-1);
2806
+ --tds-select-option-padding-block:var(--t-spacing-1);
2807
+ --tds-select-option-padding-inline:var(--t-spacing-2) var(--t-spacing-1);
2808
+ --tds-select-option-font-size:1rem;
2809
+ --tds-select-option-color:var(--t-text-color);
2810
+ --tds-select-option-background-hover:var(--t-fill-color-neutral-070);
2811
+ --tds-select-option-background-active:var(--t-fill-color-button-interaction-ghost-active);
2812
+ --tds-select-option-outline-offset:-1px;
2813
+ --tds-select-option-border-radius:var(--t-border-radius);
2814
+
2815
+ --tds-select-group-label-padding-block-start:12px;
2816
+ --tds-select-group-label-padding-block:var(--tds-select-group-label-padding-block-start) 6px;
2817
+ --tds-select-group-label-padding-inline:10px;
2818
+ --tds-select-group-label-font-size:11px;
2819
+ --tds-select-group-label-font-weight:700;
2820
+ --tds-select-group-label-letter-spacing:.15em;
2821
+ --tds-select-group-label-text-color:var(--t-text-color-secondary);
2822
+ --tds-select-group-label-text-color-stuck:var(--t-text-color-headline);
2823
+ --tds-select-group-label-background:var(--tds-select-dropdown-background-color);
2824
+ --tds-select-group-label-transition:color .3s ease;
2825
+
2826
+ position:relative;
2827
+ display:flex;
2828
+ flex-direction:column;
2829
+ gap:var(--t-spacing-half);
2830
+ }
2831
+
2832
+ .tds-select :is(label,.tds-select-label){
2833
+ font-size:var(--t-font-size-md);
2834
+ font-weight:var(--t-font-weight-normal);
2835
+ color:var(--t-text-color);
2836
+ }
2837
+
2838
+ .tds-select :is(select,button){
2839
+ position:relative;
2840
+ place-items:center;
2841
+ inline-size:100%;
2842
+ block-size:var(--tds-select-height);
2843
+ padding-inline:var(--t-spacing-1);
2844
+ padding-inline-end:calc(var(--t-spacing-1) + var(--tds-select-caret-size) + .5em);
2845
+ font-family:inherit;
2846
+ font-size:var(--tds-select-font-size);
2847
+ color:var(--tds-select-color);
2848
+ text-align:left;
2849
+ -webkit-appearance:none;
2850
+ -moz-appearance:none;
2851
+ appearance:none;
2852
+ cursor:var(--tds-select-cursor, default);
2853
+ outline:var(--t-focus-ring-width) solid transparent;
2854
+ outline-offset:0;
2855
+ background-color:var(--tds-select-background-color);
2856
+ background-image:var(--tds-select-background-image);
2857
+ background-repeat:no-repeat;
2858
+ background-position:right var(--tds-select-caret-inline-offset) top 50%;
2859
+ background-size:var(--tds-select-caret-size);
2860
+ border:var(--t-form-border-width) solid var(--tds-select-border-color);
2861
+ border-radius:var(--t-form-border-radius);
2862
+ transition-timing-function:ease-in-out;
2863
+ transition-duration:180ms;
2864
+ transition-property:var(--tds-select-transition-property);
2865
+ }
2866
+
2867
+ :is(.tds-select :is(select,button)):hover:not(:disabled,:focus,:focus-visible,:focus-within,:active,:open){
2868
+ border-color:var(--tds-select-border-color-hover);
2869
+ }
2870
+
2871
+ :is(.tds-select :is(select,button)):focus{
2872
+ outline-color:var(--t-focus-ring-color);
2873
+ outline-offset:var(--t-focus-ring-offset);
2874
+ border-color:var(--tds-select-border-color-active);
2875
+ }
2876
+
2877
+ :is(.tds-select :is(select,button)):required:invalid,:is(.tds-select :is(select,button)):has(option[hidden][disabled][value=""]:checked){
2878
+ color:var(--tds-select-placeholder-color);
2879
+ }
2880
+
2881
+ @media (prefers-reduced-motion: reduce){
2882
+
2883
+ .tds-select :is(select,button){
2884
+ --tds-select-transition-property:none;
2885
+ }
2886
+ }
2887
+
2888
+ .tds-select:has(select:user-invalid,[aria-invalid="true"]),.tds-select.tds-select--invalid{
2889
+ --tds-select-border-color:var(--t-form-border-color-error);
2890
+ --tds-select-border-color-hover:var(--t-form-border-color-error-hover);
2891
+ --tds-select-border-color-active:var(--t-form-border-color-error-hover);
2892
+ --tds-select-background-color:var(--t-form-background-color-error);
2893
+ --tds-select-description-color:var(--t-text-color-status-error);
2894
+ --tds-select-description-invalid-icon-display:inline-block;
2895
+ }
2896
+
2897
+ .tds-select:has(select:required,[aria-required="true"]) :is(label,.tds-select-label)::after{
2898
+ margin-inline-start:.25ch;
2899
+ color:var(--t-text-color-status-error);
2900
+ content:"*";
2901
+ }
2902
+
2903
+ .tds-select:has(:is(select,button[role="combobox"]):is(:disabled,[aria-disabled="true"])){
2904
+ --tds-select-border-color:var(--t-form-border-color-disabled);
2905
+ --tds-select-background-color:var(--t-form-background-color-disabled);
2906
+ --tds-select-color:var(--t-form-color-disabled);
2907
+ --tds-select-description-color:var(--t-text-color-disabled);
2908
+ --tds-select-cursor:not-allowed;
2909
+ }
2910
+
2911
+ .tds-select:has( > [popover]:popover-open) > button{
2912
+ border-color:var(--tds-select-border-color-active);
2913
+ }
2914
+
2915
+ :is(.tds-select:has( > [popover]:popover-open) > button)::after{
2916
+ transform:translateY(-50%) rotate(.5turn);
2917
+ }
2918
+
2919
+ .tds-select :is(hr,li[role="separator"]){
2920
+ margin-block:var(--t-spacing-half);
2921
+ color:var(--tds-select-border-color);
2922
+ border:0;
2923
+ border-top:1px solid;
2924
+ }
2925
+
2926
+ .tds-select.tds-select--lg{
2927
+ --tds-select-height:40px;
2928
+ --tds-select-font-size:var(--t-font-size-lg);
2929
+ }
2930
+
2931
+ @media (prefers-reduced-motion: reduce){
2932
+
2933
+ .tds-select{
2934
+ --tds-select-dropdown-transition:none;
2935
+ --tds-select-dropdown-scroll-behavior:auto;
2936
+ }
2937
+ }
2938
+
2939
+ .tds-select-description{
2940
+ display:flex;
2941
+ gap:var(--t-spacing-half);
2942
+ align-items:flex-start;
2943
+ margin:0;
2944
+ font-size:var(--t-font-size-sm);
2945
+ line-height:1.35;
2946
+ color:var(--tds-select-description-color, var(--t-text-color-secondary));
2947
+ cursor:text;
2948
+ }
2949
+
2950
+ .tds-select-description-invalid-icon{
2951
+ display:var(--tds-select-description-invalid-icon-display, none);
2952
+ flex-shrink:0;
2953
+ margin-block-start:calc(.5lh - .5em);
2954
+ line-height:1.35;
2955
+ }
2956
+
2957
+ .tds-select > .tds-select-hidden-select{
2958
+ position:absolute;
2959
+ inline-size:1px;
2960
+ block-size:1px;
2961
+ padding:0;
2962
+ margin:0;
2963
+ pointer-events:none;
2964
+ opacity:0;
2965
+ }
2966
+
2967
+ .tds-select:has( > button) > button{
2968
+ display:block;
2969
+ padding-inline-end:calc(var(--tds-select-caret-size) + var(--tds-select-caret-inline-offset) + .75ch);
2970
+ overflow:hidden;
2971
+ text-overflow:ellipsis;
2972
+ color:var(--tds-select-placeholder-color);
2973
+ white-space:nowrap;
2974
+ background-image:none;
2975
+ transition:background-color 180ms ease-in-out, border-color 180ms ease-in-out, outline-color 180ms ease-in-out, outline-offset 180ms ease-in-out, transform .1s ease;
2976
+ -webkit-tap-highlight-color:transparent;
2977
+ }
2978
+
2979
+ :is(.tds-select:has( > button) > button)::after{
2980
+ position:absolute;
2981
+ inset-block-start:50%;
2982
+ inset-inline-end:var(--tds-select-caret-inline-offset);
2983
+ width:var(--tds-select-caret-size);
2984
+ pointer-events:none;
2985
+ content:var(--tds-select-background-image);
2986
+ transform:translateY(-50%) rotate(0);
2987
+ transition:transform 180ms ease-in-out;
2988
+ }
2989
+
2990
+ .tds-select:has( > button):has([role="option"][aria-selected="true"]) > button{
2991
+ color:var(--tds-select-color);
2992
+ }
2993
+
2994
+ .tds-select:has( > button) [popover]{
2995
+ inset:auto;
2996
+ inline-size:anchor-size(width);
2997
+ max-block-size:min(50vh, 20rem);
2998
+ padding:var(--tds-select-dropdown-padding);
2999
+ margin-block:var(--tds-select-dropdown-margin-block);
3000
+ position-area:block-end span-inline-start;
3001
+ position-try-fallbacks:flip-block, flip-inline;
3002
+ overflow:auto;
3003
+ overflow-x:hidden;
3004
+ scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
3005
+ scroll-padding-top:calc(var(--tds-select-group-label-padding-block-start) + var(--tds-select-group-label-font-size) + var(--t-spacing-2));
3006
+ -webkit-user-select:none;
3007
+ -moz-user-select:none;
3008
+ user-select:none;
3009
+
3010
+ scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
3011
+ scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
3012
+ background:var(--tds-select-dropdown-background-color);
3013
+ border:var(--tds-select-dropdown-border);
3014
+ border-radius:var(--tds-select-dropdown-border-radius);
3015
+ box-shadow:var(--tds-select-dropdown-box-shadow);
3016
+ transition:var(--tds-select-dropdown-transition);
3017
+ }
3018
+
3019
+ :is(.tds-select:has( > button) [popover]):not(:popover-open){
3020
+ opacity:var(--tds-select-dropdown-closed-opacity);
3021
+ transform:var(--tds-select-dropdown-closed-transform);
3022
+ }
3023
+
3024
+ :is(.tds-select:has( > button) [popover]):popover-open{
3025
+ opacity:var(--tds-select-dropdown-open-opacity);
3026
+ transform:var(--tds-select-dropdown-open-transform);
3027
+ }
3028
+
3029
+ :is(.tds-select:has( > button) [popover]) ul{
3030
+ padding:0;
3031
+ margin:0;
3032
+ list-style:none;
3033
+ }
3034
+
3035
+ :is(.tds-select:has( > button) [popover]) li[role="option"]{
3036
+ display:flex;
3037
+ gap:var(--tds-select-option-gap);
3038
+ align-items:center;
3039
+ padding-block:var(--tds-select-option-padding-block);
3040
+ padding-inline:var(--tds-select-option-padding-inline);
3041
+ font-size:var(--tds-select-option-font-size);
3042
+ color:var(--tds-select-option-color);
3043
+ cursor:default;
3044
+ outline-offset:var(--tds-select-option-outline-offset);
3045
+ border-radius:var(--tds-select-option-border-radius);
3046
+ }
3047
+
3048
+ :is(:is(.tds-select:has( > button) [popover]) li[role="option"]):focus-visible{
3049
+ outline:var(--t-focus-ring-outline);
3050
+ outline-offset:var(--tds-select-option-outline-offset);
3051
+ }
3052
+
3053
+ :is(:is(.tds-select:has( > button) [popover]) li[role="option"]):is(:focus,:hover),.tds-select-option--active:is(:is(.tds-select:has( > button) [popover]) li[role="option"]){
3054
+ color:var(--tds-select-option-color);
3055
+ background:var(--tds-select-option-background-hover);
3056
+ }
3057
+
3058
+ :is(:is(.tds-select:has( > button) [popover]) li[role="option"]):is([aria-selected="true"]){
3059
+ color:var(--tds-select-option-color);
3060
+ background:var(--tds-select-option-background-active);
3061
+ }
3062
+
3063
+ :is(:is(.tds-select:has( > button) [popover]) li[role="option"]):is([aria-selected="true"])::before{
3064
+ visibility:visible;
3065
+ opacity:1;
3066
+ }
3067
+
3068
+ [aria-disabled="true"]:is(:is(.tds-select:has( > button) [popover]) li[role="option"]){
3069
+ color:var(--t-form-color-disabled);
3070
+ cursor:not-allowed;
3071
+ }
3072
+
3073
+ [aria-disabled="true"]:is(:is(.tds-select:has( > button) [popover]) li[role="option"]):is(:focus,:hover){
3074
+ background:transparent;
3075
+ }
3076
+
3077
+ :is(.tds-select:has( > button) [popover]) li[role="presentation"]{
3078
+ position:sticky;
3079
+ inset-block-start:calc(var(--tds-select-dropdown-padding) * -1);
3080
+ z-index:1;
3081
+ float:inline-start;
3082
+ inline-size:100%;
3083
+ padding-block:var(--tds-select-group-label-padding-block);
3084
+ padding-inline:var(--tds-select-group-label-padding-inline);
3085
+ container-type:scroll-state;
3086
+ font-size:var(--tds-select-group-label-font-size);
3087
+ font-weight:var(--tds-select-group-label-font-weight);
3088
+ text-transform:uppercase;
3089
+ letter-spacing:var(--tds-select-group-label-letter-spacing);
3090
+ background:var(--tds-select-group-label-background);
3091
+ text-box:trim-both cap alphabetic;
3092
+ }
3093
+
3094
+ :is(:is(.tds-select:has( > button) [popover]) li[role="presentation"]) span{
3095
+ display:inline-flex;
3096
+ gap:var(--t-spacing-half);
3097
+ align-items:center;
3098
+ color:var(--tds-select-group-label-text-color);
3099
+ transition:var(--tds-select-group-label-transition);
3100
+ }
3101
+
3102
+ @container scroll-state(stuck){
3103
+
3104
+ :is(:is(.tds-select:has( > button) [popover]) li[role="presentation"]) span{
3105
+ color:var(--tds-select-group-label-text-color-stuck);
3106
+ }
3107
+
3108
+ @media (forced-colors: active){
3109
+
3110
+ :is(:is(.tds-select:has( > button) [popover]) li[role="presentation"]) span{
3111
+ color:var(--tds-select-group-label-text-color-stuck);
3112
+ }
3113
+ }
3114
+ }
3115
+
3116
+ @starting-style{
3117
+ :is(.tds-select:has( > button) [popover]):popover-open{
3118
+ opacity:var(--tds-select-dropdown-closed-opacity);
3119
+ transform:var(--tds-select-dropdown-closed-transform);
3120
+ }
3121
+ }
3122
+
3123
+ @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)){
3124
+ .tds-select select:has(> button){
3125
+ padding-inline-end:0;
3126
+ background-image:none;
3127
+ }
3128
+ :is(.tds-select select:has( > button)),:is(.tds-select select:has( > button))::picker(select){
3129
+ padding-block:0;
3130
+ -webkit-appearance:base-select;
3131
+ -moz-appearance:base-select;
3132
+ appearance:base-select;
3133
+ }
3134
+
3135
+ :is(.tds-select select:has( > button))::picker-icon{
3136
+ width:var(--tds-select-caret-size);
3137
+ margin-inline-end:var(--tds-select-caret-inline-offset);
3138
+ content:var(--tds-select-background-image);
3139
+ transition:transform 180ms ease-in-out;
3140
+ }
3141
+ :is(.tds-select select:has( > button))::picker(select):not(:popover-open){
3142
+ opacity:var(--tds-select-dropdown-closed-opacity);
3143
+ transform:var(--tds-select-dropdown-closed-transform);
3144
+ }
3145
+ :is(.tds-select select:has( > button))::picker(select):popover-open{
3146
+ opacity:var(--tds-select-dropdown-open-opacity);
3147
+ transform:var(--tds-select-dropdown-open-transform);
3148
+ }
3149
+
3150
+ :is(.tds-select select:has( > button)):open,:is(.tds-select select:has( > button)):focus-within{
3151
+ outline-color:var(--t-focus-ring-color);
3152
+ outline-offset:var(--t-focus-ring-offset);
3153
+ border-color:var(--tds-select-border-color-active);
3154
+ }
3155
+
3156
+ :is(.tds-select select:has( > button)):open::picker-icon{
3157
+ opacity:1;
3158
+ transform:rotate(.5turn);
3159
+ }
3160
+ :is(.tds-select select:has( > button)) > button{
3161
+ line-height:calc(var(--tds-select-height) - 2px);
3162
+ }
3163
+
3164
+ :is(:is(.tds-select select:has( > button)) > button):focus-visible{
3165
+ outline-offset:-3px;
3166
+ }
3167
+
3168
+ :is(.tds-select select:has( > button)):has(option[hidden][disabled][value=""]:checked) > button{
3169
+ color:var(--tds-select-placeholder-color);
3170
+ }
3171
+
3172
+ :is(.tds-select select:has( > button))::picker(select){
3173
+ padding:var(--tds-select-dropdown-padding);
3174
+ margin-block:var(--tds-select-dropdown-margin-block);
3175
+ position-try-fallbacks:flip-block, flip-inline;
3176
+ scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
3177
+ -webkit-user-select:none;
3178
+ -moz-user-select:none;
3179
+ user-select:none;
3180
+ scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
3181
+ scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
3182
+ background:var(--tds-select-dropdown-background-color);
3183
+ border:var(--tds-select-dropdown-border);
3184
+ border-radius:var(--tds-select-dropdown-border-radius);
3185
+ box-shadow:var(--tds-select-dropdown-box-shadow);
3186
+ transition:var(--tds-select-dropdown-transition);
3187
+ }
3188
+
3189
+ :is(.tds-select select:has( > button)) legend{
3190
+ position:sticky;
3191
+ inset-block-start:calc(var(--tds-select-dropdown-padding) * -1);
3192
+ z-index:1;
3193
+ float:inline-start;
3194
+ inline-size:100%;
3195
+ padding-block:var(--tds-select-group-label-padding-block);
3196
+ padding-inline:var(--tds-select-group-label-padding-inline);
3197
+ container-type:scroll-state;
3198
+ font-size:var(--tds-select-group-label-font-size);
3199
+ font-weight:var(--tds-select-group-label-font-weight);
3200
+ text-transform:uppercase;
3201
+ letter-spacing:var(--tds-select-group-label-letter-spacing);
3202
+ background:var(--tds-select-group-label-background);
3203
+ text-box:trim-both cap alphabetic;
3204
+ }
3205
+
3206
+ :is(:is(.tds-select select:has( > button)) legend) span{
3207
+ display:inline-flex;
3208
+ gap:var(--t-spacing-half);
3209
+ align-items:center;
3210
+ color:var(--tds-select-group-label-text-color);
3211
+ transition:var(--tds-select-group-label-transition);
3212
+ }
3213
+
3214
+ @container scroll-state(stuck){
3215
+
3216
+ :is(:is(.tds-select select:has( > button)) legend) span{
3217
+ color:var(--tds-select-group-label-text-color-stuck);
3218
+ }
3219
+
3220
+ @media (forced-colors: active){
3221
+
3222
+ :is(:is(.tds-select select:has( > button)) legend) span{
3223
+ color:var(--tds-select-group-label-text-color-stuck);
3224
+ }
3225
+ }
3226
+ }
3227
+
3228
+ :is(.tds-select select:has( > button)) option:not([hidden]){
3229
+ display:flex;
3230
+ gap:var(--tds-select-option-gap);
3231
+ align-items:center;
3232
+ padding-block:var(--tds-select-option-padding-block);
3233
+ padding-inline:var(--tds-select-option-padding-inline);
3234
+ font-size:var(--tds-select-option-font-size);
3235
+ color:var(--tds-select-option-color);
3236
+ cursor:default;
3237
+ outline-offset:var(--tds-select-option-outline-offset);
3238
+ border-radius:var(--tds-select-option-border-radius);
3239
+ }
3240
+
3241
+ :is(:is(.tds-select select:has( > button)) option:not([hidden]))::checkmark{
3242
+ display:none;
3243
+ }
3244
+
3245
+ :is(:is(.tds-select select:has( > button)) option:not([hidden])):focus-visible{
3246
+ outline:var(--t-focus-ring-outline);
3247
+ outline-offset:var(--tds-select-option-outline-offset);
3248
+ }
3249
+
3250
+ :is(:is(.tds-select select:has( > button)) option:not([hidden])):is(:focus,:hover):where(:not([disabled])){
3251
+ color:var(--tds-select-option-color);
3252
+ background:var(--tds-select-option-background-hover);
3253
+ }
3254
+
3255
+ :is(:is(.tds-select select:has( > button)) option:not([hidden])):is(:checked){
3256
+ color:var(--tds-select-option-color);
3257
+ background:var(--tds-select-option-background-active);
3258
+ }
3259
+
3260
+ @media (prefers-reduced-motion: reduce){
3261
+ :is(.tds-select select:has( > button))::picker(select){
3262
+ scroll-behavior:auto;
3263
+ transition:none;
3264
+ }
3265
+
3266
+ :is(.tds-select select:has( > button))::picker-icon{
3267
+ transition:none;
3268
+ }
3269
+
3270
+ :is(.tds-select select:has( > button))::picker(select):not(:popover-open),:is(.tds-select select:has( > button))::picker(select):popover-open,:is(.tds-select select:has( > button)):open::picker-icon{
3271
+ transform:none;
3272
+ }
3273
+ }
3274
+
3275
+ @starting-style{
3276
+ :is(.tds-select select:has( > button))::picker(select):popover-open{
3277
+ opacity:var(--tds-select-dropdown-closed-opacity);
3278
+ transform:var(--tds-select-dropdown-closed-transform);
3279
+ }
3280
+ }
3281
+ }
3282
+
2773
3283
  .tds-input:has(textarea){
2774
3284
  --tds-input-padding-block:var(--t-spacing-half);
2775
3285
  --tds-input-resizer-size:var(--t-element-size-sm);