@synergy-design-system/components
Version:
This package provides the base of the Synergy Design System as native web components. It uses [lit](https://www.lit.dev) and parts of [shoelace](https://shoelace.style/). Synergy officially supports the latest two versions of all major browsers (as define
185 lines (153 loc) • 4.7 kB
JavaScript
// src/components/file/file.styles.ts
import { css } from "lit";
var file_styles_default = css`
:host {
display: block;
}
.input__control {
/**
* Visually hide the input type=file without display:none
* This is necessary for accessibility reasons and so the native html input validation popup
* is shown.
*/
border: 0;
clip-path: inset(50%);
height: 1px;
margin: 0;
overflow: hidden;
padding: 0;
position: absolute;
white-space: nowrap;
width: 1px;
}
.form-control--droparea .input__control {
/* move the input into the center, so the native validation popup is centered to the droparea */
left: 50%;
}
.form-control-input {
/* needed, so the native validation popup is centered correctly */
position: relative;
}
/* Regular Input with button only */
.button__wrapper {
align-items: center;
display: flex;
gap: var(--syn-input-spacing-medium);
}
.form-control--small .button__wrapper {
gap: var(--syn-input-spacing-small);
}
:host([size="large"]) .button__wrapper {
gap: var(--syn-input-spacing-large);
}
/**
* The value of the chosen file(s) or the placeholder text
*/
.input__value {
color: var(--syn-input-color);
font-size: var(--syn-input-label-font-size-medium);
}
.input__value.input__value--hidden {
display: none;
}
.input__value--placeholder {
color: var(--syn-input-help-text-color);
}
.form-control--small .input__value {
font-size: var(--syn-input-label-font-size-small);
}
.form-control--large .input__value {
font-size: var(--syn-input-label-font-size-large);
}
/**
* Special case for regular inputs:
* When the user uses drag and drop, highlight the button with the primary color
*/
.form-control--user-dragging:not([disabled]) .button::part(base) {
background: none;
border-color: var(--syn-color-primary-900);
color: var(--syn-color-primary-900);
}
/* Drop Area */
.droparea {
--highlight-color: var(--syn-color-primary-600);
border: var(--syn-border-width-small) dashed var(--syn-input-border-color);
font: var(--syn-body-medium-regular);
padding: var(--syn-spacing-x-large) var(--syn-spacing-large);
transition: var(--syn-transition-medium) background;
}
.droparea:focus-visible {
border: var(--syn-border-width-small) dashed var(--syn-color-primary-600);
outline: var(--syn-focus-ring);
outline-offset: var(--syn-focus-ring-offset);
}
/* Adjust the highlight to match an inactive item */
:host([disabled]) .droparea {
--highlight-color: var(--syn-color-neutral-600);
}
:host([disabled]) .input__value {
display: none;
}
.droparea__background {
align-items: center;
display: flex;
gap: var(--syn-spacing-x-small);
padding: var(--syn-spacing-x-small) var(--syn-spacing-medium);
}
.droparea__icon {
align-items: center;
color: var(--highlight-color);
display: flex;
font-size: var(--syn-spacing-3x-large);
}
.droparea__text {
display: flex;
flex-direction: column;
gap: var(--syn-spacing-3x-small);
margin: 0;
}
.droparea__text strong {
color: var(--highlight-color);
font-weight: var(--syn-font-weight-bold);
}
/* Sizes */
/* stylelint-disable-next-line no-descending-specificity */
.form-control--small .droparea {
font: var(--syn-body-small-regular);
}
.form-control--small .droparea__icon {
font-size: var(--syn-spacing-2x-large)
}
/* stylelint-disable-next-line no-descending-specificity */
.form-control--large .droparea {
font: var(--syn-body-large-regular);
}
.form-control--large .droparea__icon {
font-size: var(--syn-spacing-4x-large)
}
/* Disabled Styles */
:host([disabled]) .droparea,
:host([disabled]) .input__value {
cursor: not-allowed;
opacity: var(--syn-input-disabled-opacity);
}
:host(:not([disabled])) .form-control--user-dragging .droparea {
background: var(--syn-color-primary-50);
border: var(--syn-border-width-small) solid var(--syn-color-primary-600);
cursor: pointer;
}
:host(:not([disabled])) .droparea:not(:focus-visible):hover {
--highlight-color: var(--syn-color-primary-900);
border: var(--syn-border-width-small) dashed var(--syn-color-primary-900);
cursor: pointer;
}
/* Validation */
/* stylelint-disable-next-line no-descending-specificity */
:host([data-user-invalid]:not([disabled])) .droparea {
border: var(--syn-border-width-small) dashed var(--syn-input-border-color-focus-error);
}
`;
export {
file_styles_default
};
//# sourceMappingURL=chunk.CW2Q7KG6.js.map