first commit

This commit is contained in:
2025-06-17 11:53:18 +02:00
commit 9f0f7ba12b
8804 changed files with 1369176 additions and 0 deletions

View File

@ -0,0 +1,58 @@
// Alerts
.alert {
margin: 1rem 0;
border-right: 0;
border-left: 0;
border-radius: $border-radius-sm;
&.alert-info {
color: var(--template-bg-dark);
background-color: var(--template-bg-dark-10);
border: 1px solid var(--template-bg-dark-20);
}
&.alert-warning {
color: $state-warning-text;
background-color: $state-warning-bg;
border: 1px solid $state-warning-border;
}
&.alert-success {
color: $state-success-text;
background-color: $state-success-bg;
border: 1px solid $state-success-border;
}
&.alert-error {
color: $state-error-text;
background-color: $state-error-bg;
border: 1px solid $state-error-border;
}
}
.alert-parent {
margin-top: 0;
}
fieldset .alert {
&.alert-info {
margin: -1rem 0 1rem;
}
}
.alert-heading {
font-size: $h4-font-size;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(-15px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

View File

@ -0,0 +1,16 @@
:root {
--calendar-bg: var(--body-bg);
--calendar-week-bg: #f4f4f4;
--calendar-buttons-color: #495057;
--calendar-select-bg-color: #{$form-select-bg};
--calendar-select-color: var(--body-color);
}
@if $enable-dark-mode {
@include color-mode(dark, true) {
--calendar-week-bg: var(--gray-700);
--calendar-buttons-color: var(--template-bg-dark-20);
--calendar-select-bg-url: url("../../images/calendar-select-bg-dark.svg") /*rtl:url("../../images/calendar-select-bg-dark-rtl.svg")*/;
--calendar-select-bg-color: #{$form-select-bg-dark};
}
}

View File

@ -0,0 +1,23 @@
// Edit Form
.title-alias {
.form-control {
max-width: 100%;
}
.form-control-feedback {
position: absolute;
right: 1rem;
bottom: -1.8rem;
text-align: right;
}
}
.layout-edit {
.title-alias {
.form-group {
box-shadow: none;
}
}
}

View File

@ -0,0 +1,217 @@
// Form
.form-control {
max-width: $input-max-width;
&:disabled,
&[readonly] {
background-color: var(--gray-200);
opacity: 1;
}
@if $enable-dark-mode {
@include color-mode(dark) {
&:disabled,
&[readonly] {
background-color: var(--gray-800);
}
}
}
&:hover:not(:disabled):not([readonly])::-webkit-file-upload-button,
&:hover:not(:disabled):not([readonly])::file-selector-button {
background-color: var(--template-bg-dark-50);
}
&::placeholder {
font-size: .8rem;
font-style: italic;
}
&::-webkit-file-upload-button,
&::file-selector-button {
background-color: var(--template-bg-dark-70);
}
}
.control-group {
position: relative;
display: flex;
flex-wrap: wrap;
margin: 0 0 1rem;
> .form-check {
display: inline-block;
}
&::after {
display: table;
clear: both;
content: "";
}
.control-label {
width: 240px;
padding: .3rem 1rem .3rem 0;
}
.controls {
position: relative;
flex: 1;
min-width: 210px;
max-width: 100%;
+ div {
width: 100%;
margin: 5px 0 10px;
}
}
.form-vertical & {
flex-direction: column;
}
}
.stack .control-label {
width: 100%;
}
.spacer {
hr {
width: 380px;
}
}
td .form-control {
display: inline-block;
width: auto;
}
.checkboxes {
padding-top: 5px;
.checkbox input {
position: static;
margin-left: 0;
}
}
.form-check {
padding-top: 5px;
margin-bottom: 0;
}
.modal label {
width: 100%;
}
// Validation
.invalid {
color: var(--danger);
border-color: var(--danger);
}
.valid {
border-color: var(--success);
}
.form-control-feedback {
display: block;
}
[aria-grabbed="true"] {
box-shadow: $input-box-shadow;
}
.sortable-handler.inactive {
opacity: .3;
}
// set up hidden tooltip
[role="tooltip"]:not(.show) {
z-index: $zindex-tooltip;
display: none;
padding: .5em;
margin: .25em;
color: $white;
text-align: start;
background: $black;
border-radius: .2rem !important;
}
// reveal associated tooltip on focus
:focus + [role="tooltip"],
:hover + [role="tooltip"] {
position: absolute;
display: block;
}
.filter-search-bar__description {
bottom: 100%;
}
.container-popup .filter-search-bar__description {
top: 100%;
bottom: auto;
}
.input-group > .form-control[readonly] {
margin-right: 1px;
}
.form-group {
@extend .mb-3;
}
// Subform - non table layout
div.subform-repeatable-group {
position: relative;
padding: 32px 32px 16px 28px;
margin-top: 20px;
border: $input-border-width solid $input-border-color;
@include border-radius($border-radius);
> .btn-toolbar {
.btn-group {
position: static;
}
.btn {
position: absolute;
&.group-add {
right: -1px;
bottom: -1px;
border-radius: $border-radius 0 $border-radius 0;
}
&.group-remove {
top: -1px;
right: -1px;
border-radius: 0 $border-radius 0 $border-radius;
}
&.group-move {
top: 50%;
right: 100%;
padding: 0;
margin-top: -27px;
border-radius: $border-radius 0 0 $border-radius;
span {
padding: 1.5rem .5rem;
}
}
}
}
}
// Highlight draggable section
.subform-repeatable-group[draggable="true"] {
// For non table layout
background-color: $teal;
// For table layout
> td {
background-color: $teal;
}
}

View File

@ -0,0 +1,288 @@
// Global
html {
height: 100%;
&.a11y_font {
font-size: 18px;
}
}
body {
display: flex;
flex-direction: column;
min-height: 100%;
padding: 0;
margin: 0;
text-align: start;
&.admin {
background-color: var(--template-bg-dark-5);
}
@if $enable-dark-mode {
@include color-mode(dark) {
&.admin {
background-color: var(--template-bg-dark-90);
}
}
}
&.monochrome {
filter: grayscale(1);
&::after {
position: fixed;
top: 0;
left: 0;
z-index: -1;
width: 100%;
height: 100%;
content: "";
background: var(--template-bg-dark-5);
}
}
&.a11y_contrast {
filter: contrast(115%);
}
&.monochrome.a11y_contrast {
filter: grayscale(1) contrast(115%);
}
&.a11y_highlight {
a,
.header-item-content {
padding: 3px;
text-decoration: underline !important;
border: #f00 dotted 1px;
}
.joomlaversion {
padding: 0;
text-decoration: none !important;
border: none;
}
a.page-link {
padding: $pagination-padding-y $pagination-padding-x;
}
}
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: $font-weight-bold;
}
h1 {
font-weight: $font-weight-normal;
}
small,
.small {
font-size: $font-size-sm;
}
legend {
font-size: 1.2rem;
font-weight: $font-weight-bold;
}
// focus-visible polyfill rule
.js-focus-visible :focus:not(.focus-visible) {
outline: none;
}
// Default focus highlighting
a,
button,
input,
textarea {
&.focus-visible {
outline: auto 2px var(--focus);
}
}
// Break up text in cells to prevent overflow
.break-word {
word-break: break-all;
word-wrap: break-word;
}
label,
caption {
@include font-size($form-label-font-size);
text-align: start;
}
.logo {
img path {
fill: var(--template-text-dark);
}
}
.container-main,
.system-debug {
padding-bottom: 50px;
}
body .container-main {
order: 1;
position: relative;
padding-right: 0;
padding-left: 0;
}
.content {
padding: 1rem;
@include media-breakpoint-up(md) {
padding: 0 2rem;
.subhead + & {
padding-top: 0;
}
}
}
body:not(.contentpane) .main-card {
background: var(--body-bg);
border-radius: $border-radius;
box-shadow: $atum-box-shadow;
}
.row-selected {
background-color: var(--toolbar-bg);
}
// Multiple buttons wrapping
.input-group input {
min-width: 220px;
}
// Multilingual associations specific
.item-associations {
padding: 0;
}
.item-associations li {
display: inline-block;
margin-bottom: 3px;
list-style: none;
}
// Quickicon specific
.message-alert {
text-align: end !important;
}
// external links with icons
a[target="_blank"]::before {
padding-inline-end: 3px;
font-family: "Font Awesome 6 Free";
font-size: 14px;
font-weight: 900;
content: "\f35d";
}
#wrapper {
&.d-flex {
@include media-breakpoint-down(sm) {
display: block !important;
}
}
}
.text-muted {
color: var(--template-text-dark) !important;
opacity: .7;
}
@if $enable-dark-mode {
@include color-mode(dark) {
.text-muted {
color: var(--template-text-light) !important;
}
}
}
.card-columns {
display: grid;
grid-gap: 0 15px;
grid-template-columns: 1fr;
@include media-breakpoint-up(md) {
grid-template-columns: 1fr 1fr;
}
}
.cpanel-help,
.cpanel-system {
.card-columns {
@include media-breakpoint-up(md) {
grid-template-columns: 1fr 1fr 1fr;
}
}
}
.tiny {
@include font-size($form-label-font-size);
line-height: 1.4rem;
}
// details
details {
padding: .5rem 1rem;
margin: 0 0 2rem;
background: var(--template-bg-dark-3);
border: 1px solid var(--template-bg-dark-10);
border-radius: $border-radius;
summary {
color: var(--template-link-color);
~ * {
margin-top: 1rem;
}
}
}
@if $enable-dark-mode {
@include color-mode(dark) {
details {
background: var(--template-bg-dark-90);
}
}
}
// meter element
meter {
width: 100%;
}
// Bootstrap 4 b/c
.sr-only {
@extend .visually-hidden;
}
// tab *+* border
@include media-breakpoint-up(md) {
joomla-tab[orientation=horizontal]:not([view=accordion]) {
section > .row {
--gutter-x: 4rem;
> * + * {
border-inline-start: 1px solid var(--template-bg-dark-10);
}
}
}
}

View File

@ -0,0 +1,229 @@
// Header
.header {
z-index: $zindex-header;
color: $white;
background: var(--template-bg-dark);
&-inside {
display: flex;
min-height: 54px;
}
a {
color: $white;
&:before {
display: none;
}
}
.logo {
display: flex;
flex-flow: row nowrap;
align-items: center;
width: $sidebar-width;
height: 100%;
padding: 12px 5px;
overflow: hidden;
background-color: var(--template-bg-dark-70);
transition: all .3s ease-in-out;
&.small {
justify-content: center;
width: $sidebar-width-closed;
transition: all .3s ease-in-out;
svg,
img {
&:not(.logo-collapsed) {
display: none;
}
&.logo-collapsed {
display: inline-block;
width: 20px;
height: 20px;
object-fit: contain;
object-position: center center;
}
}
}
svg,
img {
width: 150px;
height: 30px;
margin: 0 .35rem;
object-fit: contain;
object-position: left center;
&.logo-collapsed {
display: none;
}
}
}
.page-title {
padding: 0 1rem;
margin: 0;
overflow: hidden;
font-size: 1.2rem;
color: $white;
text-overflow: ellipsis;
white-space: nowrap;
> span {
margin-inline-end: .25rem;
}
}
.dropdown-menu {
font-size: .85rem;
}
.dropdown-header,
.dropdown-item {
padding: .82rem .75rem;
color: $white;
background-color: var(--template-bg-dark-70);
> span {
margin-inline-end: .5rem;
}
&:hover {
background-color: var(--template-bg-dark);
}
}
.dropdown-header {
padding: .75rem;
font-size: inherit;
background-color: var(--template-bg-dark);
}
}
.header-items {
align-items: center;
justify-content: flex-end;
width: 50%;
margin: 15px;
margin-inline-start: auto;
.dropdown-toggle {
background-color: transparent;
border: 0;
&::after {
display: none;
}
}
}
.header-item {
position: relative;
margin: 0 4px;
}
.header-item-content {
display: flex;
align-items: center;
line-height: 1rem;
color: $white;
background-color: var(--template-bg-dark-60);
border-radius: 22px;
padding-inline-end: 4px;
a,
button {
color: $white;
text-decoration: none;
}
a {
display: flex;
}
&:not(.no-link):not(.joomlaversion):hover {
background-color: var(--template-bg-dark-50);
}
&.joomlaversion {
color: var(--bluegray);
background-color: transparent;
.header-item-text {
padding-inline-end: 12px;
}
}
}
.header-item-icon {
> * {
display: flex;
align-items: center;
justify-content: center;
width: 28px;
min-width: 28px;
height: 28px;
margin: 4px;
color: $white;
background-color: var(--template-bg-dark);
border-radius: 16px;
}
span {
margin: 4px;
}
}
.header-item-count {
margin-inline-end: .5rem;
}
.header-item-text {
padding: 0 8px 0 4px;
font-size: .75rem;
white-space: nowrap;
}
.header-more-btn {
margin: 0 5px;
font-size: 1.7rem;
}
.header-dd-items {
.header-item-content {
background: transparent;
}
.header-item-text {
font-size: .75rem;
}
.dropdown-item {
padding: .5rem .75rem;
}
}
.header-dd-item {
padding: 3px 6px;
}
@include media-breakpoint-down(md) {
.header-items {
position: fixed;
bottom: 0;
flex-direction: row-reverse;
width: 100%;
padding: 10px 0;
margin: 0;
background: var(--template-bg-dark);
.#{$jicon-css-prefix}-angle-down,
.#{$fa-css-prefix}-angle-down {
transform: rotate(180deg);
}
}
}

View File

@ -0,0 +1,86 @@
// Icons
.#{$jicon-css-prefix}-white {
color: $white;
}
.tbody-icon {
padding: 0 3px;
text-align: center;
background-color: transparent;
border: 0;
[class^="#{$jicon-css-prefix}-"],
[class*=" #{$jicon-css-prefix}-"],
[class^="#{$fa-css-prefix}-"],
[class*=" #{$fa-css-prefix}-"] {
width: 26px;
height: 26px;
font-size: 1rem;
line-height: 22px;
color: $gray-400;
border: 2px solid var(--border);
border-radius: 50%;
}
.#{$jicon-css-prefix}-publish,
.#{$jicon-css-prefix}-check,
.#{$fa-css-prefix}-check {
color: var(--success);
border-color: var(--success);
}
.#{$jicon-css-prefix}-home,
.#{$jicon-css-prefix}-color-featured,
.#{$jicon-css-prefix}-star.featured,
.#{$fa-css-prefix}-star.featured {
color: $warning;
border-color: $warning;
}
.#{$jicon-css-prefix}-folder,
.#{$fa-css-prefix}-folder {
color: var(--template-text-dark);
border-color: $gray-700;
}
.#{$jicon-css-prefix}-checkedout,
.#{$jicon-css-prefix}-lock,
.#{$fa-css-prefix}-lock {
width: auto;
height: auto;
font-size: 1.2rem;
line-height: 1rem;
color: var(--template-text-dark);
border: 0;
}
&.home-disabled,
&.featured-disabled,
&.color-featured-disabled,
&.#{$jicon-css-prefix}-star-disabled,
&.#{$fa-css-prefix}-star-disabled {
cursor: not-allowed;
opacity: 1;
}
&.disabled .#{$jicon-css-prefix}-home,
&.disabled .#{$fa-css-prefix}-home {
color: $state-warning-bg;
border-color: $state-warning-bg;
}
}
// WebAuthn
.plg_system_webauthn_login_button svg {
width: 30px;
margin: 4px;
}
.plg_system_webauthn_login_button svg path, .plg_system_webauthn_login_button svg circle {
fill: var(--white);
}
.badge > span {
margin-inline-end: .5rem;
}

View File

@ -0,0 +1,9 @@
// Iframe
iframe {
border: 0;
}
.modal iframe {
width: 100%;
}

View File

@ -0,0 +1,33 @@
.options-form {
width: 100%;
padding: 1vw 2vw;
margin-bottom: 1rem;
color: var(--template-text-dark);
border: 1px solid var(--template-bg-dark-20);
> legend {
float: none;
width: auto;
padding: 0 1rem;
font-weight: $font-weight-bold;
color: var(--template-text-dark);
background-color: var(--body-bg);
}
@if $enable-dark-mode {
@include color-mode(dark) {
> legend {
color: var(--template-text-light);
}
}
}
}
@if $enable-dark-mode {
@include color-mode(dark) {
.options-form {
color: var(--template-text-light);
}
}
}

View File

@ -0,0 +1,9 @@
#content {
form {
.name {
&.break-word {
word-break: break-word;
}
}
}
}

View File

@ -0,0 +1,266 @@
// Login page
.view-login,
.task-logout {
.container-main {
order: 1;
@include media-breakpoint-down(md) {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
min-height: calc(100vh - 35vh);
}
#content {
@include media-breakpoint-down(md) {
max-width: 98%;
padding: 0;
}
}
}
.login {
width: 100%;
max-width: 25rem;
padding: 30px;
margin: 1rem;
color: var(--template-text-dark);
background: var(--body-bg);
border-radius: 10px;
box-shadow: 0 4px 20px -10px var(--template-bg-dark-50);
@include media-breakpoint-down(lg) {
margin-bottom: 3rem;
}
img {
width: auto;
max-height: 4.4rem;
}
.logo {
padding: 0 20px 20px;
}
svg.joomla-logo {
width: 2.4rem;
height: 4.4rem;
background-size: 4.4rem 2.4rem;
path {
fill: var(--template-bg-dark);
}
}
&-watermark {
position: absolute;
z-index: -1;
max-width: 500px;
transform: rotate(12deg) translate(40%, 10%);
}
}
.form-group {
position: relative;
margin-bottom: 1.85rem;
label {
span {
font-size: ($font-size-base * .9);
@include media-breakpoint-down(sm) {
width: 100%;
}
}
}
.form-control-feedback {
position: absolute;
inset-inline-end: 0;
bottom: -1.5rem;
font-size: ($font-size-base * .75);
text-align: end;
}
.form-control-hint {
position: absolute;
top: .1rem;
inset-inline-end: 0;
font-size: ($font-size-base * .75);
text-align: end;
}
}
input:focus,
select:focus {
box-shadow: inset 0 0 1px 1px var(--template-contrast);
}
h1 {
margin-bottom: .25rem;
color: $white;
text-align: center;
}
h2 {
font-weight: $font-weight-normal;
color: var(--template-bg-dark-10);
}
.btn {
@include media-breakpoint-only(xs) {
padding: 8px 10px;
font-size: ($font-size-base * .875);
}
}
.form-control,
.form-select {
max-width: none;
}
.sidebar-wrapper,
.header .logo {
flex: 1 0 400px;
}
.sidebar-wrapper {
display: flex;
flex-direction: column;
max-width: none;
background-color: var(--template-sidebar-bg);
@include media-breakpoint-down(md) {
order: 2;
margin-bottom: 3rem;
}
.main-brand {
margin-bottom: auto;
a {
font-size: ($font-size-base * .875);
}
}
.card-header {
font-size: ($font-size-base * 1.125);
color: $white;
}
}
#sidebar {
align-self: flex-end;
width: 100%;
font-size: ($font-size-base * .875);
--body-color: var(--template-text-light);
color: var(--template-text-light);
text-align: center;
.card {
background: rgba(0, 0, 0, .1);
box-shadow: none;
.module-body {
padding: .75rem 1.25rem;
}
}
@include media-breakpoint-down(md) {
position: relative;
bottom: 0;
}
}
.container-main,
.sidebar-wrapper {
@include media-breakpoint-down(md) {
flex: 1 0 100% !important;
max-width: 100% !important;
min-height: auto;
}
}
.wrapper {
display: flex;
@include media-breakpoint-down(md) {
flex-direction: column;
}
}
.header {
display: flex;
.logo {
&.small {
line-height: 2.5rem;
}
}
@include media-breakpoint-down(md) {
background: var(--template-bg-dark-70);
}
}
}
label {
color: $darkblue;
}
@if $enable-dark-mode {
@include color-mode(dark) {
label {
color: var(--white);
}
}
}
.com_login .sidebar-wrapper .main-brand {
flex: 1;
flex-basis: auto;
margin-top: 100px;
text-align: center;
@include media-breakpoint-down(md) {
margin-top: 10px;
}
}
.com_login .sidebar-wrapper #sidebar p {
margin-bottom: .2rem;
}
.com_login .sidebar-wrapper .main-brand a,
.com_login .sidebar-wrapper #sidebar,
.com_login .sidebar-wrapper #sidebar a {
color: var(--template-text-light);
}
.view-login {
#wrapper.d-flex {
@include media-breakpoint-down(md) {
display: flex !important;
}
}
#sidebar-wrapper:not(.show):not(.collapse) {
@include media-breakpoint-down(md) {
display: block;
}
}
.invalid .form-control-feedback {
color: var(--danger);
}
}
.login_message {
margin: 1rem 1rem 0;
}

View File

@ -0,0 +1,349 @@
// Modals
.modal {
.btn {
padding: 0 22px;
margin-inline-end: .5rem;
font-size: 1rem;
line-height: 2.3rem;
color: var(--template-text-dark);
background: var(--white);
border-color: var(--whiteoffset);
box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, .25);
}
.btn-primary:not([href]),
.btn-success:not([href]),
.btn-danger:not([href]),
.btn-secondary:not([href]) {
color: var(--template-text-dark);
background: var(--white);
border: 1px solid var(--template-text-dark);
}
.btn-primary:not([href]) {
&:hover,
&:focus {
color: var(--white);
background: var(--primary);
border-color: var(--primary);
}
}
.btn-secondary:not([href]) {
&:hover,
&:focus {
color: var(--white);
background: var(--secondary);
border-color: var(--secondary);
}
}
.btn-success:not([href]) {
&:hover,
&:focus {
color: var(--white);
background: var(--success);
border-color: var(--success);
}
}
.btn-danger:not([href]) {
&:hover,
&:focus {
color: var(--white);
background: var(--danger);
border-color: var(--danger);
}
}
.btn.btn-danger {
[class^="#{$jicon-css-prefix}-"],
[class*=" #{$jicon-css-prefix}-"],
[class^="#{$fa-css-prefix}-"],
[class*=" #{$fa-css-prefix}-"],
span {
display: inline-block;
width: 2.375rem;
height: 100%;
margin: 0 16px;
margin-inline-start: -22px;
line-height: 2.375rem;
color: hsla(0, 0%, 100%, .9);
background-color: var(--danger);
}
}
.btn.btn-success {
[class^="#{$jicon-css-prefix}-"],
[class*=" #{$jicon-css-prefix}-"],
[class^="#{$fa-css-prefix}-"],
[class*=" #{$fa-css-prefix}-"],
span {
display: inline-block;
width: 2.375rem;
height: 100%;
margin: 0 16px;
margin-inline-start: -22px;
line-height: 2.375rem;
color: hsla(0, 0%, 100%, .9);
background-color: var(--success);
}
}
}
.modal-header {
padding: 0 15px;
}
.modal-body {
overflow-y: initial;
}
.modal-title {
font-weight: $font-weight-normal;
line-height: $modal-header-height;
}
.contentpane {
padding: 20px;
}
// Changelog
.changelog {
text-align: start !important;
&__item {
display: flex;
border-bottom: 1px solid $table-border-color;
@include media-breakpoint-down(md) {
flex-direction: column;
}
}
&__tag {
flex: 1 0 180px;
max-width: 180px;
padding: 10px 15px;
text-align: end;
background: darken($gray-100, 2.5%);
border-right: 1px solid $table-border-color;
.badge {
border-radius: .2rem;
&.badge-jlanguage {
background-color: $white;
}
}
@include media-breakpoint-down(md) {
flex: 1 0 auto;
max-width: 100%;
text-align: left;
border-right: 0;
border-bottom: 1px solid $table-border-color;
}
}
&__list {
padding: 10px 15px;
ul {
padding-inline-start: 15px;
margin-bottom: 0;
}
li {
margin-bottom: .15rem;
&:last-of-type {
margin-bottom: 0;
}
}
}
}
// Styling for joomla-dialog element
joomla-dialog {
dialog {
width: 96vw;
max-width: 1700px;
height: 96vh;
padding: 0;
border: 1px solid var(--border-color-translucent);
border-radius: .3rem;
box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
@include media-breakpoint-up(xxl) {
width: 80vw;
height: 80vh;
}
// Override display to flex, to scale the content to full height
&[open] {
display: flex;
}
}
&[type="image"] {
dialog {
width: fit-content;
height: fit-content;
}
}
&[type="iframe"] {
dialog {
overflow: hidden;
}
}
iframe.iframe-content {
width: 100%;
height: 100%;
}
// Extra loading animation for iframe and ajax types
&[type="iframe"],
&[type="ajax"] {
&.loading {
dialog:after {
position: absolute;
top: 50%;
left: 50%;
display: block;
width: 66px;
height: 66px;
content: "";
background: url("../../../../system/images/ajax-loader.gif") no-repeat center;
transform: translate(-50%, -50%);
}
}
}
}
// Dialog animation
joomla-dialog dialog[open] {
animation: dialog-show .4s ease normal;
@media (prefers-reduced-motion: reduce) {
animation: none;
}
}
@keyframes dialog-show {
0% {
opacity: 0;
transform: translateY(-50px);
}
30% {
opacity: 1;
}
100% {
transform: translateY(0);
}
}
// Dialog elements
.joomla-dialog-container {
position: relative;
box-sizing: border-box;
display: flex;
flex-flow: column;
width: 100%;
.buttons-holder {
display: flex;
align-items: center;
justify-content: flex-end;
margin-inline-start: auto;
button {
margin-inline: .375rem;
}
}
}
.joomla-dialog-header {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem;
border-bottom: 1px solid var(--border-color);
h3 {
margin: 0;
}
.header-icon {
margin-inline-end: .375rem;
font-size: $h3-font-size;
}
&.empty {
display: none;
}
}
.joomla-dialog-body {
position: relative;
box-sizing: border-box;
flex: 1 1 auto;
.buttons-holder {
position: absolute;
top: 1rem;
right: 1rem;
}
// Apply overflow for potentially large content
joomla-dialog[type="inline"],
joomla-dialog[type="ajax"] & {
overflow: auto;
}
// Content basic loading animation
joomla-dialog.loading & {
opacity: 0;
}
joomla-dialog.loaded & {
opacity: 1;
transition: opacity .4s ease;
}
}
.joomla-dialog-footer {
position: relative;
padding: 1rem;
border-top: 1px solid var(--border-color);
.buttons-holder button {
padding-inline: 22px;
}
&.empty {
display: none;
}
}
// Dialog alert and confirm
.joomla-dialog-alert,
.joomla-dialog-confirm {
dialog {
width: 600px;
max-width: 80vw;
height: fit-content;
}
.joomla-dialog-body {
padding: 1rem;
}
}
// Dialog for content select field
.joomla-dialog-content-select-field {
dialog {
@include media-breakpoint-up(xxl) {
width: 90vw;
height: 90vh;
}
}
}

View File

@ -0,0 +1,173 @@
// Quick Icons
.quick-icons {
background-color: var(--body-bg);
.nav {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
grid-gap: 1rem;
}
a {
text-decoration: none;
}
ul {
padding: 0;
}
.quickicon {
--text-color: var(--template-quickicon-color);
--bg-color: hsl(var(--hue), 60%, 97%);
--icon-color: var(--template-quickicon-color);
--bg-color-hvr: var(--template-bg-dark);
display: flex;
flex-grow: 1;
a {
display: flex;
flex-direction: column;
flex-grow: 1;
justify-content: flex-end;
padding: 0 1rem;
color: var(--text-color);
background-color: var(--bg-color);
transition: all .25s ease;
.quickicon-icon {
margin-top: .5rem;
margin-inline-start: .2rem;
> * {
font-size: $quickicon-icon-size;
color: var(--icon-color);
}
}
.quickicon-name {
padding: .125rem 0 .6rem;
font-size: $display2-size;
font-weight: bold;
}
.quickicon-amount {
padding: .25rem .5rem;
font-weight: $bold-weight;
line-height: 1rem;
background: hsl(var(--hue),50%,93%);
border-radius: $border-radius;
transition: all .25s ease;
margin-inline-start: .5rem;
@if $enable-dark-mode {
/* stylelint-disable max-nesting-depth */
@include color-mode(dark) {
/* stylelint-enable max-nesting-depth */
color: var(--template-bg-dark-80);
}
}
}
.j-links-link {
display: block;
padding: 0 .2rem;
line-height: 1.1;
}
&:hover,
&:focus,
&:active {
color: $white;
text-decoration: none;
background: var(--bg-color-hvr);
.quickicon-amount {
background: var(--icon-color);
}
}
&.warning,
&.danger {
--text-color: var(--danger);
--bg-color: #f4f0f0;
--icon-color: #ce8484;
--bg-color-hvr: var(--danger);
}
&.success {
--text-color: var(--success);
--bg-color: #f3f9f3;
--icon-color: #55a258;
--bg-color-hvr: var(--success);
}
}
}
@if $enable-dark-mode {
@include color-mode(dark) {
.quickicon {
--bg-color: var(--template-bg-dark-80);
--bg-color-hvr: var(--template-bg-dark-65);
}
}
}
.quickicon-info {
display: flex;
align-items: flex-end;
}
.quickicon-linkadd {
width: 2.5rem;
font-size: 1.2rem;
background: hsl(var(--hue),50%,93%);
transition: all .25s ease;
a {
align-items: flex-end;
justify-content: center;
width: 100%;
> * {
margin-bottom: 10px;
color: var(--template-quickicon-color);
}
@if $enable-dark-mode {
@include color-mode(dark) {
/* stylelint-disable max-nesting-depth */
> * {
/* stylelint-enable max-nesting-depth */
color: var(--template-bg-dark-80);
}
}
}
&:hover,
&:focus,
&:active {
background: var(--template-bg-dark);
* {
color: $white;
}
}
}
}
.quickicon-single,
.quickicon-group {
display: flex;
min-height: 6rem;
overflow: hidden;
border: 1px solid hsl(var(--hue),50%,93%);
border-radius: 4px;
}
}
#content .menu-quicktask {
position: absolute;
inset-inline-end: 1.25rem;
}

View File

@ -0,0 +1,20 @@
.shepherd-element, .shepherd-arrow:before {
background-color: var(--body-bg) !important;
}
.shepherd-text, .shepherd-title {
color: var(--body-color) !important;
}
@if $enable-dark-mode {
@include color-mode(dark) {
.shepherd-has-title .shepherd-content .shepherd-header, .shepherd-element.shepherd-has-title[data-popper-placement^=bottom]>.shepherd-arrow:before {
background-color: var(--dark-bg-subtle) !important;
}
// Matches the bootstrap color on hover for btn-close
.shepherd-has-title .shepherd-content .shepherd-cancel-icon:hover {
filter: $btn-close-white-filter !important;
}
}
}

View File

@ -0,0 +1,45 @@
// Sidebar
.sidebar-nav {
padding: 1rem 2rem;
li {
font-size: .9rem;
font-weight: $font-weight-bold;
&.divider {
margin: .3rem 0;
}
a {
display: block;
padding: .25rem;
font-weight: $font-weight-normal;
color: var(--template-text-dark);
text-decoration: none;
&::before {
margin-inline-end: .5rem;
font-family: "Font Awesome 6 Free";
font-weight: 900;
content: "\f054" #{"/*!rtl:\"\f053\"*/"};
}
}
@if $enable-dark-mode {
@include color-mode(dark) {
a {
color: var(--template-text-light);
}
}
}
&.item:hover, &.active {
background-color: var(--template-bg-dark-60);
a {
color: var(--template-text-light);
}
}
}
}

View File

@ -0,0 +1,285 @@
// Sidebar
.sidebar-wrapper {
z-index: $zindex-sidebar;
min-height: calc(100vh - 66px);
overflow: hidden;
background-color: var(--template-sidebar-bg);
box-shadow: 0 0 20px -10px var(--template-bg-dark-50);
.sidebar-sticky {
position: sticky;
top: 0;
}
.item {
position: relative;
display: flex;
flex-wrap: wrap;
list-style-type: none;
a,
.menu-dashboard,
.menu-quicktask {
color: $white;
text-decoration: none;
&:hover {
color: var(--template-text-light);
text-decoration: none;
background-color: var(--template-bg-dark-65);
}
}
> a {
position: relative;
display: flex;
flex-grow: 1;
align-items: center;
min-height: 40px;
[class^="#{$jicon-css-prefix}-"],
[class*=" #{$jicon-css-prefix}-"],
[class^="#{$fa-css-prefix}-"],
[class*=" #{$fa-css-prefix}-"] {
margin: 0 .85rem;
transform: scale(1.2);
}
}
&-level-2 > a {
padding-inline-start: 3rem;
}
&-level-3 > a {
padding-inline-start: 3.75rem;
}
}
@include media-breakpoint-up(sm) {
flex: 1 0 $sidebar-width;
max-width: $sidebar-width;
transition: all .3s ease-in-out;
}
@include media-breakpoint-down(sm) {
&.sidebar-menu {
top: auto;
}
}
.sidebar-toggle {
background: var(--template-bg-dark-60);
a {
color: $white;
}
.sidebar-item-title {
white-space: nowrap;
}
}
}
// Sidebar navigation
.main-nav {
width: $sidebar-width;
padding: 0;
font-size: .95rem;
@include media-breakpoint-down(sm) {
width: 100%;
}
// All list items
li {
.menu-dashboard,
.menu-quicktask {
> a {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 100%;
}
}
}
// 2nd level items
ul {
width: 100%;
padding: 0;
background-color: var(--template-bg-dark-75);
}
.divider {
height: 1px;
margin: 0 0 0 48px;
list-style: none;
background-color: var(--template-bg-dark-60);
}
.menuitem-group {
margin-top: .65rem;
font-size: .75rem;
padding-inline-start: 3rem;
.sidebar-item-title {
color: var(--template-bg-dark-30);
}
}
// Dropdown indicator
.has-arrow {
.sidebar-item-title {
margin-inline-end: auto;
}
&::after {
display: flex;
align-items: center;
justify-content: center;
width: 2rem;
font-family: "Font Awesome 6 Free";
font-weight: 900;
content: "\f054" #{"/*!rtl:\"\f053\"*/"};
}
}
a.mm-active {
background-color: var(--template-bg-dark-70);
}
a.mm-active + .menu-quicktask {
background-color: var(--template-bg-dark-60);
}
.mm-active > .has-arrow::after {
content: "\f078";
}
.mm-collapse {
display: none;
&.mm-collapsed,
&.mm-show {
display: block;
}
}
.mm-collapsing {
position: relative;
height: 0;
overflow: hidden;
transition: all .35s ease;
}
.badge {
align-self: center;
margin: 0 .3rem .25rem;
background-color: var(--template-bg-dark-60);
}
}
// Sidebar Closed
.closed {
.sidebar-wrapper {
flex: 1 0 $sidebar-width-closed;
max-width: $sidebar-width-closed;
overflow: visible;
}
.sidebar-item-title,
.has-arrow::after,
.menu-dashboard {
display: none;
}
.main-nav,
.main-nav li {
max-width: 3rem;
}
.main-nav a:hover {
position: relative;
max-width: 3rem;
}
.main-nav a:hover .sidebar-item-title {
position: absolute;
inset-inline-start: 100%;
display: flex;
align-items: center;
height: 100%;
padding: 0 1rem;
white-space: nowrap;
pointer-events: none;
background-color: var(--template-bg-dark-60);
border-end-start-radius: 0;
border-end-end-radius: $border-radius;
border-start-end-radius: $border-radius;
border-start-start-radius: 0;
}
.main-nav > li > ul {
height: 0;
padding: 0;
visibility: hidden;
}
}
@include media-breakpoint-up(sm) {
.toggler-burger {
display: none;
}
}
// Mobile
@include media-breakpoint-down(sm) {
#menu-collapse {
display: none;
background: var(--template-bg-dark-50);
}
.toggler-burger {
position: fixed;
right: 0;
bottom: 0;
z-index: $zindex-mobile-toggle;
padding: 10px 15px;
&:focus {
box-shadow: none;
}
.navbar-toggler-icon::before {
display: inline-block;
font: normal normal 900 28px/1 "Font Awesome 6 Free";
color: var(--toggle-color);
content: "\f00d";
}
&.collapsed {
.navbar-toggler-icon::before {
content: "\f0c9";
}
}
}
.sidebar-menu {
display: none;
&.show,
&.collapsing {
position: fixed;
bottom: 55px;
z-index: $zindex-mobile-menu;
display: block;
width: 100%;
min-height: auto;
max-height: calc(100vh - 72px);
overflow-y: auto;
}
}
}

View File

@ -0,0 +1,22 @@
.switcher {
.toggle-outside {
border: $input-border-width solid $input-border-color;
@include border-radius($input-border-radius, 0);
&:focus {
box-shadow: $input-box-shadow;
}
}
input:focus ~ .toggle-outside {
border-color: $input-focus-border-color;
@if $enable-shadows {
@include box-shadow($input-box-shadow, $input-focus-box-shadow);
} @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: $input-focus-box-shadow;
}
}
}
.disabled {
opacity: $btn-disabled-opacity;
}

View File

@ -0,0 +1,249 @@
.subhead {
position: sticky;
top: 0;
right: 0;
left: 0;
z-index: $zindex-toolbar;
width: auto;
min-height: 43px;
padding: 8px 1rem;
color: var(--template-text-dark); //#0c192e;
background: $white;
background-image: linear-gradient(var(--toolbar-bg), var(--template-bg-dark-3));
box-shadow: $atum-box-shadow;
.row {
margin-right: 0;
margin-left: 0;
}
&.noshadow {
box-shadow: none;
}
joomla-toolbar-button,
.btn-group {
margin-inline-start: .75rem;
&:first-child {
margin-inline-start: 0;
}
}
joomla-toolbar-button {
.btn > span,
.dropdown-item > span {
margin-inline-end: .5rem;
width: 1.25em;
text-align: center;
}
}
.btn {
--subhead-btn-accent: var(--template-text-dark);
padding: 0 1rem;
margin: 5px 0;
font-size: 1rem;
line-height: $atum-toolbar-line-height;
color: var(--template-text-dark);
background: var(--body-bg);
border-color: hsl(var(--hue),20%,80%);
> span {
display: inline-block;
color: var(--subhead-btn-accent);
}
&:not([disabled]):hover,
&:not([disabled]):active,
&:not([disabled]):focus {
color: rgba(255, 255, 255, .9);
background-color: var(--subhead-btn-accent);
border-color: var(--subhead-btn-accent);
> span {
color: rgba(255, 255, 255, .9);
}
}
&.btn-success {
--subhead-btn-accent: var(--success);
}
&.btn-danger {
--subhead-btn-accent: var(--danger);
}
&.btn-primary {
--subhead-btn-accent: var(--template-link-color);
}
&.btn-secondary {
--subhead-btn-accent: var(--template-special-color);
}
&.btn-info {
--subhead-btn-accent: var(--template-bg-dark);
}
@if $enable-dark-mode {
@include color-mode(dark) {
&.btn-info {
--subhead-btn-accent: var(--template-bg-light);
/* stylelint-disable max-nesting-depth */
&:hover, &:focus, &:active {
/* stylelint-enable max-nesting-depth */
--subhead-btn-accent: var(--template-bg-dark-60);
}
}
}
}
&.btn-action {
--subhead-btn-accent: var(--template-bg-dark);
display: flex;
align-items: center;
&::after {
width: 2.375rem;
font-family: "Font Awesome 6 Free";
font-weight: 900;
content: "\f078";
border: 0;
}
}
@if $enable-dark-mode {
@include color-mode(dark) {
&.btn-action {
--subhead-btn-accent: var(--template-bg-light);
/* stylelint-disable max-nesting-depth */
&:hover, &:focus, &:active {
/* stylelint-enable max-nesting-depth */
--subhead-btn-accent: var(--template-bg-dark-60);
}
}
}
}
&[disabled],
&.dropdown-toggle[disabled] {
--subhead-btn-accent: var(--template-bg-dark);
background: rgba($gray-300, .8);
opacity: .5;
&:hover,
&:active,
&:focus {
cursor: not-allowed;
}
}
}
@if $enable-dark-mode {
@include color-mode(dark) {
.btn {
--subhead-btn-accent: var(--template-text-light);
color: var(--template-text-light);
}
}
}
.dropdown-toggle {
&.btn {
padding-inline-end: 0;
}
}
.btn-group:not(:last-child) > .dropdown-toggle-split {
order: 1;
margin-inline-start: -$border-radius;
border-radius: 0 $border-radius $border-radius 0;
}
.dropdown-menu joomla-toolbar-button,
.btn-group joomla-toolbar-button {
margin-inline-start: 0;
}
.contentpane & {
margin: -15px -15px 0;
background-image: none;
border-bottom: 1px solid var(--template-bg-dark-7);
}
}
@if $enable-dark-mode {
@include color-mode(dark) {
.subhead {
background-color: var(--body-bg);
background-image: linear-gradient(var(--body-bg), var(--dark-bg));
}
}
}
@include media-breakpoint-down(sm) {
joomla-tab[view=accordion] .col-md-9,
joomla-tab[view=accordion] .col-md-3 {
padding: .5rem 1rem !important;
}
#myTab {
margin-top: 1rem;
margin-bottom: 1.5rem;
}
joomla-tab[view=accordion] ul li {
width: 100%;
}
.toggler-toolbar {
top: 0;
bottom: auto;
z-index: $zindex-alerts;
padding: 7px 10px;
margin: 5px;
background-color: var(--template-bg-dark);
border-radius: 30px;
.toggler-toolbar-icon::before {
font: normal normal 900 28px/1 "Font Awesome 6 Free";
color: var(--toggle-color);
content: "\f00d";
}
&.collapsed .toggler-toolbar-icon::before {
content: "\f085";
}
}
.subhead {
padding-right: 0;
padding-left: 0;
joomla-toolbar-button,
.btn-group,
.btn {
width: 100%;
margin-left: 0;
text-align: left;
}
.btn-toolbar > .btn-group,
.btn-toolbar > joomla-toolbar-button {
margin-left: 0;
}
.btn.btn-action::after {
text-align: center;
margin-inline-start: auto;
}
.dropdown-toggle-split {
width: auto;
}
}
}

View File

@ -0,0 +1,139 @@
// Tree select
.treeselect {
display: block;
padding-left: 0;
list-style: none;
.nav-header {
font-weight: $font-weight-bold;
color: var(--template-bg-dark);
}
@if $enable-dark-mode {
@include color-mode(dark) {
.nav-header {
color: var(--body-color);
}
}
}
li {
position: relative;
display: block;
line-height: $treeselect-line-height;
list-style: none;
&::before {
position: absolute;
top: 14px;
inset-inline-start: ($treeselect-indent - 15px);
width: 10px;
height: 1px;
margin: auto;
content: "";
background-color: $treeselect-line-color;
}
&::after {
position: absolute;
top: 0;
bottom: 0;
inset-inline-start: ($treeselect-indent - 15px);
width: 1px;
height: 100%;
content: "";
background-color: $treeselect-line-color;
}
&:last-child {
&::after {
height: 14px;
}
}
li {
padding-inline-start: $treeselect-indent;
}
}
> li::before,
> li::after {
display: none;
}
.#{$jicon-css-prefix}-,
.#{$fa-css-prefix}- {
display: none;
}
.treeselect-toggle {
display: inline-block;
padding: 0;
margin-right: .1rem;
text-align: center;
cursor: pointer;
}
.treeselect-menu {
display: inline-block;
}
.treeselect-item {
display: inline-block;
input {
position: relative;
top: 1px;
margin-right: .2rem;
}
label {
margin-bottom: 0;
}
}
.dropdown-toggle {
padding: 0 .5rem .3rem;
margin-left: .5rem;
&::after {
margin-left: 0;
font-size: 1rem;
color: var(--template-text-dark);
}
}
}
.treeselect-sub {
padding-left: 0;
}
.tree-holder {
ul ul {
li::before,
li::after {
inset-inline-start: 8px;
display: block;
}
li::before {
top: 12px;
}
li:last-child::after {
height: 12px;
}
}
li {
line-height: 1.8rem;
li {
padding-inline-start: 20px;
}
}
}

View File

@ -0,0 +1,193 @@
// Utilities
* {
box-sizing: border-box;
}
// Keep B/C
.element-invisible {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
clip-path: inset(50%);
}
.hidden {
display: none;
}
.table-row {
display: table-row;
}
// Form Grid
.form-grid {
--span-1: span 1;
--span-2: span 1;
--span-3: span 1;
--span-4: span 1;
--span-5: span 1;
display: grid;
grid-template-columns: repeat(1, 1fr);
grid-gap: 1rem;
@include media-breakpoint-up(sm) {
--span-2: span 2;
--span-3: span 2;
--span-4: span 2;
--span-5: span 2;
grid-template-columns: repeat(2, 1fr);
}
@include media-breakpoint-up(xxl) {
--span-3: span 3;
--span-4: span 4;
--span-5: span 5;
grid-template-columns: repeat(6, 1fr);
}
> * {
grid-column: 1 / -1;
}
.stack {
flex-direction: column;
}
.span-1 {
grid-column: 1 / var(--span-1);
&-inline {
grid-column: var(--span-1);
}
}
.span-2 {
grid-column: 1 / var(--span-2);
&-inline {
grid-column: var(--span-1);
@include media-breakpoint-up(xxl) {
grid-column: var(--span-2);
}
}
}
.span-3 {
grid-column: 1 / var(--span-3);
&-inline {
grid-column: var(--span-3);
}
}
.span-4 {
grid-column: 1 / var(--span-4);
&-inline {
grid-column: var(--span-4);
}
}
.span-5 {
grid-column: 1 / var(--span-5);
&-inline {
grid-column: var(--span-5);
}
}
@include media-breakpoint-up(lg) {
.offset-1 {
grid-column-start: 2;
}
.offset-2 {
grid-column-start: 3;
}
.offset-3 {
grid-column-start: 4;
}
.offset-4 {
grid-column-start: 5;
}
.offset-5 {
grid-column-start: 6;
}
}
}
// Sizing
.w-1 {
width: 1%;
}
.w-3 {
width: 3%;
}
.w-5 {
width: 5%;
}
.w-6 {
width: 6%;
}
.w-7 {
width: 7%;
}
.w-10 {
width: 10%;
}
.w-12 {
width: 12%;
}
.w-15 {
width: 15%;
}
.w-20 {
width: 20%;
}
.w-30 {
width: 30%;
}
.w-35 {
width: 35%;
}
.w-40 {
width: 40%;
}
.w-60 {
width: 60%;
}
.w-80 {
width: 80%;
}
.editor-xtd-buttons .btn {
margin-bottom: 5px;
}