textarea.scss 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. @import "./animation.scss";
  2. @import "./variables.scss";
  3. $module: #{$prefix}-input;
  4. .#{$module}-textarea-wrapper {
  5. box-sizing: border-box;
  6. display: inline-block;
  7. position: relative;
  8. width: 100%;
  9. border: $width-input_wrapper-border $color-input_default-border-default solid;
  10. border-radius: $radius-input_wrapper;
  11. vertical-align: bottom;
  12. background-color: $color-input_default-bg-default;
  13. transition: background-color $transition_duration-input-bg $transition_function-input-bg $transition_delay-input-bg,
  14. border $transition_duration-input-border $transition_function-input-border $transition_delay-input-border;
  15. &:hover {
  16. background-color: $color-input_default-bg-hover;
  17. }
  18. &-focus {
  19. background-color: $color-input_default-bg-focus;
  20. border: $width-input_wrapper_focus-border $color-input_default-border-focus solid;
  21. &:hover,
  22. &:active {
  23. background-color: $color-input_default-bg-focus;
  24. }
  25. }
  26. &:active {
  27. background-color: $color-input_default-bg-active;
  28. }
  29. .#{$module}-clearbtn {
  30. position: absolute;
  31. top: 0;
  32. min-width: $width-textarea-icon;
  33. color: $color-textarea-icon-default;
  34. right: $spacing-textarea-icon-right;
  35. height: $height-textarea-default;
  36. & > svg {
  37. pointer-events: none;
  38. }
  39. &:hover {
  40. cursor: pointer;
  41. .#{$prefix}-icon {
  42. color: $color-textarea-icon-hover;
  43. }
  44. }
  45. &-hidden {
  46. visibility: hidden;
  47. }
  48. }
  49. &-disabled, &-readonly {
  50. cursor: not-allowed;
  51. // border: $border-thickness-control $color-input_disabled-border-default solid;
  52. color: $color-input_disabled-text-default;
  53. background-color: $color-input_disabled-bg-default;
  54. &:hover {
  55. background-color: $color-input_disabled-bg-default;
  56. }
  57. &::placeholder {
  58. color: $color-input_disabled-text-default;
  59. }
  60. }
  61. &-readonly {
  62. cursor: text;
  63. }
  64. &-error {
  65. background-color: $color-input_danger-bg-default;
  66. border-color: $color-input_danger-border-default;
  67. &:hover {
  68. background-color: $color-input_danger-bg-hover;
  69. border-color: $color-input_danger-border-hover;
  70. }
  71. &.#{$module}-textarea-wrapper-focus {
  72. background-color: $color-input_danger-bg-focus;
  73. border-color: $color-input_danger-border-focus;
  74. }
  75. &:active {
  76. background-color: $color-input_danger-bg-active;
  77. border-color: $color-input_danger-border-focus;
  78. }
  79. }
  80. &-warning {
  81. background-color: $color-input_warning-bg-default;
  82. border-color: $color-input_warning-border-default;
  83. &:hover {
  84. background-color: $color-input_warning-bg-hover;
  85. border-color: $color-input_warning-border-hover;
  86. }
  87. &.#{$module}-textarea-wrapper-focus {
  88. background-color: $color-input_warning-bg-focus;
  89. border-color: $color-input_warning-border-focus;
  90. }
  91. &:active {
  92. background-color: $color-input_warning-bg-active;
  93. border-color: $color-input_warning-border-focus;
  94. }
  95. }
  96. // &-resize {
  97. // resize: vertical;
  98. // overflow: auto;
  99. // .#{$module}-textarea {
  100. // min-height: 52px;
  101. // height: calc(100% - 24px);
  102. // }
  103. // }
  104. }
  105. .#{$module}-textarea {
  106. position: relative;
  107. resize: none;
  108. // min-height: $height-input_default;
  109. padding: $spacing-textarea-paddingY $spacing-textarea-paddingX;
  110. @include shadow-0;
  111. @include font-size-regular;
  112. background-color: transparent;
  113. border: $width-textarea-border solid $color-textarea-border-default;
  114. vertical-align: bottom;
  115. width: 100%;
  116. outline: none;
  117. cursor: text;
  118. box-sizing: border-box;
  119. color: $color-input_default-text-default;
  120. &:hover {
  121. border-color: $color-textarea-border-hover;
  122. }
  123. &::placeholder {
  124. color: $color-input_placeholder-text-default;
  125. }
  126. &-showClear {
  127. padding-right: $spacing-textarea_withShowClear-paddingRight;
  128. }
  129. &-disabled, &-readonly {
  130. cursor: not-allowed;
  131. color: $color-input_disabled-text-default;
  132. background-color: transparent;
  133. &:hover {
  134. background-color: transparent;
  135. }
  136. &::placeholder {
  137. color: $color-input_disabled-text-default;
  138. }
  139. }
  140. &-readonly {
  141. cursor: text;
  142. }
  143. &-autosize {
  144. overflow: hidden;
  145. }
  146. &-counter {
  147. @include font-size-small;
  148. display: flex;
  149. flex-direction: column;
  150. justify-content: center;
  151. padding: $spacing-textarea_counter-paddingTop $spacing-textarea_counter-paddingRight $spacing-textarea_counter-paddingBottom $spacing-textarea_counter-paddingLeft;
  152. min-height: $height-textarea_counter;
  153. text-align: right;
  154. color: $color-input_counter-text-default;
  155. &-exceed {
  156. color: $color-input_counter_danger-text-default;
  157. }
  158. }
  159. }
  160. @import "./rtl.scss";