UNPKG

@coderundebug/ui-web

Version:

A collection of UI web components that can be used in any web project.

211 lines (186 loc) 6.18 kB
/* By Stephen Paul Hassall (web: https://coderundebug.com) */ /* Theme: mono */ :root, :host { /* Only allow dark mode */ color-scheme: dark; /* Icons */ --ui-icon-mirror: scaleX(1); /* Border */ --ui-border-radius-small: 2px; --ui-border-radius-normal: 4px; --ui-border-radius-large: 8px; --ui-border-width: 2px; --ui-border-style: dashed; /* Font */ --ui-font-size-small: 12px; --ui-font-size-normal: 16px; --ui-font-size-large: 24px; --ui-font-weight-normal: normal; --ui-font-weight-bold: 600; /* Animation duration */ --ui-animation-duration-slow: 400ms; --ui-animation-duration-default: 200ms; --ui-animation-duration-quick: 100ms; /* Colors */ --ui-background: rgb(39, 35, 37); --ui-midground: rgb(48, 43, 52); --ui-foreground: rgb(255, 246, 230); --ui-default-background: rgb(58, 52, 68); --ui-default-foreground: rgb(255, 246, 230); --ui-selected-background: rgb(69, 35, 55); --ui-selected-foreground: rgb(255, 128, 205); --ui-success-background: hsl(104 50% 30% / 1); --ui-success-foreground: hsl(104 50% 90% / 1); --ui-warning-background: hsl(45 50% 30% / 1); --ui-warning-foreground: hsl(45 50% 90% / 1); --ui-danger-background: hsl(0 50% 30% / 1); --ui-danger-foreground: hsl(0 50% 90% / 1); --ui-info-background: hsl(190 90% 30% / 1); --ui-info-foreground: hsl(190 50% 90% / 1); --ui-highlight-background: hsl(302 50% 30% / 1); --ui-highlight-foreground: hsl(302 50% 90% / 1); /* Module */ --ui-module-background: rgb(58, 52, 68); --ui-module-foreground: rgb(255, 246, 230); --ui-module-backdrop: rgba(39, 35, 37, 0.6); --ui-module-border-style: none; --ui-module-border-width: 0; --ui-module-border-color: transparent; --ui-module-shadow: rgba(0, 0, 0, 0.75) 0px 8px 16px 0px; /* Code */ --ui-code-foreground: white; /* HTML */ --ui-code-html-comment: #6a9955; --ui-code-html-tag-bracket: #808080; --ui-code-html-tag-name: #569ccb; --ui-code-html-attribute: #9cdcfe; --ui-code-html-value: #ce9178; /* CSS */ --ui-code-css-comment: #6a9955; --ui-code-css-class: #d7ba7d; --ui-code-css-id: #d7ba7d; --ui-code-css-tag: #d7ba7d; --ui-code-css-attribute: #9cdcfe; --ui-code-css-text: #c39178; --ui-code-css-function: #d4d4d4; --ui-code-css-property: #9cdcfe; --ui-code-css-value: #d4d4c9; --ui-code-css-variable: #b5ce9b; --ui-code-css-constant: #d4d4c9; /* JavaScript */ --ui-code-javascript-comment: #6a9949; --ui-code-javascript-keyword: #4a9cd6; --ui-code-javascript-declaration: #da70cb; --ui-code-javascript-property: #d4d4d4; --ui-code-javascript-class: #9cdcfe; --ui-code-javascript-function: #d0dcaa; --ui-code-javascript-text: #ce9178; --ui-code-javascript-numeric: #b5cea8; /* SQL */ --ui-code-sql-comment: #6a993e; --ui-code-sql-command: #569cd6; --ui-code-sql-text: #ce9178; --ui-code-sql-numeric: #b5cea8; --ui-code-sql-identifier: #d4d4d4; --ui-code-sql-constant: #b5cea8; --ui-code-sql-operator: #d4d4d4; /* JSON */ --ui-code-json-property: #9cdcf0; --ui-code-json-text: #ce9178; --ui-code-json-literal: #b5ce89; --ui-code-json-constant: #4a9cd6; --ui-code-json-colon: #d4d4d4; --ui-code-json-comma: #d4d4d4; --ui-code-json-curly-brackets: #d4d4d4; --ui-code-json-square-brackets: #d4d4d4; /* Group */ --ui-group-border-color: #6d6077; /* Tab */ --ui-tab-boxed-border-style: dashed; --ui-tab-boxed-border-width: 2px; --ui-tab-boxed-border-color: #6d6077; --ui-tab-bar-color: #6d6077; } /* Reduced motion */ @media (prefers-reduced-motion) { :root, :host { /* Animation duration */ --ui-animation-duration-slow: 0; --ui-animation-duration-default: 0; --ui-animation-duration-quick: 0; } } /* High contrast */ @media (forced-colors: active) or (prefers-contrast: more) { :root, :host { /* Border */ --ui-border-radius: 0; --ui-border-width: 3px; --ui-border-style: solid; /* Colors */ --ui-module-background: var(--ui-background); --ui-module-foreground: var(--ui-foreground); --ui-default-background: var(--ui-background); --ui-default-foreground: var(--ui-foreground); --ui-selected-background: var(--ui-background); --ui-selected-foreground: var(--ui-foreground); --ui-success-background: var(--ui-background); --ui-success-foreground: var(--ui-foreground); --ui-warning-background: var(--ui-background); --ui-warning-foreground: var(--ui-foreground); --ui-danger-background: var(--ui-background); --ui-danger-foreground: var(--ui-foreground); --ui-info-background: var(--ui-background); --ui-info-foreground: var(--ui-foreground); --ui-highlight-background: var(--ui-background); --ui-highlight-foreground: var(--ui-foreground); /* Module */ --ui-module-border-style: solid; --ui-module-border-width: 3px; --ui-module-border-color: var(--ui-foreground); --ui-module-shadow: none; } } @media ((forced-colors: active) or (prefers-contrast: more)) and (prefers-color-scheme: light) { :root, :host { /* Colors */ --ui-background: white; --ui-midground: white; --ui-foreground: black; } } @media ((forced-colors: active) or (prefers-contrast: more)) and (prefers-color-scheme: dark) { :root, :host { /* Colors */ --ui-background: black; --ui-midground: black; --ui-foreground: white; } } /* Hide UI components until they are loaded */ *:not(:defined) { display: none; } ::slotted(*:not(:defined)) { display: none; } /* Default body properties */ body, :host { /* Background and color */ background-color: var(--ui-background); color: var(--ui-foreground); --ui-icon-primary-color: var(--ui-foreground); /* Text */ font-family: SFMono-Medium, "SF Mono", "Segoe UI Mono", "Roboto Mono", "Ubuntu Mono", Menlo, Consolas, 'Courier New', Courier, monospace; font-size: var(--ui-font-size-normal); }