textarea.scss 5.1 KB

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