feat: dark and light themes

This commit is contained in:
Lucas Colombo
2023-07-02 18:36:28 -03:00
parent 65a7943588
commit 2a81b68185
450 changed files with 8511 additions and 48426 deletions

View File

@@ -0,0 +1,364 @@
@use '@lucas-labs/lui-micro/color' as color;
@use './modules/chroma' as chroma;
@use './modules/codemirror' as codemirror;
@use './modules/custom' as custom;
@use '@lucas-labs/lui-micro/var' as var;
@mixin make-theme($is-dark: true) {
$lvl1: #{color.get('elevation/3')};
$lvl1-rgb: #{color.get('elevation/3', 'rgb')};
$lvl2: #{color.get('elevation/2')};
$lvl2-rgb: #{color.get('elevation/2', 'rgb')};
$lvl3: #{color.get('elevation/1')};
$lvl3-rgb: #{color.get('elevation/1', 'rgb')};
:root {
* {
--fonts-regular: #{var.get('font-family')};
--fonts-monospace: #{var.get('code-font-family')};
}
@if $is-dark {
color-scheme: dark;
--is-dark-theme: true;
} @else {
color-scheme: light;
--is-dark-theme: false;
}
accent-color: #{color.get('primary/base')};
--color-primary: #{color.get('primary/base')};
--color-primary-contrast: #{color.get('primary/base', 'contrast')};
--color-primary-dark-1: #{color.get('primary/dark/3%')};
--color-primary-dark-2: #{color.get('primary/dark/6%')};
--color-primary-dark-3: #{color.get('primary/dark/9%')};
--color-primary-dark-4: #{color.get('primary/dark/12%')};
--color-primary-dark-5: #{color.get('primary/dark/15%')};
--color-primary-dark-6: #{color.get('primary/dark/18%')};
--color-primary-dark-7: #{color.get('primary/dark/21%')};
--color-primary-light-1: #{color.get('primary/light/3%')};
--color-primary-light-2: #{color.get('primary/light/6%')};
--color-primary-light-3: #{color.get('primary/light/9%')};
--color-primary-light-4: #{color.get('primary/light/12%')};
--color-primary-light-5: #{color.get('primary/light/15%')};
--color-primary-light-6: #{color.get('primary/light/18%')};
--color-primary-light-7: #{color.get('primary/light/21%')};
--color-primary-alpha-10: rgba(#{color.get('primary/base', 'rgb')}, 0.1);
--color-primary-alpha-20: rgba(#{color.get('primary/base', 'rgb')}, 0.2);
--color-primary-alpha-30: rgba(#{color.get('primary/base', 'rgb')}, 0.3);
--color-primary-alpha-40: rgba(#{color.get('primary/base', 'rgb')}, 0.4);
--color-primary-alpha-50: rgba(#{color.get('primary/base', 'rgb')}, 0.5);
--color-primary-alpha-60: rgba(#{color.get('primary/base', 'rgb')}, 0.6);
--color-primary-alpha-70: rgba(#{color.get('primary/base', 'rgb')}, 0.7);
--color-primary-alpha-80: rgba(#{color.get('primary/base', 'rgb')}, 0.8);
--color-primary-alpha-90: rgba(#{color.get('primary/base', 'rgb')}, 0.9);
--color-secondary: #{color.get('elevation/5')};
--color-secondary-dark-1: #{color.get('secondary/light/3%')};
--color-secondary-dark-2: #{color.get('secondary/light/6%')};
--color-secondary-dark-3: #{color.get('secondary/light/9%')};
--color-secondary-dark-4: #{color.get('secondary/light/12%')};
--color-secondary-dark-5: #{color.get('secondary/light/15%')};
--color-secondary-dark-6: #{color.get('secondary/light/18%')};
--color-secondary-dark-7: #{color.get('secondary/light/21%')};
--color-secondary-dark-8: #{color.get('secondary/light/24%')};
--color-secondary-dark-9: #{color.get('secondary/light/27%')};
--color-secondary-dark-10: #{color.get('secondary/light/30%')};
--color-secondary-dark-11: #{color.get('secondary/light/33%')};
--color-secondary-dark-12: #{color.get('secondary/light/36%')};
--color-secondary-dark-13: #{color.get('secondary/light/39%')};
--color-secondary-light-1: #{color.get('secondary/dark/3%')};
--color-secondary-light-2: #{color.get('secondary/dark/6%')};
--color-secondary-light-3: #{color.get('secondary/dark/9%')};
--color-secondary-light-4: #{color.get('secondary/dark/12%')};
--color-secondary-alpha-10: rgba(#{color.get('secondary/base', 'rgb')}, 0.1);
--color-secondary-alpha-20: rgba(#{color.get('secondary/base', 'rgb')}, 0.2);
--color-secondary-alpha-30: rgba(#{color.get('secondary/base', 'rgb')}, 0.3);
--color-secondary-alpha-40: rgba(#{color.get('secondary/base', 'rgb')}, 0.4);
--color-secondary-alpha-50: rgba(#{color.get('secondary/base', 'rgb')}, 0.5);
--color-secondary-alpha-60: rgba(#{color.get('secondary/base', 'rgb')}, 0.6);
--color-secondary-alpha-70: rgba(#{color.get('secondary/base', 'rgb')}, 0.7);
--color-secondary-alpha-80: rgba(#{color.get('secondary/base', 'rgb')}, 0.8);
--color-secondary-alpha-90: rgba(#{color.get('secondary/base', 'rgb')}, 0.9);
/* colors */
--color-red: #{color.get('theme/red/base')};
--color-orange: #{color.get('theme/peach/base')};
--color-yellow: #{color.get('theme/yellow/base')};
--color-olive: #{color.get('theme/green/base')};
--color-green: #{color.get('theme/green/base')};
--color-teal: #{color.get('theme/teal/base')};
--color-blue: #{color.get('theme/blue/base')};
--color-violet: #{color.get('theme/lavender/base')};
--color-purple: #{color.get('theme/mauve/base')};
--color-pink: #{color.get('theme/pink/base')};
--color-brown: #{color.get('theme/flamingo/base')};
--color-grey: #{color.get('elevation/9')};
--color-black: #{color.get('elevation/1')};
/* dark variants */
--color-red-dark-1: #{color.get('theme/red/dark/12%')};
--color-orange-dark-1: #{color.get('theme/peach/dark/12%')};
--color-yellow-dark-1: #{color.get('theme/yellow/dark/12%')};
--color-olive-dark-1: #{color.get('theme/green/dark/12%')};
--color-green-dark-1: #{color.get('theme/green/dark/12%')};
--color-teal-dark-1: #{color.get('theme/teal/dark/12%')};
--color-blue-dark-1: #{color.get('theme/blue/dark/12%')};
--color-violet-dark-1: #{color.get('theme/lavender/dark/12%')};
--color-purple-dark-1: #{color.get('theme/mauve/dark/12%')};
--color-pink-dark-1: #{color.get('theme/pink/dark/12%')};
--color-brown-dark-1: #{color.get('theme/flamingo/dark/12%')};
--color-red-dark-2: #{color.get('theme/red/dark/15%')};
--color-orange-dark-2: #{color.get('theme/peach/dark/15%')};
--color-yellow-dark-2: #{color.get('theme/yellow/dark/15%')};
--color-olive-dark-2: #{color.get('theme/green/dark/15%')};
--color-green-dark-2: #{color.get('theme/green/dark/15%')};
--color-teal-dark-2: #{color.get('theme/teal/dark/15%')};
--color-blue-dark-2: #{color.get('theme/blue/dark/15%')};
--color-violet-dark-2: #{color.get('theme/lavender/dark/15%')};
--color-purple-dark-2: #{color.get('theme/mauve/dark/15%')};
--color-pink-dark-2: #{color.get('theme/pink/dark/15%')};
--color-brown-dark-2: #{color.get('theme/flamingo/dark/15%')};
/* light variants */
--color-red-light: #{color.get('theme/red/light/12%')};
--color-orange-light: #{color.get('theme/peach/light/12%')};
--color-yellow-light: #{color.get('theme/yellow/light/12%')};
--color-olive-light: #{color.get('theme/green/light/12%')};
--color-green-light: #{color.get('theme/green/light/12%')};
--color-teal-light: #{color.get('theme/teal/light/12%')};
--color-blue-light: #{color.get('theme/blue/light/12%')};
--color-violet-light: #{color.get('theme/lavender/light/12%')};
--color-purple-light: #{color.get('theme/mauve/light/12%')};
--color-pink-light: #{color.get('theme/pink/light/12%')};
--color-brown-light: #{color.get('theme/flamingo/light/12%')};
--color-grey-light: #{color.get('elevation/11')};
--color-black-light: #{if(
is-dark,
color.get('theme/black/light/12%'),
color.get('theme/white/light/12%')
)};
/* other colors */
--color-gold: #{color.get('theme/rosewater/base')};
--color-white: #{color.get('text')};
--color-diff-removed-word-bg: rgba(#{color.get('theme/red/base', 'rgb')}, 0.15);
--color-diff-added-word-bg: rgba(#{color.get('theme/green/base', 'rgb')}, 0.15);
--color-diff-removed-row-bg: rgba(#{color.get('theme/red/base', 'rgb')}, 0.07);
--color-diff-moved-row-bg: rgba(#{color.get('theme/yellow/base', 'rgb')}, 0.07);
--color-diff-added-row-bg: rgba(#{color.get('theme/green/base', 'rgb')}, 0.07);
--color-diff-removed-row-border: rgba(#{color.get('theme/red/base', 'rgb')}, 0.07);
--color-diff-moved-row-border: rgba(#{color.get('theme/yellow/base', 'rgb')}, 0.07);
--color-diff-added-row-border: rgba(#{color.get('theme/green/base', 'rgb')}, 0.07);
--color-diff-inactive: #{color.get('elevation/9')};
--color-error-border: #{color.get('theme/red/base')};
--color-error-bg: rgba(#{color.get('theme/red/base', 'rgb')}, 0.15);
--color-error-bg-active: #{color.get('theme/red/light/6%')};
--color-error-bg-hover: #{color.get('theme/red/light/12%')};
--color-error-text: #{color.get('theme/red/base')};
--color-success-border: #{color.get('theme/green/light/12%')};
--color-success-bg: rgba(#{color.get('theme/green/base', 'rgb')}, 0.15);
--color-success-text: #{color.get('text')};
--color-warning-border: #{color.get('theme/yellow/light/12%')};
--color-warning-bg: #{color.get('theme/yellow/base')};
--color-warning-text: #{$lvl1};
--color-info-border: #{color.get('theme/blue/light/12%')};
--color-info-bg: #{$lvl1};
--color-info-text: #{color.get('text')};
--color-red-badge: #{color.get('theme/red/light/12%')};
--color-red-badge-bg: #{$lvl1};
--color-red-badge-hover-bg: #{color.get('theme/red/light/6%')};
--color-green-badge: #{color.get('theme/green/base')};
--color-green-badge-bg: #{$lvl1};
--color-green-badge-hover-bg: #{color.get('theme/green/light/6%')};
--color-yellow-badge: #{color.get('theme/yellow/base')};
--color-yellow-badge-bg: #{$lvl1};
--color-yellow-badge-hover-bg: #{color.get('theme/yellow/light/6%')};
--color-orange-badge: #{color.get('theme/peach/base')};
--color-orange-badge-bg: #{$lvl1};
--color-orange-badge-hover-bg: #{color.get('theme/peach/light/6%')};
--color-git: #{color.get('theme/peach/base')};
--color-label-bg: #{color.get('primary/base')};
/* target-based colors */
--color-body: #{$lvl1};
--color-box-header: #{rgba(color.get('elevation/2', 'rgb'), .8)};
--color-box-body: transparent;
--color-box-body-highlight: #{color.get('elevation/4')};
--color-text-dark: #{color.get('elevation/10')};
--color-text: #{color.get('text')};
--color-text-light: #{color.get('elevation/12')};
--color-text-light-1: #{color.get('elevation/11')};
--color-text-light-2: #{color.get('elevation/10')};
--color-text-light-3: #{color.get('elevation/9')};
--color-footer: rgba(#{color.get('elevation/2', 'rgb')}, 0.2);
--color-timeline: #{color.get('elevation/4')};
--color-input-text: #{color.get('text')};
--color-input-background: #{color.get('elevation/4')};
--color-input-toggle-background: #{color.get('elevation/4')};
--color-input-border: #{color.get('elevation/5')};
--color-input-border-hover: #{color.get('elevation/6')};
--color-header-wrapper: #{$lvl2};
--color-header-wrapper-transparent: #00000000;
--color-light: #{color.get('elevation/6')};
--color-light-mimic-enabled: rgba(
0,
0,
0,
calc(40 / 255 * 222 / 255 / var(--opacity-disabled))
);
--color-light-border: #{color.get('elevation/6')};
--color-hover: rgba(#{color.get('elevation/6', 'rgb')}, 0.1);
--color-active: rgba(#{color.get('text', 'rgb')}, 0.1);
--color-menu: #{color.get('elevation/3')};
--color-card: #{color.get('elevation/3')};
--color-markup-table-row: rgba(#{color.get('text', 'rgb')}, 0.02);
--color-markup-code-block: rgba(#{color.get('text', 'rgb')}, 0.05);
--color-button: #{color.get('elevation/4')};
--color-code-bg: #{color.get('elevation/2')};
--color-code-sidebar-bg: #{color.get('elevation/4')};
--color-shadow: rgba(#{$lvl1-rgb}, 0.1);
--color-secondary-bg: #{color.get('elevation/4')};
--color-text-focus: #{color.get('text')};
--color-expand-button: #{color.get('elevation/6')};
--color-placeholder-text: #{color.get('elevation/6')};
--color-editor-line-highlight: var(--color-primary-light-5);
--color-project-board-bg: var(--color-secondary-light-2);
--color-caret: var(--color-text);
--color-reaction-bg: rgba(#{color.get('text', 'rgb')}, 0.07);
--color-reaction-active-bg: var(--color-primary-alpha-40);
--color-nav-bg: #{$lvl2};
--color-nav-hover-bg: #{color.get('elevation/6')};
--color-label-active-bg: #{color.get('elevation/6')};
--color-accent: var(--color-primary-light-1);
--color-small-accent: var(--color-primary-light-5);
--color-active-line: #{color.get('elevation/5')};
}
@if $is-dark {
/* invert emojis that are hard to read otherwise */
.emoji[aria-label='check mark'],
.emoji[aria-label='currency exchange'],
.emoji[aria-label='TOP arrow'],
.emoji[aria-label='END arrow'],
.emoji[aria-label='ON! arrow'],
.emoji[aria-label='SOON arrow'],
.emoji[aria-label='heavy dollar sign'],
.emoji[aria-label='copyright'],
.emoji[aria-label='registered'],
.emoji[aria-label='trade mark'],
.emoji[aria-label='multiply'],
.emoji[aria-label='plus'],
.emoji[aria-label='minus'],
.emoji[aria-label='divide'],
.emoji[aria-label='curly loop'],
.emoji[aria-label='double curly loop'],
.emoji[aria-label='wavy dash'],
.emoji[aria-label='paw prints'],
.emoji[aria-label='musical note'],
.emoji[aria-label='musical notes'] {
filter: invert(100%) hue-rotate(180deg);
}
}
.ui.ui.ui.button:not(.inverted, .basic),
.ui.ui.ui.label:not(.inverted, .basic) {
&.primary,
&.green,
&.red,
&.teal {
color: $lvl1;
&:hover {
color: $lvl3;
}
}
}
.ui.success.message, .ui.attached.success.message, .ui.positive.message, .ui.attached.positive.message {
background: var(--color-success-bg);
color: var(--color-success-text);
border-color: var(--color-success-border);
}
.ui.grey.labels .label, .ui.ui.ui.grey.label {
background-color: color.get('primary/base');
border-color: color.get('primary/base');
color: $lvl1;
font-weight: 900;
}
.ui.label, .ui.menu .item>.label {
background: var(--color-label-bg);
color: var(--color-label-text);
}
.ui.basic.modal {
background-color: $lvl3;
}
.ui.error.message .header, .ui.negative.message .header, .ui.red.message .header {
color: var(--color-error-text);
}
// link color for signed commits
.ui.commit-header-row .svg.gitea-lock ~ a {
color: $lvl1;
}
// most recent commit hover when signed
.ui.sha.isSigned.isVerified:hover {
.shortsha {
color: $lvl1;
}
svg.gitea-lock {
fill: $lvl1;
}
}
// modal text color for the "Remove GPG Key" modal
.ui.basic.modal,
.ui.basic.modal > .header,
.ui.inverted.button {
color: color.get('text') !important;
}
::selection {
background: rgba(#{color.get('theme/rosewater/base', 'rgb')}, 0.3) !important;
}
body {
font-size: var.get('base-font-size');
}
footer {
justify-content: flex-end !important;
.right-links {
justify-content: space-around !important;
}
.right-links>a {
border-left: none !important;
padding-left: 0px !important;
margin-left: 0px !important;
}
.ui.dropdown .menu {
left: -50% !important;
margin-bottom: 16px !important;
}
}
@include chroma.make-chroma-styles;
@include codemirror.make-code-mirror-styles;
@include custom.apply-custom-styles;
}

View File

@@ -0,0 +1,310 @@
@use '@lucas-labs/lui-micro/color' as color;
@use '@lucas-labs/lui-micro/var' as var;
// variables: (
// 'base-font-size': 16px,
// 'font-family': 'Roboto, sans-serif',
// 'code-font-family': '"Source Code Pro", "Roboto Mono", Consolas, monospace',
// ),
@mixin make-chroma-styles {
.chroma .code-inner{
font: 14px var.get('code-font-family');
}
/* NameBuiltinPseudo */
.chroma .bp {
color: color.get('theme/peach/base');
}
/* Comment */
.chroma .c {
color: color.get('elevated/7');
}
/* CommentSingle */
.chroma .c1 {
color: color.get('elevated/7');
}
/* CommentHashbang */
.chroma .ch {
color: color.get('elevated/7');
}
/* CommentMultiline */
.chroma .cm {
color: color.get('elevated/7');
}
/* CommentPreproc */
.chroma .cp {
color: color.get('theme/blue/base');
}
/* CommentPreprocFile */
.chroma .cpf {
color: color.get('theme/blue/base');
}
/* CommentSpecial */
.chroma .cs {
color: color.get('elevated/7');
}
/* LiteralStringDelimiter */
.chroma .dl {
color: color.get('theme/blue/base');
}
/* NameFunctionMagic */
.chroma .fm {
}
/* Generic */
.chroma .g {
}
/* GenericDeleted */
.chroma .gd {
color: color.get('theme');
background-color: rgba(#{color.get('theme/red/base', 'rgb')}, 0.15);
}
/* GenericEmph */
.chroma .ge {
font-style: italic;
}
/* GenericHeading */
.chroma .gh {
color: color.get('theme/sky/base');
}
/* GenericInserted */
.chroma .gi {
color: color.get('theme');
background-color: rgba(#{color.get('theme/green/base', 'rgb')}, 0.15);
}
/* GenericUnderline */
.chroma .gl {
}
/* GenericOutput */
.chroma .go {
color: color.get('theme/peach/base');
}
/* GenericPrompt */
.chroma .gp {
color: color.get('elevated/7');
font-weight: bold;
}
/* GenericError */
.chroma .gr {
color: color.get('theme/maroon/base');
}
/* GenericStrong */
.chroma .gs {
font-weight: bold;
}
/* GenericTraceback */
.chroma .gt {
color: color.get('theme/maroon/base');
}
/* GenericSubheading */
.chroma .gu {
color: color.get('theme/sky/base');
}
/* LiteralNumberIntegerLong */
.chroma .il {
color: color.get('theme/peach/base');
}
/* Keyword */
.chroma .k {
color: color.get('theme/mauve/base');
}
/* KeywordConstant */
.chroma .kc {
color: color.get('theme/yellow/base');
}
/* KeywordDeclaration */
.chroma .kd {
color: color.get('theme/mauve/base');
}
/* KeywordNamespace */
.chroma .kn {
color: color.get('theme/yellow/base');
}
/* KeywordPseudo */
.chroma .kp {
color: color.get('theme/mauve/base');
font-weight: bold;
}
/* KeywordReserved */
.chroma .kr {
color: color.get('theme/mauve/base');
}
/* KeywordType */
.chroma .kt {
color: color.get('theme/yellow/base');
}
/* Literal */
.chroma .l {
}
/* LiteralDate */
.chroma .ld {
}
/* LiteralNumber */
.chroma .m {
color: color.get('theme/peach/base');
}
/* LiteralNumberBin */
.chroma .mb {
color: color.get('theme/peach/base');
}
/* LiteralNumberFloat */
.chroma .mf {
color: color.get('theme/peach/base');
}
/* LiteralNumberHex */
.chroma .mh {
color: color.get('theme/peach/base');
}
/* LiteralNumberInteger */
.chroma .mi {
color: color.get('theme/peach/base');
}
/* LiteralNumberOct */
.chroma .mo {
color: color.get('theme/peach/base');
}
/* Name */
.chroma .n {
color: color.get('theme/lavender/base');
}
/* NameAttribute */
.chroma .na {
color: color.get('theme/yellow/base');
}
/* NameBuiltin */
.chroma .nb {
color: color.get('theme/peach/base');
}
/* NameClass */
.chroma .nc {
color: color.get('theme/yellow/base');
}
/* NameDecorator */
.chroma .nd {
color: color.get('theme/pink/base');
}
/* NameException */
.chroma .ne {
color: color.get('theme/maroon/base');
}
/* NameFunction */
.chroma .nf {
color: color.get('theme/blue/base');
}
/* NameEntity */
.chroma .ni {
color: color.get('theme/pink/base');
}
/* NameLabel */
.chroma .nl {
color: color.get('theme/yellow/base');
}
/* NameNamespace */
.chroma .nn {
color: color.get('theme/yellow/base');
}
/* NameConstant */
.chroma .no {
color: color.get('theme/yellow/base');
}
/* NameTag */
.chroma .nt {
color: color.get('theme/mauve/base');
}
/* NameVariable */
.chroma .nv {
color: color.get('theme/peach/base');
}
/* NameOther */
.chroma .nx {
color: color.get('theme/peach/base');
}
/* Operator */
.chroma .o {
color: color.get('theme/sky/base');
}
/* OperatorWord */
.chroma .ow {
color: color.get('theme/sky/base');
font-weight: bold;
}
/* Punctuation */
.chroma .p {
color: color.get('elevated/9');
}
/* NameProperty */
.chroma .py {
}
/* LiteralString */
.chroma .s {
color: color.get('theme/green/base');
}
/* LiteralStringSingle */
.chroma .s1 {
color: color.get('theme/green/base');
}
/* LiteralStringDouble */
.chroma .s2 {
color: color.get('theme/green/base');
}
/* LiteralStringAffix */
.chroma .sa {
color: color.get('theme/green/base');
}
/* LiteralStringBacktick */
.chroma .sb {
color: color.get('theme/green/base');
}
/* LiteralStringChar */
.chroma .sc {
color: color.get('theme/green/base');
}
/* LiteralStringDoc */
.chroma .sd {
color: color.get('theme/green/base');
}
/* LiteralStringEscape */
.chroma .se {
color: color.get('theme/blue/base');
}
/* LiteralStringHeredoc */
.chroma .sh {
color: color.get('theme/green/base');
}
/* LiteralStringInterpol */
.chroma .si {
color: color.get('theme/green/base');
}
/* LiteralStringRegex */
.chroma .sr {
color: color.get('theme/blue/base');
}
/* LiteralStringSymbol */
.chroma .ss {
color: color.get('theme/green/base');
}
/* LiteralStringOther */
.chroma .sx {
color: color.get('theme/green/base');
}
/* NameVariableClass */
.chroma .vc {
color: color.get('theme/yellow/base');
}
/* NameVariableGlobal */
.chroma .vg {
color: color.get('theme/peach/base');
}
/* NameVariableInstance */
.chroma .vi {
color: color.get('theme/yellow/base');
}
/* NameVariableMagic */
.chroma .vm {
}
/* TextWhitespace */
.chroma .w {
color: color.get('elevated/4');
}
}

View File

@@ -0,0 +1,95 @@
@use '@lucas-labs/lui-micro/color' as color;
@mixin make-code-mirror-styles {
.CodeMirror,
.CodeMirror.cm-s-default,
.CodeMirror.cm-s-paper {
.cm-property {
color: color.get('text')
}
.cm-header {
color: color.get('text')
}
.cm-quote {
color: color.get('theme/green/base')
}
.cm-keyword {
color: color.get('theme/mauve/base');
}
.cm-atom {
color: color.get('theme/red/base');
}
.cm-number {
color: color.get('theme/peach/base');
}
.cm-def {
color: color.get('text')
}
.cm-variable-2 {
color: color.get('theme/sky/base');
}
.cm-variable-3 {
color: color.get('theme/teal/base');
}
.cm-comment {
color: color.get('elevation/6')
}
.cm-string {
color: color.get('theme/green')
}
.cm-string-2 {
color: color.get('theme/green')
}
.cm-meta {
color: color.get('theme/peach/base');
}
.cm-qualifier {
color: color.get('theme/peach/base');
}
.cm-builtin {
color: color.get('theme/peach/base');
}
.cm-bracket {
color: color.get('text')
}
.cm-tag {
color: color.get('theme/yellow/base');
}
.cm-attribute {
color: color.get('theme/yellow/base');
}
.cm-hr {
color: color.get('elevation/9');
}
.cm-url {
color: color.get('theme/blue/base');
}
.cm-link {
color: color.get('theme/blue/base');
}
.cm-error {
color: color.get('theme/red/base');
}
}
}

View File

@@ -0,0 +1,77 @@
@use '@lucas-labs/lui-micro/var' as var;
@use '@lucas-labs/lui-micro/color' as color;
@mixin apply-styles {
.header-wrapper {
display: flex;
flex-direction: column;
margin-bottom: var.get('measure/1x');
.ui.container {
margin: 0 0 0 0 !important;
max-width: unset !important;
width: 100% !important;
padding: 0 var.get('measure/1x');
}
.repo-header {
margin: 0 0 var.get('measure/1x') 0;
}
.ui.tabs.divider {
margin-bottom: 0;
}
.ui.tabular.menu.navbar {
.item {
--item-margin-bottom: #{var.get('measure/1x')};
margin: var(--item-margin-bottom) var.get('measure/.5x');
border-radius: var.get('measure/.25x');
padding: var.get('measure/.5x') var.get('measure/.5x');
color: var(--color-text);
border: none;
svg {
color: var(--color-text-light-3);
margin-right: var.get('measure/.5x');
}
&.active {
background-color: transparent;
color: var(--color-text);
border-radius: var.get('measure/.25x') !important;
font-weight: normal;
// border-bottom: 4px solid color.get('primary/base');;
&::after {
background: color.get('primary/base');;
border-radius: 6px;
bottom: calc(0px - var(--item-margin-bottom));
content: "";
height: 2px;
position: absolute;
right: 50%;
transform: translate(50%, -50%);
width: 100%;
z-index: 1;
}
}
.small.label {
background-color: color.get('elevation/7');
border: 1px solid color.get('elevation/7');
border-radius: var.get('measure/2x');
color: var(--color-text);
font-weight: var(--base-text-weight-medium, 500);
min-width: calc(var.get('measure/1.25x') + 6px);
padding: 6px;
text-align: center;
}
&:hover {
background-color: color.get('elevation/4');
}
}
}
}
}

View File

@@ -0,0 +1,7 @@
@use './repo-header';
@use './repo';
@mixin apply-custom-styles {
@include repo-header.apply-styles();
@include repo.apply-styles();
}

View File

@@ -0,0 +1,166 @@
@use '@lucas-labs/lui-micro/var' as var;
@use '@lucas-labs/lui-micro/color' as color;
@mixin apply-styles {
.ui.table>tr>td, .ui.table>tbody>tr>td {
border-top-color: rgba(#{color.get('theme/blue/base', 'rgb')}, 0.04);
}
.page-content.repository.file.list > .ui.container.lugit-repo-list-view {
display: flex;
flex-direction: row-reverse;
column-gap: 24px;
.ui.repo-topic.large.label.topic {
background-color: rgba(#{color.get('theme/blue/base', 'rgb')}, 0.3);
color: color.get('primary/base');
border-radius: var.get('measure/2x');
border: 1px solid rgba(#{color.get('theme/blue/base', 'rgb')}, 0.4);
line-height: 14px;
}
@media (max-width: 1100px) {
width: 100%;
min-width: 100%;
margin: 0;
padding: 0 var.get('measure/2x');
.lugit-repo-header-data {
min-width: calc(#{var.get('repo-home/sidebar-width')} * 0.87) !important;
max-width: calc(#{var.get('repo-home/sidebar-width')} * 0.87) !important;
width: calc(#{var.get('repo-home/sidebar-width')} * 0.87) !important;
}
.repo-button-row {
.gt-gap-y-3 {
column-gap: var.get('measure/.5x');
#new-pull-request {
display: none;
}
[role=menu] {
display: none;
}
}
#clone-panel {
#repo-clone-url {
display: none;
}
}
}
}
@media (max-width: 768px) {
flex-direction: column;
column-gap: 0;
row-gap: 24px;
.lugit-repo-header-data {
min-width: 100%!important;
max-width: 100%!important;
width: 100%!important;
}
#repo-topics {
display: none !important;
}
#repo-desc {
display: flex;
flex-direction: column;
font-size: 1em;
row-gap: var.get('measure/1x');
h5 {
display: none;
}
span {
font-size: 1.2em !important;
font-style: italic !important;
color: var(--color-text-light-3);
}
a {
font-size: 1.1em;
}
}
}
.repo-button-row {
.gt-gap-y-3 {
column-gap: var.get('measure/.5x');
}
#clone-panel {
#repo-clone-url {
width: unset;
}
}
}
.lugit-repo-header-data {
min-width: var.get('repo-home/sidebar-width');
max-width: var.get('repo-home/sidebar-width');
width: var.get('repo-home/sidebar-width');
#repo-desc {
display: flex;
flex-direction: column;
font-size: 1em;
row-gap: var.get('measure/1x');
* {
margin: 0;
}
h5 {
font-size: 1.1em;
}
span {
font-size: 1.1em;
}
a {
font-size: 1.1em;
}
}
}
.lugit-repo-content {
display: flex;
flex-direction: column;
row-gap: var.get('measure/1x');
}
#topic_edit {
flex-direction: column;
row-gap: var.get('measure/1x');
.field.gt-f1.gt-mr-3 {
margin: 0px !important;
+div {
display: flex;
column-gap: var.get('measure/1x');
button {
display: block !important;
margin: 0px !important;
width: 100%;
}
}
}
}
#repo-topics {
margin-top: var.get('measure/1x') !important;
}
}
}

View File

@@ -0,0 +1,5 @@
@use './file-list';
@mixin apply-styles {
@include file-list.apply-styles();
}