@visns-studio/visns-components 5.12.7 → 5.12.9

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.
@@ -0,0 +1,222 @@
1
+ // CategorizedDropZone.module.scss
2
+ .categorizedDropZone {
3
+ width: 100%;
4
+ margin-bottom: 20px;
5
+ }
6
+
7
+ .categoryTabs {
8
+ display: flex;
9
+ flex-wrap: wrap;
10
+ gap: 4px;
11
+ margin-bottom: 24px;
12
+ padding: 6px;
13
+ background-color: #f8f9fa;
14
+ border-radius: 8px;
15
+ border: 1px solid #e9ecef;
16
+ }
17
+
18
+ .categoryTab {
19
+ display: flex;
20
+ align-items: center;
21
+ gap: 8px;
22
+ padding: 10px 16px;
23
+ background-color: #ffffff;
24
+ border: 1px solid #dee2e6;
25
+ border-radius: 6px;
26
+ cursor: pointer;
27
+ font-size: 14px;
28
+ font-weight: 500;
29
+ color: #6c757d;
30
+ transition: all 0.2s ease;
31
+ white-space: nowrap;
32
+ outline: none;
33
+
34
+ &:hover {
35
+ color: #495057;
36
+ background-color: #f8f9fa;
37
+ border-color: #adb5bd;
38
+ }
39
+
40
+ &.active {
41
+ color: #ffffff;
42
+ background-color: #3498db;
43
+ border-color: #3498db;
44
+
45
+ .fileCount {
46
+ background-color: rgba(255, 255, 255, 0.2);
47
+ color: white;
48
+ border-color: rgba(255, 255, 255, 0.3);
49
+ }
50
+ }
51
+
52
+ &:focus {
53
+ outline: 2px solid #3498db;
54
+ outline-offset: 2px;
55
+ }
56
+ }
57
+
58
+ .fileCount {
59
+ background-color: #e9ecef;
60
+ color: #495057;
61
+ padding: 3px 7px;
62
+ border-radius: 10px;
63
+ font-size: 11px;
64
+ font-weight: 600;
65
+ min-width: 20px;
66
+ text-align: center;
67
+ border: 1px solid #ced4da;
68
+ transition: all 0.2s ease;
69
+ line-height: 1;
70
+ }
71
+
72
+ .categoryContent {
73
+ min-height: 300px;
74
+ }
75
+
76
+ .categoryPanel {
77
+ width: 100%;
78
+ }
79
+
80
+ .categoryTitle {
81
+ font-size: 20px;
82
+ font-weight: 600;
83
+ color: #2c3e50;
84
+ margin: 0 20px 8px 20px;
85
+ padding-bottom: 8px;
86
+ border-bottom: 2px solid #3498db;
87
+ display: block;
88
+ width: calc(100% - 40px);
89
+ }
90
+
91
+ .categoryDescription {
92
+ font-size: 14px;
93
+ color: #6c757d;
94
+ margin: 0 0 24px 0;
95
+ padding: 0 20px;
96
+ font-style: italic;
97
+ }
98
+
99
+ .loadingState,
100
+ .emptyState {
101
+ text-align: center;
102
+ padding: 40px 20px;
103
+ color: #666;
104
+ font-size: 16px;
105
+ }
106
+
107
+ .noCategoryContent {
108
+ width: 100%;
109
+ padding: 0;
110
+ }
111
+
112
+ .loadingState {
113
+ background-color: #f8f9fa;
114
+ border-radius: 8px;
115
+ border: 1px dashed #ddd;
116
+ }
117
+
118
+ .emptyState {
119
+ background-color: #fff3cd;
120
+ border: 1px solid #ffeaa7;
121
+ border-radius: 8px;
122
+ color: #856404;
123
+ }
124
+
125
+ // Responsive design
126
+ @media (max-width: 768px) {
127
+ .categoryTabs {
128
+ gap: 3px;
129
+ padding: 4px;
130
+ margin-bottom: 20px;
131
+ }
132
+
133
+ .categoryTab {
134
+ flex: 1;
135
+ justify-content: center;
136
+ padding: 8px 12px;
137
+ font-size: 13px;
138
+ min-width: 0; // Allow tabs to shrink
139
+ }
140
+
141
+ .fileCount {
142
+ font-size: 10px;
143
+ padding: 2px 5px;
144
+ min-width: 16px;
145
+ }
146
+
147
+ .categoryTitle {
148
+ font-size: 18px;
149
+ }
150
+
151
+ .categoryDescription {
152
+ font-size: 13px;
153
+ margin-bottom: 20px;
154
+ }
155
+ }
156
+
157
+ // Very small screens
158
+ @media (max-width: 480px) {
159
+ .categoryTabs {
160
+ flex-direction: column;
161
+ gap: 2px;
162
+ }
163
+
164
+ .categoryTab {
165
+ width: 100%;
166
+ padding: 12px 16px;
167
+ font-size: 14px;
168
+ }
169
+ }
170
+
171
+ // Dark theme support
172
+ @media (prefers-color-scheme: dark) {
173
+ .categoryTabs {
174
+ background-color: #343a40;
175
+ border-color: #495057;
176
+ }
177
+
178
+ .categoryTab {
179
+ background-color: #495057;
180
+ border-color: #6c757d;
181
+ color: #adb5bd;
182
+
183
+ &:hover {
184
+ background-color: #6c757d;
185
+ border-color: #adb5bd;
186
+ color: #f8f9fa;
187
+ }
188
+
189
+ &.active {
190
+ background-color: #3498db;
191
+ border-color: #3498db;
192
+ color: #ffffff;
193
+ }
194
+ }
195
+
196
+ .fileCount {
197
+ background-color: #6c757d;
198
+ color: #f8f9fa;
199
+ border-color: #adb5bd;
200
+ }
201
+
202
+ .categoryTitle {
203
+ color: #f8f9fa;
204
+ border-bottom-color: #3498db;
205
+ }
206
+
207
+ .categoryDescription {
208
+ color: #adb5bd;
209
+ }
210
+
211
+ .loadingState {
212
+ background-color: #343a40;
213
+ border-color: #495057;
214
+ color: #adb5bd;
215
+ }
216
+
217
+ .emptyState {
218
+ background-color: #856404;
219
+ border-color: #ffc107;
220
+ color: #fff3cd;
221
+ }
222
+ }
@@ -237,7 +237,7 @@
237
237
  /* Modal styles */
238
238
  .modalwrap {
239
239
  width: 100%;
240
- max-width: 500px;
240
+ max-width: 800px;
241
241
  }
242
242
 
243
243
  .modal {
@@ -0,0 +1,488 @@
1
+ .schedulingTable {
2
+ width: 100%;
3
+ border-collapse: collapse;
4
+ margin: 0.5em 0; // Reduced margin
5
+
6
+ th,
7
+ td {
8
+ padding: 0.2rem; // Reduced padding for cells
9
+ text-align: left;
10
+ border: 1px solid rgba(var(--primary-rgb), 0.1);
11
+ }
12
+
13
+ th {
14
+ padding: 0.25rem 0.5rem; // Less padding than before
15
+ font-size: 0.9rem; // Slightly smaller font size
16
+ font-weight: bold;
17
+ background-color: var(--primary-color);
18
+ color: white;
19
+ text-align: center;
20
+ }
21
+
22
+ td {
23
+ background-color: rgba(var(--primary-rgb), 0.05);
24
+ }
25
+
26
+ /* Compact styling for native input and select elements */
27
+ input,
28
+ select {
29
+ padding: 0.25rem 0.5rem;
30
+ margin: 0;
31
+ font-size: 0.85rem;
32
+ height: 28px;
33
+ line-height: 1;
34
+ border: 1px solid rgba(var(--primary-rgb), 0.1);
35
+ box-sizing: border-box;
36
+ }
37
+ }
38
+
39
+ .categoryRow {
40
+ background-color: rgba(var(--primary-rgb), 0.15);
41
+ font-size: 1rem; // Reduced font size
42
+ font-weight: bold;
43
+ text-align: left;
44
+ padding: 0.5rem 0.75rem; // Reduced padding
45
+ border-bottom: 2px solid var(--primary-color);
46
+ color: var(--primary-color);
47
+ }
48
+
49
+ .totalRow {
50
+ background-color: rgba(var(--primary-rgb), 0.05);
51
+ font-weight: bold;
52
+ text-align: right;
53
+ }
54
+
55
+ .noDataMessage {
56
+ text-align: center;
57
+ color: var(--secondary-color);
58
+ font-size: 1rem;
59
+ padding: 1em;
60
+ margin: 1em auto;
61
+ background: #f9f9f9;
62
+ border: 1px solid #ddd;
63
+ border-radius: 6px;
64
+ max-width: 600px;
65
+ box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
66
+ font-style: italic;
67
+ }
68
+
69
+ .polActions {
70
+ position: fixed;
71
+ bottom: 15px;
72
+ right: 20px;
73
+ width: auto;
74
+
75
+ button {
76
+ display: block;
77
+ padding: 0.35em 1em;
78
+ margin: 0 0.15em;
79
+ }
80
+ }
81
+
82
+ .gridtxt {
83
+ &__header {
84
+ width: 100%;
85
+ display: block;
86
+ background: rgba(var(--primary-rgb), 0.05);
87
+ box-sizing: border-box;
88
+ padding: 10px 20px;
89
+ border-radius: var(--br);
90
+ margin-bottom: 0;
91
+ font-weight: 700;
92
+ text-align: center;
93
+ color: var(--paragraph-color);
94
+
95
+ span {
96
+ font-weight: 700;
97
+ }
98
+ }
99
+
100
+ > ul {
101
+ width: 100%;
102
+ display: flex;
103
+ justify-content: flex-start;
104
+ flex-wrap: wrap;
105
+ list-style: none;
106
+ padding: 0.85rem;
107
+ margin: 0;
108
+
109
+ li {
110
+ flex: 0 0 calc(50% - 10px);
111
+ padding: 0.65rem;
112
+ border: 1px solid rgba(var(--primary-rgb), 0.095);
113
+ color: var(--paragraph-color);
114
+ background: rgba(var(--primary-rgb), 0.015);
115
+ margin: 3px;
116
+ border-radius: var(--br);
117
+ line-height: 1.45;
118
+ font-size: 0.85rem;
119
+
120
+ &.fw-grid-item {
121
+ flex: 0 0 calc(100% - 10px);
122
+ }
123
+
124
+ &.notecolor {
125
+ border: 1px solid var(--secondary-color);
126
+ }
127
+ }
128
+ }
129
+ }
130
+
131
+ .btn {
132
+ width: max-content;
133
+ display: inline-block;
134
+ position: relative;
135
+ padding: 0.65rem 1rem;
136
+ cursor: pointer;
137
+ font-size: 1rem;
138
+ color: var(--tertiary-color);
139
+ text-decoration: none;
140
+ overflow: hidden;
141
+ background: var(--primary-color);
142
+ border: 1px solid rgba(var(--primary-color--rgb), 1.1);
143
+ border-radius: var(--br);
144
+ outline: none;
145
+ transition: all 0.2s cubic-bezier(0.85, 0, 0.15, 1) 0s;
146
+ font-size: 1.25em;
147
+
148
+ &:hover {
149
+ color: var(--primary-color);
150
+ background: var(--highlight-color);
151
+ border: 1px solid rgba(var(--highlight-rgb), 1.05);
152
+ }
153
+ }
154
+
155
+ .btn_compact {
156
+ width: max-content;
157
+ display: inline-block;
158
+ position: relative;
159
+ padding: 0.4rem 0.75rem; /* Reduced padding for a compact look */
160
+ cursor: pointer;
161
+ font-size: 1rem; /* Slightly smaller font size */
162
+ color: var(--tertiary-color);
163
+ text-decoration: none;
164
+ overflow: hidden;
165
+ background: var(--primary-color);
166
+ border: 1px solid rgba(var(--primary-color--rgb), 1.1);
167
+ border-radius: var(--br);
168
+ outline: none;
169
+ transition: all 0.2s cubic-bezier(0.85, 0, 0.15, 1) 0s;
170
+
171
+ &:hover {
172
+ color: var(--primary-color);
173
+ background: var(--highlight-color);
174
+ border: 1px solid rgba(var(--highlight-rgb), 1.05);
175
+ }
176
+ }
177
+
178
+ .tdactions {
179
+ width: 100%;
180
+ display: flex;
181
+ flex-wrap: nowrap;
182
+ justify-content: flex-start;
183
+ align-items: center;
184
+ gap: 0.1rem;
185
+
186
+ span {
187
+ display: flex;
188
+ align-items: center;
189
+ position: relative;
190
+ width: 16px;
191
+ height: 16px;
192
+
193
+ svg {
194
+ width: 16px;
195
+ height: 16px;
196
+ }
197
+ }
198
+ }
199
+
200
+ .noDataMessage {
201
+ text-align: center;
202
+ color: var(--primary-color);
203
+ font-size: 1rem;
204
+ padding: 2rem;
205
+ margin: 2rem auto;
206
+ background-color: var(--secondary-bg-color, #f8f8f8);
207
+ border: 1px solid rgba(var(--primary-rgb), 0.15);
208
+ border-radius: 6px;
209
+ max-width: 80%;
210
+ box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
211
+ font-weight: 500;
212
+ font-family: var(--font-family, Arial, sans-serif);
213
+ }
214
+
215
+ .noDataMessage:hover {
216
+ background-color: rgba(var(--primary-rgb), 0.05);
217
+ border-color: rgba(var(--primary-rgb), 0.2);
218
+ }
219
+
220
+ .subtotalRow {
221
+ background-color: rgba(var(--secondary-rgb), 0.15);
222
+ font-weight: bold;
223
+ text-align: right;
224
+ padding: 0.5em; // Reduced padding
225
+ font-size: 0.8rem; // Reduced font size
226
+ color: var(--primary-color);
227
+ border-top: 2px solid var(--primary-color);
228
+ }
229
+
230
+ .colour {
231
+ &__cover {
232
+ position: fixed;
233
+ top: 0;
234
+ right: 0;
235
+ bottom: 0;
236
+ left: 0;
237
+ }
238
+
239
+ &__popover {
240
+ position: absolute;
241
+ z-index: 9999;
242
+ left: 50%;
243
+ top: 50%;
244
+ transform: translate(-50%, -50%);
245
+ }
246
+ }
247
+
248
+ /* Compact Inline Color Picker Styles */
249
+ .cpicker-inline {
250
+ width: 100%;
251
+ display: flex;
252
+ flex-direction: column;
253
+ gap: 8px;
254
+ }
255
+
256
+ .cpicker-preview-container {
257
+ display: flex;
258
+ align-items: center;
259
+ gap: 8px;
260
+ padding: 6px 10px;
261
+ background: #f8f9fa;
262
+ border: 1px solid #dee2e6;
263
+ border-radius: 6px;
264
+ min-height: 40px;
265
+ }
266
+
267
+ .cpicker__box {
268
+ width: 28px;
269
+ height: 28px;
270
+ border: 2px solid #dee2e6;
271
+ border-radius: 6px;
272
+ background-color: #ffffff;
273
+ position: relative;
274
+ overflow: hidden;
275
+ transition: all 0.2s ease;
276
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
277
+ flex-shrink: 0;
278
+
279
+ /* Checkerboard pattern for transparency */
280
+ background-image:
281
+ linear-gradient(45deg, #f0f0f0 25%, transparent 25%),
282
+ linear-gradient(-45deg, #f0f0f0 25%, transparent 25%),
283
+ linear-gradient(45deg, transparent 75%, #f0f0f0 75%),
284
+ linear-gradient(-45deg, transparent 75%, #f0f0f0 75%);
285
+ background-size: 6px 6px;
286
+ background-position: 0 0, 0 3px, 3px -3px, -3px 0px;
287
+
288
+ /* When no color is selected */
289
+ &[style=""] {
290
+ background:
291
+ linear-gradient(45deg,
292
+ transparent 40%,
293
+ #dc3545 42%,
294
+ #dc3545 58%,
295
+ transparent 60%
296
+ ),
297
+ linear-gradient(-45deg,
298
+ transparent 40%,
299
+ #dc3545 42%,
300
+ #dc3545 58%,
301
+ transparent 60%
302
+ ),
303
+ #ffffff;
304
+ }
305
+ }
306
+
307
+ .cpicker-value {
308
+ font-size: 0.8rem;
309
+ font-weight: 500;
310
+ color: #495057;
311
+ font-family: 'Courier New', monospace;
312
+ background: rgba(255, 255, 255, 0.9);
313
+ padding: 3px 6px;
314
+ border-radius: 3px;
315
+ border: 1px solid rgba(0, 0, 0, 0.1);
316
+ flex-grow: 1;
317
+ }
318
+
319
+ .cpicker-container {
320
+ width: 100%;
321
+ display: flex;
322
+ justify-content: center;
323
+ padding: 8px;
324
+ background: #ffffff;
325
+ border: 1px solid #dee2e6;
326
+ border-radius: 6px;
327
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
328
+
329
+ /* Ensure Sketch picker fits well and is more compact */
330
+ .w-color-sketch {
331
+ box-shadow: none !important;
332
+ border: none !important;
333
+ border-radius: 6px !important;
334
+ max-width: 100% !important;
335
+ transform: scale(0.85) !important;
336
+ transform-origin: center top !important;
337
+ }
338
+
339
+ /* Further responsive scaling */
340
+ @media (max-width: 768px) {
341
+ padding: 6px;
342
+
343
+ .w-color-sketch {
344
+ transform: scale(0.75) !important;
345
+ }
346
+ }
347
+
348
+ @media (max-width: 480px) {
349
+ padding: 4px;
350
+
351
+ .w-color-sketch {
352
+ transform: scale(0.65) !important;
353
+ }
354
+ }
355
+ }
356
+
357
+
358
+ .colour_popover {
359
+ position: absolute;
360
+ background: white;
361
+ border-radius: 8px;
362
+ box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.15);
363
+ padding: 10px;
364
+ min-width: 200px;
365
+ display: flex;
366
+ flex-direction: column;
367
+ align-items: center;
368
+ z-index: 1000;
369
+
370
+ .clearContainer {
371
+ width: 100%;
372
+ display: flex;
373
+ justify-content: center;
374
+ margin-top: 8px;
375
+ }
376
+
377
+ .clearButton {
378
+ width: 100%; /* Make button span the entire width */
379
+ background: rgba(
380
+ var(--primary-rgb),
381
+ 0.1
382
+ ); /* Soft transparent background */
383
+ color: var(--primary-color);
384
+ border: none;
385
+ border-top: 1px solid rgba(var(--primary-rgb), 0.2); /* Subtle separator */
386
+ border-radius: 0 0 8px 8px; /* Match colour picker's bottom corners */
387
+ font-size: 13px;
388
+ padding: 8px;
389
+ cursor: pointer;
390
+ transition: background 0.2s, border 0.2s, box-shadow 0.2s;
391
+ font-weight: 500;
392
+ text-align: center;
393
+ box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.05);
394
+
395
+ &:hover {
396
+ background: rgba(var(--primary-rgb), 0.15);
397
+ }
398
+
399
+ &:active {
400
+ background: rgba(var(--primary-rgb), 0.25);
401
+ box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.15);
402
+ }
403
+ }
404
+ }
405
+
406
+ /* Compact styling for react-select components */
407
+ .react-select__control {
408
+ min-height: 28px;
409
+ padding: 0;
410
+ font-size: 0.85rem;
411
+ border: 1px solid rgba(var(--primary-rgb), 0.1);
412
+ box-sizing: border-box;
413
+ }
414
+
415
+ .react-select__value-container {
416
+ padding: 0 0.5rem;
417
+ margin: 0;
418
+ }
419
+
420
+ .react-select__input {
421
+ margin: 0;
422
+ padding: 0;
423
+ }
424
+
425
+ .react-select__indicator-separator {
426
+ display: none;
427
+ }
428
+
429
+ .react-select__indicators {
430
+ padding: 0 0.25rem;
431
+ }
432
+
433
+ .newRow {
434
+ background-color: rgba(
435
+ var(--primary-rgb),
436
+ 0.15
437
+ ); /* Slightly lighter background */
438
+ border-top: 1px dashed rgba(var(--primary-rgb), 0.3);
439
+ border-bottom: 1px dashed rgba(var(--primary-rgb), 0.3);
440
+ }
441
+
442
+ .datasetSelector {
443
+ display: flex;
444
+ align-items: center;
445
+ gap: 1rem;
446
+ margin-bottom: 1rem;
447
+ padding: 0.5rem 1rem;
448
+ background: rgba(var(--primary-rgb), 0.05);
449
+ border: 1px solid rgba(var(--primary-rgb), 0.15);
450
+ border-radius: var(--br);
451
+
452
+ label {
453
+ font-size: 0.9rem;
454
+ font-weight: bold;
455
+ color: var(--paragraph-color);
456
+ }
457
+
458
+ select {
459
+ padding: 0.4rem 0.75rem;
460
+ font-size: 0.9rem;
461
+ border: 1px solid rgba(var(--primary-rgb), 0.1);
462
+ border-radius: var(--br);
463
+ background: #fff;
464
+ outline: none;
465
+ box-shadow: none;
466
+ }
467
+
468
+ /* New Dataset button styling to match .btn_compact */
469
+ button {
470
+ display: inline-block;
471
+ padding: 0.4rem 0.75rem;
472
+ font-size: 1rem;
473
+ color: var(--tertiary-color);
474
+ text-decoration: none;
475
+ background: var(--primary-color);
476
+ border: 1px solid rgba(var(--primary-color--rgb), 1.1);
477
+ border-radius: var(--br);
478
+ outline: none;
479
+ cursor: pointer;
480
+ transition: all 0.2s cubic-bezier(0.85, 0, 0.15, 1) 0s;
481
+
482
+ &:hover {
483
+ color: var(--primary-color);
484
+ background: var(--highlight-color);
485
+ border: 1px solid rgba(var(--highlight-rgb), 1.05);
486
+ }
487
+ }
488
+ }