feat(main): Add base theme: This is the falcon theme out of the box.

This is falcon v3.1.2
This commit is contained in:
2025-11-18 14:04:01 +01:00
parent 3a7f2db331
commit 6849b8eefd
605 changed files with 49820 additions and 0 deletions

View File

@ -0,0 +1,3 @@
@import "swiper/index";
@import "bootstrap/index";
@import "bootstrap-touchspin/index";

View File

@ -0,0 +1,59 @@
.bootstrap-touchspin {
max-width: 100px;
overflow: hidden;
border: $input-border-width solid $input-border-color;
border-radius: $border-radius;
margin: 0 auto;
> input {
max-width: 60px;
padding: 0;
font-weight: 700;
text-align: center;
border: none;
border-right: $input-border-width solid $input-border-color;
border-left: $input-border-width solid $input-border-color;
box-shadow: none;
appearance: textfield;
margin-top: -#{$input-border-width};
margin-bottom: -#{$input-border-width};
&::-webkit-outer-spin-button,
&::-webkit-inner-spin-button {
margin: 0;
appearance: none;
}
}
.btn {
position: relative;
z-index: 2;
display: block;
width: 1.8em;
height: 100%;
padding: 0;
color: $input-color;
text-align: center;
background-color: $white;
border: 0;
@include hover-focus() {
background: $gray-200;
}
}
.input-group-prepend,
.input-group-append {
display: block;
margin: 0;
}
}
.input-touchspin {
max-width: 100px;
opacity: 0;
.bootstrap-touchspin & {
opacity: 1;
}
}

View File

@ -0,0 +1 @@
@import "bootstrap-touchspin";

View File

@ -0,0 +1,29 @@
/* stylelint-disable declaration-no-important */
@each $bp in map-keys($grid-breakpoints) {
.hidden-#{$bp}-up {
@include media-breakpoint-up($bp) {
display: none !important;
}
}
.hidden-#{$bp}-down {
@include media-breakpoint-down($bp) {
display: none !important;
}
}
}
/* stylelint-enable declaration-no-important */
.float-xs-left { @extend .float-left; }
.float-xs-right { @extend .float-right; }
.float-xs-none { @extend .float-none; }
@if $grid-columns > 0 {
@for $i from 1 through $grid-columns {
.col-xs-#{$i} {
@extend .col-#{$i};
}
}
}

View File

@ -0,0 +1,32 @@
.breadcrumb {
@include media-breakpoint-down(sm) {
position: relative;
flex-wrap: nowrap;
padding-right: 0;
padding-left: 0;
overflow-x: auto;
overflow-y: hidden;
white-space: nowrap;
-webkit-overflow-scrolling: touch;
-ms-overflow-style: -ms-autohiding-scrollbar;
&::-webkit-scrollbar {
display: none;
}
.breadcrumb-item {
&:first-child {
padding-left: $breadcrumb-padding-x;
}
&:last-child {
padding-right: $breadcrumb-padding-x;
}
}
}
}
.breadcrumb-item + .breadcrumb-item::before {
display: inline-block;
float: none;
}

View File

@ -0,0 +1,4 @@
.btn-icon {
font-size: inherit;
vertical-align: middle;
}

View File

@ -0,0 +1,24 @@
.card {
&--secondary {
border: 0;
}
}
.card-body + .card-body {
border-top: $card-border-width solid $card-border-color;
}
.card-group-vertical {
> .card {
&:not(:first-child) {
border-top: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
&:not(:last-child) {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
}
}

View File

@ -0,0 +1,16 @@
.icon-collapse {
&[aria-expanded="true"] {
.material-icons {
font-size: 0;
&::before {
font-size: 24px;
content: "keyboard_arrow_up";
}
}
}
@include hover-focus() {
text-decoration: none;
}
}

View File

@ -0,0 +1,93 @@
@use "sass:math";
.custom-checkbox-color {
@extend .custom-checkbox;
.custom-control-label {
&::before {
/* stylelint-disable */
display: none !important;
/* stylelint-enable */
}
}
.custom-control-input:checked ~ .custom-control-label-dark {
&::after {
background-image: escape-svg($custom-checkbox-indicator-icon-checked-dark);
}
}
}
.custom-control-input-color {
position: absolute;
top: math.div(($font-size-base * $line-height-base - $custom-control-indicator-size), 2);
left: -($custom-control-gutter + $custom-control-indicator-size);
display: block;
width: $custom-control-indicator-size;
height: $custom-control-indicator-size;
pointer-events: none;
content: "";
background-color: $custom-control-indicator-bg;
border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;
@include box-shadow($custom-control-indicator-box-shadow);
@include border-radius($custom-checkbox-indicator-border-radius);
}
.custom-checkbox-block {
padding-left: $custom-control-indicator-size;
.custom-control-label::after,
.custom-control-label::before {
left: -#{$custom-control-indicator-size};
}
}
.custom-radio-color {
@extend .custom-radio;
position: relative;
width: $custom-color-control-indicator-size;
height: $custom-color-control-indicator-size;
padding-left: $custom-color-control-indicator-size;
.custom-control-input-color {
@extend .custom-control-input-color;
top: 0;
left: -#{$custom-color-control-indicator-size};
width: $custom-color-control-indicator-size;
height: $custom-color-control-indicator-size;
border-radius: $custom-radio-indicator-border-radius;
}
.custom-control-label {
&::before {
display: none;
}
}
.custom-control-input {
width: 100%;
height: 100%;
&:checked ~ .custom-control-label {
&::after {
top: #{math.div(($custom-color-control-indicator-size - $custom-color-control-indicator-icon-size), 2)};
right: #{math.div(($custom-color-control-indicator-size - $custom-color-control-indicator-icon-size), 2)};
left: auto;
width: $custom-color-control-indicator-icon-size;
height: $custom-color-control-indicator-icon-size;
background-image: escape-svg($custom-checkbox-indicator-icon-checked);
}
.custom-control-input-color {
border-color: $custom-color-control-indicator-size-checked-border-color;
}
}
}
.custom-control-input:checked ~ .custom-control-label-dark {
&::after {
background-image: escape-svg($custom-checkbox-indicator-icon-checked-dark);
}
}
}

View File

@ -0,0 +1,3 @@
.form-label {
display: block;
}

View File

@ -0,0 +1,4 @@
.container .container {
padding-right: 0;
padding-left: 0;
}

View File

@ -0,0 +1,9 @@
@import "breadcrumb";
@import "button";
@import "grid";
@import "card";
@import "collapse";
@import "form";
@import "list-group";
@import "custom-control";
@import "bootstrap-backwards-compatibility";

View File

@ -0,0 +1,47 @@
.list-group-item-action {
font-weight: 500;
}
.list-group-item-action-dropdown {
@extend .list-group-item-action;
position: relative;
display: flex;
justify-content: space-between;
.list-group-item-collapse {
position: relative;
z-index: 1;
width: auto;
padding: 0;
margin-left: 10px;
/* stylelint-disable */
text-decoration: none !important;
/* stylelint-enable */
background: none;
}
}
.list-group-collapse {
.list-group-collapse {
.list-group-item {
padding-left: #{$list-group-item-padding-x + $list-group-item-padding-x * 0.5};
font-weight: 400;
border-bottom: $list-group-border-width solid $list-group-border-color;
}
.list-group-collapse {
.list-group-item {
padding-left: #{$list-group-item-padding-x + $list-group-item-padding-x * 1};
border-bottom: $list-group-border-width solid $list-group-border-color;
}
}
}
}
.list-group-item-action-dropdown-link {
@extend .list-group-item-action;
padding: 0;
}

View File

@ -0,0 +1 @@
@import "navigation";

View File

@ -0,0 +1,11 @@
.swiper-button-custom {
width: auto;
height: auto;
margin: 0;
color: $primary;
&::after {
display: none;
}
}