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 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
- "histDanger": "t_j5va_histDanger",
31
- "pinOff": "t_j5va_pinOff",
32
- "pwHistPwd": "t_j5va_pwHistPwd",
33
- "identity": "t_j5va_identity",
34
- "bulkCount": "t_j5va_bulkCount",
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
- "rowActions": "t_j5va_rowActions",
35
+ "status": "t_j5va_status",
37
36
  "reportBox": "t_j5va_reportBox",
38
- "revealButton": "t_j5va_revealButton",
39
- "clearButton": "t_j5va_clearButton",
40
- "modeAsk": "t_j5va_modeAsk",
41
- "list": "t_j5va_list",
42
- "reportLine": "t_j5va_reportLine",
43
- "bulkBar": "t_j5va_bulkBar",
44
- "reportTitle": "t_j5va_reportTitle",
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
- "genHist": "t_j5va_genHist",
47
- "lockedTag": "t_j5va_lockedTag",
48
- "status": "t_j5va_status",
50
+ "policyBar": "t_j5va_policyBar",
51
+ "tabs": "t_j5va_tabs",
52
+ "genOptRow": "t_j5va_genOptRow",
49
53
  "pinOn": "t_j5va_pinOn",
50
- "error": "t_j5va_error",
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
- "dueBadge": "t_j5va_dueBadge",
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
- "pwLabel": "t_j5va_pwLabel",
56
- "histUpdate": "t_j5va_histUpdate",
57
- "dupMerge": "t_j5va_dupMerge",
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
- "tabActive": "t_j5va_tabActive",
62
- "selectActive": "t_j5va_selectActive",
63
- "pwHistBox": "t_j5va_pwHistBox",
64
- "kindChip": "t_j5va_kindChip",
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
- "rowExpired": "t_j5va_rowExpired",
71
- "row": "t_j5va_row",
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
- "dangerButton": "t_j5va_dangerButton",
89
- "deleteButton": "t_j5va_deleteButton",
88
+ "detailBox": "t_j5va_detailBox",
89
+ "histLink": "t_j5va_histLink",
90
90
  "bulkItem": "t_j5va_bulkItem",
91
- "pwHistRow": "t_j5va_pwHistRow",
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
- "addButton": "t_j5va_addButton",
103
- "policyField": "t_j5va_policyField",
104
- "histAdd": "t_j5va_histAdd",
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
- "resultCount": "t_j5va_resultCount",
110
- "sortButton": "t_j5va_sortButton",
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
- "histNeutral": "t_j5va_histNeutral",
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
- "scoreRing": "t_j5va_scoreRing",
115
- "pwBar": "t_j5va_pwBar",
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
- "emptyBox": "t_j5va_emptyBox",
121
- "kindFilter": "t_j5va_kindFilter",
122
- "rowDue": "t_j5va_rowDue",
123
- "moreButton": "t_j5va_moreButton",
124
- "kindIcon": "t_j5va_kindIcon"
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", {