UNPKG

@kelvininc/ui-components

Version:
122 lines (119 loc) 3.38 kB
/** 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-6-rgb, 63, 63, 63), 0.5); --modal-background-color: var(--kv-neutral-0, #fff); }