initial public commit

This commit is contained in:
Gani Georgiev
2022-07-07 00:19:05 +03:00
commit 3d07f0211d
484 changed files with 92412 additions and 0 deletions
+146
View File
@@ -0,0 +1,146 @@
.accordion {
$handlerSize: 25px;
$spacing: 20px;
@extend %block;
outline: 0;
position: relative;
border-radius: var(--baseRadius);
background: var(--baseColor);
border: 1px solid var(--baseAlt2Color);
transition: box-shadow var(--baseAnimationSpeed),
margin var(--baseAnimationSpeed);
// header
.accordion-header {
outline: 0;
position: relative;
display: flex;
min-height: 52px;
align-items: center;
row-gap: 10px;
column-gap: var(--smSpacing);
padding: ($spacing - 8) $spacing ($spacing - 10);
width: 100%;
user-select: none;
color: var(--txtPrimaryColor);
border-radius: inherit;
transition: background var(--baseAnimationSpeed),
box-shadow var(--baseAnimationSpeed);
.icon {
width: 18px;
text-align: center;
i {
display: inline-block;
vertical-align: top;
font-size: 1.1rem;
}
}
&.interactive {
padding-right: ($spacing + $handlerSize + 5) ;
cursor: pointer;
&:after { // expand/collapse indicator
content: '\ea4e';
position: absolute;
right: $spacing - 5;
top: 50%;
margin-top: -($handlerSize * 0.5);
width: $handlerSize;
height: $handlerSize;
line-height: $handlerSize;
color: var(--txtHintColor);
font-family: var(--iconFontFamily);
font-size: 1.3em;
text-align: center;
transition: color var(--baseAnimationSpeed);
}
}
&:hover,
&:focus-visible {
&:after {
color: var(--txtPrimaryColor);
}
}
&:active {
transition-duration: var(--activeAnimationSpeed);
}
}
// content
.accordion-content {
@extend %block;
padding: $spacing;
}
// states
&:hover,
&:focus-visible,
&.active {
z-index: 9;
.accordion-header.interactive {
background: var(--baseAlt1Color);
}
}
&.active {
@include shadowize();
.accordion-header {
color: var(--baseColor);
box-shadow: 0px 0px 0px 1px var(--primaryColor);
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
background: var(--primaryColor);
&.interactive{
background: var(--primaryColor);
&:after {
color: inherit;
content: '\ea78';
}
}
}
}
&.disabled {
z-index: 0;
border-color: var(--baseAlt1Color);
.accordion-header {
color: var(--txtDisabledColor);
}
}
}
// wrapper
.accordions {
.accordion {
border-radius: 0;
margin: -1px 0 0;
&.active {
border-radius: var(--baseRadius);
margin: var(--smSpacing) 0;
+ .accordion {
border-top-left-radius: var(--baseRadius);
border-top-right-radius: var(--baseRadius);
}
}
&:first-child {
margin-top: 0;
border-top-left-radius: var(--baseRadius);
border-top-right-radius: var(--baseRadius);
}
&:last-child {
margin-bottom: 0;
border-bottom-left-radius: var(--baseRadius);
border-bottom-right-radius: var(--baseRadius);
}
}
}
.field-accordion {
&.active {
.accordion-header {
padding-right: var(--smSpacing);
&:after {
content: none;
display: none;
}
}
}
}
+115
View File
@@ -0,0 +1,115 @@
.alert {
$gap: 15px;
$padding: 15px;
position: relative;
display: flex;
column-gap: $gap;
align-items: center;
width: 100%;
min-height: 50px;
max-width: 100%;
word-break: break-word;
margin: 0 0 var(--baseSpacing);
border-radius: var(--baseRadius);
padding: ($padding - 3) $padding;
background: var(--baseAlt1Color);
color: var(--txtAltColor);
.content {
flex-grow: 1;
}
.icon, .close {
display: inline-flex;
align-items: center;
justify-content: center;
flex-grow: 0;
flex-shrink: 0;
text-align: center;
}
.icon {
align-self: stretch;
font-size: 1.2em;
padding-right: $gap;
font-weight: normal;
border-right: 1px solid rgba(#000, 0.05);
color: var(--txtHintColor);
}
.close {
$size: 30px;
display: inline-flex;
margin-right: -5px;
width: $size;
height: $size;
outline: 0;
cursor: pointer;
text-align: center;
font-size: var(--smFontSize);
line-height: $size;
border-radius: $size;
text-decoration: none;
color: inherit;
opacity: 0.5;
transition: opacity var(--baseAnimationSpeed),
background var(--baseAnimationSpeed);
&:hover,
&:focus {
opacity: 1;
background: rgba(#fff, 0.2);
}
&:active {
opacity: 1;
background: rgba(#fff, 0.3);
transition-duration: var(--activeAnimationSpeed);
}
}
code,
hr {
background: rgba(#000, 0.1);
}
// styles
&.alert-info {
background: var(--infoAltColor);
.icon {
color: var(--infoColor);
}
}
&.alert-warning {
background: var(--warningAltColor);
.icon {
color: var(--warningColor);
}
}
&.alert-success {
background: var(--successAltColor);
.icon {
color: var(--successColor);
}
}
&.alert-danger {
background: var(--dangerAltColor);
.icon {
color: var(--dangerColor);
}
}
}
// toast alerts
.toasts-wrapper {
position: fixed;
z-index: 999999;
bottom: 0;
left: 0;
padding: 0 var(--smSpacing);
width: 100%;
display: block;
text-align: center;
pointer-events: none;
.alert {
text-align: left;
pointer-events: auto;
width: var(--smWrapperWidth);
margin: var(--baseSpacing) auto;
@include shadowize();
}
}
+53
View File
@@ -0,0 +1,53 @@
@keyframes rotate {
100% {
transform: rotate(360deg);
}
}
@keyframes expand {
0% {
transform: rotateY(90deg);
}
100% {
opacity: 1;
transform: rotateY(0deg);
}
}
@keyframes slideIn {
0% {
opacity: 0;
transform: translateY(5px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes shine {
100% {
background-position-x: -200%;
}
}
@keyframes loaderShow {
0% {
opacity: 0;
transform: scale(0);
}
100% {
opacity: 1;
transform: scale(1);
}
}
+638
View File
@@ -0,0 +1,638 @@
@include scrollbar();
:focus-visible {
outline-color: var(--primaryColor);
outline-style: solid;
}
html,
body {
line-height: var(--baseLineHeight);
font-family: var(--baseFontFamily);
font-size: var(--baseFontSize);
color: var(--txtPrimaryColor);
background: var(--bodyColor);
}
#app {
overflow: auto;
display: block;
width: 100%;
height: 100vh;
}
%block {
display: block;
width: 100%;
}
// headings
%h {
margin: 0;
font-weight: normal;
}
h1, h2, h3, h4, h5, h6 {
@extend %h;
}
h1 {
font-size: 22px;
line-height: 28px;
}
h2 {
font-size: 20px;
line-height: 26px;
}
h3 {
font-size: 19px;
line-height: 24px;
}
h4 {
font-size: 18px;
line-height: 24px;
}
h5 {
font-size: 17px;
line-height: 24px;
}
h6 {
font-size: 16px;
line-height: 22px;
}
em {
font-style: italic;
}
strong {
font-weight: 600;
}
small {
font-size: var(--smFontSize);
line-height: var(--smLineHeight);
}
sub,
sup {
position: relative;
font-size: 0.75em;
line-height: 1;
}
sup {
vertical-align: top;
}
sub {
vertical-align: bottom;
}
p {
@extend %block;
margin: 5px 0;
}
blockquote {
@extend %block;
position: relative;
padding-left: var(--smSpacing);
font-style: italic;
color: var(--txtHintColor);
&:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 2px;
height: 100%;
background: var(--baseColor);
}
}
code {
display: inline-block;
font-family: var(--monospaceFontFamily);
font-size: 15px;
line-height: 1.379rem;
padding: 0px 4px;
white-space: nowrap;
color: var(--txtPrimaryColor);
background: var(--baseAlt2Color);
border-radius: var(--baseRadius);
}
ol,
ul {
margin: 10px 0;
list-style: decimal;
padding-left: var(--baseSpacing);
li {
margin-top: 5px;
margin-bottom: 5px;
}
}
ul {
list-style: disc;
}
img {
max-width: 100%;
vertical-align: top;
}
hr {
display: block;
border: 0;
height: 1px;
width: 100%;
background: var(--baseAlt1Color);
margin: var(--baseSpacing) 0;
}
a {
color: inherit;
&:hover {
text-decoration: none;
}
i, .txt {
display: inline-block;
vertical-align: top;
}
}
// text helpers
.txt-mono {
font-family: var(--monospaceFontFamily);
}
.txt-nowrap {
white-space: nowrap;
}
.txt-ellipsis {
display: inline-block;
vertical-align: top;
flex-shrink: 0;
max-width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.txt-base {
font-size: var(--baseFontSize) !important;
}
.txt-xs {
font-size: var(--xsFontSize) !important;
line-height: var(--smLineHeight);
}
.txt-sm {
font-size: var(--smFontSize) !important;
line-height: var(--smLineHeight);
}
.txt-lg {
font-size: var(--lgFontSize) !important;
}
.txt-xl {
font-size: var(--xlFontSize) !important;
}
.txt-bold {
font-weight: 600 !important;
}
.txt-strikethrough {
text-decoration: line-through !important;
}
.txt-break {
white-space: pre-wrap !important;
}
.txt-center {
text-align: center !important;
}
.txt-left {
text-align: left !important;
}
.txt-right {
text-align: right !important;
}
.txt-main {
color: var(--txtPrimaryColor) !important;
}
.txt-hint {
color: var(--txtHintColor) !important;
}
.txt-disabled {
color: var(--txtDisabledColor) !important;
}
.link-hint {
user-select: none;
cursor: pointer;
color: var(--txtHintColor) !important;
text-decoration: none;
transition: color var(--baseAnimationSpeed);
&:hover,
&:focus-visible,
&:active {
color: var(--txtPrimaryColor) !important;
}
}
.link-fade {
opacity: 1;
user-select: none;
cursor: pointer;
text-decoration: none;
color: var(--txtPrimaryColor);
transition: opacity var(--baseAnimationSpeed);
&:focus-visible,
&:hover,
&:active {
opacity: 0.8;
}
}
// color helpers
@each $name, $color in $colorsMap {
.txt-#{$name} {
color: $color !important;
}
.bg-#{$name} {
background: $color !important;
}
.link-#{$name} {
cursor: pointer;
color: $color !important;
text-decoration: none;
user-select: none;
transition: opacity var(--baseAnimationSpeed);
&:hover {
opacity: 0.8;
}
}
}
.fade {
opacity: 0.6;
}
a,
.btn,
[tabindex],
[class*="link-"],
.handle {
&.fade {
transition: all var(--baseAnimationSpeed);
&:hover {
opacity: 1;
}
}
}
.noborder {
border: 0px !important;
}
.hidden {
display: none !important;
}
.hidden-empty {
&:empty {
display: none !important;
}
}
.block {
@extend %block;
}
.content {
@extend %block;
& > :first-child {
margin-top: 0;
}
& > :last-child {
margin-bottom: 0;
}
}
.panel {
@extend .content;
background: var(--baseColor);
border-radius: var(--lgRadius);
padding: calc(var(--baseSpacing) - 5px) var(--baseSpacing);
@include shadowize();
}
.clearfix {
@extend %block;
clear: both;
&:after {
content: '';
display: table;
clear: both;
}
}
// flex helpers
.flex {
position: relative;
display: flex;
align-items: center;
width: 100%;
gap: var(--smSpacing);
}
.flex-fill {
flex: 1 1 auto !important;
}
.flex-wrap {
flex-wrap: wrap !important;
}
.flex-nowrap {
flex-wrap: nowrap !important;
}
.inline-flex {
position: relative;
display: inline-flex;
align-items: center;
flex-wrap: wrap;
min-width: 0;
gap: 10px;
}
@for $i from 0 through 6 {
.flex-order-#{$i} {
order: $i;
}
}
// flex gap helpers
@each $sizeAlias, $size in $sizesMap {
.flex-gap-#{$sizeAlias} {
gap: $size !important;
}
}
@for $i from 0 through 12 {
$spacing: 5 * $i;
.flex-gap-#{$spacing} {
gap: $spacing * 1px !important;
}
}
// spacing helpers
@each $sizeAlias, $size in $sizesMap {
.m-#{$sizeAlias} { margin: $size !important; }
.p-#{$sizeAlias} { padding: $size !important; }
}
@each $sideAlias, $side in $sidesMap {
.m-#{$sideAlias}-auto { margin-#{$side}: auto !important; }
.p-#{$sideAlias}-auto { padding-#{$side}: auto !important; }
@each $sizeAlias, $size in $sizesMap {
.m-#{$sideAlias}-#{$sizeAlias} { margin-#{$side}: $size !important; }
.p-#{$sideAlias}-#{$sizeAlias} { padding-#{$side}: $size !important; }
}
}
@for $i from 0 through 12 {
$spacing: 5 * $i;
.m-#{$spacing} { margin: $spacing * 1px !important; }
.p-#{$spacing} { padding: $spacing * 1px !important; }
@each $sideAlias, $side in $sidesMap {
.m-#{$sideAlias}-#{$spacing} { margin-#{$side}: $spacing * 1px !important; }
.p-#{$sideAlias}-#{$spacing} { padding-#{$side}: $spacing * 1px !important; }
}
}
.wrapper {
position: relative;
width: var(--wrapperWidth);
margin: 0 auto;
max-width: 100%;
&.wrapper-sm {
width: var(--smWrapperWidth);
}
&.wrapper-lg {
width: var(--lgWrapperWidth);
}
}
.label {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 5px;
line-height: 1;
padding: 3px 8px;
min-height: 23px;
text-align: center;
font-size: var(--smFontSize);
border-radius: 30px;
background: var(--baseAlt2Color);
color: var(--txtPrimaryColor);
white-space: nowrap;
&.label-primary {
color: var(--baseColor);
background: var(--primaryColor);
}
&.label-info {
background: var(--infoAltColor);
}
&.label-success {
background: var(--successAltColor);
}
&.label-danger {
background: var(--dangerAltColor);
}
&.label-warning {
background: var(--warningAltColor);
}
}
.thumb {
--thumbSize: 44px;
flex-shrink: 0;
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
line-height: 1;
width: var(--thumbSize);
height: var(--thumbSize);
background: var(--baseAlt2Color);
border-radius: var(--baseRadius);
color: var(--txtPrimaryColor);
font-size: 1.2rem;
@include shadowize();
i {
font-size: inherit;
}
img {
width: 100%;
height: 100%;
border-radius: inherit;
}
&.thumb-sm {
--thumbSize: 32px;
font-size: 0.85rem;
}
&.thumb-lg {
--thumbSize: 60px;
font-size: 1.3rem;
}
&.thumb-xl {
--thumbSize: 80px;
font-size: 1.5rem;
}
&.thumb-circle {
border-radius: 50%;
}
&.thumb-active {
box-shadow: 0px 0px 0px 2px var(--primaryColor);
}
}
.section-title {
display: flex;
width: 100%;
column-gap: 10px;
row-gap: 5px;
margin: 0 0 var(--xsSpacing);
font-weight: 600;
font-size: var(--smFontSize);
line-height: var(--smLineHeight);
color: var(--txtHintColor);
text-transform: uppercase;
}
.drag-handle {
outline: 0;
cursor: pointer;
display: inline-flex;
align-items: left;
color: var(--txtDisabledColor);
transition: color var(--baseAnimationSpeed);
&:before,
&:after {
content: '\ef77';
font-family: var(--iconFontFamily);
font-size: 18px;
line-height: 1;
width: 7px;
text-align: center;
}
&:focus-visible,
&:hover,
&:active {
color: var(--txtPrimaryColor);
}
}
.logo {
position: relative;
vertical-align: top;
display: inline-flex;
align-items: center;
gap: 10px;
font-size: 23px;
text-decoration: none;
color: inherit;
user-select: none;
strong {
font-weight: bold;
}
.version {
position: absolute;
right: 0;
top: -5px;
line-height: 1;
font-size: 10px;
font-weight: normal;
padding: 2px 4px;
border-radius: var(--baseRadius);
background: var(--dangerAltColor);
color: var(--txtPrimaryColor);
}
&.logo-sm {
font-size: 20px;
}
}
.loader {
--loaderSize: 32px;
position: relative;
display: inline-flex;
flex-direction: column;
align-items: center;
justify-content: center;
row-gap: 10px;
margin: 0;
color: var(--txtDisabledColor);
text-align: center;
font-weight: normal;
&:before {
content: "\eec4";
display: inline-block;
vertical-align: top;
clear: both;
width: var(--loaderSize);
height: var(--loaderSize);
line-height: var(--loaderSize);
font-size: var(--loaderSize);
font-weight: normal;
font-family: var(--iconFontFamily);
color: inherit;
text-align: center;
animation: loaderShow var(--baseAnimationSpeed),
rotate 0.9s var(--baseAnimationSpeed) infinite linear;
}
// styles
@each $name, $color in $colorsMap {
&.loader-#{$name} {
color: $color;
}
}
// sizes
&.loader-sm {
--loaderSize: 24px;
}
&.loader-lg {
--loaderSize: 42px;
}
}
.skeleton-loader {
@extend %block;
position: relative;
height: 12px;
margin: 5px 0;
border-radius: var(--baseRadius);
background: var(--baseAlt1Color);
animation: fadeIn 0.4s;
&:before {
content: "";
width: 100%;
height: 100%;
display: block;
border-radius: inherit;
background: linear-gradient(90deg, var(--baseAlt1Color) 8%, var(--bodyColor) 18%, var(--baseAlt1Color) 33%);
background-size: 200% 100%;
animation: shine 1s linear infinite;
}
}
.placeholder-section {
display: flex;
width: 100%;
align-items: center;
justify-content: center;
text-align: center;
flex-direction: column;
gap: var(--smSpacing);
color: var(--txtHintColor);
.icon {
$size: 50px;
font-size: $size;
height: $size;
line-height: 1;
opacity: 0.3;
i {
font-size: inherit;
vertical-align: top;
}
}
}
+17
View File
@@ -0,0 +1,17 @@
.bulkbar {
position: sticky;
bottom: -10px;
z-index: 101;
gap: 10px;
display: flex;
justify-content: center;
align-items: center;
width: var(--smWrapperWidth);
max-width: 100%;
margin: var(--smSpacing) auto;
padding: 10px var(--smSpacing);
border-radius: var(--btnHeight);
background: var(--baseColor);
border: 1px solid var(--baseAlt2Color);
@include shadowize();
}
+131
View File
@@ -0,0 +1,131 @@
.dropdown {
$spacing: 5px;
position: absolute;
z-index: 99;
right: 0;
left: auto;
top: 100%;
cursor: default;
display: inline-block;
vertical-align: top;
padding: $spacing;
margin: 10px 0 0;
width: auto;
min-width: 140px;
max-width: 350px;
max-height: 330px;
overflow-x: hidden;
overflow-y: auto;
background: var(--baseColor);
border-radius: var(--baseRadius);
border: 1px solid var(--baseAlt2Color);
@include shadowize();
hr {
margin: $spacing 0;
}
.dropdown-item {
outline: 0;
border: 0;
background: none;
position: relative;
outline: 0;
display: flex;
align-items: center;
column-gap: 8px;
width: 100%;
height: auto;
min-height: 0;
text-align: left;
padding: 8px 10px;
margin: 0 0 $spacing;
cursor: pointer;
color: var(--txtPrimaryColor);
font-weight: normal;
font-size: var(--baseFontSize);
font-family: var(--baseFontFamily);
line-height: var(--baseLineHeight);
border-radius: var(--baseRadius);
text-decoration: none;
word-break: break-word;
user-select: none;
transition: background var(--baseAnimationSpeed),
color var(--baseAnimationSpeed);
&:last-child {
margin-bottom: 0;
}
// states
&:focus,
&:hover {
background: var(--baseAlt1Color);
}
&.selected {
background: var(--baseAlt2Color);
}
&:active {
transition-duration: var(--activeAnimationSpeed);
background: var(--baseAlt2Color);
}
&.disabled {
color: var(--txtDisabledColor);
background: none;
pointer-events: none;
}
// styles
&.separator {
cursor: default;
background: none;
text-transform: uppercase;
padding-top: 0;
padding-bottom: 0;
margin-top: 15px;
color: var(--txtDisabledColor);
font-weight: 600;
font-size: var(--smFontSize);
}
}
// positions
&.dropdown-upside {
top: auto;
bottom: 100%;
margin: 0 0 10px;
}
&.dropdown-left {
right: auto;
left: 0;
}
&.dropdown-center {
right: auto;
left: 50%;
transform: translateX(-50%);
}
// styles
&.dropdown-sm {
margin-top: 5px;
min-width: 100px;
.dropdown-item {
column-gap: 7px;
font-size: var(--smFontSize);
margin: 0 0 2px;
padding: 5px 7px;
&:last-child {
margin-bottom: 0;
}
}
&.dropdown-upside {
margin-top: 0;
margin-bottom: 5px;
}
}
&.dropdown-block {
width: 100%;
min-width: 130px;
max-width: 100%;
}
&.dropdown-nowrap {
white-space: nowrap;
}
}
+734
View File
@@ -0,0 +1,734 @@
// slightly modified version of https://npmcdn.com/flatpickr@4.6.9/dist/flatpickr.css
.flatpickr-calendar {
opacity: 0;
display: none;
text-align: center;
visibility: hidden;
padding: 0;
animation: none;
direction: ltr;
border: 0;
font-size: 1rem;
line-height: 24px;
position: absolute;
width: 298px;
box-sizing: border-box;
user-select: none;
color: var(--txtPrimaryColor);
background: var(--baseColor);
border-radius: var(--baseRadius);
@include shadowize(0px 0px 0px 1px var(--baseAlt2Color));
input, select {
box-shadow: none;
min-height: 0;
height: var(--inputHeight);
border-radius: var(--baseRadius);
border: 1px solid var(--baseAlt1Color);
}
}
.flatpickr-calendar.open,
.flatpickr-calendar.inline {
opacity: 1;
visibility: visible;
}
.flatpickr-calendar.open {
display: inline-block;
z-index: 99999;
}
.flatpickr-calendar.animate.open {
-webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.flatpickr-calendar.inline {
display: block;
position: relative;
top: 0;
width: 100%;
}
.flatpickr-calendar.static {
position: absolute;
top: 100%;
margin-top: 2px;
margin-bottom: 10px;
width: 100%;
.flatpickr-days {
width: 100%;
}
}
.flatpickr-calendar.static.open {
z-index: 999;
display: block;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
-webkit-box-shadow: none !important;
box-shadow: none !important;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
-webkit-box-shadow: -2px 0 0 var(--baseAlt2Color), 5px 0 0 var(--baseAlt2Color);
box-shadow: -2px 0 0 var(--baseAlt2Color), 5px 0 0 var(--baseAlt2Color);
}
.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
border-bottom: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.flatpickr-calendar .hasWeeks .dayContainer {
border-left: 0;
}
.flatpickr-calendar.hasTime .flatpickr-time {
height: 40px;
border-top: 1px solid var(--baseAlt2Color);
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
height: auto;
}
.flatpickr-calendar:before,
.flatpickr-calendar:after {
position: absolute;
display: block;
pointer-events: none;
border: solid transparent;
content: '';
height: 0;
width: 0;
left: 22px;
}
.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
left: auto;
right: 22px;
}
.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
left: 50%;
right: 50%;
}
.flatpickr-calendar:before {
border-width: 5px;
margin: 0 -5px;
}
.flatpickr-calendar:after {
border-width: 4px;
margin: 0 -4px;
}
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
bottom: 100%;
}
.flatpickr-calendar.arrowTop:before {
border-bottom-color: var(--baseColor);
}
.flatpickr-calendar.arrowTop:after {
border-bottom-color: var(--baseColor);
}
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
top: 100%;
}
.flatpickr-calendar.arrowBottom:before {
border-top-color: var(--baseColor);
}
.flatpickr-calendar.arrowBottom:after {
border-top-color: var(--baseColor);
}
.flatpickr-calendar:focus {
outline: 0;
}
.flatpickr-wrapper {
position: relative;
}
.flatpickr-months {
display: flex;
margin: 0 0 4px;
}
.flatpickr-months .flatpickr-month {
background: transparent;
color: var(--txtPrimaryColor);
fill: var(--txtPrimaryColor);
height: 34px;
line-height: 1;
text-align: center;
position: relative;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
overflow: hidden;
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
text-decoration: none;
cursor: pointer;
position: absolute;
top: 0;
height: 34px;
padding: 10px;
z-index: 3;
color: var(--txtPrimaryColor);
fill: var(--txtPrimaryColor);
}
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
display: none;
}
.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
position: relative;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
left: 0;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
right: 0;
}
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover,
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
fill: var(--txtHintColor);
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
width: 14px;
height: 14px;
}
.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
-webkit-transition: fill 0.1s;
transition: fill 0.1s;
fill: inherit;
}
.numInputWrapper {
position: relative;
height: auto;
}
.numInputWrapper input,
.numInputWrapper span {
display: inline-block;
}
.numInputWrapper input {
width: 100%;
}
.numInputWrapper input::-ms-clear {
display: none;
}
.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
}
.numInputWrapper span {
position: absolute;
right: 0;
width: 14px;
padding: 0 4px 0 2px;
height: 50%;
line-height: 50%;
opacity: 0;
cursor: pointer;
border: 1px solid rgba(57,57,57,0.15);
box-sizing: border-box;
}
.numInputWrapper span:hover {
background: rgba(0,0,0,0.1);
}
.numInputWrapper span:active {
background: rgba(0,0,0,0.2);
}
.numInputWrapper span:after {
display: block;
content: "";
position: absolute;
}
.numInputWrapper span.arrowUp {
top: 0;
border-bottom: 0;
}
.numInputWrapper span.arrowUp:after {
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-bottom: 4px solid rgba(57,57,57,0.6);
top: 26%;
}
.numInputWrapper span.arrowDown {
top: 50%;
}
.numInputWrapper span.arrowDown:after {
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 4px solid rgba(57,57,57,0.6);
top: 40%;
}
.numInputWrapper span svg {
width: inherit;
height: auto;
}
.numInputWrapper span svg path {
fill: rgba(0,0,0,0.5);
}
.numInputWrapper:hover {
background: var(--baseAlt2Color);
}
.numInputWrapper:hover span {
opacity: 1;
}
.flatpickr-current-month {
line-height: inherit;
color: inherit;
position: absolute;
width: 75%;
left: 12.5%;
padding: 1px 0;
line-height: 1;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.flatpickr-current-month span.cur-month {
font-family: inherit;
font-weight: 700;
color: inherit;
display: inline-block;
margin-left: 0.5ch;
padding: 0;
}
.flatpickr-current-month span.cur-month:hover {
background: var(--baseAlt2Color);
}
.flatpickr-current-month .numInputWrapper {
display: inline-flex;
align-items: center;
justify-content: center;
width: 63px;
margin: 0 5px;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
border-bottom-color: var(--txtPrimaryColor);
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
border-top-color: var(--txtPrimaryColor);
}
.flatpickr-current-month input.cur-year {
background: transparent;
box-sizing: border-box;
color: inherit;
cursor: text;
margin: 0;
display: inline-block;
font-size: inherit;
font-family: inherit;
line-height: inherit;
vertical-align: initial;
-webkit-appearance: textfield;
-moz-appearance: textfield;
appearance: textfield;
}
.flatpickr-current-month input.cur-year:focus {
outline: 0;
}
.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
color: var(--txtDisabledColor);
background: transparent;
pointer-events: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
appearance: menulist;
box-sizing: border-box;
color: inherit;
cursor: pointer;
font-size: inherit;
line-height: inherit;
outline: none;
position: relative;
vertical-align: initial;
-webkit-box-sizing: border-box;
-webkit-appearance: menulist;
-moz-appearance: menulist;
width: auto;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
outline: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
background: var(--baseAlt2Color);
}
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
background-color: transparent;
outline: none;
padding: 0;
}
.flatpickr-weekdays {
background: transparent;
text-align: center;
overflow: hidden;
width: 100%;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
height: 28px;
}
.flatpickr-weekdays .flatpickr-weekdaycontainer {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
span.flatpickr-weekday {
display: block;
flex: 1;
margin: 0;
cursor: default;
line-height: 1;
background: transparent;
color: var(--txtHintColor);
text-align: center;
font-weight: bolder;
font-size: var(--smFontSize);
}
.dayContainer,
.flatpickr-weeks {
padding: 1px 0 0 0;
}
.flatpickr-days {
position: relative;
overflow: hidden;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
}
.flatpickr-days:focus {
outline: 0;
}
.dayContainer {
padding: 0;
outline: 0;
text-align: left;
width: 100%;
box-sizing: border-box;
display: inline-block;
display: flex;
flex-wrap: wrap;
transform: translate3d(0px, 0px, 0px);
opacity: 1;
}
.dayContainer + .dayContainer {
-webkit-box-shadow: -1px 0 0 var(--baseAlt2Color);
box-shadow: -1px 0 0 var(--baseAlt2Color);
}
.flatpickr-day {
background: none;
border: 1px solid transparent;
border-radius: var(--baseRadius);
box-sizing: border-box;
color: var(--txtPrimaryColor);
cursor: pointer;
font-weight: 400;
width: calc(14.2857143% - 2px);
flex-basis: calc(14.2857143% - 2px);
height: 39px;
margin: 1px;
display: inline-flex;
align-items: center;
justify-content: center;
position: relative;
text-align: center;
flex-direction: column;
&.weekend,
&:nth-child(7n+6),
&:nth-child(7n+7) {
color: var(--dangerColor);
}
}
.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
cursor: pointer;
outline: 0;
background: var(--baseAlt2Color);
border-color: var(--baseAlt2Color);
}
.flatpickr-day.today {
border-color: var(--baseColor);
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
border-color: var(--primaryColor);
background: var(--primaryColor);
color: var(--txtPrimaryColor);
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
background: var(--primaryColor);
-webkit-box-shadow: none;
box-shadow: none;
color: #fff;
border-color: var(--primaryColor);
}
.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
border-radius: 50px 0 0 50px;
}
.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
border-radius: 0 50px 50px 0;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
-webkit-box-shadow: -10px 0 0 var(--primaryColor);
box-shadow: -10px 0 0 var(--primaryColor);
}
.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
border-radius: 50px;
}
.flatpickr-day.inRange {
border-radius: 0;
box-shadow: -5px 0 0 var(--baseAlt2Color), 5px 0 0 var(--baseAlt2Color);
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
color: var(--txtDisabledColor);
background: transparent;
border-color: transparent;
cursor: default;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
cursor: not-allowed;
color: var(--txtDisabledColor);
background: var(--baseAlt2Color);
}
.flatpickr-day.week.selected {
border-radius: 0;
box-shadow: -5px 0 0 var(--primaryColor), 5px 0 0 var(--primaryColor);
}
.flatpickr-day.hidden {
visibility: hidden;
}
.rangeMode .flatpickr-day {
margin-top: 1px;
}
.flatpickr-weekwrapper {
float: left;
}
.flatpickr-weekwrapper .flatpickr-weeks {
padding: 0 12px;
-webkit-box-shadow: 1px 0 0 var(--baseAlt2Color);
box-shadow: 1px 0 0 var(--baseAlt2Color);
}
.flatpickr-weekwrapper .flatpickr-weekday {
float: none;
width: 100%;
line-height: 28px;
}
.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
display: block;
width: 100%;
max-width: none;
color: var(--txtHintColor);
background: transparent;
cursor: default;
border: none;
}
.flatpickr-innerContainer {
display: flex;
box-sizing: border-box;
overflow: hidden;
padding: 5px;
}
.flatpickr-rContainer {
display: inline-block;
padding: 0;
width: 100%;
box-sizing: border-box;
}
.flatpickr-time {
text-align: center;
outline: 0;
display: block;
height: 0;
line-height: 40px;
max-height: 40px;
box-sizing: border-box;
overflow: hidden;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.flatpickr-time:after {
content: "";
display: table;
clear: both;
}
.flatpickr-time .numInputWrapper {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
width: 40%;
height: 40px;
float: left;
}
.flatpickr-time .numInputWrapper span.arrowUp:after {
border-bottom-color: var(--txtPrimaryColor);
}
.flatpickr-time .numInputWrapper span.arrowDown:after {
border-top-color: var(--txtPrimaryColor);
}
.flatpickr-time.hasSeconds .numInputWrapper {
width: 26%;
}
.flatpickr-time.time24hr .numInputWrapper {
width: 49%;
}
.flatpickr-time input {
background: transparent;
box-shadow: none;
border: 0;
text-align: center;
margin: 0;
padding: 0;
height: inherit;
line-height: inherit;
color: var(--txtPrimaryColor);
font-size: 14px;
position: relative;
box-sizing: border-box;
background: var(--baseColor);
-webkit-appearance: textfield;
-moz-appearance: textfield;
appearance: textfield;
}
.flatpickr-time input.flatpickr-hour {
font-weight: bold;
}
.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
font-weight: normal;
}
.flatpickr-time input:focus {
outline: 0;
border: 0;
}
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
height: inherit;
float: left;
line-height: inherit;
color: var(--txtPrimaryColor);
font-weight: bold;
width: 2%;
user-select: none;
align-self: center;
}
.flatpickr-time .flatpickr-am-pm {
outline: 0;
width: 18%;
cursor: pointer;
text-align: center;
font-weight: 400;
}
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
background: var(--baseAlt1Color);
}
.flatpickr-input[readonly] {
cursor: pointer;
}
@keyframes fpFadeInDown {
from {
opacity: 0;
transform: translate3d(0, 10px, 0);
}
to {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
// Hide prev and next month dates
.flatpickr-hide-prev-next-month-days {
.flatpickr-calendar .prevMonthDay {
visibility: hidden;
}
.flatpickr-calendar .nextMonthDay {
display: none;
}
}
.flatpickr-inline-container {
@extend %block;
.flatpickr-input {
display: none;
}
.flatpickr-calendar {
margin: 0;
box-shadow: none;
border: 1px solid var(--baseAlt2Color);
}
}
+89
View File
@@ -0,0 +1,89 @@
/* remixicon */
@font-face {
font-family: 'remixicon';
src: url('../fonts/remixicon/remixicon.woff2?v=1') format('woff2'),
url('../fonts/remixicon/remixicon.woff?v=1') format('woff'),
url('../fonts/remixicon/remixicon.ttf?v=1') format('truetype'),
url('../fonts/remixicon/remixicon.svg?v=1#remixicon') format('svg'); /* iOS 4.1- */
font-display: swap;
}
/* source-sans-pro-regular - latin_cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: local(''),
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* source-sans-pro-italic - latin_cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 400;
src: local(''),
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* source-sans-pro-600 - latin_cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 600;
src: local(''),
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* source-sans-pro-600italic - latin_cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 600;
src: local(''),
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* source-sans-pro-700 - latin_cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 700;
src: local(''),
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* source-sans-pro-700italic - latin_cyrillic */
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 700;
src: local(''),
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* jetbrains-mono-regular - latin */
@font-face {
font-family: 'JetBrains Mono';
font-style: normal;
font-weight: 400;
src: local(''),
url('../fonts/jetbrains-mono/jetbrains-mono-v12-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/jetbrains-mono/jetbrains-mono-v12-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* jetbrains-mono-600 - latin */
@font-face {
font-family: 'JetBrains Mono';
font-style: normal;
font-weight: 600;
src: local(''),
url('../fonts/jetbrains-mono/jetbrains-mono-v12-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/jetbrains-mono/jetbrains-mono-v12-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
File diff suppressed because it is too large Load Diff
+79
View File
@@ -0,0 +1,79 @@
@use "sass:math";
$gridSizesMap: (
"sm": 576px,
"md": 768px,
"lg": 992px,
"xl": 1200px,
"xxl": 1400px,
);
.grid {
--gridGap: var(--baseSpacing);
position: relative;
display: flex;
flex-grow: 1;
flex-wrap: wrap;
row-gap: var(--gridGap);
margin: 0 calc(-0.5 * var(--gridGap));
&.grid-center {
align-items: center;
}
&.grid-sm {
--gridGap: var(--smSpacing);
}
.form-field {
margin-bottom: 0;
}
> * {
margin: 0 calc(0.5 * var(--gridGap));
}
}
%col {
position: relative;
width: 100%;
min-height: 1px;
}
// grid
// -------------------------------------------------------------------
@mixin colsWidthGenerator($prefix: '') {
// normalize prefix
@if $prefix != '' and str-index($prefix, '-') != 1 {
$prefix: '-#{$prefix}';
}
.col#{$prefix}-auto {
flex: 0 0 auto;
width: auto;
}
@for $i from 12 through 1 {
.col#{$prefix}-#{$i} {
width: calc(math.div(100%, math.div(12, $i)) - var(--gridGap));
}
}
}
// base screen size cols
@for $i from 12 through 1 {
.col-#{$i} {
@extend %col;
}
}
@include colsWidthGenerator();
// screen size specific cols
@each $name, $size in $gridSizesMap {
@for $i from 12 through 1 {
.col-#{$name}-#{$i} {
@extend %col;
}
}
@media (min-width: #{$size}) {
@include colsWidthGenerator($name);
}
}
File diff suppressed because it is too large Load Diff
+331
View File
@@ -0,0 +1,331 @@
// footer
// -------------------------------------------------------------------
.app-footer {
display: flex;
width: 100%;
align-items: center;
justify-content: right;
column-gap: var(--smSpacing);
font-size: var(--smFontSize);
line-height: var(--smLineHeight);
color: var(--txtHintColor);
.footer-item {
display: inline-flex;
align-items: center;
column-gap: 5px;
img {
width: 16px;
}
}
a {
color: inherit;
text-decoration: none;
transition: color var(--baseAnimationSpeed);
&:focus-visible,
&:hover,
&:active {
color: var(--txtPrimaryColor);
}
}
}
// sidebar
// -------------------------------------------------------------------
.main-menu {
--menuItemSize: 45px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
row-gap: var(--smSpacing);
font-size: 16px;
color: var(--txtPrimaryColor);
i {
font-size: 24px;
line-height: 1;
}
.menu-item {
position: relative;
outline: 0;
cursor: pointer;
text-decoration: none;
display: inline-flex;
align-items: center;
text-align: center;
justify-content: center;
user-select: none;
color: inherit;
min-width: var(--menuItemSize);
min-height: var(--menuItemSize);
border: 2px solid transparent;
border-radius: var(--lgRadius);
transition: background var(--baseAnimationSpeed),
border var(--baseAnimationSpeed);
&:focus-visible,
&:hover {
background: var(--baseAlt1Color);
}
&:active {
background: var(--baseAlt2Color);
transition-duration: var(--activeAnimationSpeed);
}
&.active,
&.current-route {
background: var(--baseColor);
border-color: var(--primaryColor);
}
}
}
.app-sidebar {
position: relative;
z-index: 1;
display: flex;
flex-grow: 0;
flex-shrink: 0;
flex-direction: column;
align-items: center;
width: var(--appSidebarWidth);
padding: var(--smSpacing) 0px var(--smSpacing);
background: var(--baseColor);
border-right: 1px solid var(--baseAlt2Color);
.main-menu {
flex-grow: 1;
justify-content: flex-start;
overflow-x: hidden;
overflow-y: auto; /* fallback */
overflow-y: overlay;
// "visual" vertical alignment
margin-top: 34px;
margin-bottom: var(--baseSpacing);
}
}
// layout container
// -------------------------------------------------------------------
.app-layout {
display: flex;
width: 100%;
height: 100vh;
overflow-x: overlay;
.app-body {
flex-grow: 1;
min-width: 0;
height: 100%;
display: flex;
align-items: stretch;
}
.app-sidebar ~ .app-body {
min-width: 650px;
}
}
// page elements
// -------------------------------------------------------------------
.page-sidebar {
display: flex;
flex-direction: column;
width: var(--pageSidebarWidth);
flex-shrink: 0;
flex-grow: 0;
overflow-x: hidden;
overflow-y: auto;
background: var(--baseColor);
padding: calc(var(--baseSpacing) - 5px) 0 var(--smSpacing);
border-right: 1px solid var(--baseAlt2Color);
& > * {
padding: 0 var(--smSpacing);
}
.sidebar-content {
overflow-x: hidden;
overflow-y: auto; /* fallback */
overflow-y: overlay;
& > :first-child {
margin-top: 0;
}
& > :last-child {
margin-bottom: 0;
}
}
.sidebar-footer {
margin-top: var(--smSpacing);
}
.search {
display: flex;
align-items: center;
width: auto;
column-gap: 5px;
margin: 0 0 var(--xsSpacing);
color: var(--txtHintColor);
opacity: 0.7;
transition: opacity var(--baseAnimationSpeed),
color var(--baseAnimationSpeed);
input {
border: 0;
background: var(--baseColor);
transition: box-shadow var(--baseAnimationSpeed),
background var(--baseAnimationSpeed);
}
.btn-clear {
margin-right: -8px;
}
&:hover,
&:focus-within,
&.active {
opacity: 1;
color: var(--txtPrimaryColor);
input {
background: var(--baseAlt2Color);
}
}
}
.sidebar-title {
@extend %block;
margin: var(--baseSpacing) 0 var(--xsSpacing);
font-weight: 600;
font-size: 1rem;
line-height: var(--smLineHeight);
color: var(--txtHintColor);
}
.sidebar-list-item {
cursor: pointer;
outline: 0;
text-decoration: none;
position: relative;
display: flex;
align-items: center;
column-gap: 10px;
margin: 10px 0;
padding: 3px 10px;
font-size: 16px;
min-height: var(--btnHeight);
min-width: 0;
color: var(--txtHintColor);
border-radius: var(--baseRadius);
user-select: none;
transition: background var(--baseAnimationSpeed),
color var(--baseAnimationSpeed);
i {
font-size: 18px;
}
.txt {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
// states
&:focus-visible,
&:hover,
&:active,
&.active {
color: var(--txtPrimaryColor);
background: var(--baseAlt1Color);
}
&:active {
background: var(--baseAlt2Color);
transition-duration: var(--activeAnimationSpeed);
}
}
// responsive
@media screen and (max-width: 1100px) {
--pageSidebarWidth: 190px;
& > * {
padding-left: 10px;
padding-right: 10px;
}
}
}
.page-header {
display: flex;
align-items: center;
width: 100%;
min-height: var(--btnHeight);
gap: var(--xsSpacing);
margin: 0 0 var(--baseSpacing);
.btns-group {
margin-left: auto;
justify-content: end;
}
// responsive
@media screen and (max-width: 1050px) {
flex-wrap: wrap;
.btns-group {
width: 100%;
.btn {
flex-grow: 1;
flex-basis: 0;
}
}
}
}
.page-header-wrapper {
background: var(--baseColor);
width: auto;
margin-top: calc(-1*(var(--baseSpacing) - 5px));
margin-left: calc(-1* var(--baseSpacing));
margin-right: calc(-1* var(--baseSpacing));
margin-bottom: var(--baseSpacing);
padding: calc(var(--baseSpacing) - 5px) var(--baseSpacing);
border-bottom: 1px solid var(--baseAlt2Color);
}
.breadcrumbs {
display: flex;
align-items: center;
gap: 30px;
user-select: none;
color: var(--txtDisabledColor);
.breadcrumb-item {
@extend h2;
position: relative;
margin: 0;
line-height: 1;
font-weight: normal;
&:after {
content: '/';
position: absolute;
right: -20px;
top: 0;
width: 10px;
text-align: center;
pointer-events: none;
opacity: 0.4;
}
&:last-child {
word-break: break-word;
color: var(--txtPrimaryColor);
&:after {
content: none;
display: none;
}
}
}
a {
text-decoration: none;;
color: inherit;
transition: color var(--baseAnimationSpeed);
&:hover {
color: var(--txtPrimaryColor);
}
}
}
.page-wrapper {
position: relative;
display: block;
width: 100%;
flex-grow: 1;
padding: calc(var(--baseSpacing) - 5px) var(--baseSpacing);
overflow-x: hidden;
overflow-y: auto; /* fallback */
overflow-y: overlay;
}
+58
View File
@@ -0,0 +1,58 @@
@mixin hide() {
opacity: 0;
visibility: hidden;
}
@mixin show() {
opacity: 1;
visibility: visible;
}
@mixin shadowize($value...) {
box-shadow: 0px 2px 5px 0px var(--shadowColor), $value;
}
@mixin scrollbar($width: 8px) {
$trackColor: transparent;
@media screen and (min-width: 550px) {
// chrome scrollbar styles
::-webkit-scrollbar {
width: $width;
height: $width;
border-radius: var(--baseRadius);
}
::-webkit-scrollbar-track {
background: $trackColor;
border-radius: var(--baseRadius);
}
::-webkit-scrollbar-thumb {
background-color: var(--baseAlt2Color);
border-radius: 15px;
border: 2px solid transparent;
background-clip: padding-box;
&:hover,
&:active {
background-color: var(--baseAlt3Color);
}
}
@if & {
// firefox scrollbar
scrollbar-color: var(--baseAlt2Color) $trackColor;
scrollbar-width: thin;
scroll-behavior: smooth;
} @else {
html {
// firefox scrollbar
scrollbar-color: var(--baseAlt2Color) $trackColor;
scrollbar-width: thin;
scroll-behavior: smooth;
* {
scrollbar-width: inherit;
}
}
}
}
}
+254
View File
@@ -0,0 +1,254 @@
.overlay-panel {
$padding: var(--baseSpacing);
$compactPadding: calc(#{$padding} - 7px);
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
align-self: flex-end;
margin-left: auto; // push to right edge
background: var(--baseColor);
height: 100%;
width: 580px;
max-width: 100%;
word-wrap: break-word;
@include shadowize();
.overlay-panel-section {
position: relative;
width: 100%;
margin: 0;
padding: $padding;
transition: box-shadow var(--baseAnimationSpeed);
&:empty {
display: none;
}
&:first-child {
border-top-left-radius: inherit;
border-top-right-radius: inherit;
}
&:last-child {
border-bottom-left-radius: inherit;
border-bottom-right-radius: inherit;
}
.btn {
flex-grow: 0;
}
}
img {
max-width: 100%;
}
hr {
background: var(--baseAlt2Color);
}
// header
.panel-header {
position: relative;
z-index: 2;
display: flex;
flex-wrap: wrap;
align-items:center;
column-gap: 10px;
row-gap: var(--baseSpacing);
padding: $compactPadding $padding;
& > * {
margin-top: 0;
margin-bottom: 0;
}
.btn-back {
margin-left: -10px; // visual alignment
}
.overlay-close {
$size: 35px;
z-index: 3;
outline: 0;
position: absolute;
right: 100%;
top: 20px;
margin: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: $size;
height: $size;
cursor: pointer;
text-align: center;
font-size: 1.6rem;
line-height: 1;
border-top-left-radius: $size;
border-bottom-left-radius: $size;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
color: #fff;
background: var(--primaryColor);
opacity: 0.5;
transition: opacity var(--baseAnimationSpeed);
user-select: none;
i {
font-size: inherit;
}
&:hover,
&:focus-visible,
&:active {
opacity: 0.7;
}
&:active {
transition-duration: var(--activeAnimationSpeed);
opacity: 1;
}
}
.btn-close {
margin-right: -10px;
}
.tabs-header {
margin-bottom: -23px;
}
}
// content
.panel-content {
@extend .content;
z-index: auto; // not fixed to allow overlapping
flex-grow: 1;
overflow-x: hidden;
overflow-y: auto; /* fallback */
overflow-y: overlay;
}
.panel-header ~ .panel-content {
padding-top: 5px;
}
// footer
.panel-footer {
z-index: 2;
column-gap: var(--smSpacing);
display: flex;
align-items:center;
justify-content: flex-end;
border-top: 1px solid var(--baseAlt2Color);
padding: $compactPadding $padding;
}
// scroll markers
&.scrollable {
.panel-header {
box-shadow: 0px 4px 5px 0px rgba(#000, 0.05);
}
.panel-footer {
box-shadow: 0px -4px 5px 0px rgba(#000, 0.05);
}
&.scroll-top-reached .panel-header {
box-shadow: none;
}
&.scroll-bottom-reached .panel-footer {
box-shadow: none;
}
}
// sizes
&.overlay-panel-xl {
width: 850px;
}
&.overlay-panel-lg {
width: 650px;
}
&.overlay-panel-sm {
width: 460px;
}
// popup style
&.popup {
height: auto;
max-height: 100%;
align-self: center;
border-radius: var(--baseRadius);
margin: 0 auto;
.panel-footer {
background: var(--bodyColor);
}
}
&.hide-content {
.panel-content {
display: none;
}
}
&.colored-header {
.panel-header {
background: var(--bodyColor);
border-bottom: 1px solid var(--baseAlt1Color);
.tabs-header {
border-bottom: 0;
}
}
.panel-header ~ .panel-content {
padding-top: calc(var(--baseSpacing) - 5px);
}
}
&.image-preview {
width: auto;
min-width: 300px;
max-width: 70%;
.panel-header {
position: absolute;
z-index: 99;
}
.panel-header,
.panel-footer {
padding: 10px 15px;
}
.panel-content {
padding: 0;
text-align: center;
}
img {
max-width: 100%;
border-top-left-radius: var(--baseRadius);
border-top-right-radius: var(--baseRadius);
}
}
@media (max-width: 900px) {
.overlay-panel-section {
padding: var(--smSpacing);
}
}
}
.overlay-panel-container {
display: flex;
position: fixed;
z-index: 1000;
flex-direction: row;
align-items: center;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
padding: 0;
outline: 0;
.overlay {
position: absolute;
z-index: 0;
left: 0;
top: 0;
width: 100%;
height: 100%;
user-select: none;
background: var(--overlayColor);
}
&.padded {
padding: 10px;
}
}
.overlay-panel-wrapper {
position: relative;
z-index: 1000;
outline: 0;
}
+50
View File
@@ -0,0 +1,50 @@
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
html {
box-sizing: border-box;
}
*, *:before, *:after {
box-sizing: inherit;
}
+71
View File
@@ -0,0 +1,71 @@
.searchbar {
--searchHeight: 44px;
outline: 0;
display: flex;
align-items: center;
height: var(--searchHeight);
width: 100%;
flex-grow: 1;
padding: 5px 7px;
margin: 0 0 var(--smSpacing);
white-space: nowrap;
color: var(--txtHintColor);
background: var(--baseAlt1Color);
border-radius: var(--btnHeight);
transition: color var(--baseAnimationSpeed),
background var(--baseAnimationSpeed),
box-shadow var(--baseAnimationSpeed);
& > :first-child {
border-top-left-radius: var(--btnHeight);
border-bottom-left-radius: var(--btnHeight);
}
& > :last-child {
border-top-right-radius: var(--btnHeight);
border-bottom-right-radius: var(--btnHeight);
}
.btn {
border-radius: var(--btnHeight);
}
.code-editor,
input,
input:focus {
font-size: var(--baseFontSize);
font-family: var(--monospaceFontFamily);
border: 0;
background: none;
}
label > i {
line-height: inherit;
}
.search-options {
flex-shrink: 0;
width: 90px;
.selected-container {
border-radius: inherit;
background: none;
padding-right: 25px !important;
}
&:not(:focus-within) .selected-container {
color: var(--txtHintColor);
}
}
&:focus-within {
color: var(--txtPrimaryColor);
background: var(--baseAlt2Color);
}
}
.searchbar-wrapper {
position: relative;
display: flex;
align-items: center;
width: 100%;;
min-width: var(--btnHeight);
min-height: var(--btnHeight);
.search-toggle {
position: absolute;
right: 0;
top: 0;
}
}
+258
View File
@@ -0,0 +1,258 @@
table {
border-collapse: separate;
min-width: 100%;
transition: opacity var(--baseAnimationSpeed);
.form-field {
margin: 0;
line-height: 1;
}
td, th {
outline: 0;
vertical-align: middle;
position: relative;
text-align: left;
padding: 10px;
border-bottom: 1px solid var(--baseAlt2Color);
&:first-child {
padding-left: 20px;
}
&:last-child {
padding-right: 20px;
}
}
th {
color: var(--txtHintColor);
font-weight: 600;
font-size: 1rem;
user-select: none;
height: 50px;
line-height: var(--smLineHeight);
i {
font-size: inherit;
}
}
td {
height: 60px;
word-break: break-word;
}
.min-width {
width: 1% !important;
white-space: nowrap;
}
.nowrap {
white-space: nowrap;
}
.col-sort {
$pos: 10px;
$iconSize: 25px;
cursor: pointer;
border-top-left-radius: var(--baseRadius);
border-top-right-radius: var(--baseRadius);
padding-right: $iconSize + $pos - 5;
transition: color var(--baseAnimationSpeed),
background var(--baseAnimationSpeed);
&:after {
// content: '\ea74';
content: '\ea4c';
position: absolute;
right: $pos;
top: 50%;
margin-top: -($iconSize * 0.5);
line-height: $iconSize;
height: $iconSize;
font-family: var(--iconFontFamily);
font-weight: normal;
color: var(--txtHintColor);
opacity: 0;
transition: color var(--baseAnimationSpeed),
opacity var(--baseAnimationSpeed);
}
&.sort-desc:after {
content: '\ea4c';
}
&.sort-asc:after {
content: '\ea76';
}
&.sort-active {
&:after {
opacity: 1;
}
}
&:hover,
&:focus-visible {
background: var(--baseAlt1Color);
&:after {
opacity: 1;
}
}
&:active {
transition-duration: var(--activeAnimationSpeed);
background: var(--baseAlt2Color);
}
&.col-sort-disabled {
cursor: default;
background: none;
&:after {
display: none;
}
}
}
.col-header-content {
display: inline-flex;
align-items: center;
flex-wrap: nowrap;
gap: 5px;
.txt {
max-width: 140px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
// column types
%minColWidth {
width: 1% !important;
white-space: nowrap;
}
.col-type-action {
@extend %minColWidth;
white-space: nowrap;
text-align: right;
color: var(--txtHintColor);
i {
display: inline-block;
vertical-align: top;
transition: transform var(--baseAnimationSpeed);
}
}
td.col-type-json {
font-family: monospace;
font-size: var(--smFontSize);
line-height: var(--smLineHeight);
max-width: 300px;
}
.col-type-text {
max-width: 300px;
}
.col-type-select {
min-width: 150px;
}
.col-type-email {
min-width: 120px;
}
.col-type-file {
min-width: 100px;
}
// field name specific columns
td.col-field-id {
width: 0;
white-space: nowrap;
}
.col-field-created,
.col-field-updated {
@extend %minColWidth;
}
tr {
outline: 0;
background: var(--bodyColor);
transition: background var(--baseAnimationSpeed);
}
tr.row-handle {
cursor: pointer;
user-select: none;
&:focus-visible,
&:hover,
&:active {
background: var(--baseAlt1Color);
.action-col {
color: var(--txtPrimaryColor);
i {
transform: translateX(3px);
}
}
}
&:active {
transition-duration: var(--activeAnimationSpeed);
}
}
// styles
&.table-compact {
td, th {
height: auto;
}
}
&.table-border {
border: 1px solid var(--baseAlt2Color);
tr {
background: var(--baseColor);
}
th {
background: var(--baseAlt1Color);
}
> :last-child > :last-child {
th, td {
border-bottom: 0;
}
}
}
// states
&.table-loading {
pointer-events: none;
}
}
.table-wrapper {
width: auto;
padding: 0;
overflow-x: auto;
max-width: calc(100% + 2*var(--baseSpacing));
margin-left: calc(var(--baseSpacing) * -1);
margin-right: calc(var(--baseSpacing) * -1);
.bulk-select-col {
input[type="checkbox"] ~ label {
opacity: 0.7;
}
label:hover,
label:focus-within,
input[type="checkbox"]:checked ~ label {
opacity: 1 !important;
}
}
td, th {
&:first-child {
padding-left: calc(var(--baseSpacing) + 3px);
}
&:last-child {
padding-right: calc(var(--baseSpacing) + 3px);
}
}
// horizontal scrolling
.bulk-select-col,
.col-type-action {
position: sticky;
z-index: 99;
}
.bulk-select-col {
left: 0px;
}
.col-type-action {
right: 0;
}
.bulk-select-col,
.col-type-action {
background: inherit;
}
th.bulk-select-col,
th.col-type-action {
background: var(--bodyColor);
}
}
+129
View File
@@ -0,0 +1,129 @@
$tabHeaderAnimationSpeed: 0.25s;
$tabContentAnimationSpeed: 0.3s;
@keyframes tabChange {
0% {
opacity: 0.5;
}
100% {
opacity: 1;
}
}
.tabs-header {
display: flex;
align-items: stretch;
justify-content: flex-start;
column-gap: 10px;
width: 100%;
min-height: 50px;
user-select: none;
margin: 0 0 var(--baseSpacing);
border-bottom: 1px solid var(--baseAlt2Color);
.tab-item {
position: relative;
outline: 0;
border: 0;
background: none;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 50px;
gap: 5px;
padding: 10px 10px;
margin: 0;
font-size: var(--lgFontSize);
line-height: var(--baseLineHeight);
font-family: var(--baseFontFamily);
color: var(--txtHintColor);
text-align: center;
text-decoration: none;
cursor: pointer;
border-top-left-radius: var(--baseRadius);
border-top-right-radius: var(--baseRadius);
transition: color var(--baseAnimationSpeed),
background var(--baseAnimationSpeed);
&:after { // active border
content: "";
position: absolute;
display: block;
left: 0;
bottom: -1px;
width: 100%;
height: 2px;
border-top-left-radius: var(--baseRadius);
border-top-right-radius: var(--baseRadius);
background: var(--primaryColor);
transform: rotateY(90deg);
transition: transform $tabHeaderAnimationSpeed;
}
.txt, i {
display: inline-block;
vertical-align: top;
}
&:hover,
&:focus-visible,
&:active {
color: var(--txtPrimaryColor);
}
&:focus-visible,
&:active {
transition-duration: var(--activeAnimationSpeed);
background: var(--baseAlt2Color);
}
&.active {
color: var(--txtPrimaryColor);
&:after {
transform: rotateY(0deg);
}
}
&.disabled {
pointer-events: none;
color: var(--txtDisabledColor);
&:after {
display: none;
}
}
}
&.right {
justify-content: flex-end;
}
&.center {
justify-content: center;
}
&.stretched {
.tab-item {
flex-grow: 1;
flex-basis: 0;
}
}
&.compact {
min-height: 30px;
margin-bottom: var(--smSpacing);
}
}
.tabs-content {
@extend %block;
position: relative;
> .tab-item {
width: 100%;
display: none;
&.active {
display: block;
opacity: 0;
animation: tabChange $tabContentAnimationSpeed forwards;
}
& > :first-child {
margin-top: 0;
}
& > :last-child {
margin-bottom: 0;
}
}
}
.tabs {
@extend %block;
position: relative;
}
+57
View File
@@ -0,0 +1,57 @@
@keyframes tooltipHide {
100% {
opacity: 0;
visibility: hidden;
transform: scale(0.9);
}
}
@keyframes tooltipShow {
0% {
opacity: 0;
visibility: hidden;
transform: scale(0.9);
}
100% {
opacity: 1;
visibility: visible;
transform: scale(1);
}
}
.app-tooltip {
position: fixed;
z-index: 999999;
top: 0;
left: 0;
display: inline-block;
vertical-align: top;
max-width: 275px;
padding: 3px 5px;
color: #fff;
text-align: center;
font-family: var(--baseFontFamily);
font-size: var(--smFontSize);
line-height: var(--smLineHeight);
border-radius: var(--baseRadius);
background: var(--tooltipColor);
pointer-events: none;
user-select: none;
transition: opacity var(--baseAnimationSpeed),
visibility var(--baseAnimationSpeed),
transform var(--baseAnimationSpeed);
transform: scale(0.9);
white-space: pre-line;
@include hide();
&.active {
transform: scale(1);
@include show();
}
&.code {
font-family: monospace;
white-space: pre-wrap;
text-align: left;
min-width: 150px;
max-width: 340px;
}
}
+101
View File
@@ -0,0 +1,101 @@
:root {
--baseFontFamily: 'Source Sans Pro', sans-serif, emoji;
--monospaceFontFamily: 'Ubuntu Mono', monospace, emoji;
--iconFontFamily: 'remixicon';
--txtPrimaryColor: #16161a;
--txtHintColor: #666f75;
--txtDisabledColor: #adb3b8;
--primaryColor: #16161a;
--bodyColor: #f8f9fa;
--baseColor: #ffffff;
--baseAlt1Color: #edf0f3;
--baseAlt2Color: #dee3e8;
--baseAlt3Color: #a9b4bc;
--baseAlt4Color: #7c868d;
--infoColor: #3da9fc;
--infoAltColor: #d8eefe;
--successColor: #2cb67d;
--successAltColor: #daf6ea;
--dangerColor: #ef4565;
--dangerAltColor: #fcdee4;
--warningColor: #ff8e3c;
--warningAltColor: #ffe7d6;
--overlayColor: rgba(88, 95, 101, 0.3);
--tooltipColor: rgba(0, 0, 0, 0.85);
--shadowColor: rgba(0, 0, 0, 0.05);
--baseFontSize: 14.5px;
--xsFontSize: 12px;
--smFontSize: 13px;
--lgFontSize: 15px;
--xlFontSize: 16px;
--baseLineHeight: 22px;
--smLineHeight: 16px;
--lgLineHeight: 24px;
--inputHeight: 34px;
--btnHeight: 40px;
--xsBtnHeight: 24px;
--smBtnHeight: 30px;
--lgBtnHeight: 54px;
--baseSpacing: 30px;
--xsSpacing: 15px;
--smSpacing: 20px;
--lgSpacing: 50px;
--xlSpacing: 60px;
--wrapperWidth: 850px;
--smWrapperWidth: 420px;
--lgWrapperWidth: 1200px;
--appSidebarWidth: 75px;
--pageSidebarWidth: 220px;
--baseAnimationSpeed: 150ms;
--activeAnimationSpeed: 70ms;
--baseRadius: 3px;
--lgRadius: 12px;
--btnRadius: 3px;
// https://developer.mozilla.org/en-US/docs/Web/CSS/accent-color
accent-color: var(--primaryColor);
}
// Maps
// ----
$colorsMap: (
"primary": var(--primaryColor),
"info": var(--infoColor),
"info-alt": var(--infoAltColor),
"success": var(--successColor),
"success-alt": var(--successAltColor),
"danger": var(--dangerColor),
"danger-alt": var(--dangerAltColor),
"warning": var(--warningColor),
"warning-alt": var(--warningAltColor),
);
$sidesMap: (
"t": "top",
"r": "right",
"b": "bottom",
"l": "left",
);
$sizesMap: (
"base": var(--baseSpacing),
"xs": var(--xsSpacing),
"sm": var(--smSpacing),
"lg": var(--lgSpacing),
"xl": var(--xlSpacing),
);
+39
View File
@@ -0,0 +1,39 @@
@import 'fonts';
@import 'vars';
@import 'mixins';
@import 'reset';
@import 'icons';
@import 'animations';
@import 'base';
@import 'grid';
@import 'tooltip';
@import 'dropdown';
@import 'overlay_panel';
@import 'alert';
@import 'form';
@import 'layout';
@import 'tabs';
@import 'accordion';
@import 'table';
@import 'searchbar';
@import 'bulkbar';
@import 'flatpickr';
File diff suppressed because one or more lines are too long