/** * Copyright Aquera Inc 2023 * * This source code is licensed under the BSD-3-Clause license found in the * LICENSE file in the root directory of this source tree. */ import { css } from 'lit'; /** * TextArea CSS */ export const styles = css` .form-control .form-control__label { display: none; } .form-control .form-control__help-text { display: none; } /* Label */ .form-control--has-label .form-control__label { display: inline-block; margin-bottom: var(--nile-spacing-sm, var(--ng-spacing-sm)); color: var(--nile-textarea-label-color, var(--ng-colors-text-secondary-700)); font-family: var(--nile-font-family-serif, var(--ng-font-family-body)); font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm)); font-style: normal; font-weight: var(--nile-textarea-label-font-weight, var(--ng-font-weight-medium)); line-height: var(--nile-textarea-label-line-height, var(--ng-line-height-text-sm)); letter-spacing: 0.2px; } .form-control--has-label.form-control--medium .form-control__label { font-size: var(--nile-font-size-base, var(--ng-font-size-text-sm)); } :host([required]) .form-control--has-label .form-control__label::after { content: '*'; margin-inline-start: -2px; color: var(--nile-colors-red-700, var(--ng-colors-text-error-primary-600)); } /* Help text */ .form-control--has-help-text .form-control__help-text { display: block; color: var(--nile-colors-dark-500, var(--ng-colors-text-tertiary-600)); margin-top: var(--nile-spacing-sm, var(--ng-spacing-sm)); } /* Error message */ .form-control__error-message { display: block; color: var(--nile-colors-red-700, var(--ng-colors-text-error-primary-600)); margin-top: var(--nile-spacing-lg, var(--ng-spacing-sm)); font-size: var(--nile-type-scale-2), var(--ng-font-size-text-md); font-style: normal; font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular)); line-height: var(--nile-line-height-xsmall, var(--ng-line-height-text-md)); letter-spacing: 0.2px; } .form-control--has-help-text.form-control--medium .form-control__help-text { font-size: var(--nile-type-scale-1, var(--ng-font-size-text-sm)); } /* Host styles */ :host { display: block; -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing)); -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing)); text-rendering: var(--nile-text-rendering, var(--ng-text-rendering)); } :host([disabled]) .form-control--has-label .form-control__label { user-select: none; -webkit-user-select: none; } /* Textarea styles */ .textarea { display: flex; align-items: center; position: relative; width: 100%; letter-spacing: 0.5px; vertical-align: middle; border-radius: var(--nile-radius-sm, var(--ng-radius-md)); transition: var(--nile-transition-duration-default, var(--ng-transition-duration-instant)) color, var(--nile-transition-duration-default, var(--ng-transition-duration-instant)) border, var(--nile-transition-duration-default, var(--ng-transition-duration-instant)) box-shadow, var(--nile-transition-duration-default, var(--ng-transition-duration-instant)) background-color; cursor: text; min-height: var(--nile-height-12px, var(--ng-height-12px)); } /* Standard textareas */ .textarea--standard { background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary)); border: 1px solid var(--nile-textarea-standard-border-color, var(--ng-colors-border-primary)); box-shadow:var(--nile-textarea-standard-box-shadow, var(--ng-colors-effects-shadow-xs)); } .textarea--standard:hover:not(.textarea--disabled) { background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary)); border-color: var(--nile-textarea-standard-hover-border-color, var(--ng-colors-fg-quaternary-400)); border-radius: var(--nile-radius-sm, var(--ng-radius-md)); } .textarea--standard:hover:not(.textarea--disabled) .textarea__control { border-color: var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400)); border-radius: var(--nile-radius-sm, var(--ng-radius-md)); } .textarea--standard.textarea--focused:not(.textarea--disabled) { position: relative; background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary)); box-shadow: var(--nile-textarea-standard-focused-box-shadow, var(--ng-colors-effects-shadow-xs)); border-color: var(--nile-textarea-standard-focused-border-color, var(--ng-colors-border-brand)); /* border-width: var(--nile-border-width-1, var(--ng-border-width-2)); */ } /* Added to apply the hover effect in nxtgen */ .textarea--standard.textarea--focused:not(.textarea--disabled)::before { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 6.5px; box-shadow: inset 0 0 0 1px var(--ng-colors-border-brand); } .textarea--standard.textarea--warning:not(.textarea--disabled):hover { border-color: var(--nile-textarea-standard-hover-border-color, var(--ng-colors-border-warning)); } .textarea--standard.textarea--warning.textarea--focused:not(.textarea--disabled) { border-color: var(--nile-textarea-standard-focused-border-color, var(--ng-colors-border-warning-subtle)); border-width: var(--nile-border-width-1, var(--ng-border-width-2)); } .textarea--standard.textarea--error:not(.textarea--disabled):hover { border-color: var(--nile-textarea-standard-hover-border-color, var(--ng-colors-border-error)); } .textarea--standard.textarea--error.textarea--focused:not(.textarea--disabled) { border-color: var(--nile-textarea-standard-focused-border-color, var(--ng-colors-border-error)); } .textarea--standard.textarea--success:not(.textarea--disabled):hover { border-color: var(--nile-textarea-standard-hover-border-color, var(--ng-colors-border-success)); } .textarea--standard.textarea--success.textarea--focused:not(.textarea--disabled) { border-color: var(--nile-textarea-standard-focused-border-color, var(--ng-colors-border-success)); border-width: var(--nile-border-width-1, var(--ng-border-width-2)); } .textarea--standard.textarea--focused:not(.textarea--disabled) .textarea__control { color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900)); } .textarea--standard.textarea--disabled { border-color: var(--nile-textarea-standard-disabled-border-color, var(--ng-colors-border-disabled)); background: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle)); cursor: not-allowed; user-select: none; -webkit-user-select: none; box-shadow:var(--nile-textarea-standard-disabled-box-shadow, var(--ng-colors-effects-shadow-xs)); } .textarea--standard.textarea--disabled .textarea__control { color: var(--nile-colors-dark-500, var(--ng-colors-text-disabled)); pointer-events: none; } .textarea--standard.textarea--disabled .textarea__control::placeholder { color: var(--nile-colors-dark-500, var(--ng-colors-text-placeholder)); } /* Textarea control styles */ .textarea__control { flex: 1 1 auto; font-family: var(--nile-font-family-serif, var(--ng-font-family-body)); font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md)); font-style: normal; font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular)); line-height: var(--nile-line-height-xsmall, var(--ng-line-height-text-md)); /* 100% */ letter-spacing: 0.2px; color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900)); border: none; background: none; box-shadow: none; cursor: inherit; -webkit-appearance: none; } .textarea--standard.textarea--disabled .textarea__control { cursor: not-allowed; resize: none; } .textarea__control::-webkit-search-decoration, .textarea__control::-webkit-search-cancel-button, .textarea__control::-webkit-search-results-button, .textarea__control::-webkit-search-results-decoration { -webkit-appearance: none; } .textarea__control::placeholder { color: var(--nile-colors-dark-500, var(--ng-colors-text-placeholder)); user-select: none; } .textarea__control:focus { outline: none; } .textarea--medium .textarea__control { padding: var(--nile-spacing-lg, var(--ng-spacing-lg)); } /* Resize types */ .textarea--resize-none .textarea__control { resize: none; min-height: var(--nile-height-12px, var(--ng-height-12px)); } .textarea--resize-vertical .textarea__control { resize: vertical; min-height: var(--nile-height-12px, var(--ng-height-12px)); } .textarea--resize-auto .textarea__control { resize: none; overflow-y: hidden; min-height: var(--nile-height-12px, var(--ng-height-12px)); } .textarea--standard.textarea--warning { border-color: var(--nile-colors-yellow-500, var(--ng-colors-border-warning-subtle)); } .textarea--standard.textarea--error { border-color: var(--nile-colors-red-500, var(--ng-colors-border-error-subtle)); } .textarea--standard.textarea--success { border-color: var(--nile-colors-green-500, var(--ng-colors-border-success-subtle)); } .textarea--standard.textarea--destructive { border-color: var(--nile-colors-red-400); box-shadow: var(--nile-box-shadow-1, var(--ng-colors-effects-shadow-xs)); } .textarea--standard.textarea--destructive.textarea--focused { border-color: var(--nile-colors-red-400, var(--ng-colors-border-error)); box-shadow: var(--nile-box-shadow-5, var(--ng-colors-effects-shadow-xs)); } .input__non-printable { border-radius: var(--nile-radius-sm, var(--ng-radius-xs)); max-width: 400px; background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary)); //TODO: Need Token from design system border: 1px solid var(--nile-colors-red-500); //TODO: Need Token from design system color: var(--nile-colors-red-500); padding: var(--nile-spacing-lg, var(--ng-spacing-lg)); font-size: var(--nile-type-scale-2, var(--ng-font-size-text-md)); max-height: 300px; overflow-y: auto; line-height: var(--nile-line-height-xsmall, var(--ng-line-height-text-md)); } .input__remove-non-printable { color: var(--nile-colors-red-500, var(--ng-colors-text-error-primary-600)); margin-left: var(--nile-spacing-lg, var(--ng-spacing-lg)); font-size: var(--nile-type-scale-3, var(--nile-font-size-base)); color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900)); cursor: pointer; } .input__srtiked-text-container { margin-top: var(--nile-spacing-xs, var(--ng-spacing-xs)); color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900)); word-break: break-all; overflow-wrap: break-word; line-height: var(--nile-line-height-xsmall, var(--ng-line-height-text-md)); } .input__srtiked-text { text-decoration: line-through; text-decoration-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary)); color: var(--nile-colors-white-base, var(--ng-colors-bg-primary)); background-color: var(--nile-colors-red-500, var(--ng-colors-text-error-primary-600)); } `; export default [styles];