Files
2024-12-17 17:34:10 +01:00

743 lines
14 KiB
SCSS

/**
* [Copyright Regular Labs]
*/
@import "_variables";
@import "_icons";
/*
* Regular Labs specific styles
*/
.rl-flex {
display: flex;
.rl-flex > {
flex: 1;
}
}
.rl-mr-1 {
margin-right: 0.25rem;
}
@mixin rl-w($width: "", $postfix: "") {
.rl-w-#{$width},
.input-group.rl-w-#{$width},
.form-control.rl-w-#{$width},
.input-group > .form-control.rl-w-#{$width} {
max-width: 100%;
width: #{$width}#{$postfix};
}
.rl-min-w-#{$width} {
min-width: #{$width}#{$postfix};
}
}
@include rl-w(2em);
@include rl-w(3em);
@include rl-w(4em);
@include rl-w(5em);
@include rl-w(6em);
@include rl-w(7em);
@include rl-w(8em);
@include rl-w(9em);
@include rl-w(10em);
@include rl-w(12em);
@include rl-w(16em);
@include rl-w(20em);
@include rl-w(24em);
@each $color in gray, red, orange, yellow, green, teal, blue, purple, pink {
.rl-#{$color} {
color: rl-color($color, 600);
}
.rl-bg-#{$color} {
background-color: rl-color($color, 500);
}
.rl-border-#{$color} {
border-color: rl-color($color, 500);
}
}
.rl-license,
.rl-footer {
margin-top: 30px;
text-align: center;
div {
margin-top: .5em;
}
a,
a[target=_blank] {
&:before {
content: "";
margin-right: 0;
}
}
}
.rl-footer {
.rl-footer-review {
a.stars {
display: inline-block;
.icon-star {
color: $yellow;
margin: 0;
transition-duration: 500ms;
}
&:hover {
text-decoration: none;
.icon-star {
transform: rotate(216deg);
}
}
}
}
.rl-footer-copyright {
font-size: 0.7em;
margin-top: 3px;
opacity: .6;
}
}
.rl-code {
background-color: var(--template-bg-dark-3);
border: 1px solid var(--template-bg-dark-10);
border-radius: .25rem;
color: var(--alert-success);
font-family: $font-family-monospace;
font-size: .875rem;
font-weight: 400;
line-height: 1.5;
vertical-align: baseline;
white-space: nowrap;
display: inline-block;
padding: .1rem .1rem;
&.rl-code-block {
max-width: 100%;
padding: .25rem .5rem;
overflow-x: auto;
}
}
.rl-pre-wrap {
white-space: pre-wrap;
}
.rl-form {
//.control-group {
// .form-select {
// padding-right: 0;
// }
//}
.form-control {
padding: 0.5rem;
}
select.form-control {
padding: 0;
option {
padding: 0.25rem 0.5rem;
}
}
.options-form {
legend {
margin-bottom: 0.25rem;
}
}
&.labels-sm {
.control-label {
width: 150px;
}
}
.is-flipped.is-open .choices__inner {
border-radius: 2.5px 2.5px 0 0;
}
.is-flipped .choices__list--dropdown {
top: 100%;
bottom: auto;
margin-top: -1px;
margin-bottom: 0;
border-radius: 0 0 2.5px 2.5px;
}
}
a.rl-no-styling {
text-decoration: none !important;
&:before {
content: "" !important;
-webkit-padding-end: 0 !important;
padding-inline-end: 0 !important;
}
}
input.rl-code-field {
&.form-control {
font-family: $font-family-monospace;
&.inactive {
font-weight: 700;
color: $gray-600;
background-color: $gray-100;
border-color: $gray-200;
}
&::-webkit-input-placeholder {
opacity: 1;
color: $gray-400;
}
&:-ms-input-placeholder {
opacity: 1;
color: $gray-400;
}
::placeholder {
opacity: 1;
color: $gray-400;
}
}
}
input.rl-key-field {
&.form-control {
font-family: $font-family-monospace;
}
}
.rl-admin-popover-container {
display: none;
position: relative;
&.show {
display: block;
}
&.rl-admin-popover-full {
position: absolute;
left: 0;
right: 0;
}
}
.rl-admin-popover {
background: $white;
border: 1px solid $gray-500;
border-radius: 0.3rem;
box-shadow: 0 0 40px 10px rgba(0, 28, 73, .15);
color: $gray-800;
font-size: 1rem;
left: 0;
margin: .25em;
max-width: 100%;
padding: 0.5rem 1rem;
position: absolute;
top: 0;
z-index: 1060;
.form-vertical & {
margin-top: -.25em;
}
}
.rl-panel {
border: 1px solid $info-bg;
border-left-width: .6rem;
border-radius: .3rem;
margin: 1rem 0;
padding: 1rem;
&:first-child {
margin-top: 0;
}
&:last-child {
margin-bottom: 0;
}
&.rl-panel-success {
border-color: $success-bg;
}
&.rl-panel-warning {
border-color: $warning-bg;
}
&.rl-panel-error {
border-color: $danger-bg;
}
}
.rl-alert.alert {
&.alert-info {
background-color: $blue;
border: 1px solid $blue;
color: $white;
}
&.rl-alert-light {
&.alert-info {
background-color: lighten($blue, 50%);
border: 2px solid $blue;
color: $black;
}
&.alert-success {
background-color: lighten($green, 60%);
border: 2px solid $green;
color: $black;
}
&.alert-warning {
background-color: lighten($yellow, 43%);
border: 2px solid $yellow;
color: $black;
}
&.alert-error {
background-color: lighten($red, 50%);
border: 2px solid $red;
color: $black;
}
}
}
.rl-badge.badge {
padding-right: 0.25rem;
padding-left: 0.25rem;
&.bg-info {
background-color: $blue !important;
color: $white;
}
&.bg-warning {
background-color: $yellow !important;
color: $white;
}
}
.rl-treeselect {
&.card {
border: solid 1px var(--template-bg-dark-20);
}
.card-header {
border-bottom: solid 1px var(--template-bg-dark-20);
}
.card-body {
max-height: 400px;
overflow-y: auto;
}
.treeselect {
margin-bottom: 0;
.dropdown-toggle::after {
font-size: 1.1rem;
vertical-align: middle;
}
}
.dropdown-header {
border-bottom: 1px solid rgba(0, 0, 0, 0.15);
padding: .75rem;
text-transform: uppercase;
}
.dropdown-item {
border-bottom: none;
line-height: 1rem;
padding: .75rem;
}
.rl-item-checked > .treeselect-item {
margin: 0 -.25rem;
padding: 0 .25rem;
background-color: rl-color(blue, 200);
border-radius: 0.25rem;
}
}
.rl-btn-group.btn-group {
&.radio > .btn-check {
+ .btn {
opacity: 0.5;
}
+ .btn:hover,
&:checked + .btn {
opacity: 1;
}
&[disabled] + .btn,
&:disabled + .btn {
background-color: $gray-300;
opacity: 0.4;
}
}
&.rl-btn-group-separate {
display: block;
> .btn {
border-radius: 0.2rem !important;
margin-bottom: 0.25rem;
}
&.radio > .btn-check {
+ .btn {
opacity: 0.7;
}
+ .btn:hover,
&:checked + .btn {
opacity: 1;
}
&[disabled] + .btn,
&:disabled + .btn {
opacity: 0.4;
}
}
&.rl-btn-group-min-size {
> .btn {
min-width: 4rem;
}
}
}
}
.rl-bg-transparent {
background: none !important;
}
tr.rl-tr-bg-transparent {
.table > * > & > * {
background: none !important;
border: none !important;
box-shadow: none !important;
}
}
@media (min-width: 768px) {
.rl-w-md-25 {
width: 25%;
}
.rl-w-md-30 {
width: 30%;
}
}
//tr.rl-tr-title {
// .table > * > & > * {
// padding: 4rem .5rem .5rem;
// }
//
// .table > *:first-child > &:first-child > * {
// padding-top: 0;
// }
//}
.rl-badge {
> small {
font-size: .85em;
}
}
.rl-modal .btn-group > .btn {
line-height: 1.5;
margin: 0;
padding: 0.6rem 1rem;
}
.control-group > div > .rl-alert {
&:first-child {
margin-top: 0;
}
&:last-child {
margin-bottom: 0;
}
}
.rl-form-checkboxes-not-inline .form-check-inline,
.rl-form-check-not-inline .form-check-inline {
display: block;
}
.rl-form-checkboxes-style-disabled .rl-checkbox-checked label {
color: $red;
}
.rl-button-no-text {
&.header-item-content {
-webkit-padding-end: 0;
padding-inline-end: 0;
}
.subhead joomla-toolbar-button &.btn > span {
-webkit-margin-end: 0;
margin-inline-end: 0;
}
}
.card.rl-card {
border: solid 1px var(--template-bg-dark-20);
margin: 1rem 0;
&,
.card-body > *,
.alert > * {
&:first-child {
margin-top: 0;
}
&:last-child {
margin-bottom: 0;
}
}
.card-body:not(:first-child) {
padding-top: 0;
}
.rl-card-button {
order: 1;
-webkit-margin-start: auto;
margin-inline-start: auto;
> * {
margin-top: -10px;
}
}
}
.rl-spinner {
position: absolute;
animation: rl-spinner 1.2s infinite linear;
border: 3px solid $rl-gray;
border-top-color: $rl-green;
border-right-color: $rl-yellow;
border-bottom-color: $rl-red;
border-left-color: $rl-blue;
border-radius: 50%;
margin: 0 auto;
left: 0;
right: 0;
height: 18px;
width: 18px;
top: calc(50% - 9px);
&.rl-spinner-lg {
border-width: 4px;
height: 24px;
width: 24px;
top: calc(50% - 12px);
}
}
.rl-has-spinner {
min-height: 24px;
}
@keyframes rl-spinner {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/*
* Global extra styles
*/
.btn-md, .btn-group-md > .btn {
font-size: 0.9rem;
padding: 0.3rem 0.6rem;
}
joomla-field-subform.rl-subform {
&.rl-hide-main-buttons > .btn-toolbar {
display: none;
}
&.rl-move-add-button div.subform-repeatable-group {
margin-bottom: 4rem;
&:last-child {
margin-bottom: 3rem;
}
> .btn-toolbar .btn.group-add {
right: auto;
left: 0;
bottom: -3rem;
border-radius: 0.25rem;
min-width: 6rem;
}
}
.subform-repeatable-group {
margin-left: 1rem;
}
}
.rl-cursor-not-allowed {
cursor: not-allowed;
}
.rl-bg-danger-light {
background-color: $state-danger-bg;
}
button, [type=button], [type=reset], [type=submit] {
&.rl-webkit-no-appearance {
-webkit-appearance: none;
}
}
.form-select {
&.rl-form-select-info {
color: var(--info);
background-color: var(--info);
border-color: var(--info);
option {
color: $gray-900;
background-color: var(--white-offset);
}
}
&.rl-form-select-ghosted {
color: $gray-500;
option {
color: $gray-500;
}
}
}
/*
* Joomla core style overrides
*/
// Makes label be full width when using form-vertical for instance
.control-group > div {
width: 100%;
}
.form-vertical .control-group .control-label {
width: auto;
}
.control-group .form-select {
padding-right: 3.5rem;
}
joomla-field-subform .icon-info-circle {
color: var(--template-text-dark) !important;
font-size: 0.8571rem !important;
opacity: 0.7;
}
.text-left,
.btn.text-left {
text-align: left;
}
.text-right,
.btn.text-right {
text-align: right;
}
.js-stools-column-order > .icon-sort:first-child {
margin-left: 0 !important;
}
.display-block:not(.hidden) {
display: block;
}
.alert-danger code {
color: $blue;
}
.CodeMirror-fullscreen {
z-index: 1060 !important;
}
a.disabled {
pointer-events: none;
opacity: 0.4;
}
.disabled {
.btn.disabled,
a.disabled {
opacity: 1;
}
}
.rl-ajax-wrapper {
> *:first-child {
opacity: 0;
}
&:has(.rl-ajax-field) {
display: flex;
}
> .rl-ajax-field {
opacity: 0;
width: 100%;
padding: 9px 1.25rem !important;
}
&.loaded {
> *:first-child {
opacity: 1;
}
> .rl-ajax-field {
opacity: 0;
animation: rl-fade-in .5s 3s 1 forwards;
}
}
}
.switcher input ~ input:checked.rl-radio-warning ~ .toggle-outside {
background-color: $warning;
}
@keyframes rl-fade-in {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}