@planningcenter/tapestry 3.0.0 → 3.0.1-rc.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 (68) hide show
  1. package/dist/components/Banner/Banner.js +7 -7
  2. package/dist/components/Banner/Banner.js.map +1 -1
  3. package/dist/components/button/BaseButton.js +4 -4
  4. package/dist/components/button/BaseButton.js.map +1 -1
  5. package/dist/components/button/Button.js +2 -2
  6. package/dist/components/button/Button.js.map +1 -1
  7. package/dist/components/button/DropdownButton.js +3 -3
  8. package/dist/components/button/DropdownButton.js.map +1 -1
  9. package/dist/components/button/DropdownIconButton.js +2 -2
  10. package/dist/components/button/DropdownIconButton.js.map +1 -1
  11. package/dist/components/button/IconButton.js +2 -2
  12. package/dist/components/button/IconButton.js.map +1 -1
  13. package/dist/components/button/LoadingButton.js +2 -2
  14. package/dist/components/button/LoadingButton.js.map +1 -1
  15. package/dist/components/button/PageHeaderActionsDropdownButton.js +3 -3
  16. package/dist/components/button/PageHeaderActionsDropdownButton.js.map +1 -1
  17. package/dist/components/checkbox/Checkbox.js +6 -6
  18. package/dist/components/checkbox/Checkbox.js.map +1 -1
  19. package/dist/components/input/Input.d.ts.map +1 -1
  20. package/dist/components/input/Input.js +5 -18
  21. package/dist/components/input/Input.js.map +1 -1
  22. package/dist/components/input-text-base/InputTextBase.d.ts +17 -0
  23. package/dist/components/input-text-base/InputTextBase.d.ts.map +1 -0
  24. package/dist/components/input-text-base/InputTextBase.js +26 -0
  25. package/dist/components/input-text-base/InputTextBase.js.map +1 -0
  26. package/dist/components/input-text-base/index.d.ts +4 -0
  27. package/dist/components/input-text-base/index.d.ts.map +1 -0
  28. package/dist/components/internal/LoadingSpinner.js +2 -2
  29. package/dist/components/internal/LoadingSpinner.js.map +1 -1
  30. package/dist/components/link/BaseLink.js +2 -2
  31. package/dist/components/link/BaseLink.js.map +1 -1
  32. package/dist/components/link/IconLink.js +2 -2
  33. package/dist/components/link/IconLink.js.map +1 -1
  34. package/dist/components/link/Link.js +2 -2
  35. package/dist/components/link/Link.js.map +1 -1
  36. package/dist/components/radio/Radio.js +5 -5
  37. package/dist/components/radio/Radio.js.map +1 -1
  38. package/dist/components/text-area/TextArea.d.ts.map +1 -0
  39. package/dist/components/text-area/TextArea.js +16 -0
  40. package/dist/components/text-area/TextArea.js.map +1 -0
  41. package/dist/components/text-area/index.d.ts.map +1 -0
  42. package/dist/components/toggle-switch/ToggleSwitch.js +6 -6
  43. package/dist/components/toggle-switch/ToggleSwitch.js.map +1 -1
  44. package/dist/index.css +1 -0
  45. package/dist/index.css.map +1 -1
  46. package/dist/reactRender.css +172 -289
  47. package/dist/reactRender.css.map +1 -1
  48. package/dist/reactRenderLegacy.css +172 -289
  49. package/dist/reactRenderLegacy.css.map +1 -1
  50. package/dist/tapestry-reset.css +10 -2
  51. package/dist/tapestry-reset.css.map +1 -1
  52. package/dist/unstable.css +91 -208
  53. package/dist/unstable.css.map +1 -1
  54. package/dist/unstable.d.ts +1 -1
  55. package/dist/unstable.d.ts.map +1 -1
  56. package/dist/unstable.js +1 -1
  57. package/dist/utilities/Icon.js +2 -2
  58. package/dist/utilities/Icon.js.map +1 -1
  59. package/dist/utilities/buttonLinkShared.js +4 -4
  60. package/dist/utilities/buttonLinkShared.js.map +1 -1
  61. package/package.json +8 -6
  62. package/dist/components/textarea/TextArea.d.ts.map +0 -1
  63. package/dist/components/textarea/TextArea.js +0 -27
  64. package/dist/components/textarea/TextArea.js.map +0 -1
  65. package/dist/components/textarea/index.d.ts.map +0 -1
  66. package/react-types/popover.d.ts +0 -7
  67. /package/dist/components/{textarea → text-area}/TextArea.d.ts +0 -0
  68. /package/dist/components/{textarea → text-area}/index.d.ts +0 -0
@@ -800,93 +800,6 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
800
800
  --tds-checkbox-description-line-height:1.3;
801
801
  }
802
802
 
803
- .tds-radio-group{
804
- --tds-radio-group-font-size:var(--t-font-size-md);
805
- --tds-radio-group-line-height:1.4;
806
- --tds-radio-group-gap:var(--t-spacing-1);
807
-
808
- --tds-radio-group-legend-margin-bottom:var(--tds-radio-group-gap);
809
-
810
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
811
- --tds-radio-group-description-line-height:1.35;
812
- --tds-radio-group-description-color:var(--t-text-color-secondary);
813
- --tds-radio-group-description-invalid-icon-display:none;
814
- display:flex;
815
- flex-direction:column;
816
- gap:var(--tds-radio-group-gap);
817
- padding:0;
818
- margin:0;
819
-
820
- font-size:var(--tds-radio-group-font-size);
821
- line-height:var(--tds-radio-group-line-height);
822
- border:0;
823
- }
824
-
825
- .tds-radio-group legend{
826
- padding:0;
827
- margin-bottom:var(--tds-radio-group-legend-margin-bottom);
828
- }
829
-
830
- .tds-radio-group:has(.tds-radio-group-description){
831
- --tds-radio-group-legend-margin-bottom:var(--t-spacing-fourth);
832
- }
833
-
834
- .tds-radio-group[aria-invalid="true"]{
835
- --tds-radio-group-description-color:var(--t-text-color-status-error);
836
- --tds-radio-group-description-invalid-icon-display:inline-block;
837
- }
838
-
839
- .tds-radio-group[aria-invalid="true"] .tds-radio{
840
- --tds-radio-input-border-color:var(--t-border-color-control-error);
841
- }
842
-
843
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
844
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
845
- --tds-radio-input-background-color:var(--t-fill-color-status-error-dim);
846
- }
847
-
848
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
849
- --tds-radio-input-background-color:var(--t-form-background-color);
850
- }
851
-
852
- .tds-radio-group:has(input:required) legend::after{
853
- margin-left:.25ch;
854
- color:var(--t-text-color-status-error);
855
- content:"*";
856
- }
857
-
858
- .tds-radio-group-fields{
859
- display:flex;
860
- flex-direction:column;
861
- gap:var(--tds-radio-group-gap);
862
- align-items:flex-start;
863
- }
864
-
865
- .tds-radio-group-description{
866
- display:flex;
867
- gap:var(--t-spacing-half);
868
- align-items:flex-start;
869
- margin:0;
870
- font-size:var(--tds-radio-group-description-font-size);
871
- line-height:var(--tds-radio-group-description-line-height);
872
- color:var(--tds-radio-group-description-color);
873
- cursor:text;
874
- }
875
-
876
- .tds-radio-group-description-invalid-icon{
877
- display:var(--tds-radio-group-description-invalid-icon-display);
878
- flex-shrink:0;
879
- margin-top:calc(.5lh - .5em);
880
- line-height:var(--tds-radio-group-description-line-height);
881
- }
882
-
883
- .tds-radio-group--sm{
884
- --tds-radio-group-line-height:1.35;
885
- --tds-radio-group-font-size:var(--t-font-size-sm);
886
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
887
- --tds-radio-group-description-line-height:1.3;
888
- }
889
-
890
803
  .tds-radio{
891
804
  --tds-radio-font-size:var(--t-font-size-md);
892
805
  --tds-radio-cursor:pointer;
@@ -1019,6 +932,93 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1019
932
  --tds-radio-description-line-height:1.3;
1020
933
  }
1021
934
 
935
+ .tds-radio-group{
936
+ --tds-radio-group-font-size:var(--t-font-size-md);
937
+ --tds-radio-group-line-height:1.4;
938
+ --tds-radio-group-gap:var(--t-spacing-1);
939
+
940
+ --tds-radio-group-legend-margin-bottom:var(--tds-radio-group-gap);
941
+
942
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
943
+ --tds-radio-group-description-line-height:1.35;
944
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
945
+ --tds-radio-group-description-invalid-icon-display:none;
946
+ display:flex;
947
+ flex-direction:column;
948
+ gap:var(--tds-radio-group-gap);
949
+ padding:0;
950
+ margin:0;
951
+
952
+ font-size:var(--tds-radio-group-font-size);
953
+ line-height:var(--tds-radio-group-line-height);
954
+ border:0;
955
+ }
956
+
957
+ .tds-radio-group legend{
958
+ padding:0;
959
+ margin-bottom:var(--tds-radio-group-legend-margin-bottom);
960
+ }
961
+
962
+ .tds-radio-group:has(.tds-radio-group-description){
963
+ --tds-radio-group-legend-margin-bottom:var(--t-spacing-fourth);
964
+ }
965
+
966
+ .tds-radio-group[aria-invalid="true"]{
967
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
968
+ --tds-radio-group-description-invalid-icon-display:inline-block;
969
+ }
970
+
971
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
972
+ --tds-radio-input-border-color:var(--t-border-color-control-error);
973
+ }
974
+
975
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
976
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
977
+ --tds-radio-input-background-color:var(--t-fill-color-status-error-dim);
978
+ }
979
+
980
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
981
+ --tds-radio-input-background-color:var(--t-form-background-color);
982
+ }
983
+
984
+ .tds-radio-group:has(input:required) legend::after{
985
+ margin-left:.25ch;
986
+ color:var(--t-text-color-status-error);
987
+ content:"*";
988
+ }
989
+
990
+ .tds-radio-group-fields{
991
+ display:flex;
992
+ flex-direction:column;
993
+ gap:var(--tds-radio-group-gap);
994
+ align-items:flex-start;
995
+ }
996
+
997
+ .tds-radio-group-description{
998
+ display:flex;
999
+ gap:var(--t-spacing-half);
1000
+ align-items:flex-start;
1001
+ margin:0;
1002
+ font-size:var(--tds-radio-group-description-font-size);
1003
+ line-height:var(--tds-radio-group-description-line-height);
1004
+ color:var(--tds-radio-group-description-color);
1005
+ cursor:text;
1006
+ }
1007
+
1008
+ .tds-radio-group-description-invalid-icon{
1009
+ display:var(--tds-radio-group-description-invalid-icon-display);
1010
+ flex-shrink:0;
1011
+ margin-top:calc(.5lh - .5em);
1012
+ line-height:var(--tds-radio-group-description-line-height);
1013
+ }
1014
+
1015
+ .tds-radio-group--sm{
1016
+ --tds-radio-group-line-height:1.35;
1017
+ --tds-radio-group-font-size:var(--t-font-size-sm);
1018
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
1019
+ --tds-radio-group-description-line-height:1.3;
1020
+ }
1021
+
1022
1022
  .tds-toggle-switch{
1023
1023
  --tds-toggle-switch-font-size:var(--t-font-size-md);
1024
1024
  --tds-toggle-switch-column-gap:var(--t-spacing-2);
@@ -1404,6 +1404,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1404
1404
 
1405
1405
  .tds-btn--outline-neutral{
1406
1406
  --tds-btn-color:var(--t-text-color-status-neutral);
1407
+ --tds-btn-bg:var(--t-fill-color-button-neutral-outline);
1407
1408
  --tds-btn-border-color:var(--t-border-color-button-neutral);
1408
1409
  --tds-btn-color-hover:var(--tds-btn-color);
1409
1410
  --tds-btn-bg-hover:var(--t-fill-color-button-neutral-outline-hover);
@@ -2537,230 +2538,130 @@ a[class="tds-btn"]{
2537
2538
  }
2538
2539
  }
2539
2540
 
2540
- .tds-textarea{
2541
- --tds-textarea-border-color:var(--t-form-border-color);
2542
- --tds-textarea-border-color-hover:var(--t-form-border-color-hover);
2543
- --tds-textarea-bg:var(--t-form-background-color);
2544
- --tds-textarea-color:var(--t-form-color);
2545
- --tds-textarea-padding-block:var(--t-spacing-half);
2546
- --tds-textarea-font-size:var(--t-font-size-md);
2547
- --tds-textarea-min-height:var(--t-container-size-md);
2548
- --tds-textarea-description-color:var(--t-text-color-secondary);
2549
- --tds-textarea-description-invalid-icon-display:none;
2550
- --tds-textarea-transition-property:background-color, border-color, outline-color, outline-offset;
2551
- --tds-textarea-resizer-size:var(--t-element-size-sm);
2552
- --tds-textarea-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
2553
-
2554
- display:flex;
2555
- flex-direction:column;
2556
- gap:var(--t-spacing-half);
2557
- }
2558
-
2559
- .tds-textarea label{
2560
- font-size:var(--t-font-size-md);
2561
- font-weight:var(--t-font-weight-normal);
2562
- color:var(--tds-textarea-color);
2563
- }
2564
-
2565
- .tds-textarea textarea{
2566
- inline-size:100%;
2567
- min-height:var(--tds-textarea-min-height);
2568
- padding-block:var(--tds-textarea-padding-block);
2569
- padding-inline:var(--t-spacing-1);
2570
- font-family:inherit;
2571
- font-size:var(--tds-textarea-font-size);
2572
- color:var(--tds-textarea-color);
2573
- -webkit-appearance:none;
2574
- -moz-appearance:none;
2575
- appearance:none;
2576
- outline:var(--t-focus-ring-width) solid transparent;
2577
- outline-offset:0;
2578
- background-color:var(--tds-textarea-bg);
2579
- border:var(--t-form-border-width) solid var(--tds-textarea-border-color);
2580
- border-radius:var(--t-form-border-radius);
2581
- --tds-textarea-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
2582
- --tds-textarea-scrollbar-thumb-color-hidden:transparent;
2583
- --tds-textarea-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
2584
- --tds-textarea-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
2585
- --tds-textarea-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
2586
- --tds-textarea-scrollbar-thumb-color:var(--tds-textarea-scrollbar-thumb-color-default);
2587
- --tds-textarea-scrollbar-surface-color:rgba(0, 0, 0, 0);
2588
- --tds-textarea-scrollbar-thumb-border-radius:999px;
2589
- --tds-textarea-scrollbar-thumb-border-width:3px;
2590
- --tds-textarea-scrollbar-track-margin-block:.125rem;
2591
- scrollbar-color:initial;
2592
- transition-timing-function:ease-in-out;
2593
- transition-duration:180ms;
2594
- transition-property:var(--tds-textarea-transition-property), --tds-textarea-scrollbar-thumb-color;
2595
- }
2596
-
2597
- :is(.tds-textarea textarea):hover:not(:disabled,:focus-visible){
2598
- border-color:var(--tds-textarea-border-color-hover);
2599
- }
2600
-
2601
- :is(.tds-textarea textarea):focus{
2602
- outline-color:transparent;
2603
- }
2604
2541
 
2605
- :is(.tds-textarea textarea):focus-visible{
2606
- outline-color:var(--t-focus-ring-color);
2607
- outline-offset:var(--t-focus-ring-offset);
2608
- border-color:var(--t-form-border-color-focus);
2609
- }
2610
-
2611
- :is(.tds-textarea textarea)::-moz-placeholder{
2612
- color:var(--t-form-placeholder-color);
2613
- -moz-user-select:none;
2614
- user-select:none;
2542
+ :is(.tds-input input)::-webkit-search-decoration,:is(.tds-input input)::-webkit-search-cancel-button,:is(.tds-input input)::-webkit-search-results-button,:is(.tds-input input)::-webkit-search-results-decoration{
2543
+ -webkit-appearance:none;
2544
+ appearance:none;
2615
2545
  }
2616
2546
 
2617
- :is(.tds-textarea textarea)::placeholder{
2618
- color:var(--t-form-placeholder-color);
2619
- -webkit-user-select:none;
2620
- -moz-user-select:none;
2621
- user-select:none;
2547
+ [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
2548
+ inline-size:1em;
2549
+ block-size:2em;
2622
2550
  }
2623
2551
 
2624
- @media (prefers-reduced-motion: reduce){
2625
-
2626
- .tds-textarea textarea{
2627
- --tds-textarea-transition-property:none;
2552
+ @supports (field-sizing: content){
2553
+ .tds-input--auto-width{
2554
+ inline-size:-moz-fit-content;
2555
+ inline-size:fit-content;
2628
2556
  }
2629
- }
2630
2557
 
2631
- .tds-textarea:has(textarea:user-invalid,textarea[aria-invalid="true"]),.tds-textarea.tds-textarea--invalid{
2632
- --tds-textarea-border-color:var(--t-form-border-color-error);
2633
- --tds-textarea-border-color-hover:var(--t-form-border-color-error-hover);
2634
- --tds-textarea-description-color:var(--t-text-color-status-error);
2635
- --tds-textarea-description-invalid-icon-display:inline-block;
2558
+ .tds-input--auto-width input{
2559
+ field-sizing:content;
2560
+ inline-size:auto;
2636
2561
  }
2562
+ }
2637
2563
 
2638
- .tds-textarea:has(textarea:required) label::after{
2639
- margin-inline-start:.25ch;
2640
- color:var(--t-text-color-status-error);
2641
- content:"*";
2642
- }
2643
-
2644
- .tds-textarea:where(:has(textarea:disabled)){
2645
- --tds-textarea-border-color:var(--t-form-border-color-disabled);
2646
- --tds-textarea-bg:var(--t-form-background-color-disabled);
2647
- --tds-textarea-color:var(--t-form-color-disabled);
2648
- --tds-textarea-description-color:var(--t-text-color-disabled);
2649
- }
2564
+ .tds-input:has(textarea){
2565
+ --tds-input-padding-block:var(--t-spacing-half);
2566
+ --tds-input-resizer-size:var(--t-element-size-sm);
2567
+ --tds-input-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
2568
+ }
2650
2569
 
2651
- .tds-textarea:where(:has(textarea:disabled)) textarea{
2652
- cursor:not-allowed;
2653
- }
2570
+ @supports (x: attr(x type(*))){
2654
2571
 
2655
- .tds-textarea:where(:has(textarea[readonly])){
2656
- --tds-textarea-border-color:var(--t-form-border-color-readonly);
2657
- --tds-textarea-bg:var(--t-form-background-color-readonly);
2572
+ .tds-input:has(textarea){
2573
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
2574
+ }
2658
2575
  }
2659
2576
 
2660
- .tds-textarea:where(:has(textarea[readonly])) textarea:focus{
2661
- border-color:var(--tds-textarea-border-color-hover);
2662
- }
2663
-
2664
- .tds-textarea.tds-textarea--lg{
2665
- --tds-textarea-min-height:var(--t-container-size-lg);
2666
- --tds-textarea-font-size:var(--t-font-size-lg);
2577
+ .tds-input textarea{
2578
+ padding-block:var(--tds-input-padding-block);
2579
+ --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
2580
+ --tds-input-scrollbar-thumb-color-hidden:transparent;
2581
+ --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
2582
+ --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
2583
+ --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
2584
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
2585
+ --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
2586
+ --tds-input-scrollbar-thumb-border-radius:999px;
2587
+ --tds-input-scrollbar-thumb-border-width:3px;
2588
+ --tds-input-scrollbar-track-margin-block:.125rem;
2589
+ scrollbar-color:initial;
2590
+ transition-timing-function:ease-in-out;
2591
+ transition-duration:180ms;
2592
+ transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
2667
2593
  }
2668
2594
 
2669
- .tds-textarea.tds-textarea--resize-vertical textarea{
2595
+ .tds-input.tds-textarea--resize-vertical textarea{
2670
2596
  resize:vertical;
2671
2597
  }
2672
2598
 
2673
- .tds-textarea.tds-textarea--resize-none textarea{
2599
+ .tds-input.tds-textarea--resize-none textarea{
2674
2600
  resize:none;
2675
2601
  }
2676
2602
 
2677
- .tds-textarea.tds-textarea--resize-auto textarea{
2603
+ .tds-input.tds-textarea--resize-auto textarea{
2678
2604
  resize:vertical;
2679
2605
  }
2680
2606
 
2681
2607
  @supports (field-sizing: content){
2682
- .tds-textarea.tds-textarea--resize-auto textarea{
2608
+ .tds-input.tds-textarea--resize-auto textarea{
2683
2609
  field-sizing:content;
2684
2610
  resize:none;
2685
2611
  }
2686
2612
  }
2687
2613
 
2688
- @supports (x: attr(x type(*))){
2689
-
2690
- .tds-textarea{
2691
- --tds-textarea-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-textarea-padding-block) * 2) + 2px);
2692
- }
2693
- }
2694
-
2695
- .tds-textarea-description{
2696
- display:flex;
2697
- gap:var(--t-spacing-half);
2698
- align-items:flex-start;
2699
- margin:0;
2700
- font-size:var(--t-font-size-sm);
2701
- line-height:1.35;
2702
- color:var(--tds-textarea-description-color, var(--t-text-color-secondary));
2703
- cursor:text;
2704
- }
2705
-
2706
- .tds-textarea-description-invalid-icon{
2707
- display:var(--tds-textarea-description-invalid-icon-display, none);
2708
- flex-shrink:0;
2709
- margin-block-start:calc(.5lh - .5em);
2710
- line-height:1.35;
2711
- }
2712
-
2713
2614
  @media (pointer: fine){
2714
- :is(.tds-textarea textarea)::-webkit-scrollbar{
2615
+ :is(.tds-input textarea)::-webkit-scrollbar{
2715
2616
  width:12px;
2716
2617
  height:12px;
2717
2618
  cursor:default;
2718
2619
  }
2719
2620
 
2720
- :is(.tds-textarea textarea)::-webkit-scrollbar-thumb{
2621
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb{
2721
2622
  cursor:default;
2722
- background:var(--tds-textarea-scrollbar-thumb-color);
2623
+ background:var(--tds-input-scrollbar-thumb-color);
2723
2624
  background-clip:content-box;
2724
- border:var(--tds-textarea-scrollbar-thumb-border-width) solid var(--tds-textarea-scrollbar-surface-color);
2725
- border-radius:var(--tds-textarea-scrollbar-thumb-border-radius);
2625
+ border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
2626
+ border-radius:var(--tds-input-scrollbar-thumb-border-radius);
2726
2627
  }
2727
2628
 
2728
- :is(.tds-textarea textarea):is(:hover,:focus-within,:focus-visible){
2729
- --tds-textarea-scrollbar-thumb-color:var(--tds-textarea-scrollbar-thumb-color-hover);
2629
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2630
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
2730
2631
  }
2731
2632
 
2732
- :is(.tds-textarea textarea)::-webkit-scrollbar-thumb:hover{
2733
- --tds-textarea-scrollbar-thumb-color:var(--tds-textarea-scrollbar-thumb-color-thumb-hover);
2633
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
2634
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
2734
2635
  }
2735
2636
 
2736
- :is(.tds-textarea textarea)::-webkit-scrollbar-thumb:active{
2737
- --tds-textarea-scrollbar-thumb-color:var(--tds-textarea-scrollbar-thumb-color-thumb-active);
2637
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
2638
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
2738
2639
  }
2739
2640
 
2740
- :is(.tds-textarea textarea)::-webkit-scrollbar-corner{
2741
- background:var(--tds-textarea-scrollbar-surface-color);
2641
+ :is(.tds-input textarea)::-webkit-scrollbar-corner{
2642
+ background:var(--tds-input-scrollbar-surface-color);
2742
2643
  }
2743
2644
 
2744
- :is(.tds-textarea textarea)::-webkit-resizer{
2745
- background:var(--tds-textarea-resizer-icon) no-repeat;
2645
+ :is(.tds-input textarea)::-webkit-resizer{
2646
+ background:var(--tds-input-resizer-icon) no-repeat;
2746
2647
  background-position:right bottom;
2747
- background-size:var(--tds-textarea-resizer-size) var(--tds-textarea-resizer-size);
2648
+ background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
2748
2649
  }
2749
2650
 
2750
- :is(.tds-textarea textarea)::-webkit-scrollbar-track{
2751
- margin-block:var(--tds-textarea-scrollbar-track-margin-block);
2651
+ :is(.tds-input textarea)::-webkit-scrollbar-track{
2652
+ margin-block:var(--tds-input-scrollbar-track-margin-block);
2752
2653
  cursor:default;
2753
2654
  }
2754
2655
 
2755
2656
  @supports (-moz-appearance: none){
2756
- :is(.tds-textarea textarea){
2757
- scrollbar-color:var(--tds-textarea-scrollbar-thumb-color-default) var(--tds-textarea-scrollbar-surface-color);
2657
+ :is(.tds-input textarea){
2658
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
2758
2659
  scrollbar-width:thin;
2759
2660
  }
2760
2661
 
2761
2662
  @media (hover){
2762
- :is(.tds-textarea textarea):is(:hover,:focus-within,:focus-visible){
2763
- scrollbar-color:var(--tds-textarea-scrollbar-thumb-color-hover) var(--tds-textarea-scrollbar-surface-color);
2663
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2664
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
2764
2665
  }
2765
2666
  }
2766
2667
  }
@@ -2772,9 +2673,9 @@ a[class="tds-btn"]{
2772
2673
  --tds-input-bg:var(--t-form-background-color);
2773
2674
  --tds-input-color:var(--t-form-color);
2774
2675
  --tds-input-font-size:var(--t-font-size-md);
2775
- --tds-input-height:var(--t-container-size-md);
2776
2676
  --tds-input-description-color:var(--t-text-color-secondary);
2777
2677
  --tds-input-description-invalid-icon-display:none;
2678
+ --tds-input-min-height:var(--t-container-size-md);
2778
2679
  --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
2779
2680
 
2780
2681
  display:flex;
@@ -2788,9 +2689,9 @@ a[class="tds-btn"]{
2788
2689
  color:var(--tds-input-color);
2789
2690
  }
2790
2691
 
2791
- .tds-input input{
2692
+ .tds-input :is(input,textarea){
2792
2693
  inline-size:100%;
2793
- block-size:var(--tds-input-height);
2694
+ min-block-size:var(--tds-input-min-height);
2794
2695
  padding-inline:var(--t-spacing-1);
2795
2696
  font-family:inherit;
2796
2697
  font-size:var(--tds-input-font-size);
@@ -2808,96 +2709,78 @@ a[class="tds-btn"]{
2808
2709
  transition-property:var(--tds-input-transition-property);
2809
2710
  }
2810
2711
 
2811
- :is(.tds-input input):hover:not(:disabled,:focus-visible){
2712
+ :is(.tds-input :is(input,textarea)):hover:not(:disabled,:focus-visible){
2812
2713
  border-color:var(--tds-input-border-color-hover);
2813
2714
  }
2814
2715
 
2815
- :is(.tds-input input):focus{
2716
+ :is(.tds-input :is(input,textarea)):focus{
2816
2717
  outline-color:transparent;
2817
2718
  }
2818
2719
 
2819
- :is(.tds-input input):focus-visible{
2720
+ :is(.tds-input :is(input,textarea)):focus-visible{
2820
2721
  outline-color:var(--t-focus-ring-color);
2821
2722
  outline-offset:var(--t-focus-ring-offset);
2822
2723
  border-color:var(--t-form-border-color-focus);
2823
2724
  }
2824
2725
 
2825
- :is(.tds-input input)::-moz-placeholder{
2726
+ :is(.tds-input :is(input,textarea))::-moz-placeholder{
2826
2727
  color:var(--t-form-placeholder-color);
2827
2728
  -moz-user-select:none;
2828
2729
  user-select:none;
2829
2730
  }
2830
2731
 
2831
- :is(.tds-input input)::placeholder{
2732
+ :is(.tds-input :is(input,textarea))::placeholder{
2832
2733
  color:var(--t-form-placeholder-color);
2833
2734
  -webkit-user-select:none;
2834
2735
  -moz-user-select:none;
2835
2736
  user-select:none;
2836
2737
  }
2837
2738
 
2838
- :is(.tds-input input)::-webkit-search-decoration,:is(.tds-input input)::-webkit-search-cancel-button,:is(.tds-input input)::-webkit-search-results-button,:is(.tds-input input)::-webkit-search-results-decoration{
2839
- -webkit-appearance:none;
2840
- appearance:none;
2841
- }
2842
-
2843
- [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
2844
- inline-size:1em;
2845
- block-size:2em;
2846
- }
2847
-
2848
2739
  @media (prefers-reduced-motion: reduce){
2849
2740
 
2850
- .tds-input input{
2741
+ .tds-input :is(input,textarea){
2851
2742
  --tds-input-transition-property:none;
2852
2743
  }
2853
2744
  }
2854
2745
 
2855
- .tds-input:has(input:user-invalid,input[aria-invalid="true"]),.tds-input.tds-input--invalid{
2746
+ .tds-input.tds-input--invalid,.tds-input:has(:is(input,textarea):is(:user-invalid,[aria-invalid="true"])){
2856
2747
  --tds-input-border-color:var(--t-form-border-color-error);
2857
2748
  --tds-input-border-color-hover:var(--t-form-border-color-error-hover);
2858
2749
  --tds-input-description-color:var(--t-text-color-status-error);
2859
2750
  --tds-input-description-invalid-icon-display:inline-block;
2860
2751
  }
2861
2752
 
2862
- .tds-input:has(input:required) label::after{
2753
+ .tds-input:has(:is(input,textarea):required) label::after{
2863
2754
  margin-inline-start:.25ch;
2864
2755
  color:var(--t-text-color-status-error);
2865
2756
  content:"*";
2866
2757
  }
2867
2758
 
2868
- .tds-input:where(:has(input:disabled)){
2759
+ .tds-input:where(:has(:is(input,textarea):disabled)){
2869
2760
  --tds-input-border-color:var(--t-form-border-color-disabled);
2870
2761
  --tds-input-bg:var(--t-form-background-color-disabled);
2871
2762
  --tds-input-color:var(--t-form-color-disabled);
2872
2763
  --tds-input-description-color:var(--t-text-color-disabled);
2873
2764
  }
2874
2765
 
2875
- .tds-input:where(:has(input:disabled)) input{
2766
+ .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
2876
2767
  cursor:not-allowed;
2877
2768
  }
2878
2769
 
2879
- .tds-input:where(:has(input[readonly])){
2770
+ .tds-input:where(:has(:is(input,textarea)[readonly])){
2880
2771
  --tds-input-border-color:var(--t-form-border-color-readonly);
2881
2772
  --tds-input-bg:var(--t-form-background-color-readonly);
2882
2773
  }
2883
2774
 
2775
+ .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
2776
+ border-color:var(--tds-input-border-color-hover);
2777
+ }
2778
+
2884
2779
  .tds-input.tds-input--lg{
2885
- --tds-input-height:var(--t-container-size-lg);
2780
+ --tds-input-min-height:var(--t-container-size-lg);
2886
2781
  --tds-input-font-size:var(--t-font-size-lg);
2887
2782
  }
2888
2783
 
2889
- @supports (field-sizing: content){
2890
- .tds-input--auto-width{
2891
- inline-size:-moz-fit-content;
2892
- inline-size:fit-content;
2893
- }
2894
-
2895
- .tds-input--auto-width input{
2896
- field-sizing:content;
2897
- inline-size:auto;
2898
- }
2899
- }
2900
-
2901
2784
  .tds-input-description{
2902
2785
  display:flex;
2903
2786
  gap:var(--t-spacing-half);