UNPKG

@synergy-design-system/components

Version:
214 lines (179 loc) 6.73 kB
// src/components/textarea/textarea.styles.ts import { css } from "lit"; var textarea_styles_default = css` /* stylelint-disable no-descending-specificity */ /* stylelint-disable plugin/no-unsupported-browser-features */ /* stylelint-disable property-no-vendor-prefix */ :host { display: block; } .textarea { align-items: center; cursor: text; display: grid; font-family: var(--syn-input-font-family); font-weight: var(--syn-input-font-weight); letter-spacing: var(--syn-input-letter-spacing); line-height: var(--syn-line-height-normal); position: relative; transition: var(--syn-transition-fast) color, var(--syn-transition-fast) border, var(--syn-transition-fast) box-shadow, var(--syn-transition-fast) background-color; vertical-align: middle; width: 100%; } /* Standard textareas */ .textarea--standard { background-color: var(--syn-input-background-color); border: solid var(--syn-input-border-width) var(--syn-input-border-color); } .textarea--standard:hover:not(.textarea--disabled) { background-color: var(--syn-input-background-color-hover); border-color: var(--syn-input-border-color-hover); } .textarea--standard:hover:not(.textarea--disabled) .textarea__control { color: var(--syn-input-color-hover); } .textarea--standard.textarea--focused:not(.textarea--disabled) { background-color: var(--syn-input-background-color-focus); border-color: var(--syn-input-border-color-focus); box-shadow: 0 0 0 var(--syn-focus-ring-width) var(--syn-input-focus-ring-color); color: var(--syn-input-color-focus); } .textarea--standard.textarea--focused:not(.textarea--disabled) .textarea__control { color: var(--syn-input-color-focus); } .textarea--standard.textarea--disabled { background-color: var(--syn-input-background-color-disabled); border-color: var(--syn-input-border-color-disabled); cursor: not-allowed; opacity: var(--syn-input-disabled-opacity); /* #429: Use token for opacity */ } .textarea__control, .textarea__size-adjuster { grid-area: 1 / 1 / 2 / 2; } .textarea__size-adjuster { opacity: 0; pointer-events: none; visibility: hidden; } .textarea--standard.textarea--disabled .textarea__control { color: var(--syn-input-color-disabled); } .textarea--standard.textarea--disabled .textarea__control::placeholder { color: var(--syn-input-placeholder-color-disabled); } /* Readonly textareas */ .textarea--readonly { background-color: var(--syn-input-readonly-background-color); border: none; color: var(--syn-input-color); } .textarea--readonly:hover:not(.textarea--disabled) { background-color: var(--syn-input-readonly-background-color-hover); } .textarea--readonly.textarea--focused:not(.textarea--disabled) { background-color: var(--syn-input-readonly-background-color-focus); outline: var(--syn-focus-ring); outline-offset: var(--syn-focus-ring-offset); } .textarea--readonly.textarea--disabled { background-color: var(--syn-input-readonly-background-color-disabled); cursor: not-allowed; opacity: var(--syn-input-disabled-opacity); } .textarea__control { -webkit-appearance: none; appearance: none; background: none; border: none; box-shadow: none; color: var(--syn-input-color); cursor: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; line-height: 1.4; /* Unfortunately we need to add a small margin to the textarea control. This is needed for the new sick 2025 theme, as because of the big border-radius the resize icon will otherwise overlap with the border This added margin needs to be subtracted from the padding of the textarea */ margin: var(--syn-spacing-3x-small); } .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; appearance: none; } .textarea__control::placeholder { color: var(--syn-input-placeholder-color); -webkit-user-select: none; user-select: none; } .textarea__control:focus { outline: none; } /* * Size modifiers */ .textarea--small { border-radius: var(--syn-input-border-radius-small); font-size: var(--syn-input-font-size-small); } .textarea--small .textarea__control { /* TODO: Wait for Design response, how to handle this left / right spacing. Design has "--syn-input-spacing-medium" for all sizes, but we have different (coming from shoelace) */ /* We need to subtract the added margin of the textarea control from the padding */ padding: calc(var(--syn-spacing-x-small) - var(--syn-spacing-3x-small)) calc(var(--syn-input-spacing-small) - var(--syn-spacing-3x-small)); } .textarea--medium { border-radius: var(--syn-input-border-radius-medium); font-size: var(--syn-input-font-size-medium); } .textarea--medium .textarea__control { /* We need to subtract the added margin of the textarea control from the padding */ padding: calc(var(--syn-spacing-x-small) - var(--syn-spacing-3x-small)) calc(var(--syn-input-spacing-medium) - var(--syn-spacing-3x-small)); } .textarea--large { border-radius: var(--syn-input-border-radius-large); font-size: var(--syn-input-font-size-large); } .textarea--large .textarea__control { /* TODO: Wait for Design response, how to handle this left / right spacing. Design has "--syn-input-spacing-medium" for all sizes, but we have different (coming from shoelace) */ /* We need to subtract the added margin of the textarea control from the padding */ padding: calc(var(--syn-spacing-x-small) - var(--syn-spacing-3x-small)) calc(var(--syn-input-spacing-large) - var(--syn-spacing-3x-small)); } /* * Resize types */ .textarea--resize-none .textarea__control { resize: none; } .textarea--resize-vertical .textarea__control { resize: vertical; } .textarea--resize-auto .textarea__control { height: auto; overflow-y: hidden; resize: none; } /* Validation */ :host([data-user-invalid]) .textarea--standard { border-color: var(--syn-input-border-color-focus-error); } :host([data-user-invalid]) .textarea--standard.textarea--focused:not(.textarea--disabled) { border-color: var(--syn-input-border-color-focus-error); box-shadow: 0 0 0 var(--syn-focus-ring-width) var(--syn-input-focus-ring-error); } `; export { textarea_styles_default }; //# sourceMappingURL=chunk.NDJJVGQL.js.map