jobdone-shared-files 0.0.1-beta.8 → 0.0.1-beta.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ProjectManagement/projectNavbar.vue +263 -85
- package/README.md +80 -6
- package/common/directives/popovers.js +11 -0
- package/common/directives/tooltip.js +11 -0
- package/common/format.js +16 -2
- package/lightboxWithOverview.vue +132 -0
- package/package.json +4 -3
- package/style/scss/Common/Animation.scss +6 -0
- package/style/scss/Common/SelectableTable.scss +31 -0
- package/style/scss/Common/filepond.scss +28 -0
- package/style/scss/Common/thumbnail-group.scss +14 -0
- package/style/scss/Layout/LayoutBase.scss +84 -11
- package/style/scss/Layout/LayoutMobile.scss +203 -0
- package/style/scss/Layout/LayoutProject.scss +1 -5
- package/style/scss/Layout/LayoutTwoColumn.scss +3 -3
- package/style/scss/Settings/_MobileVariables.scss +12 -0
- package/style/scss/Settings/_basic-import.scss +3 -2
- package/style/scss/Settings/_bs-variables.scss +114 -74
- package/style/scss/Settings/_custom-variables.scss +5 -1
- package/tree.vue +17 -10
- package/treeItem.vue +1 -1
- package/vueLoadingOverlay.vue +13 -19
- package/style/scss/Bootstrap/_accordion.scss +0 -158
- package/style/scss/Bootstrap/_alert.scss +0 -68
- package/style/scss/Bootstrap/_badge.scss +0 -38
- package/style/scss/Bootstrap/_breadcrumb.scss +0 -40
- package/style/scss/Bootstrap/_button-group.scss +0 -142
- package/style/scss/Bootstrap/_buttons.scss +0 -207
- package/style/scss/Bootstrap/_card.scss +0 -238
- package/style/scss/Bootstrap/_carousel.scss +0 -238
- package/style/scss/Bootstrap/_close.scss +0 -61
- package/style/scss/Bootstrap/_containers.scss +0 -41
- package/style/scss/Bootstrap/_dropdown.scss +0 -250
- package/style/scss/Bootstrap/_forms.scss +0 -9
- package/style/scss/Bootstrap/_functions.scss +0 -302
- package/style/scss/Bootstrap/_grid.scss +0 -33
- package/style/scss/Bootstrap/_helpers.scss +0 -10
- package/style/scss/Bootstrap/_images.scss +0 -42
- package/style/scss/Bootstrap/_list-group.scss +0 -204
- package/style/scss/Bootstrap/_maps.scss +0 -121
- package/style/scss/Bootstrap/_mixins.scss +0 -42
- package/style/scss/Bootstrap/_modal.scss +0 -237
- package/style/scss/Bootstrap/_nav.scss +0 -172
- package/style/scss/Bootstrap/_navbar.scss +0 -286
- package/style/scss/Bootstrap/_offcanvas.scss +0 -146
- package/style/scss/Bootstrap/_pagination.scss +0 -109
- package/style/scss/Bootstrap/_placeholders.scss +0 -51
- package/style/scss/Bootstrap/_popover.scss +0 -196
- package/style/scss/Bootstrap/_progress.scss +0 -68
- package/style/scss/Bootstrap/_reboot.scss +0 -610
- package/style/scss/Bootstrap/_root.scss +0 -195
- package/style/scss/Bootstrap/_spinners.scss +0 -85
- package/style/scss/Bootstrap/_tables.scss +0 -164
- package/style/scss/Bootstrap/_toasts.scss +0 -73
- package/style/scss/Bootstrap/_tooltip.scss +0 -120
- package/style/scss/Bootstrap/_transitions.scss +0 -27
- package/style/scss/Bootstrap/_type.scss +0 -106
- package/style/scss/Bootstrap/_utilities.scss +0 -748
- package/style/scss/Bootstrap/_variables-dark.scss +0 -70
- package/style/scss/Bootstrap/_variables.scss +0 -1703
- package/style/scss/Bootstrap/bootstrap-grid.scss +0 -66
- package/style/scss/Bootstrap/bootstrap-reboot.scss +0 -10
- package/style/scss/Bootstrap/bootstrap-utilities.scss +0 -19
- package/style/scss/Bootstrap/bootstrap.scss +0 -52
- package/style/scss/Bootstrap/forms/_floating-labels.scss +0 -90
- package/style/scss/Bootstrap/forms/_form-check.scss +0 -188
- package/style/scss/Bootstrap/forms/_form-control.scss +0 -201
- package/style/scss/Bootstrap/forms/_form-range.scss +0 -91
- package/style/scss/Bootstrap/forms/_form-select.scss +0 -81
- package/style/scss/Bootstrap/forms/_form-text.scss +0 -11
- package/style/scss/Bootstrap/forms/_input-group.scss +0 -132
- package/style/scss/Bootstrap/forms/_labels.scss +0 -36
- package/style/scss/Bootstrap/forms/_validation.scss +0 -12
- package/style/scss/Bootstrap/helpers/_clearfix.scss +0 -3
- package/style/scss/Bootstrap/helpers/_color-bg.scss +0 -10
- package/style/scss/Bootstrap/helpers/_colored-links.scss +0 -12
- package/style/scss/Bootstrap/helpers/_position.scss +0 -36
- package/style/scss/Bootstrap/helpers/_ratio.scss +0 -26
- package/style/scss/Bootstrap/helpers/_stacks.scss +0 -15
- package/style/scss/Bootstrap/helpers/_stretched-link.scss +0 -15
- package/style/scss/Bootstrap/helpers/_text-truncation.scss +0 -7
- package/style/scss/Bootstrap/helpers/_visually-hidden.scss +0 -8
- package/style/scss/Bootstrap/helpers/_vr.scss +0 -8
- package/style/scss/Bootstrap/mixins/_alert.scss +0 -18
- package/style/scss/Bootstrap/mixins/_backdrop.scss +0 -14
- package/style/scss/Bootstrap/mixins/_banner.scss +0 -7
- package/style/scss/Bootstrap/mixins/_border-radius.scss +0 -78
- package/style/scss/Bootstrap/mixins/_box-shadow.scss +0 -18
- package/style/scss/Bootstrap/mixins/_breakpoints.scss +0 -127
- package/style/scss/Bootstrap/mixins/_buttons.scss +0 -70
- package/style/scss/Bootstrap/mixins/_caret.scss +0 -69
- package/style/scss/Bootstrap/mixins/_clearfix.scss +0 -9
- package/style/scss/Bootstrap/mixins/_color-mode.scss +0 -21
- package/style/scss/Bootstrap/mixins/_color-scheme.scss +0 -7
- package/style/scss/Bootstrap/mixins/_container.scss +0 -11
- package/style/scss/Bootstrap/mixins/_deprecate.scss +0 -10
- package/style/scss/Bootstrap/mixins/_forms.scss +0 -153
- package/style/scss/Bootstrap/mixins/_gradients.scss +0 -47
- package/style/scss/Bootstrap/mixins/_grid.scss +0 -151
- package/style/scss/Bootstrap/mixins/_image.scss +0 -16
- package/style/scss/Bootstrap/mixins/_list-group.scss +0 -27
- package/style/scss/Bootstrap/mixins/_lists.scss +0 -7
- package/style/scss/Bootstrap/mixins/_pagination.scss +0 -10
- package/style/scss/Bootstrap/mixins/_reset-text.scss +0 -17
- package/style/scss/Bootstrap/mixins/_resize.scss +0 -6
- package/style/scss/Bootstrap/mixins/_table-variants.scss +0 -24
- package/style/scss/Bootstrap/mixins/_text-truncate.scss +0 -8
- package/style/scss/Bootstrap/mixins/_transition.scss +0 -26
- package/style/scss/Bootstrap/mixins/_utilities.scss +0 -97
- package/style/scss/Bootstrap/mixins/_visually-hidden.scss +0 -29
- package/style/scss/Bootstrap/utilities/_api.scss +0 -47
- package/style/scss/Bootstrap/vendor/_rfs.scss +0 -354
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<vue-easy-lightbox :visible="lightboxVisibleRef" :imgs="picturesData" :index="picturesIndexRef"
|
|
3
|
+
@hide="hideLightbox" @on-prev-click="picturesIndexRef--" @on-next-click="picturesIndexRef++"></vue-easy-lightbox>
|
|
4
|
+
<div class="lightbox-thumbnail-toolbar text-center overflow-hidden" v-if="lightboxVisibleRef">
|
|
5
|
+
<div class="text-nowrap overflow-x-auto pt-3 px-2 pb-1">
|
|
6
|
+
<div class="d-inline-block">
|
|
7
|
+
<div class="d-inline-block thumbnail-content rounded hover-border"
|
|
8
|
+
:class="{'active': index == picturesIndexRef}" :style="'background-image: url(' + item.src +');'"
|
|
9
|
+
@click="changePictureIndex(index)" v-for="(item, index) in picturesData"></div>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script>
|
|
16
|
+
import { ref, computed } from 'vue';
|
|
17
|
+
import VueEasyLightbox from 'vue-easy-lightbox';
|
|
18
|
+
|
|
19
|
+
export default {
|
|
20
|
+
props: {
|
|
21
|
+
previewCount: {
|
|
22
|
+
type: Number,
|
|
23
|
+
required: false,
|
|
24
|
+
default: 5
|
|
25
|
+
},
|
|
26
|
+
picturesData: {
|
|
27
|
+
type: Array,
|
|
28
|
+
required: true
|
|
29
|
+
},
|
|
30
|
+
displayIndex: {
|
|
31
|
+
type: Number,
|
|
32
|
+
required: false,
|
|
33
|
+
default: 0
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
components: {
|
|
37
|
+
VueEasyLightbox
|
|
38
|
+
},
|
|
39
|
+
setup(props) {
|
|
40
|
+
const previewPictures = computed(() => {
|
|
41
|
+
return props.picturesData.slice(0, props.previewCount)
|
|
42
|
+
});
|
|
43
|
+
const otherPictureCount = computed(() => {
|
|
44
|
+
var count = props.picturesData.length - props.previewCount;
|
|
45
|
+
return count < 0 ? 0 : count;
|
|
46
|
+
});
|
|
47
|
+
const lightboxVisibleRef = ref(false);
|
|
48
|
+
const picturesIndexRef = ref(props.displayIndex);
|
|
49
|
+
|
|
50
|
+
const changePictureIndex = (index) => {
|
|
51
|
+
picturesIndexRef.value = index;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const showLightbox = (index) => {
|
|
55
|
+
changePictureIndex(index);
|
|
56
|
+
lightboxVisibleRef.value = true;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
const hideLightbox = () => {
|
|
60
|
+
lightboxVisibleRef.value = false;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return {
|
|
64
|
+
lightboxVisibleRef,
|
|
65
|
+
picturesIndexRef, changePictureIndex,
|
|
66
|
+
showLightbox, hideLightbox,
|
|
67
|
+
previewCount: props.previewCount,
|
|
68
|
+
previewPictures,
|
|
69
|
+
otherPictureCount
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
</script>
|
|
74
|
+
|
|
75
|
+
<style scoped lang="scss">
|
|
76
|
+
@import "./style/scss/Settings/basic-import";
|
|
77
|
+
.hover-border{
|
|
78
|
+
transition: $transition-base;
|
|
79
|
+
&:hover{
|
|
80
|
+
box-shadow: $focus-ring-box-shadow;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.vel-modal{
|
|
85
|
+
backdrop-filter: var(--backdrop-blur);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.lightbox-thumbnail-toolbar .thumbnail-content{
|
|
89
|
+
cursor: pointer;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.lightbox-thumbnail-toolbar{
|
|
93
|
+
$padding-x: 10vw;
|
|
94
|
+
position: fixed;
|
|
95
|
+
top: 0;
|
|
96
|
+
left: $padding-x;
|
|
97
|
+
right: $padding-x;
|
|
98
|
+
margin: auto;
|
|
99
|
+
z-index: 10000;
|
|
100
|
+
animation: fadeIn .5s;
|
|
101
|
+
pointer-events: none;
|
|
102
|
+
.overflow-x-auto{
|
|
103
|
+
display: inline-block;
|
|
104
|
+
max-width: 100%;
|
|
105
|
+
pointer-events: auto;
|
|
106
|
+
}
|
|
107
|
+
.thumbnail-content{
|
|
108
|
+
--bs-border-color: rgba(0,0,0, 0.12);
|
|
109
|
+
@include solid-size(40px);
|
|
110
|
+
filter: brightness(0.5);
|
|
111
|
+
transition: $transition-base;
|
|
112
|
+
&:not(:last-child){
|
|
113
|
+
margin-right: 1rem;
|
|
114
|
+
}
|
|
115
|
+
&:hover{
|
|
116
|
+
filter: brightness(.8);
|
|
117
|
+
}
|
|
118
|
+
&.active{
|
|
119
|
+
filter: brightness(1);
|
|
120
|
+
}
|
|
121
|
+
&:hover, &.active{
|
|
122
|
+
--bs-border-color: rgba(255,255,255, 0.3);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
.hover-border:hover{
|
|
126
|
+
box-shadow: 0 0 $focus-ring-blur $focus-ring-width rgba(255,255,255, .25);
|
|
127
|
+
}
|
|
128
|
+
.overflow-x-auto{
|
|
129
|
+
--bs-emphasis-color-rgb: 255, 255, 255;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
</style>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jobdone-shared-files",
|
|
3
|
-
"version": "0.0.1-beta.
|
|
3
|
+
"version": "0.0.1-beta.81",
|
|
4
4
|
"description": "Shared JS and SCSS for Jobdone Enterprise.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"axios": "^1.2.2",
|
|
13
13
|
"vue": "^3.2.45",
|
|
14
14
|
"vue-loading-overlay": "^6.0.3",
|
|
15
|
-
"bootstrap": "^5.3.0
|
|
16
|
-
"dayjs": "^1.11.7"
|
|
15
|
+
"bootstrap": "^5.3.0",
|
|
16
|
+
"dayjs": "^1.11.7",
|
|
17
|
+
"vue-easy-lightbox": "^1.16.0"
|
|
17
18
|
}
|
|
18
19
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
@import "../Settings/basic-import";
|
|
2
|
+
|
|
3
|
+
th.bg-secondary{
|
|
4
|
+
position: relative;
|
|
5
|
+
&:after{
|
|
6
|
+
content: "";
|
|
7
|
+
position: absolute;
|
|
8
|
+
left: 0;
|
|
9
|
+
bottom: -$border-width;
|
|
10
|
+
height: $border-width;
|
|
11
|
+
width: 100%;
|
|
12
|
+
background-color: $secondary;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.table{
|
|
17
|
+
background-color: $white;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
tr:has(input[type="checkbox"]:checked) > td:not([scope="col"]){
|
|
21
|
+
--bs-table-accent-bg: transparent;
|
|
22
|
+
--bs-table-bg: rgba(var(--bs-primary-rgb), .1);
|
|
23
|
+
color: var(--bs-table-hover-color);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.td-check, .td-avatar-sm{
|
|
27
|
+
width: 2rem;
|
|
28
|
+
}
|
|
29
|
+
.td-avatar-md{
|
|
30
|
+
width: 3rem;
|
|
31
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
@import "../Settings/basic-import";
|
|
2
|
+
|
|
3
|
+
.can-click{
|
|
4
|
+
cursor: pointer;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.filepond--root.filepond--hopper {
|
|
8
|
+
border: 1px dashed var(--bs-gray-400);
|
|
9
|
+
border-radius: 0.5em;
|
|
10
|
+
overflow: hidden;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.filepond--drop-label {
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-direction: column;
|
|
16
|
+
align-items: stretch;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.filepond-label-box-cus {
|
|
20
|
+
display: flex;
|
|
21
|
+
align-items: center;
|
|
22
|
+
justify-content: center;
|
|
23
|
+
width: 100%;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.filepond--panel-root {
|
|
27
|
+
background-color: $blue-100 !important;
|
|
28
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
.thumbnail-group{
|
|
3
|
+
$offset: .5rem;
|
|
4
|
+
position: relative;
|
|
5
|
+
display: inline-flex;
|
|
6
|
+
margin-right: $offset;
|
|
7
|
+
margin-bottom: $offset;
|
|
8
|
+
.thumbnail-pin{
|
|
9
|
+
position: absolute;
|
|
10
|
+
right: -$offset;
|
|
11
|
+
bottom: -$offset;
|
|
12
|
+
box-shadow: $box-shadow;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
// ====================================
|
|
4
4
|
|
|
5
5
|
// Custom Bootstrap
|
|
6
|
-
@import "
|
|
6
|
+
@import "../../../../bootstrap/scss/functions";
|
|
7
7
|
@import "../Settings/bs-variables";
|
|
8
|
-
@import "
|
|
8
|
+
@import "../../../../bootstrap/scss/bootstrap.scss";
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
// ====================================
|
|
@@ -109,6 +109,14 @@ a{
|
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
+
.text-pre-wrap{
|
|
113
|
+
white-space: pre-wrap;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.fs-min{
|
|
117
|
+
font-size: 12px;
|
|
118
|
+
}
|
|
119
|
+
|
|
112
120
|
.text-overflow{
|
|
113
121
|
@include text-overflow();
|
|
114
122
|
}
|
|
@@ -128,6 +136,18 @@ a{
|
|
|
128
136
|
// text / link ------------------------------------------
|
|
129
137
|
|
|
130
138
|
|
|
139
|
+
// border ------------------------------------------
|
|
140
|
+
.hover-border{
|
|
141
|
+
transition: $transition-base;
|
|
142
|
+
&:hover{
|
|
143
|
+
box-shadow: $focus-ring-box-shadow;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
.active-border{
|
|
147
|
+
box-shadow: $focus-ring-box-shadow;
|
|
148
|
+
}
|
|
149
|
+
// border ------------------------------------------
|
|
150
|
+
|
|
131
151
|
|
|
132
152
|
// badge outline ------------------------------------------
|
|
133
153
|
|
|
@@ -142,6 +162,12 @@ a{
|
|
|
142
162
|
// badge outline ------------------------------------------
|
|
143
163
|
|
|
144
164
|
|
|
165
|
+
// input ------------------------------------------
|
|
166
|
+
.form-control{
|
|
167
|
+
caret-color: $primary;
|
|
168
|
+
}
|
|
169
|
+
// input ------------------------------------------
|
|
170
|
+
|
|
145
171
|
|
|
146
172
|
// checkbox / radio ------------------------------------------
|
|
147
173
|
|
|
@@ -395,6 +421,7 @@ th, td{
|
|
|
395
421
|
--bs-table-bg: transparent;
|
|
396
422
|
background-color: $table-danger-bg;
|
|
397
423
|
color: var(--bs-danger);
|
|
424
|
+
box-shadow: none;
|
|
398
425
|
}
|
|
399
426
|
}
|
|
400
427
|
|
|
@@ -452,10 +479,10 @@ th, td{
|
|
|
452
479
|
}
|
|
453
480
|
|
|
454
481
|
.btn-link-light-bg {
|
|
482
|
+
text-decoration: none;
|
|
455
483
|
&:hover {
|
|
456
|
-
color: var(--bs-btn-color)
|
|
484
|
+
color: var(--bs-btn-color);
|
|
457
485
|
background-color: rgba(var(--bs-link-color-rgb), .1);
|
|
458
|
-
text-decoration: none;
|
|
459
486
|
}
|
|
460
487
|
}
|
|
461
488
|
|
|
@@ -570,16 +597,27 @@ th, td{
|
|
|
570
597
|
|
|
571
598
|
// modal ------------------------------------------
|
|
572
599
|
.modal{
|
|
573
|
-
backdrop-filter: blur
|
|
600
|
+
backdrop-filter: var(--backdrop-blur);
|
|
574
601
|
}
|
|
575
602
|
|
|
576
603
|
.modal-md{
|
|
577
604
|
min-width: 650px;
|
|
578
605
|
}
|
|
606
|
+
|
|
607
|
+
.modal-long-content .overflow-y-auto{
|
|
608
|
+
height: 75vh;
|
|
609
|
+
}
|
|
579
610
|
// modal ------------------------------------------
|
|
580
611
|
|
|
581
612
|
|
|
582
613
|
// offcanvas ------------------------------------------
|
|
614
|
+
.offcanvas-backdrop{
|
|
615
|
+
background-color: rgba($offcanvas-backdrop-bg, $offcanvas-backdrop-opacity);
|
|
616
|
+
&.show{
|
|
617
|
+
backdrop-filter: var(--backdrop-blur);
|
|
618
|
+
opacity: 1;
|
|
619
|
+
}
|
|
620
|
+
}
|
|
583
621
|
.offcanvas{
|
|
584
622
|
&-md-size{
|
|
585
623
|
--bs-offcanvas-width: 550px;
|
|
@@ -856,8 +894,9 @@ a.navbar-line-item{
|
|
|
856
894
|
|
|
857
895
|
|
|
858
896
|
.navbar[data-bs-theme="dark"]{
|
|
897
|
+
--dark-theme-primary: #bec9ff;
|
|
859
898
|
.navbar-line-item.dropdown:not(.active) .dropdown-link{
|
|
860
|
-
color:
|
|
899
|
+
color: var(--dark-theme-primary);
|
|
861
900
|
}
|
|
862
901
|
.navbar-nav .show > .nav-link, .navbar-nav .nav-link.active{
|
|
863
902
|
&, a{
|
|
@@ -865,7 +904,7 @@ a.navbar-line-item{
|
|
|
865
904
|
}
|
|
866
905
|
}
|
|
867
906
|
.navbar-line-item:before{
|
|
868
|
-
border-bottom-color:
|
|
907
|
+
border-bottom-color: var(--dark-theme-primary);
|
|
869
908
|
}
|
|
870
909
|
.navbar-line-item.dropdown:not(.active) .dropdown-link,
|
|
871
910
|
.navbar-line-item:before{
|
|
@@ -883,7 +922,7 @@ a.navbar-line-item{
|
|
|
883
922
|
.w-66{
|
|
884
923
|
width: 66.66%;
|
|
885
924
|
}
|
|
886
|
-
@for $i from 1 through
|
|
925
|
+
@for $i from 1 through 25 {
|
|
887
926
|
.w-#{$i}rem {
|
|
888
927
|
width: #{$i}rem;
|
|
889
928
|
}
|
|
@@ -900,7 +939,8 @@ a.navbar-line-item{
|
|
|
900
939
|
opacity: .7;
|
|
901
940
|
}
|
|
902
941
|
.content-img > .material-icons{
|
|
903
|
-
font-size:
|
|
942
|
+
font-size: 6rem;
|
|
943
|
+
margin-bottom: 0.5rem;
|
|
904
944
|
opacity: .5;
|
|
905
945
|
}
|
|
906
946
|
p{
|
|
@@ -915,7 +955,7 @@ a.navbar-line-item{
|
|
|
915
955
|
.mobile-forbidden{
|
|
916
956
|
display: none;
|
|
917
957
|
}
|
|
918
|
-
@media (max-width: 992px) {
|
|
958
|
+
@media only screen and (max-width: 992px) {
|
|
919
959
|
body{
|
|
920
960
|
overflow: hidden;
|
|
921
961
|
}
|
|
@@ -939,4 +979,37 @@ a.navbar-line-item{
|
|
|
939
979
|
}
|
|
940
980
|
}
|
|
941
981
|
}
|
|
942
|
-
// 暫定:螢幕寬度小於 992px 不可使用 ------------------------------------------
|
|
982
|
+
// 暫定:螢幕寬度小於 992px 不可使用 ------------------------------------------
|
|
983
|
+
|
|
984
|
+
|
|
985
|
+
|
|
986
|
+
// sweet alert ------------------------------------------
|
|
987
|
+
.swal2-container{
|
|
988
|
+
&.swal2-backdrop-show, &.swal2-noanimation{
|
|
989
|
+
backdrop-filter: var(--backdrop-blur);
|
|
990
|
+
}
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
div:where(.swal2-container){
|
|
994
|
+
.swal2-html-container{
|
|
995
|
+
font-size: 1rem !important;
|
|
996
|
+
color: var(--bs-body-color) !important;
|
|
997
|
+
}
|
|
998
|
+
h2:where(.swal2-title){
|
|
999
|
+
font-size: 1.5rem !important;
|
|
1000
|
+
color: var(--bs-emphasis-color) !important;
|
|
1001
|
+
}
|
|
1002
|
+
.swal2-actions{
|
|
1003
|
+
flex-direction: row-reverse;
|
|
1004
|
+
width: 100%;
|
|
1005
|
+
}
|
|
1006
|
+
button:where(.swal2-styled){
|
|
1007
|
+
margin-left: .5rem !important;
|
|
1008
|
+
margin-right: .5rem !important;
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
button:where(.swal2-styled).swal2-cancel{
|
|
1012
|
+
background-color: $secondary !important;
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
// sweet alert ------------------------------------------
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
@import "../Settings/basic-import";
|
|
2
|
+
@import "../Common/Animation.scss";
|
|
3
|
+
@import "../Settings/MobileVariables";
|
|
4
|
+
|
|
5
|
+
@media only screen and (max-width: 768px) {
|
|
6
|
+
// default layout ---------------------------------------------
|
|
7
|
+
|
|
8
|
+
html, body, #app{
|
|
9
|
+
min-height: 100%;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
html{
|
|
13
|
+
position: relative;
|
|
14
|
+
&:before{
|
|
15
|
+
content: "";
|
|
16
|
+
position: fixed;
|
|
17
|
+
top: 0;
|
|
18
|
+
left: 0;
|
|
19
|
+
right: 0;
|
|
20
|
+
bottom: 0;
|
|
21
|
+
z-index: -1;
|
|
22
|
+
background: $gradient-bg;
|
|
23
|
+
background-repeat: no-repeat;
|
|
24
|
+
pointer-events: none;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
body{
|
|
29
|
+
background: transparent;
|
|
30
|
+
scroll-behavior: smooth;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
#app{
|
|
34
|
+
width: 100%;
|
|
35
|
+
max-width: 767px;
|
|
36
|
+
transition: 1s;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// background ---------------------------------------------
|
|
40
|
+
|
|
41
|
+
.bg-gradient-main, .bg-gradient-main-translucent{
|
|
42
|
+
color: rgba( $white, .7 );
|
|
43
|
+
.text-emphasis{
|
|
44
|
+
color: $white;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.bg-gradient-main{
|
|
49
|
+
background: $gradient-main;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.bg-gradient-main-translucent{
|
|
53
|
+
background: $gradient-main-translucent;
|
|
54
|
+
backdrop-filter: $backdrop-blur-base;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.bg-dark-translucent{
|
|
58
|
+
background-color: rgba( 0, 22, 44, .8 );
|
|
59
|
+
backdrop-filter: $backdrop-blur-base;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.bg-light-translucent{
|
|
63
|
+
background-color: rgba( $white, .5 );
|
|
64
|
+
backdrop-filter: $backdrop-blur-base;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.bg-extend{
|
|
68
|
+
position: relative;
|
|
69
|
+
&:before{
|
|
70
|
+
content: "";
|
|
71
|
+
position: absolute;
|
|
72
|
+
top: 0;
|
|
73
|
+
left: 0;
|
|
74
|
+
right: 0;
|
|
75
|
+
z-index: -1;
|
|
76
|
+
height: 3rem;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.bg-extend-gradient-main-translucent{
|
|
81
|
+
&:before{
|
|
82
|
+
background: $gradient-main-translucent;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// navbar ---------------------------------------------
|
|
87
|
+
|
|
88
|
+
.navbar-main{
|
|
89
|
+
color: $gray-500;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// width ---------------------------------------------
|
|
93
|
+
|
|
94
|
+
.w-85{
|
|
95
|
+
width: 85% !important;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.w-min-3rem{
|
|
99
|
+
min-width: 3rem;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// font size ---------------------------------------------
|
|
103
|
+
|
|
104
|
+
.fs-min{
|
|
105
|
+
font-size: 12px;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// button ---------------------------------------------
|
|
109
|
+
|
|
110
|
+
.btn-glow{
|
|
111
|
+
background-image: $gradient-glow;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.btn-glow-2end{
|
|
115
|
+
--bs-btn-color: #fff;
|
|
116
|
+
--bs-btn-hover-color: #fff;
|
|
117
|
+
--bs-btn-border-color: rgba(255, 255, 255, 0.5);
|
|
118
|
+
--bs-btn-hover-border-color: rgba(255, 255, 255, 0.3);
|
|
119
|
+
background: $gradient-glow-2end;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// input ---------------------------------------------
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
// input-group-icon
|
|
126
|
+
.input-group-icon{
|
|
127
|
+
$padding-left: 2rem;
|
|
128
|
+
|
|
129
|
+
position: relative;
|
|
130
|
+
.material-icons, .input-group-placeholder{
|
|
131
|
+
position: absolute;
|
|
132
|
+
top: 50%;
|
|
133
|
+
transform: translateY(-50%);
|
|
134
|
+
z-index: 6;
|
|
135
|
+
}
|
|
136
|
+
.material-icons{
|
|
137
|
+
left: 0.6rem;
|
|
138
|
+
}
|
|
139
|
+
.input-group-placeholder{
|
|
140
|
+
left: $padding-left;
|
|
141
|
+
}
|
|
142
|
+
.form-control{
|
|
143
|
+
&:-webkit-date-and-time-value{
|
|
144
|
+
text-align: left;
|
|
145
|
+
}
|
|
146
|
+
&:nth-child(1){
|
|
147
|
+
padding-left: $padding-left;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
// animation ---------------------------------------------
|
|
154
|
+
|
|
155
|
+
.fadeIn{
|
|
156
|
+
animation-name: fadeIn;
|
|
157
|
+
animation-duration: 1s;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// image ---------------------------------------------
|
|
161
|
+
|
|
162
|
+
.thumbnail-circle{
|
|
163
|
+
border: 3px solid rgba($white, .3);
|
|
164
|
+
border-radius: 50%;
|
|
165
|
+
&-sm{
|
|
166
|
+
border-width: 2px;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
// scroll ---------------------------------------------
|
|
172
|
+
|
|
173
|
+
.overflow-y-auto{
|
|
174
|
+
overscroll-behavior: contain;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.body-opened-modal{
|
|
178
|
+
// position: fixed;
|
|
179
|
+
overflow: hidden;
|
|
180
|
+
.bg-gradient-main-translucent, .bg-dark-translucent, .bg-light-translucent{
|
|
181
|
+
backdrop-filter: unset;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.backdrop-filter-none{
|
|
186
|
+
backdrop-filter: unset;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
// list-group-item ---------------------------------------------
|
|
190
|
+
|
|
191
|
+
.list-group-item{
|
|
192
|
+
outline: none !important;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
// reset ---------------------------------------------
|
|
197
|
+
|
|
198
|
+
@media only screen and (max-width: 992px) {
|
|
199
|
+
body{
|
|
200
|
+
overflow: visible;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
@import "../Settings/basic-import";
|
|
2
|
-
html, body, #app,
|
|
2
|
+
html, body, #app.layout-two-column,
|
|
3
3
|
#col-aside, #col-main{
|
|
4
4
|
height: 100%;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
body, #app{
|
|
7
|
+
body, #app.layout-two-column{
|
|
8
8
|
overflow: hidden;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
#app{
|
|
11
|
+
#app.layout-two-column{
|
|
12
12
|
display: flex;
|
|
13
13
|
flex-direction: row-reverse;
|
|
14
14
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
$safe-area-inset-top: env(safe-area-inset-top);
|
|
2
|
+
$safe-area-inset-bottom: env(safe-area-inset-bottom);
|
|
3
|
+
|
|
4
|
+
$gradient-bg: linear-gradient(138deg, rgba(100, 148, 241, 0.05) 26.2%, rgba(165, 185, 255, 0.29) 88.06%), var(--gray-000);
|
|
5
|
+
|
|
6
|
+
$gradient-main: linear-gradient(270deg, #647AF1 33.33%, #0084E4 100%);
|
|
7
|
+
$gradient-main-translucent: linear-gradient(270deg, rgba(63, 90, 233, 0.8) 33.33%, rgba(0, 130, 220, 0.8) 100%);
|
|
8
|
+
|
|
9
|
+
$gradient-glow: linear-gradient(131deg, rgba(17, 198, 245, 0.55) 0%, rgba(24, 196, 255, 0.00) 100%);
|
|
10
|
+
$gradient-glow-2end: linear-gradient(131deg, rgba(17, 198, 245, 0.20) 0%, rgba(24, 196, 255, 0.00) 45.31%, rgba(17, 198, 245, 0.20) 100%);
|
|
11
|
+
|
|
12
|
+
$backdrop-blur-base: blur(5px);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
@import "
|
|
2
|
-
@import "
|
|
1
|
+
@import "../../../../bootstrap/scss/functions";
|
|
2
|
+
@import "../../../../bootstrap/scss/mixins";
|
|
3
3
|
@import "./bs-variables";
|
|
4
4
|
@import "./custom-variables";
|
|
5
|
+
@import "./color-mode";
|
|
5
6
|
@import "./Mixins";
|