vitepress-plugin-filelist 0.4.0 → 0.5.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.
- package/README.md +13 -2
- package/dist/client/browser/index.d.ts +26 -0
- package/dist/client/browser/index.js +948 -233
- package/dist/client/ssr/index.d.ts +26 -0
- package/dist/client/ssr/index.js +378 -74
- package/dist/client/style.css +310 -25
- package/package.json +1 -1
package/dist/client/style.css
CHANGED
|
@@ -18,6 +18,10 @@
|
|
|
18
18
|
--fl-sticky: var(--fl-sticky-top, var(--fl-sticky-top-auto, 0px));
|
|
19
19
|
--fl-folder-fill: #f5c451;
|
|
20
20
|
--fl-folder-stroke: #d9a22b;
|
|
21
|
+
--fl-lock-bg: #fbf7ec;
|
|
22
|
+
--fl-lock-fg: #8a5a08;
|
|
23
|
+
--fl-error-bg: #fdf0ef;
|
|
24
|
+
--fl-error-fg: #b42318;
|
|
21
25
|
|
|
22
26
|
--fl-k-doc-bg: #e8f0fc;
|
|
23
27
|
--fl-k-doc-fg: #1f5fbf;
|
|
@@ -50,6 +54,10 @@
|
|
|
50
54
|
.dark .fl-root {
|
|
51
55
|
--fl-folder-fill: #d8a634;
|
|
52
56
|
--fl-folder-stroke: #b4851c;
|
|
57
|
+
--fl-lock-bg: rgb(216 166 52 / 12%);
|
|
58
|
+
--fl-lock-fg: #e3b45a;
|
|
59
|
+
--fl-error-bg: rgb(240 84 96 / 12%);
|
|
60
|
+
--fl-error-fg: #ff9aa0;
|
|
53
61
|
|
|
54
62
|
--fl-k-doc-bg: rgb(88 142 240 / 18%);
|
|
55
63
|
--fl-k-doc-fg: #9cc0ff;
|
|
@@ -276,28 +284,6 @@
|
|
|
276
284
|
opacity: 0.7;
|
|
277
285
|
}
|
|
278
286
|
|
|
279
|
-
.fl-password {
|
|
280
|
-
display: flex;
|
|
281
|
-
flex-wrap: wrap;
|
|
282
|
-
gap: 8px;
|
|
283
|
-
align-items: center;
|
|
284
|
-
padding: 10px 12px;
|
|
285
|
-
color: var(--vp-c-text-1);
|
|
286
|
-
background: var(--vp-c-warning-soft, var(--vp-c-bg-soft));
|
|
287
|
-
border-bottom: 1px solid var(--vp-c-divider);
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
.fl-password input {
|
|
291
|
-
height: 32px;
|
|
292
|
-
box-sizing: border-box;
|
|
293
|
-
padding: 0 10px;
|
|
294
|
-
font: inherit;
|
|
295
|
-
color: var(--vp-c-text-1);
|
|
296
|
-
background: var(--vp-c-bg);
|
|
297
|
-
border: 1px solid var(--vp-c-divider);
|
|
298
|
-
border-radius: 8px;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
287
|
/* ---------------- table ---------------- */
|
|
302
288
|
|
|
303
289
|
.fl-row {
|
|
@@ -321,6 +307,7 @@
|
|
|
321
307
|
}
|
|
322
308
|
|
|
323
309
|
.fl-head {
|
|
310
|
+
position: relative;
|
|
324
311
|
min-height: 36px;
|
|
325
312
|
font-size: 12px;
|
|
326
313
|
font-weight: 600;
|
|
@@ -531,6 +518,242 @@
|
|
|
531
518
|
transform: rotate(90deg);
|
|
532
519
|
}
|
|
533
520
|
|
|
521
|
+
/* ---------------- refresh ---------------- */
|
|
522
|
+
|
|
523
|
+
/* indeterminate bar on the header's top edge: overlays the border, takes no space */
|
|
524
|
+
.fl-progress {
|
|
525
|
+
position: absolute;
|
|
526
|
+
top: -1px;
|
|
527
|
+
left: 0;
|
|
528
|
+
width: 100%;
|
|
529
|
+
height: 2px;
|
|
530
|
+
overflow: hidden;
|
|
531
|
+
pointer-events: none;
|
|
532
|
+
background: var(--vp-c-brand-soft);
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
.fl-progress::after {
|
|
536
|
+
position: absolute;
|
|
537
|
+
inset: 0 auto 0 0;
|
|
538
|
+
width: 40%;
|
|
539
|
+
content: '';
|
|
540
|
+
background: var(--vp-c-brand-1);
|
|
541
|
+
animation: fl-progress 1.1s ease-in-out infinite;
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
@keyframes fl-progress {
|
|
545
|
+
from { transform: translateX(-100%); }
|
|
546
|
+
to { transform: translateX(250%); }
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
.fl-refreshing .fl-row:not(.fl-head) {
|
|
550
|
+
pointer-events: none;
|
|
551
|
+
opacity: 0.5;
|
|
552
|
+
transition: opacity 0.15s;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
.fl-spinning svg {
|
|
556
|
+
animation: fl-spin 0.8s linear infinite;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
.fl-icon-btn.fl-spinning {
|
|
560
|
+
color: var(--vp-c-brand-1);
|
|
561
|
+
border-color: var(--vp-c-brand-1);
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
.fl-icon-btn:disabled {
|
|
565
|
+
cursor: progress;
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
@keyframes fl-spin {
|
|
569
|
+
to { transform: rotate(360deg); }
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
@media (prefers-reduced-motion: reduce) {
|
|
573
|
+
.fl-progress::after {
|
|
574
|
+
animation: none;
|
|
575
|
+
transform: none;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
.fl-spinning svg {
|
|
579
|
+
animation: none;
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
/* ---------------- folder passwords (same-row, no layout shift) ---------------- */
|
|
584
|
+
|
|
585
|
+
.fl-row.fl-row-locked {
|
|
586
|
+
background: var(--fl-lock-bg);
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
.fl-row.fl-row-error {
|
|
590
|
+
background: var(--fl-error-bg);
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
.fl-lock {
|
|
594
|
+
color: var(--fl-lock-fg);
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
.fl-row-error .fl-lock {
|
|
598
|
+
color: var(--fl-error-fg);
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
.fl-row-locked .fl-cell-check input {
|
|
602
|
+
cursor: not-allowed;
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
.fl-unlock {
|
|
606
|
+
display: flex;
|
|
607
|
+
gap: 6px;
|
|
608
|
+
align-items: center;
|
|
609
|
+
min-width: 0;
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
.fl-unlock-row {
|
|
613
|
+
grid-column: 3 / -1;
|
|
614
|
+
justify-content: flex-end;
|
|
615
|
+
padding-left: 8px;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
.fl-unlock input {
|
|
619
|
+
flex: 1 1 auto;
|
|
620
|
+
width: 100%;
|
|
621
|
+
min-width: 60px;
|
|
622
|
+
height: 28px;
|
|
623
|
+
box-sizing: border-box;
|
|
624
|
+
padding: 0 8px;
|
|
625
|
+
font: inherit;
|
|
626
|
+
font-size: 13px;
|
|
627
|
+
color: var(--vp-c-text-1);
|
|
628
|
+
background: var(--vp-c-bg);
|
|
629
|
+
border: 1px solid var(--vp-c-brand-1);
|
|
630
|
+
border-radius: 7px;
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
.fl-unlock input[aria-invalid='true'] {
|
|
634
|
+
border-color: var(--fl-error-fg);
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
/* Wide rows show the error beside the folder name, so the empty input only turns red. */
|
|
638
|
+
.fl-unlock input[aria-invalid='true']::placeholder {
|
|
639
|
+
color: transparent;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
.fl-unlock-remember,
|
|
643
|
+
.fl-unlock-cancel {
|
|
644
|
+
display: inline-flex;
|
|
645
|
+
flex: none;
|
|
646
|
+
align-items: center;
|
|
647
|
+
justify-content: center;
|
|
648
|
+
width: 28px;
|
|
649
|
+
height: 28px;
|
|
650
|
+
padding: 0;
|
|
651
|
+
color: var(--vp-c-text-2);
|
|
652
|
+
cursor: pointer;
|
|
653
|
+
background: var(--vp-c-bg);
|
|
654
|
+
border: 1px solid var(--vp-c-divider);
|
|
655
|
+
border-radius: 7px;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
.fl-unlock-cancel {
|
|
659
|
+
background: transparent;
|
|
660
|
+
border-color: transparent;
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
.fl-unlock-remember[aria-pressed='true'] {
|
|
664
|
+
color: var(--vp-c-brand-1);
|
|
665
|
+
background: var(--vp-c-brand-soft);
|
|
666
|
+
border-color: var(--vp-c-brand-1);
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
.fl-unlock-submit {
|
|
670
|
+
flex: none;
|
|
671
|
+
height: 28px;
|
|
672
|
+
padding: 0 12px;
|
|
673
|
+
font-size: 13px;
|
|
674
|
+
font-weight: 600;
|
|
675
|
+
color: var(--vp-button-brand-text, #fff);
|
|
676
|
+
white-space: nowrap;
|
|
677
|
+
cursor: pointer;
|
|
678
|
+
background: var(--vp-button-brand-bg, var(--vp-c-brand-3));
|
|
679
|
+
border: 0;
|
|
680
|
+
border-radius: 7px;
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
.fl-unlock-submit:disabled {
|
|
684
|
+
cursor: not-allowed;
|
|
685
|
+
opacity: 0.55;
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
.fl-unlock-lock {
|
|
689
|
+
display: none;
|
|
690
|
+
flex: none;
|
|
691
|
+
color: var(--fl-lock-fg);
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
.fl-unlock-message {
|
|
695
|
+
flex: 0 1 auto;
|
|
696
|
+
min-width: 0;
|
|
697
|
+
overflow: hidden;
|
|
698
|
+
font-size: 12px;
|
|
699
|
+
color: var(--fl-error-fg);
|
|
700
|
+
text-overflow: ellipsis;
|
|
701
|
+
white-space: nowrap;
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
/* single-path mode: the listed folder itself is locked; sits where "loading" would */
|
|
705
|
+
.fl-unlock-root {
|
|
706
|
+
display: flex;
|
|
707
|
+
flex-wrap: wrap;
|
|
708
|
+
gap: 8px 10px;
|
|
709
|
+
align-items: center;
|
|
710
|
+
min-height: var(--fl-row-h);
|
|
711
|
+
box-sizing: border-box;
|
|
712
|
+
padding: 10px 16px;
|
|
713
|
+
color: var(--vp-c-text-1);
|
|
714
|
+
background: var(--fl-lock-bg);
|
|
715
|
+
border-bottom: 1px solid var(--vp-c-divider);
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
.fl-unlock-root.fl-unlock-error {
|
|
719
|
+
background: var(--fl-error-bg);
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
.fl-unlock-root .fl-unlock-lock {
|
|
723
|
+
display: block;
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
.fl-unlock-root .fl-unlock {
|
|
727
|
+
flex: 1 1 260px;
|
|
728
|
+
max-width: 420px;
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
.fl-unlock-label {
|
|
732
|
+
font-size: 13px;
|
|
733
|
+
color: var(--fl-lock-fg);
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
.fl-remembered {
|
|
737
|
+
display: inline-flex;
|
|
738
|
+
flex: none;
|
|
739
|
+
gap: 3px;
|
|
740
|
+
align-items: center;
|
|
741
|
+
height: 22px;
|
|
742
|
+
padding: 0 7px;
|
|
743
|
+
font-size: 11px;
|
|
744
|
+
color: var(--vp-c-text-2);
|
|
745
|
+
white-space: nowrap;
|
|
746
|
+
cursor: pointer;
|
|
747
|
+
background: var(--vp-c-bg);
|
|
748
|
+
border: 1px solid var(--vp-c-divider);
|
|
749
|
+
border-radius: 999px;
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
.fl-remembered:hover {
|
|
753
|
+
color: var(--vp-c-brand-1);
|
|
754
|
+
border-color: var(--vp-c-brand-1);
|
|
755
|
+
}
|
|
756
|
+
|
|
534
757
|
/* ---------------- states & footer ---------------- */
|
|
535
758
|
|
|
536
759
|
.fl-status {
|
|
@@ -571,11 +794,11 @@
|
|
|
571
794
|
padding: 7px 14px;
|
|
572
795
|
overflow: hidden;
|
|
573
796
|
font-size: 13px;
|
|
797
|
+
line-height: 1.5;
|
|
574
798
|
color: var(--vp-c-bg);
|
|
575
|
-
text-
|
|
576
|
-
white-space: nowrap;
|
|
799
|
+
text-align: center;
|
|
577
800
|
background: var(--vp-c-text-1);
|
|
578
|
-
border-radius:
|
|
801
|
+
border-radius: 14px;
|
|
579
802
|
box-shadow: 0 6px 20px rgb(0 0 0 / 18%);
|
|
580
803
|
transform: translateX(-50%);
|
|
581
804
|
}
|
|
@@ -797,6 +1020,68 @@
|
|
|
797
1020
|
.fl-foot {
|
|
798
1021
|
padding: 10px 12px;
|
|
799
1022
|
}
|
|
1023
|
+
|
|
1024
|
+
/* same-row password: the row keeps its 56px; the name gives way to the input */
|
|
1025
|
+
.fl-row-prompting .fl-cell-name {
|
|
1026
|
+
display: none;
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
.fl-unlock-row {
|
|
1030
|
+
grid-column: 2 / -1;
|
|
1031
|
+
justify-content: flex-start;
|
|
1032
|
+
padding-left: 4px;
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
.fl-unlock-row .fl-unlock-lock {
|
|
1036
|
+
display: block;
|
|
1037
|
+
margin: 0 4px;
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
.fl-unlock input {
|
|
1041
|
+
height: 40px;
|
|
1042
|
+
padding: 0 10px;
|
|
1043
|
+
font-size: 16px;
|
|
1044
|
+
border-radius: 10px;
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
.fl-unlock-remember,
|
|
1048
|
+
.fl-unlock-cancel {
|
|
1049
|
+
width: 40px;
|
|
1050
|
+
height: 44px;
|
|
1051
|
+
border-color: transparent;
|
|
1052
|
+
background: transparent;
|
|
1053
|
+
}
|
|
1054
|
+
|
|
1055
|
+
.fl-unlock-remember[aria-pressed='true'] {
|
|
1056
|
+
background: transparent;
|
|
1057
|
+
border-color: transparent;
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
.fl-unlock-submit {
|
|
1061
|
+
height: 40px;
|
|
1062
|
+
padding: 0 14px;
|
|
1063
|
+
font-size: 15px;
|
|
1064
|
+
border-radius: 10px;
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
/* The name is hidden while prompting: the error moves into the placeholder,
|
|
1068
|
+
and the message stays for screen readers only. */
|
|
1069
|
+
.fl-row .fl-unlock-message {
|
|
1070
|
+
position: absolute;
|
|
1071
|
+
width: 1px;
|
|
1072
|
+
height: 1px;
|
|
1073
|
+
overflow: hidden;
|
|
1074
|
+
clip: rect(0 0 0 0);
|
|
1075
|
+
white-space: nowrap;
|
|
1076
|
+
}
|
|
1077
|
+
|
|
1078
|
+
.fl-unlock-row input[aria-invalid='true']::placeholder {
|
|
1079
|
+
color: var(--fl-error-fg);
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
.fl-unlock-root {
|
|
1083
|
+
padding: 10px 12px;
|
|
1084
|
+
}
|
|
800
1085
|
}
|
|
801
1086
|
|
|
802
1087
|
/* ---------------- preview dialog ---------------- */
|
package/package.json
CHANGED