textarea.scss 4.8 KB

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