dsh-vault 1.9.8 → 1.9.9-rc.2
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/lib/client.js +104 -84
- package/lib/client.js.map +1 -1
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -17,111 +17,111 @@ window.__ModuleLoader__.load({
|
|
|
17
17
|
document.head.appendChild(tag);
|
|
18
18
|
}
|
|
19
19
|
var VaultSection_module_css_default = {
|
|
20
|
-
"dupNames": "t_j5va_dupNames",
|
|
21
|
-
"rowMain": "t_j5va_rowMain",
|
|
22
|
-
"editor": "t_j5va_editor",
|
|
23
|
-
"rowSelected": "t_j5va_rowSelected",
|
|
24
|
-
"pwWeak": "t_j5va_pwWeak",
|
|
25
|
-
"pinStar": "t_j5va_pinStar",
|
|
26
|
-
"tabs": "t_j5va_tabs",
|
|
27
|
-
"intro": "t_j5va_intro",
|
|
28
20
|
"healthSummary": "t_j5va_healthSummary",
|
|
21
|
+
"selectActive": "t_j5va_selectActive",
|
|
29
22
|
"searchBox": "t_j5va_searchBox",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
23
|
+
"rowSelected": "t_j5va_rowSelected",
|
|
24
|
+
"histAdd": "t_j5va_histAdd",
|
|
25
|
+
"pwHistBox": "t_j5va_pwHistBox",
|
|
26
|
+
"emptyBox": "t_j5va_emptyBox",
|
|
27
|
+
"rowCheck": "t_j5va_rowCheck",
|
|
28
|
+
"secretField": "t_j5va_secretField",
|
|
29
|
+
"revealButton": "t_j5va_revealButton",
|
|
30
|
+
"kindFilter": "t_j5va_kindFilter",
|
|
31
|
+
"badge": "t_j5va_badge",
|
|
32
|
+
"badgeDanger": "t_j5va_badgeDanger",
|
|
33
|
+
"dupNames": "t_j5va_dupNames",
|
|
35
34
|
"title": "t_j5va_title",
|
|
36
|
-
"
|
|
35
|
+
"status": "t_j5va_status",
|
|
37
36
|
"reportBox": "t_j5va_reportBox",
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
37
|
+
"highBadge": "t_j5va_highBadge",
|
|
38
|
+
"rowActions": "t_j5va_rowActions",
|
|
39
|
+
"pwHistPwd": "t_j5va_pwHistPwd",
|
|
40
|
+
"totpRing": "t_j5va_totpRing",
|
|
41
|
+
"detailItem": "t_j5va_detailItem",
|
|
42
|
+
"moreButton": "t_j5va_moreButton",
|
|
43
|
+
"pinOff": "t_j5va_pinOff",
|
|
44
|
+
"error": "t_j5va_error",
|
|
45
|
+
"modeReadonly": "t_j5va_modeReadonly",
|
|
46
|
+
"badgeOk": "t_j5va_badgeOk",
|
|
47
|
+
"rowExpired": "t_j5va_rowExpired",
|
|
48
|
+
"badgeWarn": "t_j5va_badgeWarn",
|
|
45
49
|
"auditRow": "t_j5va_auditRow",
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
50
|
+
"policyBar": "t_j5va_policyBar",
|
|
51
|
+
"tabs": "t_j5va_tabs",
|
|
52
|
+
"genOptRow": "t_j5va_genOptRow",
|
|
49
53
|
"pinOn": "t_j5va_pinOn",
|
|
50
|
-
"
|
|
54
|
+
"histNeutral": "t_j5va_histNeutral",
|
|
55
|
+
"saveButton": "t_j5va_saveButton",
|
|
56
|
+
"section": "t_j5va_section",
|
|
57
|
+
"deleteButton": "t_j5va_deleteButton",
|
|
58
|
+
"lockedBanner": "t_j5va_lockedBanner",
|
|
51
59
|
"srOnly": "t_j5va_srOnly",
|
|
52
60
|
"editorBody": "t_j5va_editorBody",
|
|
53
|
-
"
|
|
61
|
+
"editor": "t_j5va_editor",
|
|
62
|
+
"copied": "t_j5va_copied",
|
|
63
|
+
"policyField": "t_j5va_policyField",
|
|
64
|
+
"reportTitle": "t_j5va_reportTitle",
|
|
65
|
+
"reportLine": "t_j5va_reportLine",
|
|
66
|
+
"scoreRing": "t_j5va_scoreRing",
|
|
67
|
+
"pwFair": "t_j5va_pwFair",
|
|
68
|
+
"kindChip": "t_j5va_kindChip",
|
|
69
|
+
"genHist": "t_j5va_genHist",
|
|
70
|
+
"rowDue": "t_j5va_rowDue",
|
|
71
|
+
"lockedTag": "t_j5va_lockedTag",
|
|
54
72
|
"tabPane": "t_j5va_tabPane",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
73
|
+
"identity": "t_j5va_identity",
|
|
74
|
+
"checkField": "t_j5va_checkField",
|
|
75
|
+
"reportSub": "t_j5va_reportSub",
|
|
76
|
+
"dupGroup": "t_j5va_dupGroup",
|
|
77
|
+
"pwBar": "t_j5va_pwBar",
|
|
58
78
|
"tab": "t_j5va_tab",
|
|
59
|
-
"actionPrimary": "t_j5va_actionPrimary",
|
|
60
79
|
"pwMeter": "t_j5va_pwMeter",
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"emptyHint": "t_j5va_emptyHint",
|
|
66
|
-
"highBadge": "t_j5va_highBadge",
|
|
67
|
-
"rowCheck": "t_j5va_rowCheck",
|
|
68
|
-
"checkField": "t_j5va_checkField",
|
|
80
|
+
"moreWrap": "t_j5va_moreWrap",
|
|
81
|
+
"rowMain": "t_j5va_rowMain",
|
|
82
|
+
"pwHistRow": "t_j5va_pwHistRow",
|
|
83
|
+
"histUpdate": "t_j5va_histUpdate",
|
|
69
84
|
"moreMenu": "t_j5va_moreMenu",
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"healthBar": "t_j5va_healthBar",
|
|
73
|
-
"badge": "t_j5va_badge",
|
|
74
|
-
"toolbar": "t_j5va_toolbar",
|
|
75
|
-
"policyBar": "t_j5va_policyBar",
|
|
76
|
-
"totpRing": "t_j5va_totpRing",
|
|
77
|
-
"genOpts": "t_j5va_genOpts",
|
|
78
|
-
"field": "t_j5va_field",
|
|
79
|
-
"dupGroup": "t_j5va_dupGroup",
|
|
80
|
-
"histLink": "t_j5va_histLink",
|
|
81
|
-
"reportSub": "t_j5va_reportSub",
|
|
82
|
-
"saveButton": "t_j5va_saveButton",
|
|
83
|
-
"modeReadonly": "t_j5va_modeReadonly",
|
|
84
|
-
"copied": "t_j5va_copied",
|
|
85
|
-
"trashButton": "t_j5va_trashButton",
|
|
86
|
-
"badgeWarn": "t_j5va_badgeWarn",
|
|
85
|
+
"sortButton": "t_j5va_sortButton",
|
|
86
|
+
"pwLabel": "t_j5va_pwLabel",
|
|
87
87
|
"footer": "t_j5va_footer",
|
|
88
|
-
"
|
|
89
|
-
"
|
|
88
|
+
"detailBox": "t_j5va_detailBox",
|
|
89
|
+
"histLink": "t_j5va_histLink",
|
|
90
90
|
"bulkItem": "t_j5va_bulkItem",
|
|
91
|
-
"
|
|
92
|
-
"detailItem": "t_j5va_detailItem",
|
|
93
|
-
"totp": "t_j5va_totp",
|
|
94
|
-
"pwFair": "t_j5va_pwFair",
|
|
95
|
-
"auditIssues": "t_j5va_auditIssues",
|
|
96
|
-
"lockedBanner": "t_j5va_lockedBanner",
|
|
97
|
-
"section": "t_j5va_section",
|
|
98
|
-
"badgeOk": "t_j5va_badgeOk",
|
|
99
|
-
"genOptRow": "t_j5va_genOptRow",
|
|
91
|
+
"healthBar": "t_j5va_healthBar",
|
|
100
92
|
"pwStrong": "t_j5va_pwStrong",
|
|
101
93
|
"uriCode": "t_j5va_uriCode",
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"badgeDanger": "t_j5va_badgeDanger",
|
|
106
|
-
"moreWrap": "t_j5va_moreWrap",
|
|
107
|
-
"detailBox": "t_j5va_detailBox",
|
|
94
|
+
"list": "t_j5va_list",
|
|
95
|
+
"dueBadge": "t_j5va_dueBadge",
|
|
96
|
+
"toolbar": "t_j5va_toolbar",
|
|
108
97
|
"retryButton": "t_j5va_retryButton",
|
|
109
|
-
"
|
|
110
|
-
"
|
|
98
|
+
"tabActive": "t_j5va_tabActive",
|
|
99
|
+
"intro": "t_j5va_intro",
|
|
100
|
+
"bulkCount": "t_j5va_bulkCount",
|
|
101
|
+
"totp": "t_j5va_totp",
|
|
102
|
+
"actionPrimary": "t_j5va_actionPrimary",
|
|
103
|
+
"empty": "t_j5va_empty",
|
|
104
|
+
"modeAsk": "t_j5va_modeAsk",
|
|
111
105
|
"modeAuto": "t_j5va_modeAuto",
|
|
112
|
-
"
|
|
106
|
+
"emptyHint": "t_j5va_emptyHint",
|
|
107
|
+
"bulkBar": "t_j5va_bulkBar",
|
|
108
|
+
"trashButton": "t_j5va_trashButton",
|
|
109
|
+
"pinStar": "t_j5va_pinStar",
|
|
110
|
+
"clearButton": "t_j5va_clearButton",
|
|
111
|
+
"histDanger": "t_j5va_histDanger",
|
|
113
112
|
"backupButton": "t_j5va_backupButton",
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"secretField": "t_j5va_secretField",
|
|
113
|
+
"genOpts": "t_j5va_genOpts",
|
|
114
|
+
"pwWeak": "t_j5va_pwWeak",
|
|
117
115
|
"pwHistTime": "t_j5va_pwHistTime",
|
|
118
|
-
"empty": "t_j5va_empty",
|
|
119
116
|
"editorActions": "t_j5va_editorActions",
|
|
120
|
-
"
|
|
121
|
-
"
|
|
122
|
-
"
|
|
123
|
-
"
|
|
124
|
-
"
|
|
117
|
+
"row": "t_j5va_row",
|
|
118
|
+
"dupMerge": "t_j5va_dupMerge",
|
|
119
|
+
"kindIcon": "t_j5va_kindIcon",
|
|
120
|
+
"addButton": "t_j5va_addButton",
|
|
121
|
+
"resultCount": "t_j5va_resultCount",
|
|
122
|
+
"auditIssues": "t_j5va_auditIssues",
|
|
123
|
+
"dangerButton": "t_j5va_dangerButton",
|
|
124
|
+
"field": "t_j5va_field"
|
|
125
125
|
};
|
|
126
126
|
//#endregion
|
|
127
127
|
//#region src/client/VaultSection.tsx
|
|
@@ -309,6 +309,7 @@ window.__ModuleLoader__.load({
|
|
|
309
309
|
function VaultSection(props) {
|
|
310
310
|
const { t, config, setAccessMode, setAutoCapture, setAutoLock, list, search, get, add, update, remove, purge, trash, rotation, health, duplicates, duplicateGroups, merge, history, stats, backupStatus, backup, recent, restore, undeleteAll, totp, status, switchVault, listVaults, touch, setFavorite, attachments, detach, verifyAll, breachCheck, generatePassword, strength, generateUsername, templates, saveTemplate, lock, totpUri, tags, renameTag, generatorHistory, backups, deleteBackup, restoreBackup, importChrome, importFirefox, import1password, importManagerCsv, importEnpass, importBitwarden, import1pif, importKeePassXml, importKdbx, importBitwardenEncrypted, keychainImport, searchSystem, sessionOpen, sessionCollect, sessionClose, sessionListOpen, sessionListSaved, sessionSave, sessionExport, sessionGet, sessionPrune, passwordHistory, passwordRollback, vaultRename, vaultDelete, watchtower, export1pux, exportBitwarden, recoveryCode, verifyRecovery, recoveryStatus, unlock } = props;
|
|
311
311
|
const searchId = (0, react.useId)();
|
|
312
|
+
const searchRef = (0, react.useRef)(null);
|
|
312
313
|
const [query, setQuery] = (0, react.useState)("");
|
|
313
314
|
const [state, setState] = (0, react.useState)({ status: "loading" });
|
|
314
315
|
const [editor, setEditor] = (0, react.useState)({ status: "closed" });
|
|
@@ -519,6 +520,17 @@ window.__ModuleLoader__.load({
|
|
|
519
520
|
}, 250);
|
|
520
521
|
return () => window.clearTimeout(timer);
|
|
521
522
|
}, [form.password, strength]);
|
|
523
|
+
(0, react.useEffect)(() => {
|
|
524
|
+
const onKey = (event) => {
|
|
525
|
+
if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === "k") {
|
|
526
|
+
event.preventDefault();
|
|
527
|
+
setActiveTab("entries");
|
|
528
|
+
window.setTimeout(() => searchRef.current?.focus(), 50);
|
|
529
|
+
} else if (event.key === "Escape") setOpenMenuId(null);
|
|
530
|
+
};
|
|
531
|
+
window.addEventListener("keydown", onKey);
|
|
532
|
+
return () => window.removeEventListener("keydown", onKey);
|
|
533
|
+
}, []);
|
|
522
534
|
/** Apply a template's field values to the current form. The form is reset
|
|
523
535
|
* to its empty state first (so fields the template does not set are cleared
|
|
524
536
|
* rather than leaking the previous template's values), then the template's
|
|
@@ -1871,10 +1883,18 @@ window.__ModuleLoader__.load({
|
|
|
1871
1883
|
}),
|
|
1872
1884
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
1873
1885
|
id: searchId,
|
|
1886
|
+
ref: searchRef,
|
|
1874
1887
|
type: "search",
|
|
1875
1888
|
placeholder: t("searchPlaceholder"),
|
|
1876
1889
|
value: query,
|
|
1877
1890
|
onChange: (event) => setQuery(event.target.value),
|
|
1891
|
+
onKeyDown: (event) => {
|
|
1892
|
+
if (event.key === "Escape") {
|
|
1893
|
+
setQuery("");
|
|
1894
|
+
setKindFilter("");
|
|
1895
|
+
setTagFilter("");
|
|
1896
|
+
}
|
|
1897
|
+
},
|
|
1878
1898
|
disabled: locked
|
|
1879
1899
|
}),
|
|
1880
1900
|
query.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|