asab_webui_shell 25.1.13 → 25.2.1-alpha.2
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/dist/index.js +1 -0
- package/dist/screens/SuspenseScreen.scss +3 -1
- package/dist/styles/components/alert.scss +53 -0
- package/dist/styles/components/button.scss +105 -0
- package/dist/styles/components/card.scss +174 -0
- package/dist/styles/components/form.scss +20 -0
- package/dist/styles/components/html.scss +18 -0
- package/dist/styles/constants/colors.scss +69 -0
- package/dist/styles/constants/index.scss +70 -0
- package/dist/styles/constants/theme-dark.scss +62 -0
- package/dist/styles/constants/theme-light.scss +53 -0
- package/dist/styles/constants/theme-print.scss +206 -0
- package/dist/styles/index.scss +15 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -40,6 +40,7 @@ Object.defineProperty(exports, "getBrandImage", {
|
|
|
40
40
|
return _BrandImage.getBrandImage;
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
|
+
require("./styles/index.scss");
|
|
43
44
|
var _Application = _interopRequireDefault(require("./containers/Application"));
|
|
44
45
|
var _BrandImage = require("./components/branding/BrandImage");
|
|
45
46
|
var _i18n = _interopRequireDefault(require("./modules/i18n"));
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
.alert {
|
|
2
|
+
border: none;
|
|
3
|
+
--bs-alert-padding-y: 0.75rem;
|
|
4
|
+
>.btn-close {
|
|
5
|
+
padding: 1rem;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
[data-bs-theme=dark] {
|
|
10
|
+
.alert {
|
|
11
|
+
color: inherit;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.alert- {
|
|
15
|
+
|
|
16
|
+
&primary {
|
|
17
|
+
background-color: rgba(var(--bs-primary-rgb));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&secondary {
|
|
21
|
+
background-color: rgba(var(--bs-secondary-rgb));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&success {
|
|
25
|
+
background-color: rgba(var(--bs-success-rgb));
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&danger {
|
|
29
|
+
background-color: rgba(var(--bs-danger-rgb));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&warning {
|
|
33
|
+
background-color: rgba(var(--bs-warning-rgb));
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&info {
|
|
37
|
+
background-color: rgba(var(--bs-info-rgb));
|
|
38
|
+
color: rgba(var(--bs-alert-info-color-rgb));
|
|
39
|
+
> .btn-close {
|
|
40
|
+
// This will align color of close btn with text color
|
|
41
|
+
filter: unset;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
&light {
|
|
46
|
+
background-color: rgba(var(--bs-light-rgb));
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&dark {
|
|
50
|
+
background-color: rgba(var(--bs-dark-rgb));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
[class^="btn btn-"] {
|
|
2
|
+
border: none;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.btn {
|
|
6
|
+
--bs-btn-font-size: var(--bs-body-font-size);
|
|
7
|
+
--bs-btn-border-radius: 0px; // No radius for buttons
|
|
8
|
+
--bs-btn-border-color: transparent; // No border color for buttons
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.btn-link {
|
|
12
|
+
text-decoration: none;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
[class^="btn btn-outline"].disabled {
|
|
16
|
+
//this will enable pointer events, so the 'title' attribute is shown on hover
|
|
17
|
+
pointer-events: auto;
|
|
18
|
+
cursor: default;
|
|
19
|
+
|
|
20
|
+
&:hover {
|
|
21
|
+
background-color: unset;
|
|
22
|
+
filter: unset;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&:active {
|
|
26
|
+
--bs-btn-active-color: var(--bs-btn-disabled-color);
|
|
27
|
+
filter: unset;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
[class^="btn"].btn.disabled {
|
|
32
|
+
//this will enable pointer events, so the 'title' attribute is shown on hover
|
|
33
|
+
pointer-events: auto;
|
|
34
|
+
cursor: default;
|
|
35
|
+
|
|
36
|
+
&:hover {
|
|
37
|
+
filter: unset;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&:active {
|
|
41
|
+
//background should not change on :active to appear still disabled
|
|
42
|
+
--bs-btn-active-bg: var(--bs-btn-disabled-bg);
|
|
43
|
+
filter: unset;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.btn-primary {
|
|
48
|
+
--bs-btn-bg: var(--royal-blue);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.btn-outline-primary{
|
|
52
|
+
--bs-btn-color: var(--royal-blue);
|
|
53
|
+
&:active {
|
|
54
|
+
--bs-btn-active-bg: var(--royal-blue);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
[data-bs-theme=dark] {
|
|
59
|
+
.btn-primary {
|
|
60
|
+
--bs-btn-bg: var(--soft-sky-blue);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.btn-outline-primary {
|
|
64
|
+
--bs-btn-color: var(--soft-sky-blue);
|
|
65
|
+
&:active {
|
|
66
|
+
--bs-btn-active-bg: var(--soft-sky-blue);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.btn-info {
|
|
71
|
+
--bs-btn-color: var(--deep-space-blue);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.btn-primary {
|
|
76
|
+
&:hover {
|
|
77
|
+
filter: brightness(80%);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.btn-outline- {
|
|
82
|
+
&primary:hover {
|
|
83
|
+
background-color: rgba(var(--bs-primary-rgb), 0.75);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
&secondary:hover {
|
|
87
|
+
background-color: rgba(var(--bs-secondary-rgb), 0.75);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
&success:hover {
|
|
91
|
+
background-color: rgba(var(--bs-success-rgb), 0.75);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
&danger:hover {
|
|
95
|
+
background-color: rgba(var(--bs-danger-rgb), 0.75);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
&warning:hover {
|
|
99
|
+
background-color: rgba(var(--bs-warning-rgb), 0.75);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
&info:hover {
|
|
103
|
+
background-color: rgba(var(--bs-info-rgb), 0.75);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
[data-bs-theme=dark] .card {
|
|
2
|
+
--bs-card-cap-bg: unset;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.card {
|
|
6
|
+
--bs-card-border-color: var(--bs-border-color);
|
|
7
|
+
--bs-card-cap-bg: var(--white);
|
|
8
|
+
--bs-card-cap-padding-y: 0.9rem;
|
|
9
|
+
|
|
10
|
+
> .card-header h3, > .card-header-flex h3 {
|
|
11
|
+
font-size: 1.2rem;
|
|
12
|
+
color: var(--bs-body-color);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
button[class*="btn-outline"],
|
|
16
|
+
button[class*="btn-outline"]:disabled {
|
|
17
|
+
--bs-btn-border-color: inherit;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
$card-flex-height: 3.2rem;
|
|
22
|
+
|
|
23
|
+
// Extending `.card-header` class to accept flex sub-items
|
|
24
|
+
.card-header-flex {
|
|
25
|
+
// @extend .d-flex from bootstrap
|
|
26
|
+
display: flex !important;
|
|
27
|
+
|
|
28
|
+
// @extend .align-items-center from bootstrap
|
|
29
|
+
align-items: center !important;
|
|
30
|
+
|
|
31
|
+
min-height: $card-flex-height; // The height must be set for flex class
|
|
32
|
+
|
|
33
|
+
// @extend .card-header from bootstrap
|
|
34
|
+
color: var(--bs-card-cap-color);
|
|
35
|
+
background-color: var(--bs-card-cap-bg);
|
|
36
|
+
border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
|
|
37
|
+
|
|
38
|
+
padding: 0;
|
|
39
|
+
margin: 0;
|
|
40
|
+
|
|
41
|
+
> * {
|
|
42
|
+
padding: 0 var(--bs-card-cap-padding-x);
|
|
43
|
+
|
|
44
|
+
display: flex;
|
|
45
|
+
height: $card-flex-height;
|
|
46
|
+
flex-direction: column;
|
|
47
|
+
justify-content: center;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
> .btn {
|
|
51
|
+
--bs-btn-border-color: transparent;
|
|
52
|
+
border-radius: 0;
|
|
53
|
+
|
|
54
|
+
&:first-child {
|
|
55
|
+
border-radius: var(--bs-border-radius) 0 0 0;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&:last-child {
|
|
59
|
+
border-radius: 0 var(--bs-border-radius) 0 0;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
> .dropdown {
|
|
64
|
+
padding: 0;
|
|
65
|
+
|
|
66
|
+
&:first-child > .btn {
|
|
67
|
+
border-radius: var(--bs-border-radius) 0 0 0;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
&:last-child > .btn {
|
|
71
|
+
border-radius: 0 var(--bs-border-radius) 0 0;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.dropdown-toggle {
|
|
75
|
+
--bs-btn-border-color: transparent;
|
|
76
|
+
border-radius: 0;
|
|
77
|
+
height: 100%;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
> .nav {
|
|
82
|
+
padding: 0;
|
|
83
|
+
display: contents;
|
|
84
|
+
|
|
85
|
+
.nav-item a {
|
|
86
|
+
border: none;
|
|
87
|
+
background: inherit;
|
|
88
|
+
border-bottom: 2px solid transparent;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.nav-item a:hover {
|
|
92
|
+
cursor: pointer;
|
|
93
|
+
border-bottom: 2px solid var(--bs-secondary);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.nav-item a.active {
|
|
97
|
+
border-bottom: 2px solid var(--bs-primary);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
h2, h3, h4, h5, h6 {
|
|
102
|
+
margin-bottom: 0;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
.card-footer-flex {
|
|
108
|
+
// @extend .d-flex from bootstrap
|
|
109
|
+
display: flex!important;
|
|
110
|
+
|
|
111
|
+
// @extend .align-items-center from bootstrap
|
|
112
|
+
align-items: center!important;
|
|
113
|
+
|
|
114
|
+
min-height: $card-flex-height; // The height must be set for flex class
|
|
115
|
+
|
|
116
|
+
// @extend .card-header from bootstrap
|
|
117
|
+
color: var(--bs-card-cap-color);
|
|
118
|
+
background-color: var(--bs-card-cap-bg);
|
|
119
|
+
border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
|
|
120
|
+
|
|
121
|
+
padding: 0;
|
|
122
|
+
margin: 0;
|
|
123
|
+
|
|
124
|
+
> * {
|
|
125
|
+
padding: 0 var(--bs-card-cap-padding-x);
|
|
126
|
+
|
|
127
|
+
display: flex;
|
|
128
|
+
height: $card-flex-height;
|
|
129
|
+
flex-direction: column;
|
|
130
|
+
justify-content: center;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
> .btn {
|
|
134
|
+
--bs-btn-border-color: transparent;
|
|
135
|
+
border-radius: 0;
|
|
136
|
+
|
|
137
|
+
&:first-child {
|
|
138
|
+
border-radius: 0 0 0 var(--bs-border-radius);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
&:last-child {
|
|
142
|
+
border-radius: 0 0 var(--bs-border-radius) 0;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
> .dropdown {
|
|
148
|
+
padding: 0;
|
|
149
|
+
|
|
150
|
+
&:first-child > .btn {
|
|
151
|
+
border-radius: 0 0 0 var(--bs-border-radius);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
&:last-child > .btn {
|
|
155
|
+
border-radius: 0 0 var(--bs-border-radius) 0;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.dropdown-toggle {
|
|
159
|
+
--bs-btn-border-color: transparent;
|
|
160
|
+
border-radius: 0;
|
|
161
|
+
height: 100%;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// Styles for enabling fullscreen mode covering header and sidebar
|
|
167
|
+
.card-fullscreen {
|
|
168
|
+
position: fixed;
|
|
169
|
+
top: 0;
|
|
170
|
+
left: 0;
|
|
171
|
+
width: 100vw;
|
|
172
|
+
height: 100vh;
|
|
173
|
+
z-index: 9999;
|
|
174
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
.form-control, .form-select, .form-check-input {
|
|
2
|
+
font-size: var(--bs-body-font-size);
|
|
3
|
+
border-radius: 0px;
|
|
4
|
+
background-color: var(--bs-input-bg-color);
|
|
5
|
+
&:focus {
|
|
6
|
+
box-shadow: none;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.form-select, .form-check-input {
|
|
11
|
+
cursor: pointer;
|
|
12
|
+
&:disabled {
|
|
13
|
+
cursor: default;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.form-select option:checked {
|
|
18
|
+
color: white;
|
|
19
|
+
background-color: var(--bs-primary);
|
|
20
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
a {
|
|
2
|
+
text-decoration: none;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
hr {
|
|
6
|
+
border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
|
|
7
|
+
opacity: 1;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
pre code {
|
|
11
|
+
color: var(--bs-code-color); // The colour of the pre-formatted code has to match <code>
|
|
12
|
+
tab-size: 4;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
code {
|
|
16
|
+
font-size: var(--asab-monospace-font-size);
|
|
17
|
+
tab-size: 4;
|
|
18
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Colors for themes
|
|
2
|
+
// IMPORTANT: Always enter two variants (hex and RGB)
|
|
3
|
+
|
|
4
|
+
:root {
|
|
5
|
+
--soft-sky-blue: #7A9CFF; // The link color for a dark theme
|
|
6
|
+
--soft-sky-blue-rgb: 122, 156, 255;
|
|
7
|
+
|
|
8
|
+
--pastel-sky-blue: #DBEEFF; // The link-hover color and body-bg color for a dark theme
|
|
9
|
+
--pastel-sky-blue-rgb: 219, 238, 255;
|
|
10
|
+
|
|
11
|
+
--deep-space-blue: #0E1426; // The dark for a light, dark theme and dark for body bg, tertiary color for a light theme
|
|
12
|
+
--deep-space-blue-rgb: 14, 20, 38;
|
|
13
|
+
|
|
14
|
+
--nightfall-blue: #19223f; // The card-bg and table-bg color for a dark theme
|
|
15
|
+
|
|
16
|
+
--deep-ocean-blue: #24366D; // The border and card-border color for dark theme
|
|
17
|
+
--deep-ocean-blue-rgb: 36, 54, 109;
|
|
18
|
+
|
|
19
|
+
--polar-mist: #F3F4FA; // The light for a light and dark theme
|
|
20
|
+
--polar-mist-rgb: 243, 244, 250;
|
|
21
|
+
|
|
22
|
+
--white: #FFFFFF; // The card-bg, table-bg, input-bg color for light theme
|
|
23
|
+
--white-rgb: 255, 255, 255;
|
|
24
|
+
|
|
25
|
+
--royal-blue: #315EE3; // The link and primary color for a light theme
|
|
26
|
+
--royal-blue-rgb: 49, 94, 227;
|
|
27
|
+
|
|
28
|
+
--tropical-rainforest: #3DC9B0; // Corresponds with vs-dark color (from the Monaco editor)
|
|
29
|
+
--tropical-rainforest-rgb: 61, 201, 176;
|
|
30
|
+
|
|
31
|
+
--teal: #008080; // Corresponds with vs color (from the Monaco editor)
|
|
32
|
+
--teal-rgb: 0 128 128;
|
|
33
|
+
|
|
34
|
+
--lavender-mist: #DDE1F8; // The secondary for a light and dark theme, the border-color for light theme
|
|
35
|
+
--lavender-mist-rgb: 221, 225, 248;
|
|
36
|
+
|
|
37
|
+
--vibrant-magenta: #d63384; // The code color for light theme
|
|
38
|
+
--vibrant-magenta-rgb: 214, 51, 132;
|
|
39
|
+
|
|
40
|
+
--black: #000000; // The body-color for light theme
|
|
41
|
+
--black-rgb: 0, 0, 0;
|
|
42
|
+
|
|
43
|
+
--midnight-blue: #131C37; // The input-bg color for a dark theme
|
|
44
|
+
--midnight-blue-rgb: 19, 28, 55;
|
|
45
|
+
|
|
46
|
+
--slate-smoke: #6a6a6a8f; // The color of the disabled item text in the TreeMenu
|
|
47
|
+
--slate-smoke-rgb: 106, 106, 106;
|
|
48
|
+
|
|
49
|
+
--light-honey: #ffe082; // The color of the lowest Alert severity
|
|
50
|
+
--light-honey-rgb: 255, 224, 130;
|
|
51
|
+
|
|
52
|
+
--bright-orange: #ff9800; // The color of the medium Alert severity
|
|
53
|
+
--bright-orange-rgb: 255, 125, 0;
|
|
54
|
+
|
|
55
|
+
--fiery-sunset: #ff5722; // The color of the high Alert severity
|
|
56
|
+
--fiery-sunset-rgb: 255, 87, 34;
|
|
57
|
+
|
|
58
|
+
--charcoal: #494949; // Console background dark theme
|
|
59
|
+
--charcoal-rgb: 0, 43, 54;
|
|
60
|
+
|
|
61
|
+
--old-lace: #FDF6E3; // Console background light theme
|
|
62
|
+
--old-lace-rgb: 253, 246, 227;
|
|
63
|
+
|
|
64
|
+
--gainsboro: #E0E0E0; // Console font color for dark theme
|
|
65
|
+
--gainsboro-rgb: rgb(224, 224, 224);
|
|
66
|
+
|
|
67
|
+
--moody-blues: #586E75; // Console font color for light theme
|
|
68
|
+
--moody-blues-rgb: rgb(88, 110, 117);
|
|
69
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
@use './colors.scss';
|
|
2
|
+
@use './theme-light.scss';
|
|
3
|
+
@use './theme-dark.scss';
|
|
4
|
+
@use './theme-print.scss';
|
|
5
|
+
|
|
6
|
+
// Universal styling goes here
|
|
7
|
+
// It means fonts, borders but no colors
|
|
8
|
+
// Set only `--bs-*` variables here.
|
|
9
|
+
|
|
10
|
+
:root {
|
|
11
|
+
// Font and typography
|
|
12
|
+
--bs-font-sans-serif: 'Verdana', sans-serif;
|
|
13
|
+
--bs-body-font-size: 14px;
|
|
14
|
+
|
|
15
|
+
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
|
|
16
|
+
--asab-monospace-font-size: 14px;
|
|
17
|
+
|
|
18
|
+
--bs-body-line-height: 1.5;
|
|
19
|
+
|
|
20
|
+
// Borders
|
|
21
|
+
--bs-border-radius: 8px;
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Specific components
|
|
26
|
+
|
|
27
|
+
.list-group {
|
|
28
|
+
--bs-list-group-bg: transparent;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.dropdown-menu {
|
|
32
|
+
--bs-dropdown-border-radius: 0px; // No radius for dropdowns
|
|
33
|
+
--bs-dropdown-font-size: var(--bs-body-font-size);
|
|
34
|
+
|
|
35
|
+
--bs-dropdown-header-color: var(--bs-heading-color);
|
|
36
|
+
--bs-dropdown-link-color: var(--bs-link-color);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.progress-bar {
|
|
40
|
+
--bs-progress-height: 16px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.card {
|
|
44
|
+
--bs-card-bg: var(--bs-element-bg-color);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.table {
|
|
48
|
+
--bs-table-bg: var(--bs-body-bg);
|
|
49
|
+
thead th {
|
|
50
|
+
/*Setting table header background color*/
|
|
51
|
+
background-color: transparent;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.dropdown-menu {
|
|
56
|
+
--bs-dropdown-bg: var(--bs-element-bg-color);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.input-group-text {
|
|
60
|
+
border-radius: 0;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.react-json-view {
|
|
64
|
+
background-color: transparent !important;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/*Fix the position of the monaco hover marker tooltip*/
|
|
68
|
+
.monaco-hover {
|
|
69
|
+
position: fixed;
|
|
70
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// Set only `--bs-*-color` and `--bs-*-color-rgb` variables from Bootstrap 5
|
|
2
|
+
// https://getbootstrap.com/docs/5.3/customize/css-variables/
|
|
3
|
+
|
|
4
|
+
[data-bs-theme=dark] {
|
|
5
|
+
|
|
6
|
+
/* Bootstrap color variables */
|
|
7
|
+
|
|
8
|
+
--bs-primary: var(--soft-sky-blue);
|
|
9
|
+
--bs-primary-rgb: var(--soft-sky-blue-rgb);
|
|
10
|
+
|
|
11
|
+
--bs-secondary: var(--lavender-mist);
|
|
12
|
+
--bs-secondary-rgb: var(--lavender-mist-rgb);
|
|
13
|
+
|
|
14
|
+
--bs-light: var(--polar-mist);
|
|
15
|
+
--bs-light-rgb: var(--polar-mist-rgb);
|
|
16
|
+
|
|
17
|
+
--bs-dark: var(--deep-space-blue);
|
|
18
|
+
--bs-dark-rgb: var(--deep-space-blue-rgb);
|
|
19
|
+
|
|
20
|
+
--bs-link-color: var(--soft-sky-blue);
|
|
21
|
+
--bs-link-color-rgb: var(--soft-sky-blue-rgb);
|
|
22
|
+
|
|
23
|
+
--bs-link-hover-color: var(--pastel-sky-blue);
|
|
24
|
+
--bs-link-hover-color-rgb: var(--pastel-sky-rgb);
|
|
25
|
+
|
|
26
|
+
--bs-code-color: var(--tropical-rainforest);
|
|
27
|
+
--bs-code-color-rgb: var(--tropical-rainforest-rgb);
|
|
28
|
+
|
|
29
|
+
--bs-body-bg: var(--deep-space-blue);
|
|
30
|
+
--bs-body-bg-rgb: var(--deep-space-blue-rgb);
|
|
31
|
+
|
|
32
|
+
--bs-body-color: var(--pastel-sky-blue);
|
|
33
|
+
--bs-body-color-rgb: var(--pastel-sky-blue-rgb);
|
|
34
|
+
|
|
35
|
+
--bs-border-color: var(--deep-ocean-blue);
|
|
36
|
+
--bs-border-color-rgb: var(--deep-ocean-blue-rgb);
|
|
37
|
+
|
|
38
|
+
--bs-input-bg-color: var(--midnight-blue);
|
|
39
|
+
--bs-input-bg-color-rgb: var(--midnight-blue);
|
|
40
|
+
|
|
41
|
+
--bs-element-bg-color: var(--nightfall-blue);
|
|
42
|
+
--bs-element-bg-color-rgb: var(--nightfall-blue);
|
|
43
|
+
|
|
44
|
+
--bs-alert-info-color: var(--deep-space-blue);
|
|
45
|
+
--bs-alert-info-color-rgb: var(--deep-space-blue-rgb);
|
|
46
|
+
|
|
47
|
+
/* Non bootstrap color variables */
|
|
48
|
+
|
|
49
|
+
--table-row-hover-bg-color: var(--charcoal-blue);
|
|
50
|
+
--table-row-hover-bg-color-rgb: var(--charcoal-blue-rgb);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
[data-bs-theme=dark] {
|
|
54
|
+
.progress-bar {
|
|
55
|
+
--bs-progress-bar-color: var(--white);
|
|
56
|
+
--bs-progress-bar-bg: var(--soft-sky-blue);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.badge.bg-info {
|
|
60
|
+
--bs-badge-color: var(--deep-space-blue);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// Set only `--bs-*-color` and `--bs-*-color-rgb` variables from Bootstrap 5
|
|
2
|
+
// https://getbootstrap.com/docs/5.3/customize/css-variables/
|
|
3
|
+
|
|
4
|
+
:root, [data-bs-theme=light] {
|
|
5
|
+
|
|
6
|
+
/* Bootstrap color variables */
|
|
7
|
+
|
|
8
|
+
--bs-primary: var(--royal-blue);
|
|
9
|
+
--bs-primary-rgb: var(--royal-blue-rgb);
|
|
10
|
+
|
|
11
|
+
--bs-secondary: var(--lavender-mist);
|
|
12
|
+
--bs-secondary-rgb: var(--lavender-mist-rgb);
|
|
13
|
+
|
|
14
|
+
--bs-light: var(--polar-mist);
|
|
15
|
+
--bs-light-rgb: var(--polar-mist-rgb);
|
|
16
|
+
|
|
17
|
+
--bs-dark: var(--deep-space-blue);
|
|
18
|
+
--bs-dark-rgb: var(--deep-space-blue-rgb);
|
|
19
|
+
|
|
20
|
+
--bs-link-color: var(--royal-blue);
|
|
21
|
+
--bs-link-color-rgb: var(--royal-blue-rgb);
|
|
22
|
+
|
|
23
|
+
--bs-link-hover-color: var(--royal-blue);
|
|
24
|
+
--bs-link-hover-color-rgb: var(--royal-blue-rgb);
|
|
25
|
+
|
|
26
|
+
--bs-code-color: var(--teal);
|
|
27
|
+
--bs-code-color-rgb: var(--teal-rgb);
|
|
28
|
+
|
|
29
|
+
--bs-body-bg: var(--polar-mist);
|
|
30
|
+
--bs-body-bg-rgb: var(--polar-mist-rgb);
|
|
31
|
+
|
|
32
|
+
--bs-body-color: var(--black);
|
|
33
|
+
--bs-body-color-rgb: var(--black-rgb);
|
|
34
|
+
|
|
35
|
+
--bs-border-color: var(--lavender-mist);
|
|
36
|
+
--bs-border-color-rgb: var(--lavender-mist-rgb);
|
|
37
|
+
|
|
38
|
+
--bs-input-bg-color: var(--white);
|
|
39
|
+
--bs-input-bg-color-rgb: var(--white-rgb);
|
|
40
|
+
|
|
41
|
+
--bs-element-bg-color: var(--white);
|
|
42
|
+
--bs-element-bg-color-rgb: var(--white-rgb);
|
|
43
|
+
|
|
44
|
+
/* Non bootstrap color variables */
|
|
45
|
+
|
|
46
|
+
--table-row-hover-bg-color: var(--soft-gray);
|
|
47
|
+
--table-row-hover-bg-color-rgb: var(--soft-gray-rgb);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
:root, [data-bs-theme=light] .progress-bar {
|
|
51
|
+
--bs-progress-bar-color: var(--white);
|
|
52
|
+
--bs-progress-bar-bg: var(--royal-blue);
|
|
53
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
@page print-portrait {
|
|
2
|
+
size: portrait;
|
|
3
|
+
}
|
|
4
|
+
@media print {
|
|
5
|
+
@page {
|
|
6
|
+
size: A4 landscape;
|
|
7
|
+
margin: 2cm 1cm 1.5cm;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.print-portrait {
|
|
11
|
+
page: print-portrait;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Dont display page scrollbar in chrome
|
|
15
|
+
::-webkit-scrollbar {
|
|
16
|
+
display: none;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Needed for background color of status indicator widget */
|
|
20
|
+
html {
|
|
21
|
+
-webkit-print-color-adjust: exact;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Needed for Chrome, so that background is always white
|
|
25
|
+
[data-bs-theme=dark] {
|
|
26
|
+
color-scheme: light;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
body {
|
|
30
|
+
position: relative !important;
|
|
31
|
+
height: auto;
|
|
32
|
+
background: none !important;
|
|
33
|
+
|
|
34
|
+
--bs-primary: var(--royal-blue);
|
|
35
|
+
--bs-primary-rgb: var(--royal-blue-rgb);
|
|
36
|
+
|
|
37
|
+
--bs-secondary: var(--lavender-mist);
|
|
38
|
+
--bs-secondary-rgb: var(--lavender-mist-rgb);
|
|
39
|
+
|
|
40
|
+
--bs-light: var(--polar-mist);
|
|
41
|
+
--bs-light-rgb: var(--polar-mist-rgb);
|
|
42
|
+
|
|
43
|
+
--bs-dark: var(--deep-space-blue);
|
|
44
|
+
--bs-dark-rgb: var(--deep-space-blue-rgb);
|
|
45
|
+
|
|
46
|
+
--bs-link-color: var(--royal-blue);
|
|
47
|
+
--bs-link-color-rgb: var(--royal-blue-rgb);
|
|
48
|
+
|
|
49
|
+
--bs-link-hover-color: var(--royal-blue);
|
|
50
|
+
--bs-link-hover-color-rgb: var(--royal-blue-rgb);
|
|
51
|
+
|
|
52
|
+
--bs-code-color: var(--teal);
|
|
53
|
+
--bs-code-color-rgb: var(--teal-rgb);
|
|
54
|
+
|
|
55
|
+
--bs-body-bg: var(--polar-mist);
|
|
56
|
+
--bs-body-bg-rgb: var(--polar-mist-rgb);
|
|
57
|
+
|
|
58
|
+
--bs-body-color: var(--black);
|
|
59
|
+
--bs-body-color-rgb: var(--black-rgb);
|
|
60
|
+
|
|
61
|
+
--bs-border-color: var(--lavender-mist);
|
|
62
|
+
--bs-border-color-rgb: var(--lavender-mist-rgb);
|
|
63
|
+
|
|
64
|
+
--bs-input-bg-color: var(--white);
|
|
65
|
+
--bs-input-bg-color-rgb: var(--white-rgb);
|
|
66
|
+
|
|
67
|
+
--bs-element-bg-color: var(--white);
|
|
68
|
+
--bs-element-bg-color-rgb: var(--white-rgb);
|
|
69
|
+
|
|
70
|
+
--bs-table-color: var(--bs-dark);
|
|
71
|
+
|
|
72
|
+
--table-row-hover-bg-color: var(--soft-gray);
|
|
73
|
+
--table-row-hover-bg-color-rgb: var(--soft-gray-rgb);
|
|
74
|
+
|
|
75
|
+
&.print-portrait {
|
|
76
|
+
width: 900px;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
#app {
|
|
81
|
+
height: 100%;
|
|
82
|
+
overflow: visible;
|
|
83
|
+
display: block;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
button, .btn-sm, .btn .btn-primary, .btn-primary {
|
|
87
|
+
display: none !important;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.card {
|
|
91
|
+
box-shadow: none !important;
|
|
92
|
+
border: 0 !important;
|
|
93
|
+
.card-header {
|
|
94
|
+
background-color: var(--white);
|
|
95
|
+
&.print-card-header {
|
|
96
|
+
min-height: auto;
|
|
97
|
+
.flex-fill {
|
|
98
|
+
height: auto;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
i:not(.text-warning) {
|
|
103
|
+
display: none !important;
|
|
104
|
+
}
|
|
105
|
+
h3 {
|
|
106
|
+
font-size: 32px !important;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
.card-body {
|
|
110
|
+
color: inherit !important;
|
|
111
|
+
}
|
|
112
|
+
.card-footer, .card-footer-flex, .input-group {
|
|
113
|
+
display: none !important;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.datatable2 {
|
|
118
|
+
margin-bottom: 0;
|
|
119
|
+
table-layout: auto;
|
|
120
|
+
td, th {
|
|
121
|
+
font-size: 12px;
|
|
122
|
+
padding: .25rem;
|
|
123
|
+
}
|
|
124
|
+
td {
|
|
125
|
+
white-space: normal;
|
|
126
|
+
& > * {
|
|
127
|
+
white-space: normal;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
tr {
|
|
131
|
+
page-break-inside: avoid;
|
|
132
|
+
}
|
|
133
|
+
tfoot {
|
|
134
|
+
display: none;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.text-muted {
|
|
139
|
+
color: var(--bs-gray-700) !important;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.container {
|
|
143
|
+
max-width: 100% !important;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.progress-bar {
|
|
147
|
+
display: none !important;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
table, .table {
|
|
151
|
+
--bs-table-color: var(--bs-dark);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.react-grid-item {
|
|
155
|
+
.recharts-tooltip-wrapper {
|
|
156
|
+
display: none !important;
|
|
157
|
+
}
|
|
158
|
+
.table-widget, .value-widget {
|
|
159
|
+
display: contents !important;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
.reports-container {
|
|
165
|
+
padding-top: 0 !important;
|
|
166
|
+
.react-grid-layout {
|
|
167
|
+
height: unset !important;
|
|
168
|
+
display: table;
|
|
169
|
+
text-align: center;
|
|
170
|
+
.react-grid-item {
|
|
171
|
+
display: inline-block;
|
|
172
|
+
position: unset !important;
|
|
173
|
+
transform: unset !important;
|
|
174
|
+
text-align: initial;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.dashboard-container {
|
|
180
|
+
&.display-print {
|
|
181
|
+
.react-grid-layout {
|
|
182
|
+
position: static !important;
|
|
183
|
+
height: initial !important;
|
|
184
|
+
.react-grid-item {
|
|
185
|
+
display: block !important; /*avoid widgets breaking on transition between pages*/
|
|
186
|
+
margin: 0 auto 20px;
|
|
187
|
+
position: static !important;
|
|
188
|
+
|
|
189
|
+
height: initial !important; /* Alternatively, set "height: initial !important;" */
|
|
190
|
+
width: initial !important; /* Alternatively, set "width: initial !important;" */
|
|
191
|
+
|
|
192
|
+
break-inside: avoid;
|
|
193
|
+
page-break-inside: avoid; /*avoid widgets breaking on transition between pages*/
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
.recharts-responsive-container {
|
|
197
|
+
.recharts-wrapper {
|
|
198
|
+
width: 100% !important;
|
|
199
|
+
.recharts-surface, .recharts-legend-wrapper {
|
|
200
|
+
width: 100% !important;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// This is the styling entry point
|
|
2
|
+
|
|
3
|
+
@use './constants';
|
|
4
|
+
|
|
5
|
+
@use './components/html';
|
|
6
|
+
@use './components/card';
|
|
7
|
+
@use './components/alert';
|
|
8
|
+
@use './components/button.scss';
|
|
9
|
+
@use './components/form';
|
|
10
|
+
|
|
11
|
+
// Import default bootstrap styles
|
|
12
|
+
@import 'bootstrap/dist/css/bootstrap.min.css';
|
|
13
|
+
|
|
14
|
+
// Bootstrap icons import
|
|
15
|
+
@import 'bootstrap-icons/font/bootstrap-icons.min.css';
|