@mshuja288/aksuicore 0.2.0

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,733 @@
1
+ @keyframes aks-fade-up {
2
+ from { opacity: 0; transform: translateY(8px); }
3
+ to { opacity: 1; transform: translateY(0); }
4
+ }
5
+
6
+ .hint {
7
+ color: var(--aks-muted);
8
+ font-size: 13px;
9
+ }
10
+
11
+ .workspace,
12
+ .list-workspace {
13
+ display: flex;
14
+ flex-direction: column;
15
+ gap: 0;
16
+ align-items: stretch;
17
+ }
18
+
19
+ .list-workspace {
20
+ width: 100%;
21
+ height: 100%;
22
+ min-height: 0;
23
+ }
24
+
25
+ .list-body {
26
+ display: flex;
27
+ gap: 12px;
28
+ min-height: 0;
29
+ flex: 1 1 auto;
30
+ align-items: stretch;
31
+ }
32
+
33
+ .list-main {
34
+ display: flex;
35
+ flex-direction: column;
36
+ min-width: 0;
37
+ min-height: 0;
38
+ flex: 1 1 auto;
39
+ }
40
+
41
+ .table-card {
42
+ display: flex;
43
+ flex-direction: column;
44
+ min-height: 0;
45
+ flex: 1 1 auto;
46
+ border: 1px solid var(--aks-line);
47
+ border-radius: var(--aks-radius);
48
+ background: #fff;
49
+ overflow: hidden;
50
+ }
51
+
52
+ .table-card-bar {
53
+ display: flex;
54
+ align-items: center;
55
+ gap: 10px;
56
+ flex: 0 0 auto;
57
+ min-height: 44px;
58
+ padding: 6px 10px;
59
+ border-bottom: 1px solid var(--aks-line);
60
+ background: #faf9f7;
61
+ }
62
+
63
+ .table-card-context {
64
+ flex: 1 1 auto;
65
+ min-width: 0;
66
+ }
67
+
68
+ .list-filter {
69
+ display: block;
70
+ max-width: none;
71
+ }
72
+
73
+ .preview-panel {
74
+ width: var(--aks-preview-panel-width);
75
+ flex: 0 0 var(--aks-preview-panel-width);
76
+ display: flex;
77
+ flex-direction: column;
78
+ gap: 0;
79
+ min-height: 0;
80
+ border: 1px solid var(--aks-line);
81
+ border-radius: var(--aks-radius);
82
+ background:
83
+ linear-gradient(180deg, #ffffff 0%, #fbfaf8 100%);
84
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
85
+ overflow: hidden;
86
+ animation: aks-fade-up 160ms ease-out;
87
+ }
88
+
89
+ .preview-panel-head {
90
+ flex: 0 0 auto;
91
+ display: flex;
92
+ align-items: flex-start;
93
+ justify-content: space-between;
94
+ gap: 10px;
95
+ padding: 14px 14px 12px;
96
+ border-bottom: 1px solid var(--aks-line);
97
+ background: #faf9f7;
98
+ }
99
+
100
+ .preview-panel-head h3 {
101
+ margin: 2px 0 0;
102
+ color: var(--aks-brand);
103
+ font-size: 15px;
104
+ font-weight: 700;
105
+ line-height: 1.3;
106
+ word-break: break-word;
107
+ }
108
+
109
+ .preview-panel-body {
110
+ flex: 1 1 auto;
111
+ min-height: 0;
112
+ padding: 14px;
113
+ overflow: auto;
114
+ }
115
+
116
+ .preview-kicker {
117
+ margin: 0;
118
+ color: var(--aks-accent);
119
+ font-size: 11px;
120
+ font-weight: 700;
121
+ letter-spacing: 0.06em;
122
+ text-transform: uppercase;
123
+ }
124
+
125
+ .preview-empty {
126
+ margin: 0;
127
+ color: var(--aks-muted);
128
+ font-size: 13px;
129
+ line-height: 1.45;
130
+ }
131
+
132
+ .preview-check:has(input:checked) {
133
+ color: var(--aks-accent);
134
+ }
135
+
136
+ .preview-check:has(input:checked) svg {
137
+ color: var(--aks-accent);
138
+ }
139
+
140
+ .record-detail-list {
141
+ display: grid;
142
+ gap: 10px;
143
+ margin: 0;
144
+ }
145
+
146
+ .record-detail-row {
147
+ display: grid;
148
+ gap: 2px;
149
+ padding-bottom: 10px;
150
+ border-bottom: 1px solid rgba(230, 228, 223, 0.9);
151
+ }
152
+
153
+ .record-detail-row:last-child {
154
+ border-bottom: 0;
155
+ padding-bottom: 0;
156
+ }
157
+
158
+ .record-detail-row dt {
159
+ color: var(--aks-muted);
160
+ font-size: 11px;
161
+ font-weight: 700;
162
+ letter-spacing: 0.04em;
163
+ text-transform: uppercase;
164
+ }
165
+
166
+ .record-detail-row dd {
167
+ margin: 0;
168
+ color: var(--aks-brand);
169
+ font-size: 13px;
170
+ font-weight: 500;
171
+ word-break: break-word;
172
+ }
173
+
174
+ .record-tooltip {
175
+ position: fixed;
176
+ z-index: 80;
177
+ width: min(280px, calc(100vw - 24px));
178
+ padding: 12px;
179
+ border: 1px solid var(--aks-line);
180
+ border-radius: var(--aks-radius);
181
+ background: #fff;
182
+ box-shadow:
183
+ 0 18px 40px rgba(30, 39, 53, 0.16),
184
+ 0 2px 8px rgba(30, 39, 53, 0.06);
185
+ pointer-events: none;
186
+ animation: aks-fade-up 120ms ease-out;
187
+ }
188
+
189
+ .record-tooltip-title {
190
+ margin: 0 0 10px;
191
+ color: var(--aks-brand);
192
+ font-size: 12px;
193
+ font-weight: 700;
194
+ letter-spacing: 0.04em;
195
+ text-transform: uppercase;
196
+ }
197
+
198
+ .data-table tbody tr.data-row {
199
+ cursor: pointer;
200
+ transition: background 120ms ease;
201
+ }
202
+
203
+ .data-table tbody tr.data-row:hover td {
204
+ background: rgba(30, 39, 53, 0.03);
205
+ }
206
+
207
+ .data-table tbody tr.data-row.selected td {
208
+ background: rgba(230, 126, 34, 0.1);
209
+ }
210
+
211
+ .data-table tbody tr.data-row.selected:hover td {
212
+ background: rgba(230, 126, 34, 0.14);
213
+ }
214
+
215
+ .preview-check {
216
+ display: flex;
217
+ align-items: center;
218
+ justify-content: flex-start;
219
+ gap: 8px;
220
+ margin: 0;
221
+ padding: 4px 0;
222
+ border: 0;
223
+ background: transparent;
224
+ color: var(--aks-brand);
225
+ font-size: 12px;
226
+ font-weight: 600;
227
+ cursor: default;
228
+ }
229
+
230
+ .preview-check input[type="checkbox"],
231
+ .preview-check-icon input[type="checkbox"] {
232
+ width: 15px;
233
+ height: 15px;
234
+ min-width: 15px;
235
+ min-height: 15px;
236
+ margin: 0;
237
+ padding: 0;
238
+ border: 0;
239
+ border-radius: 3px;
240
+ background: transparent;
241
+ box-shadow: none;
242
+ accent-color: var(--aks-accent);
243
+ cursor: pointer;
244
+ }
245
+
246
+ .preview-check input[type="checkbox"]:hover,
247
+ .preview-check input[type="checkbox"]:focus,
248
+ .preview-check-icon input[type="checkbox"]:hover,
249
+ .preview-check-icon input[type="checkbox"]:focus {
250
+ background: transparent;
251
+ border: 0;
252
+ box-shadow: none;
253
+ }
254
+
255
+ .preview-check svg {
256
+ width: 16px;
257
+ height: 16px;
258
+ color: var(--aks-muted);
259
+ flex: 0 0 auto;
260
+ pointer-events: none;
261
+ }
262
+
263
+ .preview-check > span {
264
+ pointer-events: none;
265
+ }
266
+
267
+ label.preview-check-icon {
268
+ position: relative;
269
+ width: 36px;
270
+ height: 36px;
271
+ min-width: 36px;
272
+ display: grid;
273
+ place-items: center;
274
+ margin: 0;
275
+ border-radius: var(--aks-radius);
276
+ color: var(--aks-brand);
277
+ cursor: pointer;
278
+ }
279
+
280
+ label.preview-check-icon svg {
281
+ width: 18px;
282
+ height: 18px;
283
+ }
284
+
285
+ label.preview-check-icon:hover {
286
+ background: #fff;
287
+ }
288
+
289
+ label.preview-check-icon input {
290
+ position: absolute;
291
+ inset: 0;
292
+ opacity: 0;
293
+ cursor: pointer;
294
+ }
295
+
296
+ label.preview-check-icon:has(input:checked) {
297
+ background: rgba(230, 126, 34, 0.14);
298
+ color: var(--aks-accent);
299
+ }
300
+
301
+ .side-rail {
302
+ width: var(--aks-side-rail-collapsed);
303
+ flex: 0 0 var(--aks-side-rail-collapsed);
304
+ display: flex;
305
+ flex-direction: column;
306
+ align-items: stretch;
307
+ gap: 8px;
308
+ min-height: 0;
309
+ padding: 8px 6px;
310
+ border: 1px solid var(--aks-line);
311
+ border-radius: var(--aks-radius);
312
+ background: #faf9f7;
313
+ overflow: hidden;
314
+ transition: width 160ms ease, flex-basis 160ms ease;
315
+ }
316
+
317
+ .side-rail.open {
318
+ width: var(--aks-side-rail-expanded);
319
+ flex-basis: var(--aks-side-rail-expanded);
320
+ }
321
+
322
+ button.side-rail-toggle {
323
+ display: inline-flex;
324
+ align-items: center;
325
+ justify-content: center;
326
+ gap: 8px;
327
+ width: 100%;
328
+ min-height: 36px;
329
+ padding: 6px;
330
+ color: var(--aks-brand);
331
+ box-shadow: none;
332
+ }
333
+
334
+ button.side-rail-toggle:hover {
335
+ transform: none;
336
+ background: #fff;
337
+ }
338
+
339
+ .side-rail-chevron {
340
+ width: 16px;
341
+ height: 16px;
342
+ flex: 0 0 auto;
343
+ transform: rotate(180deg);
344
+ transition: transform 160ms ease;
345
+ }
346
+
347
+ .side-rail-chevron.open {
348
+ transform: rotate(0deg);
349
+ }
350
+
351
+ .side-rail-icons {
352
+ display: grid;
353
+ gap: 6px;
354
+ justify-items: center;
355
+ }
356
+
357
+ button.side-rail-icon {
358
+ position: relative;
359
+ width: 36px;
360
+ height: 36px;
361
+ min-width: 36px;
362
+ padding: 0;
363
+ display: grid;
364
+ place-items: center;
365
+ color: var(--aks-brand);
366
+ box-shadow: none;
367
+ }
368
+
369
+ button.side-rail-icon:hover {
370
+ transform: none;
371
+ background: #fff;
372
+ }
373
+
374
+ button.side-rail-icon svg,
375
+ .side-rail-add svg {
376
+ width: 18px;
377
+ height: 18px;
378
+ }
379
+
380
+ .side-rail-body {
381
+ display: flex;
382
+ flex-direction: column;
383
+ gap: 14px;
384
+ min-height: 0;
385
+ overflow: auto;
386
+ padding: 2px;
387
+ }
388
+
389
+ button.side-rail-add {
390
+ display: inline-flex;
391
+ align-items: center;
392
+ justify-content: center;
393
+ gap: 8px;
394
+ width: 100%;
395
+ padding: 10px 12px;
396
+ border-radius: var(--aks-radius);
397
+ background: var(--aks-brand);
398
+ color: #fff;
399
+ box-shadow: none;
400
+ }
401
+
402
+ button.side-rail-add:hover {
403
+ transform: none;
404
+ background: #2a3546;
405
+ }
406
+
407
+ .side-rail-filters {
408
+ display: grid;
409
+ gap: 12px;
410
+ }
411
+
412
+ .filter-badge {
413
+ position: absolute;
414
+ top: -2px;
415
+ right: -2px;
416
+ min-width: 16px;
417
+ height: 16px;
418
+ padding: 0 4px;
419
+ display: inline-grid;
420
+ place-items: center;
421
+ border-radius: 999px;
422
+ background: var(--aks-accent);
423
+ color: #fff;
424
+ font-size: 10px;
425
+ font-weight: 700;
426
+ }
427
+
428
+ .filter-panel-head {
429
+ display: flex;
430
+ align-items: center;
431
+ justify-content: space-between;
432
+ gap: 8px;
433
+ }
434
+
435
+ .filter-panel-head h3 {
436
+ margin: 0;
437
+ color: var(--aks-brand);
438
+ font-size: 13px;
439
+ font-weight: 700;
440
+ text-transform: uppercase;
441
+ letter-spacing: 0.03em;
442
+ }
443
+
444
+ button.filter-clear {
445
+ display: inline-flex;
446
+ align-items: center;
447
+ gap: 4px;
448
+ padding: 4px 8px;
449
+ font-size: 12px;
450
+ box-shadow: none;
451
+ }
452
+
453
+ button.filter-clear svg {
454
+ width: 14px;
455
+ height: 14px;
456
+ }
457
+
458
+ button.side-rail-icon:disabled,
459
+ button.filter-clear:disabled {
460
+ opacity: 0.35;
461
+ cursor: default;
462
+ }
463
+
464
+ .filter-panel-stack {
465
+ display: grid;
466
+ gap: 12px;
467
+ align-content: start;
468
+ }
469
+
470
+ .filter-panel-stack label {
471
+ gap: 4px;
472
+ }
473
+
474
+ button.record-button {
475
+ display: grid;
476
+ gap: 2px;
477
+ width: 100%;
478
+ padding: 14px 16px;
479
+ border: 0;
480
+ text-align: left;
481
+ background: transparent;
482
+ color: var(--aks-brand);
483
+ box-shadow: none;
484
+ border-radius: 16px;
485
+ }
486
+
487
+ button.record-button strong {
488
+ font-size: 14px;
489
+ }
490
+
491
+ button.record-button span {
492
+ color: var(--aks-muted);
493
+ font-size: 13px;
494
+ font-weight: 400;
495
+ }
496
+
497
+ .table-card > .table-wrap {
498
+ width: 100%;
499
+ min-height: 0;
500
+ flex: 1 1 auto;
501
+ height: auto;
502
+ max-height: none;
503
+ overflow: auto;
504
+ border: 0;
505
+ border-radius: 0;
506
+ background: #fff;
507
+ }
508
+
509
+ .table-card > .table-pagination {
510
+ flex: 0 0 auto;
511
+ height: var(--aks-table-header-height);
512
+ min-height: var(--aks-table-header-height);
513
+ padding: 0 12px;
514
+ border-top: 1px solid var(--aks-line);
515
+ background: #faf9f7;
516
+ }
517
+
518
+ .data-table {
519
+ width: 100%;
520
+ border-collapse: collapse;
521
+ min-width: 640px;
522
+ }
523
+
524
+ .data-table th,
525
+ .data-table td {
526
+ padding: 6px 12px;
527
+ height: var(--aks-row-height);
528
+ text-align: left;
529
+ border-bottom: 1px solid var(--aks-line);
530
+ vertical-align: middle;
531
+ font-size: 13px;
532
+ }
533
+
534
+ .data-table th {
535
+ position: sticky;
536
+ top: 0;
537
+ z-index: 1;
538
+ height: var(--aks-table-header-height);
539
+ background: #f6f5f3;
540
+ color: var(--aks-brand);
541
+ font-size: 12px;
542
+ font-weight: 700;
543
+ letter-spacing: 0.02em;
544
+ text-transform: uppercase;
545
+ white-space: nowrap;
546
+ }
547
+
548
+ button.sort-header {
549
+ display: inline-flex;
550
+ align-items: center;
551
+ gap: 6px;
552
+ width: 100%;
553
+ padding: 0;
554
+ border: 0;
555
+ background: transparent;
556
+ color: inherit;
557
+ font: inherit;
558
+ font-weight: inherit;
559
+ letter-spacing: inherit;
560
+ text-transform: inherit;
561
+ text-align: left;
562
+ box-shadow: none;
563
+ cursor: pointer;
564
+ }
565
+
566
+ button.sort-header:hover {
567
+ transform: none;
568
+ color: var(--aks-accent);
569
+ background: transparent;
570
+ box-shadow: none;
571
+ }
572
+
573
+ button.sort-header.active {
574
+ color: var(--aks-accent);
575
+ }
576
+
577
+ .sort-indicator {
578
+ color: #b0b7c3;
579
+ font-size: 10px;
580
+ line-height: 1;
581
+ }
582
+
583
+ button.sort-header.active .sort-indicator {
584
+ color: var(--aks-accent);
585
+ }
586
+
587
+ .data-table tbody tr:last-child td {
588
+ border-bottom: 0;
589
+ }
590
+
591
+ .data-table tbody tr:hover td {
592
+ background: #fffcf8;
593
+ }
594
+
595
+ .data-table .actions-col {
596
+ width: 1%;
597
+ white-space: nowrap;
598
+ text-align: right;
599
+ }
600
+
601
+ .row-actions {
602
+ display: inline-flex;
603
+ align-items: center;
604
+ justify-content: flex-end;
605
+ gap: 6px;
606
+ }
607
+
608
+ button.row-action {
609
+ padding: 4px 8px;
610
+ font-size: 12px;
611
+ box-shadow: none;
612
+ }
613
+
614
+ button.row-action.danger:not(:disabled) {
615
+ color: #a33b2b;
616
+ }
617
+
618
+ .table-empty {
619
+ margin: 0;
620
+ padding: 28px 8px;
621
+ text-align: center;
622
+ }
623
+
624
+ .table-pagination {
625
+ display: flex;
626
+ flex-wrap: nowrap;
627
+ align-items: center;
628
+ justify-content: space-between;
629
+ gap: 10px;
630
+ overflow: hidden;
631
+ }
632
+
633
+ .data-table thead button.sort-header,
634
+ button.sort-header {
635
+ display: inline-flex;
636
+ align-items: center;
637
+ justify-content: flex-start;
638
+ gap: 6px;
639
+ width: 100%;
640
+ min-height: 0;
641
+ padding: 0;
642
+ border: 0;
643
+ border-radius: 0;
644
+ background: transparent;
645
+ color: inherit;
646
+ font: inherit;
647
+ font-weight: inherit;
648
+ letter-spacing: inherit;
649
+ text-transform: inherit;
650
+ text-align: left;
651
+ box-shadow: none;
652
+ cursor: pointer;
653
+ }
654
+
655
+ .data-table thead button.sort-header:hover,
656
+ button.sort-header:hover {
657
+ transform: none;
658
+ color: var(--aks-accent);
659
+ background: transparent;
660
+ box-shadow: none;
661
+ }
662
+
663
+ .data-table thead button.sort-header.active,
664
+ button.sort-header.active {
665
+ color: var(--aks-accent);
666
+ background: transparent;
667
+ box-shadow: none;
668
+ }
669
+
670
+ .data-table .row-actions button.row-action,
671
+ button.row-action {
672
+ min-height: 0;
673
+ padding: 4px 8px;
674
+ border-radius: var(--aks-radius);
675
+ background: transparent;
676
+ color: var(--aks-muted);
677
+ font-size: 12px;
678
+ font-weight: 600;
679
+ box-shadow: none;
680
+ }
681
+
682
+ .data-table .row-actions button.row-action:hover,
683
+ button.row-action:hover {
684
+ transform: none;
685
+ background: #f4f2ef;
686
+ color: var(--aks-brand);
687
+ box-shadow: none;
688
+ }
689
+
690
+ .data-table .row-actions button.row-action.danger:not(:disabled),
691
+ button.row-action.danger:not(:disabled) {
692
+ background: transparent;
693
+ color: #a33b2b;
694
+ box-shadow: none;
695
+ }
696
+
697
+ .data-table .row-actions button.row-action.danger:not(:disabled):hover,
698
+ button.row-action.danger:not(:disabled):hover {
699
+ background: #fff1f0;
700
+ color: #a33b2b;
701
+ box-shadow: none;
702
+ }
703
+
704
+ @media (max-width: 900px) {
705
+ .list-body.side-open,
706
+ .list-body.preview-open {
707
+ flex-direction: column;
708
+ }
709
+
710
+ .preview-panel,
711
+ .side-rail,
712
+ .side-rail.open {
713
+ width: 100%;
714
+ flex-basis: auto;
715
+ }
716
+
717
+ .side-rail:not(.open) {
718
+ flex-direction: row;
719
+ align-items: center;
720
+ width: 100%;
721
+ flex-basis: auto;
722
+ }
723
+
724
+ .side-rail:not(.open) .side-rail-icons {
725
+ display: inline-flex;
726
+ margin-left: auto;
727
+ }
728
+
729
+ .table-card-bar {
730
+ flex-wrap: wrap;
731
+ }
732
+ }
733
+