Update architect-ui, bootstrap, javascript and css
7
.gitignore
vendored
@ -10,3 +10,10 @@ Homestead.json
|
||||
Homestead.yaml
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
public/css/app.css
|
||||
public/js/app.js
|
||||
public/js/vendor.js
|
||||
public/js/manifest.js
|
||||
public/fonts/vendor
|
||||
public/images/vendor
|
||||
public/mix-manifest.json
|
||||
|
@ -13,10 +13,10 @@ final class Mechanisms extends Schema
|
||||
{
|
||||
return $this->values
|
||||
->transform(function($item) {
|
||||
$format = sprintf('<abbr class="pb-1" title="%s"><i class="fas fa-book pr-2"></i>%s</abbr>%s<p class="mb-0">%s</p>',
|
||||
$format = sprintf('<abbr class="pb-1" title="%s"><i class="fas fa-book pe-2"></i>%s</abbr>%s<p class="mb-0">%s</p>',
|
||||
$item,
|
||||
static::get($item,'title'),
|
||||
($x=static::get($item,'ref')) ? sprintf('<abbr class="pl-2" title="%s"><i class="fas fa-comment-dots"></i></abbr>',$x) : '',
|
||||
($x=static::get($item,'ref')) ? sprintf('<abbr class="ps-2" title="%s"><i class="fas fa-comment-dots"></i></abbr>',$x) : '',
|
||||
static::get($item,'desc'),
|
||||
);
|
||||
|
||||
|
@ -14,10 +14,10 @@ final class OID extends Schema
|
||||
return $this->values
|
||||
->transform(function($item) {
|
||||
if (preg_match('/[0-9]+\.[0-9]+\.[0-9]+/',$item)) {
|
||||
$format = sprintf('<abbr class="pb-1" title="%s"><i class="fas fa-list-ol pr-2"></i>%s</abbr>%s<p class="mb-0">%s</p>',
|
||||
$format = sprintf('<abbr class="pb-1" title="%s"><i class="fas fa-list-ol pe-2"></i>%s</abbr>%s<p class="mb-0">%s</p>',
|
||||
$item,
|
||||
static::get($item,'title'),
|
||||
($x=static::get($item,'ref')) ? sprintf('<abbr class="pl-2" title="%s"><i class="fas fa-comment-dots"></i></abbr>',$x) : '',
|
||||
($x=static::get($item,'ref')) ? sprintf('<abbr class="ps-2" title="%s"><i class="fas fa-comment-dots"></i></abbr>',$x) : '',
|
||||
static::get($item,'desc'),
|
||||
);
|
||||
|
||||
|
14795
package-lock.json
generated
Normal file
30
package.json
@ -1,5 +1,4 @@
|
||||
{
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "npm run development",
|
||||
"development": "mix",
|
||||
@ -9,18 +8,23 @@
|
||||
"prod": "npm run production",
|
||||
"production": "mix --production"
|
||||
},
|
||||
"devDependencies": {
|
||||
"axios": "^0.21",
|
||||
"jquery": "^3.6.3",
|
||||
"laravel-mix": "^6.0.6",
|
||||
"lodash": "^4.17.19",
|
||||
"mix": "^0.0.1",
|
||||
"postcss": "^8.1.14",
|
||||
"resolve-url-loader": "^5.0.0",
|
||||
"sass": "^1.57.1",
|
||||
"sass-loader": "^12.1.0",
|
||||
"yarn": "^1.22.19"
|
||||
},
|
||||
"resolutions": {},
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-free": "^6.3.0",
|
||||
"@popperjs/core": "^2.11.6",
|
||||
"animate-sass": "^0.8.2",
|
||||
"axios": "^1.3.4",
|
||||
"bootstrap": "^5.2.3",
|
||||
"jquery": "^3.6.3",
|
||||
"jquery-ui": "^1.13.2",
|
||||
"jquery.fancytree": "^2.38.3",
|
||||
"laravel-mix": "^6.0.49",
|
||||
"less-loader": "^11.1.0",
|
||||
"metismenu": "^3.0.7",
|
||||
"pe7-icon": "^1.0.4",
|
||||
"resolve-url-loader": "^5.0.0",
|
||||
"sass": "^1.58.3",
|
||||
"sass-loader": "^13.2.0",
|
||||
"select2": "^4.1.0-rc.0"
|
||||
}
|
||||
}
|
||||
|
23
public/css/architect.min.css
vendored
Before Width: | Height: | Size: 893 KiB |
182
public/css/fixes.css
vendored
@ -1,61 +1,41 @@
|
||||
/*
|
||||
body {
|
||||
font-size: 0.85em;
|
||||
}
|
||||
*/
|
||||
|
||||
/* Trim our sidebar down to 250px */
|
||||
.app-sidebar {
|
||||
width: 250px;
|
||||
min-width: 250px;
|
||||
.logo-src {
|
||||
background: url('/images/logo-h.png');
|
||||
width: 152px !important;
|
||||
}
|
||||
|
||||
.app-header__logo {
|
||||
width: 250px;
|
||||
}
|
||||
|
||||
.fixed-sidebar:not(.fixed-header) .app-header {
|
||||
margin-left: 250px;
|
||||
}
|
||||
|
||||
.fixed-sidebar .app-main .app-main__outer {
|
||||
padding-left: 250px;
|
||||
}
|
||||
|
||||
.font-icon-wrapper i {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
/* Fixes for data tables */
|
||||
/** Fixes for data tables **/
|
||||
/* Fix pagination buttons */
|
||||
.dataTables_wrapper .dataTables_paginate .paginate_button {
|
||||
padding: 0 0;
|
||||
margin-left: 0;
|
||||
border: 0 solid;
|
||||
}
|
||||
|
||||
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
|
||||
border: 0 solid;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.dataTables_wrapper .dataTables_paginate .paginate_button:active {
|
||||
box-shadow: 0 0 0 #fff;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* Remove multiple sorting images on tables */
|
||||
table.dataTable thead .sorting_asc {
|
||||
background-image: none !important;
|
||||
}
|
||||
|
||||
table.dataTable thead .sorting_desc {
|
||||
background-image: none !important;
|
||||
}
|
||||
|
||||
table.dataTable thead .sorting {
|
||||
background-image: none !important;
|
||||
}
|
||||
|
||||
/* Remove blue border from chrome on buttons */
|
||||
/** Remove blue border from chrome on buttons **/
|
||||
/* Remove outline for non-keyboard :focus */
|
||||
*:focus:not(.focus-visible) {
|
||||
outline: none !important;
|
||||
@ -63,30 +43,18 @@ table.dataTable thead .sorting {
|
||||
}
|
||||
|
||||
/* Optional: Customize .focus-visible */
|
||||
/*
|
||||
.focus-visible {
|
||||
outline-color: lightgreen;
|
||||
}
|
||||
*/
|
||||
|
||||
*:disabled {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
/* A selected indicator - used with icons */
|
||||
.tag-selected {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
.tag-selected:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.card-header h3.card-title {
|
||||
font-size: 1.0rem;
|
||||
}
|
||||
|
||||
/** SIDEBAR FIXES **/
|
||||
|
||||
/**
|
||||
/*
|
||||
The sidebar has a few states:
|
||||
+ Wide Screen
|
||||
- Open (app-container fixed-sidebar) &
|
||||
@ -98,66 +66,91 @@ table.dataTable thead .sorting {
|
||||
+ Small Screen
|
||||
- Missing (?) &
|
||||
- Click Open (app-container fixed-sidebar closed-sidebar-mobile closed-sidebar sidebar-mobile-open)
|
||||
*/
|
||||
*/
|
||||
|
||||
/* Fancy Tree Fixes */
|
||||
/** Remove the border around the tree **/
|
||||
ul.fancytree-container {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/** Tree Placement **/
|
||||
/** Fancy Tree Fixes **/
|
||||
/*
|
||||
@todo The unopened lazy branches off the tree are off by 5px. see *-cdl. below
|
||||
@todo The last node is missing some dots, connecting to the previous node
|
||||
*/
|
||||
/* Tree Placement */
|
||||
#tree > ul {
|
||||
padding-left: 0;
|
||||
}
|
||||
/** Fix tree rendering **/
|
||||
.fancytree-node {
|
||||
line-height: 1.75em;
|
||||
}
|
||||
/** Fix position of tree expander and checkbox */
|
||||
span.fancytree-checkbox, span.fancytree-custom-icon, span.fancytree-expander, span.fancytree-icon {
|
||||
margin-top: 4px;
|
||||
/* Remove the border around the tree */
|
||||
ul.fancytree-container {
|
||||
border: 0 !important;
|
||||
}
|
||||
/* Position branch center of icon */
|
||||
ul.fancytree-container ul {
|
||||
padding: 0 0 0 20px;
|
||||
padding: 0 0 0 20px !important;
|
||||
}
|
||||
|
||||
/* Show treeicon when collapsed and remove it when open */
|
||||
/* @todo treeicon appears when not hovering on page in small mode */
|
||||
/* Fix tree rendering */
|
||||
.fancytree-node {
|
||||
line-height: 1.75em;
|
||||
}
|
||||
/* Fix position of tree expander and checkbox */
|
||||
.fancytree-exp-cl span.fancytree-expander { /* last link closed */
|
||||
margin-top: 2px;
|
||||
background-position: 0 -93px !important;
|
||||
}
|
||||
.fancytree-exp-el span.fancytree-expander { /* last link expanded */
|
||||
margin-top: 2px;
|
||||
background-position: -32px -93px !important;
|
||||
}
|
||||
.fancytree-lazy.fancytree-exp-cd.fancytree-ico-c span.fancytree-expander,
|
||||
.fancytree-lazy.fancytree-exp-cdl.fancytree-ico-c span.fancytree-expander { /* last link not opened */
|
||||
margin-top: 5px;
|
||||
/* had to disable this - as we loose our spinner
|
||||
background-position: -80px -93px;
|
||||
*/
|
||||
}
|
||||
.fancytree-exp-c span.fancytree-expander { /* link closed */
|
||||
background-position: -16px -76px !important;
|
||||
}
|
||||
.fancytree-exp-e span.fancytree-expander { /* link expanded */
|
||||
background-position: -32px -76px !important;
|
||||
}
|
||||
.fancytree-node.fancytree-exp-n span.fancytree-expander,
|
||||
.fancytree-node.fancytree-exp-n span.fancytree-expander:hover { /* node */
|
||||
margin-top: 4px;
|
||||
background-position: 0 -63px;
|
||||
}
|
||||
.fancytree-node.fancytree-exp-nl span.fancytree-expander { /* node last */
|
||||
margin-top: 3px;
|
||||
background-position: -16px -62px !important;
|
||||
}
|
||||
/** Show treeicon when collapsed and remove it when open **/
|
||||
.sidebar-mobile-open:hover #treeicon, /* small */
|
||||
.fixed-sidebar #treeicon, /* wide */
|
||||
.fixed-sidebar .app-sidebar:hover #treeicon /* wide & closed:hover */
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.closed-sidebar #treeicon
|
||||
{
|
||||
opacity: 1;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
/* Architect Fixes */
|
||||
/** Remove the Cyan vertical line from the tree **/
|
||||
/** Architect Fixes **/
|
||||
/* Remove the Cyan vertical line from the tree */
|
||||
.vertical-nav-menu #tree ul:before {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/** Fix elipse icon (top right) on small display */
|
||||
/* Fix ellipsis icon (top right) on small display with the light background */
|
||||
.closed-sidebar .app-header.header-text-light .app-header__menu .mobile-toggle-header-nav {
|
||||
background: #343a40;
|
||||
}
|
||||
|
||||
/* Hide tree when collapsed and show it when open */
|
||||
/* @todo tree disappears when not hovering on page in small mode - related to #treeicon - see server icons they work? */
|
||||
.sidebar-mobile-open:hover #tree, /* small */
|
||||
.fixed-sidebar #tree, /* wide */
|
||||
.fixed-sidebar .app-sidebar:hover #tree /* wide & closed:hover */
|
||||
{
|
||||
display: block;
|
||||
}
|
||||
|
||||
.closed-sidebar #tree {
|
||||
display: none;
|
||||
}
|
||||
@ -169,3 +162,58 @@ ul.fancytree-container ul {
|
||||
.closed-sidebar .app-sidebar:hover .server-icon, .sidebar-mobile-open .server-icon {
|
||||
display: flex;
|
||||
}
|
||||
.font-icon-wrapper {
|
||||
text-align: center;
|
||||
border: #e9ecef solid 1px;
|
||||
border-radius: 0.25rem;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 5px;
|
||||
}
|
||||
.font-icon-wrapper:hover {
|
||||
background: #f8f9fa;
|
||||
color: #3f6ad8;
|
||||
}
|
||||
.font-icon-wrapper i {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
/*
|
||||
.font-icon-wrapper {
|
||||
text-align: center;
|
||||
border: $gray-200 solid 1px;
|
||||
@include border-radius($border-radius);
|
||||
margin: 0 0 10px;
|
||||
padding: 5px;
|
||||
|
||||
&.font-icon-lg {
|
||||
float: left;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
margin-right: 15px;
|
||||
min-width: 64px;
|
||||
|
||||
i {
|
||||
font-size: $h1-font-size;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: $gray-100;
|
||||
color: $primary;
|
||||
|
||||
p {
|
||||
color: $gray-600;
|
||||
}
|
||||
}
|
||||
|
||||
i {
|
||||
font-size: ($font-size-base * 1.5);
|
||||
}
|
||||
|
||||
p {
|
||||
color: $gray-500;
|
||||
font-size: calc($font-size-sm / 1.2);
|
||||
margin: 5px 0 0;
|
||||
}
|
||||
}
|
||||
*/
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
2
public/js/app.js
vendored
69
public/js/architect.min.js
vendored
6
public/js/custom.js
vendored
@ -27,6 +27,10 @@ $(document).ready(function() {
|
||||
autoCollapse: true, // Automatically collapse all siblings, when a node is expanded.
|
||||
autoScroll: true, // Automatically scroll nodes into visible area.
|
||||
focusOnSelect: true, // Set focus when node is checked by a mouse click
|
||||
glyph: {
|
||||
preset: 'bootstrap3', // @todo look at changing this to awesome5
|
||||
map: {}
|
||||
},
|
||||
click: function(event,data) {
|
||||
if (data.targetType == 'title') {
|
||||
$.ajax({
|
||||
@ -78,4 +82,4 @@ $(document).ready(function() {
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
21
resources/js/app.js
vendored
@ -1 +1,22 @@
|
||||
import './bootstrap';
|
||||
|
||||
// Imports
|
||||
window.$ = window.jQuery = require('jquery');
|
||||
//const $ = require('jquery');
|
||||
|
||||
// Fancy Tree
|
||||
import {createTree} from 'jquery.fancytree';
|
||||
import 'jquery.fancytree/dist/modules/jquery.fancytree.edit';
|
||||
import 'jquery.fancytree/dist/modules/jquery.fancytree.filter';
|
||||
import 'jquery.fancytree/dist/modules/jquery.fancytree.glyph';
|
||||
// import 'jquery-ui/dist/jquery-ui'; // USED?
|
||||
import 'jquery.fancytree/dist/skin-xp/ui.fancytree.min.css';
|
||||
|
||||
// Bootstrap - included in architectui
|
||||
// import 'bootstrap/dist/js/bootstrap.bundle';
|
||||
|
||||
// Select2
|
||||
import 'select2/dist/js/select2';
|
||||
|
||||
// Architect UI
|
||||
import '../themes/architect/src/app';
|
||||
|
9
resources/sass/app.scss
vendored
@ -1 +1,8 @@
|
||||
// @import "node_modules/bootstrap/scss/bootstrap";
|
||||
// Architect UI
|
||||
@import "resources/themes/architect/src/base.scss";
|
||||
|
||||
// Fancy Tree
|
||||
@import "jquery.fancytree/dist/skin-xp/ui.fancytree";
|
||||
|
||||
// Select2
|
||||
@import "select2/dist/css/select2";
|
||||
|
93
resources/themes/architect/src/app.js
vendored
Normal file
@ -0,0 +1,93 @@
|
||||
// Imports
|
||||
|
||||
import $ from "jquery";
|
||||
import * as bootstrap from 'bootstrap';
|
||||
import 'metismenu';
|
||||
|
||||
// Stylesheets
|
||||
|
||||
// import './assets/base.scss';
|
||||
// import '../../themes/architect/src/base.scss';
|
||||
|
||||
$(document).ready(() => {
|
||||
|
||||
// Sidebar Menu
|
||||
|
||||
setTimeout(function () {
|
||||
$(".vertical-nav-menu").metisMenu();
|
||||
}, 100);
|
||||
|
||||
// Search wrapper trigger
|
||||
|
||||
$('.search-icon').click(function () {
|
||||
$(this).parent().parent().addClass('active');
|
||||
});
|
||||
|
||||
$('.search-wrapper .btn-close').click(function () {
|
||||
$(this).parent().removeClass('active');
|
||||
});
|
||||
|
||||
// Stop Bootstrap 5 Dropdown for closing on click inside
|
||||
|
||||
$('.dropdown-menu').on('click', function (event) {
|
||||
var events = $._data(document, 'events') || {};
|
||||
events = events.click || [];
|
||||
for (var i = 0; i < events.length; i++) {
|
||||
if (events[i].selector) {
|
||||
|
||||
if ($(event.target).is(events[i].selector)) {
|
||||
events[i].handler.call(event.target, event);
|
||||
}
|
||||
|
||||
$(event.target).parents(events[i].selector).each(function () {
|
||||
events[i].handler.call(this, event);
|
||||
});
|
||||
}
|
||||
}
|
||||
event.stopPropagation(); //Always stop propagation
|
||||
});
|
||||
|
||||
var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'));
|
||||
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
|
||||
return new bootstrap.Popover(popoverTriggerEl);
|
||||
});
|
||||
|
||||
// BS5 Tooltips
|
||||
|
||||
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
|
||||
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
|
||||
return new bootstrap.Tooltip(tooltipTriggerEl);
|
||||
});
|
||||
|
||||
$('.mobile-toggle-nav').click(function () {
|
||||
$(this).toggleClass('is-active');
|
||||
$('.app-container').toggleClass('sidebar-mobile-open');
|
||||
});
|
||||
|
||||
$('.mobile-toggle-header-nav').click(function () {
|
||||
$(this).toggleClass('active');
|
||||
$('.app-header__content').toggleClass('header-mobile-open');
|
||||
});
|
||||
|
||||
// Responsive
|
||||
|
||||
var resizeClass = function () {
|
||||
var win = document.body.clientWidth;
|
||||
if (win < 1250) {
|
||||
$('.app-container').addClass('closed-sidebar-mobile closed-sidebar');
|
||||
$('.app-header').removeClass("heard-text-light bg-dark").addClass("bg-light header-text-dark");
|
||||
} else {
|
||||
$('.app-header').addClass("heard-text-light bg-dark").removeClass("bg-light header-text-dark");
|
||||
$('.app-container').removeClass('closed-sidebar-mobile closed-sidebar');
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
$(window).on('resize', function () {
|
||||
resizeClass();
|
||||
});
|
||||
|
||||
resizeClass();
|
||||
|
||||
});
|
||||
|
112
resources/themes/architect/src/base.scss
vendored
Normal file
@ -0,0 +1,112 @@
|
||||
/*!
|
||||
=========================================================
|
||||
* ArchitectUI HTML Theme Dashboard - v2.0.0
|
||||
=========================================================
|
||||
* Product Page: https://dashboardpack.com
|
||||
* Copyright 2021 DashboardPack (https://dashboardpack.com)
|
||||
* Licensed under MIT (https://github.com/DashboardPack/architectui-html-theme-free/blob/master/LICENSE)
|
||||
=========================================================
|
||||
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
*/
|
||||
|
||||
// BOOTSTRAP 5 VARIABLES
|
||||
|
||||
// 1. Include functions first (so you can manipulate colors, SVGs, calc, etc)
|
||||
@import "components/bootstrap5/functions";
|
||||
|
||||
// 2. Include any default variable overrides here
|
||||
|
||||
@import "themes/layout-variables";
|
||||
|
||||
// 3. Include remainder of required Bootstrap stylesheets
|
||||
|
||||
@import "components/bootstrap5/variables";
|
||||
@import "components/bootstrap5/mixins";
|
||||
@import "components/bootstrap5/utilities";
|
||||
|
||||
// BOOTSTRAP 5 IMPORTS
|
||||
|
||||
@import "components/bootstrap5/root";
|
||||
@import "components/bootstrap5/reboot";
|
||||
@import "components/bootstrap5/type";
|
||||
@import "components/bootstrap5/images";
|
||||
@import "components/bootstrap5/containers";
|
||||
@import "components/bootstrap5/grid";
|
||||
@import "components/bootstrap5/tables";
|
||||
@import "components/bootstrap5/forms";
|
||||
@import "components/bootstrap5/buttons";
|
||||
@import "components/bootstrap5/transitions";
|
||||
@import "components/bootstrap5/dropdown";
|
||||
@import "components/bootstrap5/button-group";
|
||||
@import "components/bootstrap5/nav";
|
||||
@import "components/bootstrap5/navbar";
|
||||
@import "components/bootstrap5/card";
|
||||
// @import "components/bootstrap5/accordion";
|
||||
@import "components/bootstrap5/breadcrumb";
|
||||
@import "components/bootstrap5/pagination";
|
||||
@import "components/bootstrap5/badge";
|
||||
@import "components/bootstrap5/alert";
|
||||
// @import "components/bootstrap5/progress";
|
||||
@import "components/bootstrap5/list-group";
|
||||
@import "components/bootstrap5/close";
|
||||
// @import "components/bootstrap5/toasts";
|
||||
@import "components/bootstrap5/modal";
|
||||
@import "components/bootstrap5/tooltip";
|
||||
// @import "components/bootstrap5/popover";
|
||||
// @import "components/bootstrap5/carousel";
|
||||
// @import "components/bootstrap5/spinners";
|
||||
// @import "components/bootstrap5/offcanvas";
|
||||
// @import "components/bootstrap5/jumbotron";
|
||||
@import "components/bootstrap5/helpers";
|
||||
@import "components/bootstrap5/utilities/api";
|
||||
// LAYOUT
|
||||
|
||||
@import "layout/layout";
|
||||
|
||||
// UTILS
|
||||
|
||||
@import "utils/helpers";
|
||||
@import "utils/backgrounds";
|
||||
@import "utils/animate";
|
||||
@import "utils/comps-animations";
|
||||
|
||||
// ELEMENTS
|
||||
|
||||
@import "elements/buttons";
|
||||
@import "elements/dropdown";
|
||||
@import "elements/badges";
|
||||
@import "elements/cards";
|
||||
@import "elements/tabs";
|
||||
// @import "elements/accordions";
|
||||
@import "elements/modals";
|
||||
@import "elements/navs";
|
||||
@import "elements/listgroup";
|
||||
@import "elements/forms";
|
||||
@import "elements/pagination";
|
||||
|
||||
// DASHBOARD BOXES
|
||||
|
||||
@import "widgets/content-boxes/content-boxes";
|
||||
|
||||
// COMPONENTS
|
||||
// Perfect Scrollbar
|
||||
// @import "components/perfect-scrollbar/perfect-scrollbar";
|
||||
|
||||
// FontAwesome
|
||||
@import "components/icons/fontawesome/fontawesome";
|
||||
// P7 Icons
|
||||
@import "components/icons/p7icons";
|
||||
// Hamburger button
|
||||
@import "components/hamburgers/hamburgers";
|
||||
// Notifications
|
||||
// @import "components/notifications/toastr";
|
||||
// Popovers & Tooltips
|
||||
@import "components/popovers-tooltips/popovers-tooltips";
|
||||
// Calendar
|
||||
// @import "components/calendar/calendar";
|
||||
// Maps
|
||||
// @import "components/maps/vector-maps";
|
||||
// Responsive
|
||||
@import "layout/responsive/responsive-base";
|
||||
// DEMO
|
||||
// @import "demo-ui/demo";
|
57
resources/themes/architect/src/components/bootstrap5/_alert.scss
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
//
|
||||
// Base styles
|
||||
//
|
||||
|
||||
.alert {
|
||||
position: relative;
|
||||
padding: $alert-padding-y $alert-padding-x;
|
||||
margin-bottom: $alert-margin-bottom;
|
||||
border: $alert-border-width solid transparent;
|
||||
@include border-radius($alert-border-radius);
|
||||
}
|
||||
|
||||
// Headings for larger alerts
|
||||
.alert-heading {
|
||||
// Specified to prevent conflicts of changing $headings-color
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
// Provide class for links that match alerts
|
||||
.alert-link {
|
||||
font-weight: $alert-link-font-weight;
|
||||
}
|
||||
|
||||
|
||||
// Dismissible alerts
|
||||
//
|
||||
// Expand the right padding and account for the close button's positioning.
|
||||
|
||||
.alert-dismissible {
|
||||
padding-right: $alert-dismissible-padding-r;
|
||||
|
||||
// Adjust close link position
|
||||
.btn-close {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
z-index: $stretched-link-z-index + 1;
|
||||
padding: $alert-padding-y * 1.25 $alert-padding-x;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// scss-docs-start alert-modifiers
|
||||
// Generate contextual modifier classes for colorizing the alert.
|
||||
|
||||
@each $state, $value in $theme-colors {
|
||||
$alert-background: shift-color($value, $alert-bg-scale);
|
||||
$alert-border: shift-color($value, $alert-border-scale);
|
||||
$alert-color: shift-color($value, $alert-color-scale);
|
||||
@if (contrast-ratio($alert-background, $alert-color) < $min-contrast-ratio) {
|
||||
$alert-color: mix($value, color-contrast($alert-background), abs($alert-color-scale));
|
||||
}
|
||||
.alert-#{$state} {
|
||||
@include alert-variant($alert-background, $alert-border, $alert-color);
|
||||
}
|
||||
}
|
||||
// scss-docs-end alert-modifiers
|
29
resources/themes/architect/src/components/bootstrap5/_badge.scss
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
// Base class
|
||||
//
|
||||
// Requires one of the contextual, color modifier classes for `color` and
|
||||
// `background-color`.
|
||||
|
||||
.badge {
|
||||
display: inline-block;
|
||||
padding: $badge-padding-y $badge-padding-x;
|
||||
@include font-size($badge-font-size);
|
||||
font-weight: $badge-font-weight;
|
||||
line-height: 1;
|
||||
color: $badge-color;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: baseline;
|
||||
@include border-radius($badge-border-radius);
|
||||
@include gradient-bg();
|
||||
|
||||
// Empty badges collapse automatically
|
||||
&:empty {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Quick fix for badges in buttons
|
||||
.btn .badge {
|
||||
position: relative;
|
||||
top: -1px;
|
||||
}
|
28
resources/themes/architect/src/components/bootstrap5/_breadcrumb.scss
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
.breadcrumb {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
padding: $breadcrumb-padding-y $breadcrumb-padding-x;
|
||||
margin-bottom: $breadcrumb-margin-bottom;
|
||||
@include font-size($breadcrumb-font-size);
|
||||
list-style: none;
|
||||
background-color: $breadcrumb-bg;
|
||||
@include border-radius($breadcrumb-border-radius);
|
||||
}
|
||||
|
||||
.breadcrumb-item {
|
||||
// The separator between breadcrumbs (by default, a forward-slash: "/")
|
||||
+ .breadcrumb-item {
|
||||
padding-left: $breadcrumb-item-padding-x;
|
||||
|
||||
&::before {
|
||||
float: left; // Suppress inline spacings and underlining of the separator
|
||||
padding-right: $breadcrumb-item-padding-x;
|
||||
color: $breadcrumb-divider-color;
|
||||
content: var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"};
|
||||
}
|
||||
}
|
||||
|
||||
&.active {
|
||||
color: $breadcrumb-active-color;
|
||||
}
|
||||
}
|
139
resources/themes/architect/src/components/bootstrap5/_button-group.scss
vendored
Normal file
@ -0,0 +1,139 @@
|
||||
// Make the div behave like a button
|
||||
.btn-group,
|
||||
.btn-group-vertical {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
vertical-align: middle; // match .btn alignment given font-size hack above
|
||||
|
||||
> .btn {
|
||||
position: relative;
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
// Bring the hover, focused, and "active" buttons to the front to overlay
|
||||
// the borders properly
|
||||
> .btn-check:checked + .btn,
|
||||
> .btn-check:focus + .btn,
|
||||
> .btn:hover,
|
||||
> .btn:focus,
|
||||
> .btn:active,
|
||||
> .btn.active {
|
||||
z-index: 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Optional: Group multiple button groups together for a toolbar
|
||||
.btn-toolbar {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
|
||||
.input-group {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-group {
|
||||
// Prevent double borders when buttons are next to each other
|
||||
> .btn:not(:first-child),
|
||||
> .btn-group:not(:first-child) {
|
||||
margin-left: -$btn-border-width;
|
||||
}
|
||||
|
||||
// Reset rounded corners
|
||||
> .btn:not(:last-child):not(.dropdown-toggle),
|
||||
> .btn-group:not(:last-child) > .btn {
|
||||
@include border-end-radius(0);
|
||||
}
|
||||
|
||||
// The left radius should be 0 if the button is:
|
||||
// - the "third or more" child
|
||||
// - the second child and the previous element isn't `.btn-check` (making it the first child visually)
|
||||
// - part of a btn-group which isn't the first child
|
||||
> .btn:nth-child(n + 3),
|
||||
> :not(.btn-check) + .btn,
|
||||
> .btn-group:not(:first-child) > .btn {
|
||||
@include border-start-radius(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Sizing
|
||||
//
|
||||
// Remix the default button sizing classes into new ones for easier manipulation.
|
||||
|
||||
.btn-group-sm > .btn { @extend .btn-sm; }
|
||||
.btn-group-lg > .btn { @extend .btn-lg; }
|
||||
|
||||
|
||||
//
|
||||
// Split button dropdowns
|
||||
//
|
||||
|
||||
.dropdown-toggle-split {
|
||||
padding-right: $btn-padding-x * .75;
|
||||
padding-left: $btn-padding-x * .75;
|
||||
|
||||
&::after,
|
||||
.dropup &::after,
|
||||
.dropend &::after {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.dropstart &::before {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-sm + .dropdown-toggle-split {
|
||||
padding-right: $btn-padding-x-sm * .75;
|
||||
padding-left: $btn-padding-x-sm * .75;
|
||||
}
|
||||
|
||||
.btn-lg + .dropdown-toggle-split {
|
||||
padding-right: $btn-padding-x-lg * .75;
|
||||
padding-left: $btn-padding-x-lg * .75;
|
||||
}
|
||||
|
||||
|
||||
// The clickable button for toggling the menu
|
||||
// Set the same inset shadow as the :active state
|
||||
.btn-group.show .dropdown-toggle {
|
||||
@include box-shadow($btn-active-box-shadow);
|
||||
|
||||
// Show no shadow for `.btn-link` since it has no other button styles.
|
||||
&.btn-link {
|
||||
@include box-shadow(none);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Vertical button groups
|
||||
//
|
||||
|
||||
.btn-group-vertical {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
justify-content: center;
|
||||
|
||||
> .btn,
|
||||
> .btn-group {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
> .btn:not(:first-child),
|
||||
> .btn-group:not(:first-child) {
|
||||
margin-top: -$btn-border-width;
|
||||
}
|
||||
|
||||
// Reset rounded corners
|
||||
> .btn:not(:last-child):not(.dropdown-toggle),
|
||||
> .btn-group:not(:last-child) > .btn {
|
||||
@include border-bottom-radius(0);
|
||||
}
|
||||
|
||||
> .btn ~ .btn,
|
||||
> .btn-group:not(:first-child) > .btn {
|
||||
@include border-top-radius(0);
|
||||
}
|
||||
}
|
111
resources/themes/architect/src/components/bootstrap5/_buttons.scss
vendored
Normal file
@ -0,0 +1,111 @@
|
||||
//
|
||||
// Base styles
|
||||
//
|
||||
|
||||
.btn {
|
||||
display: inline-block;
|
||||
font-family: $btn-font-family;
|
||||
font-weight: $btn-font-weight;
|
||||
line-height: $btn-line-height;
|
||||
color: $body-color;
|
||||
text-align: center;
|
||||
text-decoration: if($link-decoration == none, null, none);
|
||||
white-space: $btn-white-space;
|
||||
vertical-align: middle;
|
||||
cursor: if($enable-button-pointers, pointer, null);
|
||||
user-select: none;
|
||||
background-color: transparent;
|
||||
border: $btn-border-width solid transparent;
|
||||
@include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);
|
||||
@include transition($btn-transition);
|
||||
|
||||
&:hover {
|
||||
color: $body-color;
|
||||
text-decoration: if($link-hover-decoration == underline, none, null);
|
||||
}
|
||||
|
||||
.btn-check:focus + &,
|
||||
&:focus {
|
||||
outline: 0;
|
||||
box-shadow: $btn-focus-box-shadow;
|
||||
}
|
||||
|
||||
.btn-check:checked + &,
|
||||
.btn-check:active + &,
|
||||
&:active,
|
||||
&.active {
|
||||
@include box-shadow($btn-active-box-shadow);
|
||||
|
||||
&:focus {
|
||||
@include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
|
||||
}
|
||||
}
|
||||
|
||||
&:disabled,
|
||||
&.disabled,
|
||||
fieldset:disabled & {
|
||||
pointer-events: none;
|
||||
opacity: $btn-disabled-opacity;
|
||||
@include box-shadow(none);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Alternate buttons
|
||||
//
|
||||
|
||||
// scss-docs-start btn-variant-loops
|
||||
@each $color, $value in $theme-colors {
|
||||
.btn-#{$color} {
|
||||
@include button-variant($value, $value);
|
||||
}
|
||||
}
|
||||
|
||||
@each $color, $value in $theme-colors {
|
||||
.btn-outline-#{$color} {
|
||||
@include button-outline-variant($value);
|
||||
}
|
||||
}
|
||||
// scss-docs-end btn-variant-loops
|
||||
|
||||
|
||||
//
|
||||
// Link buttons
|
||||
//
|
||||
|
||||
// Make a button look and behave like a link
|
||||
.btn-link {
|
||||
font-weight: $font-weight-normal;
|
||||
color: $btn-link-color;
|
||||
text-decoration: $link-decoration;
|
||||
|
||||
&:hover {
|
||||
color: $btn-link-hover-color;
|
||||
text-decoration: $link-hover-decoration;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
text-decoration: $link-hover-decoration;
|
||||
}
|
||||
|
||||
&:disabled,
|
||||
&.disabled {
|
||||
color: $btn-link-disabled-color;
|
||||
}
|
||||
|
||||
// No need for an active state here
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Button Sizes
|
||||
//
|
||||
|
||||
.btn-lg {
|
||||
@include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);
|
||||
}
|
||||
|
||||
.btn-sm {
|
||||
@include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);
|
||||
}
|
215
resources/themes/architect/src/components/bootstrap5/_card.scss
vendored
Normal file
@ -0,0 +1,215 @@
|
||||
//
|
||||
// Base styles
|
||||
//
|
||||
|
||||
.card {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106
|
||||
height: $card-height;
|
||||
word-wrap: break-word;
|
||||
background-color: $card-bg;
|
||||
background-clip: border-box;
|
||||
border: $card-border-width solid $card-border-color;
|
||||
@include border-radius($card-border-radius);
|
||||
|
||||
> hr {
|
||||
margin-right: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
> .list-group {
|
||||
border-top: inherit;
|
||||
border-bottom: inherit;
|
||||
|
||||
&:first-child {
|
||||
border-top-width: 0;
|
||||
@include border-top-radius($card-inner-border-radius);
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
border-bottom-width: 0;
|
||||
@include border-bottom-radius($card-inner-border-radius);
|
||||
}
|
||||
}
|
||||
|
||||
// Due to specificity of the above selector (`.card > .list-group`), we must
|
||||
// use a child selector here to prevent double borders.
|
||||
> .card-header + .list-group,
|
||||
> .list-group + .card-footer {
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.card-body {
|
||||
// Enable `flex-grow: 1` for decks and groups so that card blocks take up
|
||||
// as much space as possible, ensuring footers are aligned to the bottom.
|
||||
flex: 1 1 auto;
|
||||
padding: $card-spacer-y $card-spacer-x;
|
||||
color: $card-color;
|
||||
}
|
||||
|
||||
.card-title {
|
||||
margin-bottom: $card-title-spacer-y;
|
||||
}
|
||||
|
||||
.card-subtitle {
|
||||
margin-top: -$card-title-spacer-y * .5;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.card-text:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.card-link {
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
+ .card-link {
|
||||
margin-left: $card-spacer-x;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Optional textual caps
|
||||
//
|
||||
|
||||
.card-header {
|
||||
padding: $card-cap-padding-y $card-cap-padding-x;
|
||||
margin-bottom: 0; // Removes the default margin-bottom of <hN>
|
||||
color: $card-cap-color;
|
||||
background-color: $card-cap-bg;
|
||||
border-bottom: $card-border-width solid $card-border-color;
|
||||
|
||||
&:first-child {
|
||||
@include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);
|
||||
}
|
||||
}
|
||||
|
||||
.card-footer {
|
||||
padding: $card-cap-padding-y $card-cap-padding-x;
|
||||
color: $card-cap-color;
|
||||
background-color: $card-cap-bg;
|
||||
border-top: $card-border-width solid $card-border-color;
|
||||
|
||||
&:last-child {
|
||||
@include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Header navs
|
||||
//
|
||||
|
||||
.card-header-tabs {
|
||||
margin-right: -$card-cap-padding-x * .5;
|
||||
margin-bottom: -$card-cap-padding-y;
|
||||
margin-left: -$card-cap-padding-x * .5;
|
||||
border-bottom: 0;
|
||||
|
||||
@if $nav-tabs-link-active-bg != $card-bg {
|
||||
.nav-link.active {
|
||||
background-color: $card-bg;
|
||||
border-bottom-color: $card-bg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card-header-pills {
|
||||
margin-right: -$card-cap-padding-x * .5;
|
||||
margin-left: -$card-cap-padding-x * .5;
|
||||
}
|
||||
|
||||
// Card image
|
||||
.card-img-overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: $card-img-overlay-padding;
|
||||
@include border-radius($card-inner-border-radius);
|
||||
}
|
||||
|
||||
.card-img,
|
||||
.card-img-top,
|
||||
.card-img-bottom {
|
||||
width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
|
||||
}
|
||||
|
||||
.card-img,
|
||||
.card-img-top {
|
||||
@include border-top-radius($card-inner-border-radius);
|
||||
}
|
||||
|
||||
.card-img,
|
||||
.card-img-bottom {
|
||||
@include border-bottom-radius($card-inner-border-radius);
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Card groups
|
||||
//
|
||||
|
||||
.card-group {
|
||||
// The child selector allows nested `.card` within `.card-group`
|
||||
// to display properly.
|
||||
> .card {
|
||||
margin-bottom: $card-group-margin;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(sm) {
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
// The child selector allows nested `.card` within `.card-group`
|
||||
// to display properly.
|
||||
> .card {
|
||||
// Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
|
||||
flex: 1 0 0%;
|
||||
margin-bottom: 0;
|
||||
|
||||
+ .card {
|
||||
margin-left: 0;
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
// Handle rounded corners
|
||||
@if $enable-rounded {
|
||||
&:not(:last-child) {
|
||||
@include border-end-radius(0);
|
||||
|
||||
.card-img-top,
|
||||
.card-header {
|
||||
// stylelint-disable-next-line property-disallowed-list
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
.card-img-bottom,
|
||||
.card-footer {
|
||||
// stylelint-disable-next-line property-disallowed-list
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&:not(:first-child) {
|
||||
@include border-start-radius(0);
|
||||
|
||||
.card-img-top,
|
||||
.card-header {
|
||||
// stylelint-disable-next-line property-disallowed-list
|
||||
border-top-left-radius: 0;
|
||||
}
|
||||
.card-img-bottom,
|
||||
.card-footer {
|
||||
// stylelint-disable-next-line property-disallowed-list
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
40
resources/themes/architect/src/components/bootstrap5/_close.scss
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
// transparent background and border properties included for button version.
|
||||
// iOS requires the button element instead of an anchor tag.
|
||||
// If you want the anchor version, it requires `href="#"`.
|
||||
// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
|
||||
|
||||
.btn-close {
|
||||
box-sizing: content-box;
|
||||
width: $btn-close-width;
|
||||
height: $btn-close-height;
|
||||
padding: $btn-close-padding-y $btn-close-padding-x;
|
||||
color: $btn-close-color;
|
||||
background: transparent escape-svg($btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements
|
||||
border: 0; // for button elements
|
||||
@include border-radius();
|
||||
opacity: $btn-close-opacity;
|
||||
|
||||
// Override <a>'s hover style
|
||||
&:hover {
|
||||
color: $btn-close-color;
|
||||
text-decoration: none;
|
||||
opacity: $btn-close-hover-opacity;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
outline: 0;
|
||||
box-shadow: $btn-close-focus-shadow;
|
||||
opacity: $btn-close-focus-opacity;
|
||||
}
|
||||
|
||||
&:disabled,
|
||||
&.disabled {
|
||||
pointer-events: none;
|
||||
user-select: none;
|
||||
opacity: $btn-close-disabled-opacity;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-close-white {
|
||||
filter: $btn-close-white-filter;
|
||||
}
|
41
resources/themes/architect/src/components/bootstrap5/_containers.scss
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
// Container widths
|
||||
//
|
||||
// Set the container width, and override it for fixed navbars in media queries.
|
||||
|
||||
@if $enable-grid-classes {
|
||||
// Single container class with breakpoint max-widths
|
||||
.container,
|
||||
// 100% wide container at all breakpoints
|
||||
.container-fluid {
|
||||
@include make-container();
|
||||
}
|
||||
|
||||
// Responsive containers that are 100% wide until a breakpoint
|
||||
@each $breakpoint, $container-max-width in $container-max-widths {
|
||||
.container-#{$breakpoint} {
|
||||
@extend .container-fluid;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up($breakpoint, $grid-breakpoints) {
|
||||
%responsive-container-#{$breakpoint} {
|
||||
max-width: $container-max-width;
|
||||
}
|
||||
|
||||
// Extend each breakpoint which is smaller or equal to the current breakpoint
|
||||
$extend-breakpoint: true;
|
||||
|
||||
@each $name, $width in $grid-breakpoints {
|
||||
@if ($extend-breakpoint) {
|
||||
.container#{breakpoint-infix($name, $grid-breakpoints)} {
|
||||
@extend %responsive-container-#{$breakpoint};
|
||||
}
|
||||
|
||||
// Once the current breakpoint is reached, stop extending
|
||||
@if ($breakpoint == $name) {
|
||||
$extend-breakpoint: false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
507
resources/themes/architect/src/components/bootstrap5/_custom-forms.scss
vendored
Normal file
@ -0,0 +1,507 @@
|
||||
// Embedded icons from Open Iconic.
|
||||
// Released under MIT and copyright 2014 Waybury.
|
||||
// https://useiconic.com/open
|
||||
|
||||
|
||||
// Checkboxes and radios
|
||||
//
|
||||
// Base class takes care of all the key behavioral aspects.
|
||||
|
||||
.custom-control {
|
||||
position: relative;
|
||||
display: block;
|
||||
min-height: $font-size-base * $line-height-base;
|
||||
padding-left: $custom-control-gutter + $custom-control-indicator-size;
|
||||
}
|
||||
|
||||