@uploadcare/blocks
Version:
Building blocks for Uploadcare products integration
182 lines (146 loc) • 6.08 kB
CSS
:where(.lr-wgt-theme, .lr-wgt-common, ::backdrop),
:host {
/* Base values */
--darkmode: 0;
--h-foreground: 208;
--s-foreground: 4%;
--l-foreground: calc(15% + 70% * var(--darkmode));
--h-background: 208;
--s-background: 4%;
--l-background: calc(95% - 87% * var(--darkmode));
--h-accent: 211;
--s-accent: 100%;
--l-accent: calc(50% - 5% * var(--darkmode));
--h-confirm: 140;
--s-confirm: 60%;
--l-confirm: 60%;
--h-error: 358;
--s-error: 100%;
--l-error: 66%;
--shadows: 1;
--h-shadow: 0;
--s-shadow: 0%;
--l-shadow: 0%;
--opacity-normal: 0.5;
--opacity-hover: 0.8;
--opacity-active: 1;
--ui-size: 36px;
--gap-min: 2px;
--gap-mid: 10px;
--gap-max: 20px;
--gap-table: 0px;
--borders: 1;
--border-radius-element: 7px;
--border-radius-frame: 10px;
--border-radius-thumb: 5px;
--transition-duration: 0.2s;
--modal-max-w: 800px;
--modal-max-h: 600px;
--modal-backdrop-background-image: url('data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwIiB3aWR0aD0iMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIC4xKSIgZD0iTTAgMTAgMTAgMCIvPgo8L3N2Zz4=');
/* Derivative values */
--darkmode-minus: calc(1 + var(--darkmode) * -2);
--clr-background: hsl(var(--h-background), var(--s-background), var(--l-background));
--clr-background-dark: hsl(var(--h-background), var(--s-background), calc(var(--l-background) - 3%));
--clr-background-light: hsl(var(--h-background), var(--s-background), calc(var(--l-background) + 3%));
--clr-generic-file-icon: hsl(
var(--h-background),
var(--s-background),
calc(var(--l-background) + 4% * var(--darkmode-minus))
);
--clr-accent: hsl(var(--h-accent), var(--s-accent), var(--l-accent));
--clr-accent-light: hsla(var(--h-accent), var(--s-accent), var(--l-accent), 50%);
--clr-accent-lightest: hsla(var(--h-accent), var(--s-accent), var(--l-accent), 10%);
--clr-confirm: hsl(var(--h-confirm), var(--s-confirm), var(--l-confirm));
--clr-error: hsl(var(--h-error), var(--s-error), var(--l-error));
--clr-error-light: hsla(var(--h-error), var(--s-error), var(--l-error), 15%);
--clr-error-lightest: hsla(var(--h-error), var(--s-error), var(--l-error), 5%);
--clr-error-message-bgr: hsl(var(--h-error), var(--s-error), calc(var(--l-error) + 30% * var(--darkmode-minus)));
--clr-txt: hsl(var(--h-foreground), var(--s-foreground), var(--l-foreground));
--clr-txt-mid: hsl(var(--h-foreground), var(--s-foreground), calc(var(--l-foreground) + 15% * var(--darkmode-minus)));
--clr-txt-light: hsl(
var(--h-foreground),
var(--s-foreground),
calc(var(--l-foreground) + 30% * var(--darkmode-minus))
);
--clr-txt-lightest: hsl(
var(--h-foreground),
var(--s-foreground),
calc(var(--l-foreground) + 50% * var(--darkmode-minus))
);
--clr-shade-lv1: hsla(var(--h-foreground), var(--s-foreground), var(--l-foreground), 5%);
--clr-shade-lv2: hsla(var(--h-foreground), var(--s-foreground), var(--l-foreground), 8%);
--clr-shade-lv3: hsla(var(--h-foreground), var(--s-foreground), var(--l-foreground), 12%);
--border-light: 1px solid
hsla(
var(--h-foreground),
var(--s-foreground),
var(--l-foreground),
calc((0.1 - 0.05 * var(--darkmode)) * var(--borders))
);
--border-mid: 1px solid
hsla(
var(--h-foreground),
var(--s-foreground),
var(--l-foreground),
calc((0.2 - 0.1 * var(--darkmode)) * var(--borders))
);
--border-accent: 1px solid hsla(var(--h-accent), var(--s-accent), var(--l-accent), 1 * var(--borders));
--border-dashed: 2px dashed
hsla(var(--h-foreground), var(--s-foreground), var(--l-foreground), calc(0.1 * var(--borders)));
--clr-curtain: hsla(var(--h-background), var(--s-background), calc(var(--l-background) - 10%), 70%);
--hsl-shadow: var(--h-shadow), var(--s-shadow), var(--l-shadow);
--modal-shadow: 0px 0px 1px hsla(var(--hsl-shadow), calc((0.35 + 0.65 * var(--darkmode)) * var(--shadows))),
0px 6px 40px hsla(var(--hsl-shadow), calc((0.2 + 0.4 * var(--darkmode)) * var(--shadows)));
--inset-shadow: inset 0px 2px 3px hsla(var(--hsl-shadow), calc(0.09 + 0.1 * var(--darkmode)));
/* Maybe move directly to the styles of the buttons? */
--clr-btn-bgr-primary: var(--clr-accent);
--clr-btn-bgr-primary-hover: hsl(
var(--h-accent),
var(--s-accent),
calc(var(--l-accent) - 4% * var(--darkmode-minus))
);
--clr-btn-bgr-primary-active: hsl(
var(--h-accent),
var(--s-accent),
calc(var(--l-accent) - 8% * var(--darkmode-minus))
);
--clr-btn-txt-primary: var(--clr-background-light);
--shadow-btn-primary: 0px 1px 2px hsla(var(--hsl-shadow), calc(0.26 * var(--shadows))),
0px 2px 8px hsla(var(--hsl-shadow), calc(0.08 * var(--shadows))),
inset 0px 0px 2px hsla(var(--hsl-shadow), calc(0.2 * var(--shadows)));
--clr-btn-bgr-secondary: hsl(
var(--h-background),
var(--s-background),
calc(var(--l-background) + 3% + 3% * var(--darkmode))
);
--clr-btn-bgr-secondary-hover: hsl(
var(--h-background),
var(--s-background),
calc(var(--l-background) + 8% * var(--darkmode))
);
--clr-btn-bgr-secondary-active: hsl(
var(--h-background),
var(--s-background),
calc(var(--l-background) - 3% + 13% * var(--darkmode))
);
--clr-btn-txt-secondary: var(--clr-txt);
--shadow-btn-secondary: 0px 1px 1px hsla(var(--hsl-shadow), calc(0.07 * var(--shadows))),
0px 2px 8px hsla(var(--hsl-shadow), calc(0.06 * var(--shadows))),
inset 0px 0px 1px hsla(var(--hsl-shadow), calc(0.4 * var(--shadows)));
--clr-btn-bgr-disabled: var(--clr-background);
--clr-btn-txt-disabled: var(--clr-txt-lightest);
--shadow-btn-disabled: inset 0px 0px 1px hsla(var(--hsl-shadow), calc(0.4 * var(--shadows)));
}
@media only screen and (max-height: 600px) {
:where(.lr-wgt-theme, .lr-wgt-common),
:host {
--modal-max-h: 100%;
}
}
@media only screen and (max-width: 800px) {
:where(.lr-wgt-theme, .lr-wgt-common),
:host {
--modal-max-w: 100%;
--modal-max-h: 100%;
}
}