algomancy-quickstart 0.7.0__py3-none-any.whl

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.
Files changed (42) hide show
  1. algomancy_quickstart/__init__.py +2 -0
  2. algomancy_quickstart/asset_manager.py +202 -0
  3. algomancy_quickstart/data_inference.py +517 -0
  4. algomancy_quickstart/main.py +62 -0
  5. algomancy_quickstart/quickstart.py +683 -0
  6. algomancy_quickstart/styling_wizard.py +347 -0
  7. algomancy_quickstart/templates/__init__.py +0 -0
  8. algomancy_quickstart/templates/algorithm.py.jinja +104 -0
  9. algomancy_quickstart/templates/assets/CQM-logo-white.png +0 -0
  10. algomancy_quickstart/templates/assets/cqm-button-white.png +0 -0
  11. algomancy_quickstart/templates/assets/cqm-button.png +0 -0
  12. algomancy_quickstart/templates/assets/cqm-logo.png +0 -0
  13. algomancy_quickstart/templates/assets/css/button_colors.css +285 -0
  14. algomancy_quickstart/templates/assets/css/cqm_loader.css +47 -0
  15. algomancy_quickstart/templates/assets/css/sidebar_layout.css +189 -0
  16. algomancy_quickstart/templates/assets/css/theme_colors.css +90 -0
  17. algomancy_quickstart/templates/assets/letter-c.svg +4 -0
  18. algomancy_quickstart/templates/assets/letter-m.svg +4 -0
  19. algomancy_quickstart/templates/assets/letter-q.svg +4 -0
  20. algomancy_quickstart/templates/assets/letters/letter-c.png +0 -0
  21. algomancy_quickstart/templates/assets/letters/letter-m.png +0 -0
  22. algomancy_quickstart/templates/assets/letters/letter-q.png +0 -0
  23. algomancy_quickstart/templates/assets/pepsi_girl.jpeg +0 -0
  24. algomancy_quickstart/templates/assets/style.css +421 -0
  25. algomancy_quickstart/templates/compare_page.py.jinja +133 -0
  26. algomancy_quickstart/templates/data_page.py.jinja +94 -0
  27. algomancy_quickstart/templates/etl_factory.py.jinja +108 -0
  28. algomancy_quickstart/templates/etl_factory_generated.py.jinja +82 -0
  29. algomancy_quickstart/templates/generated_schemas.py.jinja +55 -0
  30. algomancy_quickstart/templates/home_page.py.jinja +65 -0
  31. algomancy_quickstart/templates/kpi.py.jinja +76 -0
  32. algomancy_quickstart/templates/main.py.jinja +42 -0
  33. algomancy_quickstart/templates/main_custom.py.jinja +55 -0
  34. algomancy_quickstart/templates/main_generated_etl.py.jinja +72 -0
  35. algomancy_quickstart/templates/main_with_styling.py.jinja +83 -0
  36. algomancy_quickstart/templates/overview_page.py.jinja +98 -0
  37. algomancy_quickstart/templates/scenario_page.py.jinja +77 -0
  38. algomancy_quickstart/templates/schema.py.jinja +58 -0
  39. algomancy_quickstart/templates/styling_config.py.jinja +53 -0
  40. algomancy_quickstart-0.7.0.dist-info/METADATA +29 -0
  41. algomancy_quickstart-0.7.0.dist-info/RECORD +42 -0
  42. algomancy_quickstart-0.7.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,285 @@
1
+
2
+ /* =========================
3
+ Data management page buttons
4
+ ========================= */
5
+
6
+ .dm-derive-btn {
7
+ background-color: var(--derive-color);
8
+ color: var(--text-selected);
9
+ border-color: var(--derive-color);
10
+ }
11
+
12
+ .dm-derive-btn:hover, .dm-derive-btn:focus, .dm-derive-btn:active, .dm-derive-btn:active:focus {
13
+ background-color: var(--derive-color-hover);
14
+ color: var(--text-selected);
15
+ border-color: var(--derive-color-hover);
16
+ }
17
+
18
+ .dm-delete-btn {
19
+ background-color: var(--delete-color);
20
+ color: var(--text-selected);
21
+ border-color: var(--delete-color);
22
+ }
23
+
24
+ .dm-delete-btn:hover, .dm-delete-btn:focus, .dm-delete-btn:active, .dm-delete-btn:active:focus {
25
+ background-color: var(--delete-color-hover);
26
+ color: var(--text-selected);
27
+ border-color: var(--delete-color-hover);
28
+ }
29
+
30
+ .dm-save-btn {
31
+ background-color: var(--save-color);
32
+ color: var(--text-selected);
33
+ border-color: var(--save-color);
34
+ }
35
+
36
+ .dm-save-btn:hover, .dm-save-btn:focus, .dm-save-btn:active, .dm-save-btn:active:focus {
37
+ background-color: var(--save-color-hover);
38
+ color: var(--text-selected);
39
+ border-color: var(--save-color-hover);
40
+ }
41
+
42
+ .dm-import-btn {
43
+ background-color: var(--import-color);
44
+ color: var(--text-selected);
45
+ border-color: var(--import-color);
46
+ }
47
+
48
+ .dm-import-btn:hover, .dm-import-btn:focus, .dm-import-btn:active, .dm-import-btn:active:focus {
49
+ background-color: var(--import-color-hover);
50
+ color: var(--text-selected);
51
+ border-color: var(--import-color-hover);
52
+ }
53
+
54
+ .dm-upload-btn {
55
+ background-color: var(--upload-color);
56
+ color: var(--text-selected);
57
+ border-color: var(--upload-color);
58
+ }
59
+
60
+ .dm-upload-btn:hover, .dm-upload-btn:focus, .dm-upload-btn:active, .dm-upload-btn:active:focus {
61
+ background-color: var(--upload-color-hover);
62
+ color: var(--text-selected);
63
+ border-color: var(--upload-color-hover);
64
+ }
65
+
66
+ .dm-download-btn {
67
+ background-color: var(--download-color);
68
+ color: var(--text-selected);
69
+ border-color: var(--download-color);
70
+ }
71
+
72
+ .dm-download-btn:hover, .dm-download-btn:focus, .dm-download-btn:active, .dm-download-btn:active:focus {
73
+ background-color: var(--download-color-hover);
74
+ color: var(--text-selected);
75
+ border-color: var(--download-color-hover);
76
+ }
77
+
78
+ .dm-derive-btn:disabled, .dm-delete-btn.disabled, .dm-save-btn.disabled, .dm-import-btn.disabled, .dm-upload-btn.disabled, .dm-download-btn:disabled {
79
+ background-color: var(--disabled_color);
80
+ color: var(--text-selected);
81
+ border-color: var(--disabled_color);
82
+ opacity: 0.5;
83
+ }
84
+
85
+ /* =========================
86
+ Data modal buttons
87
+ ========================= */
88
+ .dm-derive-modal-confirm-btn {
89
+ background-color: var(--derive-modal-confirm-color);
90
+ color: var(--text-selected);
91
+ border-color: var(--derive-modal-confirm-color);
92
+ }
93
+
94
+ .dm-derive-modal-confirm-btn:hover, .dm-derive-modal-confirm-btn:focus,
95
+ .dm-derive-modal-confirm-btn:active, .dm-derive-modal-confirm-btn:active:focus {
96
+ background-color: var(--derive-modal-confirm-color-hover);
97
+ color: var(--text-selected);
98
+ border-color: var(--derive-modal-confirm-color-hover);
99
+ }
100
+
101
+ .dm-derive-modal-cancel-btn {
102
+ background-color: var(--derive-modal-cancel-color);
103
+ color: var(--text-selected);
104
+ border-color: var(--derive-modal-cancel-color);
105
+ }
106
+
107
+ .dm-derive-modal-cancel-btn:hover, .dm-derive-modal-cancel-btn:focus,
108
+ .dm-derive-modal-cancel-btn:active, .dm-derive-modal-cancel-btn:active:focus {
109
+ background-color: var(--derive-modal-cancel-color-hover);
110
+ color: var(--text-selected);
111
+ border-color: var(--derive-modal-cancel-color-hover);
112
+ }
113
+
114
+ /* Delete modal buttons */
115
+ .dm-delete-modal-confirm-btn {
116
+ background-color: var(--delete-modal-confirm-color);
117
+ color: var(--text-selected);
118
+ border-color: var(--delete-modal-confirm-color);
119
+ }
120
+
121
+ .dm-delete-modal-confirm-btn:hover, .dm-delete-modal-confirm-btn:focus,
122
+ .dm-delete-modal-confirm-btn:active, .dm-delete-modal-confirm-btn:active:focus {
123
+ background-color: var(--delete-modal-confirm-color-hover);
124
+ color: var(--text-selected);
125
+ border-color: var(--delete-modal-confirm-color-hover);
126
+ }
127
+
128
+ .dm-delete-modal-cancel-btn {
129
+ background-color: var(--delete-modal-cancel-color);
130
+ color: var(--text-selected);
131
+ border-color: var(--delete-modal-cancel-color);
132
+ }
133
+
134
+ .dm-delete-modal-cancel-btn:hover, .dm-delete-modal-cancel-btn:focus,
135
+ .dm-delete-modal-cancel-btn:active, .dm-delete-modal-cancel-btn:active:focus {
136
+ background-color: var(--delete-modal-cancel-color-hover);
137
+ color: var(--text-selected);
138
+ border-color: var(--delete-modal-cancel-color-hover);
139
+ }
140
+
141
+ /* Save modal buttons */
142
+ .dm-save-modal-confirm-btn {
143
+ background-color: var(--save-modal-confirm-color);
144
+ color: var(--text-selected);
145
+ border-color: var(--save-modal-confirm-color);
146
+ }
147
+
148
+ .dm-save-modal-confirm-btn:hover, .dm-save-modal-confirm-btn:focus,
149
+ .dm-save-modal-confirm-btn:active, .dm-save-modal-confirm-btn:active:focus {
150
+ background-color: var(--save-modal-confirm-color-hover);
151
+ color: var(--text-selected);
152
+ border-color: var(--save-modal-confirm-color-hover);
153
+ }
154
+
155
+ .dm-save-modal-cancel-btn {
156
+ background-color: var(--save-modal-cancel-color);
157
+ color: var(--text-selected);
158
+ border-color: var(--save-modal-cancel-color);
159
+ }
160
+
161
+ .dm-save-modal-cancel-btn:hover, .dm-save-modal-cancel-btn:focus,
162
+ .dm-save-modal-cancel-btn:active, .dm-save-modal-cancel-btn:active:focus {
163
+ background-color: var(--save-modal-cancel-color-hover);
164
+ color: var(--text-selected);
165
+ border-color: var(--save-modal-cancel-color-hover);
166
+ }
167
+
168
+ /* Import modal buttons */
169
+ .dm-import-modal-confirm-btn {
170
+ background-color: var(--import-modal-confirm-color);
171
+ color: var(--text-selected);
172
+ border-color: var(--import-modal-confirm-color);
173
+ }
174
+
175
+ .dm-import-modal-confirm-btn:hover, .dm-import-modal-confirm-btn:focus,
176
+ .dm-import-modal-confirm-btn:active, .dm-import-modal-confirm-btn:active:focus {
177
+ background-color: var(--import-modal-confirm-color-hover);
178
+ color: var(--text-selected);
179
+ border-color: var(--import-modal-confirm-color-hover);
180
+ }
181
+
182
+ .dm-import-modal-cancel-btn {
183
+ background-color: var(--import-modal-cancel-color);
184
+ color: var(--text-selected);
185
+ border-color: var(--import-modal-cancel-color);
186
+ }
187
+
188
+ .dm-import-modal-cancel-btn:hover, .dm-import-modal-cancel-btn:focus,
189
+ .dm-import-modal-cancel-btn:active, .dm-import-modal-cancel-btn:active:focus {
190
+ background-color: var(--import-modal-cancel-color-hover);
191
+ color: var(--text-selected);
192
+ border-color: var(--import-modal-cancel-color-hover);
193
+ }
194
+
195
+ /* Upload modal buttons */
196
+ .dm-upload-modal-confirm-btn {
197
+ background-color: var(--upload-modal-confirm-color);
198
+ color: var(--text-selected);
199
+ border-color: var(--upload-modal-confirm-color);
200
+ }
201
+
202
+ .dm-upload-modal-confirm-btn:hover, .dm-upload-modal-confirm-btn:focus,
203
+ .dm-upload-modal-confirm-btn:active, .dm-upload-modal-confirm-btn:active:focus {
204
+ background-color: var(--upload-modal-confirm-color-hover);
205
+ }
206
+
207
+ .dm-upload-modal-cancel-btn {
208
+ background-color: var(--upload-modal-cancel-color);
209
+ color: var(--text-selected);
210
+ border-color: var(--upload-modal-cancel-color);
211
+ }
212
+
213
+ .dm-upload-modal-cancel-btn:hover, .dm-upload-modal-cancel-btn:focus,
214
+ .dm-upload-modal-cancel-btn:active, .dm-upload-modal-cancel-btn:active:focus {
215
+ background-color: var(--upload-modal-cancel-color-hover);
216
+ color: var(--text-selected);
217
+ border-color: var(--upload-modal-cancel-color-hover);
218
+ }
219
+
220
+ /* Download modal buttons */
221
+ .dm-download-modal-confirm-btn {
222
+ background-color: var(--download-modal-confirm-color);
223
+ color: var(--text-selected);
224
+ border-color: var(--download-modal-confirm-color);
225
+ }
226
+
227
+ .dm-download-modal-confirm-btn:hover, .dm-download-modal-confirm-btn:focus,
228
+ .dm-download-modal-confirm-btn:active, .dm-download-modal-confirm-btn:active:focus {
229
+ background-color: var(--download-modal-confirm-color-hover);
230
+ color: var(--text-selected);
231
+ border-color: var(--download-modal-confirm-color-hover);
232
+ }
233
+
234
+ .dm-download-modal-cancel-btn {
235
+ background-color: var(--download-modal-cancel-color);
236
+ color: var(--text-selected);
237
+ border-color: var(--download-modal-cancel-color);
238
+ }
239
+
240
+ .dm-download-modal-cancel-btn:hover, .dm-download-modal-cancel-btn:focus,
241
+ .dm-download-modal-cancel-btn:active, .dm-download-modal-cancel-btn:active:focus {
242
+ background-color: var(--download-modal-cancel-color-hover);
243
+ color: var(--text-selected);
244
+ border-color: var(--download-modal-cancel-color-hover);
245
+ }
246
+ /* =========================
247
+ Scenario management page buttons
248
+ ========================= */
249
+
250
+ .new-scenario-button {
251
+ width: 100%;
252
+ background-color: var(--new-scenario-color);
253
+ border-color: var(--new-scenario-color);
254
+ }
255
+
256
+ .new-scenario-button:hover, .new-scenario-button:focus, .new-scenario-button:active, .new-scenario-button:active:focus {
257
+ background-color: var(--new-scenario-color-hover);
258
+ border-color: var(--new-scenario-color-hover);
259
+ }
260
+
261
+ .new-scenario-confirm-button {
262
+ background-color: var(--new-scenario-modal-confirm-color);
263
+ color: var(--text-selected);
264
+ border-color: var(--new-scenario-modal-confirm-color);
265
+ }
266
+
267
+ .new-scenario-confirm-button:hover, .new-scenario-confirm-button:focus,
268
+ .new-scenario-confirm-button:active, .new-scenario-confirm-button:active:focus {
269
+ background-color: var(--new-scenario-modal-confirm-color-hover);
270
+ color: var(--text-selected);
271
+ border-color: var(--new-scenario-modal-confirm-color-hover);
272
+ }
273
+
274
+ .new-scenario-cancel-button {
275
+ background-color: var(--new-scenario-modal-cancel-color);
276
+ color: var(--text-selected);
277
+ border-color: var(--new-scenario-modal-cancel-color);
278
+ }
279
+
280
+ .new-scenario-cancel-button:hover, .new-scenario-cancel-button:focus,
281
+ .new-scenario-cancel-button:active, .new-scenario-cancel-button:active:focus {
282
+ background-color: var(--new-scenario-modal-cancel-color-hover);
283
+ color: var(--text-selected);
284
+ border-color: var(--new-scenario-modal-cancel-color-hover);
285
+ }
@@ -0,0 +1,47 @@
1
+
2
+ /* =========================
3
+ CQM loader animation
4
+ ========================= */
5
+ @keyframes cqm-fade {
6
+ 0%, 16.67% { opacity: 0; }
7
+ 33.33%, 50% { opacity: 1; }
8
+ 66.67%, 100% { opacity: 0; }
9
+ }
10
+
11
+ .cqm-loader {
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ gap: 5px;
16
+ }
17
+
18
+ .cqm-letter {
19
+ width: 100px; /* Increased from 30px */
20
+ height: 100px; /* Increased from 30px */
21
+ opacity: 0;
22
+ /* Use theme-secondary color, will automatically update when theme changes */
23
+ filter: brightness(0) saturate(100%) invert(14%) sepia(46%) saturate(3086%) hue-rotate(268deg) brightness(93%) contrast(113%);
24
+ transition: filter 0.3s ease; /* Smooth color transitions when theme changes */
25
+ }
26
+
27
+ .cqm-letter.c {
28
+ animation: cqm-fade 3s infinite;
29
+ animation-delay: 0s;
30
+ }
31
+
32
+ .cqm-letter.q {
33
+ animation: cqm-fade 3s infinite;
34
+ animation-delay: 0.5s;
35
+ }
36
+
37
+ .cqm-letter.m {
38
+ animation: cqm-fade 3s infinite;
39
+ animation-delay: 1s;
40
+ }
41
+
42
+ .cqm-loader-text {
43
+ margin-left: 15px;
44
+ font-weight: 500;
45
+ font-size: 1.5rem;
46
+ color: var(--theme-primary); /* Use theme text color */
47
+ }
@@ -0,0 +1,189 @@
1
+
2
+ /* Update the sidebar-layout class with proper positioning */
3
+ /* Sidebar layout */
4
+ .sidebar-layout {
5
+ position: fixed;
6
+ top: 0;
7
+ left: 0;
8
+ bottom: 0;
9
+ width: 250px;
10
+ padding: 1rem 1rem;
11
+ background-color: var(--theme-primary);
12
+ transition: width 0.3s ease-in-out;
13
+ overflow-x: hidden;
14
+ z-index: 1030; /* Make sure sidebar appears above content */
15
+
16
+ }
17
+
18
+ /* Handle expanded and collapsed states */
19
+ .sidebar-layout.expanded {
20
+ width: 250px;
21
+ padding: 1rem 1rem;
22
+ }
23
+
24
+ .sidebar-layout.collapsed {
25
+ width: 60px;
26
+ padding: 1rem 0.5rem;
27
+ }
28
+
29
+
30
+ /* Pills and text color */
31
+ .sidebar-layout .nav-pills .nav-link {
32
+ color: var(--theme-secondary);
33
+ transition: background-color, color 0.2s ease-in-out;
34
+ }
35
+ .sidebar-layout .nav-pills .nav-link.active, .nav-link.active:hover{
36
+ background-color: var(--theme-secondary) !important;
37
+ color: var(--text-selected, #ffffff) !important;
38
+ }
39
+ .sidebar-layout .nav-pills .nav-link:hover {
40
+ background-color: var(--theme-tertiary);
41
+ color: var(--text-highlight, #ffffff);
42
+ }
43
+
44
+ /* Icon color */
45
+ .sidebar-layout .nav-pills .nav-link i {
46
+ color: var(--theme-secondary);
47
+ transition: background-color, color 0.2s ease-in-out;
48
+ }
49
+ .sidebar-layout .nav-pills .nav-link.active i {
50
+ color: var(--text-selected, #ffffff);
51
+ }
52
+ .sidebar-layout .nav-pills .nav-link.active:hover i {
53
+ color: var(--text-selected, #ffffff);
54
+ }
55
+ .sidebar-layout .nav-pills .nav-link:hover i {
56
+ color: var(--text-highlight, #ffffff);
57
+ }
58
+
59
+ /* Sidebar NavLink container stays wide enough for text, shrinks when collapsed */
60
+ .sidebar-layout .nav-link {
61
+ min-width: 200px;
62
+ transition: min-width 0.3s cubic-bezier(.4,2,.5,1);
63
+ justify-content: flex-start;
64
+ }
65
+ .sidebar-layout.collapsed .nav-link {
66
+ min-width: 56px; /* Just icon, no text */
67
+ }
68
+
69
+ /* Text fades and shrinks but remains rendered for the animation */
70
+ .sidebar-content-fade {
71
+ opacity: 1;
72
+ max-width: 200px;
73
+ transition: opacity 0.2s, max-width 0.3s;
74
+ white-space: nowrap;
75
+ overflow: hidden;
76
+ display: inline-block;
77
+ }
78
+ .sidebar-layout.collapsed .sidebar-content-fade {
79
+ opacity: 0;
80
+ max-width: 0;
81
+ pointer-events: none;
82
+ }
83
+
84
+
85
+ /* Sidebar toggle button */
86
+ .sidebar-layout .toggle-sidebar-button {
87
+ position: absolute;
88
+ bottom: 16px;
89
+ right: -20px;
90
+ z-index: 9999;
91
+ border-radius: 50%;
92
+ width: 60px;
93
+ height: 60px;
94
+ padding: 0;
95
+ display: flex;
96
+ align-items: center;
97
+ justify-content: center;
98
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
99
+ transition: transform 0.3s cubic-bezier(.4,2,.5,1);
100
+ background-color: var(--background-color) !important;
101
+ color: var(--theme-primary) !important;
102
+ }
103
+
104
+ /* When collapsed: rotate 180deg */
105
+ .sidebar-layout.collapsed .toggle-sidebar-button {
106
+ transform: rotate(180deg);
107
+ }
108
+
109
+ /* When expanded: normal */
110
+ .sidebar-layout.expanded .toggle-sidebar-button {
111
+ transform: rotate(0deg);
112
+ }
113
+
114
+ /* Logo wrapper - expanded state */
115
+ .sidebar-logo-wrapper {
116
+ height: 72px; /* or your preferred height */
117
+ max-height: 72px;
118
+ transition:
119
+ opacity 0.18s cubic-bezier(.4,2,.5,1);
120
+ opacity: 1;
121
+ display: flex;
122
+ align-items: center;
123
+ justify-content: center;
124
+ overflow: hidden;
125
+ width: 100%;
126
+ box-sizing: border-box;
127
+ }
128
+
129
+ .sidebar-logo-img {
130
+ max-height: 90%; /* ensures scaling inside wrapper */
131
+ max-width: 100%;
132
+ display: block;
133
+ margin: 0 auto;
134
+ }
135
+
136
+ /* Both expanded and collapsed logo classes should always be rendered—don't toggle display! */
137
+ .sidebar-layout .expanded-logo {
138
+ opacity: 1;
139
+ transition:
140
+ height 0.25s cubic-bezier(.4,2,.5,1),
141
+ opacity 0.2s ease-in-out;
142
+ overflow: hidden;
143
+ will-change: opacity;
144
+ display: block;
145
+ margin-bottom: 12px; /* or as needed, include for smooth collapse */
146
+ }
147
+
148
+ .sidebar-layout.collapsed .expanded-logo {
149
+ opacity: 0;
150
+ margin-bottom: 0;
151
+ }
152
+
153
+ /* If you have a "collapsed" version of logo (smaller logo or icon) */
154
+ .sidebar-layout .collapsed-logo {
155
+ opacity: 0;
156
+ transition:
157
+ height 0.2s cubic-bezier(.4,2,.5,1),
158
+ opacity 0.12s linear;
159
+ overflow: hidden;
160
+ display: block;
161
+ }
162
+
163
+ .sidebar-layout.collapsed .collapsed-logo {
164
+ opacity: 1;
165
+ margin-bottom: 12px;
166
+ }
167
+
168
+ /* Sidebar nav/link styling */
169
+ .sidebar-nav {
170
+ display: flex;
171
+ flex-direction: column;
172
+ gap: 8px;
173
+ padding: 0;
174
+ }
175
+
176
+ .sidebar-link {
177
+ display: flex;
178
+ align-items: center;
179
+ padding: 10px 16px;
180
+ color: #f8f9fa;
181
+ text-decoration: none;
182
+ border-radius: 4px;
183
+ transition: background 0.2s;
184
+ }
185
+
186
+ .sidebar-link:hover, .sidebar-link.active {
187
+ background: #343a40;
188
+ color: #fff;
189
+ }
@@ -0,0 +1,90 @@
1
+ /* =========================
2
+ Theme variables
3
+ Note: using ::root here intentionally unchanged to preserve current behavior
4
+ ========================= */
5
+ :root {
6
+ --background-color: #ffffff;
7
+ --theme-primary: #26cd0a;
8
+ --theme-secondary: #0050ff;
9
+ --theme-tertiary: #FFFFFF;
10
+ --text-color: #000000;
11
+ --text-selected: #000000;
12
+ --text-highlight: #000000;
13
+ --card-surface: #FFFFFF;
14
+ --button-text: #FFFFFF;
15
+
16
+ /* data management page button colors*/
17
+ --derive-color: #0078D4;
18
+ --derive-color-hover: #005a9e;
19
+ --delete-color: #D13438;
20
+ --delete-color-hover: #b92629;
21
+ --save-color: #a6a6a6;
22
+ --save-color-hover: #8c8c8c;
23
+ --import-color: #0078D4;
24
+ --import-color-hover: #005a9e;
25
+ --upload-color: #26cd0a;
26
+ --upload-color-hover: #1b9e08;
27
+ --download-color: #0078D4;
28
+ --download-color-hover: #005a9e;
29
+ --disabled_color: #5a5a5a;
30
+
31
+ /* derive modal button colors*/
32
+ --derive-modal-confirm-color: #0078D4;
33
+ --derive-modal-confirm-color-hover: #005a9e;
34
+ --derive-modal-cancel-color: #D13438;
35
+ --derive-modal-cancel-color-hover: #b92629;
36
+
37
+ /* delete modal button colors*/
38
+ --delete-modal-confirm-color: #D13438;
39
+ --delete-modal-confirm-color-hover: #b92629;
40
+ --delete-modal-cancel-color: #0078D4;
41
+ --delete-modal-cancel-color-hover: #005a9e;
42
+
43
+ /* save modal button colors*/
44
+ --save-modal-confirm-color: #a6a6a6;
45
+ --save-modal-confirm-color-hover: #8c8c8c;
46
+ --save-modal-cancel-color: #0078D4;
47
+ --save-modal-cancel-color-hover: #005a9e;
48
+
49
+ /* import modal button colors*/
50
+ --import-modal-confirm-color: #0078D4;
51
+ --import-modal-confirm-color-hover: #005a9e;
52
+ --import-modal-cancel-color: #D13438;
53
+ --import-modal-cancel-color-hover: #b92629;
54
+
55
+ /* upload modal button colors*/
56
+ --upload-modal-confirm-color: rgba(38, 205, 10, 0.52);
57
+ --upload-modal-confirm-color-hover: #1b9e08;
58
+ --upload-modal-cancel-color: #0078D4;
59
+ --upload-modal-cancel-color-hover: #005a9e;
60
+
61
+ /* download modal button colors*/
62
+ --download-modal-confirm-color: #0078D4;
63
+ --download-modal-confirm-color-hover: #005a9e;
64
+ --download-modal-cancel-color: #D13438;
65
+ --download-modal-cancel-color-hover: #b92629;
66
+
67
+ /* new scenario button colors*/
68
+ --new-scenario-color: #0078D4;
69
+ --new-scenario-color-hover: #005a9e;
70
+
71
+ /* new scenario modal colors */
72
+ --new-scenario-modal-confirm-color: #0078D4;
73
+ --new-scenario-modal-confirm-color-hover: #005a9e;
74
+ --new-scenario-modal-cancel-color: #D13438;
75
+ --new-scenario-modal-cancel-color-hover: #b92629;
76
+
77
+ /* compare toggle switch colors*/
78
+ --compare-toggle-color: #0078D4;
79
+ --compare-active-handle-url: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2326CD0A84'/%3e%3c/svg%3e");
80
+ --compare-inactive-handle-url: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2326CD0A84'/%3e%3c/svg%3e");
81
+ --compare-focussed-handle-url: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2326CD0A84'/%3e%3c/svg%3e");
82
+
83
+ /* switch styling */
84
+ --toggle-background-color: #676767;
85
+ --toggle-shadow-color: #ff6262;
86
+ --toggle-active-color: #FFFFFF;
87
+ --toggle-handle-selected: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2326CD0A84'/%3e%3c/svg%3e");;
88
+ --toggle-handle-focussed: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2326CD0A84'/%3e%3c/svg%3e");;
89
+ --toggle-handle-inactive: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2326CD0A84'/%3e%3c/svg%3e");;
90
+ }
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg version="1.1" viewBox="0 0 3280 1664" width="205" height="104" xmlns="http://www.w3.org/2000/svg">
3
+ <path transform="translate(792,127)" d="m0 0h2203l17 1 8 2 6 4v2l4 2 10 3 15 2 12 5 11 9 16 16 2 1v2h2v2h2l7 8 9 12 4 13 2 9 1 12 9 11 3 12 1 12v48l-3 14-8 13-5 13-6 9-9 11-12 13-14 14-9 7-5 4-16 5-11 8-7 3-8 1-33 1-2162 1-37 1-5 3-6 8-10 2-9 1-7-1-21 3-10 5-9 6-10 2-22 12-18 8-11 7-9 5-10 4-9 7-14 12-21 21-5 6-7 6-1 2h-2l-2 4-7 6-7 8-16 15-6 7-8 7-7 9-5 5-5 13-6 12-6 9-6 15-9 15-6 14-4 9-7 11-3 16-2 43-2 9-2 3h-2v2l-5 5-1 2-2 42-1 34 2 24h2l5 5 3 4 2 7 1 8 1 19 3 17 4 7 5 8 9 21 9 16 7 16 9 16 5 12 8 10 9 10 82 82 11 9 10 6 17 8 12 7 20 9 9 6 23 10 11 8 10 3h16l10-1 14 3 6 4 5 7 10 1 32 1 2136 1 135 1 3 2v297l-1 2-3 1-88 1h-2232l-37-1-19-1-5-3-5-6-5-2-9-1-6-1-1 1h-7l-11-3h-9l-8-3v-2l-5-2-4-3-5-1-6-1-16-4-9-3-13-8-9-2-13-6-11-8-14-3-13-1-4-1-11-9-8-8-10-8-5-3-8-1-13-7-11-8-13-4-11-8-12-11-8-7-4-2-8-1-9-6-15-13-24-24v-2l-4-2-28-28v-2l-4-2v-2h-2l-7-8-12-13-6-12-4-9-9-10-7-8-9-10-7-7-9-11-4-10-2-7-9-10-9-11-8-10-8-20-7-12-5-16-3-17-3-5v-2h-2l-6-12-6-16-7-12-4-13-1-4-1-18-1-14-4-6-5-5-3-8-2-12-1-21v-9l-3-7-9-8-2-19-1-29v-69l1-78 2-16 5-8 7-8 1-7 1-23 3-17 5-10 4-5 2-5 1-17 2-18 2-9 7-12 5-9 4-11 12-22 5-12 10-18 5-13 11-19 6-15 10-16 5-13 4-6 4-5h2l2-4 9-11 25-25 7-9 6-7 4-14 7-9 4-4h2l2-4 11-12 30-30 10-8 9-6 12-5 12-10 11-9 9-9 16-12 17-8 14-8 19-9 16-9 14-6 14-8 20-9 14-8 18-8 12-7 12-3 6-1 26-2 9-3 10-8 18-2 18-1 16-2 6-5 5-6z" fill="#FDFDFD"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg version="1.1" viewBox="0 0 3520 1664" width="220" height="104" xmlns="http://www.w3.org/2000/svg">
3
+ <path transform="translate(549,127)" d="m0 0h2364l21 1 7 2 5 5 2 5 19 2h17l18 5 11 7 13 5 11 5 6 4 10 5 7 1h8l13 5 9 7 16 13 5 3 16 8 9 6 13 11 10 7 16 8 9 6 16 15 16 16 11 14 5 9 4 10 8 10 14 15 8 9 10 14 11 21 9 17 12 26 7 26 4 11 5 11 6 26 2 8 7 8 3 7 1 14 1 33v963l-1 2-4 1-78 1h-218l-4-3-1-12-1-32v-881l1-46v-25l-8-10-9-10-7-8-5-8-5-13-6-8-8-8-12-7-10-4-18-10-16-6-10-7-4-3-4-1-30-1h-1012l-1 39-1 799-1 179-2 15-8 13-7 17-9 12-9 10-7 8-12 12-13 10-12 6-23 11-14 3-13 1h-62l-10-2-9-5-19-10-14-10-7-7-8-7v-2l-3-1-7-8-11-12-8-12-9-20-6-11-2-10-1-17-1-45v-880l1-76h-1043l-7 1-7 11-2 1-15 2h-13l-8 3-13 12-10 8-3 4h-2v2l-8 7-9 11-5 6-4 8-5 15-7 7-2 4-2 47-1 625v325l-1 2-4 1-74 1-202 1-22-1-2-2-1-11-1-25v-729l1-205 1-45 1-11 5-10 7-9 4-24 4-11 8-15 6-14 9-15 10-22 8-14 7-16 10-11 9-11 9-9 8-10 5-6 4-12 5-8 8-8 7-9 19-19 11-9 8-6 11-4 8-6 16-13 12-12 13-10 34-17 6-2 20-3 10-5 9-6 16-5 14-9 8-3 6-1 22-1 16-2 5-3 7-8z" fill="#FDFDFD"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg version="1.1" viewBox="0 0 3920 1664" width="245" height="104" xmlns="http://www.w3.org/2000/svg">
3
+ <path transform="translate(789,127)" d="m0 0h1988l29 1 8 2 2 1 4 9 13 2h7l4-1h7l9 1 15 1 16 4 14 8 7 2 15 2 15 5 7 5 28 7 12 5 19 9 28 14 17 8 10 6 21 11 12 10 16 11 18 10 17 14 31 31 6 5 6 7 6 5 6 7 6 5 7 8 45 45 9 11 10 14 7 13 12 16 11 17 12 23 8 16 15 29 8 16 12 25 8 18 9 31 7 16 4 21 3 17 315 1 12 2 6 3 5 6 6 2 20 3 13 5 11 6 17 8 13 10 7 6v2h2v2l4 2v2l4 2 14 15 9 13 4 15 1 4v13l10 10 3 10 1 11v26l-2 9-9 8-4 9v7l1 6-3 13-6 9-14 15-9 10-25 25-8 7-9 8-4 2-20-2-9 1-6 8-3 5-10 1-44 1-294 1-1 6-1 19-3 17-8 10-3 9v9l-3 17-4 6-4 4h-2l-3 11-3 12-4 6-4 2-2 4-2 5-1 14-4 18-10 14-6 16-6 9h-2l-2 4-10 12-5 4-6 18-7 9-12 13-5 5-9 10-85 85-7 6-7 8-12 11-11 11-10 8-5 3-8 1-9 6-11 10-10 7-8 5-10 4-21 12-12 5-19 10-19 8-12 7-21 6-8 1-11 6-8 5-17 5-9 5-5 4-13 3-23 2-31 1-3 1-6 11-2 1-80 2h-1969l-36-1-19-1-5-2-6-7-2-1-10-1-4-2-5 1h-7l-11-3h-9l-7-3-12-8-9-1-16-4-9-3-14-9-9-1-14-7-9-7v-2l-6 1-20-3-4-1-7-4-10-7-13-4-8-5-10-9-8-7-8-6-3-2-12-3-8-6-14-12-8-7-4-3-10-2-9-6-15-13-24-24v-2l-4-2-32-32v-2h-2l-7-8-12-13-6-11-3-8-7-9-9-10-5-5-9-10-4-4v-2h-2l-7-11-6-15-9-15-7-16-8-11-9-11-6-7-3-7-5-26-5-9-4-5-7-19-10-19-4-13-2-12-1-5-3-6-5-5-3-8-2-11-1-19v-21l-1-10-4-6-2-1v-2l-4-2-2-4-1-11-1-25v-92l1-63 1-13 4-10 7-7 2-4 1-7 1-37 3-19 5-10 4-4 2-7 3-18 5-13 8-15 5-13 10-17 8-18 8-14 6-15 11-19 5-13 11-18 5-13 4-6 9-10 8-10 9-9 7-9 6-7 4-13 4-6 3-4h2v-2h2v-2h2l2-4 9-10 3-3h2l1-3h2l2-4 12-12h2l2-4 11-10 10-8 16-7 13-11 11-9 24-24 12-9 8-5 11-5 17-10 18-8 14-8 16-7 14-8 20-9 15-8 15-4 13-2 10-5 8-5 19-4 12-2 9-5 7-5 18-2 18-1 15-2 6-5 3-5 2-1zm40 304-37 1-5 2-7 9-2 1-32 2-15 3-8 4-9 6-10 2-22 12-18 8-11 7-22 11-13 11-10 9-19 19v2l-3 1-9 9v2h-2l-6 7-4 3v2l-3 1-7 8-12 11-2 4-4 2v2l-4 2-11 12v2l-4 2-4 6-6 18-8 10-8 22-9 13-3 15-2 7-1 12-7 8-3 5-3 17-1 21-3 15-5 5-3 2-2 6-2 23v39l2 5 9 7 2 6 1 9 1 34 2 22 1 2h2l1 3 5 5 2 5 5 28 5 10 5 8 7 18 9 15 7 16 8 10 9 10 83 83h2v2l14 11 22 11 10 9 11 9 5 4 10 3 13 1 16 5 7 7 16 3h20l16 3 6 3 7 8 16 1 33 1 1094 1h240l529-1 55-1 22-1 5-4 4-6 1-3h15l13-1h12l12-3 7-4 10-6 13-5 19-11 12-5 17-12 17-13 16-8 11-8 15-13 40-40 7-8 2-4h2l10-14 7-16 7-11 3-6 5-14 7-11 4-7 1-5h-172l-689-1-3-3-2-29v-95l1-155 2-12 6-10 10-10 4-2 23-1 46-1h545l222-1 7-1-1-5-11-17-11-21-13-18-8-11-9-17-12-14-7-8-9-9-1-2h-2l-2-4-4-4h-2l-2-4-8-7-10-9-9-7-13-5-14-10-11-10-11-7-16-6-11-6-6-3-4-1-13-4-14-2-14-8-12-3-7-1-3 1-15-4h-9l-7-2-9-7-13-2h-12l-19-1-38-1z" fill="#FDFDFD"/>
4
+ </svg>