Laravel 11, Vuexy Admin 10.3, by admin@koneko.mx
7
modules/Admin/Resources/assets/vendor/libs/@form-validation/auto-focus.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import { AutoFocus } from '@form-validation/plugin-auto-focus';
|
||||
|
||||
try {
|
||||
FormValidation.plugins.AutoFocus = AutoFocus;
|
||||
} catch (e) {}
|
||||
|
||||
export { AutoFocus };
|
7
modules/Admin/Resources/assets/vendor/libs/@form-validation/bootstrap5.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import { Bootstrap5 } from '@form-validation/plugin-bootstrap5';
|
||||
|
||||
try {
|
||||
FormValidation.plugins.Bootstrap5 = Bootstrap5;
|
||||
} catch (e) {}
|
||||
|
||||
export { Bootstrap5 };
|
4
modules/Admin/Resources/assets/vendor/libs/@form-validation/form-validation.scss
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
@import '@form-validation/core/lib/styles/index';
|
||||
@import '@form-validation/plugin-framework/lib/styles/index';
|
||||
@import '@form-validation/plugin-message/lib/styles/index';
|
||||
@import '@form-validation/plugin-bootstrap5/lib/styles/index';
|
7
modules/Admin/Resources/assets/vendor/libs/@form-validation/popular.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import FormValidation from '@form-validation/bundle/popular';
|
||||
|
||||
try {
|
||||
window.FormValidation = FormValidation;
|
||||
} catch (e) {}
|
||||
|
||||
export { FormValidation };
|
105
modules/Admin/Resources/assets/vendor/libs/@form-validation/validationMessages.es.js
vendored
Normal file
@ -0,0 +1,105 @@
|
||||
export const validationMessages = {
|
||||
default: 'Por favor, introduce un valor válido.',
|
||||
|
||||
// Validación de campo obligatorio
|
||||
notEmpty: 'Este campo no puede estar vacío.',
|
||||
|
||||
// Validación de direcciones de correo electrónico
|
||||
emailAddress: 'Por favor, introduce una dirección de correo electrónico válida.',
|
||||
|
||||
// Validación de números
|
||||
numeric: 'Por favor, introduce un número válido.',
|
||||
|
||||
// Validación de URL
|
||||
uri: 'Por favor, introduce una URL válida.',
|
||||
|
||||
// Validación de rango de longitud de texto
|
||||
stringLength: 'Por favor, introduce un valor entre %s y %s caracteres.',
|
||||
|
||||
// Validación de tamaño mínimo
|
||||
greaterThan: 'Por favor, introduce un valor mayor o igual a %s.',
|
||||
|
||||
// Validación de tamaño máximo
|
||||
lessThan: 'Por favor, introduce un valor menor o igual a %s.',
|
||||
|
||||
// Validación de rango entre dos valores
|
||||
between: 'Por favor, introduce un valor entre %s y %s.',
|
||||
|
||||
// Validación de coincidencia de valores
|
||||
identical: 'Los valores deben coincidir.',
|
||||
|
||||
// Validación de expresiones regulares
|
||||
regexp: 'El formato del valor no es válido.',
|
||||
|
||||
// Validación de números de tarjeta de crédito
|
||||
creditCard: 'Por favor, introduce un número de tarjeta de crédito válido.',
|
||||
|
||||
// Validación de direcciones IP
|
||||
ip: 'Por favor, introduce una dirección IP válida.',
|
||||
|
||||
// Validación de direcciones MAC
|
||||
mac: 'Por favor, introduce una dirección MAC válida.',
|
||||
|
||||
// Validación de números de teléfono
|
||||
phone: 'Por favor, introduce un número de teléfono válido.',
|
||||
|
||||
// Validación de códigos postales
|
||||
zipCode: 'Por favor, introduce un código postal válido.',
|
||||
|
||||
// Validación de datos remotos
|
||||
remote: 'Por favor, corrige este campo.',
|
||||
|
||||
// Validación de archivo cargado (file upload)
|
||||
file: {
|
||||
size: 'Por favor, selecciona un archivo con un tamaño máximo de %s KB.',
|
||||
type: 'Por favor, selecciona un archivo de tipo válido (%s).'
|
||||
},
|
||||
|
||||
// Validación de fecha
|
||||
date: 'Por favor, introduce una fecha válida en el formato %s.',
|
||||
|
||||
// Validación de valores únicos en una lista
|
||||
unique: 'Por favor, asegúrate de que este valor sea único.',
|
||||
|
||||
// Validación de campos iguales
|
||||
equalTo: 'Por favor, introduce el mismo valor que en el campo %s.',
|
||||
|
||||
// Validación de JSON
|
||||
json: 'Por favor, introduce un JSON válido.',
|
||||
|
||||
// Validación de booleanos
|
||||
boolean: 'Por favor, introduce un valor booleano válido (true o false).',
|
||||
|
||||
// Validación de IBAN
|
||||
iban: 'Por favor, introduce un número IBAN válido.',
|
||||
|
||||
// Validación de ISBN
|
||||
isbn: 'Por favor, introduce un número ISBN válido.',
|
||||
|
||||
// Validación de tarjeta de identidad
|
||||
id: 'Por favor, introduce un número de identificación válido.',
|
||||
|
||||
// Validación de números enteros
|
||||
integer: 'Por favor, introduce un número entero válido.',
|
||||
|
||||
// Validación de números decimales
|
||||
decimal: 'Por favor, introduce un número decimal válido.',
|
||||
|
||||
// Validación de formato de hora
|
||||
time: 'Por favor, introduce una hora válida en el formato %s.',
|
||||
|
||||
// Validación de rango de archivos cargados
|
||||
fileCount: 'Por favor, selecciona entre %s y %s archivos.',
|
||||
|
||||
// Validación de valores en una lista
|
||||
in: 'Por favor, selecciona un valor válido.',
|
||||
|
||||
// Validación de valores fuera de una lista
|
||||
notIn: 'Por favor, selecciona un valor no restringido.',
|
||||
|
||||
// Validación de valores opcionales
|
||||
optional: 'Este campo es opcional, pero debe ser válido si está presente.',
|
||||
|
||||
// Validación de UUID
|
||||
uuid: 'Por favor, introduce un UUID válido.'
|
||||
};
|
414
modules/Admin/Resources/assets/vendor/libs/_tabler/_tabler.scss
vendored
Normal file
@ -0,0 +1,414 @@
|
||||
@-webkit-keyframes spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0);
|
||||
transform: rotate(0);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
@keyframes spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0);
|
||||
transform: rotate(0);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes burst {
|
||||
0% {
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
90% {
|
||||
-webkit-transform: scale(1.5);
|
||||
transform: scale(1.5);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@keyframes burst {
|
||||
0% {
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
90% {
|
||||
-webkit-transform: scale(1.5);
|
||||
transform: scale(1.5);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes flashing {
|
||||
0% {
|
||||
opacity: 1;
|
||||
}
|
||||
45% {
|
||||
opacity: 0;
|
||||
}
|
||||
90% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
@keyframes flashing {
|
||||
0% {
|
||||
opacity: 1;
|
||||
}
|
||||
45% {
|
||||
opacity: 0;
|
||||
}
|
||||
90% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes fade-left {
|
||||
0% {
|
||||
-webkit-transform: translateX(0);
|
||||
transform: translateX(0);
|
||||
opacity: 1;
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translateX(-20px);
|
||||
transform: translateX(-20px);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@keyframes fade-left {
|
||||
0% {
|
||||
-webkit-transform: translateX(0);
|
||||
transform: translateX(0);
|
||||
opacity: 1;
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translateX(-20px);
|
||||
transform: translateX(-20px);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes fade-right {
|
||||
0% {
|
||||
-webkit-transform: translateX(0);
|
||||
transform: translateX(0);
|
||||
opacity: 1;
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translateX(20px);
|
||||
transform: translateX(20px);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@keyframes fade-right {
|
||||
0% {
|
||||
-webkit-transform: translateX(0);
|
||||
transform: translateX(0);
|
||||
opacity: 1;
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translateX(20px);
|
||||
transform: translateX(20px);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes fade-up {
|
||||
0% {
|
||||
-webkit-transform: translateY(0);
|
||||
transform: translateY(0);
|
||||
opacity: 1;
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translateY(-20px);
|
||||
transform: translateY(-20px);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@keyframes fade-up {
|
||||
0% {
|
||||
-webkit-transform: translateY(0);
|
||||
transform: translateY(0);
|
||||
opacity: 1;
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translateY(-20px);
|
||||
transform: translateY(-20px);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes fade-down {
|
||||
0% {
|
||||
-webkit-transform: translateY(0);
|
||||
transform: translateY(0);
|
||||
opacity: 1;
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translateY(20px);
|
||||
transform: translateY(20px);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@keyframes fade-down {
|
||||
0% {
|
||||
-webkit-transform: translateY(0);
|
||||
transform: translateY(0);
|
||||
opacity: 1;
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translateY(20px);
|
||||
transform: translateY(20px);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes tada {
|
||||
from {
|
||||
-webkit-transform: scale3d(1, 1, 1);
|
||||
transform: scale3d(1, 1, 1);
|
||||
}
|
||||
10%,
|
||||
20% {
|
||||
-webkit-transform: scale3d(0.95, 0.95, 0.95) rotate3d(0, 0, 1, -10deg);
|
||||
transform: scale3d(0.95, 0.95, 0.95) rotate3d(0, 0, 1, -10deg);
|
||||
}
|
||||
30%,
|
||||
50%,
|
||||
70%,
|
||||
90% {
|
||||
-webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
|
||||
transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
|
||||
}
|
||||
40%,
|
||||
60%,
|
||||
80% {
|
||||
-webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -10deg);
|
||||
transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -10deg);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: scale3d(1, 1, 1);
|
||||
transform: scale3d(1, 1, 1);
|
||||
}
|
||||
}
|
||||
@keyframes tada {
|
||||
from {
|
||||
-webkit-transform: scale3d(1, 1, 1);
|
||||
transform: scale3d(1, 1, 1);
|
||||
}
|
||||
10%,
|
||||
20% {
|
||||
-webkit-transform: scale3d(0.95, 0.95, 0.95) rotate3d(0, 0, 1, -10deg);
|
||||
transform: scale3d(0.95, 0.95, 0.95) rotate3d(0, 0, 1, -10deg);
|
||||
}
|
||||
30%,
|
||||
50%,
|
||||
70%,
|
||||
90% {
|
||||
-webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
|
||||
transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
|
||||
}
|
||||
40%,
|
||||
60%,
|
||||
80% {
|
||||
-webkit-transform: rotate3d(0, 0, 1, -10deg);
|
||||
transform: rotate3d(0, 0, 1, -10deg);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: scale3d(1, 1, 1);
|
||||
transform: scale3d(1, 1, 1);
|
||||
}
|
||||
}
|
||||
.ti-spin {
|
||||
-webkit-animation: spin 2s linear infinite;
|
||||
animation: spin 2s linear infinite;
|
||||
}
|
||||
|
||||
.ti-spin-hover:hover {
|
||||
-webkit-animation: spin 2s linear infinite;
|
||||
animation: spin 2s linear infinite;
|
||||
}
|
||||
|
||||
.ti-tada {
|
||||
-webkit-animation: tada 1.5s ease infinite;
|
||||
animation: tada 1.5s ease infinite;
|
||||
}
|
||||
|
||||
.ti-tada-hover:hover {
|
||||
-webkit-animation: tada 1.5s ease infinite;
|
||||
animation: tada 1.5s ease infinite;
|
||||
}
|
||||
|
||||
.ti-flashing {
|
||||
-webkit-animation: flashing 1.5s infinite linear;
|
||||
animation: flashing 1.5s infinite linear;
|
||||
}
|
||||
|
||||
.ti-flashing-hover:hover {
|
||||
-webkit-animation: flashing 1.5s infinite linear;
|
||||
animation: flashing 1.5s infinite linear;
|
||||
}
|
||||
|
||||
.ti-burst {
|
||||
-webkit-animation: burst 1.5s infinite linear;
|
||||
animation: burst 1.5s infinite linear;
|
||||
}
|
||||
|
||||
.ti-burst-hover:hover {
|
||||
-webkit-animation: burst 1.5s infinite linear;
|
||||
animation: burst 1.5s infinite linear;
|
||||
}
|
||||
|
||||
.ti-fade-up {
|
||||
-webkit-animation: fade-up 1.5s infinite linear;
|
||||
animation: fade-up 1.5s infinite linear;
|
||||
}
|
||||
|
||||
.ti-fade-up-hover:hover {
|
||||
-webkit-animation: fade-up 1.5s infinite linear;
|
||||
animation: fade-up 1.5s infinite linear;
|
||||
}
|
||||
|
||||
.ti-fade-down {
|
||||
-webkit-animation: fade-down 1.5s infinite linear;
|
||||
animation: fade-down 1.5s infinite linear;
|
||||
}
|
||||
|
||||
.ti-fade-down-hover:hover {
|
||||
-webkit-animation: fade-down 1.5s infinite linear;
|
||||
animation: fade-down 1.5s infinite linear;
|
||||
}
|
||||
|
||||
.ti-fade-left {
|
||||
-webkit-animation: fade-left 1.5s infinite linear;
|
||||
animation: fade-left 1.5s infinite linear;
|
||||
}
|
||||
|
||||
.ti-fade-left-hover:hover {
|
||||
-webkit-animation: fade-left 1.5s infinite linear;
|
||||
animation: fade-left 1.5s infinite linear;
|
||||
}
|
||||
|
||||
.ti-fade-right {
|
||||
-webkit-animation: fade-right 1.5s infinite linear;
|
||||
animation: fade-right 1.5s infinite linear;
|
||||
}
|
||||
|
||||
.ti-fade-right-hover:hover {
|
||||
-webkit-animation: fade-right 1.5s infinite linear;
|
||||
animation: fade-right 1.5s infinite linear;
|
||||
}
|
||||
|
||||
.ti-xs {
|
||||
font-size: 1rem !important;
|
||||
}
|
||||
|
||||
.ti-sm {
|
||||
font-size: 1.125rem !important;
|
||||
}
|
||||
|
||||
.ti-md {
|
||||
font-size: 1.375rem !important;
|
||||
}
|
||||
|
||||
.ti-lg {
|
||||
font-size: 1.5rem !important;
|
||||
}
|
||||
|
||||
.ti-xl {
|
||||
font-size: 2.25rem !important;
|
||||
}
|
||||
|
||||
.ti-10px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 10px;
|
||||
}
|
||||
}
|
||||
.ti-12px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
.ti-14px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
.ti-16px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
.ti-18px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
.ti-20px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
.ti-22px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 22px;
|
||||
}
|
||||
}
|
||||
.ti-24px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 24px;
|
||||
}
|
||||
}
|
||||
.ti-26px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 26px;
|
||||
}
|
||||
}
|
||||
.ti-28px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 28px;
|
||||
}
|
||||
}
|
||||
.ti-30px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
.ti-32px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 32px;
|
||||
}
|
||||
}
|
||||
.ti-36px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 36px;
|
||||
}
|
||||
}
|
||||
.ti-40px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 40px;
|
||||
}
|
||||
}
|
||||
.ti-42px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 42px;
|
||||
}
|
||||
}
|
||||
.ti-48px {
|
||||
&,
|
||||
&:before {
|
||||
font-size: 48px;
|
||||
}
|
||||
}
|
1
modules/Admin/Resources/assets/vendor/libs/animate-css/animate.scss
vendored
Normal file
@ -0,0 +1 @@
|
||||
@import 'animate.css/animate';
|
7
modules/Admin/Resources/assets/vendor/libs/animate-on-scroll/animate-on-scroll.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import AOS from 'aos/dist/aos';
|
||||
|
||||
try {
|
||||
window.AOS = AOS;
|
||||
} catch (e) {}
|
||||
|
||||
export { AOS };
|
1
modules/Admin/Resources/assets/vendor/libs/animate-on-scroll/animate-on-scroll.scss
vendored
Normal file
@ -0,0 +1 @@
|
||||
@import 'aos/dist/aos';
|
171
modules/Admin/Resources/assets/vendor/libs/apex-charts/apex-charts.scss
vendored
Normal file
@ -0,0 +1,171 @@
|
||||
/**
|
||||
* Apex Charts
|
||||
*/
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'apexcharts-clevision/dist/apexcharts';
|
||||
|
||||
// Light style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
.apexcharts-canvas {
|
||||
.apexcharts-tooltip {
|
||||
background: light.$card-bg;
|
||||
border-color: light.$border-color;
|
||||
box-shadow: light.$box-shadow;
|
||||
.apexcharts-tooltip-title {
|
||||
background: light.$card-bg;
|
||||
border-color: light.$border-color;
|
||||
font-family: light.$font-family-base !important;
|
||||
}
|
||||
&.apexcharts-theme-light {
|
||||
color: light.$headings-color;
|
||||
}
|
||||
&.apexcharts-theme-dark {
|
||||
color: light.$white;
|
||||
}
|
||||
.apexcharts-tooltip-title {
|
||||
font-weight: light.$headings-font-weight;
|
||||
}
|
||||
}
|
||||
.apexcharts-xaxistooltip,
|
||||
.apexcharts-yaxistooltip {
|
||||
background: light.$body-bg;
|
||||
border-color: light.$border-color;
|
||||
color: light.$headings-color;
|
||||
&.apexcharts-xaxistooltip-bottom,
|
||||
&.apexcharts-yaxistooltip-bottom {
|
||||
&:after {
|
||||
border-bottom-color: light.$body-bg;
|
||||
}
|
||||
&:before {
|
||||
border-bottom-color: light.$border-color;
|
||||
}
|
||||
}
|
||||
&.apexcharts-xaxistooltip-left,
|
||||
&.apexcharts-yaxistooltip-left {
|
||||
&:after {
|
||||
border-left-color: light.$body-bg;
|
||||
}
|
||||
&:before {
|
||||
border-left-color: light.$border-color;
|
||||
}
|
||||
}
|
||||
&.apexcharts-xaxistooltip-right,
|
||||
&.apexcharts-yaxistooltip-right {
|
||||
&:after {
|
||||
border-right-color: light.$body-bg;
|
||||
}
|
||||
&:before {
|
||||
border-right-color: light.$border-color;
|
||||
}
|
||||
}
|
||||
&.apexcharts-xaxistooltip-top,
|
||||
&.apexcharts-yaxistooltip-top {
|
||||
&:after {
|
||||
border-top-color: light.$body-bg;
|
||||
}
|
||||
&:before {
|
||||
border-top-color: light.$border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
.apexcharts-tooltip-text {
|
||||
font-family: light.$font-family-base !important;
|
||||
filter: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Dark Style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
#radarChart {
|
||||
.apexcharts-canvas {
|
||||
.apexcharts-grid line {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.apexcharts-canvas {
|
||||
.apexcharts-tooltip {
|
||||
background: dark.$body-bg;
|
||||
border-color: dark.$border-color;
|
||||
box-shadow: dark.$box-shadow;
|
||||
.apexcharts-tooltip-title {
|
||||
background: dark.$body-bg;
|
||||
border-color: dark.$border-color;
|
||||
font-family: dark.$font-family-base !important;
|
||||
}
|
||||
&.apexcharts-theme-light {
|
||||
color: dark.$headings-color;
|
||||
}
|
||||
&.apexcharts-theme-dark {
|
||||
color: dark.$white;
|
||||
}
|
||||
.apexcharts-tooltip-title {
|
||||
font-weight: dark.$headings-font-weight;
|
||||
}
|
||||
}
|
||||
.apexcharts-xaxistooltip,
|
||||
.apexcharts-yaxistooltip {
|
||||
background: dark.$body-bg;
|
||||
color: dark.$headings-color;
|
||||
border-color: dark.$border-color;
|
||||
&.apexcharts-xaxistooltip-bottom,
|
||||
&.apexcharts-yaxistooltip-bottom {
|
||||
&:after {
|
||||
border-bottom-color: dark.$body-bg;
|
||||
}
|
||||
&:before {
|
||||
border-bottom-color: dark.$border-color;
|
||||
}
|
||||
}
|
||||
&.apexcharts-xaxistooltip-left,
|
||||
&.apexcharts-yaxistooltip-left {
|
||||
&:after {
|
||||
border-left-color: dark.$body-bg;
|
||||
}
|
||||
&:before {
|
||||
border-left-color: dark.$border-color;
|
||||
}
|
||||
}
|
||||
&.apexcharts-xaxistooltip-right,
|
||||
&.apexcharts-yaxistooltip-right {
|
||||
&:after {
|
||||
border-right-color: dark.$body-bg;
|
||||
}
|
||||
&:before {
|
||||
border-right-color: dark.$border-color;
|
||||
}
|
||||
}
|
||||
&.apexcharts-xaxistooltip-top,
|
||||
&.apexcharts-yaxistooltip-top {
|
||||
&:after {
|
||||
border-top-color: dark.$body-bg;
|
||||
}
|
||||
&:before {
|
||||
border-top-color: dark.$border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// RTL
|
||||
@include app-rtl(false) {
|
||||
.apexcharts-canvas {
|
||||
.apexcharts-yaxis {
|
||||
text {
|
||||
text-anchor: start;
|
||||
}
|
||||
}
|
||||
.apexcharts-legend-marker,
|
||||
.apexcharts-tooltip-marker {
|
||||
margin-right: 0;
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
}
|
||||
}
|
7
modules/Admin/Resources/assets/vendor/libs/apex-charts/apexcharts.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import ApexCharts from 'apexcharts-clevision';
|
||||
|
||||
try {
|
||||
window.ApexCharts = ApexCharts;
|
||||
} catch (e) {}
|
||||
|
||||
export { ApexCharts };
|
7
modules/Admin/Resources/assets/vendor/libs/autosize/autosize.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import autosize from 'autosize';
|
||||
|
||||
try {
|
||||
window.autosize = autosize;
|
||||
} catch (e) {}
|
||||
|
||||
export { autosize };
|
1
modules/Admin/Resources/assets/vendor/libs/block-ui/block-ui.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import 'block-ui/jquery.blockUI';
|
7
modules/Admin/Resources/assets/vendor/libs/bloodhound/bloodhound.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import Bloodhound from 'typeahead.js/dist/bloodhound';
|
||||
|
||||
try {
|
||||
window.Bloodhound = Bloodhound;
|
||||
} catch (e) {}
|
||||
|
||||
export { Bloodhound };
|
93
modules/Admin/Resources/assets/vendor/libs/bootstrap-datepicker/_mixins.scss
vendored
Normal file
@ -0,0 +1,93 @@
|
||||
@import '../../scss/_bootstrap-extended/functions';
|
||||
|
||||
@mixin bs-datepicker-theme($background, $color: null) {
|
||||
$color: if($color, $color, color-contrast($background));
|
||||
$range-bg: rgba-to-hex(rgba($background, 0.16), $card-bg);
|
||||
$range-color: $background;
|
||||
|
||||
.datepicker {
|
||||
table {
|
||||
tr td {
|
||||
&.active,
|
||||
&.active.highlighted,
|
||||
.focused,
|
||||
span.active,
|
||||
span.active.disabled,
|
||||
&.range-start,
|
||||
&.range-end {
|
||||
background: $background !important;
|
||||
color: $color !important;
|
||||
box-shadow: 0 0.125rem 0.375rem 0 rgba($background, 0.3);
|
||||
}
|
||||
|
||||
&.range,
|
||||
&.range.highlighted,
|
||||
&.range.today {
|
||||
color: $range-color !important;
|
||||
background: $range-bg !important;
|
||||
|
||||
&.focused {
|
||||
background: rgba-to-hex(rgba($background, 0.24), $card-bg) !important;
|
||||
}
|
||||
|
||||
&.disabled {
|
||||
background: transparentize($range-bg, 0.5) !important;
|
||||
color: transparentize($range-color, 0.5) !important;
|
||||
}
|
||||
}
|
||||
|
||||
&.today:not(.active),
|
||||
&.today:not(.active):hover {
|
||||
color: $background;
|
||||
background-color: rgba-to-hex(rgba($background, 0.16), $card-bg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@mixin bs-datepicker-dark-theme($background, $color: null) {
|
||||
$color: if($color, $color, color-contrast($background));
|
||||
$range-bg: rgba-to-hex(rgba($background, 0.24), $card-bg);
|
||||
$range-color: $background;
|
||||
|
||||
.datepicker {
|
||||
table {
|
||||
tr td {
|
||||
&.active,
|
||||
&.active.highlighted,
|
||||
.focused,
|
||||
span.active,
|
||||
span.active.disabled,
|
||||
&.range-start,
|
||||
&.range-end {
|
||||
color: $color !important;
|
||||
background: $background !important;
|
||||
box-shadow: 0 0.125rem 0.375rem 0 rgba($background, 0.3);
|
||||
}
|
||||
|
||||
&.range,
|
||||
&.range.highlighted,
|
||||
&.range.today {
|
||||
color: $range-color !important;
|
||||
background: $range-bg !important;
|
||||
|
||||
&.disabled {
|
||||
color: transparentize($range-color, 0.5) !important;
|
||||
background: transparentize($range-bg, 0.5) !important;
|
||||
}
|
||||
|
||||
&.focused {
|
||||
background: rgba-to-hex(rgba($background, 0.24), $card-bg) !important;
|
||||
}
|
||||
}
|
||||
|
||||
&.today:not(.active),
|
||||
&.today:not(.active):hover {
|
||||
color: $background;
|
||||
background-color: rgba-to-hex(rgba($background, 0.16), $card-bg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
1
modules/Admin/Resources/assets/vendor/libs/bootstrap-datepicker/bootstrap-datepicker.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import 'bootstrap-datepicker/dist/js/bootstrap-datepicker';
|
482
modules/Admin/Resources/assets/vendor/libs/bootstrap-datepicker/bootstrap-datepicker.scss
vendored
Normal file
@ -0,0 +1,482 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
|
||||
$datepicker-arrow-size: 0.45rem !default;
|
||||
$datepicker-item-width: 2.25rem !default;
|
||||
$datepicker-item-height: 2.25rem !default;
|
||||
$white: #fff;
|
||||
|
||||
.datepicker {
|
||||
direction: ltr;
|
||||
|
||||
&.dropdown-menu {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.datepicker-days {
|
||||
margin: 0.875rem 0.875rem 0.875rem;
|
||||
}
|
||||
|
||||
// Basic styles for next and prev arrows
|
||||
.next,
|
||||
.prev {
|
||||
color: transparent !important;
|
||||
position: absolute;
|
||||
top: 0.65rem;
|
||||
height: 1.875rem;
|
||||
width: 1.875rem;
|
||||
border-radius: light.$border-radius-pill;
|
||||
display: table-caption;
|
||||
}
|
||||
|
||||
// LRT & RTL only styles for arrows
|
||||
table thead tr th {
|
||||
&.next {
|
||||
@include app-ltr {
|
||||
float: right;
|
||||
right: 0.125rem;
|
||||
}
|
||||
@include app-rtl {
|
||||
float: left;
|
||||
left: 0.125rem;
|
||||
}
|
||||
}
|
||||
&.prev {
|
||||
@include app-ltr {
|
||||
right: 2.75rem;
|
||||
}
|
||||
@include app-rtl {
|
||||
left: 2.75rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.datepicker-inline {
|
||||
table {
|
||||
thead tr th {
|
||||
&.next {
|
||||
inset-inline-end: 0.5rem !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
.datepicker-days {
|
||||
.datepicker-switch {
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// next & prev arrow after style
|
||||
.next::after,
|
||||
.prev::after {
|
||||
content: '';
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 46%;
|
||||
top: 46%;
|
||||
height: $datepicker-arrow-size;
|
||||
width: $datepicker-arrow-size;
|
||||
border-radius: 0;
|
||||
border-style: solid;
|
||||
transform: rotate(-45deg);
|
||||
transform-origin: left;
|
||||
}
|
||||
|
||||
.next::after {
|
||||
margin-left: -$datepicker-arrow-size * 0.35;
|
||||
border-width: 0 1.9px 1.9px 0;
|
||||
|
||||
@include app-rtl {
|
||||
transform: rotate(-45deg);
|
||||
border-width: 1.9px 0 0 1.9px;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.prev::after {
|
||||
border-width: 1.9px 0 0 1.9px;
|
||||
|
||||
@include app-rtl {
|
||||
transform: rotate(-45deg);
|
||||
border-width: 0 1.9px 1.9px 0;
|
||||
margin-left: -$datepicker-arrow-size * 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
// arrow alignments excluding datepicker-days
|
||||
.datepicker-months,
|
||||
.datepicker-years,
|
||||
.datepicker-decades,
|
||||
.datepicker-centuries {
|
||||
.next {
|
||||
@include app-ltr {
|
||||
right: 1rem;
|
||||
}
|
||||
@include app-rtl {
|
||||
left: 1rem;
|
||||
}
|
||||
}
|
||||
.prev {
|
||||
@include app-ltr {
|
||||
right: 3.4rem;
|
||||
}
|
||||
@include app-rtl {
|
||||
left: 3.4rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// switch default styles
|
||||
.datepicker-switch {
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
@include app-ltr {
|
||||
text-align: left;
|
||||
}
|
||||
@include app-rtl {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
// switch alignments datepicker-days
|
||||
.datepicker-days {
|
||||
.datepicker-switch {
|
||||
top: -4px;
|
||||
@include app-ltr {
|
||||
left: -1.68rem;
|
||||
}
|
||||
@include app-rtl {
|
||||
right: -1.68rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// switch alignments excluding datepicker-days
|
||||
.datepicker-months,
|
||||
.datepicker-years,
|
||||
.datepicker-decades,
|
||||
.datepicker-centuries {
|
||||
.datepicker-switch {
|
||||
@include app-ltr {
|
||||
left: 1rem;
|
||||
}
|
||||
@include app-rtl {
|
||||
right: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
table thead tr:nth-child(2) {
|
||||
height: 60px !important;
|
||||
width: 80px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
&.datepicker-rtl {
|
||||
direction: rtl;
|
||||
|
||||
table tr td span {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
@include app-rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker table {
|
||||
user-select: none;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
border-radius: light.$dropdown-border-radius;
|
||||
tbody {
|
||||
//! FIX: padding or margin top will not work in table
|
||||
&:before {
|
||||
content: '@';
|
||||
display: block;
|
||||
line-height: 6px;
|
||||
text-indent: -99999px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker table tr td,
|
||||
.datepicker table tr th {
|
||||
font-weight: 400;
|
||||
text-align: center;
|
||||
border: none;
|
||||
|
||||
&.dow {
|
||||
font-size: light.$font-size-sm;
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker table tr td {
|
||||
border-radius: light.$border-radius-pill;
|
||||
width: $datepicker-item-width;
|
||||
height: $datepicker-item-height;
|
||||
&.day:hover,
|
||||
&.focused {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&.disabled,
|
||||
&.disabled:hover {
|
||||
cursor: default;
|
||||
background: none;
|
||||
}
|
||||
|
||||
&.range {
|
||||
border-radius: 0 !important;
|
||||
&.today {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
// span.month,
|
||||
// span.year {
|
||||
// margin: 0 0.5rem;
|
||||
// }
|
||||
|
||||
&.range-start:not(.range-end) {
|
||||
@include app-ltr {
|
||||
border-bottom-right-radius: 0 !important;
|
||||
border-top-right-radius: 0 !important;
|
||||
}
|
||||
|
||||
@include app-rtl {
|
||||
border-bottom-left-radius: 0 !important;
|
||||
border-top-left-radius: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
&.range-end:not(.range-start) {
|
||||
@include app-ltr {
|
||||
border-bottom-left-radius: 0 !important;
|
||||
border-top-left-radius: 0 !important;
|
||||
}
|
||||
|
||||
@include app-rtl {
|
||||
border-bottom-right-radius: 0 !important;
|
||||
border-top-right-radius: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
&.selected,
|
||||
&.selected:hover,
|
||||
&.selected.highlighted {
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
|
||||
// Styles for datepicker months, years, decades etc
|
||||
.datepicker table tr td span {
|
||||
display: block;
|
||||
float: left;
|
||||
width: 3.625rem;
|
||||
height: 2rem;
|
||||
line-height: 2rem;
|
||||
cursor: pointer;
|
||||
|
||||
&.disabled,
|
||||
&.disabled:hover {
|
||||
background: none;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
@include app-rtl {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
.datepicker .datepicker-switch,
|
||||
.datepicker .prev,
|
||||
.datepicker .next,
|
||||
.datepicker tfoot tr th {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.datepicker-months table,
|
||||
.datepicker-years table,
|
||||
.datepicker-decades table,
|
||||
.datepicker-centuries table {
|
||||
width: (3.375rem * 3) + 2.625rem;
|
||||
|
||||
td {
|
||||
padding: 0 0 0.5rem 0.8125rem;
|
||||
|
||||
@include app-rtl {
|
||||
padding: 0 0.8125rem 0.5rem 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker-dropdown {
|
||||
left: 0;
|
||||
top: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.input-daterange input {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
// Light style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
.datepicker-dropdown {
|
||||
z-index: light.$zindex-popover !important;
|
||||
box-shadow: light.$card-box-shadow;
|
||||
}
|
||||
|
||||
.datepicker {
|
||||
th {
|
||||
&.prev,
|
||||
&.next {
|
||||
background-color: light.rgba-to-hex(rgba(light.$black, 0.08), light.$card-bg);
|
||||
&::after {
|
||||
border-color: light.$body-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.datepicker-inline {
|
||||
table {
|
||||
box-shadow: light.$box-shadow;
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
thead {
|
||||
background-color: light.$card-bg;
|
||||
tr,
|
||||
td {
|
||||
color: light.$headings-color;
|
||||
}
|
||||
}
|
||||
tr td,
|
||||
tr th {
|
||||
&.new {
|
||||
color: light.$text-muted;
|
||||
}
|
||||
}
|
||||
|
||||
tr td {
|
||||
&.old,
|
||||
&.disabled {
|
||||
color: light.$text-muted;
|
||||
}
|
||||
|
||||
&.cw {
|
||||
background-color: light.$card-bg;
|
||||
color: light.$body-color;
|
||||
}
|
||||
|
||||
&.day:hover,
|
||||
&.focused {
|
||||
background: light.rgba-to-hex(light.$gray-50, light.$card-bg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker table tr td span {
|
||||
border-radius: light.$border-radius;
|
||||
|
||||
&:hover,
|
||||
&.focused {
|
||||
background: light.rgba-to-hex(light.$gray-50, light.$card-bg);
|
||||
}
|
||||
|
||||
&.disabled,
|
||||
&.disabled:hover {
|
||||
color: light.$text-muted;
|
||||
}
|
||||
|
||||
&.old,
|
||||
&.new {
|
||||
color: light.$text-muted;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dark style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
.datepicker-dropdown {
|
||||
z-index: dark.$zindex-popover !important;
|
||||
box-shadow: dark.$card-box-shadow;
|
||||
}
|
||||
|
||||
.datepicker {
|
||||
th {
|
||||
&.prev,
|
||||
&.next {
|
||||
background-color: dark.rgba-to-hex(rgba(dark.$base, 0.08), dark.$card-bg);
|
||||
&::after {
|
||||
border-color: dark.$body-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.datepicker-inline {
|
||||
table {
|
||||
box-shadow: dark.$card-box-shadow;
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
thead {
|
||||
background-color: dark.$card-bg;
|
||||
tr,
|
||||
td {
|
||||
color: dark.$headings-color;
|
||||
}
|
||||
}
|
||||
tr td,
|
||||
tr th {
|
||||
&.new {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
}
|
||||
|
||||
tr td {
|
||||
color: dark.$body-color;
|
||||
|
||||
&.old,
|
||||
&.disabled {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
|
||||
&.cw {
|
||||
background-color: dark.$card-bg;
|
||||
color: dark.$body-color;
|
||||
}
|
||||
|
||||
&.day:hover,
|
||||
&.focused {
|
||||
background: dark.rgba-to-hex(dark.$gray-50, dark.$card-bg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.datepicker table tr td span {
|
||||
border-radius: dark.$border-radius;
|
||||
|
||||
&:hover,
|
||||
&.focused {
|
||||
background: dark.rgba-to-hex(dark.$gray-50, dark.$card-bg);
|
||||
}
|
||||
|
||||
&.disabled,
|
||||
&.disabled:hover {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
|
||||
&.old,
|
||||
&.new {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
81
modules/Admin/Resources/assets/vendor/libs/bootstrap-daterangepicker/_mixins.scss
vendored
Normal file
@ -0,0 +1,81 @@
|
||||
@import '../../scss/_bootstrap-extended/functions';
|
||||
|
||||
@mixin bs-daterangepicker-theme($background, $color: null) {
|
||||
$color: if($color, $color, color-contrast($background));
|
||||
|
||||
$highlighted-bg: rgba-to-hex(rgba($background, 0.16), $card-bg);
|
||||
$highlighted-color: $background;
|
||||
|
||||
.daterangepicker td.active:not(.off) {
|
||||
background: $background !important;
|
||||
color: $white;
|
||||
box-shadow: 0 0.125rem 0.375rem 0 rgba($background, 0.3);
|
||||
}
|
||||
|
||||
.daterangepicker {
|
||||
.start-date:not(.end-date):not(.off),
|
||||
.end-date:not(.start-date):not(.off) {
|
||||
background-color: $background;
|
||||
color: $white;
|
||||
border: 0 !important;
|
||||
|
||||
&:hover {
|
||||
background-color: $background !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker .input-mini.active {
|
||||
border-color: $background !important;
|
||||
}
|
||||
|
||||
.daterangepicker td.in-range:not(.start-date):not(.end-date):not(.off) {
|
||||
color: $highlighted-color !important;
|
||||
background-color: $highlighted-bg !important;
|
||||
}
|
||||
|
||||
.ranges li.active {
|
||||
color: $highlighted-color !important;
|
||||
background-color: $highlighted-bg !important;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin bs-daterangepicker-dark-theme($background, $color: null) {
|
||||
$color: if($color, $color, color-contrast($background));
|
||||
|
||||
$highlighted-bg: rgba-to-hex(rgba($background, 0.16), $card-bg);
|
||||
$highlighted-color: $background;
|
||||
|
||||
.daterangepicker td.active:not(.off) {
|
||||
background: $background !important;
|
||||
color: $white;
|
||||
box-shadow: 0 0.125rem 0.375rem 0 rgba($background, 0.3);
|
||||
}
|
||||
|
||||
.daterangepicker {
|
||||
.start-date:not(.end-date):not(.off),
|
||||
.end-date:not(.start-date):not(.off) {
|
||||
background-color: $background;
|
||||
color: $white;
|
||||
border: 0 !important;
|
||||
|
||||
&:hover {
|
||||
background-color: $background !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker .input-mini.active {
|
||||
border-color: $background !important;
|
||||
}
|
||||
|
||||
.daterangepicker td.in-range:not(.start-date):not(.end-date):not(.off) {
|
||||
color: $highlighted-color !important;
|
||||
background-color: $highlighted-bg !important;
|
||||
}
|
||||
|
||||
.ranges li.active {
|
||||
color: $highlighted-color !important;
|
||||
background-color: $highlighted-bg !important;
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
import 'bootstrap-daterangepicker/daterangepicker';
|
||||
|
||||
// Patch detect when weeks are shown
|
||||
|
||||
const fnDaterangepicker = $.fn.daterangepicker;
|
||||
|
||||
$.fn.daterangepicker = function (options, callback) {
|
||||
fnDaterangepicker.call(this, options, callback);
|
||||
|
||||
if (options && (options.showWeekNumbers || options.showISOWeekNumbers)) {
|
||||
this.each(function () {
|
||||
const instance = $(this).data('daterangepicker');
|
||||
if (instance && instance.container) instance.container.addClass('with-week-numbers');
|
||||
});
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
744
modules/Admin/Resources/assets/vendor/libs/bootstrap-daterangepicker/bootstrap-daterangepicker.scss
vendored
Normal file
@ -0,0 +1,744 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
|
||||
$daterangepicker-arrow-size: 0.45rem !default;
|
||||
$daterangepicker-select-width: 3.125rem !default;
|
||||
$daterangepicker-cell-size: 2.25rem !default;
|
||||
$daterangepicker-padding: 0.8rem !default;
|
||||
|
||||
// Calculate widths
|
||||
$daterangepicker-width: ($daterangepicker-cell-size * 7)+ ($daterangepicker-padding * 2);
|
||||
$daterangepicker-width-with-weeks: $daterangepicker-width + $daterangepicker-cell-size;
|
||||
|
||||
.daterangepicker {
|
||||
position: absolute;
|
||||
max-width: none;
|
||||
padding: 0.875rem 0 0.5rem;
|
||||
display: none;
|
||||
|
||||
tbody {
|
||||
//! FIX: padding or margin top will not work in table
|
||||
&:before {
|
||||
content: '@';
|
||||
display: block;
|
||||
line-height: 6px;
|
||||
text-indent: -99999px;
|
||||
}
|
||||
}
|
||||
|
||||
@include app-rtl {
|
||||
direction: rtl !important;
|
||||
}
|
||||
|
||||
// datepicker header styles
|
||||
table thead tr:first-child {
|
||||
height: 52px !important;
|
||||
position: relative;
|
||||
}
|
||||
.calendar-table td {
|
||||
border-radius: 50rem;
|
||||
}
|
||||
|
||||
// month and year select styles
|
||||
table thead {
|
||||
th,
|
||||
td {
|
||||
select {
|
||||
background-color: transparent;
|
||||
font-weight: light.$font-weight-medium;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// prev arrow styles excluding single daterangepicker
|
||||
.daterangepicker {
|
||||
.drp-calendar:not(.single).left {
|
||||
.prev {
|
||||
@include app-ltr {
|
||||
left: 0.25rem;
|
||||
}
|
||||
@include app-rtl {
|
||||
right: 0.25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// next arrow styles excluding single daterangepicker
|
||||
.drp-calendar:not(.single).right {
|
||||
.next {
|
||||
@include app-ltr {
|
||||
right: 0.25rem;
|
||||
}
|
||||
@include app-rtl {
|
||||
left: 0.25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker.auto-apply .drp-buttons {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.daterangepicker.show-calendar .drp-calendar,
|
||||
.daterangepicker.show-calendar .drp-buttons {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.daterangepicker .drp-calendar {
|
||||
display: none;
|
||||
padding: 0 $daterangepicker-padding $daterangepicker-padding;
|
||||
|
||||
&.single .calendar-table {
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker.single {
|
||||
.drp-selected {
|
||||
display: none;
|
||||
}
|
||||
.daterangepicker .ranges,
|
||||
.drp-calendar {
|
||||
float: none;
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker .calendar-table {
|
||||
border: 0;
|
||||
|
||||
// prev & next arrow default styles
|
||||
.next,
|
||||
.prev {
|
||||
position: absolute;
|
||||
top: 0.65rem;
|
||||
min-width: unset;
|
||||
height: 1.875rem;
|
||||
width: 1.875rem;
|
||||
border-radius: 50rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.next span,
|
||||
.prev span {
|
||||
display: inline-block;
|
||||
border-width: 0 1.9px 1.9px 0;
|
||||
border-style: solid;
|
||||
border-radius: 0;
|
||||
height: $daterangepicker-arrow-size;
|
||||
width: $daterangepicker-arrow-size;
|
||||
}
|
||||
|
||||
.prev span {
|
||||
margin-right: -$daterangepicker-arrow-size * 0.5;
|
||||
transform: rotate(135deg);
|
||||
|
||||
@include app-rtl {
|
||||
margin-left: -$daterangepicker-arrow-size * 0.5;
|
||||
margin-right: 0;
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
}
|
||||
|
||||
.next span {
|
||||
margin-left: -$daterangepicker-arrow-size * 0.5;
|
||||
transform: rotate(-45deg);
|
||||
|
||||
@include app-rtl {
|
||||
margin-left: 0;
|
||||
margin-right: -$daterangepicker-arrow-size * 0.5;
|
||||
transform: rotate(135deg);
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
border: 0;
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
vertical-align: middle;
|
||||
min-width: $daterangepicker-cell-size;
|
||||
line-height: calc(#{$daterangepicker-cell-size} - 2px);
|
||||
white-space: nowrap;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
td {
|
||||
height: $daterangepicker-cell-size;
|
||||
width: $daterangepicker-cell-size;
|
||||
}
|
||||
th {
|
||||
width: $daterangepicker-cell-size;
|
||||
height: $daterangepicker-cell-size + 0.5rem;
|
||||
}
|
||||
tr:first-child th:not(.prev):not(.next) {
|
||||
height: $daterangepicker-cell-size;
|
||||
}
|
||||
// daterangepicker single
|
||||
.daterangepicker .single {
|
||||
// arrow alignments
|
||||
.next {
|
||||
float: right;
|
||||
@include app-ltr {
|
||||
right: 0.625rem;
|
||||
}
|
||||
@include app-rtl {
|
||||
left: 0.625rem;
|
||||
}
|
||||
}
|
||||
.prev {
|
||||
@include app-ltr {
|
||||
right: 3.125rem;
|
||||
}
|
||||
@include app-rtl {
|
||||
left: 3.125rem;
|
||||
}
|
||||
}
|
||||
// month alignments
|
||||
th.month {
|
||||
position: absolute;
|
||||
top: 0.5rem;
|
||||
@include app-ltr {
|
||||
text-align: left;
|
||||
left: 0.562rem;
|
||||
}
|
||||
@include app-rtl {
|
||||
text-align: right;
|
||||
right: 0.562rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker td {
|
||||
@include app-ltr {
|
||||
&.start-date:not(.end-date) {
|
||||
border-bottom-right-radius: 0 !important;
|
||||
border-top-right-radius: 0 !important;
|
||||
}
|
||||
|
||||
&.end-date:not(.start-date) {
|
||||
border-bottom-left-radius: 0 !important;
|
||||
border-top-left-radius: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
&.in-range:not(.start-date):not(.end-date) {
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
|
||||
@include app-rtl {
|
||||
&.start-date:not(.end-date) {
|
||||
border-bottom-left-radius: 0 !important;
|
||||
border-top-left-radius: 0 !important;
|
||||
}
|
||||
|
||||
&.end-date:not(.start-date) {
|
||||
border-bottom-right-radius: 0 !important;
|
||||
border-top-right-radius: 0 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker td.disabled,
|
||||
.daterangepicker option.disabled {
|
||||
cursor: not-allowed;
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.daterangepicker th.month {
|
||||
width: auto;
|
||||
}
|
||||
.daterangepicker select {
|
||||
&.monthselect,
|
||||
&.yearselect {
|
||||
height: auto;
|
||||
padding: 1px;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
cursor: default;
|
||||
}
|
||||
&:focus-visible {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
&.monthselect {
|
||||
width: 46%;
|
||||
margin-right: 2%;
|
||||
|
||||
@include app-rtl {
|
||||
margin-left: 2%;
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.yearselect {
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
&.hourselect,
|
||||
&.minuteselect,
|
||||
&.secondselect,
|
||||
&.ampmselect {
|
||||
outline: 0;
|
||||
width: $daterangepicker-select-width;
|
||||
padding: 2px;
|
||||
margin: 0 auto;
|
||||
border-radius: light.$border-radius-sm;
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker .calendar-time {
|
||||
position: relative;
|
||||
line-height: 30px;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
|
||||
select.disabled {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker .drp-buttons {
|
||||
padding: $daterangepicker-padding $daterangepicker-padding * 1.5;
|
||||
clear: both;
|
||||
display: none;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
|
||||
.btn {
|
||||
margin-left: $daterangepicker-padding * 1.2;
|
||||
}
|
||||
|
||||
@include app-rtl {
|
||||
text-align: left;
|
||||
|
||||
.btn {
|
||||
margin-left: 0;
|
||||
margin-right: $daterangepicker-padding * 1.2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker .drp-selected {
|
||||
width: 100%;
|
||||
padding-bottom: $daterangepicker-padding;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.daterangepicker .ranges {
|
||||
text-align: left;
|
||||
float: none;
|
||||
margin: 0;
|
||||
|
||||
// Daterangepicker Ranges spacing
|
||||
ul {
|
||||
padding: 0.5rem;
|
||||
margin: 0 auto;
|
||||
list-style: none;
|
||||
width: 100%;
|
||||
}
|
||||
li {
|
||||
border-radius: light.$border-radius;
|
||||
padding: light.$dropdown-item-padding-y light.$dropdown-item-padding-x;
|
||||
&:not(:first-child) {
|
||||
margin-top: 0.125rem;
|
||||
}
|
||||
}
|
||||
|
||||
@include app-rtl {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker.show-calendar .ranges {
|
||||
border-bottom: 1px solid;
|
||||
|
||||
&:empty {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker .drp-calendar.right {
|
||||
@include app-ltr {
|
||||
padding-left: 1px;
|
||||
}
|
||||
@include app-rtl {
|
||||
padding-right: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
// Light style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
.daterangepicker {
|
||||
z-index: light.$zindex-popover !important;
|
||||
border: light.$dropdown-border-width solid light.$dropdown-border-color;
|
||||
border-radius: light.$border-radius;
|
||||
width: calc(#{$daterangepicker-width} + calc(#{light.$dropdown-border-width} * 2));
|
||||
box-shadow: light.$card-box-shadow;
|
||||
background-color: light.$dropdown-bg;
|
||||
|
||||
table thead {
|
||||
background: light.$dropdown-bg;
|
||||
th,
|
||||
td {
|
||||
color: light.$headings-color;
|
||||
|
||||
&.prev,
|
||||
&.next {
|
||||
span {
|
||||
border-color: light.$body-color !important;
|
||||
}
|
||||
}
|
||||
|
||||
select {
|
||||
background-color: transparent;
|
||||
color: light.$headings-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.drop-up {
|
||||
margin-top: -(light.$dropdown-spacer);
|
||||
}
|
||||
|
||||
&.with-week-numbers {
|
||||
width: calc(#{$daterangepicker-width-with-weeks} + calc(#{light.$dropdown-border-width} * 2));
|
||||
}
|
||||
}
|
||||
.daterangepicker .calendar-table td {
|
||||
border-radius: light.$border-radius-pill;
|
||||
}
|
||||
|
||||
.daterangepicker .drp-selected {
|
||||
font-size: light.$font-size-sm;
|
||||
}
|
||||
|
||||
.daterangepicker .calendar-table thead tr:last-child th {
|
||||
border-radius: 0 !important;
|
||||
color: light.$headings-color;
|
||||
font-size: light.$font-size-sm;
|
||||
font-weight: light.$font-weight-normal;
|
||||
}
|
||||
|
||||
.daterangepicker th.month {
|
||||
color: light.$headings-color;
|
||||
font-weight: light.$font-weight-normal;
|
||||
}
|
||||
|
||||
.daterangepicker td.week,
|
||||
.daterangepicker th.week {
|
||||
color: light.$headings-color;
|
||||
font-weight: light.$font-weight-normal;
|
||||
}
|
||||
|
||||
.daterangepicker td.disabled,
|
||||
.daterangepicker option.disabled {
|
||||
color: light.$text-muted;
|
||||
}
|
||||
|
||||
.daterangepicker td.available:not(.active):hover,
|
||||
.daterangepicker th.available:hover {
|
||||
background-color: light.$gray-50;
|
||||
}
|
||||
|
||||
.daterangepicker td.off {
|
||||
color: light.$text-muted;
|
||||
}
|
||||
|
||||
.daterangepicker .ranges li {
|
||||
cursor: pointer;
|
||||
padding: light.$dropdown-item-padding-y light.$dropdown-item-padding-x;
|
||||
|
||||
&:hover {
|
||||
background-color: light.$dropdown-link-hover-bg;
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker .calendar-table .next,
|
||||
.daterangepicker .calendar-table .prev {
|
||||
background-color: light.$gray-50;
|
||||
span {
|
||||
border-color: light.$body-color;
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker select {
|
||||
&.hourselect,
|
||||
&.minuteselect,
|
||||
&.secondselect,
|
||||
&.ampmselect {
|
||||
background: light.rgba-to-hex(light.$gray-100, light.$rgba-to-hex-bg);
|
||||
font-size: light.$font-size-sm;
|
||||
color: light.$body-color;
|
||||
border: 1px solid transparent;
|
||||
option {
|
||||
background: light.$card-bg;
|
||||
}
|
||||
}
|
||||
|
||||
// ! FIX: OS Windows and Linux Browsers DD Option color
|
||||
&.monthselect,
|
||||
&.yearselect {
|
||||
option {
|
||||
color: light.$body-color;
|
||||
background: light.$input-bg;
|
||||
&:disabled {
|
||||
color: light.$text-muted;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker .calendar-time select.disabled {
|
||||
color: light.$text-light;
|
||||
}
|
||||
|
||||
@include light.media-breakpoint-up(md) {
|
||||
.daterangepicker {
|
||||
width: auto !important;
|
||||
|
||||
&:not(.single) .drp-selected {
|
||||
width: auto;
|
||||
padding: 0;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
@include app-ltr-style {
|
||||
.daterangepicker:not(.single) .drp-calendar {
|
||||
float: left;
|
||||
|
||||
&.left {
|
||||
padding-right: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include app-rtl-style {
|
||||
.daterangepicker:not(.single) .drp-calendar {
|
||||
float: right;
|
||||
&.left {
|
||||
padding-left: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include light.media-breakpoint-up(lg) {
|
||||
.daterangepicker .ranges {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
@include app-ltr-style {
|
||||
.daterangepicker {
|
||||
.ranges {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include app-rtl-style {
|
||||
.daterangepicker {
|
||||
.ranges {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dark style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
.daterangepicker {
|
||||
box-shadow: dark.$card-box-shadow;
|
||||
width: calc(#{$daterangepicker-width} + calc(#{dark.$dropdown-border-width} * 2));
|
||||
margin-top: dark.$dropdown-spacer;
|
||||
background-color: dark.$dropdown-bg;
|
||||
border: dark.$dropdown-border-width solid dark.$dropdown-border-color;
|
||||
border-radius: dark.$border-radius;
|
||||
z-index: dark.$zindex-popover !important;
|
||||
|
||||
table thead {
|
||||
background: dark.$dropdown-bg;
|
||||
th,
|
||||
td {
|
||||
color: dark.$headings-color;
|
||||
|
||||
&.prev,
|
||||
&.next {
|
||||
span {
|
||||
border-color: dark.$headings-color !important;
|
||||
}
|
||||
}
|
||||
|
||||
select {
|
||||
background-color: transparent;
|
||||
color: dark.$headings-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.with-week-numbers {
|
||||
width: calc(#{$daterangepicker-width-with-weeks} + calc(#{dark.$dropdown-border-width} * 2));
|
||||
}
|
||||
|
||||
&.drop-up {
|
||||
margin-top: -(dark.$dropdown-spacer);
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker .calendar-table td {
|
||||
border-radius: dark.$border-radius-pill;
|
||||
}
|
||||
|
||||
.daterangepicker .drp-selected {
|
||||
font-size: dark.$font-size-sm;
|
||||
}
|
||||
|
||||
.daterangepicker .calendar-table thead tr:last-child th {
|
||||
border-radius: 0 !important;
|
||||
color: dark.$headings-color;
|
||||
font-size: dark.$font-size-sm;
|
||||
font-weight: dark.$font-weight-normal;
|
||||
}
|
||||
|
||||
.daterangepicker th.month {
|
||||
color: dark.$headings-color;
|
||||
font-weight: dark.$font-weight-normal;
|
||||
}
|
||||
|
||||
.daterangepicker td.week,
|
||||
.daterangepicker th.week {
|
||||
color: dark.$headings-color;
|
||||
font-weight: dark.$font-weight-normal;
|
||||
}
|
||||
|
||||
.daterangepicker td.disabled,
|
||||
.daterangepicker option.disabled {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
|
||||
.daterangepicker td.available:not(.active):hover,
|
||||
.daterangepicker th.available:hover {
|
||||
background-color: dark.$gray-50;
|
||||
}
|
||||
|
||||
.daterangepicker td.off {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
|
||||
.daterangepicker .ranges li {
|
||||
cursor: pointer;
|
||||
padding: dark.$dropdown-item-padding-y dark.$dropdown-item-padding-x;
|
||||
|
||||
&:hover {
|
||||
background-color: dark.$dropdown-link-hover-bg;
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker .calendar-table .next,
|
||||
.daterangepicker .calendar-table .prev {
|
||||
background-color: dark.$gray-50;
|
||||
span {
|
||||
border-color: dark.$body-color;
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker select {
|
||||
&.hourselect,
|
||||
&.minuteselect,
|
||||
&.secondselect,
|
||||
&.ampmselect {
|
||||
background: dark.rgba-to-hex(dark.$gray-100, dark.$rgba-to-hex-bg);
|
||||
border: 1px solid transparent;
|
||||
font-size: dark.$font-size-sm;
|
||||
color: dark.$body-color;
|
||||
option {
|
||||
background: dark.$card-bg;
|
||||
}
|
||||
}
|
||||
|
||||
// ! FIX: OS Windows and Linux Browsers DD Option color
|
||||
&.monthselect,
|
||||
&.yearselect {
|
||||
option {
|
||||
color: dark.$body-color;
|
||||
background: dark.$card-bg;
|
||||
&:disabled {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.daterangepicker .calendar-time select.disabled {
|
||||
color: dark.$text-light;
|
||||
}
|
||||
|
||||
@include dark.media-breakpoint-up(md) {
|
||||
.daterangepicker {
|
||||
width: auto !important;
|
||||
|
||||
&:not(.single) .drp-selected {
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@include app-ltr-style {
|
||||
.daterangepicker:not(.single) .drp-calendar {
|
||||
float: left;
|
||||
|
||||
&.left {
|
||||
padding-right: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include app-rtl-style {
|
||||
.daterangepicker:not(.single) .drp-calendar {
|
||||
float: right;
|
||||
|
||||
&.left {
|
||||
padding-left: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include dark.media-breakpoint-up(lg) {
|
||||
.daterangepicker .ranges {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
@include app-ltr-style {
|
||||
.daterangepicker {
|
||||
.ranges {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include app-rtl-style {
|
||||
.daterangepicker {
|
||||
.ranges {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
1
modules/Admin/Resources/assets/vendor/libs/bootstrap-maxlength/bootstrap-maxlength.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import 'bootstrap-maxlength/src/bootstrap-maxlength';
|
46
modules/Admin/Resources/assets/vendor/libs/bootstrap-maxlength/bootstrap-maxlength.scss
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
.bootstrap-maxlength {
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
// light layout
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
.bootstrap-maxlength {
|
||||
background: light.$gray-200;
|
||||
font-size: light.$badge-font-size;
|
||||
font-weight: light.$badge-font-weight;
|
||||
padding: light.$badge-padding-y light.$badge-padding-x;
|
||||
|
||||
@include light.border-bottom-radius(light.$badge-border-radius);
|
||||
|
||||
&.label-danger {
|
||||
color: light.color-contrast(map-get(light.$theme-colors, danger));
|
||||
background: map-get(light.$theme-colors, danger);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// dark layout
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
.bootstrap-maxlength {
|
||||
background: dark.$body-bg;
|
||||
padding: dark.$badge-padding-y dark.$badge-padding-x;
|
||||
font-size: dark.$badge-font-size;
|
||||
font-weight: dark.$badge-font-weight;
|
||||
|
||||
@include light.border-bottom-radius(dark.$badge-border-radius);
|
||||
|
||||
&.label-danger {
|
||||
color: dark.color-contrast(map-get(dark.$theme-colors, danger));
|
||||
background: map-get(dark.$theme-colors, danger);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
16
modules/Admin/Resources/assets/vendor/libs/bootstrap-select/_mixins.scss
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
@import '../../scss/_bootstrap-extended/functions';
|
||||
|
||||
@mixin bs-select-theme($background, $color: null) {
|
||||
$color: if($color, $color, color-contrast($background));
|
||||
|
||||
.bootstrap-select {
|
||||
.dropdown-menu.inner a[aria-selected='true'] {
|
||||
background: $background !important;
|
||||
color: $color !important;
|
||||
}
|
||||
// Fix: To add focus border, .bootstrap-select adding border but not able to update as we can not have the focus on div
|
||||
.dropdown-toggle.show {
|
||||
border-color: $background;
|
||||
}
|
||||
}
|
||||
}
|
1
modules/Admin/Resources/assets/vendor/libs/bootstrap-select/bootstrap-select.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import 'bootstrap-select/js/bootstrap-select';
|
259
modules/Admin/Resources/assets/vendor/libs/bootstrap-select/bootstrap-select.scss
vendored
Normal file
@ -0,0 +1,259 @@
|
||||
// Bootstrap Select
|
||||
// *******************************************************************************
|
||||
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'bootstrap-select/sass/bootstrap-select.scss';
|
||||
|
||||
// Common Styles
|
||||
.bootstrap-select *,
|
||||
.bootstrap-select .dropdown-toggle:focus {
|
||||
outline: 0 !important;
|
||||
}
|
||||
.bootstrap-select {
|
||||
.bs-searchbox,
|
||||
.bs-actionsbox,
|
||||
.bs-donebutton {
|
||||
padding: 0 0 8px;
|
||||
}
|
||||
.dropdown-toggle {
|
||||
transition: none;
|
||||
padding: calc(light.$input-padding-y - light.$input-border-width) light.$input-padding-x;
|
||||
box-shadow: none !important;
|
||||
&.show,
|
||||
&:focus {
|
||||
padding: calc(light.$input-padding-y - light.$input-focus-border-width)
|
||||
calc(light.$input-padding-x - light.$input-border-width);
|
||||
}
|
||||
&:after {
|
||||
transform: rotate(45deg) translateY(-100%);
|
||||
position: absolute;
|
||||
inset-inline-end: 23px;
|
||||
top: 50%;
|
||||
margin: 0 !important;
|
||||
@include app-rtl {
|
||||
inset-inline-end: 12px;
|
||||
}
|
||||
}
|
||||
&:active {
|
||||
transform: none !important;
|
||||
}
|
||||
&.show {
|
||||
&:after {
|
||||
inset-inline-end: calc(23px - light.$input-border-width);
|
||||
@include app-rtl {
|
||||
inset-inline-end: calc(12px - light.$input-border-width);
|
||||
}
|
||||
}
|
||||
}
|
||||
.filter-option-inner-inner {
|
||||
line-height: light.$input-line-height;
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
&:disabled,
|
||||
&.disabled {
|
||||
color: light.$btn-color !important;
|
||||
}
|
||||
}
|
||||
|
||||
// For header dropdown close btn
|
||||
.dropdown-menu .popover-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
button {
|
||||
border: none;
|
||||
font-size: light.$h4-font-size;
|
||||
background: transparent;
|
||||
padding-bottom: 0.125rem;
|
||||
}
|
||||
}
|
||||
.is-invalid {
|
||||
~ .dropdown-toggle {
|
||||
&:after {
|
||||
inset-inline-end: calc(23px - light.$input-border-width);
|
||||
@include app-rtl {
|
||||
inset-inline-end: calc(12px - light.$input-border-width);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.bootstrap-select.dropup {
|
||||
.dropdown-toggle {
|
||||
&:after {
|
||||
transform: rotate(317deg) translateY(-30%);
|
||||
inset-inline-end: 14px;
|
||||
@include app-rtl {
|
||||
inset-inline-end: calc(18px);
|
||||
}
|
||||
}
|
||||
&.show {
|
||||
&:after {
|
||||
inset-inline-end: calc(14px - light.$input-border-width);
|
||||
@include app-rtl {
|
||||
inset-inline-end: calc(18px - light.$input-border-width);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.is-invalid {
|
||||
~ .dropdown-toggle {
|
||||
&:after {
|
||||
inset-inline-end: calc(14px - light.$input-border-width);
|
||||
@include app-rtl {
|
||||
inset-inline-end: calc(18px - light.$input-border-width);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Menu Position
|
||||
.bootstrap-select.show-tick .dropdown-menu {
|
||||
li a {
|
||||
position: relative;
|
||||
}
|
||||
// RTL
|
||||
@include app-rtl {
|
||||
li a span.text {
|
||||
margin-left: 2.125rem;
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.selected span.check-mark {
|
||||
display: block;
|
||||
right: 1rem;
|
||||
top: 50%;
|
||||
margin: 0;
|
||||
transform: translateY(-50%);
|
||||
line-height: 1;
|
||||
|
||||
@include app-rtl {
|
||||
left: 1rem;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// To remove ripple effect
|
||||
.bootstrap-select .dropdown-menu.inner .selected .waves-ripple {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.bootstrap-select:not(.input-group-btn),
|
||||
.bootstrap-select[class*='col-'] {
|
||||
display: block;
|
||||
}
|
||||
|
||||
html[class] .bootstrap-select.form-select {
|
||||
background: none !important;
|
||||
border: 0 !important;
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
// RTL
|
||||
|
||||
@include app-rtl(false) {
|
||||
.bootstrap-select .dropdown-toggle .filter-option {
|
||||
float: right;
|
||||
right: 0;
|
||||
left: auto;
|
||||
text-align: right;
|
||||
padding-left: inherit;
|
||||
padding-right: 0;
|
||||
margin-left: -100%;
|
||||
margin-right: 0;
|
||||
}
|
||||
// Fix: Subtext rtl support
|
||||
.bootstrap-select .filter-option-inner-inner {
|
||||
float: right;
|
||||
}
|
||||
.bootstrap-select .dropdown-menu li small.text-muted,
|
||||
.bootstrap-select .filter-option small.text-muted {
|
||||
position: relative;
|
||||
top: 2px;
|
||||
padding-left: 0;
|
||||
padding-right: 0.5em;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.bootstrap-select .dropdown-toggle .filter-option-inner {
|
||||
padding-left: inherit;
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Light style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
.bootstrap-select {
|
||||
background-color: light.$input-bg;
|
||||
.dropdown-toggle {
|
||||
border-radius: light.$border-radius;
|
||||
border: light.$input-border-width solid light.$input-border-color;
|
||||
&.show,
|
||||
&:focus {
|
||||
border: light.$input-focus-border-width solid light.$primary;
|
||||
}
|
||||
&:not(.show):hover {
|
||||
border-color: light.$input-border-hover-color;
|
||||
}
|
||||
}
|
||||
.dropdown-menu {
|
||||
&[data-popper-placement='top-start'],
|
||||
&[data-popper-placement='top-end'] {
|
||||
box-shadow: 0 -0.2rem 1.25rem rgba(light.rgba-to-hex(light.$gray-500, light.$rgba-to-hex-bg), 0.4);
|
||||
}
|
||||
.notify {
|
||||
background: light.$popover-bg;
|
||||
border: light.$input-border-width solid light.$popover-border-color;
|
||||
}
|
||||
.popover-header button {
|
||||
color: light.$body-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dark Style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
.bootstrap-select {
|
||||
background-color: dark.$input-bg;
|
||||
.dropdown-toggle {
|
||||
color: dark.$input-color;
|
||||
&:hover {
|
||||
color: dark.$input-color;
|
||||
}
|
||||
border: dark.$input-border-width solid dark.$input-border-color;
|
||||
border-radius: dark.$border-radius;
|
||||
&.show,
|
||||
&:focus {
|
||||
border: dark.$input-focus-border-width solid dark.$primary;
|
||||
}
|
||||
&:not(.show):hover {
|
||||
border-color: dark.$input-border-hover-color;
|
||||
}
|
||||
}
|
||||
.dropdown-menu {
|
||||
&[data-popper-placement='top-start'],
|
||||
&[data-popper-placement='top-end'] {
|
||||
box-shadow: 0 -0.2rem 1.25rem rgba(15, 20, 34, 0.55);
|
||||
}
|
||||
.notify {
|
||||
background: dark.$popover-bg;
|
||||
border: dark.$input-border-width solid dark.$popover-border-color;
|
||||
}
|
||||
.popover-header button {
|
||||
color: dark.$body-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
51
modules/Admin/Resources/assets/vendor/libs/bs-stepper/_mixins.scss
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
// Stepper Mixin
|
||||
// *******************************************************************************
|
||||
@mixin bs-stepper-theme($background) {
|
||||
$color: color-contrast($background);
|
||||
.bs-stepper {
|
||||
.step {
|
||||
&.active {
|
||||
.bs-stepper-circle {
|
||||
background-color: $background;
|
||||
color: $color;
|
||||
box-shadow: 0 0.125rem 0.375rem 0 rgba($background, 0.3);
|
||||
}
|
||||
.bs-stepper-icon svg {
|
||||
fill: $background !important;
|
||||
}
|
||||
.bs-stepper-icon i,
|
||||
.bs-stepper-label {
|
||||
color: $background !important;
|
||||
}
|
||||
}
|
||||
&.crossed {
|
||||
.step-trigger {
|
||||
.bs-stepper-circle {
|
||||
background-color: rgba-to-hex(rgba($background, 0.16), $card-bg) !important;
|
||||
color: $background !important;
|
||||
}
|
||||
.bs-stepper-icon svg {
|
||||
fill: $background !important;
|
||||
}
|
||||
.bs-stepper-icon i {
|
||||
color: $background !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&.wizard-icons {
|
||||
.step.crossed {
|
||||
.bs-stepper-label {
|
||||
color: $background !important;
|
||||
}
|
||||
& + {
|
||||
.line {
|
||||
i {
|
||||
color: $background;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
37
modules/Admin/Resources/assets/vendor/libs/bs-stepper/bs-stepper.js
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
import Stepper from 'bs-stepper/dist/js/bs-stepper';
|
||||
|
||||
const bsStepper = document.querySelectorAll('.bs-stepper');
|
||||
|
||||
// Adds crossed class
|
||||
bsStepper.forEach(el => {
|
||||
el.addEventListener('show.bs-stepper', function (event) {
|
||||
var index = event.detail.indexStep;
|
||||
var numberOfSteps = el.querySelectorAll('.line').length;
|
||||
var line = el.querySelectorAll('.step');
|
||||
|
||||
// The first for loop is for increasing the steps,
|
||||
// the second is for turning them off when going back
|
||||
// and the third with the if statement because the last line
|
||||
// can't seem to turn off when I press the first item. ¯\_(ツ)_/¯
|
||||
|
||||
for (let i = 0; i < index; i++) {
|
||||
line[i].classList.add('crossed');
|
||||
|
||||
for (let j = index; j < numberOfSteps; j++) {
|
||||
line[j].classList.remove('crossed');
|
||||
}
|
||||
}
|
||||
if (event.detail.to == 0) {
|
||||
for (let k = index; k < numberOfSteps; k++) {
|
||||
line[k].classList.remove('crossed');
|
||||
}
|
||||
line[0].classList.remove('crossed');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
try {
|
||||
window.Stepper = Stepper;
|
||||
} catch (e) {}
|
||||
|
||||
export { Stepper };
|
549
modules/Admin/Resources/assets/vendor/libs/bs-stepper/bs-stepper.scss
vendored
Normal file
@ -0,0 +1,549 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import 'bs-stepper/dist/css/bs-stepper';
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
|
||||
$bs-stepper-header-padding-y: 1.5rem !default;
|
||||
$bs-stepper-header-padding-x: $bs-stepper-header-padding-y !default;
|
||||
$bs-stepper-content-padding-x: 1.5rem !default;
|
||||
$bs-stepper-content-padding-y: $bs-stepper-content-padding-x !default;
|
||||
$bs-stepper-trigger-padding: 1.25rem !default;
|
||||
$bs-stepper-trigger-padding-vertical: 0.6rem !default;
|
||||
$bs-stepper-label-max-width: 224px !default;
|
||||
$bs-stepper-svg-icon-height: 3.75rem !default;
|
||||
$bs-stepper-svg-icon-width: 3.75rem !default;
|
||||
$bs-stepper-icon-font-size: 1.6rem !default;
|
||||
$bs-stepper-vertical-separator-height: 1.55rem !default;
|
||||
$bs-stepper-vertical-header-min-width: 18rem !default;
|
||||
|
||||
// Default Styles
|
||||
.bs-stepper {
|
||||
border-radius: light.$border-radius;
|
||||
.line {
|
||||
flex: 0;
|
||||
min-width: auto;
|
||||
min-height: auto;
|
||||
background-color: transparent;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.bs-stepper-header {
|
||||
padding: $bs-stepper-header-padding-y $bs-stepper-header-padding-x;
|
||||
|
||||
.step {
|
||||
.step-trigger {
|
||||
padding: 0;
|
||||
flex-wrap: nowrap;
|
||||
gap: 0.5rem;
|
||||
font-weight: light.$font-weight-medium;
|
||||
.bs-stepper-label {
|
||||
margin: 0;
|
||||
max-width: $bs-stepper-label-max-width;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
text-align: start;
|
||||
display: inline-grid;
|
||||
font-weight: light.$font-weight-medium;
|
||||
font-size: light.$font-size-base;
|
||||
line-height: light.$h6-line-height;
|
||||
.bs-stepper-title {
|
||||
font-weight: light.$font-weight-medium;
|
||||
}
|
||||
.bs-stepper-subtitle {
|
||||
font-size: light.$small-font-size;
|
||||
font-weight: light.$font-weight-base;
|
||||
}
|
||||
}
|
||||
&:hover {
|
||||
background-color: transparent;
|
||||
}
|
||||
@include light.media-breakpoint-down(lg) {
|
||||
padding: calc($bs-stepper-trigger-padding * 0.5) 0;
|
||||
}
|
||||
}
|
||||
.bs-stepper-circle {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: light.$border-radius;
|
||||
width: 2.375rem;
|
||||
height: 2.375rem;
|
||||
font-size: light.$h5-font-size;
|
||||
font-weight: light.$font-weight-medium;
|
||||
i {
|
||||
font-size: 1.375rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.bs-stepper-content {
|
||||
padding: $bs-stepper-content-padding-y $bs-stepper-content-padding-x;
|
||||
}
|
||||
|
||||
&.vertical {
|
||||
.bs-stepper-header {
|
||||
min-width: $bs-stepper-vertical-header-min-width;
|
||||
.step {
|
||||
.step-trigger {
|
||||
padding: $bs-stepper-trigger-padding-vertical 0;
|
||||
}
|
||||
&:first-child {
|
||||
.step-trigger {
|
||||
padding-top: 0;
|
||||
}
|
||||
}
|
||||
&:last-child {
|
||||
.step-trigger {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.line {
|
||||
position: relative;
|
||||
min-height: 1px;
|
||||
}
|
||||
}
|
||||
.bs-stepper-content {
|
||||
width: 100%;
|
||||
.content {
|
||||
&:not(.active) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.wizard-icons {
|
||||
.step {
|
||||
text-align: center;
|
||||
padding: 0.75rem 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.wizard-icons {
|
||||
.bs-stepper-header {
|
||||
justify-content: center;
|
||||
.step-trigger {
|
||||
padding: $bs-stepper-trigger-padding;
|
||||
flex-direction: column;
|
||||
gap: 0.5rem;
|
||||
.bs-stepper-icon {
|
||||
svg {
|
||||
height: $bs-stepper-svg-icon-height;
|
||||
width: $bs-stepper-svg-icon-width;
|
||||
}
|
||||
i {
|
||||
font-size: $bs-stepper-icon-font-size;
|
||||
}
|
||||
}
|
||||
}
|
||||
@include light.media-breakpoint-up(lg) {
|
||||
justify-content: space-around;
|
||||
gap: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Remove borders from wizard modern
|
||||
&.wizard-modern {
|
||||
.bs-stepper-header {
|
||||
border-bottom: none !important;
|
||||
}
|
||||
|
||||
.bs-stepper-content {
|
||||
border-radius: light.$border-radius;
|
||||
}
|
||||
|
||||
&.vertical {
|
||||
.bs-stepper-header {
|
||||
border-right: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:not(.vertical):not(.wizard-icons) .bs-stepper-header {
|
||||
@include light.media-breakpoint-up(lg) {
|
||||
gap: 1.25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include app-rtl(false) {
|
||||
.bs-stepper.wizard-icons .bs-stepper-header .step-trigger {
|
||||
@include light.media-breakpoint-down(lg) {
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@include app-ltr(false) {
|
||||
.bs-stepper.wizard-icons .bs-stepper-header .step-trigger {
|
||||
@include light.media-breakpoint-down(lg) {
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Styles for Modal example Create App wizard
|
||||
#wizard-create-app {
|
||||
&.vertical {
|
||||
.bs-stepper-header {
|
||||
min-width: $bs-stepper-vertical-header-min-width - 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Light style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
.bs-stepper {
|
||||
background-color: light.$card-bg;
|
||||
&:not(.wizard-modern) {
|
||||
box-shadow: light.$card-box-shadow;
|
||||
}
|
||||
.bs-stepper-header {
|
||||
border-bottom: 1px solid light.$border-color;
|
||||
|
||||
.line {
|
||||
i {
|
||||
color: light.$body-color;
|
||||
}
|
||||
}
|
||||
|
||||
.bs-stepper-title,
|
||||
.bs-stepper-label {
|
||||
color: light.$headings-color;
|
||||
}
|
||||
|
||||
.bs-stepper-label {
|
||||
.bs-stepper-subtitle {
|
||||
color: light.$body-color;
|
||||
}
|
||||
}
|
||||
|
||||
.step {
|
||||
&:not(.active) {
|
||||
.bs-stepper-circle {
|
||||
background-color: light.$gray-50;
|
||||
color: light.$headings-color;
|
||||
}
|
||||
}
|
||||
&.crossed .step-trigger {
|
||||
.bs-stepper-label .bs-stepper-subtitle,
|
||||
.bs-stepper-title {
|
||||
color: light.$text-muted;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.step-trigger:focus {
|
||||
color: light.$headings-color;
|
||||
}
|
||||
|
||||
&.vertical {
|
||||
.bs-stepper-header {
|
||||
border-bottom: none;
|
||||
@include light.media-breakpoint-down(lg) {
|
||||
border-right: none !important;
|
||||
border-left: none !important;
|
||||
border-bottom: 1px solid light.$border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.wizard-modern {
|
||||
background-color: transparent;
|
||||
.bs-stepper-content {
|
||||
background-color: light.$card-bg;
|
||||
box-shadow: light.$card-box-shadow;
|
||||
}
|
||||
}
|
||||
|
||||
&.wizard-icons {
|
||||
.bs-stepper-header {
|
||||
.bs-stepper-icon {
|
||||
svg {
|
||||
fill: light.$headings-color;
|
||||
}
|
||||
i {
|
||||
fill: light.$headings-color;
|
||||
}
|
||||
}
|
||||
.bs-stepper-label {
|
||||
color: light.$headings-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ! FIX: Vertical border issue in rtl and ltr
|
||||
@include app-rtl(false) {
|
||||
.light-style {
|
||||
.bs-stepper {
|
||||
&.vertical {
|
||||
.bs-stepper-header {
|
||||
border-left: 1px solid light.$border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@include app-ltr(false) {
|
||||
.light-style {
|
||||
.bs-stepper {
|
||||
&.vertical {
|
||||
.bs-stepper-header {
|
||||
border-right: 1px solid light.$border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dark Style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
.bs-stepper {
|
||||
background-color: dark.$card-bg;
|
||||
.bs-stepper-header {
|
||||
border-bottom: 1px solid dark.$border-color;
|
||||
.line {
|
||||
i {
|
||||
color: dark.$body-color;
|
||||
}
|
||||
}
|
||||
|
||||
.bs-stepper-label,
|
||||
.bs-stepper-title {
|
||||
color: dark.$headings-color;
|
||||
}
|
||||
|
||||
.bs-stepper-label {
|
||||
.bs-stepper-subtitle {
|
||||
color: dark.$body-color;
|
||||
}
|
||||
}
|
||||
|
||||
.step {
|
||||
&:not(.active) {
|
||||
.bs-stepper-circle {
|
||||
background-color: dark.$gray-50;
|
||||
color: dark.$headings-color;
|
||||
}
|
||||
}
|
||||
&.crossed .step-trigger {
|
||||
.bs-stepper-label .bs-stepper-subtitle,
|
||||
.bs-stepper-title {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.step-trigger:focus {
|
||||
color: dark.$headings-color;
|
||||
}
|
||||
|
||||
&.vertical {
|
||||
.bs-stepper-header {
|
||||
border-bottom: none;
|
||||
@include light.media-breakpoint-down(lg) {
|
||||
border-right: none !important;
|
||||
border-left: none !important;
|
||||
border-bottom: 1px solid dark.$border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.wizard-modern {
|
||||
background-color: transparent;
|
||||
.bs-stepper-content {
|
||||
background-color: dark.$card-bg;
|
||||
box-shadow: dark.$card-box-shadow;
|
||||
}
|
||||
}
|
||||
|
||||
&.wizard-icons {
|
||||
.bs-stepper-header {
|
||||
.bs-stepper-icon {
|
||||
i {
|
||||
color: dark.$headings-color;
|
||||
}
|
||||
|
||||
svg {
|
||||
fill: dark.$headings-color;
|
||||
}
|
||||
}
|
||||
.bs-stepper-label {
|
||||
color: dark.$headings-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ! FIX: Vertical border issue in rtl and ltr
|
||||
@include app-rtl(false) {
|
||||
.dark-style {
|
||||
.bs-stepper {
|
||||
&.vertical {
|
||||
.bs-stepper-header {
|
||||
border-left: 1px solid dark.$border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@include app-ltr(false) {
|
||||
.dark-style {
|
||||
.bs-stepper {
|
||||
&.vertical {
|
||||
.bs-stepper-header {
|
||||
border-right: 1px solid dark.$border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// RTL
|
||||
@include app-rtl(false) {
|
||||
.bs-stepper {
|
||||
.bs-stepper-content {
|
||||
.btn-next:not(.btn-submit),
|
||||
.btn-prev {
|
||||
i {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.vertical {
|
||||
&.wizard-icons {
|
||||
.bs-stepper-header {
|
||||
.line:before {
|
||||
right: 50%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Remove borders from wizard modern
|
||||
&.wizard-modern {
|
||||
&.vertical {
|
||||
.bs-stepper-header {
|
||||
border-left: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include light.media-breakpoint-up(lg) {
|
||||
.bs-stepper-header {
|
||||
.line {
|
||||
i {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include light.media-breakpoint-down(lg) {
|
||||
.bs-stepper-header {
|
||||
.step {
|
||||
.step-trigger {
|
||||
.bs-stepper-label {
|
||||
margin-left: 0;
|
||||
margin-right: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&.wizard-icons {
|
||||
.bs-stepper-header {
|
||||
.line {
|
||||
&:before {
|
||||
margin-right: 0.75rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Media Queries
|
||||
@include light.media-breakpoint-down(lg) {
|
||||
.bs-stepper {
|
||||
.bs-stepper-header {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
.step {
|
||||
.step-trigger {
|
||||
flex-direction: row;
|
||||
.bs-stepper-label {
|
||||
margin-left: 0.35rem;
|
||||
}
|
||||
}
|
||||
&:first-child {
|
||||
.step-trigger {
|
||||
padding-top: 0;
|
||||
}
|
||||
}
|
||||
&:last-child {
|
||||
.step-trigger {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&.vertical {
|
||||
flex-direction: column;
|
||||
.bs-stepper-header {
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
&.wizard-icons {
|
||||
.bs-stepper-header {
|
||||
.line:before {
|
||||
left: 0.75rem;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&:not(.vertical) {
|
||||
.bs-stepper-header {
|
||||
.line {
|
||||
i {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&.wizard-icons {
|
||||
.bs-stepper-header .step:not(:first-child) {
|
||||
.bs-stepper-icon {
|
||||
svg {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 520px) {
|
||||
.bs-stepper-header {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Styles for Create App Modal Wizard
|
||||
#wizard-create-app {
|
||||
&.vertical {
|
||||
.bs-stepper-header {
|
||||
min-width: $bs-stepper-vertical-header-min-width - 3;
|
||||
}
|
||||
}
|
||||
}
|
7
modules/Admin/Resources/assets/vendor/libs/chartjs/chartjs.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import Chart from 'chart.js/auto';
|
||||
|
||||
try {
|
||||
window.Chart = Chart;
|
||||
} catch (e) {}
|
||||
|
||||
export { Chart };
|
1
modules/Admin/Resources/assets/vendor/libs/cleavejs/cleave-phone.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import 'cleave.js/dist/addons/cleave-phone.us';
|
1
modules/Admin/Resources/assets/vendor/libs/cleavejs/cleave.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import 'cleave.js/dist/cleave';
|
7
modules/Admin/Resources/assets/vendor/libs/clipboard/clipboard.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import ClipboardJS from 'clipboard';
|
||||
|
||||
try {
|
||||
window.ClipboardJS = ClipboardJS;
|
||||
} catch (e) {}
|
||||
|
||||
export { ClipboardJS };
|
30
modules/Admin/Resources/assets/vendor/libs/datatables-bs5/datatables-bootstrap5.js
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
import JSZip from 'jszip';
|
||||
import pdfMake from 'pdfmake';
|
||||
import 'pdfmake/build/vfs_fonts';
|
||||
import 'datatables.net-bs5';
|
||||
import 'datatables.net-fixedcolumns-bs5';
|
||||
import 'datatables.net-fixedheader-bs5';
|
||||
import 'datatables.net-select-bs5';
|
||||
import 'datatables.net-buttons';
|
||||
import 'datatables.net-buttons-bs5';
|
||||
import 'datatables.net-buttons/js/buttons.html5';
|
||||
import 'datatables.net-buttons/js/buttons.print';
|
||||
import 'datatables.net-responsive';
|
||||
import 'datatables.net-responsive-bs5';
|
||||
import 'datatables.net-rowgroup-bs5';
|
||||
import Checkbox from 'jquery-datatables-checkboxes';
|
||||
import { datatable_spanish_default } from '../datatables-lang/datatable-lang-es';
|
||||
|
||||
// This solution related to font issues with pdfMake
|
||||
pdfMake.fonts = {
|
||||
Roboto: {
|
||||
normal: 'https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.66/fonts/Roboto/Roboto-Regular.ttf',
|
||||
bold: 'https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.66/fonts/Roboto/Roboto-Medium.ttf',
|
||||
italics: 'https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.66/fonts/Roboto/Roboto-Italic.ttf',
|
||||
bolditalics: 'https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.66/fonts/Roboto/Roboto-MediumItalic.ttf'
|
||||
}
|
||||
};
|
||||
$.fn.dataTable.ext.Checkbox = Checkbox(window, $);
|
||||
$.fn.dataTable.ext.buttons.pdfMake = pdfMake;
|
||||
$.fn.dataTable.ext.datatable_spanish_default = datatable_spanish_default;
|
||||
window.JSZip = JSZip;
|
394
modules/Admin/Resources/assets/vendor/libs/datatables-bs5/datatables.bootstrap5.scss
vendored
Normal file
@ -0,0 +1,394 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'datatables.net-bs5/css/dataTables.bootstrap5';
|
||||
|
||||
// Margin between select, input field and text
|
||||
div.dataTables_wrapper div.dataTables_length select {
|
||||
margin-left: 0.5rem;
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_filter input {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
.dataTable .emp_name {
|
||||
font-weight: light.$font-weight-medium;
|
||||
}
|
||||
|
||||
// Shadow none for action buttons
|
||||
.dataTable td .btn {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
// Card header inside the datatable
|
||||
div.dataTables_wrapper .card-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_info {
|
||||
padding-top: light.$spacer * 0.5;
|
||||
}
|
||||
|
||||
table.table-bordered.dataTable {
|
||||
// For complex header and column search datatable
|
||||
&.dt-complex-header,
|
||||
&.dt-column-search {
|
||||
thead tr th {
|
||||
border-width: 1px;
|
||||
}
|
||||
tfoot tr th {
|
||||
border-width: 1px;
|
||||
}
|
||||
}
|
||||
& tfoot tr th {
|
||||
border-bottom-width: 1px;
|
||||
}
|
||||
& > :not(caption) > * {
|
||||
& > * {
|
||||
border-width: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Remove left and right border from datatable with table-bordered class
|
||||
table.table-bordered.dataTable {
|
||||
tr:first-child th,
|
||||
td {
|
||||
&:first-child {
|
||||
@include app-ltr() {
|
||||
border-left-width: 0;
|
||||
}
|
||||
@include app-rtl() {
|
||||
border-right-width: 0;
|
||||
}
|
||||
}
|
||||
&:last-child {
|
||||
@include app-ltr() {
|
||||
border-right-width: 0;
|
||||
}
|
||||
@include app-rtl() {
|
||||
border-left-width: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
> tbody:not(caption) tr:first-child {
|
||||
border-top-width: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Responsive datatable in desktop screen
|
||||
@media screen and (min-width: 1399.98px) {
|
||||
table.table-responsive {
|
||||
display: table;
|
||||
}
|
||||
}
|
||||
|
||||
// RTL style
|
||||
@include app-rtl(false) {
|
||||
div.dataTables_wrapper .dataTables_filter {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
input {
|
||||
margin-left: 0;
|
||||
margin-right: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
table.table-bordered.dataTable th,
|
||||
table.table-bordered.dataTable td {
|
||||
border-right-width: 0;
|
||||
border-left-width: 1px;
|
||||
|
||||
&:last-child {
|
||||
border-left-width: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
table.dataTable {
|
||||
width: 100% !important;
|
||||
border-collapse: collapse !important;
|
||||
margin-bottom: light.$spacer !important;
|
||||
margin-top: 0 !important;
|
||||
thead th {
|
||||
&.sorting_disabled {
|
||||
&::before,
|
||||
&::after {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
&.sorting {
|
||||
&:before,
|
||||
&:after {
|
||||
visibility: hidden;
|
||||
}
|
||||
&:hover {
|
||||
&:before,
|
||||
&:after {
|
||||
visibility: visible;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@include app-rtl {
|
||||
&.table-sm > thead > tr > th {
|
||||
padding-left: 1.25rem;
|
||||
}
|
||||
|
||||
&.table-sm .sorting:before,
|
||||
&.table-sm .sorting_asc:before,
|
||||
&.table-sm .sorting_desc:before {
|
||||
right: auto !important;
|
||||
left: 0.85em !important;
|
||||
}
|
||||
thead th,
|
||||
thead td,
|
||||
tfoot th,
|
||||
tfoot td {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
// Checkbox height & width for datatables checkboxes
|
||||
.form-check-input {
|
||||
width: light.$form-datatables-check-input-size;
|
||||
height: light.$form-datatables-check-input-size;
|
||||
}
|
||||
}
|
||||
|
||||
// to add spacing between table and datatable footer elements like pagination & info
|
||||
.dataTables_scroll {
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
|
||||
// Used while complex headers
|
||||
table.dataTable thead th {
|
||||
vertical-align: middle;
|
||||
}
|
||||
table.dataTable thead .sorting,
|
||||
table.dataTable thead .sorting_asc,
|
||||
table.dataTable thead .sorting_desc,
|
||||
table.dataTable thead .sorting_asc_disabled,
|
||||
table.dataTable thead .sorting_desc_disabled {
|
||||
&::before,
|
||||
&::after {
|
||||
line-height: 1.25rem !important;
|
||||
font-family: tabler-icons !important;
|
||||
font-size: 1rem !important;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
right: 0.78rem !important;
|
||||
}
|
||||
&::before {
|
||||
content: '\ea62' !important;
|
||||
top: 0.58rem !important;
|
||||
}
|
||||
&::after {
|
||||
bottom: 0.72rem !important;
|
||||
content: '\ea5f' !important;
|
||||
}
|
||||
@include app-rtl {
|
||||
&::before {
|
||||
right: auto !important;
|
||||
left: 0.58em !important;
|
||||
}
|
||||
|
||||
&::after {
|
||||
right: auto !important;
|
||||
left: 0.58em !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DataTable within card
|
||||
div.card-datatable.dataTable,
|
||||
div.card-datatable .dataTable {
|
||||
border-right: 0;
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
// Card header inside the datatable
|
||||
@media screen and (max-width: 575.98px) {
|
||||
div.dataTables_wrapper .card-header {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.dtr-bs-modal.modal {
|
||||
// padding-left: 0.75rem;
|
||||
.modal-body {
|
||||
padding: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
.dataTable_select div.dataTables_wrapper div.dataTables_info {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767.98px) {
|
||||
div.dataTables_wrapper div.dataTables_info {
|
||||
padding-bottom: light.$table-cell-padding-y;
|
||||
}
|
||||
}
|
||||
|
||||
div.dataTables_wrapper {
|
||||
div.dataTables_length,
|
||||
.dataTables_filter {
|
||||
margin-top: light.$spacer * 1.5;
|
||||
margin-bottom: light.$spacer * 1.5;
|
||||
}
|
||||
}
|
||||
|
||||
// common style for light / dark
|
||||
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination {
|
||||
.page-item {
|
||||
&,
|
||||
&.next,
|
||||
&.previous,
|
||||
&.first,
|
||||
&.last {
|
||||
.page-link {
|
||||
border-radius: light.$border-radius;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination .page-link {
|
||||
div:not(.table-responsive) div.dataTables_wrapper .dataTables_paginate {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@include light.media-breakpoint-down(md) {
|
||||
div.dataTables_wrapper div.dataTables_length label,
|
||||
div.dataTables_wrapper div.dataTables_filter label,
|
||||
div.dataTables_wrapper div.dataTables_info,
|
||||
div.dataTables_wrapper div.dataTables_paginate {
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
@include light.media-breakpoint-down(sm) {
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination {
|
||||
justify-content: start !important;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
}
|
||||
|
||||
// DataTable within card
|
||||
div.card-datatable {
|
||||
padding-bottom: light.$card-spacer-x-sm; // Check this in site and update if needed
|
||||
|
||||
[class*='col-md-'] {
|
||||
padding-right: light.$table-cell-padding-x !important;
|
||||
padding-left: light.$table-cell-padding-x !important;
|
||||
}
|
||||
// length, filter & info, pagination row margin
|
||||
&:not(.table-responsive) .dataTables_wrapper .row {
|
||||
&:first-child,
|
||||
&:last-child {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// LTR style
|
||||
@include app-ltr(false) {
|
||||
div.card-datatable table.dataTable thead th,
|
||||
div.card-datatable table.dataTable tfoot th {
|
||||
&:first-child {
|
||||
padding-left: light.$card-spacer-x;
|
||||
padding-right: light.$card-spacer-x;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding-right: light.$card-spacer-x-sm;
|
||||
}
|
||||
}
|
||||
div.card-datatable table.dataTable tbody td {
|
||||
&:first-child {
|
||||
padding-left: light.$card-spacer-x;
|
||||
padding-right: light.$card-spacer-x;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// RTL Style
|
||||
@include app-rtl(false) {
|
||||
table.dataTable.table-sm > thead > tr > th {
|
||||
padding-right: light.$table-cell-padding-x-sm;
|
||||
}
|
||||
table.table-bordered.dataTable tr {
|
||||
td,
|
||||
th,
|
||||
th:first-child {
|
||||
border-left-width: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
table.dataTable {
|
||||
thead th,
|
||||
tbody td,
|
||||
tfoot th {
|
||||
padding-right: light.$table-cell-padding-x;
|
||||
}
|
||||
|
||||
&.table-sm thead th,
|
||||
&.table-sm tbody td,
|
||||
&.table-sm tfoot th {
|
||||
padding-right: light.$table-cell-padding-x-sm;
|
||||
}
|
||||
}
|
||||
|
||||
div.card-datatable table.dataTable {
|
||||
thead th,
|
||||
tbody td,
|
||||
tfoot th {
|
||||
&:first-child {
|
||||
padding-right: light.$card-spacer-x;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding-left: light.$card-spacer-x;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Light style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
div.dataTables_wrapper div.dataTables_info {
|
||||
color: light.$text-muted;
|
||||
}
|
||||
|
||||
div.dataTables_scrollBody table {
|
||||
border-top-color: light.$table-border-color;
|
||||
}
|
||||
|
||||
table.dataTable th,
|
||||
table.dataTable td {
|
||||
border-color: light.$table-border-color !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dark Style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
div.dataTables_wrapper div.dataTables_info {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
|
||||
div.dataTables_scrollBody table {
|
||||
border-top-color: dark.$table-border-color;
|
||||
}
|
||||
|
||||
table.dataTable th,
|
||||
table.dataTable td {
|
||||
border-color: dark.$table-border-color !important;
|
||||
}
|
||||
}
|
||||
}
|
101
modules/Admin/Resources/assets/vendor/libs/datatables-buttons-bs5/buttons.bootstrap5.scss
vendored
Normal file
@ -0,0 +1,101 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'datatables.net-buttons-bs5/css/buttons.bootstrap5';
|
||||
|
||||
// remove 0.5em margin bottom from dt-buttons
|
||||
@media screen and (max-width: 767px) {
|
||||
div.dt-buttons {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
div.dataTables_wrapper .dt-button-collection {
|
||||
border: 0;
|
||||
border-radius: light.$dropdown-border-radius;
|
||||
padding: light.$dropdown-padding-y light.$dropdown-padding-x;
|
||||
width: auto;
|
||||
> div[role='menu'] {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
// avoid dropdown to overlap the trigger button
|
||||
.dt-button-collection {
|
||||
margin-top: 0.2rem;
|
||||
}
|
||||
div.dropdown-menu.dt-button-collection,
|
||||
div.dt-button-collection .dt-button:not(.dt-btn-split-drop) {
|
||||
min-width: 8rem;
|
||||
}
|
||||
|
||||
.dt-down-arrow {
|
||||
display: none;
|
||||
}
|
||||
|
||||
// override button radius
|
||||
div.dt-button-collection .dt-button,
|
||||
div.dt-buttons div.dropdown-menu .dt-button {
|
||||
border-radius: light.$dropdown-border-radius;
|
||||
}
|
||||
// Light style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
div.dataTables_wrapper .dt-button-collection {
|
||||
background-color: light.$dropdown-bg;
|
||||
}
|
||||
.dataTable a:not([href]):not([tabindex]) {
|
||||
color: map-get(light.$theme-colors, success);
|
||||
}
|
||||
.dt-button-info {
|
||||
box-shadow: light.$floating-component-shadow;
|
||||
}
|
||||
.dt-button-collection {
|
||||
.dropdown-item {
|
||||
padding: light.$dropdown-item-padding-y light.$dropdown-item-padding-x;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dark style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
div.dataTables_wrapper .dt-button-collection {
|
||||
background-color: dark.$dropdown-bg;
|
||||
}
|
||||
.dataTable a:not([href]):not([tabindex]) {
|
||||
color: map-get(dark.$theme-colors, success);
|
||||
}
|
||||
.dt-button-info {
|
||||
box-shadow: dark.$floating-component-shadow;
|
||||
}
|
||||
.dt-button-collection {
|
||||
.dropdown-item {
|
||||
padding: dark.$dropdown-item-padding-y dark.$dropdown-item-padding-x;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.dt-button-info {
|
||||
border-width: 0 !important;
|
||||
border-radius: light.$border-radius !important;
|
||||
h2 {
|
||||
font-size: light.$h4-font-size !important;
|
||||
}
|
||||
}
|
||||
.dt-buttons {
|
||||
position: relative;
|
||||
.dt-button-collection .dropdown-item {
|
||||
@include app-rtl {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
&.btn-group {
|
||||
button {
|
||||
border-color: transparent !important;
|
||||
border-radius: light.$border-radius !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
div.dt-buttons .dropdown-menu .dt-button {
|
||||
border-radius: light.$border-radius;
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'jquery-datatables-checkboxes/css/dataTables.checkboxes';
|
133
modules/Admin/Resources/assets/vendor/libs/datatables-fixedcolumns-bs5/fixedcolumns.bootstrap5.scss
vendored
Normal file
@ -0,0 +1,133 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'datatables.net-fixedcolumns-bs5/css/fixedColumns.bootstrap5';
|
||||
|
||||
// Fixed column style
|
||||
div.dataTables_scrollBody thead tr,
|
||||
div.DTFC_LeftBodyLiner thead tr {
|
||||
border-top-width: 0;
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
div.dataTables_scrollBody {
|
||||
border: 0 !important;
|
||||
}
|
||||
@include app-ltr(false) {
|
||||
div.dataTables_scrollFootInner table.table-bordered tr th:first-child,
|
||||
div.dataTables_scrollHeadInner table.table-bordered tr th:first-child {
|
||||
border-left: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
@include app-rtl(false) {
|
||||
table.dataTable thead th,
|
||||
table.dataTable thead td,
|
||||
table.dataTable tfoot th,
|
||||
table.dataTable tfoot td {
|
||||
text-align: right !important;
|
||||
}
|
||||
}
|
||||
|
||||
// Light style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
table.DTFC_Cloned tr {
|
||||
border-color: light.$table-border-color;
|
||||
}
|
||||
// fixed header and footer border
|
||||
div.dataTables_scrollFootInner table.table-bordered tr th:first-child,
|
||||
div.dataTables_scrollHeadInner table.table-bordered tr th:first-child {
|
||||
border-left: 1px solid light.$table-border-color;
|
||||
}
|
||||
// fixed column background color
|
||||
table.dataTable thead tr > .dtfc-fixed-left,
|
||||
table.dataTable thead tr > .dtfc-fixed-right,
|
||||
table.dataTable tbody tr > .dtfc-fixed-left,
|
||||
table.dataTable tbody tr > .dtfc-fixed-right,
|
||||
div.dtfc-right-top-blocker,
|
||||
div.dtfc-left-top-blocker {
|
||||
background-color: light.$card-bg;
|
||||
margin-top: 1px !important;
|
||||
height: 0px !important;
|
||||
}
|
||||
// To override BS5 css
|
||||
.dt-fixedcolumns thead {
|
||||
border-top-color: light.$table-border-color;
|
||||
}
|
||||
&[dir='rtl'] {
|
||||
div.dataTables_scrollHead,
|
||||
div.dataTables_scrollBody {
|
||||
table {
|
||||
border-width: 0;
|
||||
}
|
||||
}
|
||||
div.DTFC_LeftBodyLiner {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
div.DTFC_RightHeadWrapper,
|
||||
div.DTFC_RightBodyWrapper {
|
||||
table {
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
div.DTFC_RightBodyLiner {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Dark style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
table.DTFC_Cloned tr {
|
||||
background-color: dark.$card-bg;
|
||||
border-color: dark.$table-border-color;
|
||||
}
|
||||
div.dataTables_scrollHead table,
|
||||
div.DTFC_RightHeadWrapper table,
|
||||
table.dataTable.fixedHeader-floating,
|
||||
table.dataTable.fixedHeader-locked {
|
||||
background-color: dark.$card-bg;
|
||||
}
|
||||
// fixed header and footer border
|
||||
div.dataTables_scrollFootInner table.table-bordered tr th:first-child,
|
||||
div.dataTables_scrollHeadInner table.table-bordered tr th:first-child {
|
||||
border-left: 1px solid dark.$table-border-color !important;
|
||||
}
|
||||
// fixed column background color
|
||||
table.dataTable thead tr > .dtfc-fixed-left,
|
||||
table.dataTable thead tr > .dtfc-fixed-right,
|
||||
table.dataTable tbody tr > .dtfc-fixed-left,
|
||||
table.dataTable tbody tr > .dtfc-fixed-right,
|
||||
div.dtfc-right-top-blocker,
|
||||
div.dtfc-left-top-blocker {
|
||||
background-color: dark.$card-bg;
|
||||
margin-top: 1px !important;
|
||||
height: 0px !important;
|
||||
}
|
||||
// To override BS5 css
|
||||
.dt-fixedcolumns thead {
|
||||
border-top-color: dark.$table-border-color;
|
||||
}
|
||||
&[dir='rtl'] {
|
||||
div.dataTables_scrollHead,
|
||||
div.dataTables_scrollBody {
|
||||
table {
|
||||
border-width: 0;
|
||||
}
|
||||
}
|
||||
div.DTFC_LeftBodyLiner {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
div.DTFC_RightHeadWrapper,
|
||||
div.DTFC_RightBodyWrapper {
|
||||
table {
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
div.DTFC_RightBodyLiner {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'datatables.net-fixedheader-bs5/css/fixedHeader.bootstrap5';
|
||||
|
||||
// Fixed header Style
|
||||
.dt-fixedheader.fixedHeader-floating.table.dataTable {
|
||||
width: auto !important;
|
||||
}
|
||||
.dt-fixedheader.fixedHeader-locked.table.dataTable {
|
||||
display: none;
|
||||
}
|
||||
|
||||
// Last style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
.dtfh-floatingparenthead {
|
||||
border-bottom: 1px solid light.$table-border-color;
|
||||
}
|
||||
.table-bordered.dt-fixedheader.fixedHeader-floating.table.dataTable thead > tr > th,
|
||||
.table-bordered.dt-fixedheader.fixedHeader-locked.table.dataTable thead > tr > th {
|
||||
border-bottom-width: 1px;
|
||||
border-color: light.$table-border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dark style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
.dtfh-floatingparenthead {
|
||||
border-bottom: 1px solid dark.$table-border-color;
|
||||
}
|
||||
.table-bordered.dt-fixedheader.fixedHeader-floating.table.dataTable thead > tr > th,
|
||||
.table-bordered.dt-fixedheader.fixedHeader-locked.table.dataTable thead > tr > th {
|
||||
border-bottom-width: 1px;
|
||||
border-color: dark.$table-border-color;
|
||||
}
|
||||
}
|
||||
}
|
195
modules/Admin/Resources/assets/vendor/libs/datatables-lang/datatable-lang-es.js
vendored
Normal file
@ -0,0 +1,195 @@
|
||||
export const datatable_spanish_default = {
|
||||
processing: 'Procesando...',
|
||||
lengthMenu: 'Mostrar _MENU_ registros',
|
||||
zeroRecords: 'No se encontraron resultados',
|
||||
emptyTable: 'Ningún dato disponible en esta tabla',
|
||||
infoEmpty: 'Mostrando registros del 0 al 0 de un total de 0 registros',
|
||||
infoFiltered: '(filtrado de un total de _MAX_ registros)',
|
||||
search: 'Buscar:',
|
||||
infoThousands: ',',
|
||||
loadingRecords: 'Cargando...',
|
||||
paginate: {
|
||||
first: 'Primero',
|
||||
last: 'Último',
|
||||
next: 'Siguiente',
|
||||
previous: 'Anterior'
|
||||
},
|
||||
aria: {
|
||||
sortAscending: ': Activar para ordenar la columna de manera ascendente',
|
||||
sortDescending: ': Activar para ordenar la columna de manera descendente'
|
||||
},
|
||||
buttons: {
|
||||
copy: 'Copiar',
|
||||
colvis: 'Visibilidad',
|
||||
collection: 'Colección',
|
||||
colvisRestore: 'Restaurar visibilidad',
|
||||
copyKeys:
|
||||
'Presione ctrl o u2318 + C para copiar los datos de la tabla al portapapeles del sistema. <br /> <br /> Para cancelar, haga clic en este mensaje o presione escape.',
|
||||
copySuccess: {
|
||||
1: 'Copiada 1 fila al portapapeles',
|
||||
_: 'Copiadas %d fila al portapapeles'
|
||||
},
|
||||
copyTitle: 'Copiar al portapapeles',
|
||||
csv: 'CSV',
|
||||
excel: 'Excel',
|
||||
pageLength: {
|
||||
'-1': 'Mostrar todas las filas',
|
||||
_: 'Mostrar %d filas'
|
||||
},
|
||||
pdf: 'PDF',
|
||||
print: 'Imprimir'
|
||||
},
|
||||
autoFill: {
|
||||
cancel: 'Cancelar',
|
||||
fill: 'Rellene todas las celdas con <i>%d</i>',
|
||||
fillHorizontal: 'Rellenar celdas horizontalmente',
|
||||
fillVertical: 'Rellenar celdas verticalmentemente'
|
||||
},
|
||||
decimal: ',',
|
||||
searchBuilder: {
|
||||
add: 'Añadir condición',
|
||||
button: {
|
||||
0: 'Constructor de búsqueda',
|
||||
_: 'Constructor de búsqueda (%d)'
|
||||
},
|
||||
clearAll: 'Borrar todo',
|
||||
condition: 'Condición',
|
||||
conditions: {
|
||||
date: {
|
||||
after: 'Despues',
|
||||
before: 'Antes',
|
||||
between: 'Entre',
|
||||
empty: 'Vacío',
|
||||
equals: 'Igual a',
|
||||
notBetween: 'No entre',
|
||||
notEmpty: 'No Vacio',
|
||||
not: 'Diferente de'
|
||||
},
|
||||
number: {
|
||||
between: 'Entre',
|
||||
empty: 'Vacio',
|
||||
equals: 'Igual a',
|
||||
gt: 'Mayor a',
|
||||
gte: 'Mayor o igual a',
|
||||
lt: 'Menor que',
|
||||
lte: 'Menor o igual que',
|
||||
notBetween: 'No entre',
|
||||
notEmpty: 'No vacío',
|
||||
not: 'Diferente de'
|
||||
},
|
||||
string: {
|
||||
contains: 'Contiene',
|
||||
empty: 'Vacío',
|
||||
endsWith: 'Termina en',
|
||||
equals: 'Igual a',
|
||||
notEmpty: 'No Vacio',
|
||||
startsWith: 'Empieza con',
|
||||
not: 'Diferente de'
|
||||
},
|
||||
array: {
|
||||
not: 'Diferente de',
|
||||
equals: 'Igual',
|
||||
empty: 'Vacío',
|
||||
contains: 'Contiene',
|
||||
notEmpty: 'No Vacío',
|
||||
without: 'Sin'
|
||||
}
|
||||
},
|
||||
data: 'Data',
|
||||
deleteTitle: 'Eliminar regla de filtrado',
|
||||
leftTitle: 'Criterios anulados',
|
||||
logicAnd: 'Y',
|
||||
logicOr: 'O',
|
||||
rightTitle: 'Criterios de sangría',
|
||||
title: {
|
||||
0: 'Constructor de búsqueda',
|
||||
_: 'Constructor de búsqueda (%d)'
|
||||
},
|
||||
value: 'Valor'
|
||||
},
|
||||
searchPanes: {
|
||||
clearMessage: 'Borrar todo',
|
||||
collapse: {
|
||||
0: 'Paneles de búsqueda',
|
||||
_: 'Paneles de búsqueda (%d)'
|
||||
},
|
||||
count: '{total}',
|
||||
countFiltered: '{shown} ({total})',
|
||||
emptyPanes: 'Sin paneles de búsqueda',
|
||||
loadMessage: 'Cargando paneles de búsqueda',
|
||||
title: 'Filtros Activos - %d'
|
||||
},
|
||||
select: {
|
||||
cells: {
|
||||
1: '1 celda seleccionada',
|
||||
_: '%d celdas seleccionadas'
|
||||
},
|
||||
columns: {
|
||||
1: '1 columna seleccionada',
|
||||
_: '%d columnas seleccionadas'
|
||||
},
|
||||
rows: {
|
||||
1: '1 fila seleccionada',
|
||||
_: '%d filas seleccionadas'
|
||||
}
|
||||
},
|
||||
thousands: '.',
|
||||
datetime: {
|
||||
previous: 'Anterior',
|
||||
next: 'Proximo',
|
||||
hours: 'Horas',
|
||||
minutes: 'Minutos',
|
||||
seconds: 'Segundos',
|
||||
unknown: '-',
|
||||
amPm: ['AM', 'PM'],
|
||||
months: {
|
||||
0: 'Enero',
|
||||
1: 'Febrero',
|
||||
10: 'Noviembre',
|
||||
11: 'Diciembre',
|
||||
2: 'Marzo',
|
||||
3: 'Abril',
|
||||
4: 'Mayo',
|
||||
5: 'Junio',
|
||||
6: 'Julio',
|
||||
7: 'Agosto',
|
||||
8: 'Septiembre',
|
||||
9: 'Octubre'
|
||||
},
|
||||
weekdays: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab']
|
||||
},
|
||||
editor: {
|
||||
close: 'Cerrar',
|
||||
create: {
|
||||
button: 'Nuevo',
|
||||
title: 'Crear Nuevo Registro',
|
||||
submit: 'Crear'
|
||||
},
|
||||
edit: {
|
||||
button: 'Editar',
|
||||
title: 'Editar Registro',
|
||||
submit: 'Actualizar'
|
||||
},
|
||||
remove: {
|
||||
button: 'Eliminar',
|
||||
title: 'Eliminar Registro',
|
||||
submit: 'Eliminar',
|
||||
confirm: {
|
||||
_: '¿Está seguro que desea eliminar %d filas?',
|
||||
1: '¿Está seguro que desea eliminar 1 fila?'
|
||||
}
|
||||
},
|
||||
error: {
|
||||
system: 'Ha ocurrido un error en el sistema (<a target="\\" rel="\\ nofollow" href="\\">Más información<\\/a>).</a>'
|
||||
},
|
||||
multi: {
|
||||
title: 'Múltiples Valores',
|
||||
info: 'Los elementos seleccionados contienen diferentes valores para este registro. Para editar y establecer todos los elementos de este registro con el mismo valor, hacer click o tap aquí, de lo contrario conservarán sus valores individuales.',
|
||||
restore: 'Deshacer Cambios',
|
||||
noMulti: 'Este registro puede ser editado individualmente, pero no como parte de un grupo.'
|
||||
}
|
||||
},
|
||||
info: 'Mostrando _START_ a _END_ de _TOTAL_ registros',
|
||||
search: '',
|
||||
searchPlaceholder: 'Buscar'
|
||||
};
|
9
modules/Admin/Resources/assets/vendor/libs/datatables-responsive-bs5/_mixins.scss
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
@mixin bs-datatables-theme($background) {
|
||||
// Style for responsive icon
|
||||
table.dataTable.dtr-column > tbody > tr > td.control:before,
|
||||
table.dataTable.dtr-column > tbody > tr > th.control:before {
|
||||
background-color: $background;
|
||||
border: 2px solid $rgba-to-hex-bg;
|
||||
box-shadow: 0 0 3px $gray-800;
|
||||
}
|
||||
}
|
57
modules/Admin/Resources/assets/vendor/libs/datatables-responsive-bs5/responsive.bootstrap5.scss
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import 'datatables.net-responsive-bs5/css/responsive.bootstrap5';
|
||||
@import 'mixins';
|
||||
|
||||
// Responsive table area '+' icon position
|
||||
table.dataTable.dtr-column > tbody > tr > td.control,
|
||||
table.dataTable.dtr-column > tbody > tr > th.control {
|
||||
position: relative;
|
||||
&:before,
|
||||
&:before {
|
||||
position: absolute;
|
||||
line-height: 0.9em;
|
||||
font-weight: light.$font-weight-medium;
|
||||
height: 0.85em;
|
||||
width: 0.85em;
|
||||
color: light.$white;
|
||||
border-radius: 1em;
|
||||
box-sizing: content-box;
|
||||
text-align: center;
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
content: '+';
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
}
|
||||
table.dataTable.dtr-column > tbody > tr.parent td.dtr-control:before,
|
||||
table.dataTable.dtr-column > tbody > tr.parent th.dtr-control:before,
|
||||
table.dataTable.dtr-column > tbody > tr.parent td.control:before,
|
||||
table.dataTable.dtr-column > tbody > tr.parent th.control:before {
|
||||
content: '+';
|
||||
}
|
||||
// To scroll within datatable area
|
||||
@media screen and (max-width: 1399.98px) {
|
||||
table.dataTable.table-responsive {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
// Modal table style
|
||||
.modal.dtr-bs-modal {
|
||||
.modal-body {
|
||||
padding: 0;
|
||||
}
|
||||
.table {
|
||||
tr:last-child > td {
|
||||
border-bottom: 0;
|
||||
}
|
||||
.btn {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
.emp_name {
|
||||
font-weight: light.$font-weight-medium;
|
||||
}
|
||||
}
|
||||
}
|
25
modules/Admin/Resources/assets/vendor/libs/datatables-rowgroup-bs5/rowgroup.bootstrap5.scss
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
|
||||
@import 'datatables.net-rowgroup-bs5/css/rowGroup.bootstrap5';
|
||||
|
||||
// Light style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
tr.group,
|
||||
tr.group:hover {
|
||||
background-color: light.$gray-100 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dark style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
tr.group,
|
||||
tr.group:hover {
|
||||
background-color: rgba(dark.$base, 0.1) !important;
|
||||
}
|
||||
}
|
||||
}
|
39
modules/Admin/Resources/assets/vendor/libs/datatables-select-bs5/select.bootstrap5.scss
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@use '../../scss/_components/include' as comp;
|
||||
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'datatables.net-select-bs5/css/select.bootstrap5';
|
||||
|
||||
// Background color for select row
|
||||
table.dataTable tbody > tr.selected td,
|
||||
table.dataTable tbody > tr > .selected td {
|
||||
background-color: rgba(light.$primary, 0.08);
|
||||
box-shadow: none;
|
||||
}
|
||||
// Light style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
table.dataTable tbody tr.selected td,
|
||||
table.dataTable tbody th.selected td,
|
||||
table.dataTable tbody td.selected td {
|
||||
color: light.$body-color !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dark Style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
table.dataTable tbody > tr.selected > *,
|
||||
table.dataTable tbody > tr > .selected > * {
|
||||
box-shadow: inset 0 0 0 dark.$gray-50;
|
||||
color: dark.$table-active-color;
|
||||
}
|
||||
table.dataTable tbody tr.selected td,
|
||||
table.dataTable tbody th.selected td,
|
||||
table.dataTable tbody td.selected td {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
}
|
5
modules/Admin/Resources/assets/vendor/libs/dropzone/_mixins.scss
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
@mixin dropzone-theme($border) {
|
||||
.dropzone.dz-drag-hover {
|
||||
border-color: $border !important;
|
||||
}
|
||||
}
|
56
modules/Admin/Resources/assets/vendor/libs/dropzone/dropzone.js
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
import Dropzone from 'dropzone/dist/dropzone';
|
||||
|
||||
Dropzone.autoDiscover = false;
|
||||
|
||||
// File upload progress animation
|
||||
Dropzone.prototype.uploadFiles = function (files) {
|
||||
const minSteps = 6;
|
||||
const maxSteps = 60;
|
||||
const timeBetweenSteps = 100;
|
||||
const bytesPerStep = 100000;
|
||||
const isUploadSuccess = true;
|
||||
|
||||
const self = this;
|
||||
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const file = files[i];
|
||||
const totalSteps = Math.round(Math.min(maxSteps, Math.max(minSteps, file.size / bytesPerStep)));
|
||||
|
||||
for (let step = 0; step < totalSteps; step++) {
|
||||
const duration = timeBetweenSteps * (step + 1);
|
||||
|
||||
setTimeout(
|
||||
(function (file, totalSteps, step) {
|
||||
return function () {
|
||||
file.upload = {
|
||||
progress: (100 * (step + 1)) / totalSteps,
|
||||
total: file.size,
|
||||
bytesSent: ((step + 1) * file.size) / totalSteps
|
||||
};
|
||||
|
||||
self.emit('uploadprogress', file, file.upload.progress, file.upload.bytesSent);
|
||||
if (file.upload.progress === 100) {
|
||||
if (isUploadSuccess) {
|
||||
file.status = Dropzone.SUCCESS;
|
||||
self.emit('success', file, 'success', null);
|
||||
} else {
|
||||
file.status = Dropzone.ERROR;
|
||||
self.emit('error', file, 'Some upload error', null);
|
||||
}
|
||||
|
||||
self.emit('complete', file);
|
||||
self.processQueue();
|
||||
}
|
||||
};
|
||||
})(file, totalSteps, step),
|
||||
duration
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
window.Dropzone = Dropzone;
|
||||
} catch (e) {}
|
||||
|
||||
export { Dropzone };
|
460
modules/Admin/Resources/assets/vendor/libs/dropzone/dropzone.scss
vendored
Normal file
@ -0,0 +1,460 @@
|
||||
// Dropzone
|
||||
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
|
||||
$dz-box-padding: 1.25rem !default;
|
||||
$dz-icon-size: 1.875rem !default;
|
||||
$dz-thumbnail-width: 10rem !default;
|
||||
$dz-thumbnail-height: 7.5rem !default;
|
||||
$dz-preview-padding: 0.625rem !default;
|
||||
$dz-progress-height: 0.5rem !default;
|
||||
$dz-icon-block-size: 3.75rem !default;
|
||||
|
||||
// common styles
|
||||
.dropzone {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
border-radius: light.$border-radius-lg;
|
||||
|
||||
// Disabled
|
||||
&:not(.dz-clickable) {
|
||||
opacity: 0.5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
// Hover
|
||||
&.dz-drag-hover {
|
||||
border-style: solid;
|
||||
|
||||
.dz-message {
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dz-message {
|
||||
font-size: light.$h4-font-size;
|
||||
&:before {
|
||||
content: '';
|
||||
border-radius: 6px;
|
||||
position: absolute;
|
||||
top: 5rem;
|
||||
left: calc(50% - 23px);
|
||||
display: inline-block;
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
background-repeat: no-repeat !important;
|
||||
background-position: center !important;
|
||||
}
|
||||
|
||||
.note {
|
||||
font-size: light.$font-size-base;
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback
|
||||
.dz-browser-not-supported {
|
||||
&.dropzone-box {
|
||||
min-height: auto !important;
|
||||
border: none !important;
|
||||
border-radius: 0 !important;
|
||||
padding: 0 !important;
|
||||
width: auto !important;
|
||||
cursor: default !important;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
.dz-message {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
// Default message
|
||||
|
||||
.dz-started .dz-message {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dz-message {
|
||||
margin: 8rem 0 3rem;
|
||||
font-weight: 500;
|
||||
text-align: center;
|
||||
|
||||
.note {
|
||||
display: block;
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
// styles for dropzone in ecommerce
|
||||
.app-ecommerce {
|
||||
.dz-message {
|
||||
margin-top: 5rem;
|
||||
&::before {
|
||||
top: 3rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Preview
|
||||
.dz-preview {
|
||||
position: relative;
|
||||
vertical-align: top;
|
||||
background: #fff;
|
||||
font-size: 0.8125rem;
|
||||
margin: 1rem;
|
||||
margin-right: $dz-box-padding - 1;
|
||||
box-sizing: content-box;
|
||||
cursor: default;
|
||||
@include light.media-breakpoint-down(sm) {
|
||||
margin: $dz-box-padding - 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
// File information
|
||||
.dz-filename {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
padding: $dz-preview-padding $dz-preview-padding 0 $dz-preview-padding;
|
||||
background: light.$white;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
|
||||
&:hover {
|
||||
white-space: normal;
|
||||
text-overflow: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
.dz-size {
|
||||
padding: 1.875rem $dz-preview-padding $dz-preview-padding $dz-preview-padding;
|
||||
font-size: 0.6875rem;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
// Progressbar
|
||||
.dz-preview .progress,
|
||||
.dz-preview .progess-bar {
|
||||
height: $dz-progress-height;
|
||||
}
|
||||
|
||||
.dz-preview .progress {
|
||||
position: absolute;
|
||||
left: 1.25rem;
|
||||
right: 1.25rem;
|
||||
top: 50%;
|
||||
margin-top: -$dz-progress-height * 0.5;
|
||||
z-index: 30;
|
||||
}
|
||||
|
||||
.dz-complete .progress {
|
||||
display: none;
|
||||
}
|
||||
|
||||
// Thumbnail
|
||||
.dz-thumbnail {
|
||||
position: relative;
|
||||
padding: $dz-preview-padding;
|
||||
height: $dz-thumbnail-height;
|
||||
text-align: center;
|
||||
box-sizing: content-box;
|
||||
|
||||
> img,
|
||||
.dz-nopreview {
|
||||
top: 50%;
|
||||
position: relative;
|
||||
transform: translateY(-50%) scale(1);
|
||||
margin: 0 auto;
|
||||
display: block;
|
||||
}
|
||||
|
||||
> img {
|
||||
max-height: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.dz-nopreview {
|
||||
font-weight: light.$font-weight-medium;
|
||||
text-transform: uppercase;
|
||||
font-size: 0.6875rem;
|
||||
}
|
||||
|
||||
.dz-thumbnail img[src] ~ .dz-nopreview {
|
||||
display: none;
|
||||
}
|
||||
|
||||
// Remove link
|
||||
.dz-remove {
|
||||
display: block;
|
||||
text-align: center;
|
||||
padding: 0.375rem 0;
|
||||
font-size: 0.75rem;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
text-decoration: none;
|
||||
border-top-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
// error/success states
|
||||
.dz-error-mark,
|
||||
.dz-success-mark {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
display: none;
|
||||
margin-left: -$dz-icon-block-size * 0.5;
|
||||
margin-top: -$dz-icon-block-size * 0.5;
|
||||
height: $dz-icon-block-size;
|
||||
width: $dz-icon-block-size;
|
||||
border-radius: 50%;
|
||||
background-position: center center;
|
||||
background-size: $dz-icon-size $dz-icon-size;
|
||||
background-repeat: no-repeat;
|
||||
box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.06);
|
||||
}
|
||||
|
||||
.dz-success-mark {
|
||||
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
.dz-error-mark {
|
||||
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
.dz-error-message {
|
||||
position: absolute;
|
||||
top: -1px;
|
||||
left: -1px;
|
||||
bottom: -1px;
|
||||
right: -1px;
|
||||
display: none;
|
||||
color: light.$white;
|
||||
z-index: 40;
|
||||
padding: 0.75rem;
|
||||
text-align: left;
|
||||
overflow: auto;
|
||||
font-weight: light.$font-weight-medium;
|
||||
|
||||
@include app-rtl {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
// Error state
|
||||
.dz-error {
|
||||
.dz-error-message {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dz-error-mark {
|
||||
display: block;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
.dz-error-message {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.dz-error-mark {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Success state
|
||||
.dz-success .dz-success-mark {
|
||||
display: block;
|
||||
}
|
||||
|
||||
// RTL
|
||||
@include app-rtl(false) {
|
||||
.dz-hidden-input {
|
||||
left: auto !important;
|
||||
right: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
// Light style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
$dz-overlay-bg: light.$dark;
|
||||
$dz-thumbnail-bg: light.$gray-25;
|
||||
$dz-border-color: light.$card-border-color;
|
||||
|
||||
.dropzone {
|
||||
border: 2px dashed $dz-border-color;
|
||||
}
|
||||
|
||||
.dz-preview {
|
||||
border: light.$card-border-width solid $dz-border-color;
|
||||
border-radius: light.$border-radius;
|
||||
box-shadow: light.$card-box-shadow;
|
||||
}
|
||||
|
||||
.dz-message {
|
||||
color: light.$headings-color;
|
||||
&:before {
|
||||
background-image: light.str-replace(
|
||||
light.str-replace(light.$upload-icon, 'currentColor', light.$headings-color),
|
||||
'#',
|
||||
'%23'
|
||||
) !important;
|
||||
background: #eeedf0;
|
||||
}
|
||||
.note {
|
||||
color: light.$body-color;
|
||||
font-weight: light.$font-weight-normal;
|
||||
}
|
||||
}
|
||||
|
||||
.dz-thumbnail {
|
||||
border-bottom: 1px solid light.rgba-to-hex($dz-border-color);
|
||||
background: $dz-thumbnail-bg;
|
||||
|
||||
@include light.border-top-radius(if(light.$border-radius, calc(#{light.$border-radius} - 1px), 0));
|
||||
}
|
||||
|
||||
.dz-size {
|
||||
color: light.$text-muted;
|
||||
}
|
||||
|
||||
.dz-remove {
|
||||
color: light.$body-color;
|
||||
border-top: 1px solid light.rgba-to-hex($dz-border-color);
|
||||
|
||||
@include light.border-bottom-radius(if(light.$border-radius, calc(#{light.$border-radius} - 1px), 0));
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: light.$body-color;
|
||||
background: light.$gray-100;
|
||||
}
|
||||
}
|
||||
|
||||
.dz-nopreview {
|
||||
color: light.$text-muted;
|
||||
}
|
||||
|
||||
.dz-error-mark,
|
||||
.dz-success-mark {
|
||||
background-color: rgba($dz-overlay-bg, 0.5);
|
||||
}
|
||||
|
||||
.dz-error-message {
|
||||
background: rgba(map-get(light.$theme-colors, danger), 0.8);
|
||||
|
||||
@include light.border-top-radius(light.$border-radius);
|
||||
}
|
||||
|
||||
@include light.media-breakpoint-up(sm) {
|
||||
.dz-preview {
|
||||
display: inline-block;
|
||||
width: $dz-thumbnail-width + ($dz-preview-padding * 2);
|
||||
}
|
||||
|
||||
.dz-thumbnail {
|
||||
width: $dz-thumbnail-width;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// dark style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
$dz-overlay-bg: dark.$dark;
|
||||
$dz-thumbnail-bg: dark.$gray-25;
|
||||
$dz-border-color: dark.$card-border-color;
|
||||
|
||||
.dropzone {
|
||||
border: 2px dashed $dz-border-color;
|
||||
}
|
||||
|
||||
.dz-preview {
|
||||
background: dark.$card-bg;
|
||||
border: dark.$card-border-width solid $dz-border-color;
|
||||
border-radius: dark.$border-radius;
|
||||
box-shadow: dark.$card-box-shadow;
|
||||
}
|
||||
|
||||
.dz-message {
|
||||
color: dark.$headings-color;
|
||||
&:before {
|
||||
background-image: light.str-replace(
|
||||
light.str-replace(light.$upload-icon, 'currentColor', dark.$headings-color),
|
||||
'#',
|
||||
'%23'
|
||||
) !important;
|
||||
background: #373b50;
|
||||
}
|
||||
.note {
|
||||
color: dark.$body-color;
|
||||
font-weight: dark.$font-weight-normal;
|
||||
}
|
||||
}
|
||||
|
||||
.dz-filename {
|
||||
background: dark.$card-bg;
|
||||
padding-top: 0.25rem;
|
||||
padding-bottom: 0.25rem;
|
||||
border-bottom: dark.$card-border-width solid $dz-border-color;
|
||||
}
|
||||
|
||||
.dz-size {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
|
||||
.dz-thumbnail {
|
||||
border-bottom: 1px solid $dz-border-color;
|
||||
background: $dz-thumbnail-bg;
|
||||
|
||||
@include dark.border-top-radius(if(dark.$border-radius, calc(#{dark.$border-radius} - 1px), 0));
|
||||
}
|
||||
|
||||
.dz-nopreview {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
|
||||
.dz-remove {
|
||||
color: dark.$body-color;
|
||||
border-top: 1px solid $dz-border-color;
|
||||
|
||||
@include dark.border-bottom-radius(if(dark.$border-radius, calc(#{dark.$border-radius} - 1px), 0));
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: dark.$body-color;
|
||||
background: dark.$gray-100;
|
||||
}
|
||||
}
|
||||
|
||||
.dz-error-mark,
|
||||
.dz-success-mark {
|
||||
background-color: rgba($dz-overlay-bg, 0.5);
|
||||
}
|
||||
|
||||
.dz-error-message {
|
||||
background: rgba(map-get(dark.$theme-colors, danger), 0.8);
|
||||
|
||||
@include dark.border-top-radius(dark.$border-radius);
|
||||
}
|
||||
|
||||
@include dark.media-breakpoint-up(sm) {
|
||||
.dz-preview {
|
||||
display: inline-block;
|
||||
width: $dz-thumbnail-width + ($dz-preview-padding * 2);
|
||||
}
|
||||
|
||||
.dz-thumbnail {
|
||||
width: $dz-thumbnail-width;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
114
modules/Admin/Resources/assets/vendor/libs/flatpickr/_mixins.scss
vendored
Normal file
@ -0,0 +1,114 @@
|
||||
@import '../../scss/_bootstrap-extended/functions';
|
||||
|
||||
@mixin flatpickr-theme($background, $color: null) {
|
||||
$in-range-bg: rgba-to-hex(rgba($background, 0.16), $card-bg);
|
||||
$color: if($color, $color, color-contrast($background));
|
||||
$in-range-color: $background;
|
||||
|
||||
.flatpickr-day {
|
||||
&.today,
|
||||
&.today:hover {
|
||||
color: $background !important;
|
||||
border-color: rgba-to-hex(rgba($background, 0.16), $card-bg);
|
||||
background-color: rgba-to-hex(rgba($background, 0.16), $card-bg) !important;
|
||||
}
|
||||
|
||||
&.inRange,
|
||||
&.nextMonthDay.inRange,
|
||||
&.prevMonthDay.inRange,
|
||||
&.today.inRange,
|
||||
&.prevMonthDay.today.inRange,
|
||||
&.nextMonthDay.today.inRange {
|
||||
color: $background !important;
|
||||
background: $in-range-bg !important;
|
||||
border-color: $in-range-bg !important;
|
||||
}
|
||||
|
||||
&.selected,
|
||||
&.selected.inRange,
|
||||
&.selected:focus,
|
||||
&.selected:hover,
|
||||
&.selected.nextMonthDay,
|
||||
&.selected.prevMonthDay,
|
||||
&.startRange,
|
||||
&.startRange.inRange,
|
||||
&.startRange:focus,
|
||||
&.startRange:hover,
|
||||
&.startRange.nextMonthDay,
|
||||
&.startRange.prevMonthDay,
|
||||
&.endRange,
|
||||
&.endRange.inRange,
|
||||
&.endRange:focus,
|
||||
&.endRange:hover,
|
||||
&.endRange.nextMonthDay,
|
||||
&.endRange.prevMonthDay,
|
||||
&.week.selected {
|
||||
color: $color !important;
|
||||
background: $background !important;
|
||||
border-color: $background !important;
|
||||
box-shadow: 0 0.125rem 0.375rem 0 rgba($background, 0.3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@mixin flatpickr-dark-theme($background, $color: null) {
|
||||
$color: if($color, $color, color-contrast($background));
|
||||
$in-range-bg: rgba-to-hex(rgba($background, 0.16), $card-bg);
|
||||
$in-range-color: $background;
|
||||
|
||||
.flatpickr-calendar .numInputWrapper span {
|
||||
&.arrowUp:after {
|
||||
border-bottom-color: $color;
|
||||
}
|
||||
|
||||
&.arrowDown:after {
|
||||
border-top-color: $color;
|
||||
}
|
||||
}
|
||||
|
||||
.flatpickr-day {
|
||||
&.today,
|
||||
&.today:hover,
|
||||
&.inRange {
|
||||
color: $background !important;
|
||||
border-color: rgba-to-hex(rgba($background, 0.16), $card-bg) !important;
|
||||
background-color: rgba-to-hex(rgba($background, 0.16), $card-bg) !important;
|
||||
}
|
||||
|
||||
&.inRange,
|
||||
&.nextMonthDay.inRange,
|
||||
&.prevMonthDay.inRange,
|
||||
&.today.inRange,
|
||||
&.nextMonthDay.today.inRange,
|
||||
&.prevMonthDay.today.inRange {
|
||||
border-color: $in-range-bg !important;
|
||||
background: $in-range-bg !important;
|
||||
color: $background !important;
|
||||
}
|
||||
|
||||
&.selected,
|
||||
&.selected.inRange,
|
||||
&.selected:focus,
|
||||
&.selected:hover,
|
||||
&.selected.prevMonthDay,
|
||||
&.selected.nextMonthDay,
|
||||
&.startRange,
|
||||
&.startRange.inRange,
|
||||
&.startRange:focus,
|
||||
&.startRange:hover,
|
||||
&.startRange.prevMonthDay,
|
||||
&.startRange.nextMonthDay,
|
||||
&.endRange,
|
||||
&.endRange.inRange,
|
||||
&.endRange:focus,
|
||||
&.endRange:hover,
|
||||
&.endRange.nextMonthDay,
|
||||
&.endRange.prevMonthDay,
|
||||
&.week.selected {
|
||||
background: $background !important;
|
||||
border-color: $background !important;
|
||||
color: $color !important;
|
||||
box-shadow: 0 0.125rem 0.375rem 0 rgba($background, 0.3);
|
||||
}
|
||||
}
|
||||
}
|
7
modules/Admin/Resources/assets/vendor/libs/flatpickr/flatpickr.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import flatpickr from 'flatpickr/dist/flatpickr';
|
||||
|
||||
try {
|
||||
window.flatpickr = flatpickr;
|
||||
} catch (e) {}
|
||||
|
||||
export { flatpickr };
|
1172
modules/Admin/Resources/assets/vendor/libs/flatpickr/flatpickr.scss
vendored
Normal file
23
modules/Admin/Resources/assets/vendor/libs/fullcalendar/_mixins.scss
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
@mixin fullcalendar-theme($background, $color) {
|
||||
.fc {
|
||||
// FC event
|
||||
@include bg-label-variant('.fc-event-primary:not(.fc-list-event)', $background);
|
||||
// FC list event
|
||||
.fc-event-primary.fc-list-event {
|
||||
.fc-list-event-dot {
|
||||
border-color: $background !important;
|
||||
}
|
||||
}
|
||||
|
||||
.fc-button-primary:not(.fc-prev-button):not(.fc-next-button) {
|
||||
background-color: rgba($background, 0.16) !important;
|
||||
border: 0;
|
||||
color: $background;
|
||||
&.fc-button-active,
|
||||
&:hover {
|
||||
background-color: rgba($background, 0.24) !important;
|
||||
color: $background;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
22
modules/Admin/Resources/assets/vendor/libs/fullcalendar/fullcalendar.js
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
import { Calendar } from '@fullcalendar/core';
|
||||
import dayGridPlugin from '@fullcalendar/daygrid';
|
||||
import interactionPlugin from '@fullcalendar/interaction';
|
||||
import listPlugin from '@fullcalendar/list';
|
||||
import timegridPlugin from '@fullcalendar/timegrid';
|
||||
|
||||
const calendarPlugins = {
|
||||
dayGrid: dayGridPlugin,
|
||||
interaction: interactionPlugin,
|
||||
list: listPlugin,
|
||||
timeGrid: timegridPlugin
|
||||
};
|
||||
|
||||
try {
|
||||
window.Calendar = Calendar;
|
||||
window.dayGridPlugin = dayGridPlugin;
|
||||
window.interactionPlugin = interactionPlugin;
|
||||
window.listPlugin = listPlugin;
|
||||
window.timegridPlugin = timegridPlugin;
|
||||
} catch (e) {}
|
||||
|
||||
export { Calendar, dayGridPlugin, interactionPlugin, listPlugin, timegridPlugin };
|
535
modules/Admin/Resources/assets/vendor/libs/fullcalendar/fullcalendar.scss
vendored
Normal file
@ -0,0 +1,535 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'mixins';
|
||||
|
||||
$fullcalendar-event-padding-y: 0.25rem !default;
|
||||
$fullcalendar-event-padding-x: 0.75rem !default;
|
||||
$fullcalendar-event-margin-top: 0.625rem !default;
|
||||
$fullcalendar-event-font-size: light.$font-size-base !default;
|
||||
$fullcalendar-event-font-weight: light.$font-weight-medium !default;
|
||||
$fullcalendar-toolbar-btn-padding: light.$input-btn-padding-y - 0.115 light.$input-btn-padding-x !default;
|
||||
$fullcalendar-fc-popover-z-index: 1090 !default;
|
||||
$fullcalendar-event-border-radius: light.$border-radius-sm !default;
|
||||
$fullcalendar-today-background-light: light.rgba-to-hex(light.$gray-50, light.$rgba-to-hex-bg) !default;
|
||||
$fullcalendar-today-background-dark: dark.rgba-to-hex(dark.$gray-50, dark.$rgba-to-hex-bg) !default;
|
||||
|
||||
// Calendar
|
||||
.fc {
|
||||
.fc-scrollgrid-section {
|
||||
height: 0px;
|
||||
}
|
||||
a[data-navlink]:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
.fc-timegrid-slot {
|
||||
height: 4em !important;
|
||||
}
|
||||
.fc-timeGridWeek-view {
|
||||
.fc-timegrid-slot-minor {
|
||||
border-top-style: none;
|
||||
}
|
||||
}
|
||||
.fc-timeGridDay-view {
|
||||
.fc-timegrid-slot-minor {
|
||||
border-top-style: solid;
|
||||
}
|
||||
}
|
||||
|
||||
.fc-col-header-cell-cushion {
|
||||
padding-top: 8.7px !important;
|
||||
padding-bottom: 8.7px !important;
|
||||
}
|
||||
.fc-toolbar {
|
||||
flex-wrap: wrap;
|
||||
.fc-prev-button,
|
||||
.fc-next-button {
|
||||
display: inline-block;
|
||||
background-color: transparent;
|
||||
border-color: transparent;
|
||||
|
||||
&:hover,
|
||||
&:active,
|
||||
&:focus {
|
||||
background-color: transparent !important;
|
||||
border-color: transparent !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
}
|
||||
.fc-button {
|
||||
border-radius: light.$border-radius;
|
||||
&:not(.fc-next-button):not(.fc-prev-button) {
|
||||
padding: $fullcalendar-toolbar-btn-padding;
|
||||
&:active,
|
||||
&:focus {
|
||||
box-shadow: none !important ;
|
||||
}
|
||||
}
|
||||
}
|
||||
> * > :not(:first-child) {
|
||||
margin-left: 0 !important;
|
||||
@include app-rtl(true) {
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.fc-toolbar-chunk {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.fc-button-group {
|
||||
.fc-button {
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
||||
& + div {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
}
|
||||
.fc--button:empty,
|
||||
.fc-toolbar-chunk:empty {
|
||||
display: none;
|
||||
}
|
||||
.fc-sidebarToggle-button + div {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
table.fc-scrollgrid {
|
||||
.fc-col-header {
|
||||
.fc-col-header-cell {
|
||||
border-left: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
.fc-view-harness {
|
||||
min-height: 650px;
|
||||
.fc-col-header-cell-cushion {
|
||||
padding-bottom: 3px;
|
||||
padding-top: 3px;
|
||||
}
|
||||
|
||||
// To remove border on weekday row
|
||||
.fc-scrollgrid-section-header > * {
|
||||
@include app-ltr(true) {
|
||||
border-inline-end-width: 0px;
|
||||
}
|
||||
@include app-rtl(true) {
|
||||
border-inline-start-width: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.fc-timegrid-event .fc-event-time {
|
||||
font-size: 0.6875rem;
|
||||
}
|
||||
|
||||
.fc-v-event .fc-event-title {
|
||||
font-size: $fullcalendar-event-font-size;
|
||||
padding-top: 0.2rem;
|
||||
font-weight: $fullcalendar-event-font-weight;
|
||||
}
|
||||
|
||||
.fc-timegrid-event .fc-event-main {
|
||||
padding: $fullcalendar-event-padding-y $fullcalendar-event-padding-x 0;
|
||||
}
|
||||
}
|
||||
|
||||
.fc-daygrid-day-events {
|
||||
.fc-event,
|
||||
.fc-more-link {
|
||||
margin-inline: 0.5rem !important;
|
||||
}
|
||||
}
|
||||
|
||||
// To fix firefox thead border issue
|
||||
.fc-day-today {
|
||||
background-clip: padding-box;
|
||||
}
|
||||
|
||||
//! Fix: white color issue of event text
|
||||
.fc-h-event .fc-event-main,
|
||||
.fc-v-event .fc-event-main {
|
||||
color: inherit !important;
|
||||
}
|
||||
|
||||
.fc-daygrid-block-event .fc-event-time,
|
||||
.fc-daygrid-dot-event .fc-event-title {
|
||||
font-weight: $fullcalendar-event-font-weight;
|
||||
}
|
||||
|
||||
.fc-daygrid-body-natural {
|
||||
.fc-daygrid-day-events {
|
||||
margin-top: 0.94rem !important;
|
||||
margin-bottom: 0.94rem !important;
|
||||
}
|
||||
}
|
||||
|
||||
.fc-view-harness {
|
||||
margin: 0 -1.5rem;
|
||||
.fc-daygrid-body {
|
||||
.fc-daygrid-day {
|
||||
.fc-daygrid-day-top {
|
||||
flex-direction: row;
|
||||
.fc-daygrid-day-number {
|
||||
float: left;
|
||||
padding: 0.5rem;
|
||||
}
|
||||
}
|
||||
.fc-daygrid-day-bottom .fc-daygrid-more-link {
|
||||
margin-top: 0.625rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.fc-event {
|
||||
font-size: $fullcalendar-event-font-size;
|
||||
font-weight: $fullcalendar-event-font-weight;
|
||||
padding: $fullcalendar-event-padding-y $fullcalendar-event-padding-x;
|
||||
border-radius: $fullcalendar-event-border-radius;
|
||||
border: 0;
|
||||
.fc-event-title {
|
||||
font-weight: light.$font-weight-medium;
|
||||
}
|
||||
}
|
||||
.fc-daygrid-event-harness {
|
||||
// ! week & day events are using this style for all day only, not for other events
|
||||
.fc-event {
|
||||
&.private-event {
|
||||
background-color: transparent !important;
|
||||
border-color: transparent !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
.fc-event .fc-daygrid-event-dot {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.fc-daygrid-event-harness + .fc-daygrid-event-harness .fc-daygrid-event {
|
||||
margin-top: $fullcalendar-event-margin-top !important;
|
||||
}
|
||||
.fc-timegrid {
|
||||
.fc-timegrid-divider {
|
||||
display: none;
|
||||
}
|
||||
.fc-timegrid-event {
|
||||
border-radius: 0px;
|
||||
box-shadow: none;
|
||||
padding-top: $fullcalendar-event-padding-x;
|
||||
.fc-event-time {
|
||||
font-size: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
.fc-daygrid-event-harness-abs .fc-event {
|
||||
margin-bottom: 0.625rem;
|
||||
}
|
||||
.fc-timegrid-slot-label-frame {
|
||||
text-align: center;
|
||||
}
|
||||
.fc-timegrid-axis-cushion,
|
||||
.fc-timegrid-slot-label-cushion {
|
||||
font-size: light.$font-size-sm;
|
||||
}
|
||||
.fc-timegrid-axis-cushion {
|
||||
text-transform: capitalize;
|
||||
padding: 0.5rem 0.4375rem;
|
||||
}
|
||||
.fc-timegrid-slot-label-cushion {
|
||||
text-transform: uppercase;
|
||||
padding: $fullcalendar-event-padding-x !important;
|
||||
}
|
||||
.fc-list-day-cushion,
|
||||
.fc-list-table td {
|
||||
padding-inline: 1rem;
|
||||
}
|
||||
.fc-popover {
|
||||
z-index: $fullcalendar-fc-popover-z-index !important;
|
||||
.fc-popover-header {
|
||||
padding: 0.566rem;
|
||||
}
|
||||
}
|
||||
.fc-list {
|
||||
.fc-list-table {
|
||||
border-bottom: 1px solid;
|
||||
}
|
||||
}
|
||||
&.fc-theme-standard {
|
||||
.fc-list {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
.fc-day-other {
|
||||
.fc-daygrid-day-top {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Light style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
.fc {
|
||||
.fc-toolbar {
|
||||
.fc-prev-button,
|
||||
.fc-next-button {
|
||||
.fc-icon {
|
||||
color: light.$headings-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
.fc-col-header-cell-cushion {
|
||||
color: light.$headings-color;
|
||||
}
|
||||
&.fc-theme-standard .fc-list-day-cushion {
|
||||
background-color: $fullcalendar-today-background-light !important;
|
||||
}
|
||||
table.fc-scrollgrid {
|
||||
border-color: light.$border-color;
|
||||
.fc-col-header {
|
||||
tbody {
|
||||
border: none;
|
||||
}
|
||||
.fc-col-header-cell {
|
||||
border-color: light.$border-color;
|
||||
}
|
||||
}
|
||||
td {
|
||||
border-color: light.$border-color;
|
||||
}
|
||||
}
|
||||
.fc-timegrid-axis-cushion {
|
||||
color: light.$text-muted;
|
||||
}
|
||||
.fc-timegrid-slot-label-cushion {
|
||||
color: light.$headings-color;
|
||||
}
|
||||
.private-event {
|
||||
.fc-event-time,
|
||||
.fc-event-title {
|
||||
color: light.$danger;
|
||||
}
|
||||
}
|
||||
.fc-day-today:not(.fc-col-header-cell) {
|
||||
background-color: $fullcalendar-today-background-light !important;
|
||||
.fc-popover-body {
|
||||
background-color: light.$card-bg !important;
|
||||
}
|
||||
}
|
||||
|
||||
.fc-popover {
|
||||
.fc-popover-header {
|
||||
background: light.$body-bg;
|
||||
}
|
||||
}
|
||||
.fc-list {
|
||||
.fc-list-table {
|
||||
th {
|
||||
border: 0;
|
||||
background: light.$body-bg;
|
||||
}
|
||||
.fc-list-event {
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
td {
|
||||
background-color: light.$gray-25;
|
||||
}
|
||||
}
|
||||
td {
|
||||
border-color: light.$border-color;
|
||||
color: light.$body-color;
|
||||
}
|
||||
}
|
||||
.fc-list-day {
|
||||
th {
|
||||
color: light.$headings-color;
|
||||
}
|
||||
}
|
||||
tbody > tr:first-child th {
|
||||
border-top: 1px solid light.$border-color;
|
||||
}
|
||||
}
|
||||
.fc-list-empty {
|
||||
background-color: light.$body-bg;
|
||||
}
|
||||
}
|
||||
|
||||
// Border color
|
||||
table,
|
||||
tbody,
|
||||
thead,
|
||||
tbody td {
|
||||
border-color: light.$border-color;
|
||||
}
|
||||
.fc-day-other {
|
||||
.fc-daygrid-day-top {
|
||||
color: light.$text-muted;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ? Style event here
|
||||
@each $color, $value in light.$theme-colors {
|
||||
// FC event
|
||||
@include light.bg-label-variant('.fc-event-#{$color}:not(.fc-list-event)', $value);
|
||||
|
||||
// FC list event
|
||||
.fc-event-#{$color}.fc-list-event {
|
||||
.fc-list-event-dot {
|
||||
border-color: $value !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dark Style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
.fc {
|
||||
.fc-toolbar {
|
||||
.fc-prev-button,
|
||||
.fc-next-button {
|
||||
.fc-icon {
|
||||
color: dark.$headings-color;
|
||||
}
|
||||
}
|
||||
.fc-sidebarToggle-button {
|
||||
color: dark.$white;
|
||||
}
|
||||
}
|
||||
.fc-col-header-cell-cushion {
|
||||
color: dark.$headings-color;
|
||||
}
|
||||
&.fc-theme-standard .fc-list-day-cushion {
|
||||
background-color: $fullcalendar-today-background-dark !important;
|
||||
}
|
||||
.fc-timegrid-axis-cushion {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
.fc-timegrid-slot-label-cushion {
|
||||
color: dark.$headings-color;
|
||||
}
|
||||
|
||||
table.fc-scrollgrid {
|
||||
border-color: dark.$border-color;
|
||||
.fc-col-header {
|
||||
tbody {
|
||||
border: none;
|
||||
}
|
||||
.fc-col-header-cell {
|
||||
border-color: dark.$border-color;
|
||||
}
|
||||
}
|
||||
td {
|
||||
border-color: dark.$border-color;
|
||||
}
|
||||
}
|
||||
.private-event {
|
||||
.fc-event-time,
|
||||
.fc-event-title {
|
||||
color: dark.$danger;
|
||||
}
|
||||
}
|
||||
|
||||
.fc-day-today:not(.fc-col-header-cell) {
|
||||
background-color: $fullcalendar-today-background-dark !important;
|
||||
.fc-popover-body {
|
||||
background-color: dark.$card-bg !important;
|
||||
}
|
||||
}
|
||||
.fc-divider {
|
||||
background: dark.$border-color;
|
||||
border-color: dark.$border-color;
|
||||
}
|
||||
.fc-popover {
|
||||
background-color: dark.$body-bg;
|
||||
border: 0;
|
||||
|
||||
.fc-popover-header {
|
||||
background-color: dark.$light;
|
||||
}
|
||||
}
|
||||
|
||||
.fc-list {
|
||||
.fc-list-table {
|
||||
th {
|
||||
border: 0;
|
||||
background: dark.$body-bg;
|
||||
}
|
||||
.fc-list-event {
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
td {
|
||||
background-color: dark.$gray-50;
|
||||
}
|
||||
}
|
||||
td {
|
||||
border-color: dark.$border-color;
|
||||
color: dark.$body-color;
|
||||
}
|
||||
}
|
||||
.fc-list-day {
|
||||
th {
|
||||
color: dark.$headings-color;
|
||||
}
|
||||
}
|
||||
tbody > tr:first-child th {
|
||||
border-top: 1px solid dark.$border-color;
|
||||
}
|
||||
}
|
||||
.fc-list-empty {
|
||||
background-color: dark.$body-bg;
|
||||
}
|
||||
}
|
||||
table,
|
||||
.fc-timegrid-axis,
|
||||
tbody,
|
||||
thead,
|
||||
tbody td {
|
||||
border-color: dark.$border-color;
|
||||
}
|
||||
|
||||
// FC day
|
||||
.fc-timegrid-axis-cushion.fc-scrollgrid-shrink-cushion {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
|
||||
// FC table list disabled bg
|
||||
.fc-day-disabled {
|
||||
background-color: rgba(dark.$base, 0.16);
|
||||
}
|
||||
.fc-day-other {
|
||||
.fc-daygrid-day-top {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
}
|
||||
}
|
||||
// ? Style event here
|
||||
@each $color, $value in dark.$theme-colors {
|
||||
// FC event
|
||||
@include dark.bg-label-variant('.fc-event-#{$color}:not(.fc-list-event)', $value);
|
||||
.fc-event-#{$color}:not(.fc-list-event) {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
// FC list event
|
||||
.fc-event-#{$color}.fc-list-event {
|
||||
.fc-list-event-dot {
|
||||
border-color: $value !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Media Queries
|
||||
@include light.media-breakpoint-down(sm) {
|
||||
.fc {
|
||||
.fc-header-toolbar {
|
||||
.fc-toolbar-chunk + .fc-toolbar-chunk {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
1
modules/Admin/Resources/assets/vendor/libs/hammer/hammer.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import 'hammerjs/hammer.js';
|
1
modules/Admin/Resources/assets/vendor/libs/highlight/highlight-github.scss
vendored
Normal file
@ -0,0 +1 @@
|
||||
@import 'highlight.js/styles/github.css';
|
7
modules/Admin/Resources/assets/vendor/libs/highlight/highlight.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import hljs from 'highlight.js';
|
||||
|
||||
try {
|
||||
window.hljs = hljs;
|
||||
} catch (e) {}
|
||||
|
||||
export { hljs };
|
1
modules/Admin/Resources/assets/vendor/libs/highlight/highlight.scss
vendored
Normal file
@ -0,0 +1 @@
|
||||
@import 'highlight.js/styles/atom-one-light';
|
339
modules/Admin/Resources/assets/vendor/libs/idletimer/idletimer.js
vendored
Normal file
@ -0,0 +1,339 @@
|
||||
/*! Idle Timer - v1.1.1 - 2020-06-25
|
||||
* https://github.com/thorst/jquery-idletimer
|
||||
* Copyright (c) 2020 Paul Irish; Licensed MIT */
|
||||
/*
|
||||
mousewheel (deprecated) -> IE6.0, Chrome, Opera, Safari
|
||||
DOMMouseScroll (deprecated) -> Firefox 1.0
|
||||
wheel (standard) -> Chrome 31, Firefox 17, IE9, Firefox Mobile 17.0
|
||||
|
||||
//No need to use, use DOMMouseScroll
|
||||
MozMousePixelScroll -> Firefox 3.5, Firefox Mobile 1.0
|
||||
|
||||
//Events
|
||||
WheelEvent -> see wheel
|
||||
MouseWheelEvent -> see mousewheel
|
||||
MouseScrollEvent -> Firefox 3.5, Firefox Mobile 1.0
|
||||
*/
|
||||
(function ($) {
|
||||
$.idleTimer = function (firstParam, elem) {
|
||||
var opts;
|
||||
if (typeof firstParam === 'object') {
|
||||
opts = firstParam;
|
||||
firstParam = null;
|
||||
} else if (typeof firstParam === 'number') {
|
||||
opts = { timeout: firstParam };
|
||||
firstParam = null;
|
||||
}
|
||||
|
||||
// element to watch
|
||||
elem = elem || document;
|
||||
|
||||
// defaults that are to be stored as instance props on the elem
|
||||
opts = $.extend(
|
||||
{
|
||||
idle: false, // indicates if the user is idle
|
||||
timeout: 30000, // the amount of time (ms) before the user is considered idle
|
||||
events:
|
||||
'mousemove keydown wheel DOMMouseScroll mousewheel mousedown touchstart touchmove MSPointerDown MSPointerMove' // define active events
|
||||
},
|
||||
opts
|
||||
);
|
||||
|
||||
var jqElem = $(elem),
|
||||
obj = jqElem.data('idleTimerObj') || {},
|
||||
/* (intentionally not documented)
|
||||
* Toggles the idle state and fires an appropriate event.
|
||||
* @return {void}
|
||||
*/
|
||||
toggleIdleState = function (e) {
|
||||
var obj = $.data(elem, 'idleTimerObj') || {};
|
||||
|
||||
// toggle the state
|
||||
obj.idle = !obj.idle;
|
||||
|
||||
// store toggle state date time
|
||||
obj.olddate = +new Date();
|
||||
|
||||
// create a custom event, with state and name space
|
||||
var event = $.Event((obj.idle ? 'idle' : 'active') + '.idleTimer');
|
||||
|
||||
// trigger event on object with elem and copy of obj
|
||||
$(elem).trigger(event, [elem, $.extend({}, obj), e]);
|
||||
},
|
||||
/**
|
||||
* Handle event triggers
|
||||
* @return {void}
|
||||
* @method event
|
||||
* @static
|
||||
*/
|
||||
handleEvent = function (e) {
|
||||
var obj = $.data(elem, 'idleTimerObj') || {};
|
||||
|
||||
// ignore writting to storage unless related to idleTimer
|
||||
if (e.type === 'storage' && e.originalEvent.key !== obj.timerSyncId) {
|
||||
return;
|
||||
}
|
||||
|
||||
// this is already paused, ignore events for now
|
||||
if (obj.remaining != null) {
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
mousemove is kinda buggy, it can be triggered when it should be idle.
|
||||
Typically is happening between 115 - 150 milliseconds after idle triggered.
|
||||
@psyafter & @kaellis report "always triggered if using modal (jQuery ui, with overlay)"
|
||||
@thorst has similar issues on ios7 "after $.scrollTop() on text area"
|
||||
*/
|
||||
if (e.type === 'mousemove') {
|
||||
// if coord are same, it didn't move
|
||||
if (e.pageX === obj.pageX && e.pageY === obj.pageY) {
|
||||
return;
|
||||
}
|
||||
// if coord don't exist how could it move
|
||||
if (typeof e.pageX === 'undefined' && typeof e.pageY === 'undefined') {
|
||||
return;
|
||||
}
|
||||
// under 200 ms is hard to do, and you would have to stop, as continuous activity will bypass this
|
||||
var elapsed = +new Date() - obj.olddate;
|
||||
if (elapsed < 200) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// clear any existing timeout
|
||||
clearTimeout(obj.tId);
|
||||
|
||||
// if the idle timer is enabled, flip
|
||||
if (obj.idle) {
|
||||
toggleIdleState(e);
|
||||
}
|
||||
|
||||
// store when user was last active
|
||||
obj.lastActive = +new Date();
|
||||
|
||||
// update mouse coord
|
||||
obj.pageX = e.pageX;
|
||||
obj.pageY = e.pageY;
|
||||
|
||||
// sync lastActive
|
||||
if (e.type !== 'storage' && obj.timerSyncId) {
|
||||
if (typeof localStorage !== 'undefined') {
|
||||
localStorage.setItem(obj.timerSyncId, obj.lastActive);
|
||||
}
|
||||
}
|
||||
|
||||
// set a new timeout
|
||||
obj.tId = setTimeout(toggleIdleState, obj.timeout);
|
||||
},
|
||||
/**
|
||||
* Restore initial settings and restart timer
|
||||
* @return {void}
|
||||
* @method reset
|
||||
* @static
|
||||
*/
|
||||
reset = function () {
|
||||
var obj = $.data(elem, 'idleTimerObj') || {};
|
||||
|
||||
// reset settings
|
||||
obj.idle = obj.idleBackup;
|
||||
obj.olddate = +new Date();
|
||||
obj.lastActive = obj.olddate;
|
||||
obj.remaining = null;
|
||||
|
||||
// reset Timers
|
||||
clearTimeout(obj.tId);
|
||||
if (!obj.idle) {
|
||||
obj.tId = setTimeout(toggleIdleState, obj.timeout);
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Store remaining time, stop timer
|
||||
* You can pause from an idle OR active state
|
||||
* @return {void}
|
||||
* @method pause
|
||||
* @static
|
||||
*/
|
||||
pause = function () {
|
||||
var obj = $.data(elem, 'idleTimerObj') || {};
|
||||
|
||||
// this is already paused
|
||||
if (obj.remaining != null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// define how much is left on the timer
|
||||
obj.remaining = obj.timeout - (+new Date() - obj.olddate);
|
||||
|
||||
// clear any existing timeout
|
||||
clearTimeout(obj.tId);
|
||||
},
|
||||
/**
|
||||
* Start timer with remaining value
|
||||
* @return {void}
|
||||
* @method resume
|
||||
* @static
|
||||
*/
|
||||
resume = function () {
|
||||
var obj = $.data(elem, 'idleTimerObj') || {};
|
||||
|
||||
// this isn't paused yet
|
||||
if (obj.remaining == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// start timer
|
||||
if (!obj.idle) {
|
||||
obj.tId = setTimeout(toggleIdleState, obj.remaining);
|
||||
}
|
||||
|
||||
// clear remaining
|
||||
obj.remaining = null;
|
||||
},
|
||||
/**
|
||||
* Stops the idle timer. This removes appropriate event handlers
|
||||
* and cancels any pending timeouts.
|
||||
* @return {void}
|
||||
* @method destroy
|
||||
* @static
|
||||
*/
|
||||
destroy = function () {
|
||||
var obj = $.data(elem, 'idleTimerObj') || {};
|
||||
|
||||
//clear any pending timeouts
|
||||
clearTimeout(obj.tId);
|
||||
|
||||
//Remove data
|
||||
jqElem.removeData('idleTimerObj');
|
||||
|
||||
//detach the event handlers
|
||||
jqElem.off('._idleTimer');
|
||||
},
|
||||
/**
|
||||
* Returns the time until becoming idle
|
||||
* @return {number}
|
||||
* @method remainingtime
|
||||
* @static
|
||||
*/
|
||||
remainingtime = function () {
|
||||
var obj = $.data(elem, 'idleTimerObj') || {};
|
||||
|
||||
//If idle there is no time remaining
|
||||
if (obj.idle) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
//If its paused just return that
|
||||
if (obj.remaining != null) {
|
||||
return obj.remaining;
|
||||
}
|
||||
|
||||
//Determine remaining, if negative idle didn't finish flipping, just return 0
|
||||
var remaining = obj.timeout - (+new Date() - obj.lastActive);
|
||||
if (remaining < 0) {
|
||||
remaining = 0;
|
||||
}
|
||||
|
||||
//If this is paused return that number, else return current remaining
|
||||
return remaining;
|
||||
};
|
||||
|
||||
// determine which function to call
|
||||
if (firstParam === null && typeof obj.idle !== 'undefined') {
|
||||
// they think they want to init, but it already is, just reset
|
||||
reset();
|
||||
return jqElem;
|
||||
} else if (firstParam === null) {
|
||||
// they want to init
|
||||
} else if (firstParam !== null && typeof obj.idle === 'undefined') {
|
||||
// they want to do something, but it isnt init
|
||||
// not sure the best way to handle this
|
||||
return false;
|
||||
} else if (firstParam === 'destroy') {
|
||||
destroy();
|
||||
return jqElem;
|
||||
} else if (firstParam === 'pause') {
|
||||
pause();
|
||||
return jqElem;
|
||||
} else if (firstParam === 'resume') {
|
||||
resume();
|
||||
return jqElem;
|
||||
} else if (firstParam === 'reset') {
|
||||
reset();
|
||||
return jqElem;
|
||||
} else if (firstParam === 'getRemainingTime') {
|
||||
return remainingtime();
|
||||
} else if (firstParam === 'getElapsedTime') {
|
||||
return +new Date() - obj.olddate;
|
||||
} else if (firstParam === 'getLastActiveTime') {
|
||||
return obj.lastActive;
|
||||
} else if (firstParam === 'isIdle') {
|
||||
return obj.idle;
|
||||
}
|
||||
|
||||
// Test via a getter in the options object to see if the passive property is accessed
|
||||
// This isnt working in jquery, though is planned for 4.0
|
||||
// https://github.com/jquery/jquery/issues/2871
|
||||
/*var supportsPassive = false;
|
||||
try {
|
||||
var Popts = Object.defineProperty({}, "passive", {
|
||||
get: function() {
|
||||
supportsPassive = true;
|
||||
}
|
||||
});
|
||||
window.addEventListener("test", null, Popts);
|
||||
} catch (e) {}
|
||||
*/
|
||||
|
||||
/* (intentionally not documented)
|
||||
* Handles a user event indicating that the user isn't idle. namespaced with internal idleTimer
|
||||
* @param {Event} event A DOM2-normalized event object.
|
||||
* @return {void}
|
||||
*/
|
||||
jqElem.on((opts.events + ' ').split(' ').join('._idleTimer ').trim(), function (e) {
|
||||
handleEvent(e);
|
||||
});
|
||||
//}, supportsPassive ? { passive: true } : false);
|
||||
|
||||
if (opts.timerSyncId) {
|
||||
$(window).on('storage', handleEvent);
|
||||
}
|
||||
|
||||
// Internal Object Properties, This isn't all necessary, but we
|
||||
// explicitly define all keys here so we know what we are working with
|
||||
obj = $.extend(
|
||||
{},
|
||||
{
|
||||
olddate: +new Date(), // the last time state changed
|
||||
lastActive: +new Date(), // the last time timer was active
|
||||
idle: opts.idle, // current state
|
||||
idleBackup: opts.idle, // backup of idle parameter since it gets modified
|
||||
timeout: opts.timeout, // the interval to change state
|
||||
remaining: null, // how long until state changes
|
||||
timerSyncId: opts.timerSyncId, // localStorage key to use for syncing this timer
|
||||
tId: null, // the idle timer setTimeout
|
||||
pageX: null, // used to store the mouse coord
|
||||
pageY: null
|
||||
}
|
||||
);
|
||||
|
||||
// set a timeout to toggle state. May wish to omit this in some situations
|
||||
if (!obj.idle) {
|
||||
obj.tId = setTimeout(toggleIdleState, obj.timeout);
|
||||
}
|
||||
|
||||
// store our instance on the object
|
||||
$.data(elem, 'idleTimerObj', obj);
|
||||
|
||||
return jqElem;
|
||||
};
|
||||
|
||||
// This allows binding to element
|
||||
$.fn.idleTimer = function (firstParam) {
|
||||
if (this[0]) {
|
||||
return $.idleTimer(firstParam, this[0]);
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
})(jQuery);
|
1
modules/Admin/Resources/assets/vendor/libs/jkanban/jkanban.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import 'jkanban/dist/jkanban';
|
28
modules/Admin/Resources/assets/vendor/libs/jkanban/jkanban.scss
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'jkanban/dist/jkanban';
|
||||
|
||||
// Light layout
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
.kanban-board {
|
||||
background: light.$border-color;
|
||||
}
|
||||
.kanban-item {
|
||||
background: light.$card-bg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dark layout
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
.kanban-board {
|
||||
background: dark.$border-color;
|
||||
}
|
||||
.kanban-item {
|
||||
background: dark.$card-bg;
|
||||
}
|
||||
}
|
||||
}
|
1
modules/Admin/Resources/assets/vendor/libs/jquery-repeater/jquery-repeater.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import 'jquery.repeater/jquery.repeater';
|
1
modules/Admin/Resources/assets/vendor/libs/jquery-sticky/jquery-sticky.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import 'jquery-sticky/jquery.sticky';
|
11
modules/Admin/Resources/assets/vendor/libs/jquery-timepicker/_mixins.scss
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
@import '../../scss/_bootstrap-extended/_functions';
|
||||
|
||||
@mixin timepicker-theme($background, $color: null) {
|
||||
$color: if($color, $color, color-contrast($background));
|
||||
|
||||
li.ui-timepicker-selected,
|
||||
.ui-timepicker-list .ui-timepicker-selected:hover {
|
||||
color: $color !important;
|
||||
background: $background !important;
|
||||
}
|
||||
}
|
1
modules/Admin/Resources/assets/vendor/libs/jquery-timepicker/jquery-timepicker.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import 'timepicker/jquery.timepicker';
|
116
modules/Admin/Resources/assets/vendor/libs/jquery-timepicker/jquery-timepicker.scss
vendored
Normal file
@ -0,0 +1,116 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
|
||||
.ui-timepicker-wrapper {
|
||||
max-height: 10rem;
|
||||
overflow-y: auto;
|
||||
margin: 0.125rem 0;
|
||||
background: light.$white;
|
||||
background-clip: padding-box;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.ui-timepicker-list {
|
||||
list-style: none;
|
||||
padding: 0.125rem 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.ui-timepicker-duration {
|
||||
margin-left: 0.25rem;
|
||||
|
||||
@include app-rtl {
|
||||
margin-left: 0;
|
||||
margin-right: 0.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.ui-timepicker-list li {
|
||||
padding: 0.25rem 0.75rem;
|
||||
margin: 0.125rem 0.875rem;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
list-style: none;
|
||||
border-radius: light.$dropdown-border-radius;
|
||||
|
||||
&.ui-timepicker-disabled,
|
||||
&.ui-timepicker-selected.ui-timepicker-disabled {
|
||||
background: light.$white !important;
|
||||
cursor: default !important;
|
||||
}
|
||||
}
|
||||
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
.ui-timepicker-wrapper {
|
||||
padding: light.$dropdown-padding-y;
|
||||
z-index: light.$zindex-popover;
|
||||
background: light.$dropdown-bg;
|
||||
box-shadow: light.$card-box-shadow;
|
||||
border: light.$dropdown-border-width solid light.$dropdown-border-color;
|
||||
|
||||
@include light.border-radius(light.$border-radius);
|
||||
}
|
||||
|
||||
.ui-timepicker-list li {
|
||||
color: light.$dropdown-link-color;
|
||||
|
||||
&:hover {
|
||||
background: light.$dropdown-link-hover-bg;
|
||||
}
|
||||
&:not(.ui-timepicker-selected) {
|
||||
.ui-timepicker-duration {
|
||||
color: light.$text-muted;
|
||||
|
||||
.ui-timepicker-list:hover & {
|
||||
color: light.$text-muted;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ui-timepicker-list li.ui-timepicker-disabled,
|
||||
.ui-timepicker-list li.ui-timepicker-selected.ui-timepicker-disabled {
|
||||
background: light.$dropdown-bg !important;
|
||||
color: light.$dropdown-link-disabled-color !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
.ui-timepicker-wrapper {
|
||||
border: dark.$dropdown-border-width solid dark.$dropdown-border-color;
|
||||
padding: dark.$dropdown-padding-y 0;
|
||||
z-index: dark.$zindex-popover;
|
||||
background: dark.$dropdown-bg;
|
||||
box-shadow: dark.$card-box-shadow;
|
||||
|
||||
@include dark.border-radius(dark.$border-radius);
|
||||
}
|
||||
|
||||
.ui-timepicker-list li {
|
||||
color: dark.$dropdown-link-color;
|
||||
|
||||
&:hover {
|
||||
background: dark.$dropdown-link-hover-bg;
|
||||
}
|
||||
&:not(.ui-timepicker-selected) {
|
||||
.ui-timepicker-duration {
|
||||
color: dark.$text-muted;
|
||||
|
||||
.ui-timepicker-list:hover & {
|
||||
color: dark.$text-muted;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ui-timepicker-list li.ui-timepicker-disabled,
|
||||
.ui-timepicker-list li.ui-timepicker-selected.ui-timepicker-disabled {
|
||||
color: dark.$dropdown-link-disabled-color !important;
|
||||
background: dark.$dropdown-bg !important;
|
||||
}
|
||||
}
|
||||
}
|
8
modules/Admin/Resources/assets/vendor/libs/jquery/jquery.js
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
import jQuery from 'jquery/dist/jquery';
|
||||
|
||||
const $ = jQuery;
|
||||
try {
|
||||
window.jQuery = window.$ = jQuery;
|
||||
} catch (e) {}
|
||||
|
||||
export { jQuery, $ };
|
1
modules/Admin/Resources/assets/vendor/libs/jstree/jstree.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import 'jstree/dist/jstree';
|
115
modules/Admin/Resources/assets/vendor/libs/jstree/jstree.scss
vendored
Normal file
@ -0,0 +1,115 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'jstree/dist/themes/default/style';
|
||||
@import 'jstree/dist/themes/default-dark/style';
|
||||
@import './themes/theme';
|
||||
|
||||
// Light Style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
// Folder Icons and text colors
|
||||
.jstree {
|
||||
.jstree-container-ul {
|
||||
.jstree-icon.ti-folder,
|
||||
.ion-ios-folder {
|
||||
color: light.$warning;
|
||||
}
|
||||
.jstree-icon.ti-file {
|
||||
color: light.$primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Context Menu Styling
|
||||
|
||||
.vakata-context.jstree-contextmenu {
|
||||
background: light.$white;
|
||||
border: 0;
|
||||
box-shadow: 0px 0px 50px 0px rgba(light.$black, 0.1);
|
||||
li {
|
||||
a {
|
||||
padding: 0 1.5rem;
|
||||
text-shadow: none;
|
||||
i {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
&.vakata-context-hover {
|
||||
a {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
&.vakata-context-separator {
|
||||
a {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
ul {
|
||||
background: light.$white;
|
||||
border: 0;
|
||||
box-shadow: 0px 0px 50px 0px rgba(light.$black, 0.1);
|
||||
}
|
||||
}
|
||||
.vakata-contextmenu-sep {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dark Style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
// Folder Icons and text colors
|
||||
.jstree {
|
||||
.jstree-container-ul {
|
||||
.jstree-icon.ti-folder,
|
||||
.ion-ios-folder {
|
||||
color: dark.$warning;
|
||||
}
|
||||
.jstree-icon.ti-file {
|
||||
color: dark.$primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Context Menu Styling
|
||||
|
||||
.vakata-context.jstree-contextmenu {
|
||||
background: dark.$white;
|
||||
border: 0;
|
||||
box-shadow: 0px 0px 50px 0px rgba(dark.$black, 0.1);
|
||||
li {
|
||||
a {
|
||||
padding: 0 1.5rem;
|
||||
text-shadow: none;
|
||||
i {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
&.vakata-context-hover {
|
||||
a {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
&.vakata-context-separator {
|
||||
a {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
ul {
|
||||
background: dark.$white;
|
||||
border: 0;
|
||||
box-shadow: 0px 0px 50px 0px rgba(dark.$black, 0.1);
|
||||
}
|
||||
}
|
||||
.vakata-contextmenu-sep {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.jstree-default-dark .jstree-anchor {
|
||||
text-shadow: none !important;
|
||||
color: dark.$body-color;
|
||||
}
|
123
modules/Admin/Resources/assets/vendor/libs/jstree/themes/_theme.scss
vendored
Normal file
@ -0,0 +1,123 @@
|
||||
@import '../../../scss/_bootstrap-extended/include'; // imported for media query mixin
|
||||
|
||||
// Light Style
|
||||
@if $enable-light-style {
|
||||
$theme-name: 'default';
|
||||
$throbber-bg: "url('./themes/default/throbber.gif')";
|
||||
$small-bg: "url('./themes/default/32px.png')";
|
||||
$big-bg: "url('./themes/default/40px.png')";
|
||||
|
||||
.jstree-#{$theme-name} {
|
||||
background: transparent;
|
||||
}
|
||||
.jstree-#{$theme-name} > .jstree-container-ul .jstree-loading > .jstree-ocl,
|
||||
.jstree-#{$theme-name}-small > .jstree-container-ul .jstree-loading > .jstree-ocl,
|
||||
.jstree-#{$theme-name}-large > .jstree-container-ul .jstree-loading > .jstree-ocl {
|
||||
background-image: #{$throbber-bg};
|
||||
}
|
||||
|
||||
.jstree-#{$theme-name} .jstree-node,
|
||||
.jstree-#{$theme-name} .jstree-icon,
|
||||
.jstree-#{$theme-name} .jstree-file,
|
||||
.jstree-#{$theme-name} .jstree-folder,
|
||||
#jstree-dnd.jstree-#{$theme-name} .jstree-ok,
|
||||
#jstree-dnd.jstree-#{$theme-name} .jstree-er,
|
||||
.jstree-#{$theme-name}-small .jstree-node,
|
||||
.jstree-#{$theme-name}-small .jstree-icon,
|
||||
.jstree-#{$theme-name}-small .jstree-file,
|
||||
.jstree-#{$theme-name}-small .jstree-folder,
|
||||
#jstree-dnd.jstree-#{$theme-name}-small .jstree-ok,
|
||||
#jstree-dnd.jstree-#{$theme-name}-small .jstree-er,
|
||||
.jstree-#{$theme-name}-large .jstree-node,
|
||||
.jstree-#{$theme-name}-large .jstree-icon,
|
||||
.jstree-#{$theme-name}-large .jstree-file,
|
||||
.jstree-#{$theme-name}-large .jstree-folder,
|
||||
#jstree-dnd.jstree-#{$theme-name}-large .jstree-ok,
|
||||
#jstree-dnd.jstree-#{$theme-name}-large .jstree-er {
|
||||
background-image: #{$small-bg};
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(md) {
|
||||
#jstree-dnd.jstree-dnd-responsive > .jstree-ok,
|
||||
#jstree-dnd.jstree-dnd-responsive > .jstree-er,
|
||||
.jstree-#{$theme-name}-responsive .jstree-icon,
|
||||
.jstree-#{$theme-name}-responsive .jstree-node,
|
||||
.jstree-#{$theme-name}-responsive .jstree-icon,
|
||||
.jstree-#{$theme-name}-responsive .jstree-node > .jstree-ocl,
|
||||
.jstree-#{$theme-name}-responsive .jstree-themeicon,
|
||||
.jstree-#{$theme-name}-responsive .jstree-checkbox,
|
||||
.jstree-#{$theme-name}-responsive .jstree-file,
|
||||
.jstree-#{$theme-name}-responsive .jstree-folder {
|
||||
background-image: #{$big-bg};
|
||||
}
|
||||
}
|
||||
|
||||
.jstree-#{$theme-name} .jstree-last,
|
||||
.jstree-#{$theme-name} > .jstree-no-dots .jstree-node,
|
||||
.jstree-#{$theme-name} > .jstree-no-dots .jstree-leaf > .jstree-ocl,
|
||||
.jstree-#{$theme-name} .jstree-disabled,
|
||||
.jstree-#{$theme-name} .jstree-themeicon-custom:not(.jstree-file):not(.jstree-folder) {
|
||||
background: transparent !important;
|
||||
}
|
||||
}
|
||||
|
||||
// Dark Style
|
||||
@if $enable-dark-style {
|
||||
$theme-name: 'default-dark';
|
||||
$throbber-bg: "url('./themes/default-dark/throbber.gif')";
|
||||
$small-bg: "url('./themes/default-dark/32px.png')";
|
||||
$big-bg: "url('./themes/default-dark/40px.png')";
|
||||
|
||||
.jstree-#{$theme-name} {
|
||||
background: transparent;
|
||||
}
|
||||
.jstree-#{$theme-name} > .jstree-container-ul .jstree-loading > .jstree-ocl,
|
||||
.jstree-#{$theme-name}-small > .jstree-container-ul .jstree-loading > .jstree-ocl,
|
||||
.jstree-#{$theme-name}-large > .jstree-container-ul .jstree-loading > .jstree-ocl {
|
||||
background-image: #{$throbber-bg};
|
||||
}
|
||||
|
||||
.jstree-#{$theme-name} .jstree-node,
|
||||
.jstree-#{$theme-name} .jstree-icon,
|
||||
.jstree-#{$theme-name} .jstree-file,
|
||||
.jstree-#{$theme-name} .jstree-folder,
|
||||
#jstree-dnd.jstree-#{$theme-name} .jstree-ok,
|
||||
#jstree-dnd.jstree-#{$theme-name} .jstree-er,
|
||||
.jstree-#{$theme-name}-small .jstree-node,
|
||||
.jstree-#{$theme-name}-small .jstree-icon,
|
||||
.jstree-#{$theme-name}-small .jstree-file,
|
||||
.jstree-#{$theme-name}-small .jstree-folder,
|
||||
#jstree-dnd.jstree-#{$theme-name}-small .jstree-ok,
|
||||
#jstree-dnd.jstree-#{$theme-name}-small .jstree-er,
|
||||
.jstree-#{$theme-name}-large .jstree-node,
|
||||
.jstree-#{$theme-name}-large .jstree-icon,
|
||||
.jstree-#{$theme-name}-large .jstree-file,
|
||||
.jstree-#{$theme-name}-large .jstree-folder,
|
||||
#jstree-dnd.jstree-#{$theme-name}-large .jstree-ok,
|
||||
#jstree-dnd.jstree-#{$theme-name}-large .jstree-er {
|
||||
background-image: #{$small-bg};
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(md) {
|
||||
#jstree-dnd.jstree-dnd-responsive > .jstree-ok,
|
||||
#jstree-dnd.jstree-dnd-responsive > .jstree-er,
|
||||
.jstree-#{$theme-name}-responsive .jstree-icon,
|
||||
.jstree-#{$theme-name}-responsive .jstree-node,
|
||||
.jstree-#{$theme-name}-responsive .jstree-icon,
|
||||
.jstree-#{$theme-name}-responsive .jstree-node > .jstree-ocl,
|
||||
.jstree-#{$theme-name}-responsive .jstree-themeicon,
|
||||
.jstree-#{$theme-name}-responsive .jstree-checkbox,
|
||||
.jstree-#{$theme-name}-responsive .jstree-file,
|
||||
.jstree-#{$theme-name}-responsive .jstree-folder {
|
||||
background-image: #{$big-bg};
|
||||
}
|
||||
}
|
||||
|
||||
.jstree-#{$theme-name} .jstree-last,
|
||||
.jstree-#{$theme-name} > .jstree-no-dots .jstree-node,
|
||||
.jstree-#{$theme-name} > .jstree-no-dots .jstree-leaf > .jstree-ocl,
|
||||
.jstree-#{$theme-name} .jstree-disabled,
|
||||
.jstree-#{$theme-name} .jstree-themeicon-custom:not(.jstree-file):not(.jstree-folder) {
|
||||
background: transparent !important;
|
||||
}
|
||||
}
|
BIN
modules/Admin/Resources/assets/vendor/libs/jstree/themes/default-dark/32px.png
vendored
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
modules/Admin/Resources/assets/vendor/libs/jstree/themes/default-dark/40px.png
vendored
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
modules/Admin/Resources/assets/vendor/libs/jstree/themes/default-dark/throbber.gif
vendored
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
modules/Admin/Resources/assets/vendor/libs/jstree/themes/default/32px.png
vendored
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
modules/Admin/Resources/assets/vendor/libs/jstree/themes/default/40px.png
vendored
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
modules/Admin/Resources/assets/vendor/libs/jstree/themes/default/throbber.gif
vendored
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
modules/Admin/Resources/assets/vendor/libs/leaflet/images/layers-2x.png
vendored
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
modules/Admin/Resources/assets/vendor/libs/leaflet/images/layers.png
vendored
Normal file
After Width: | Height: | Size: 696 B |
BIN
modules/Admin/Resources/assets/vendor/libs/leaflet/images/marker-icon-2x.png
vendored
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
modules/Admin/Resources/assets/vendor/libs/leaflet/images/marker-icon.png
vendored
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
modules/Admin/Resources/assets/vendor/libs/leaflet/images/marker-shadow.png
vendored
Normal file
After Width: | Height: | Size: 618 B |
19
modules/Admin/Resources/assets/vendor/libs/leaflet/leaflet.js
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
import leaFlet from 'leaflet';
|
||||
|
||||
import markerIcon2x from 'leaflet/dist/images/marker-icon-2x.png';
|
||||
import markerIcon from 'leaflet/dist/images/marker-icon.png';
|
||||
import markerShadow from 'leaflet/dist/images/marker-shadow.png';
|
||||
|
||||
delete leaFlet.Icon.Default.prototype._getIconUrl;
|
||||
|
||||
leaFlet.Icon.Default.mergeOptions({
|
||||
iconRetinaUrl: markerIcon2x,
|
||||
iconUrl: markerIcon,
|
||||
shadowUrl: markerShadow
|
||||
});
|
||||
|
||||
try {
|
||||
window.leaFlet = leaFlet;
|
||||
} catch (e) {}
|
||||
|
||||
export { leaFlet };
|
46
modules/Admin/Resources/assets/vendor/libs/leaflet/leaflet.scss
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
@import '../../scss/_bootstrap-extended/include';
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'leaflet/dist/leaflet';
|
||||
|
||||
.leaflet-map {
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
.leaflet-pane {
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
// RTL
|
||||
|
||||
@include app-rtl(false) {
|
||||
.leaflet-map {
|
||||
.leaflet-control-container {
|
||||
.leaflet-left {
|
||||
right: 0;
|
||||
left: unset;
|
||||
.leaflet-control-zoom,
|
||||
.leaflet-control-layers {
|
||||
margin-left: 0;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
.leaflet-right {
|
||||
left: 0;
|
||||
right: unset;
|
||||
.leaflet-control-zoom,
|
||||
.leaflet-control-layers {
|
||||
margin-left: 10px;
|
||||
margin-right: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Map tooltip border radius
|
||||
|
||||
.leaflet-popup {
|
||||
.leaflet-popup-content-wrapper {
|
||||
border-radius: $border-radius;
|
||||
}
|
||||
}
|
7
modules/Admin/Resources/assets/vendor/libs/mapbox-gl/mapbox-gl.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import mapboxgl from 'mapbox-gl';
|
||||
|
||||
try {
|
||||
window.mapboxgl = mapboxgl;
|
||||
} catch (e) {}
|
||||
|
||||
export { mapboxgl };
|
8
modules/Admin/Resources/assets/vendor/libs/mapbox-gl/mapbox-gl.scss
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'mapbox-gl/dist/mapbox-gl';
|
||||
|
||||
.marker-focus {
|
||||
filter: drop-shadow(0px 0px 7px light.$purple);
|
||||
}
|
7
modules/Admin/Resources/assets/vendor/libs/masonry/masonry.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import Masonry from 'masonry-layout';
|
||||
|
||||
try {
|
||||
window.Masonry = Masonry;
|
||||
} catch (e) {}
|
||||
|
||||
export { Masonry };
|
7
modules/Admin/Resources/assets/vendor/libs/moment/moment.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import moment from 'moment/moment';
|
||||
|
||||
try {
|
||||
window.moment = moment;
|
||||
} catch (e) {}
|
||||
|
||||
export { moment };
|
3
modules/Admin/Resources/assets/vendor/libs/node-waves/node-waves.js
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import nodeWaves from 'node-waves/src/js/waves';
|
||||
|
||||
window.Waves = nodeWaves;
|
4
modules/Admin/Resources/assets/vendor/libs/node-waves/node-waves.scss
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
// Waves
|
||||
// *******************************************************************************
|
||||
|
||||
@import 'node-waves/src/scss/waves';
|
26
modules/Admin/Resources/assets/vendor/libs/nouislider/_mixins.scss
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
@mixin nouislider-variant($parent, $background) {
|
||||
#{$parent}.noUi-target {
|
||||
// If slider is not disabled
|
||||
&:not([disabled]) {
|
||||
background: rgba($background, 0.16);
|
||||
.noUi-connect {
|
||||
background: $background;
|
||||
}
|
||||
|
||||
.noUi-handle {
|
||||
border-color: $background;
|
||||
&:hover {
|
||||
box-shadow: 0 0 0 8px rgba($background, 0.16);
|
||||
}
|
||||
&:active,
|
||||
&:focus {
|
||||
box-shadow: 0 0 0 13px rgba($background, 0.16);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@mixin nouislider-theme($background) {
|
||||
@include nouislider-variant('', $background);
|
||||
}
|
7
modules/Admin/Resources/assets/vendor/libs/nouislider/nouislider.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import noUiSlider from 'nouislider';
|
||||
|
||||
try {
|
||||
window.noUiSlider = noUiSlider;
|
||||
} catch (e) {}
|
||||
|
||||
export { noUiSlider };
|
398
modules/Admin/Resources/assets/vendor/libs/nouislider/nouislider.scss
vendored
Normal file
@ -0,0 +1,398 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import 'nouislider/dist/nouislider';
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'mixins';
|
||||
|
||||
$noUiSlider-handle-color: #fff !default;
|
||||
$noUiSlider-handle-width: 1.375rem !default;
|
||||
$noUiSlider-handle-height: 1.375rem !default;
|
||||
$noUiSlider-bar-height: 0.375rem !default;
|
||||
$noUiSlider-vertical-height: 13.125rem !default;
|
||||
$noUiSlider-tick-size: 0.5rem !default;
|
||||
$noUiSlider-tick-label-font-size: light.$font-size-sm !default;
|
||||
|
||||
.noUi-target {
|
||||
direction: ltr !important;
|
||||
position: relative;
|
||||
border-width: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.noUi-target,
|
||||
.noUi-target * {
|
||||
touch-action: none;
|
||||
user-select: none;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.noUi-connects {
|
||||
height: $noUiSlider-bar-height;
|
||||
border-radius: light.$border-radius-pill;
|
||||
}
|
||||
|
||||
.noUi-base,
|
||||
.noUi-connects {
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.noUi-horizontal .noUi-origin {
|
||||
height: 0;
|
||||
|
||||
@include app-ltr {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.noUi-vertical .noUi-origin {
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.noUi-handle {
|
||||
backface-visibility: hidden;
|
||||
outline: none !important;
|
||||
position: absolute;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
transition: all 0.2s;
|
||||
border: 4px solid;
|
||||
background: #fff;
|
||||
&:before,
|
||||
&:after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.noUi-touch-area {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.noUi-state-tap .noUi-connect,
|
||||
.noUi-state-tap .noUi-origin {
|
||||
transition:
|
||||
top 0.3s,
|
||||
right 0.3s,
|
||||
bottom 0.3s,
|
||||
left 0.3s;
|
||||
}
|
||||
|
||||
.noUi-state-drag * {
|
||||
cursor: inherit !important;
|
||||
}
|
||||
|
||||
// Slider size and handle placement
|
||||
|
||||
.noUi-horizontal {
|
||||
height: $noUiSlider-bar-height;
|
||||
margin-bottom: 3rem;
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
.noUi-horizontal .noUi-handle {
|
||||
left: -($noUiSlider-handle-width * 0.5);
|
||||
width: $noUiSlider-handle-width;
|
||||
height: $noUiSlider-handle-height;
|
||||
top: ($noUiSlider-bar-height - $noUiSlider-handle-height) * 0.5;
|
||||
|
||||
@include app-ltr {
|
||||
right: -($noUiSlider-handle-width * 0.5);
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.noUi-vertical {
|
||||
width: $noUiSlider-bar-height;
|
||||
}
|
||||
|
||||
.noUi-vertical .noUi-handle {
|
||||
bottom: -($noUiSlider-handle-height);
|
||||
width: $noUiSlider-handle-height;
|
||||
height: $noUiSlider-handle-width;
|
||||
right: ($noUiSlider-bar-height - $noUiSlider-handle-height) * 0.5;
|
||||
}
|
||||
|
||||
// Styling
|
||||
.noUi-target {
|
||||
border-radius: 10rem;
|
||||
}
|
||||
|
||||
// Handles and cursors
|
||||
.noUi-draggable {
|
||||
cursor: ew-resize;
|
||||
}
|
||||
|
||||
.noUi-vertical .noUi-draggable {
|
||||
cursor: ns-resize;
|
||||
}
|
||||
|
||||
.noUi-handle {
|
||||
border-radius: 10rem;
|
||||
background: $noUiSlider-handle-color;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
// Disabled state
|
||||
.noUi-target[disabled] {
|
||||
opacity: 0.45;
|
||||
}
|
||||
|
||||
[disabled] .noUi-handle {
|
||||
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
[disabled].noUi-target,
|
||||
[disabled].noUi-handle,
|
||||
[disabled] .noUi-handle {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
// Base
|
||||
.noUi-pips,
|
||||
.noUi-pips * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.noUi-pips {
|
||||
color: #999;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
// Values
|
||||
.noUi-value {
|
||||
position: absolute;
|
||||
white-space: nowrap;
|
||||
text-align: center;
|
||||
font-size: $noUiSlider-tick-label-font-size;
|
||||
}
|
||||
|
||||
// Markings
|
||||
.noUi-marker {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
// Horizontal layout
|
||||
.noUi-pips-horizontal {
|
||||
left: 0;
|
||||
top: 100%;
|
||||
padding: (($noUiSlider-handle-height - $noUiSlider-bar-height) * 0.5 + 0.375rem) 0 0 0;
|
||||
height: 5rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.noUi-value-horizontal {
|
||||
padding-top: 0.125rem;
|
||||
transform: translate(-50%, 50%);
|
||||
|
||||
@include app-rtl {
|
||||
transform: translate(50%, 50%);
|
||||
}
|
||||
}
|
||||
|
||||
.noUi-marker-horizontal.noUi-marker {
|
||||
height: $noUiSlider-tick-size;
|
||||
width: 1px;
|
||||
}
|
||||
|
||||
@include app-rtl(false) {
|
||||
.noUi-horizontal {
|
||||
.noUi-origin {
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Vertical layout
|
||||
.noUi-pips-vertical {
|
||||
top: 0;
|
||||
left: 100%;
|
||||
padding: 0 0 0 (($noUiSlider-handle-height - $noUiSlider-bar-height) * 0.5 + 0.375rem);
|
||||
height: 100%;
|
||||
|
||||
@include app-rtl {
|
||||
right: 100%;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.noUi-value-vertical {
|
||||
padding-left: $noUiSlider-tick-size + 0.375rem;
|
||||
transform: translate(0, 50%);
|
||||
|
||||
@include app-rtl {
|
||||
right: 100%;
|
||||
padding-right: $noUiSlider-tick-size + 0.375rem;
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@include app-rtl(false) {
|
||||
.noUi-marker-vertical {
|
||||
right: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.noUi-marker-vertical.noUi-marker {
|
||||
width: $noUiSlider-tick-size;
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
// Tooltips
|
||||
.noUi-tooltip {
|
||||
position: absolute;
|
||||
display: block;
|
||||
padding: 0.25rem 0.5rem;
|
||||
border-radius: 0.25rem;
|
||||
text-align: center;
|
||||
line-height: 1;
|
||||
transition: transform 0.2s;
|
||||
&::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
width: 0;
|
||||
height: 0;
|
||||
clear: both;
|
||||
}
|
||||
}
|
||||
|
||||
.noUi-horizontal .noUi-tooltip {
|
||||
bottom: 125%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -45%);
|
||||
&::after {
|
||||
content: '';
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
top: 1.25rem;
|
||||
border-left: 8px solid transparent;
|
||||
border-right: 8px solid transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.noUi-vertical .noUi-tooltip {
|
||||
top: 50%;
|
||||
right: 125%;
|
||||
transform: translate(-15%, -52%);
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
top: 14%;
|
||||
right: -5px;
|
||||
border-top: 8px solid transparent;
|
||||
border-bottom: 8px solid transparent;
|
||||
@include app-rtl {
|
||||
left: -14px;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
|
||||
@include app-rtl {
|
||||
right: auto;
|
||||
left: 125%;
|
||||
transform: translate(15%, -52%);
|
||||
}
|
||||
}
|
||||
|
||||
// Light style
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
$noUiSlider-default-bg: light.$gray-400;
|
||||
$noUiSlider-tick-label-color: light.$text-light;
|
||||
.noUi-target {
|
||||
.noUi-handle {
|
||||
box-shadow: light.$form-range-thumb-box-shadow;
|
||||
}
|
||||
}
|
||||
|
||||
.noUi-value {
|
||||
color: $noUiSlider-tick-label-color;
|
||||
}
|
||||
.noUi-marker {
|
||||
background: $noUiSlider-tick-label-color;
|
||||
}
|
||||
|
||||
.noUi-tooltip {
|
||||
font-size: light.$small-font-size;
|
||||
color: light.$tooltip-color;
|
||||
border: none;
|
||||
background: light.$tooltip-bg;
|
||||
}
|
||||
.noUi-horizontal .noUi-tooltip {
|
||||
&::after {
|
||||
border-top: 8px solid light.$tooltip-bg;
|
||||
}
|
||||
}
|
||||
.noUi-vertical .noUi-tooltip {
|
||||
&::after {
|
||||
border-left: 8px solid light.$tooltip-bg;
|
||||
}
|
||||
}
|
||||
@include app-rtl-style {
|
||||
.noUi-vertical .noUi-tooltip {
|
||||
&::after {
|
||||
border-right: 8px solid light.$tooltip-bg;
|
||||
border-left: 8px solid transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@each $color, $value in light.$theme-colors {
|
||||
@if $color !=primary {
|
||||
@include nouislider-variant('.noUi-#{$color}', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
$noUiSlider-default-bg: dark.$gray-400;
|
||||
$noUiSlider-tick-label-color: dark.$text-light;
|
||||
.noUi-target {
|
||||
.noUi-handle {
|
||||
box-shadow: dark.$form-range-thumb-box-shadow;
|
||||
}
|
||||
}
|
||||
|
||||
.noUi-value {
|
||||
color: $noUiSlider-tick-label-color;
|
||||
}
|
||||
.noUi-marker {
|
||||
background: $noUiSlider-tick-label-color;
|
||||
}
|
||||
|
||||
.noUi-tooltip {
|
||||
font-size: dark.$small-font-size;
|
||||
color: dark.$tooltip-color;
|
||||
border: none;
|
||||
background: dark.$tooltip-bg;
|
||||
}
|
||||
.noUi-horizontal .noUi-tooltip {
|
||||
&::after {
|
||||
border-top: 8px solid dark.$tooltip-bg;
|
||||
}
|
||||
}
|
||||
.noUi-vertical .noUi-tooltip {
|
||||
&::after {
|
||||
border-left: 8px solid dark.$tooltip-bg;
|
||||
}
|
||||
}
|
||||
@include app-rtl-style {
|
||||
.noUi-vertical .noUi-tooltip {
|
||||
&::after {
|
||||
border-right: 8px solid dark.$tooltip-bg;
|
||||
border-left: 8px solid transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
@each $color, $value in dark.$theme-colors {
|
||||
@if $color !=primary {
|
||||
@include nouislider-variant('.noUi-#{$color}', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
8
modules/Admin/Resources/assets/vendor/libs/numeral/numeral.js
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
import numeral from 'numeral';
|
||||
import 'numeral/locales';
|
||||
|
||||
try {
|
||||
window.numeral = numeral;
|
||||
} catch (e) {}
|
||||
|
||||
export { numeral };
|
7
modules/Admin/Resources/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import PerfectScrollbar from 'perfect-scrollbar/dist/perfect-scrollbar';
|
||||
|
||||
try {
|
||||
window.PerfectScrollbar = PerfectScrollbar;
|
||||
} catch (e) {}
|
||||
|
||||
export { PerfectScrollbar };
|
177
modules/Admin/Resources/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.scss
vendored
Normal file
@ -0,0 +1,177 @@
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
@import 'perfect-scrollbar/css/perfect-scrollbar';
|
||||
|
||||
$ps-width: 0.25rem !default;
|
||||
$ps-hover-width: 0.375rem !default;
|
||||
|
||||
.ps {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.ps__rail-x {
|
||||
height: $ps-width;
|
||||
}
|
||||
|
||||
.ps__rail-y {
|
||||
width: $ps-width;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
.ps__rail-x,
|
||||
.ps__rail-y,
|
||||
.ps__thumb-x,
|
||||
.ps__thumb-y {
|
||||
border-radius: 10rem;
|
||||
}
|
||||
.ps__rail-x:hover,
|
||||
.ps__rail-x:focus,
|
||||
.ps__rail-x.ps--clicking,
|
||||
.ps__rail-x:hover > .ps__thumb-x,
|
||||
.ps__rail-x:focus > .ps__thumb-x,
|
||||
.ps__rail-x.ps--clicking > .ps__thumb-x {
|
||||
height: $ps-hover-width;
|
||||
}
|
||||
|
||||
.ps__rail-y:hover,
|
||||
.ps__rail-y:focus,
|
||||
.ps__rail-y.ps--clicking,
|
||||
.ps__rail-y:hover > .ps__thumb-y,
|
||||
.ps__rail-y:focus > .ps__thumb-y,
|
||||
.ps__rail-y.ps--clicking > .ps__thumb-y {
|
||||
width: $ps-hover-width;
|
||||
}
|
||||
|
||||
.ps__thumb-x {
|
||||
height: $ps-width;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.ps__thumb-y {
|
||||
width: $ps-width;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
// Light layout
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
.ps__thumb-x,
|
||||
.ps__thumb-y {
|
||||
background-color: light.$gray-400;
|
||||
}
|
||||
|
||||
.ps__rail-x:hover,
|
||||
.ps__rail-y:hover,
|
||||
.ps__rail-x:focus,
|
||||
.ps__rail-y:focus,
|
||||
.ps__rail-x.ps--clicking,
|
||||
.ps__rail-y.ps--clicking {
|
||||
background-color: light.$gray-200;
|
||||
}
|
||||
|
||||
.ps__rail-x:hover > .ps__thumb-x,
|
||||
.ps__rail-y:hover > .ps__thumb-y,
|
||||
.ps__rail-x:focus > .ps__thumb-x,
|
||||
.ps__rail-y:focus > .ps__thumb-y,
|
||||
.ps__rail-x.ps--clicking > .ps__thumb-x,
|
||||
.ps__rail-y.ps--clicking > .ps__thumb-y {
|
||||
background-color: light.$gray-700;
|
||||
}
|
||||
|
||||
.ps-inverted {
|
||||
.ps__rail-x:hover,
|
||||
.ps__rail-y:hover,
|
||||
.ps__rail-x:focus,
|
||||
.ps__rail-y:focus,
|
||||
.ps__rail-x.ps--clicking,
|
||||
.ps__rail-y.ps--clicking {
|
||||
background-color: rgba(light.$white, 0.5);
|
||||
}
|
||||
|
||||
.ps__thumb-x,
|
||||
.ps__thumb-y {
|
||||
background-color: rgba(light.$white, 0.7);
|
||||
}
|
||||
|
||||
.ps__rail-x:hover > .ps__thumb-x,
|
||||
.ps__rail-y:hover > .ps__thumb-y,
|
||||
.ps__rail-x:focus > .ps__thumb-x,
|
||||
.ps__rail-y:focus > .ps__thumb-y,
|
||||
.ps__rail-x.ps--clicking > .ps__thumb-x,
|
||||
.ps__rail-y.ps--clicking > .ps__thumb-y {
|
||||
background-color: light.$white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Firefox width issue fixed
|
||||
@supports (-moz-appearance: none) {
|
||||
#both-scrollbars-example {
|
||||
max-width: 1080px;
|
||||
margin: 0 auto;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Dark style
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
.ps__thumb-x,
|
||||
.ps__thumb-y {
|
||||
background-color: rgba(255, 255, 255, 0.438133) !important;
|
||||
}
|
||||
|
||||
.ps__rail-x:hover,
|
||||
.ps__rail-y:hover,
|
||||
.ps__rail-x:focus,
|
||||
.ps__rail-y:focus,
|
||||
.ps__rail-x.ps--clicking,
|
||||
.ps__rail-y.ps--clicking {
|
||||
background-color: rgba(255, 255, 255, 0.438133) !important;
|
||||
}
|
||||
|
||||
.ps__rail-x:hover > .ps__thumb-x,
|
||||
.ps__rail-y:hover > .ps__thumb-y,
|
||||
.ps__rail-x:focus > .ps__thumb-x,
|
||||
.ps__rail-y:focus > .ps__thumb-y,
|
||||
.ps__rail-x.ps--clicking > .ps__thumb-x,
|
||||
.ps__rail-y.ps--clicking > .ps__thumb-y {
|
||||
background-color: dark.$gray-700;
|
||||
}
|
||||
|
||||
.ps-inverted {
|
||||
.ps__rail-x:hover,
|
||||
.ps__rail-y:hover,
|
||||
.ps__rail-x:focus,
|
||||
.ps__rail-y:focus,
|
||||
.ps__rail-x.ps--clicking,
|
||||
.ps__rail-y.ps--clicking {
|
||||
background-color: rgba(light.$white, 0.5);
|
||||
}
|
||||
|
||||
.ps__thumb-x,
|
||||
.ps__thumb-y {
|
||||
background-color: rgba(light.$white, 0.7);
|
||||
}
|
||||
|
||||
.ps__rail-x:hover > .ps__thumb-x,
|
||||
.ps__rail-y:hover > .ps__thumb-y,
|
||||
.ps__rail-x:focus > .ps__thumb-x,
|
||||
.ps__rail-y:focus > .ps__thumb-y,
|
||||
.ps__rail-x.ps--clicking > .ps__thumb-x,
|
||||
.ps__rail-y.ps--clicking > .ps__thumb-y {
|
||||
background-color: light.$white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// RTL rail-y position
|
||||
.ps--active-y > .ps__rail-y {
|
||||
@include app-rtl {
|
||||
left: 0;
|
||||
right: unset !important;
|
||||
}
|
||||
}
|
11
modules/Admin/Resources/assets/vendor/libs/pickr/_mixins.scss
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
|
||||
// Background & Primary color for picker
|
||||
@mixin colorPicker-theme($background) {
|
||||
.pcr-app {
|
||||
.pcr-type.active,
|
||||
.pcr-save {
|
||||
background: $background !important;
|
||||
}
|
||||
}
|
||||
}
|
15
modules/Admin/Resources/assets/vendor/libs/pickr/_pickr-classic.scss
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
@import '@simonwep/pickr/dist/themes/classic.min';
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
|
||||
@include app-rtl(false) {
|
||||
.pcr-app[data-theme='classic'] .pcr-selection .pcr-color-preview {
|
||||
margin-right: inherit;
|
||||
margin-left: 0.75em;
|
||||
}
|
||||
|
||||
.pcr-app[data-theme='classic'] .pcr-selection .pcr-color-chooser,
|
||||
.pcr-app[data-theme='classic'] .pcr-selection .pcr-color-opacity {
|
||||
margin-left: inherit;
|
||||
margin-right: 0.75em;
|
||||
}
|
||||
}
|
10
modules/Admin/Resources/assets/vendor/libs/pickr/_pickr-monolith.scss
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
@import '@simonwep/pickr/dist/themes/monolith.min';
|
||||
|
||||
@include app-rtl(false) {
|
||||
.pcr-app[data-theme='monolith'] .pcr-selection .pcr-color-preview .pcr-last-color {
|
||||
border-radius: 0 0.15em 0.15em 0;
|
||||
}
|
||||
.pcr-app[data-theme='monolith'] .pcr-selection .pcr-color-preview .pcr-current-color {
|
||||
border-radius: 0.15em 0 0 0.15em;
|
||||
}
|
||||
}
|
7
modules/Admin/Resources/assets/vendor/libs/pickr/_pickr-nano.scss
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
@import '@simonwep/pickr/dist/themes/nano.min';
|
||||
|
||||
@include app-rtl(false) {
|
||||
.pcr-app[data-theme='nano'] .pcr-selection .pcr-color-preview {
|
||||
margin-right: 0.6em;
|
||||
}
|
||||
}
|
39
modules/Admin/Resources/assets/vendor/libs/pickr/pickr-themes.scss
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
// Pickr
|
||||
// *******************************************************************************
|
||||
|
||||
@use '../../scss/_bootstrap-extended/include' as light;
|
||||
@use '../../scss/_bootstrap-extended/include-dark' as dark;
|
||||
@import '../../scss/_custom-variables/libs';
|
||||
|
||||
@import 'pickr-classic';
|
||||
@import 'pickr-monolith';
|
||||
@import 'pickr-nano';
|
||||
@import 'mixins';
|
||||
|
||||
@if $enable-light-style {
|
||||
.light-style {
|
||||
.pcr-app {
|
||||
.pcr-interaction input:focus {
|
||||
box-shadow: light.$box-shadow;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dark style for pickr
|
||||
@if $enable-dark-style {
|
||||
.dark-style {
|
||||
.pcr-app {
|
||||
background: dark.$card-bg !important;
|
||||
|
||||
.pcr-type:not(.active),
|
||||
.pcr-result {
|
||||
background: dark.$dropdown-bg !important;
|
||||
color: dark.$white !important;
|
||||
}
|
||||
.pcr-interaction input:focus {
|
||||
box-shadow: dark.$box-shadow;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
7
modules/Admin/Resources/assets/vendor/libs/pickr/pickr.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import pickr from '@simonwep/pickr/dist/pickr.es5.min';
|
||||
|
||||
try {
|
||||
window.pickr = pickr;
|
||||
} catch (e) {}
|
||||
|
||||
export { pickr };
|
52
modules/Admin/Resources/assets/vendor/libs/plyr/_mixins.scss
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
@import '../../scss/_bootstrap-extended/functions';
|
||||
|
||||
// Light style
|
||||
@mixin plyr-theme($background, $color: null) {
|
||||
$color: if($color, $color, color-contrast($background));
|
||||
|
||||
.plyr input[type='range']::-ms-fill-lower {
|
||||
background: $background !important;
|
||||
}
|
||||
|
||||
.plyr input[type='range']:active {
|
||||
&::-webkit-slider-thumb {
|
||||
background: $background !important;
|
||||
}
|
||||
&::-moz-range-thumb {
|
||||
background: $background !important;
|
||||
}
|
||||
&::-ms-thumb {
|
||||
background: $background !important;
|
||||
}
|
||||
}
|
||||
.plyr--video .plyr__control.plyr__control--overlaid,
|
||||
.plyr--video .plyr__controls button.tab-focus:focus,
|
||||
.plyr--video .plyr__control[aria-expanded='true'],
|
||||
.plyr--video .plyr__controls button:hover {
|
||||
background: $background !important;
|
||||
color: $color !important;
|
||||
}
|
||||
|
||||
.plyr--audio .plyr__controls button.tab-focus:focus,
|
||||
.plyr--audio .plyr__control[aria-expanded='true'],
|
||||
.plyr--audio .plyr__controls button:hover {
|
||||
background: $background !important;
|
||||
color: $color !important;
|
||||
}
|
||||
|
||||
.plyr__play-large {
|
||||
background: $background !important;
|
||||
color: $color !important;
|
||||
}
|
||||
|
||||
.plyr__progress--played,
|
||||
.plyr__volume--display {
|
||||
color: $background !important;
|
||||
}
|
||||
.plyr--full-ui input[type='range'] {
|
||||
color: $background !important;
|
||||
}
|
||||
.plyr__menu__container .plyr__control[role='menuitemradio'][aria-checked='true']::before {
|
||||
background: $background !important;
|
||||
}
|
||||
}
|