@natec/mef-dev-ui-kit 20.1.19 → 20.1.21

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@natec/mef-dev-ui-kit",
3
- "version": "20.1.19",
3
+ "version": "20.1.21",
4
4
  "description": "MEF.DEV UI Kit Library",
5
5
  "author": {
6
6
  "name": "NATEC"
@@ -1,663 +0,0 @@
1
- @use '../../vars.scss' as *;
2
- @use 'sass:color' as color;
3
-
4
- // ═══════════════════════════════════════════════════════════════════════════
5
- // MD Cards Grid Custom Theme
6
- // Bordered card style with shadows and rounded corners
7
- // ═══════════════════════════════════════════════════════════════════════════
8
- //
9
- // USAGE:
10
- // Add the theme class to the md-grid element:
11
- // <md-grid class="md-grid-bordered" ...>
12
- //
13
- // Or wrap it in a container:
14
- // <div class="md-grid-bordered">
15
- // <md-grid ...>
16
- // </div>
17
- //
18
- // ═══════════════════════════════════════════════════════════════════════════
19
- // AVAILABLE CSS CLASSES (for reference):
20
- // ═══════════════════════════════════════════════════════════════════════════
21
- //
22
- // HOST / CONTAINER:
23
- // .md-grid - Main component host
24
- // .md-grid-shrink-mode - Applied when overflowMode="shrink"
25
- //
26
- // SCROLL:
27
- // .md-grid-scroll-container - Horizontal scroll wrapper
28
- //
29
- // HEADER:
30
- // .md-grid-header - Header container
31
- // .md-grid-header-inner - Header flex container
32
- // .md-grid-header-cell - Individual header cell
33
- // .md-grid-header-cell-label - Header cell text label
34
- // .md-grid-header-cell.sortable - Sortable header cell
35
- // .md-grid-header-cell.sort-active - Currently sorted column
36
- // .md-grid-header-cell.sort-asc - Ascending sort
37
- // .md-grid-header-cell.sort-desc - Descending sort
38
- // .md-grid-header-cell.resizeable - Resizeable column header
39
- //
40
- // SORT ICONS:
41
- // .md-grid-sort-icon - Sort icon container
42
- // .md-grid-sort-asc - Ascending sort icon
43
- // .md-grid-sort-desc - Descending sort icon
44
- //
45
- // RESIZE:
46
- // .md-grid-resize-handle - Column resize drag handle
47
- // body.md-grid-resizing - Applied to body during resize
48
- //
49
- // BODY:
50
- // .md-grid-body - Body container (cards wrapper)
51
- //
52
- // GROUPS:
53
- // .md-grid-group - Group container
54
- // .md-grid-group-header - Group header
55
- // .md-grid-group-title - Group title text
56
- // .md-grid-group-rows - Group rows container
57
- //
58
- // CARD (ROW):
59
- // .md-grid-card - Individual card/row
60
- // .md-grid-card-editing - Card in edit mode
61
- // .md-grid-card-fixed-height - Card with fixed height (clips content)
62
- //
63
- // CELL:
64
- // .md-grid-cell - Individual cell
65
- // .md-grid-cell-value - Cell value wrapper
66
- //
67
- // ACTIONS:
68
- // .md-grid-actions-cell - Actions cell container
69
- // .md-grid-action-btn - Action button base
70
- // .md-grid-action-edit - Edit button
71
- // .md-grid-action-save - Save button
72
- // .md-grid-action-cancel - Cancel button
73
- //
74
- // ACTION ICONS:
75
- // .md-grid-icon-edit - Edit icon (pencil)
76
- // .md-grid-icon-save - Save icon (checkmark)
77
- // .md-grid-icon-cancel - Cancel icon (X)
78
- //
79
- // FOOTER / PAGINATION:
80
- // .md-grid-footer - Footer container
81
- // .md-grid-pager - Pager container
82
- // .md-grid-pager-btn - Pager button
83
- // .md-grid-pager-info - Page info text (e.g., "1 / 5")
84
- //
85
- // PAGER ICONS:
86
- // .md-grid-icon-first - First page icon
87
- // .md-grid-icon-prev - Previous page icon
88
- // .md-grid-icon-next - Next page icon
89
- // .md-grid-icon-last - Last page icon
90
- //
91
- // ═══════════════════════════════════════════════════════════════════════════
92
-
93
- .md-grid-bordered {
94
- // ═════════════════════════════════════════════════════════════════════════
95
- // HOST STYLES
96
- // ═════════════════════════════════════════════════════════════════════════
97
-
98
- &.md-grid,
99
- .md-grid {
100
- font-family: $base-font-family;
101
- font-size: 13px;
102
- background: $White;
103
- border: 1px solid $Light-Gray-2;
104
- border-radius: $default-border-size;
105
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
106
- overflow: hidden;
107
- }
108
-
109
- // ═════════════════════════════════════════════════════════════════════════
110
- // SCROLL CONTAINER
111
- // ═════════════════════════════════════════════════════════════════════════
112
-
113
- .md-grid-scroll-container {
114
- &::-webkit-scrollbar {
115
- height: 8px;
116
- }
117
-
118
- &::-webkit-scrollbar-track {
119
- background: $Light-Gray-3;
120
- }
121
-
122
- &::-webkit-scrollbar-thumb {
123
- background: $Light-Gray-1;
124
- border-radius: 4px;
125
-
126
- &:hover {
127
- background: $Dark-Gray-2;
128
- }
129
- }
130
- }
131
-
132
- // ═════════════════════════════════════════════════════════════════════════
133
- // HEADER
134
- // ═════════════════════════════════════════════════════════════════════════
135
-
136
- .md-grid-header {
137
- background: $White;
138
- border-bottom: 1px solid $Light-Gray-2;
139
- }
140
-
141
- .md-grid-header-cell {
142
- padding: 12px 16px;
143
- background: $White;
144
- font-size: 12px;
145
- font-weight: 600;
146
- color: $Dark-Gray-2;
147
- text-transform: uppercase;
148
- letter-spacing: 0.5px;
149
-
150
- // No separator between cells in bordered mode
151
- &:not(:first-child) {
152
- border-left: none;
153
- }
154
-
155
- &.sortable {
156
- &:hover {
157
- background: $Light-Gray-3;
158
- }
159
-
160
- &:focus {
161
- outline: 2px solid $Link;
162
- outline-offset: -2px;
163
- }
164
- }
165
-
166
- &.sort-active {
167
- color: $Link;
168
- }
169
- }
170
-
171
- // ═════════════════════════════════════════════════════════════════════════
172
- // SORT ICONS
173
- // ═════════════════════════════════════════════════════════════════════════
174
-
175
- .md-grid-sort-icon {
176
- margin-left: 4px;
177
- color: $Light-Gray-1;
178
-
179
- &.md-grid-sort-asc,
180
- &.md-grid-sort-desc {
181
- color: $Link;
182
- }
183
- }
184
-
185
- // ═════════════════════════════════════════════════════════════════════════
186
- // RESIZE HANDLE
187
- // ═════════════════════════════════════════════════════════════════════════
188
-
189
- .md-grid-resize-handle {
190
- right: 0;
191
- width: 8px;
192
-
193
- &::after {
194
- width: 2px;
195
- }
196
-
197
- &:hover::after {
198
- background: $Link;
199
- }
200
- }
201
-
202
- // ═════════════════════════════════════════════════════════════════════════
203
- // BODY
204
- // ═════════════════════════════════════════════════════════════════════════
205
-
206
- .md-grid-body {
207
- padding: 8px;
208
- background: $Light-Gray-3;
209
- }
210
-
211
- // ═════════════════════════════════════════════════════════════════════════
212
- // GROUPS
213
- // ═════════════════════════════════════════════════════════════════════════
214
-
215
- .md-grid-group {
216
- margin-bottom: 16px;
217
-
218
- &:last-child {
219
- margin-bottom: 0;
220
- }
221
- }
222
-
223
- .md-grid-group-header {
224
- padding: 8px 12px;
225
- margin-bottom: 8px;
226
- background: $Light-Gray-2;
227
- border-radius: $default-border-size;
228
- font-size: 13px;
229
- font-weight: 600;
230
- color: $Dark-Gray-1;
231
- }
232
-
233
- .md-grid-group-rows {
234
- gap: 8px;
235
- }
236
-
237
- // ═════════════════════════════════════════════════════════════════════════
238
- // CARD (ROW)
239
- // ═════════════════════════════════════════════════════════════════════════
240
-
241
- .md-grid-card {
242
- background: $White;
243
- border: 1px solid $Light-Gray-2;
244
- border-radius: $default-border-size;
245
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
246
- transition: background-color 0.15s ease, box-shadow 0.15s ease;
247
-
248
- &:hover {
249
- background: $Light-Gray-3;
250
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
251
- transform: none;
252
- }
253
-
254
- &.md-grid-card-editing {
255
- background: #fffef5;
256
- border-color: $Yellow;
257
- box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.2);
258
- }
259
- }
260
-
261
- // ═════════════════════════════════════════════════════════════════════════
262
- // CELL
263
- // ═════════════════════════════════════════════════════════════════════════
264
-
265
- .md-grid-cell {
266
- padding: 12px 16px;
267
- font-size: 14px;
268
- color: $Black-Color;
269
- border-right: 1px solid $Light-Gray-2;
270
-
271
- &:last-child {
272
- border-right: none;
273
- }
274
- }
275
-
276
- .md-grid-cell-value {
277
- line-height: 1.4;
278
- }
279
-
280
- // ═════════════════════════════════════════════════════════════════════════
281
- // ACTIONS CELL
282
- // ═════════════════════════════════════════════════════════════════════════
283
-
284
- .md-grid-actions-cell {
285
- padding: 8px 12px;
286
- gap: 4px;
287
- min-width: 80px;
288
- border-left: 1px solid $Light-Gray-2;
289
- }
290
-
291
- // ═════════════════════════════════════════════════════════════════════════
292
- // ACTION BUTTONS
293
- // ═════════════════════════════════════════════════════════════════════════
294
-
295
- .md-grid-action-btn {
296
- width: 28px;
297
- height: 28px;
298
- border-radius: 4px;
299
- transition: background-color 0.15s ease, color 0.15s ease;
300
-
301
- &:hover {
302
- transform: none;
303
- }
304
- }
305
-
306
- .md-grid-action-edit {
307
- color: $Link;
308
-
309
- &:hover {
310
- background: rgba($Link, 0.1);
311
- }
312
- }
313
-
314
- .md-grid-action-save {
315
- color: $Green;
316
-
317
- &:hover {
318
- background: rgba($Green, 0.1);
319
- }
320
- }
321
-
322
- .md-grid-action-cancel {
323
- color: $Red;
324
-
325
- &:hover {
326
- background: rgba($Red, 0.1);
327
- }
328
- }
329
-
330
- // ═════════════════════════════════════════════════════════════════════════
331
- // ACTION ICONS
332
- // ═════════════════════════════════════════════════════════════════════════
333
-
334
- .md-grid-icon-edit,
335
- .md-grid-icon-save,
336
- .md-grid-icon-cancel {
337
- width: 16px;
338
- height: 16px;
339
- }
340
-
341
- // ═════════════════════════════════════════════════════════════════════════
342
- // FOOTER / PAGINATION
343
- // ═════════════════════════════════════════════════════════════════════════
344
-
345
- .md-grid-footer {
346
- padding: 8px 16px;
347
- background: $White;
348
- border-top: 1px solid $Light-Gray-2;
349
- font-size: 12px;
350
- color: $Dark-Gray-2;
351
- }
352
-
353
- .md-grid-pager {
354
- gap: 4px;
355
- }
356
-
357
- .md-grid-pager-btn {
358
- width: 28px;
359
- height: 28px;
360
- border: 1px solid $Light-Gray-2;
361
- border-radius: 4px;
362
- background: $White;
363
- color: $Dark-Gray-2;
364
-
365
- &:hover:not(:disabled) {
366
- background: $Light-Gray-3;
367
- border-color: $Light-Gray-1;
368
- }
369
-
370
- &:disabled {
371
- opacity: 0.4;
372
- }
373
- }
374
-
375
- .md-grid-pager-info {
376
- padding: 0 12px;
377
- font-weight: 500;
378
- }
379
-
380
- // ═════════════════════════════════════════════════════════════════════════
381
- // RESPONSIVE
382
- // ═════════════════════════════════════════════════════════════════════════
383
-
384
- @media (max-width: 768px) {
385
- &.md-grid,
386
- .md-grid {
387
- font-size: 12px;
388
- }
389
-
390
- .md-grid-header {
391
- display: none;
392
- }
393
-
394
- .md-grid-body {
395
- padding: 8px;
396
- }
397
-
398
- .md-grid-card {
399
- flex-direction: column;
400
- }
401
-
402
- .md-grid-cell {
403
- padding: 10px 12px;
404
- border-right: none;
405
- border-bottom: 1px solid $Light-Gray-2;
406
-
407
- &:last-child {
408
- border-bottom: none;
409
- }
410
- }
411
-
412
- .md-grid-actions-cell {
413
- border-left: none;
414
- border-top: 1px solid $Light-Gray-2;
415
- justify-content: center;
416
- }
417
-
418
- .md-grid-footer {
419
- flex-direction: column;
420
- gap: 8px;
421
- padding: 8px 12px;
422
- }
423
- }
424
- }
425
-
426
- // ═══════════════════════════════════════════════════════════════════════════
427
- // MODIFIER: Zebra striping (alternating row colors)
428
- // ═══════════════════════════════════════════════════════════════════════════
429
-
430
- .md-grid-bordered.zebra {
431
- .md-grid-body {
432
- background: $White;
433
- }
434
-
435
- .md-grid-card {
436
- border: none;
437
- border-radius: 0;
438
- box-shadow: none;
439
-
440
- &:nth-child(odd) {
441
- background: $White;
442
- }
443
-
444
- &:nth-child(even) {
445
- background: $Light-Gray-3;
446
- }
447
-
448
- &:hover {
449
- background: color.mix($Light-Gray-1, $White, 25%) !important;
450
- }
451
- }
452
- }
453
-
454
- // ═══════════════════════════════════════════════════════════════════════════
455
- // MODIFIER: Compact (smaller padding)
456
- // ═══════════════════════════════════════════════════════════════════════════
457
-
458
- .md-grid-bordered.compact {
459
- .md-grid-header-cell {
460
- padding: 8px 10px;
461
- font-size: 11px;
462
- }
463
-
464
- .md-grid-body {
465
- padding: 6px;
466
- }
467
-
468
- .md-grid-group-rows {
469
- gap: 4px;
470
- }
471
-
472
- .md-grid-card {
473
- border-radius: 4px;
474
- }
475
-
476
- .md-grid-cell {
477
- padding: 8px 10px;
478
- font-size: 12px;
479
- }
480
-
481
- .md-grid-actions-cell {
482
- padding: 6px 8px;
483
- min-width: 60px;
484
- }
485
-
486
- .md-grid-action-btn {
487
- width: 24px;
488
- height: 24px;
489
- }
490
-
491
- .md-grid-footer {
492
- padding: 6px 12px;
493
- }
494
-
495
- .md-grid-pager-btn {
496
- width: 24px;
497
- height: 24px;
498
- }
499
- }
500
-
501
- // ═══════════════════════════════════════════════════════════════════════════
502
- // DARK THEME
503
- // ═══════════════════════════════════════════════════════════════════════════
504
-
505
- .bg-dark .md-grid-bordered,
506
- .dark-mode .md-grid-bordered,
507
- .md-grid-bordered.dark-theme {
508
- &.md-grid,
509
- .md-grid {
510
- background: color.mix($Dark-Gray-1, $Black-Color, 90%);
511
- border-color: color.mix($Dark-Gray-2, $Black-Color, 70%);
512
- box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
513
- }
514
-
515
- .md-grid-scroll-container {
516
- &::-webkit-scrollbar-track {
517
- background: color.mix($Dark-Gray-1, $Black-Color, 80%);
518
- }
519
-
520
- &::-webkit-scrollbar-thumb {
521
- background: $Dark-Gray-2;
522
-
523
- &:hover {
524
- background: $Light-Gray-1;
525
- }
526
- }
527
- }
528
-
529
- .md-grid-header {
530
- background: color.mix($Dark-Gray-2, $Black-Color, 85%);
531
- border-bottom-color: color.mix($Dark-Gray-1, $Black-Color, 60%);
532
- }
533
-
534
- .md-grid-header-cell {
535
- background: color.mix($Dark-Gray-2, $Black-Color, 85%);
536
- color: $Light-Gray-2;
537
-
538
- &.sortable:hover {
539
- background: color.mix($Dark-Gray-1, $Black-Color, 70%);
540
- }
541
-
542
- &.sort-active {
543
- color: $Link-on-dark;
544
- }
545
- }
546
-
547
- .md-grid-sort-icon {
548
- color: $Dark-Gray-2;
549
-
550
- &.md-grid-sort-asc,
551
- &.md-grid-sort-desc {
552
- color: $Link-on-dark;
553
- }
554
- }
555
-
556
- .md-grid-resize-handle {
557
- &:hover::after {
558
- background: $Link-on-dark;
559
- }
560
- }
561
-
562
- .md-grid-body {
563
- background: color.mix($Dark-Gray-1, $Black-Color, 85%);
564
- }
565
-
566
- .md-grid-group-header {
567
- background: color.mix($Dark-Gray-2, $Black-Color, 75%);
568
- color: $Light-Gray-2;
569
- }
570
-
571
- .md-grid-card {
572
- background: color.mix($Dark-Gray-1, $Black-Color, 95%);
573
- border-color: color.mix($Dark-Gray-2, $Black-Color, 60%);
574
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
575
-
576
- &:hover {
577
- background: color.mix($Dark-Gray-2, $Black-Color, 80%);
578
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
579
- }
580
-
581
- &.md-grid-card-editing {
582
- background: color.mix($Yellow, $Black-Color, 15%);
583
- border-color: $Yellow;
584
- box-shadow: 0 0 0 3px rgba($Yellow, 0.3);
585
- }
586
- }
587
-
588
- .md-grid-cell {
589
- color: $Light-Gray-2;
590
- border-right-color: color.mix($Dark-Gray-2, $Black-Color, 60%);
591
- }
592
-
593
- .md-grid-actions-cell {
594
- border-left-color: color.mix($Dark-Gray-2, $Black-Color, 60%);
595
- }
596
-
597
- .md-grid-action-edit {
598
- color: $Link-on-dark;
599
-
600
- &:hover {
601
- background: color.mix($Link-on-dark, $Black-Color, 25%);
602
- }
603
- }
604
-
605
- .md-grid-action-save {
606
- color: $Green;
607
-
608
- &:hover {
609
- background: color.mix($Green, $Black-Color, 25%);
610
- }
611
- }
612
-
613
- .md-grid-action-cancel {
614
- color: $Red;
615
-
616
- &:hover {
617
- background: color.mix($Red, $Black-Color, 25%);
618
- }
619
- }
620
-
621
- .md-grid-footer {
622
- background: color.mix($Dark-Gray-2, $Black-Color, 85%);
623
- border-top-color: color.mix($Dark-Gray-1, $Black-Color, 60%);
624
- color: $Light-Gray-2;
625
- }
626
-
627
- .md-grid-pager-btn {
628
- background: color.mix($Dark-Gray-1, $Black-Color, 95%);
629
- border-color: color.mix($Dark-Gray-2, $Black-Color, 60%);
630
- color: $Light-Gray-2;
631
-
632
- &:hover:not(:disabled) {
633
- background: color.mix($Dark-Gray-2, $Black-Color, 80%);
634
- border-color: $Light-Gray-1;
635
- color: $White;
636
- }
637
- }
638
-
639
- .md-grid-pager-info {
640
- color: $Light-Gray-2;
641
- }
642
-
643
- // Zebra in dark mode
644
- &.zebra {
645
- .md-grid-body {
646
- background: color.mix($Dark-Gray-1, $Black-Color, 90%);
647
- }
648
-
649
- .md-grid-card {
650
- &:nth-child(odd) {
651
- background: color.mix($Dark-Gray-1, $Black-Color, 95%);
652
- }
653
-
654
- &:nth-child(even) {
655
- background: color.mix($Dark-Gray-1, $Black-Color, 85%);
656
- }
657
-
658
- &:hover {
659
- background: color.mix($Dark-Gray-2, $Black-Color, 75%) !important;
660
- }
661
- }
662
- }
663
- }