Publish Nerbus source snapshot and build documentation

This commit is contained in:
Nerbus Contributors committed 2026-10-17 18:56:29 +00:00
commit 76cccceca7
198 files changed
+338574

No files matched your search

+458
View File
@@ -0,0 +1,458 @@
// Morph 5.1.3
// Bootswatch
// Variables
$web-font-path: "https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" !default;
@if $web-font-path {
@import url($web-font-path);
}
$btn-box-shadow-inset: inset 2px 3px 6px rgba($black, .2), inset -3px -2px 6px rgba($white, .2) !default;
@mixin shadow($shadow: $box-shadow) {
background-color: $gray-200;
border: none;
box-shadow: $shadow;
transition: background-color .15s ease-in-out, border .15s ease-in-out, box-shadow .15s ease-in-out, color .15s ease-in-out;
}
@mixin shadow-outline($shadow: $box-shadow) {
content: "";
position: absolute;
left: -.5rem;
right: -.5rem;
top: -.5rem;
bottom: -.5rem;
background-color: $body-bg;
border: 1px solid rgba($white, .1);
box-shadow: $shadow;
transition: background-color .15s ease-in-out, border .15s ease-in-out, box-shadow .15s ease-in-out, color .15s ease-in-out;
z-index: -1;
}
// Buttons
.btn {
position: relative;
color: $gray-700;
border-radius: $btn-border-radius;
@include shadow();
&:focus {
color: $gray-700;
}
&:hover,
&:focus,
&:active,
&:active:focus {
@include shadow();
color: $gray-700;
}
&:active,
&:active:focus {
border-color: transparent;
box-shadow: $btn-box-shadow-inset;
}
@each $color, $value in $theme-colors {
&-#{$color} {
&:active,
&:active:focus {
@if ($color == secondary or $color == light) {
background-color: $gray-200;
color: $gray-700;
} @else {
background-color: $value;
color: $white;
}
}
}
}
&-link {
font-weight: $btn-font-weight;
&:hover,
&:active,
&:active:focus {
color: $dark;
}
}
&.disabled {
background-color: $gray-200;
box-shadow: 2px 2px 5px rgba($black, .1), -2px -2px 5px rgba($white, .5);
color: $gray-700;
}
}
.btn-outline {
@each $color, $value in $theme-colors {
&-#{$color} {
background-color: $value;
box-shadow: 5px 5px 10px rgba($black, .2), -5px -5px 10px rgba($white, .1);
border: none;
@if ($color == secondary or $color == light) {
color: $gray-700;
} @else {
color: $white;
}
&:hover,
&:focus {
background-color: $value;
border: none;
box-shadow: 5px 5px 10px rgba($black, .2), -5px -5px 10px rgba($white, .1);
@if ($color == secondary or $color == light) {
color: $gray-700;
} @else {
color: $white;
}
}
&:active,
&:active:focus {
background-color: $value;
border: none;
box-shadow: inset 2px 3px 6px rgba($black, .1), inset -3px -2px 6px rgba($white, .1);
@if ($color == secondary or $color == light) {
color: $gray-700;
} @else {
color: $white;
}
}
}
}
}
.btn-group,
.btn-group-vertical {
@include shadow();
border-radius: $btn-border-radius;
border: none;
.btn,
.btn-group {
margin: 0;
box-shadow: none;
border: none;
&:hover,
&:active,
&:focus,
&:active:focus {
border: none;
}
}
}
.btn-group {
> .btn:nth-child(n + 3),
> :not(.btn-check) + .btn,
> .btn-group:not(:first-child) > .btn {
border-left: 1px solid $border-color;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
&:hover,
&:active,
&:active:focus {
border-left: 1px solid $border-color;
}
}
> .btn:not(:last-child):not(.dropdown-toggle),
> .btn-group:not(:last-child) > .btn {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
.btn-group-vertical {
border-radius: 1rem;
.btn {
border-radius: 1rem;
&:hover,
&:active,
&:focus,
&:active:focus {
border-radius: 1rem;
}
}
> .btn:nth-child(n + 3),
> :not(.btn-check) + .btn,
> .btn-group:not(:first-child) > .btn {
border-top-left-radius: 0;
border-top-right-radius: 0;
border-top: 1px solid rgba($black, .05);
&:hover,
&:active,
&:active:focus {
border-top-left-radius: 0;
border-top-right-radius: 0;
border-top: 1px solid rgba($black, .05);
}
}
> .btn:not(:last-child):not(.dropdown-toggle),
> .btn-group:not(:last-child) > .btn {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
&:hover,
&:active,
&:active:focus {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
}
}
.btn-check:checked + .btn,
.btn-check:active + .btn {
box-shadow: inset 2px 3px 6px rgba($black, .2);
@each $color, $value in $theme-colors {
&-#{$color} {
background-color: $value;
.btn-check:checked + &,
.btn-check:active + & {
@if $color == secondary {
color: $gray-700;
} @else {
color: $value;
}
}
}
}
}
.btn-check:not(:checked) + .btn,
.btn-check:not(:checked) + .btn:active {
background-color: $gray-200;
color: $gray-700;
}
.btn-check:checked ~ .btn-check:active + .btn,
.btn-check:checked ~ .btn-check:checked + .btn {
box-shadow: inset 0 3px 6px rgba($black, .2);
}
// Navs
.dropdown-menu {
backdrop-filter: blur(3px);
}
.nav-tabs {
@include shadow();
border-radius: $border-radius;
.nav-item {
box-shadow: 1px 0 $border-color;
&:first-child .nav-link {
border-top-left-radius: $border-radius;
border-bottom-left-radius: $border-radius;
}
&:last-child .nav-link {
border-top-right-radius: $border-radius;
border-bottom-right-radius: $border-radius;
}
}
.nav-link.active,
.nav-item.show .nav-link {
box-shadow: inset 0 3px 6px rgba($black, .2);
}
}
.nav-pills {
@include shadow();
padding: 1rem;
border-radius: $border-radius;
.nav-link.active {
box-shadow: inset 0 3px 6px rgba($black, .2);
}
}
.breadcrumb {
@include shadow();
border-radius: $border-radius;
}
.pagination {
@include shadow();
justify-content: center;
border-radius: $border-radius;
}
// Forms
.input-group {
background-color: $gray-100;
border-radius: $border-radius;
box-shadow: $box-shadow-inset;
> .form-control {
background: none;
padding-left: 0;
padding-right: 0;
box-shadow: none;
}
.input-group-text {
background: none;
}
}
.form-range {
&::-webkit-slider-runnable-track {
box-shadow: inset 1px 1px 4px rgba($black, .15);
}
&::-webkit-slider-thumb,
&:focus::-webkit-slider-thumb {
box-shadow: 1px 1px 3px rgba($black, .2), inset 2px 2px 8px rgba(shade-color($form-range-thumb-bg, 50%), .1);
}
}
.form-check-input {
background-color: $gray-400;
border: none;
box-shadow: inset 1px 1px 7px rgba($black, .2);
&:focus {
border: none;
box-shadow: none;
}
&:active {
filter: none;
}
&:checked {
background-color: $primary;
box-shadow: inset 1px 1px 7px rgba($black, .2);
}
}
.form-control {
&::-webkit-file-upload-button {
box-shadow: 2px 2px 5px rgba($black, .2), inset 3px 3px 10px rgba(shade-color($form-range-thumb-bg, 50%), .1);
}
}
.form-select:not([multiple]) {
position: relative;
box-shadow: $box-shadow;
}
// Indicators
.alert {
box-shadow: $dropdown-box-shadow;
backdrop-filter: blur(3px);
@each $color, $value in $theme-colors {
&-#{$color} {
background-color: rgba($value, .75);
box-shadow: $box-shadow-lg, inset 1px 1px 3px rgba(tint-color($value, 80%), .4), inset -5px -5px 20px rgba(shade-color($value, 80%), .05);
}
}
}
.badge {
&.bg-secondary,
&.bg-light {
color: $gray-700;
}
}
.tooltip {
&.show {
opacity: 1;
}
&-inner,
.arrow {
box-shadow: $dropdown-box-shadow;
backdrop-filter: blur(3px);
}
}
.popover,
.toast,
.modal-content {
box-shadow: $dropdown-box-shadow;
backdrop-filter: blur(3px);
}
.progress {
box-shadow: inset 2px 4px 6px rgba(shade-color($body-bg, 50%), .2), inset -3px -2px 5px rgba($white, .8);
}
.progress-bar {
box-shadow: 2px 2px 5px rgba($black, .2);
&:first-child {
border-top-left-radius: $border-radius-pill;
border-bottom-left-radius: $border-radius-pill;
}
&:last-child {
border-top-right-radius: $border-radius-pill;
border-bottom-right-radius: $border-radius-pill;
}
}
// Containers
.card {
box-shadow: inset 2px 2px 6px rgba(shade-color($body-bg, 50%), .2), inset -3px -2px 4px rgba($white, .2);
@each $color, $value in $theme-colors {
&-#{$color} {
box-shadow: inset 2px 2px 6px rgba(shade-color($value, 80%), .05), inset -3px -2px 4px rgba(tint-color($value, 80%), .2);
}
}
&-header {
border-bottom: 1px solid $border-color;
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: inherit;
}
}
.list-group {
background-color: $card-bg;
box-shadow: inset 2px 2px 6px rgba(shade-color($body-bg, 50%), .2), inset -3px -2px 4px rgba($white, .2);
}
.list-group-item {
background-color: transparent;
}
+230
View File
@@ -0,0 +1,230 @@
// Morph 5.1.3
// Bootswatch
@use "sass:color";
$theme: "morph" !default;
//
// Color system
//
$white: #fff !default;
$gray-100: #f0f5fa !default;
$gray-200: #d9e3f1 !default;
$gray-300: #dee2e6 !default;
$gray-400: #bed1e6 !default;
$gray-500: #adb5bd !default;
$gray-600: #7f8a99 !default;
$gray-700: #7b8ab8 !default;
$gray-800: #444b40 !default;
$gray-900: #212529 !default;
$black: #000 !default;
$blue: #378dfc !default;
$indigo: #6610f2 !default;
$purple: #5b62f4 !default;
$pink: #d63384 !default;
$red: #e52527 !default;
$orange: #fd7e14 !default;
$yellow: #ffc107 !default;
$green: #43cc29 !default;
$teal: #20c997 !default;
$cyan: #0dcaf0 !default;
$primary: $blue !default;
$secondary: $gray-200 !default;
$success: $green !default;
$info: $purple !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-100 !default;
$dark: $gray-900 !default;
$min-contrast-ratio: 1.5 !default;
$enable-shadows: true !default;
// Body
$body-bg: $gray-200 !default;
$body-color: $gray-700 !default;
// Links
$link-color: color.adjust($body-color, $lightness: -20%) !default;
// Components
$border-width: 0 !default;
$border-color: rgba(color.adjust($body-bg, $lightness: -50%), .1) !default;
$border-radius-pill: 50rem !default;
$box-shadow: 5px 5px 10px rgba(color.adjust($body-bg, $lightness: -50%), .2), -5px -5px 10px rgba($white, .4) !default;
$box-shadow-sm: 0 .125rem .25rem rgba(color.adjust($body-bg, $lightness: -50%), .2) !default;
$box-shadow-lg: 8px 8px 40px rgba(color.adjust($body-bg, $lightness: -90%), .15) !default;
$box-shadow-inset: inset 2px 2px 8px rgba(color.adjust($body-bg, $lightness: -50%), .3), inset -3px -2px 5px rgba($white, .8) !default;
// Fonts
// stylelint-disable-next-line value-keyword-case
$font-family-sans-serif: Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;
$headings-color: $link-color !default;
$text-muted: color.adjust($body-color, $lightness: 15%) !default;
// Buttons + Forms
$input-btn-padding-y: 1rem !default;
$input-btn-padding-x: 1.5rem !default;
// Buttons
$btn-font-weight: 600 !default;
$btn-padding-y-lg: 1.5rem !default;
$btn-padding-x-lg: 2.25rem !default;
$btn-box-shadow: $box-shadow !default;
$btn-border-radius: $border-radius-pill !default;
$btn-border-radius-sm: $border-radius-pill !default;
$btn-border-radius-lg: $border-radius-pill !default;
// Forms
$form-label-font-weight: $btn-font-weight !default;
$input-bg: $gray-100 !default;
$input-placeholder-color: $text-muted !default;
$form-switch-color: $white !default;
$form-switch-focus-color: $form-switch-color !default;
$form-select-indicator-color: $body-color !default;
$form-select-box-shadow: $box-shadow-inset !default;
$form-range-track-bg: rgba(color.adjust($body-bg, $lightness: -50%), .15) !default;
$form-range-thumb-bg: $gray-100 !default;
$form-range-thumb-active-bg: $form-range-thumb-bg !default;
$form-range-thumb-disabled-bg: $gray-200 !default;
$form-file-button-bg: $gray-100 !default;
// Navs
$nav-link-color: $body-color !default;
$nav-link-hover-color: $nav-link-color !default;
$nav-link-disabled-color: $text-muted !default;
$nav-tabs-border-radius: 0 !default;
$nav-tabs-link-active-color: $white !default;
$nav-tabs-link-active-bg: $primary !default;
// Navbar
$navbar-dark-color: rgba($white, .75) !default;
$navbar-dark-hover-color: $white !default;
$navbar-dark-active-color: $navbar-dark-hover-color !default;
$navbar-dark-disabled-color: rgba($white, .25) !default;
$navbar-light-color: $body-color !default;
$navbar-light-hover-color: $link-color !default;
$navbar-light-active-color: $navbar-light-hover-color !default;
$navbar-light-disabled-color: $text-muted !default;
// Dropdowns
$dropdown-bg: rgba($gray-100, .8) !default;
$dropdown-border-color: transparent !default;
$dropdown-box-shadow: $box-shadow-lg, inset 1px 1px 3px rgba($white, .5), inset -5px -5px 20px rgba($black, .05) !default;
$dropdown-link-color: $gray-700 !default;
$dropdown-link-hover-color: $gray-800 !default;
$dropdown-link-hover-bg: transparent !default;
// Pagination
$pagination-padding-y: 1rem !default;
$pagination-padding-x: .75rem !default;
$pagination-padding-y-sm: .5rem !default;
$pagination-padding-y-lg: 1.5rem !default;
$pagination-color: $gray-700 !default;
$pagination-bg: $body-bg !default;
$pagination-active-color: color.adjust($pagination-color, $lightness: -20%) !default;
$pagination-active-bg: transparent !default;
$pagination-disabled-color: $text-muted !default;
$pagination-disabled-bg: $pagination-bg !default;
// Cards
$card-spacer-y: 1.5rem !default;
$card-spacer-x: 1.5rem !default;
$card-cap-bg: transparent !default;
$card-bg: color.adjust($body-bg, $lightness: 3%) !default;
// Tooltips
$tooltip-color: $body-color !default;
$tooltip-bg: $dropdown-bg !default;
// Popovers
$popover-bg: $dropdown-bg !default;
$popover-header-bg: transparent !default;
// Toasts
$toast-background-color: $dropdown-bg !default;
$toast-border-width: 0 !default;
$toast-header-color: $body-color !default;
$toast-header-background-color: transparent !default;
// Badges
$badge-padding-y: .75em !default;
$badge-padding-x: 1.25em !default;
// Modals
$modal-content-bg: $dropdown-bg !default;
// Progress bars
$progress-height: 1.5rem !default;
$progress-border-radius: $border-radius-pill !default;
// List groups
$list-group-bg: $card-bg !default;
$list-group-hover-bg: transparent !default;
$list-group-active-color: $link-color !default;
$list-group-active-bg: transparent !default;
$list-group-disabled-color: $text-muted !default;
$list-group-disabled-bg: transparent !default;
$list-group-action-active-color: $link-color !default;
$list-group-action-active-bg: transparent !default;
// Breadcrumbs
$breadcrumb-padding-y: $pagination-padding-y !default;
$breadcrumb-padding-x: $pagination-padding-x !default;
$breadcrumb-divider-color: $text-muted !default;
$breadcrumb-active-color: $link-color !default;
// Close
$btn-close-color: $headings-color !default;
File diff suppressed because it is too large. Load diff
+12
View File
@@ -0,0 +1,12 @@
/*!
* Bootswatch v5.1.3
* Homepage: https://bootswatch.com
* Copyright 2012-2021 Thomas Park
* Licensed under MIT
* Based on Bootstrap
*//*!
* Bootstrap v5.1.3 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/@import url(https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap);:root{--bs-blue:#378dfc;--bs-indigo:#6610f2;--bs-purple:#5b62f4;--bs-pink:#d63384;--bs-red:#e52527;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#43cc29;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#7f8a99;--bs-gray-dark:#444b40;--bs-gray-100:#f0f5fa;--bs-gray-200:#d9e3f1;--bs-gray-300:#dee2e6;--bs-gray-400:#bed1e6;--bs-gray-500:#adb5bd;--bs-gray-600:#7f8a99;--bs-gray-700:#7b8ab8;--bs-gray-800:#444b40;--bs-gray-900:#212529;--bs-primary:#378dfc;--bs-secondary:#d9e3f1;--bs-success:#43cc29;--bs-info:#5b62f4;--bs-warning:#ffc107;--bs-danger:#e52527;--bs-light:#f0f5fa;--bs-dark:#212529;--bs-primary-rgb:55,141,252;--bs-secondary-rgb:217,227,241;--bs-success-rgb:67,204,41;--bs-info-rgb:91,98,244;--bs-warning-rgb:255,193,7;--bs-danger-rgb:229,37,39;--bs-light-rgb:240,245,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:123,138,184;--bs-body-bg-rgb:217,227,241;--bs-font-sans-serif:Nunito,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#7b8ab8;--bs-body-bg:#d9e3f1}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:0}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:#485785}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#485785;text-decoration:underline}a:hover{color:#39456b}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#adb6d3;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;Line truncated