vitepress-plugin-filelist 0.5.1 → 0.6.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.
@@ -91,6 +91,7 @@
91
91
  /* ---------------- toolbar ---------------- */
92
92
 
93
93
  .fl-bar {
94
+ position: relative;
94
95
  display: flex;
95
96
  gap: 8px;
96
97
  align-items: center;
@@ -803,6 +804,110 @@
803
804
  transform: translateX(-50%);
804
805
  }
805
806
 
807
+ /* ---------------- batch ZIP progress ---------------- */
808
+
809
+ .fl-zip-bar {
810
+ position: absolute;
811
+ bottom: -1px;
812
+ left: 0;
813
+ height: 3px;
814
+ background: var(--vp-c-brand-1);
815
+ transition: width 0.2s ease;
816
+ }
817
+
818
+ .fl-zip-cancel {
819
+ margin-left: auto;
820
+ color: var(--vp-c-brand-1);
821
+ }
822
+
823
+ /* ---------------- long folders ---------------- */
824
+
825
+ .fl-more {
826
+ background: var(--vp-c-bg-soft);
827
+ }
828
+
829
+ .fl-more-cell {
830
+ grid-column: 2 / -1;
831
+ gap: 12px;
832
+ align-self: stretch;
833
+ }
834
+
835
+ .fl-more-cell .fl-indent {
836
+ /* line the row up with the folder's files (arrow + icon columns) */
837
+ margin-right: 36px;
838
+ }
839
+
840
+ .fl-more-count {
841
+ font-size: 13px;
842
+ color: var(--vp-c-text-2);
843
+ white-space: nowrap;
844
+ }
845
+
846
+ .fl-more-btn {
847
+ height: 28px;
848
+ padding: 0 12px;
849
+ font-size: 13px;
850
+ font-weight: 600;
851
+ color: var(--vp-c-brand-1);
852
+ white-space: nowrap;
853
+ cursor: pointer;
854
+ background: var(--vp-c-bg);
855
+ border: 1px solid var(--vp-c-brand-soft);
856
+ border-radius: 7px;
857
+ }
858
+
859
+ .fl-more-btn:hover {
860
+ border-color: var(--vp-c-brand-1);
861
+ }
862
+
863
+ .fl-more-all {
864
+ font-weight: 400;
865
+ background: transparent;
866
+ border-color: transparent;
867
+ }
868
+
869
+ /* ---------------- confirm dialog ---------------- */
870
+
871
+ .fl-confirm {
872
+ position: fixed;
873
+ inset: 0;
874
+ box-sizing: border-box;
875
+ width: min(440px, calc(100vw - 32px));
876
+ max-width: none;
877
+ height: fit-content;
878
+ padding: 20px 22px;
879
+ margin: auto;
880
+ color: var(--vp-c-text-1);
881
+ background: var(--vp-c-bg);
882
+ border: 1px solid var(--vp-c-divider);
883
+ border-radius: 14px;
884
+ box-shadow: 0 24px 64px rgb(0 0 0 / 28%);
885
+ }
886
+
887
+ .fl-confirm::backdrop {
888
+ background: rgb(0 0 0 / 45%);
889
+ }
890
+
891
+ .fl-confirm-title {
892
+ margin: 0 0 10px;
893
+ font-size: 16px;
894
+ font-weight: 600;
895
+ }
896
+
897
+ .fl-confirm-text {
898
+ margin: 0 0 10px;
899
+ font-size: 14px;
900
+ line-height: 1.6;
901
+ color: var(--vp-c-text-2);
902
+ }
903
+
904
+ .fl-confirm-actions {
905
+ display: flex;
906
+ gap: 10px;
907
+ justify-content: flex-end;
908
+ margin-top: 16px;
909
+ }
910
+
806
911
  /* ---------------- narrow containers ---------------- */
807
912
 
808
913
  @container fl (max-width: 559px) {
@@ -896,6 +1001,35 @@
896
1001
  border-radius: 10px;
897
1002
  }
898
1003
 
1004
+ .fl-zip-cancel {
1005
+ height: 44px;
1006
+ padding: 0 16px;
1007
+ border-radius: 10px;
1008
+ }
1009
+
1010
+ .fl-more-cell {
1011
+ gap: 4px;
1012
+ }
1013
+
1014
+ .fl-more-cell .fl-indent {
1015
+ margin-right: 10px;
1016
+ }
1017
+
1018
+ .fl-more-count {
1019
+ flex: 1 1 auto;
1020
+ }
1021
+
1022
+ .fl-more-btn {
1023
+ height: 44px;
1024
+ padding: 0 12px;
1025
+ font-size: 14px;
1026
+ border-radius: 10px;
1027
+ }
1028
+
1029
+ .fl-more-page {
1030
+ display: none;
1031
+ }
1032
+
899
1033
  /* rows (container queries cannot restyle .fl-root itself) */
900
1034
  .fl-row {
901
1035
  --fl-indent: 16px;
@@ -1297,6 +1431,25 @@
1297
1431
  }
1298
1432
 
1299
1433
  @media (max-width: 640px) {
1434
+ .fl-confirm {
1435
+ width: 100vw;
1436
+ margin: auto 0 0;
1437
+ padding: 20px 20px calc(24px + env(safe-area-inset-bottom));
1438
+ border: 0;
1439
+ border-radius: 16px 16px 0 0;
1440
+ }
1441
+
1442
+ .fl-confirm-actions {
1443
+ flex-direction: column-reverse;
1444
+ }
1445
+
1446
+ .fl-confirm-actions .fl-btn {
1447
+ justify-content: center;
1448
+ height: 48px;
1449
+ font-size: 16px;
1450
+ border-radius: 12px;
1451
+ }
1452
+
1300
1453
  .fl-preview {
1301
1454
  width: 100vw;
1302
1455
  height: 100dvh;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vitepress-plugin-filelist",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "packageManager": "pnpm@11.25.0",
5
5
  "type": "module",
6
6
  "description": "OpenList file browser for VitePress: tree view, batch ZIP download, i18n, password and token support.",
@@ -49,7 +49,7 @@
49
49
  "vue": "^3.5.0"
50
50
  },
51
51
  "dependencies": {
52
- "fflate": "^0.8.3",
52
+ "client-zip": "^2.5.1",
53
53
  "vitepress-tuck": "^0.12.2"
54
54
  },
55
55
  "devDependencies": {