@kelvininc/ui-components
Version:
Kelvin UI Components
122 lines (119 loc) • 3.38 kB
CSS
/** HEADINGS **/
/** LABELS **/
/** SPANS **/
/** PARAGRAPHS **/
/** CODE/CONSOLE **/
@property --rotation {
syntax: "<angle>";
initial-value: 0deg;
inherits: false;
}
@keyframes rotate-border {
to {
--rotation: 360deg;
}
}
:host {
/**
* @prop --modal-height: The modal's height in px.
* @prop --modal-min-height: The modal's minimum height in px.
* @prop --modal-width: The modal's width in px.
* @prop --modal-min-width: The modal's minimum width in px.
* @prop --modal-topbar-height: The modal's topbar height in px.
* @prop --modal-topbar-text-color: The modal's text topbar color.
* @prop --modal-z-index: The modal's z-index
* @prop --modal-overlay-color: The modal's overlay color.
* @prop --modal-background-color: The modal's background color.
* @prop --modal-close-button-width: The modal's close button width
* @prop --modal-close-button-height: The modal's close button height
*/
--modal-height: fit-content;
--modal-min-height: 235px;
--modal-width: fit-content;
--modal-min-width: 400px;
--modal-topbar-height: 50px;
--modal-topbar-text-color: var(--kv-neutral-4, #bebebe);
--modal-z-index: 1;
--modal-overlay-color: rgba(var(--kv-neutral-9-rgb, 18, 18, 18), 0.8);
--modal-background-color: var(--kv-neutral-8, #202020);
--modal-close-button-width: 16px;
--modal-close-button-height: 16px;
}
.modal-overlay {
position: fixed;
inset: 0;
z-index: var(--modal-z-index);
background: var(--modal-overlay-color);
}
.modal-container {
position: absolute;
overflow: auto;
outline: none;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
width: var(--modal-width);
min-width: var(--modal-min-width);
height: var(--modal-height);
min-height: var(--modal-min-height);
border-radius: 10px;
background-color: var(--modal-background-color);
display: flex;
flex-direction: column;
z-index: var(--modal-z-index);
transition: width 0.3s ease-in-out, height 0.3s ease-in-out;
}
.modal-container .topbar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 var(--kv-spacing-4x, 16px);
height: var(--modal-topbar-height);
border-bottom: 1px solid var(--kv-neutral-7, #2a2a2a);
box-sizing: border-box;
}
.modal-container .topbar .title {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
font-family: var(--kv-primary-font, "proxima-nova", sans-serif, "Arial");
font-size: 12px;
font-weight: 400;
font-stretch: normal;
font-style: normal;
line-height: 18px;
letter-spacing: normal;
letter-spacing: 1.5px;
text-transform: uppercase;
color: var(--modal-topbar-text-color);
}
.modal-container .topbar .actions {
display: inline-flex;
align-items: center;
gap: var(--kv-spacing-3x, 12px);
}
.modal-container .content {
display: flex;
flex-direction: column;
flex: 1;
min-height: 0;
}
.modal-container .close-button {
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
user-select: none;
pointer-events: all;
}
.modal-container .close-button kv-icon {
--icon-width: var(--modal-close-button-width);
--icon-height: var(--modal-close-button-height);
--icon-color: var(--kv-neutral-4, #bebebe);
}
:host {
--modal-overlay-color: rgba(var(--kv-neutral-9-rgb, 18, 18, 18), 0.8);
--modal-background-color: var(--kv-neutral-8, #202020);
}