/* Copyright 2024 The Chromium Authors
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file. */

/* #css_wrapper_metadata_start
 * #type=style-lit
 * #import=../cr_shared_vars.css.js
 * #import=../cr_hidden_style_lit.css.js
 * #import=../cr_shared_style_lit.css.js
 * #import=../cr_input/cr_input_style_lit.css.js
 * #include=cr-hidden-style-lit cr-input-style-lit cr-shared-style-lit
 * #scheme=relative
 * #css_wrapper_metadata_end */

textarea {
  display: block;
  resize: none;

  /* Ensures content sits above the hover layer. */
  position: relative;
  z-index: 1;
}

#input-container {
  background-color: var(--cr-input-background-color);
}

:host([invalid]) #underline {
  border-color: var(--cr-input-error-color);
}

#input {
  padding-bottom: var(--cr-input-padding-bottom);
  padding-inline-end: var(--cr-input-padding-end);
  padding-inline-start: var(--cr-input-padding-start);
  padding-top: var(--cr-input-padding-top);
  scroll-padding-bottom: var(--cr-input-padding-end);
}

#footerContainer {
  border-top: 0;
  /* Components that use the footer should set this to "flex". */
  display: var(--cr-textarea-footer-display, none);
  font-size: var(--cr-form-field-label-font-size);
  height: var(--cr-form-field-label-height);
  justify-content: space-between;
  line-height: var(--cr-form-field-label-line-height);
  margin: 8px 0;
  min-height: 0;
  padding: 0;
  white-space: var(--cr-input-error-white-space);
}

:host([invalid]) #label,
:host([invalid]) #footerContainer {
  color: var(--cr-input-error-color);
}

:host([autogrow]) #input {
  box-sizing: content-box;
  field-sizing: content;
  min-height: calc(1lh * attr(rows number));
  max-height: var(--cr-textarea-autogrow-max-height, none);
  max-width: calc(
      100% - var(--cr-input-padding-start) - var(--cr-input-padding-end));
}
