form--text.pcss.css

Same filename and directory in other branches
  1. 10 core/themes/claro/css/components/form--text.pcss.css
  2. 9 core/themes/claro/css/components/form--text.pcss.css
  3. 8.9.x core/themes/claro/css/components/form--text.pcss.css

Text and textarea input elements.

File

core/themes/claro/css/components/form--text.pcss.css

View source
  1. /**
  2. * @file
  3. * Text and textarea input elements.
  4. */
  5. .form-element {
  6. box-sizing: border-box;
  7. max-width: 100%;
  8. min-height: calc(((var(--input-padding-vertical) + var(--input-border-size)) * 2) + var(--input-line-height)); /* iOS. */
  9. padding: var(--input-padding-vertical) var(--input-padding-horizontal);
  10. color: var(--input-fg-color);
  11. border: var(--input-border-size) solid var(--input-border-color);
  12. border-radius: var(--input-border-radius-size);
  13. background: var(--input-bg-color);
  14. font-size: var(--input-font-size);
  15. line-height: var(--input-line-height);
  16. appearance: none; /* Being able to control inner box shadow on iOS. */
  17. }
  18. .no-touchevents .form-element--extrasmall,
  19. .no-touchevents .form-element[name$="][_weight]"] {
  20. min-height: calc(((var(--input--extrasmall-padding-vertical) + var(--input-border-size)) * 2) + var(--input--extrasmall-line-height)); /* iOS. */
  21. padding: var(--input--extrasmall-padding-vertical) var(--input--extrasmall-padding-horizontal);
  22. font-size: var(--input--extrasmall-font-size);
  23. line-height: var(--input--extrasmall-line-height);
  24. }
  25. /**
  26. * Override normalize.css's search appearance.
  27. */
  28. .form-element--type-search[type="search"] {
  29. appearance: none;
  30. box-sizing: border-box;
  31. }
  32. /**
  33. * Fix minor things for specific types.
  34. */
  35. .form-element--type-date,
  36. .form-element--type-time {
  37. /* stylelint-disable-next-line declaration-property-value-no-unknown */
  38. vertical-align: -webkit-baseline-middle; /* Prevent iOS input jump while filling. */
  39. }
  40. .form-element--type-date {
  41. min-width: 9.5rem; /* Prevent input width change while filling. */
  42. }
  43. .form-element--type-time {
  44. min-width: 7.5rem; /* Prevent input width change while filling. */
  45. }
  46. .form-element--type-color {
  47. min-width: 3rem; /* Bigger input for webkit */
  48. padding: 0; /* Bigger pickable area */
  49. text-indent: calc(0.75rem - var(--input-border-size)); /* Text-input fallback for non-supporting browsers like Safari */
  50. }
  51. /**
  52. * Better upload button alignment for Chrome.
  53. */
  54. .form-element--type-file::-webkit-file-upload-button {
  55. vertical-align: top;
  56. }
  57. /**
  58. * States.
  59. */
  60. .form-element:active {
  61. border-color: var(--input--focus-border-color);
  62. }
  63. .form-element:hover {
  64. border-color: var(--input--hover-border-color);
  65. box-shadow: inset 0 0 0 var(--input-border-size) var(--input--hover-border-color);
  66. }
  67. .form-element:focus {
  68. box-shadow:
  69. 0 0 0 2px var(--color-white),
  70. 0 0 0 5px var(--color-focus);
  71. }
  72. .form-element:hover:focus {
  73. box-shadow:
  74. 0 0 0 2px var(--color-white),
  75. 0 0 0 5px var(--color-focus),
  76. inset 0 0 0 var(--input-border-size) var(--input--hover-border-color);
  77. }
  78. .form-element.error {
  79. border-width: var(--input--error-border-size);
  80. border-color: var(--input--error-border-color);
  81. }
  82. .form-element.error:hover {
  83. box-shadow: none;
  84. }
  85. .form-element.error:hover:focus {
  86. box-shadow:
  87. 0 0 0 2px var(--color-white),
  88. 0 0 0 5px var(--color-focus);
  89. }
  90. .form-element--type-textarea.error + .cke {
  91. border-color: var(--input--error-border-color);
  92. }
  93. .form-element[disabled] {
  94. color: var(--input--disabled-fg-color);
  95. border-color: var(--input--disabled-border-color);
  96. background-color: var(--input--disabled-bg-color);
  97. box-shadow: none;
  98. /* https://stackoverflow.com/q/262158#answer-23511280 */
  99. -webkit-text-fill-color: var(--input--disabled-fg-color);
  100. }
  101. /**
  102. * Improve form element usability on narrow devices.
  103. */
  104. @media screen and (max-width: 600px) {
  105. /* Number, date and time are skipped here */
  106. .form-element {
  107. float: none;
  108. width: 100%;
  109. margin-block-start: 0.75rem;
  110. margin-inline: 0;
  111. }
  112. .form-element:first-child,
  113. .form-item__label + .form-element {
  114. margin-block-start: 0;
  115. }
  116. }
  117. .form-element--type-textarea.error + .ck-editor > .ck-editor__main {
  118. border: var(--input--error-border-size) solid var(--input--error-border-color);
  119. }

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.