vitepress-plugin-filelist 0.7.2 → 0.9.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 +28 -301
- package/dist/client/browser/index.d.ts +15 -83
- package/dist/client/browser/index.js +413 -139
- package/dist/client/ssr/index.d.ts +15 -83
- package/dist/client/ssr/index.js +242 -30
- package/dist/client/style.css +153 -29
- package/package.json +16 -6
package/dist/client/style.css
CHANGED
|
@@ -826,47 +826,138 @@
|
|
|
826
826
|
/* ---------------- long folders ---------------- */
|
|
827
827
|
|
|
828
828
|
.fl-more {
|
|
829
|
-
|
|
829
|
+
color: var(--vp-c-text-2);
|
|
830
830
|
}
|
|
831
831
|
|
|
832
832
|
.fl-more-cell {
|
|
833
833
|
grid-column: 2 / -1;
|
|
834
|
-
|
|
834
|
+
/* the same gaps as a file's name cell, so the tag and count line up with its type and name */
|
|
835
|
+
gap: 8px;
|
|
835
836
|
align-self: stretch;
|
|
836
837
|
}
|
|
837
838
|
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
839
|
+
/* “⋯” in the file-type column: the size of .fl-type */
|
|
840
|
+
.fl-more-tag {
|
|
841
|
+
display: inline-flex;
|
|
842
|
+
flex: none;
|
|
843
|
+
align-items: center;
|
|
844
|
+
justify-content: center;
|
|
845
|
+
width: 34px;
|
|
846
|
+
height: 20px;
|
|
847
|
+
font-size: 13px;
|
|
848
|
+
font-weight: 700;
|
|
849
|
+
line-height: 1;
|
|
850
|
+
color: var(--vp-c-text-3);
|
|
851
|
+
letter-spacing: 1px;
|
|
852
|
+
background: var(--vp-c-default-soft);
|
|
853
|
+
border-radius: 4px;
|
|
841
854
|
}
|
|
842
855
|
|
|
843
856
|
.fl-more-count {
|
|
857
|
+
min-width: 0;
|
|
858
|
+
overflow: hidden;
|
|
844
859
|
font-size: 13px;
|
|
845
|
-
|
|
860
|
+
text-overflow: ellipsis;
|
|
846
861
|
white-space: nowrap;
|
|
847
862
|
}
|
|
848
863
|
|
|
849
|
-
|
|
864
|
+
/* the short forms are for narrow lists */
|
|
865
|
+
.fl-more-short {
|
|
866
|
+
display: none;
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
.fl-more-actions {
|
|
870
|
+
display: flex;
|
|
871
|
+
flex: none;
|
|
872
|
+
gap: 2px;
|
|
873
|
+
align-items: center;
|
|
874
|
+
margin-left: auto;
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
.fl-more-link {
|
|
850
878
|
height: 28px;
|
|
851
|
-
padding: 0
|
|
879
|
+
padding: 0 8px;
|
|
852
880
|
font-size: 13px;
|
|
853
|
-
font-weight: 600;
|
|
854
881
|
color: var(--vp-c-brand-1);
|
|
855
882
|
white-space: nowrap;
|
|
856
883
|
cursor: pointer;
|
|
884
|
+
background: transparent;
|
|
885
|
+
border: 0;
|
|
886
|
+
border-radius: 6px;
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
.fl-more-all {
|
|
890
|
+
font-weight: 600;
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
/* hover only where there is a pointer, so a tap does not leave a mark behind */
|
|
894
|
+
@media (hover: hover) {
|
|
895
|
+
.fl-more-link:hover,
|
|
896
|
+
.fl-pin-less:hover {
|
|
897
|
+
background: var(--vp-c-default-soft);
|
|
898
|
+
}
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
/* the folder row pinned at the top while scrolling through a long folder */
|
|
902
|
+
.fl-pin-anchor {
|
|
903
|
+
position: sticky;
|
|
904
|
+
top: calc(var(--fl-sticky) + var(--fl-pin-offset, 0px));
|
|
905
|
+
z-index: 5;
|
|
906
|
+
height: 0;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
.fl-pin {
|
|
910
|
+
position: absolute;
|
|
911
|
+
inset: 0 0 auto;
|
|
912
|
+
display: grid;
|
|
913
|
+
grid-template-columns: 40px minmax(0, 1fr) auto;
|
|
914
|
+
align-items: center;
|
|
915
|
+
min-height: var(--fl-row-h);
|
|
916
|
+
padding: 0 8px;
|
|
857
917
|
background: var(--vp-c-bg);
|
|
858
|
-
border: 1px solid var(--vp-c-
|
|
859
|
-
|
|
918
|
+
border-bottom: 1px solid var(--vp-c-divider);
|
|
919
|
+
box-shadow: 0 6px 12px -8px rgb(0 0 0 / 25%);
|
|
860
920
|
}
|
|
861
921
|
|
|
862
|
-
.fl-
|
|
863
|
-
|
|
922
|
+
.fl-pin-arrow {
|
|
923
|
+
display: inline-flex;
|
|
924
|
+
flex: none;
|
|
925
|
+
align-items: center;
|
|
926
|
+
justify-content: center;
|
|
927
|
+
width: 18px;
|
|
928
|
+
color: var(--vp-c-text-2);
|
|
929
|
+
transform: rotate(90deg);
|
|
864
930
|
}
|
|
865
931
|
|
|
866
|
-
.fl-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
932
|
+
.fl-pin-name {
|
|
933
|
+
min-width: 0;
|
|
934
|
+
overflow: hidden;
|
|
935
|
+
font-weight: 500;
|
|
936
|
+
text-overflow: ellipsis;
|
|
937
|
+
white-space: nowrap;
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
.fl-pin-count {
|
|
941
|
+
flex: none;
|
|
942
|
+
font-size: 12px;
|
|
943
|
+
color: var(--vp-c-text-2);
|
|
944
|
+
white-space: nowrap;
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
.fl-pin-less {
|
|
948
|
+
display: inline-flex;
|
|
949
|
+
gap: 4px;
|
|
950
|
+
align-items: center;
|
|
951
|
+
height: 26px;
|
|
952
|
+
padding: 0 10px;
|
|
953
|
+
font-size: 12px;
|
|
954
|
+
font-weight: 600;
|
|
955
|
+
color: var(--vp-c-brand-1);
|
|
956
|
+
white-space: nowrap;
|
|
957
|
+
cursor: pointer;
|
|
958
|
+
background: var(--vp-c-brand-soft);
|
|
959
|
+
border: 0;
|
|
960
|
+
border-radius: 13px;
|
|
870
961
|
}
|
|
871
962
|
|
|
872
963
|
/* ---------------- filter and deep search ---------------- */
|
|
@@ -1127,31 +1218,63 @@
|
|
|
1127
1218
|
border-radius: 10px;
|
|
1128
1219
|
}
|
|
1129
1220
|
|
|
1130
|
-
.fl-more-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
.fl-more-cell .fl-indent {
|
|
1135
|
-
margin-right: 10px;
|
|
1221
|
+
.fl-more-tag {
|
|
1222
|
+
width: 36px;
|
|
1223
|
+
height: 22px;
|
|
1136
1224
|
}
|
|
1137
1225
|
|
|
1138
1226
|
.fl-more-count {
|
|
1139
1227
|
flex: 1 1 auto;
|
|
1140
1228
|
}
|
|
1141
1229
|
|
|
1142
|
-
.fl-more-
|
|
1143
|
-
|
|
1144
|
-
|
|
1230
|
+
.fl-more-long {
|
|
1231
|
+
display: none;
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
.fl-more-short {
|
|
1235
|
+
display: inline;
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
/* smaller to look at, still a 44px target */
|
|
1239
|
+
.fl-more-link {
|
|
1240
|
+
position: relative;
|
|
1241
|
+
height: 32px;
|
|
1242
|
+
padding: 0 10px;
|
|
1145
1243
|
font-size: 14px;
|
|
1146
|
-
border-radius: 10px;
|
|
1147
1244
|
}
|
|
1148
1245
|
|
|
1149
|
-
.fl-more-
|
|
1246
|
+
.fl-more-link::after {
|
|
1247
|
+
position: absolute;
|
|
1248
|
+
inset: -6px 0;
|
|
1249
|
+
content: '';
|
|
1250
|
+
}
|
|
1251
|
+
|
|
1252
|
+
.fl-pin {
|
|
1253
|
+
grid-template-columns: 44px minmax(0, 1fr) auto;
|
|
1254
|
+
padding: 0 8px 0 0;
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
.fl-pin-count {
|
|
1150
1258
|
display: none;
|
|
1151
1259
|
}
|
|
1152
1260
|
|
|
1261
|
+
.fl-pin-less {
|
|
1262
|
+
position: relative;
|
|
1263
|
+
height: 32px;
|
|
1264
|
+
padding: 0 12px;
|
|
1265
|
+
font-size: 13px;
|
|
1266
|
+
border-radius: 16px;
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1269
|
+
.fl-pin-less::after {
|
|
1270
|
+
position: absolute;
|
|
1271
|
+
inset: -6px 0;
|
|
1272
|
+
content: '';
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1153
1275
|
/* rows (container queries cannot restyle .fl-root itself) */
|
|
1154
|
-
.fl-row
|
|
1276
|
+
.fl-row,
|
|
1277
|
+
.fl-pin {
|
|
1155
1278
|
--fl-indent: 16px;
|
|
1156
1279
|
--fl-row-h: 56px;
|
|
1157
1280
|
--fl-cols: 44px minmax(0, 1fr) auto;
|
|
@@ -1221,6 +1344,7 @@
|
|
|
1221
1344
|
|
|
1222
1345
|
.fl-arrow,
|
|
1223
1346
|
.fl-arrow-placeholder,
|
|
1347
|
+
.fl-pin-arrow,
|
|
1224
1348
|
.fl-count {
|
|
1225
1349
|
display: none;
|
|
1226
1350
|
}
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vitepress-plugin-filelist",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"packageManager": "pnpm@11.25.0",
|
|
5
|
+
"engines": {
|
|
6
|
+
"node": "^20.19.0 || >=22.12.0"
|
|
7
|
+
},
|
|
5
8
|
"type": "module",
|
|
6
9
|
"description": "OpenList file browser for VitePress: tree view, batch ZIP download, i18n, password and token support.",
|
|
7
10
|
"author": "nrjycyd",
|
|
8
11
|
"license": "MIT",
|
|
9
|
-
"homepage": "https://github.
|
|
12
|
+
"homepage": "https://nrjycyd.github.io/vitepress-plugin-filelist/",
|
|
10
13
|
"repository": {
|
|
11
14
|
"type": "git",
|
|
12
15
|
"url": "git+https://github.com/nrjycyd/vitepress-plugin-filelist.git"
|
|
@@ -44,17 +47,23 @@
|
|
|
44
47
|
"test:watch": "vitest",
|
|
45
48
|
"pack:check": "npm pack --dry-run",
|
|
46
49
|
"test:e2e": "playwright test",
|
|
47
|
-
"e2e:site": "pnpm run build && pnpm --dir demo install --force && pnpm --dir demo run build:e2e"
|
|
50
|
+
"e2e:site": "pnpm run build && pnpm --dir demo install --force && pnpm --dir demo run build:e2e",
|
|
51
|
+
"test:compat": "node scripts/compat.mjs"
|
|
48
52
|
},
|
|
49
53
|
"peerDependencies": {
|
|
50
|
-
"vitepress": "^1.
|
|
54
|
+
"vitepress": "^1.6.0 || >=2.0.0-alpha.18",
|
|
55
|
+
"vitepress-tuck": ">=0.12.2",
|
|
51
56
|
"vue": "^3.5.0"
|
|
52
57
|
},
|
|
58
|
+
"peerDependenciesMeta": {
|
|
59
|
+
"vitepress-tuck": {
|
|
60
|
+
"optional": true
|
|
61
|
+
}
|
|
62
|
+
},
|
|
53
63
|
"dependencies": {
|
|
54
64
|
"client-zip": "^2.5.1",
|
|
55
65
|
"dompurify": "^3.4.17",
|
|
56
|
-
"markdown-it": "^14.3.3"
|
|
57
|
-
"vitepress-tuck": "^0.12.2"
|
|
66
|
+
"markdown-it": "^14.3.3"
|
|
58
67
|
},
|
|
59
68
|
"devDependencies": {
|
|
60
69
|
"@playwright/test": "1.63.0",
|
|
@@ -67,6 +76,7 @@
|
|
|
67
76
|
"unplugin-vue": "^8.0.1",
|
|
68
77
|
"unrun": "^0.3.1",
|
|
69
78
|
"vitepress": "^2.0.0-alpha.21",
|
|
79
|
+
"vitepress-tuck": "^0.12.2",
|
|
70
80
|
"vitest": "^5.1.0",
|
|
71
81
|
"vue": "^3.5.0",
|
|
72
82
|
"vue-tsc": "^2.2.0"
|