reorganize assets: move files and adapt links, remove unused

* chill: chill theme entrypoint
* lib: local libs, called in several place but don't have entrypoint
* module: local libs with specific entrypoints
* page: pages with specific entrypoints
* vuejs: vue components with specific entrypoints

remove local libs jquery and select2, they already exists in node_modules
remove duplicate fonts
This commit is contained in:
2021-07-23 14:58:37 +02:00
parent d20a3cf9d4
commit 8384508c1a
331 changed files with 89 additions and 14335 deletions

View File

@@ -0,0 +1,284 @@
/*
* These custom styles will override bootstrap enabled stylesheets
*/
/// chill buttons
@import 'custom/_buttons';
// chill record_actions
@import 'custom/_record_actions';
/// titles
h1, h2, .h1, .h2 {
font-weight: $headings-font-weight + 200;
}
/// typography
.open_sansbold {
font-weight: bold;
}
/// forms
@mixin title_in_form {
font-size: 1.438em;
font-weight: 700;
width: 100%;
border-bottom: 3px solid $gray-200;
margin-bottom: 1em;
display: block;
}
.col-form-label {
padding-top: .5em;
padding-bottom: .5em;
font-weight: 700;
margin-bottom: .375em;
}
form {
/* avoid useless html in first level of the custom fields row loop in forms
* (better should to improve the loop)
*/
& > div.container-fluid {
& > div.row > .parent {
padding: 0;
& div.cf-fields span.cf-title {
margin: 1em -15px 0;
width: calc(100% + 30px);
@include title_in_form;
}
}
}
fieldset {
margin-top: 1em;
& > legend {
@include title_in_form;
}
}
label {
display: inline;
&.required:after {
content: " *";
color: $red;
}
}
}
/// table
table.table-bordered {
thead, thead * {
border: 0 !important;
text-align: center;
}
}
/// chill elements of design
.sticky-form-buttons {
margin-top: 4em;
background-color: $beige;
position: sticky;
bottom: 0.3em;
text-align: center;
display: flex;
padding: 0.8em 1.6em;
border-radius: 0;
}
.chill-user-quote {
border-left: 10px solid $yellow;
margin: 1.5em 10px;
padding: 0.5em 15px;
quotes: "\201C" "\201D" "\2018" "\2019";
background-color: $gray-200;
blockquote {
border-left: 0.4em solid $gray-400;
padding-left: 0.9em;
margin-left: 0.9em;
font-style: italic;
}
}
div.chill_address {
div.chill_address_address {
margin: 0.7em 0;
font-size: 98%;
font-variant: small-caps;
p {
display: inline-block;
margin: 0 0 0 1.5em;
text-indent: -1.5em;
}
}
}
/// base layout positions
body {
display: flex;
flex-direction: column;
min-height: 100vh;
footer {
margin-top: auto;
}
}
header {
nav.navbar {
padding: 0;
a.navbar-brand img {
height: 50px;
margin: 8px 0;
}
div.navbar-collapse {
float: right;
}
ul.navbar-nav {
display: flex;
align-items: stretch;
li.nav-item {
display: flex;
&.btn {
padding-top: 0;
padding-bottom: 0;
}
& > a {
align-self: center;
}
form.form-inline {
align-self: center;
display: flex;
input.form-control {
align-self: center;
height: 32px;
}
}
}
}
div.dropdown-menu {
margin: 0;
padding: 0;
border-radius: 0;
a.dropdown-item {
width: 120%;
border: 0;
border-bottom: 1px solid $gray-200;
font-size: smaller;
i {
float: right; }
&:hover {
color: $gray-500 !important; }
}
}
// fullwidth menu when navbar is collapsed
@media (max-width: 767px) {
& {
position: relative;
}
button.navbar-toggler {
float: right;
}
div.navbar-collapse {
float: none;
position: absolute;
top: 4em;
left: 0;
right: 0;
z-index: 2;
padding: 1em;
border-top: 1px solid shade-color($primary, 25%);
ul.navbar-nav {
display: grid;
grid-template-areas:
"sear sear sear"
"sect user lang";
li.nav-item {
flex-direction: column;
border: 0;
a.nav-link {}
&.navigation-search {
grid-area: sear;
margin-bottom: 1em;
form {
width: 100%;
input.form-control {}
button.btn {}
}
}
&.nav-section { grid-area: sect; }
&.nav-user { grid-area: user; }
&.nav-language { grid-area: lang; }
}
li.dropdown {
&, & > * {
background-color: transparent !important;
}
a.dropdown-toggle {}
div.dropdown-menu {
display: block;
border: 0;
a.dropdown-item {
width: 100%;
border: 0;
border-top: 1px dotted $gray-200;
background-color: transparent !important;
}
}
}
}
}
}
}
}
div.banner {
div.header-name,
div.header-details {
div.row > div:first-child {
@media (min-width: 576px) {
//margin-left: 1.5em;
}
}
}
a {
text-decoration: none;
}
}
div.vertical-menu {
border-radius: 0;
margin-top: 0.5rem;
a.list-group-item {
background-color: $chill-yellow;
border: 0;
margin-bottom: 0.25rem;
&:hover {
background-color: tint-color($chill-yellow, 20%)
}
}
}
footer.footer {
background: $dark;
padding-top: 10px;
padding-bottom: 10px;
width: 100%;
p {
font-family: Open Sans;
font-weight: 300;
clear: both;
color: $white;
font-size: 0.9em;
line-height: 1.5em;
margin: auto;
max-width: 35em;
text-align: center;
a, a:hover {
text-decoration: underline;
}
}
}

View File

@@ -0,0 +1,61 @@
/*!
* Bootstrap v5.0.1 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*
* Enable / disable bootstrap assets
*/
// scss-docs-start import-stack
// Configuration
@import "bootstrap/scss/functions";
/* replace by CHILL variables */
//@import "bootstrap/scss/variables";
@import "custom/_variables";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
// Layout & components
@import "bootstrap/scss/root";
@import "bootstrap/scss/reboot";
@import "bootstrap/scss/type";
@import "bootstrap/scss/images";
@import "bootstrap/scss/containers";
@import "bootstrap/scss/grid";
@import "bootstrap/scss/tables";
@import "bootstrap/scss/forms";
@import "bootstrap/scss/buttons";
@import "bootstrap/scss/transitions";
@import "bootstrap/scss/dropdown";
@import "bootstrap/scss/button-group";
@import "bootstrap/scss/nav";
@import "bootstrap/scss/navbar";
@import "bootstrap/scss/card";
@import "bootstrap/scss/accordion";
@import "bootstrap/scss/breadcrumb";
@import "bootstrap/scss/pagination";
@import "bootstrap/scss/badge";
@import "bootstrap/scss/alert";
@import "bootstrap/scss/progress";
@import "bootstrap/scss/list-group";
@import "bootstrap/scss/close";
@import "bootstrap/scss/toasts";
@import "bootstrap/scss/modal";
@import "bootstrap/scss/tooltip";
@import "bootstrap/scss/popover";
@import "bootstrap/scss/carousel";
@import "bootstrap/scss/spinners";
@import "bootstrap/scss/offcanvas";
// Helpers
@import "bootstrap/scss/helpers";
// Utilities
@import "bootstrap/scss/utilities/api";
// scss-docs-end import-stack
// CHILL custom
@import "custom";

View File

@@ -0,0 +1,103 @@
/// buttons
// adding special chill actions buttons
$chill-theme-buttons: (
"submit": $chill-green,
"save": $chill-green,
"create": $chill-green,
"new": $chill-green,
"duplicate": $chill-green,
"not-duplicate": $chill-green,
"reset": $chill-red,
"delete": $chill-red,
"danger": $chill-red,
"remove": $chill-red,
"action": $chill-orange,
"edit": $chill-orange,
"update": $chill-orange,
"show": $chill-blue,
"view": $chill-blue,
"misc": $chill-light-gray,
"cancel": $chill-light-gray,
);
@each $button, $color in $chill-theme-buttons {
.btn-#{$button} {
@include button-variant($color, $color);
}
}
@each $button, $color in $chill-theme-buttons {
.btn-outline-#{$button} {
@include button-outline-variant($color);
}
}
.btn {
&.btn-submit,
&.btn-save,
&.btn-create,
&.btn-new,
&.btn-duplicate,
&.btn-not-duplicate,
&.btn-reset,
&.btn-delete,
&.btn-danger,
&.btn-remove,
&.btn-action,
&.btn-edit,
&.btn-update {
&, &:hover {
color: $light;
}
}
}
.btn {
&.btn-new::before,
&.btn-create::before,
&.btn-edit::before,
&.btn-update::before,
&.btn-show::before,
&.btn-view::before,
&.btn-save::before,
&.btn-duplicate::before,
&.btn-not-duplicate::before,
&.btn-submit::before,
&.btn-reset::before,
&.btn-action::before,
&.btn-delete::before,
&.btn-remove::before,
&.btn-cancel::before {
font: normal normal normal 14px/1 ForkAwesome;
margin-right: 0.5em;
}
&[class*='btn-']:empty {
&::before {
margin-right: 0;
}
}
}
.btn {
&.btn-new::before,
&.btn-create::before { content: "\f067"; } // fa-plus
&.btn-edit::before,
&.btn-update::before { content: "\f040"; } // fa-pencil
&.btn-show::before,
&.btn-view::before { content: "\f06e"; } // fa-eye
&.btn-save::before { content: "\f0c7"; } // fa-floppy-o
&.btn-duplicate::before { content: "\f24d"; } // fa-clone // f0c5 fa-files-o
&.btn-delete::before { content: "\f1f8"; } // fa-trash
&.btn-remove::before { content: "\f00d"; } // fa-times
&.btn-cancel::before { content: "\f060"; } // fa-arrow-left
}
/// fix text color on themes buttons
.btn-success,
.btn-warning {
&, &:hover {
color: $light;
}
}

View File

@@ -0,0 +1,86 @@
ul.record_actions,
ul.record_actions_column {
display: flex;
justify-content: flex-end;
&.record_actions--left {
justify-content: flex-start;
}
padding: 0.5em 0;
flex-wrap: wrap-reverse;
li {
display: inline-block;
list-style-type: none;
margin-right: 1em;
order: 99;
&:last-child {
margin-right: 0;
}
}
li.cancel {
order: 1;
margin-right: auto;
}
}
ul.record_actions {
flex-direction: row;
}
ul.record_actions_column {
flex-direction: column;
}
ul.record_actions.sticky-form-buttons {
padding-left: 1em;
padding-right: 1em;
}
// inside table exceptions
table {
td ul.record_actions,
ul.record_actions_small {
li {
margin-right: 0.2em;
}
}
ul.record_actions {
margin: 0;
padding: 0.5em;
}
}
// inside alert exceptions
div.alert.alert-with-actions {
display: flex;
flex-direction: row;
ul.record_actions {
display: flex;
flex-direction: column;
padding: 0;
margin: 0;
li:nth-child(1n+2) {
margin-top: 0.5rem;
}
li {
margin-right: 0;
}
}
@media screen and (max-width: 1050px) {
flex-direction: column;
ul.record_actions {
margin-top: 1rem;
text-align: center;
}
}
}

View File

@@ -0,0 +1,10 @@
// Compile all bootstrap assets from nodes-modules
//require('bootstrap/scss/bootstrap.scss')
// Or compile bootstrap only enabled assets
require('./bootstrap.scss');
// You can specify which plugins you need
import Dropdown from 'bootstrap/js/src/dropdown';
import Modal from 'bootstrap/js/dist/modal';
import Collapse from 'bootstrap/js/src/collapse';