first commit

This commit is contained in:
2025-03-07 00:29:07 -06:00
commit b21a11c2ee
564 changed files with 94041 additions and 0 deletions

View File

@ -0,0 +1,7 @@
import { AutoFocus } from '@form-validation/plugin-auto-focus';
try {
FormValidation.plugins.AutoFocus = AutoFocus;
} catch (e) {}
export { AutoFocus };

View File

@ -0,0 +1,7 @@
import { Bootstrap5 } from '@form-validation/plugin-bootstrap5';
try {
FormValidation.plugins.Bootstrap5 = Bootstrap5;
} catch (e) {}
export { Bootstrap5 };

View 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';

View File

@ -0,0 +1,8 @@
import FormValidation from '@form-validation/bundle/popular'
try {
window.FormValidation = FormValidation;
} catch (e) {}
export { FormValidation };

View 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;
}
}

View File

@ -0,0 +1 @@
@import 'animate.css/animate';

View 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);
}
}
}
}
}

View File

@ -0,0 +1 @@
import 'bootstrap-datepicker/dist/js/bootstrap-datepicker';

View 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;
}
}
}
}

View 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;
}
}

View File

@ -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;
};

View 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;
}
}
}
}
}
}

View 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;
}
}
}

View File

@ -0,0 +1 @@
import 'bootstrap-select/js/bootstrap-select';

View 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;
}
}
}
}
}

View File

@ -0,0 +1,9 @@
import 'bootstrap-table';
import('bootstrap-table/dist/extensions/cookie/bootstrap-table-cookie.js')
import 'bootstrap-table/dist/extensions/export/bootstrap-table-export.js';
import 'bootstrap-table/dist/extensions/fixed-columns/bootstrap-table-fixed-columns.js';
import 'bootstrap-table/dist/extensions/mobile/bootstrap-table-mobile.js';
import 'bootstrap-table/dist/locale/bootstrap-table-es-MX.js';
import * as XLSX from 'xlsx';
window.XLSX = XLSX;

View File

@ -0,0 +1,2 @@
@import 'bootstrap-table/dist/bootstrap-table.css';
@import 'bootstrap-table/dist/extensions/fixed-columns/bootstrap-table-fixed-columns.css';

View 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;
}
}
}
}
}
}
}

View 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 };

View 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;
}
}
}

View File

@ -0,0 +1 @@
import 'cleave.js/dist/addons/cleave-phone.us';

View File

@ -0,0 +1 @@
import 'cleave.js/dist/cleave';

View File

@ -0,0 +1,28 @@
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';
// 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;
window.JSZip = JSZip;

View 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;
}
}
}

View 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;
}

View File

@ -0,0 +1,2 @@
@import '../../scss/_custom-variables/libs';
@import 'jquery-datatables-checkboxes/css/dataTables.checkboxes';

View 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;
}
}
}
}

View File

@ -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;
}
}
}

View 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&lt;\\/a&gt;).</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'
};

View 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;
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View File

@ -0,0 +1,5 @@
@mixin dropzone-theme($border) {
.dropzone.dz-drag-hover {
border-color: $border !important;
}
}

View 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 };

View 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;
}
}
}
}

View 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);
}
}
}

View File

@ -0,0 +1,7 @@
import flatpickr from 'flatpickr/dist/flatpickr';
try {
window.flatpickr = flatpickr;
} catch (e) {}
export { flatpickr };

File diff suppressed because it is too large Load Diff

View 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;
}
}
}
}

View 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 };

View 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;
}
}
}
}

View File

@ -0,0 +1 @@
import 'hammerjs/hammer.js';

View 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;
}
}

View File

@ -0,0 +1 @@
import 'timepicker/jquery.timepicker';

View 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;
}
}
}

View File

@ -0,0 +1,8 @@
import jQuery from 'jquery/dist/jquery';
const $ = jQuery;
try {
window.jQuery = window.$ = jQuery;
} catch (e) {}
export { jQuery, $ };

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 618 B

View 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 };

View 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;
}
}

View File

@ -0,0 +1,7 @@
import moment from 'moment/moment';
try {
window.moment = moment;
} catch (e) {}
export { moment };

View File

@ -0,0 +1,3 @@
import nodeWaves from 'node-waves/src/js/waves';
window.Waves = nodeWaves;

View File

@ -0,0 +1,4 @@
// Waves
// *******************************************************************************
@import 'node-waves/src/scss/waves';

View 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);
}

View File

@ -0,0 +1,7 @@
import noUiSlider from 'nouislider';
try {
window.noUiSlider = noUiSlider;
} catch (e) {}
export { noUiSlider };

View 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);
}
}
}
}

View File

@ -0,0 +1,7 @@
import PerfectScrollbar from 'perfect-scrollbar/dist/perfect-scrollbar';
try {
window.PerfectScrollbar = PerfectScrollbar;
} catch (e) {}
export { PerfectScrollbar };

View 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;
}
}

View 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;
}
}
}

View 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;
}
}

View 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;
}
}

View 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;
}
}

View 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;
}
}
}
}

View File

@ -0,0 +1,7 @@
import pickr from '@simonwep/pickr/dist/pickr.es5.min';
try {
window.pickr = pickr;
} catch (e) {}
export { pickr };

View 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;
}
}

View File

@ -0,0 +1,7 @@
import Plyr from 'plyr';
try {
window.Plyr = Plyr;
} catch (e) {}
export { Plyr };

View File

@ -0,0 +1,132 @@
@use '../../scss/_bootstrap-extended/include' as light;
@use '../../scss/_bootstrap-extended/include-dark' as dark;
@import '../../scss/_custom-variables/libs';
// Variables
@import 'plyr/src/sass/settings/breakpoints';
@import 'plyr/src/sass/settings/colors';
@import 'plyr/src/sass/settings/cosmetics';
@import 'plyr/src/sass/settings/type';
@import 'plyr/src/sass/settings/badges';
@import 'plyr/src/sass/settings/captions';
@import 'plyr/src/sass/settings/controls';
@import 'plyr/src/sass/settings/helpers';
@import 'plyr/src/sass/settings/menus';
@import 'plyr/src/sass/settings/progress';
@import 'plyr/src/sass/settings/sliders';
@import 'plyr/src/sass/settings/tooltips';
@import 'plyr/src/sass/lib/animation';
@import 'plyr/src/sass/lib/functions';
@import 'plyr/src/sass/lib/mixins';
// Components
@import 'plyr/src/sass/base';
@import 'plyr/src/sass/components/badges';
@import 'plyr/src/sass/components/captions';
@import 'plyr/src/sass/components/control';
@import 'plyr/src/sass/components/controls';
@import 'plyr/src/sass/components/menus';
@import 'plyr/src/sass/components/sliders';
@import 'plyr/src/sass/components/poster';
@import 'plyr/src/sass/components/times';
@import 'plyr/src/sass/components/tooltips';
@import 'plyr/src/sass/components/progress';
@import 'plyr/src/sass/components/volume';
@import 'plyr/src/sass/types/audio';
@import 'plyr/src/sass/types/video';
@import 'plyr/src/sass/states/fullscreen';
@import 'plyr/src/sass/plugins/ads';
@import 'plyr/src/sass/plugins/preview-thumbnails';
@import 'plyr/src/sass/utils/animation';
@import 'plyr/src/sass/utils/hidden';
.plyr__progress__container,
.plyr__volume input[type='range'] {
flex: 0 1 auto;
}
.plyr--audio .plyr__controls {
padding: 0;
}
.plyr__menu__container {
@include app-rtl {
direction: rtl;
text-align: right;
.plyr__control--forward {
&::after {
left: 5px;
right: auto;
border-right-color: rgba($plyr-menu-color, 0.8);
border-left-color: transparent;
}
&.plyr__tab-focus::after,
&:hover::after {
border-right-color: currentColor;
}
}
.plyr__menu__value {
padding-left: 1rem;
padding-right: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5);
}
.plyr__control[role='menuitemradio'] {
.plyr__menu__value {
margin-right: auto;
padding-left: 0;
}
&::before {
margin-left: $plyr-control-spacing;
margin-right: 0;
}
&::after {
right: 15px;
left: auto;
}
}
}
}
@if $enable-light-style {
.light-style {
.plyr__tooltip {
line-height: light.$line-height-sm;
font-size: light.$font-size-sm;
}
}
}
@if $enable-dark-style {
.dark-style {
.plyr__tooltip {
line-height: dark.$line-height-sm;
font-size: dark.$font-size-sm;
}
.plyr--audio .plyr__controls {
color: dark.$body-color;
background-color: dark.$card-bg;
}
.plyr--full-ui.plyr--audio input[type='range'] {
&::-webkit-slider-runnable-track {
background-color: dark.$gray-100;
}
&::-moz-range-track {
background-color: dark.$gray-100;
}
&::-ms-track {
background-color: dark.$gray-100;
}
}
.plyr--audio .plyr__progress__buffer {
color: dark.$gray-200;
}
}
}

View File

@ -0,0 +1,10 @@
import Popper from '@popperjs/core/dist/umd/popper.min';
// Required to enable animations on dropdowns/tooltips/popovers
// Popper.Defaults.modifiers.computeStyle.gpuAcceleration = false
try {
window.Popper = Popper;
} catch (e) {}
export { Popper };

View File

@ -0,0 +1,115 @@
@mixin quill-generate-lists($indent) {
$quill-list-types: (
1: lower-alpha,
2: lower-roman,
3: decimal,
4: lower-alpha,
5: lower-roman,
6: decimal,
7: lower-alpha,
8: lower-roman,
9: decimal
);
@for $i from 1 through 9 {
ol li.ql-indent-#{$i} {
counter-increment: list-#{$i};
@if $i < 9 {
$lists: '';
@for $l from $i + 1 through 9 {
$lists: '#{$lists} list-#{$l}';
}
counter-reset: #{$lists};
}
&::before {
content: counter(list-#{$i}, map-get($quill-list-types, $i)) '. ';
}
}
.ql-indent-#{$i}:not(.ql-direction-rtl) {
padding-left: $indent * $i;
[dir='rtl'] & {
padding-right: $indent * $i;
padding-left: 0;
}
}
li.ql-indent-#{$i}:not(.ql-direction-rtl) {
padding-left: $indent * ($i + 1);
[dir='rtl'] & {
padding-right: $indent * ($i + 1);
padding-left: 0;
}
}
.ql-indent-#{$i}.ql-direction-rtl.ql-align-right {
padding-right: $indent * $i;
[dir='rtl'] & {
padding-right: 0;
padding-left: $indent * $i;
}
}
li.ql-indent-#{$i}.ql-direction-rtl.ql-align-right {
padding-right: $indent * ($i + 1);
[dir='rtl'] & {
padding-right: 0;
padding-left: $indent * ($i + 1);
}
}
}
}
@mixin quill-theme($color) {
.ql-snow.ql-toolbar,
.ql-snow .ql-toolbar {
button:hover,
button:focus,
button.ql-active,
.ql-picker-label:hover,
.ql-picker-label.ql-active,
.ql-picker-item:hover,
.ql-picker-item.ql-selected {
color: $color !important;
}
button:hover .ql-fill,
button:focus .ql-fill,
button.ql-active .ql-fill,
.ql-picker-label:hover .ql-fill,
.ql-picker-label.ql-active .ql-fill,
.ql-picker-item:hover .ql-fill,
.ql-picker-item.ql-selected .ql-fill,
button:hover .ql-stroke.ql-fill,
button:focus .ql-stroke.ql-fill,
button.ql-active .ql-stroke.ql-fill,
.ql-picker-label:hover .ql-stroke.ql-fill,
.ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-picker-item:hover .ql-stroke.ql-fill,
.ql-picker-item.ql-selected .ql-stroke.ql-fill {
fill: $color !important;
}
button:hover .ql-stroke,
button:focus .ql-stroke,
button.ql-active .ql-stroke,
.ql-picker-label:hover .ql-stroke,
.ql-picker-label.ql-active .ql-stroke,
.ql-picker-item:hover .ql-stroke,
.ql-picker-item.ql-selected .ql-stroke,
button:hover .ql-stroke-miter,
button:focus .ql-stroke-miter,
button.ql-active .ql-stroke-miter,
.ql-picker-label:hover .ql-stroke-miter,
.ql-picker-label.ql-active .ql-stroke-miter,
.ql-picker-item:hover .ql-stroke-miter,
.ql-picker-item.ql-selected .ql-stroke-miter {
stroke: $color !important;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
import katex from 'katex/dist/katex';
try {
window.katex = katex;
} catch (e) {}
export { katex };

View File

@ -0,0 +1 @@
@import 'katex/dist/katex';

View File

@ -0,0 +1,7 @@
import Quill from 'quill/dist/quill';
try {
window.Quill = Quill;
} catch (e) {}
export { Quill };

View File

@ -0,0 +1,289 @@
@use '../../scss/_bootstrap-extended/include' as light;
@use '../../scss/_bootstrap-extended/include-dark' as dark;
@import '../../scss/_custom-variables/libs';
@import 'mixins';
.ql-editor,
.ql-content {
$quill-indent: 2rem;
p,
ol,
ul,
pre,
blockquote,
h1,
h2,
h3,
h4,
h5,
h6 {
counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}
ol,
ul {
margin-right: 0;
margin-left: 0;
padding-right: 0;
padding-left: 0;
}
ol > li,
ul > li {
list-style-type: none;
&:not(.ql-direction-rtl) {
padding-left: $quill-indent;
@include app-rtl {
padding-right: $quill-indent;
padding-left: 0;
}
}
&.ql-direction-rtl {
padding-right: $quill-indent;
@include app-rtl {
padding-right: 0;
padding-left: $quill-indent;
}
}
}
ul > li::before {
content: '\2022';
}
ul[data-checked='true'],
ul[data-checked='false'] {
pointer-events: none;
> li * {
pointer-events: all;
&::before {
pointer-events: all;
cursor: pointer;
color: #777;
}
}
}
ul[data-checked='false'] > li::before {
content: '\2610';
}
ul[data-checked='true'] > li::before {
content: '\2611';
}
li::before {
display: inline-block;
width: calc(#{$quill-indent} - 0.3em);
white-space: nowrap;
}
li.ql-direction-rtl::before {
margin-right: -$quill-indent;
margin-left: 0.3em;
text-align: left;
@include app-rtl {
margin-right: 0.3em;
margin-left: -$quill-indent;
text-align: right;
}
}
li:not(.ql-direction-rtl)::before {
text-align: right;
margin-left: -$quill-indent;
margin-right: 0.3em;
@include app-rtl {
text-align: left;
margin-left: 0.3em;
margin-right: -$quill-indent;
}
}
ol li {
counter-increment: list-0;
counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
&::before {
content: counter(list-0, decimal) '. ';
}
}
@include quill-generate-lists($quill-indent);
.ql-video {
max-width: 100%;
display: block;
&.ql-align-right {
margin: 0 0 0 auto;
@include app-rtl {
margin: 0 auto 0 0;
}
}
&.ql-align-center {
margin: 0 auto;
}
}
.ql-bg-red {
background-color: #e60000;
}
.ql-bg-black {
background-color: #000;
}
.ql-bg-yellow {
background-color: #ff0;
}
.ql-bg-orange {
background-color: #f90;
}
.ql-bg-purple {
background-color: #93f;
}
.ql-bg-blue {
background-color: #06c;
}
.ql-bg-green {
background-color: #008a00;
}
.ql-color-red {
color: #e60000;
}
.ql-color-white {
color: #fff;
}
.ql-color-yellow {
color: #ff0;
}
.ql-color-orange {
color: #f90;
}
.ql-color-purple {
color: #93f;
}
.ql-color-blue {
color: #06c;
}
.ql-color-green {
color: #008a00;
}
.ql-direction-rtl {
direction: rtl;
text-align: inherit;
@include app-rtl {
direction: ltr;
text-align: inherit;
}
}
.ql-align-center {
text-align: center;
}
.ql-align-justify {
text-align: justify;
}
.ql-align-right {
text-align: right;
@include app-rtl {
text-align: left;
}
}
img {
max-width: 100%;
}
}
// Light style
@if $enable-light-style {
.light-style {
.ql-editor,
.ql-content {
blockquote {
font-size: light.$blockquote-font-size;
margin-bottom: light.$spacer;
}
.ql-font-serif {
font-family: light.$font-family-serif;
}
.ql-font-monospace {
font-family: light.$font-family-monospace;
}
.ql-size-large {
font-size: light.$font-size-lg;
}
.ql-size-huge {
font-size: light.$font-size-xl;
}
.ql-size-small {
font-size: light.$font-size-sm;
}
}
}
}
// Dark style
@if $enable-dark-style {
.dark-style {
.ql-editor,
.ql-content {
blockquote {
font-size: dark.$blockquote-font-size;
margin-bottom: dark.$spacer;
}
.ql-font-monospace {
font-family: dark.$font-family-monospace;
}
.ql-font-serif {
font-family: dark.$font-family-serif;
}
.ql-size-huge {
font-size: dark.$font-size-xl;
}
.ql-size-large {
font-size: dark.$font-size-lg;
}
.ql-size-small {
font-size: dark.$font-size-sm;
}
}
}
}

View File

@ -0,0 +1,38 @@
@import '../../scss/_bootstrap-extended/include';
@mixin select2-variant($background, $color: null) {
$color: if($color, $color, color-contrast($background));
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background: rgba($background, 0.16) !important;
color: $background !important;
}
}
@mixin select2-validation-state($state, $border) {
.is-#{$state} .select2-container--default .select2-selection,
.is-#{$state}.select2-container--default .select2-selection {
border-width: $input-focus-border-width;
border-color: $border !important;
}
}
@mixin select2-theme($background, $color: null) {
$color: if($color, $color, color-contrast($background));
.select2-container--default {
.select2-results__option--highlighted[aria-selected] {
background-color: $background !important;
color: $color !important;
}
&.select2-container--focus .select2-selection,
&.select2-container--open .select2-selection {
border-width: $input-focus-border-width;
border-color: $background !important;
}
}
.select2-primary {
@include select2-variant($background, $color);
}
}

View File

@ -0,0 +1,3 @@
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Por favor, elimine "+n+" car";return r+=1==n?"ácter":"acteres"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Por favor, introduzca "+n+" car";return r+=1==n?"ácter":"acteres"},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var n="Sólo puede seleccionar "+e.maximum+" elemento";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Eliminar todos los elementos"}}}),e.define,e.require}();

View File

@ -0,0 +1,8 @@
import select2 from 'select2/dist/js/select2.full';
try {
window.select2 = select2;
} catch (e) {}
select2();
export { select2 };

View File

@ -0,0 +1,890 @@
// Select2
// *******************************************************************************
@use '../../scss/_bootstrap-extended/include' as light;
@use '../../scss/_bootstrap-extended/include-dark' as dark;
@import '../../scss/_custom-variables/libs';
@import 'mixins';
$select2-arrow-wrapper-width: 2.25rem !default;
$select2-multiple-selection-line-height: 1.5rem !default;
.select2-container {
margin: 0;
width: 100% !important;
display: inline-block;
position: relative;
vertical-align: middle;
box-sizing: border-box;
@import 'select2/src/scss/single';
@import 'select2/src/scss/multiple';
.select2-search--inline {
.select2-search__field {
margin-top: 6px;
}
}
}
@import 'select2/src/scss/dropdown';
.select2-results__option {
&[role='option'] {
margin: 0.125rem 0.5rem;
}
&[role='option'] {
border-radius: light.$border-radius;
padding: 0.543rem light.$spacer;
&[aria-selected='true'] {
background-color: light.$primary;
color: light.$component-active-color;
}
}
}
.select2-container--default .select2-results__option--highlighted:not([aria-selected='true']) {
background-color: light.$component-hover-bg !important;
color: light.$component-hover-color !important;
}
.select2-hidden-accessible {
clip: rect(0 0 0 0) !important;
overflow: hidden !important;
position: absolute !important;
padding: 0 !important;
margin: -1px !important;
border: 0 !important;
height: 1px !important;
width: 1px !important;
}
.select2-close-mask {
display: block;
padding: 0;
margin: 0;
position: fixed;
left: 0;
top: 0;
min-width: 100%;
min-height: 100%;
z-index: 99;
width: auto;
opacity: 0;
border: 0;
height: auto;
}
.select2-dropdown {
border: 0;
border-radius: light.$input-border-radius;
}
.select2-container--default {
// Single Selection
.select2-selection--single {
.select2-selection__rendered {
padding-right: $select2-arrow-wrapper-width - 0.0625rem;
}
.select2-selection__clear {
cursor: pointer;
font-weight: light.$font-weight-medium;
float: right;
}
.select2-selection__arrow {
width: $select2-arrow-wrapper-width;
position: absolute;
right: 1px;
top: 1px;
b {
position: absolute;
height: 18px;
width: 20px;
top: 24%;
background-repeat: no-repeat;
background-size: 20px 19px;
transform-origin: center;
transition: transform 0.3s ease;
}
}
}
&.select2-container--above.select2-container--open .select2-selection__arrow b {
transform: rotate(180deg);
}
// Remove outlines
&,
* {
outline: 0 !important;
}
&.select2-container--disabled {
pointer-events: none;
}
&.select2-container--disabled .select2-selection--single {
cursor: not-allowed;
.select2-selection__clear {
display: none;
}
}
@include app-rtl-style {
.select2-selection__clear {
float: left;
}
.select2-selection__arrow {
left: 1px;
right: auto;
}
}
// search field styles
.select2-search--dropdown .select2-search__field {
border-radius: light.$input-border-radius;
margin: 0.25rem 0.5rem;
margin-bottom: 0;
width: calc(100% - 1rem);
}
// Multiple Selection
.select2-selection--multiple {
.select2-selection__rendered {
margin: 0;
box-sizing: border-box;
display: block;
list-style: none;
width: 100%;
li {
list-style: none;
}
}
.select2-selection__placeholder {
float: left;
}
.select2-selection__clear {
cursor: pointer;
font-weight: light.$font-weight-medium;
float: right;
margin-right: 0.625rem;
}
.select2-search--inline {
line-height: $select2-multiple-selection-line-height;
}
.select2-selection__choice {
position: relative;
font-size: light.$font-size-sm;
border-radius: light.$border-radius-sm;
padding: 0 0.5rem;
cursor: default;
line-height: $select2-multiple-selection-line-height;
float: left;
@include app-ltr {
padding-right: 1rem;
}
@include app-rtl {
padding-left: 1rem;
}
}
.select2-selection__choice__remove {
font-weight: light.$font-weight-medium;
color: inherit;
display: inline-block;
position: absolute;
cursor: pointer;
opacity: 0.5;
@include app-ltr {
right: 0.3rem;
}
@include app-rtl {
left: 0.3rem;
}
&:hover {
opacity: 0.8;
color: inherit;
}
}
}
&.select2-container--disabled .select2-selection__choice__remove {
display: none;
}
&.select2-container--disabled .select2-selection--multiple {
cursor: not-allowed;
}
@include app-rtl-style {
.select2-selection__choice,
.select2-selection__placeholder,
.select2-search--inline {
float: right;
}
.select2-selection__choice__remove {
margin-left: 0;
float: left;
margin-right: 0.25rem;
}
.select2-selection__clear {
margin-left: 0.625rem;
float: left;
}
}
// Placeholder
.select2-search__field::-moz-placeholder {
opacity: 1;
}
.select2-search--inline .select2-search__field {
box-shadow: none;
background: transparent;
border: none;
outline: 0;
-webkit-appearance: textfield;
}
&.select2-container--focus .select2-search--inline .select2-search__field {
margin-top: 5px;
}
.select2-results > .select2-results__options {
max-height: 15rem;
overflow-y: auto;
margin-block: 0.5rem;
}
.select2-results__option {
&[role='group'] {
padding: 0;
}
&[aria-disabled='true'] {
color: #999;
}
.select2-results__option .select2-results__group {
padding-left: 0;
}
}
&.select2-container--open {
&.select2-container--below .select2-selection {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
&.select2-container--above .select2-selection {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
}
.select2-results__group {
cursor: default;
display: block;
font-weight: light.$font-weight-medium;
}
}
.select2-hidden-accessible {
&.is-invalid {
+ .select2-container--default {
&.select2-container--focus {
.select2-search--inline {
.select2-search__field {
margin-top: 6px;
}
}
}
}
}
}
@include app-rtl(false) {
.select2-container--default .select2-selection--single .select2-selection__rendered {
padding-left: $select2-arrow-wrapper-width - 0.0625rem;
}
}
@if $enable-light-style {
.light-style {
$select2-multiple-choice-spacer: px-to-rem(
floor(rem-to-px((light.$input-height-inner - $select2-multiple-selection-line-height) * 0.5))
);
.select2-hidden-accessible {
&.is-invalid {
+ .select2-container--default {
&,
&.select2-container--open {
.select2-selection--multiple {
padding: calc(
light.$form-select-padding-y -
light.$input-border-width -
$select2-multiple-choice-spacer -
light.$input-border-width
)
calc(light.$form-select-padding-x - $input-focus-border-width);
}
}
}
}
}
.select2-selection--multiple {
.select2-selection__clear {
margin-top: $select2-multiple-choice-spacer;
}
.select2-selection__rendered {
padding: 0;
}
.select2-selection__choice {
margin-top: calc($select2-multiple-choice-spacer - 1px);
margin-right: $select2-multiple-choice-spacer;
background-color: light.$gray-75;
&:nth-last-child(2) {
margin-bottom: calc($select2-multiple-choice-spacer - 1px);
}
}
.select2-selection__placeholder {
margin-top: $select2-multiple-choice-spacer;
}
}
.select2-search__field {
color: light.$input-color;
}
.select2-dropdown {
background: light.$dropdown-bg;
box-shadow: light.$dropdown-box-shadow;
background-clip: padding-box;
border-color: light.$dropdown-border-color;
z-index: light.$zindex-dropdown;
&.select2-dropdown--above {
box-shadow: 0 -0.2rem 1.25rem rgba(light.rgba-to-hex(light.$gray-500, light.$rgba-to-hex-bg), 0.4) !important;
}
}
.select2-container--default {
.select2-selection {
transition: light.$input-transition;
background-color: light.$input-bg;
border: 1px solid light.$input-border-color;
@include light.border-radius(light.$border-radius);
&:hover {
border-color: light.$input-border-hover-color;
}
}
.select2-selection__placeholder {
color: light.$input-placeholder-color;
}
// Single Selection
// *******************************************************************************
.select2-selection--single {
height: light.$input-height;
.select2-selection__clear {
color: light.$text-muted;
}
.select2-selection__arrow {
height: light.$input-height;
position: absolute;
b {
background-image: str-replace(
str-replace(
light.$form-select-indicator,
'#{$form-select-indicator-color}',
light.$form-select-indicator-color
),
'#',
'%23'
);
}
}
.select2-selection__rendered {
line-height: calc(light.$input-height-inner - light.$input-border-width);
color: light.$input-color;
}
}
&.select2-container--disabled .select2-selection__arrow {
b {
background-image: str-replace(
str-replace(light.$form-select-disabled-indicator, '#{$text-muted}', light.$text-muted),
'#',
'%23'
);
}
}
@include app-ltr-style {
.select2-selection--single .select2-selection__rendered {
padding-left: calc(light.$input-padding-x - light.$input-border-width);
}
}
@include app-rtl-style {
.select2-selection--single .select2-selection__rendered {
padding-right: calc(light.$input-padding-x - light.$input-border-width);
}
}
&.select2-container--disabled .select2-selection--single {
background-color: light.$input-disabled-bg;
border-color: light.$input-border-color !important;
.select2-selection__rendered {
color: light.$text-muted;
}
}
// Multiple Selection
// *******************************************************************************
.select2-selection--multiple {
min-height: calc(light.$input-height - light.$input-focus-border-width);
// TODO: Improve the padding calculation
padding: calc(light.$form-select-padding-y - light.$input-border-width - $select2-multiple-choice-spacer)
calc(light.$form-select-padding-x - light.$input-border-width);
.select2-selection__choice {
color: light.$body-color;
background-color: light.$gray-75;
}
}
&.select2-container--focus,
&.select2-container--open {
.select2-selection--single {
.select2-selection__rendered {
line-height: calc($input-height-inner - $input-border-width - $input-focus-border-width);
padding-inline-start: calc(light.$input-padding-x - $input-focus-border-width);
padding-inline-end: calc($select2-arrow-wrapper-width - $input-focus-border-width);
}
}
.select2-selection--multiple {
padding: calc(
light.$form-select-padding-y -
light.$input-border-width -
$select2-multiple-choice-spacer -
light.$input-border-width
)
calc(light.$form-select-padding-x - $input-focus-border-width);
.select2-selection__choice {
margin-top: calc($select2-multiple-choice-spacer - light.$input-focus-border-width);
&:nth-last-child(2) {
margin-bottom: calc($select2-multiple-choice-spacer - light.$input-focus-border-width);
}
}
}
}
&.select2-container--disabled .select2-selection--multiple {
border-color: light.$input-border-color !important;
background-color: light.$input-disabled-bg;
.select2-selection__rendered {
color: light.$text-muted;
}
}
// Generic
// *******************************************************************************
.select2-search--dropdown .select2-search__field {
border: 1px solid light.$input-border-color;
}
// Placeholder
.select2-search__field {
&::-webkit-input-placeholder {
color: light.$input-placeholder-color;
}
&::-moz-placeholder {
color: light.$input-placeholder-color;
}
&:-ms-input-placeholder {
color: light.$input-placeholder-color;
}
}
.select2-results__option {
color: light.$headings-color;
&[aria-selected='true'] {
color: light.$body-color;
background-color: light.$gray-100;
}
.select2-results__option[role='option'] {
width: calc(#{'100% - #{light.$input-padding-x}'});
padding-left: light.$input-padding-x;
.select2-results__option[role='option'] {
padding-left: light.$input-padding-x * 2;
.select2-results__option[role='option'] {
padding-left: light.$input-padding-x * 3;
.select2-results__option[role='option'] {
padding-left: light.$input-padding-x * 4;
.select2-results__option[role='option'] {
padding-left: light.$input-padding-x * 5;
.select2-results__option[role='option'] {
padding-left: light.$input-padding-x;
}
}
}
}
}
}
}
.select2-results__group {
padding: 0.5rem (light.$input-padding-x * 0.5);
}
}
@if $enable-rtl-support {
.select2-container--default[dir='rtl'] .select2-selection--multiple .select2-selection__choice {
margin-left: $select2-multiple-choice-spacer;
margin-right: 0;
}
}
@include app-rtl-style {
.select2-container--default {
.select2-results__option .select2-results__option {
padding-right: light.$input-padding-x;
padding-left: 0 !important;
margin-left: 0 !important;
.select2-results__option[role='option'] {
padding-right: light.$input-padding-x * 2;
.select2-results__option[role='option'] {
padding-right: light.$input-padding-x * 3;
.select2-results__option[role='option'] {
padding-right: light.$input-padding-x * 4;
.select2-results__option[role='option'] {
padding-right: light.$input-padding-x * 5;
.select2-results__option[role='option'] {
padding-right: light.$input-padding-x;
}
}
}
}
}
}
}
}
@include select2-validation-state('valid', light.$form-feedback-valid-color);
@include select2-validation-state('invalid', light.$form-feedback-invalid-color);
@each $color, $value in light.$theme-colors {
@if $color != primary {
.select2-#{$color} {
@include select2-variant($value);
}
}
}
}
}
@if $enable-dark-style {
.dark-style {
$select2-multiple-choice-spacer: px-to-rem(
floor(rem-to-px((dark.$input-height-inner - $select2-multiple-selection-line-height) * 0.5))
);
.select2-selection--multiple {
.select2-selection__choice {
margin-top: calc($select2-multiple-choice-spacer - 1px);
margin-right: $select2-multiple-choice-spacer;
background-color: dark.$gray-75;
&:nth-last-child(2) {
margin-bottom: calc($select2-multiple-choice-spacer - 1px);
}
}
.select2-selection__clear {
margin-top: $select2-multiple-choice-spacer;
}
.select2-selection__placeholder {
margin-top: $select2-multiple-choice-spacer;
}
.select2-selection__rendered {
padding: 0;
}
}
@if $enable-rtl-support {
.select2-container--default[dir='rtl'] .select2-selection--multiple .select2-selection__choice {
margin-left: $select2-multiple-choice-spacer;
margin-right: 0;
}
}
.select2-container--default {
.select2-selection {
transition: dark.$input-transition;
background-color: dark.$input-bg;
border: 1px solid dark.$input-border-color;
@include dark.border-radius(dark.$border-radius);
&:hover {
border-color: dark.$input-border-hover-color;
}
}
.select2-selection__placeholder {
color: dark.$input-placeholder-color;
}
// Single Selection
// *******************************************************************************
.select2-selection--single {
height: dark.$input-height;
.select2-selection__arrow {
height: dark.$input-height;
position: absolute;
b {
background-image: str-replace(
str-replace(
dark.$form-select-indicator,
'#{$form-select-indicator-color}',
dark.$form-select-indicator-color
),
'#',
'%23'
);
}
}
.select2-selection__rendered {
line-height: calc(dark.$input-height-inner - dark.$input-border-width);
color: dark.$input-color;
}
.select2-selection__clear {
color: dark.$text-muted;
}
}
&.select2-container--disabled .select2-selection__arrow {
b {
background-image: str-replace(
str-replace(dark.$form-select-disabled-indicator, '#{$text-muted}', dark.$text-muted),
'#',
'%23'
);
}
}
@include app-ltr-style {
.select2-selection--single .select2-selection__rendered {
padding-left: calc(dark.$input-padding-x - dark.$input-border-width);
}
}
// Multiple Selection
.select2-selection--multiple {
min-height: calc(dark.$input-height - dark.$input-focus-border-width);
// TODO: Improve the padding calculation
padding: calc(dark.$form-select-padding-y - dark.$input-border-width - $select2-multiple-choice-spacer)
calc(dark.$form-select-padding-x - dark.$input-border-width);
.select2-selection__choice {
color: dark.$body-color;
background-color: dark.$gray-75;
}
}
&.select2-container--focus,
&.select2-container--open {
.select2-selection--single {
.select2-selection__rendered {
line-height: calc(dark.$input-height-inner - dark.$input-border-width - dark.$input-focus-border-width);
padding-inline-start: calc(dark.$input-padding-x - dark.$input-focus-border-width) !important;
padding-inline-end: calc($select2-arrow-wrapper-width - dark.$input-focus-border-width);
}
}
.select2-selection--multiple {
padding: calc(
dark.$form-select-padding-y -
dark.$input-border-width -
$select2-multiple-choice-spacer -
dark.$input-border-width
)
calc(dark.$form-select-padding-x - dark.$input-focus-border-width);
.select2-selection__choice {
margin-top: calc($select2-multiple-choice-spacer - light.$input-focus-border-width);
&:nth-last-child(2) {
margin-bottom: calc($select2-multiple-choice-spacer - light.$input-focus-border-width);
}
}
}
}
&.select2-container--disabled .select2-selection--multiple {
border-color: dark.$input-border-color !important;
background-color: dark.$input-disabled-bg;
.select2-selection__rendered {
color: dark.$text-muted;
}
}
@include app-rtl-style {
.select2-selection--single .select2-selection__rendered {
padding-right: calc(dark.$input-padding-x - dark.$input-border-width);
}
}
&.select2-container--open .select2-selection--single .select2-selection__arrow b {
border-color: transparent transparent dark.$input-placeholder-color transparent;
}
&.select2-container--disabled .select2-selection--single {
background-color: dark.$input-disabled-bg;
border-color: dark.$input-border-color !important;
.select2-selection__rendered {
color: dark.$text-muted;
}
}
// Placeholder
.select2-search__field {
&::-webkit-input-placeholder {
color: dark.$input-placeholder-color;
}
&::-moz-placeholder {
color: dark.$input-placeholder-color;
}
&:-ms-input-placeholder {
color: dark.$input-placeholder-color;
}
}
.select2-search--dropdown .select2-search__field {
border: 1px solid dark.$input-border-color;
background: dark.$input-bg;
}
.select2-results__option {
color: dark.$headings-color;
&[aria-selected='true'] {
color: dark.$body-color;
background-color: dark.$gray-100;
}
.select2-results__option {
.select2-results__option[role='option'] {
padding-left: dark.$input-padding-x;
.select2-results__option[role='option'] {
padding-left: dark.$input-padding-x * 2;
.select2-results__option[role='option'] {
padding-left: dark.$input-padding-x * 3;
.select2-results__option[role='option'] {
padding-left: dark.$input-padding-x * 4;
.select2-results__option[role='option'] {
padding-left: dark.$input-padding-x * 5;
.select2-results__option[role='option'] {
padding-left: dark.$input-padding-x;
}
}
}
}
}
}
}
}
.select2-results__group {
padding: 0.5rem (dark.$input-padding-x * 0.5);
}
}
.select2-dropdown {
z-index: dark.$zindex-dropdown;
background: dark.$dropdown-bg;
border-color: dark.$dropdown-border-color;
background-clip: padding-box;
box-shadow: dark.$dropdown-box-shadow;
&.select2-dropdown--above {
box-shadow: 0 -0.2rem 1.25rem rgba(15, 20, 34, 0.55) !important;
}
}
.select2-search__field {
color: dark.$input-color;
}
@include app-rtl-style {
.select2-container--default {
.select2-results__option .select2-results__option {
padding-left: 0 !important;
padding-right: dark.$input-padding-x;
margin-left: 0 !important;
.select2-results__option[role='option'] {
padding-right: dark.$input-padding-x * 2;
.select2-results__option[role='option'] {
padding-right: dark.$input-padding-x * 3;
.select2-results__option[role='option'] {
padding-right: dark.$input-padding-x * 4;
.select2-results__option[role='option'] {
padding-right: dark.$input-padding-x * 5;
.select2-results__option[role='option'] {
padding-right: dark.$input-padding-x;
}
}
}
}
}
}
}
}
@include select2-validation-state('valid', dark.$form-feedback-valid-color);
@include select2-validation-state('invalid', dark.$form-feedback-invalid-color);
@each $color, $value in dark.$theme-colors {
@if $color != primary {
.select2-#{$color} {
@include select2-variant($value);
}
}
}
}
}

View File

@ -0,0 +1,8 @@
@import '../../scss/_bootstrap-extended/include';
@mixin tour-theme($background) {
// ! Note: If we remove this mixin, the background-color of label button in dark mode will not work properly.
.shepherd-element {
@include template-button-variant('.shepherd-button:not(:disabled).btn-primary', $background);
@include template-button-label-variant('.shepherd-button:not(:disabled).btn-label-secondary', $secondary);
}
}

View File

@ -0,0 +1,7 @@
import Shepherd from 'shepherd.js/dist/js/shepherd';
try {
window.Shepherd = Shepherd;
} catch (e) {}
export { Shepherd };

View File

@ -0,0 +1,144 @@
@use '../../scss/_bootstrap-extended/include' as light;
@use '../../scss/_bootstrap-extended/include-dark' as dark;
@charset "UTF-8";
@import '../../scss/_custom-variables/libs';
@import 'shepherd.js/dist/css/shepherd';
@import './mixins';
$shepherd-header-content-padding-x: 1.25rem !default;
$shepherd-header-content-padding-y: 1.25rem !default;
$shepherd-btn-padding-x: 1.25rem !default;
$shepherd-container-width: 15rem !default;
.shepherd-element {
.shepherd-arrow:before {
border-right: 1px solid;
border-bottom: 1px solid;
}
.shepherd-content {
min-width: $shepherd-container-width;
border-radius: light.$border-radius !important;
.shepherd-header {
padding: $shepherd-header-content-padding-y $shepherd-header-content-padding-x 0;
.shepherd-title {
font-weight: light.$font-weight-medium !important;
font-size: light.$h5-font-size !important;
}
.shepherd-cancel-icon {
font-size: 1.85rem !important;
&:focus {
outline: 0;
}
}
}
.shepherd-text {
font-size: light.$font-size-base !important;
padding: 1rem $shepherd-header-content-padding-x !important;
}
.shepherd-footer {
.shepherd-button {
&:not(:last-child) {
margin-right: 0.75rem !important;
}
}
padding: 0 $shepherd-header-content-padding-x $shepherd-header-content-padding-y !important;
}
}
// Ask before submit
&[data-popper-placement='bottom'] {
margin-top: 0.8rem !important;
}
&[data-popper-placement='top'] {
margin-top: -0.8rem !important;
}
&[data-popper-placement='left'] {
margin-left: -0.8rem !important;
.shepherd-arrow:before {
border-bottom: 0;
border-top: 1px solid;
}
}
&[data-popper-placement='right'] {
margin-left: 0.8rem !important;
.shepherd-arrow:before {
border-right: 0;
border-left: 1px solid;
}
}
}
// Light style
@if $enable-light-style {
.shepherd-element {
box-shadow: light.$box-shadow;
background-color: light.$card-bg !important;
.shepherd-content {
.shepherd-header {
background: light.$card-bg !important;
.shepherd-title {
color: light.$headings-color !important;
}
.shepherd-cancel-icon {
color: light.$text-muted !important;
}
}
.shepherd-text {
color: light.$body-color !important;
}
}
.shepherd-arrow:before {
background-color: light.$card-bg !important;
border-color: light.$card-bg !important;
}
}
}
// Dark Style
@if $enable-dark-style {
.dark-style {
.shepherd-element {
box-shadow: dark.$box-shadow;
background: dark.$card-bg !important;
.shepherd-content {
.shepherd-header {
background: dark.$card-bg !important;
.shepherd-title {
color: dark.$headings-color !important;
}
.shepherd-cancel-icon {
color: dark.$text-muted !important;
}
}
.shepherd-text {
color: dark.$body-color !important;
}
}
}
.shepherd-arrow:before {
background-color: dark.$card-bg !important;
border-color: dark.$card-bg !important;
}
}
}
// RTL
@if $enable-rtl-support {
[dir='rtl'] {
.shepherd-element {
.btn-next {
margin-right: 0.75rem;
}
&[data-popper-placement='left'] {
margin-left: -0.8rem !important;
}
}
}
}
@include light.media-breakpoint-down(sm) {
.shepherd-element {
max-width: 300px !important;
}
}

View File

@ -0,0 +1,14 @@
@mixin spinkit-theme($background) {
.sk-primary.sk-plane,
.sk-primary .sk-chase-dot:before,
.sk-primary .sk-bounce-dot,
.sk-primary .sk-wave-rect,
.sk-primary.sk-pulse,
.sk-primary .sk-swing-dot,
.sk-primary .sk-circle-dot:before,
.sk-primary .sk-circle-fade-dot:before,
.sk-primary .sk-grid-cube,
.sk-primary .sk-fold-cube:before {
background-color: $background;
}
}

View File

@ -0,0 +1,25 @@
@import 'spinkit/spinkit';
:root {
--sk-size: 30px;
--sk-color: #fff;
}
.sk-wave {
width: 40px;
white-space: nowrap;
}
.sk-fading-circle .sk-circle {
margin-top: 0;
margin-bottom: 0;
}
.sk-wave {
width: 40px;
white-space: nowrap;
}
.sk-fading-circle .sk-circle {
margin-top: 0;
margin-bottom: 0;
}

View File

@ -0,0 +1,35 @@
@import '../../scss/_bootstrap-extended/functions';
@mixin sweetalert2-theme($background, $color: null) {
$color: if($color, $color, color-contrast($background));
.swal2-progress-steps[class] .swal2-progress-step.swal2-active-progress-step,
.swal2-progress-steps[class] .swal2-progress-step-line,
.swal2-progress-steps[class] .swal2-active-progress-step,
.swal2-progress-steps[class] .swal2-progress-step {
background: $background;
color: $color;
}
.swal2-progress-steps[class] .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step,
.swal2-progress-steps[class] .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {
background: mix($white, $background, 85%);
}
}
@mixin sweetalert2-dark-theme($background, $color: null) {
$color: if($color, $color, color-contrast($background));
.swal2-progress-steps[class] .swal2-progress-step.swal2-active-progress-step,
.swal2-progress-steps[class] .swal2-progress-step-line,
.swal2-progress-steps[class] .swal2-active-progress-step,
.swal2-progress-steps[class] .swal2-progress-step {
background: $background;
color: $color;
}
.swal2-progress-steps[class] .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step,
.swal2-progress-steps[class] .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {
background: mix($dark, $background, 55%);
}
}

View File

@ -0,0 +1,16 @@
import SwalPlugin from 'sweetalert2/dist/sweetalert2';
const Swal = SwalPlugin.mixin({
buttonsStyling: false,
customClass: {
confirmButton: 'btn btn-primary',
cancelButton: 'btn btn-label-danger',
denyButton: 'btn btn-label-secondary'
}
});
try {
window.Swal = Swal;
} catch (e) {}
export { Swal };

View File

@ -0,0 +1,314 @@
@use '../../scss/_bootstrap-extended/include' as light;
@use '../../scss/_bootstrap-extended/include-dark' as dark;
@import '../../scss/_custom-variables/libs';
@import 'sweetalert2/src/sweetalert2';
// Sweet Alert2 Modal
.swal2-modal.swal2-popup {
.swal2-title {
margin: 1.875rem 0 1rem 0;
max-width: calc(var(--swal2-width) * 0.5);
line-height: light.$line-height-base;
}
.swal2-content {
margin: 0 0 1rem 0;
}
.swal2-actions {
margin-top: 1rem;
.btn {
align-items: center;
}
}
.swal2-actions button + button {
margin-left: 0.375rem;
@include app-rtl {
margin-left: 0;
margin-right: 0.375rem;
}
}
.swal2-input,
.swal2-file,
.swal2-textarea {
box-shadow: none !important;
}
.swal2-icon {
margin-bottom: 0;
}
.swal2-checkbox input,
.swal2-radio input {
margin-right: 0.375rem;
@include app-rtl {
margin-right: 0;
margin-left: 0.375rem;
}
}
.swal2-close:focus {
box-shadow: none;
}
}
// RTL Specific
@include app-rtl(false) {
.swal2-close {
right: auto;
left: 0.5rem;
}
.swal2-range input {
float: right;
}
.swal2-range output {
float: left;
}
.swal2-radio label:not(:first-child) {
margin-left: 0;
margin-right: 1.25rem;
}
.swal2-validationerror::before {
margin-left: 0.625rem;
margin-right: 0;
}
.swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after {
margin-left: 0;
margin-right: 0.3125rem;
}
}
// Light style
@if $enable-light-style {
.light-style {
.swal2-container {
z-index: light.$zindex-modal;
.tooltip {
z-index: light.$zindex-modal + 2;
}
.popover {
z-index: light.$zindex-modal + 1;
}
}
.swal2-modal.swal2-popup {
font-family: light.$font-family-base;
box-shadow: light.$modal-content-box-shadow-xs;
@include light.border-radius(light.$border-radius);
}
.swal2-container.swal2-shown {
background: rgba(light.$modal-backdrop-bg, light.$modal-backdrop-opacity);
}
.swal2-popup .swal2-title {
font-size: light.$h2-font-size;
font-weight: light.$headings-font-weight;
color: light.$body-color;
}
.swal2-popup .swal2-content {
color: light.$text-muted;
line-height: light.$line-height-base;
font-size: light.$lead-font-size;
font-weight: light.$lead-font-weight;
}
.swal2-popup .swal2-input,
.swal2-popup .swal2-file,
.swal2-popup .swal2-textarea {
border: light.$input-border-width solid light.$input-border-color !important;
font-size: light.$font-size-lg;
color: light.$body-color;
@include light.border-radius(light.$border-radius-lg);
}
.swal2-popup .swal2-validationerror {
color: light.$body-color;
background: light.$gray-100;
}
// Colors
.swal2-popup .swal2-icon.swal2-success {
border-color: light.$success;
.swal2-success-ring {
border-color: rgba(light.$success, 0.2);
}
[class^='swal2-success-line'] {
background-color: light.$success;
}
}
.swal2-popup .swal2-icon.swal2-question {
border-color: rgba(light.$secondary, 0.4);
color: light.$secondary;
}
.swal2-popup .swal2-icon.swal2-info {
border-color: rgba(light.$info, 0.4);
color: light.$info;
}
.swal2-popup .swal2-icon.swal2-warning {
border-color: rgba(light.$warning, 0.8);
color: light.$warning;
}
.swal2-popup .swal2-icon.swal2-error {
border-color: rgba(light.$danger, 0.6);
[class^='swal2-x-mark-line'] {
border-color: light.$danger;
}
}
}
}
// Dark Style
@if $enable-dark-style {
.dark-style {
.swal2-container {
z-index: dark.$zindex-modal;
.tooltip {
z-index: dark.$zindex-modal + 2;
}
.popover {
z-index: dark.$zindex-modal + 1;
}
}
.swal2-modal.swal2-popup {
background: dark.$modal-content-bg;
font-family: dark.$font-family-base;
box-shadow: dark.$modal-content-box-shadow-xs;
@include dark.border-radius(dark.$border-radius);
}
.swal2-container.swal2-shown {
background: rgba(dark.$modal-backdrop-bg, dark.$modal-backdrop-opacity);
}
.swal2-popup .swal2-title {
font-size: dark.$h2-font-size;
font-weight: dark.$headings-font-weight;
color: dark.$body-color;
}
.swal2-popup .swal2-content {
font-weight: dark.$lead-font-weight;
color: dark.$text-muted;
line-height: dark.$line-height-base;
font-size: dark.$lead-font-size;
pre {
color: dark.$body-color;
}
}
.swal2-popup .swal2-footer {
border-top: 1px solid dark.$border-color;
}
.swal2-popup .swal2-html-container {
color: dark.$body-color;
}
.swal2-popup .swal2-input,
.swal2-popup .swal2-file,
.swal2-popup .swal2-textarea {
color: dark.$body-color;
border: dark.$input-border-width solid dark.$input-border-color !important;
font-size: dark.$font-size-lg;
@include dark.border-radius(dark.$border-radius-lg);
}
.swal2-popup .swal2-validationerror {
color: dark.$body-color;
background: dark.$gray-100;
}
// Colors
.swal2-popup .swal2-icon.swal2-success {
border-color: dark.$success;
.swal2-success-ring {
border-color: rgba(dark.$success, 0.2);
}
[class^='swal2-success-line'] {
background-color: dark.$success;
}
}
.swal2-popup .swal2-icon.swal2-question {
border-color: rgba(dark.$secondary, 0.4);
color: dark.$secondary;
}
.swal2-popup .swal2-icon.swal2-info {
border-color: rgba(dark.$info, 0.4);
color: dark.$info;
}
.swal2-popup .swal2-icon.swal2-warning {
border-color: rgba(dark.$warning, 0.8);
color: dark.$warning;
}
.swal2-popup .swal2-icon.swal2-error {
border-color: rgba(dark.$danger, 0.6);
[class^='swal2-x-mark-line'] {
border-color: dark.$danger;
}
}
}
}
.swal2-popup .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after {
display: block;
width: 1em;
height: 1em;
margin-left: 0.2rem;
border: 0.15em solid currentColor;
border-right-color: transparent;
box-shadow: none;
@include app-rtl {
margin-left: 0;
margin-right: 0.5em;
}
}
// IE Specific
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
.swal2-modal:not([style='display: none;']),
.swal2-icon:not([style='display: none;']),
.swal2-actions:not([style='display: none;']),
.swal2-image:not([style='display: none;']),
.swal2-input:not([style='display: none;']),
.swal2-file:not([style='display: none;']),
.swal2-range:not([style='display: none;']),
.swal2-select:not([style='display: none;']),
.swal2-radio:not([style='display: none;']),
.swal2-checkbox:not([style='display: none;']),
.swal2-textarea:not([style='display: none;']),
.swal2-footer:not([style='display: none;']) {
display: flex;
}
}

View File

@ -0,0 +1,6 @@
@mixin swiper-theme($background) {
.swiper-pagination-bullet.swiper-pagination-bullet-active,
.swiper-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
background: $background !important;
}
}

View File

@ -0,0 +1,7 @@
import Swiper from 'swiper/bundle';
try {
window.Swiper = Swiper;
} catch (e) {}
export { Swiper };

View File

@ -0,0 +1,113 @@
@import '../../scss/_bootstrap-extended/include';
@import '../../scss/_custom-variables/libs';
@import 'swiper/css/bundle';
.swiper {
width: 100%;
overflow: hidden !important;
.swiper-slide {
color: $white;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active.bg-transparent {
background: transparent !important;
}
}
.swiper-button-prev,
.swiper-button-next {
display: flex;
justify-content: center;
align-items: center;
&.swiper-button-white {
color: $white;
}
&.custom-icon {
background-image: none;
line-height: 1;
&::after {
font-size: 2rem;
}
@include app-rtl {
transform: scaleX(-1) rotate(180deg);
}
}
}
.swiper-pagination-bullet {
background: rgba(0, 0, 0, 0.7);
}
.swiper-pagination-progressbar,
.swiper-scrollbar {
background: rgba(0, 0, 0, 0.08);
}
.swiper-scrollbar-drag {
background: rgba(0, 0, 0, 0.3);
}
.swiper-pagination-white {
.swiper-pagination-bullet {
background: $white !important;
}
.swiper-pagination-bullet-active {
background: $white !important;
}
}
.swiper-scrollbar-white {
background: rgba(255, 255, 255, 0.2) !important;
.swiper-scrollbar-drag {
background: $white !important;
}
}
// black arrows for 3d style
@if $enable-dark-style {
.dark-style {
.swiper-3d {
.swiper-pagination-bullet {
background-color: $white;
}
.swiper-button-prev,
.swiper-button-next {
&.swiper-button-black {
--swiper-navigation-color: $white;
}
}
}
}
}
@include app-rtl(false) {
.swiper-button-next {
right: auto;
left: 10px;
}
.swiper-button-prev {
right: 10px;
left: auto;
}
.swiper-vertical {
> .swiper-pagination-bullets {
right: auto;
left: 10px;
}
> .swiper-pagination-progressbar {
right: 0;
left: auto;
}
> .swiper-scrollbar {
right: auto;
left: 3px;
}
}
}

View File

@ -0,0 +1,8 @@
@mixin tagify-theme($color) {
.tagify--focus {
border-color: $color !important;
}
.tagify__dropdown__item--active {
background: $color !important;
}
}

View File

@ -0,0 +1,105 @@
.tagify-email-list {
display: inline-block;
min-width: 0;
border: none;
&.tagify {
padding: 0 !important;
padding-bottom: calc($tag-spacer - light.$input-border-width) !important;
}
&.tagify {
padding: 0 !important;
padding-bottom: calc($tag-spacer - light.$input-border-width) !important;
}
&.tagify.tagify--focus {
padding-left: 0 !important;
}
.tagify__tag {
margin: 0;
margin-inline-start: 0 !important;
margin-inline-end: $tag-spacer !important;
margin-bottom: $tag-spacer !important;
> div {
padding: $tag-spacer * 0.5 $tag-spacer !important;
padding-inline: $tag-spacer * 2 !important;
}
&:only-of-type {
> div {
padding-inline: $tag-spacer !important;
}
}
}
/* Do not show the "remove tag" (x) button when only a single tag remains */
.tagify__tag:only-of-type .tagify__tag__removeBtn {
display: none;
}
.tagify__tag__removeBtn {
opacity: 0;
transform: translateX(-6px) scale(0.5);
margin-left: -3ch;
transition: 0.12s;
position: absolute;
inset-inline-end: 0;
}
.tagify__tag:hover .tagify__tag__removeBtn {
transform: none;
opacity: 1;
margin-left: -1ch;
}
.tagify__input {
display: none;
}
}
.tagify__tag > div {
border-radius: light.$border-radius-pill;
}
//RTL
@include app-rtl(false) {
.tagify-email-list {
.tagify__tag {
margin: 0 $tag-spacer $tag-spacer 0;
&:hover .tagify__tag__removeBtn {
margin-left: auto;
margin-right: -1ch;
}
}
.tagify__tag__removeBtn {
transform: translateX(6px) scale(0.5);
margin-left: auto;
margin-right: -3ch;
}
}
}
// Light styles
@if $enable-light-style {
.light-style {
.tagify-email-list {
.tagify__tag {
&--editable:not(.tagify--invalid) > div::before {
box-shadow: 0 0 0 2px light.$border-color inset !important;
}
}
}
}
}
// Dark styles
@if $enable-dark-style {
.dark-style {
.tagify-email-list {
.tagify__tag {
&--editable:not(.tagify--invalid) > div::before {
box-shadow: 0 0 0 2px dark.$border-color inset !important;
}
}
}
}
}

View File

@ -0,0 +1,67 @@
.tags-inline {
.tagify__dropdown__wrapper {
padding: 0 $tag-spacer $tag-spacer $tag-spacer;
border: none;
box-shadow: none;
}
.tagify__dropdown__item {
display: inline-block;
border-radius: 3px;
padding: 0.3em 0.5em;
margin: $tag-spacer $tag-spacer 0 0;
font-size: 0.85em;
transition: 0s;
}
}
//RTL
@include app-rtl(false) {
.tags-inline {
.tagify__dropdown__item {
margin: $tag-spacer 0 0 $tag-spacer;
}
}
}
// Light styles
@if $enable-light-style {
.light-style {
.tags-inline {
.tagify__dropdown__item {
border: 1px solid light.$border-color;
background: light.rgba-to-hex(light.$gray-100);
color: light.$body-color;
&--active {
color: light.$white !important;
}
&:hover {
color: light.$white !important;
}
}
}
}
}
// Dark styles
@if $enable-dark-style {
.dark-style {
.tags-inline {
.tagify__dropdown__item {
border: 1px solid dark.$border-color;
background: dark.$body-bg;
color: dark.$body-color;
&--active {
color: dark.$white !important;
}
&:hover {
color: dark.$white !important;
}
}
}
}
}

View File

@ -0,0 +1,124 @@
/* Suggestions items */
.tagify__dropdown.users-list {
font-size: 1rem;
.addAll {
display: block !important;
}
.tagify__dropdown__item {
display: grid;
grid-template-columns: auto 1fr;
gap: 0 1em;
grid-template-areas:
'avatar name'
'avatar email';
&__avatar-wrap {
grid-area: avatar;
width: $tag-avatar-select-size;
height: $tag-avatar-select-size;
border-radius: 50%;
overflow: hidden;
transition: 0.1s ease-out;
}
}
img {
width: 100%;
vertical-align: top;
}
strong {
grid-area: name;
width: 100%;
align-self: center;
font-weight: 500;
}
span {
grid-area: email;
width: 100%;
font-size: 0.9em;
opacity: 0.6;
}
}
/* Tags items */
.tagify__tag {
white-space: nowrap;
.tagify__tag__avatar-wrap {
width: $tag-avatar-size;
height: $tag-avatar-size;
white-space: normal;
border-radius: 50%;
margin-right: 5px;
transition: 0.12s ease-out;
vertical-align: middle;
}
img {
width: 100%;
vertical-align: top;
}
}
//RTL
@include app-rtl(false) {
.tagify__tag {
.tagify__tag__avatar-wrap {
margin-left: 5px;
margin-right: auto;
}
}
}
// Light styles
@if $enable-light-style {
.light-style {
.tagify {
&__dropdown.users-list {
.tagify__dropdown__item__avatar-wrap {
background: light.$body-bg;
}
}
&__tag {
.tagify__tag__avatar-wrap {
background: light.$body-bg;
}
}
&__dropdown.users-list {
.addAll {
border-bottom: 1px solid light.$border-color;
}
}
}
}
}
// Dark styles
@if $enable-dark-style {
.dark-style {
.tagify {
&__dropdown.users-list {
.tagify__dropdown__item__avatar-wrap {
background: dark.$body-bg;
}
}
&__tag {
.tagify__tag__avatar-wrap {
background: dark.$body-bg;
}
}
&__dropdown.users-list {
.addAll {
border-bottom: 1px solid dark.$border-color;
}
}
}
}
}

View File

@ -0,0 +1,7 @@
import Tagify from '@yaireo/tagify';
try {
window.Tagify = Tagify;
} catch (e) {}
export { Tagify };

View File

@ -0,0 +1,246 @@
@use '../../scss/_bootstrap-extended/include' as light;
@use '../../scss/_bootstrap-extended/include-dark' as dark;
@import '../../scss/_custom-variables/libs';
@import 'mixins';
// Height clac to match form-control height
$tag-line-height: 1.5rem !default;
$tag-spacer: light.px-to-rem(floor(light.rem-to-px((light.$input-height-inner - $tag-line-height) * 0.6))) !default;
// Override tagify vars
$tag-remove: light.$danger !default;
$tag-remove-btn-bg--hover: darken($tag-remove, 5) !default;
$tag-invalid-color: $tag-remove !default;
$tag-inset-shadow-size: 2em !default;
$tag-remove-btn-color: light.rgba-to-hex(light.$gray-600, light.$rgba-to-hex-bg) !default;
$tag-invalid-bg: rgba($tag-remove, 0.5) !default;
$tag-avatar-size: 22px !default;
$tag-avatar-select-size: 36px !default;
$tag-max-width: auto !default;
$tag-inset-shadow-size: 2em !default;
//! Tagify $tag-bg custom color to match with dark and light layout
$tag-bg: rgb(light.$text-light, 0.5) !default;
@import '@yaireo/tagify/src/tagify';
@import 'tagify-users-list';
@import 'tagify-inline-suggestion';
@import 'tagify-email-list';
.tagify {
&.form-control {
transition: none;
display: flex;
align-items: flex-end;
padding: calc(light.$input-focus-border-width - light.$input-border-width) $tag-spacer $tag-spacer - 0.1875rem !important;
.fv-plugins-bootstrap5-row-invalid & {
padding: 0 calc($tag-spacer - light.$input-border-width) calc($tag-spacer - light.$input-focus-border-width) !important;
}
}
&.tagify--focus,
&.form-control:focus {
padding: 0 calc($tag-spacer - light.$input-border-width)
calc($tag-spacer - calc(light.$input-focus-border-width * 2)) !important;
border-width: light.$input-focus-border-width;
}
&__tag,
&__input {
margin: $tag-spacer - 0.25rem $tag-spacer 0 0 !important;
line-height: 1;
}
&__input {
line-height: $tag-line-height;
&:empty::before {
top: 4px;
}
}
&__tag {
> div {
line-height: $tag-line-height;
padding: 0 0 0 $tag-spacer;
}
&__removeBtn {
margin-right: $tag-spacer - 0.3rem;
margin-left: $tag-spacer * 0.5;
font-family: 'tabler-icons';
opacity: 0.7;
&:hover {
background: none;
color: $tag-remove-btn-bg--hover !important;
}
&::after {
content: '\f739';
}
}
&:hover:not([readonly]),
&:focus {
div::before {
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
}
}
}
&__dropdown {
transform: translateY(0);
}
&[readonly]:not(.tagify--mix) .tagify__tag > div {
padding: 0 $tag-spacer 0 $tag-spacer !important;
}
&__input {
padding: 0;
}
&__tag-text {
font-size: light.$font-size-sm;
font-weight: light.$font-weight-medium;
}
}
.tagify {
&.form-control {
padding-top: calc(light.$input-padding-y - $tag-spacer) !important;
}
&.tagify--focus,
&.form-control:focus {
padding-top: calc(light.$input-padding-y - $tag-spacer - 1px) !important;
}
}
//RTL
@include app-rtl(false) {
.tagify {
&__tag,
&__input {
margin: $tag-spacer 0 0 $tag-spacer;
}
+ input,
+ textarea {
left: 0;
right: -9999em !important;
}
&__tag {
> div {
padding: 0 $tag-spacer + 0.25rem 0 0;
}
&__removeBtn {
margin-left: $tag-spacer;
margin-right: $tag-spacer * 0.5;
}
}
}
}
// Light styles
@if $enable-light-style {
.light-style {
.tagify {
&__tag {
> div::before {
box-shadow: 0 0 0 1.3em light.$gray-75 inset;
}
.tagify__tag-text {
color: light.$headings-color;
}
&:hover:not([readonly]),
&:focus {
div::before {
box-shadow: 0 0 0 1.3em light.$gray-200 inset;
}
}
&__removeBtn {
color: light.rgba-to-hex(light.$gray-600, light.$rgba-to-hex-bg);
&:hover + div::before {
background: rgba($tag-remove, 0.3);
}
}
}
&:hover:not([readonly]) {
border-color: light.$input-border-color;
}
&__input::before {
color: light.$input-placeholder-color !important;
}
&__dropdown {
box-shadow: light.$dropdown-box-shadow;
border-top-color: light.$dropdown-border-color;
&__wrapper {
background: light.$dropdown-bg;
border-color: light.$dropdown-border-color;
}
}
}
}
}
// Dark styles
@if $enable-dark-style {
.dark-style {
.tagify {
&__tag {
> div {
&::before {
box-shadow: 0 0 0 1.3em dark.$gray-75 inset;
}
.tagify__tag-text {
color: dark.$headings-color;
}
}
&:hover:not([readonly]),
&:focus {
div::before {
box-shadow: 0 0 0 1.3em dark.$gray-200 inset;
}
}
&__removeBtn {
color: dark.rgba-to-hex(dark.$gray-600, dark.$rgba-to-hex-bg);
&:hover + div::before {
background: rgba($tag-remove, 0.3);
}
}
}
&:hover:not([readonly]) {
border-color: dark.$input-border-color;
}
&__input::before {
color: dark.$input-placeholder-color !important;
}
&[readonly]:not(.tagify--mix) {
.tagify__tag > div::before {
background: linear-gradient(
45deg,
dark.$input-border-color 25%,
transparent 25%,
transparent 50%,
dark.$input-border-color 50%,
dark.$input-border-color 75%,
transparent 75%,
transparent
)
0/5px
5px;
}
&:not(.tagify--select) .tagify__tag > div::before {
animation: none;
box-shadow: none;
}
}
&__dropdown {
box-shadow: dark.$dropdown-box-shadow;
border-top-color: dark.$dropdown-border-color;
&__wrapper {
box-shadow: dark.$dropdown-box-shadow;
background: dark.$dropdown-bg;
border-color: dark.$dropdown-border-color;
}
}
}
}
}

View File

@ -0,0 +1,11 @@
@import '../../scss/_bootstrap-extended/functions';
@mixin typeahead-theme($background, $color: null) {
$color: if($color, $color, color-contrast($background));
.tt-suggestion:active,
.tt-cursor {
background: $background !important;
color: $color !important;
}
}

Some files were not shown because too many files have changed in this diff Show More