dsh-vault 1.8.1-rc.3 → 1.8.1

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
@@ -7,7 +7,7 @@ window.__ModuleLoader__.load({
7
7
  let react = require("react");
8
8
  let react_jsx_runtime = require("react/jsx-runtime");
9
9
  //#region \0dsh-css:/Users/zhipeng/Desktop/work/dsh test/dsh-vault/src/client/VaultSection.module.css.mjs
10
- const css = ".t_j5va_section{flex-direction:column;gap:12px;padding:16px 0;display:flex}.t_j5va_intro{opacity:.75;margin:0;font-size:13px}.t_j5va_srOnly{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.t_j5va_toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.t_j5va_searchBox{flex:150px;min-width:150px;display:flex}.t_j5va_searchBox input{border:1px solid var(--color-border,#444);color:inherit;background:0 0;border-radius:6px;flex:1;padding:6px 10px;font-size:13px}.t_j5va_addButton,.t_j5va_saveButton{background:var(--color-accent,#4f8cff);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:6px;padding:6px 12px;font-size:13px}.t_j5va_addButton:disabled,.t_j5va_saveButton:disabled,.t_j5va_rowActions button:disabled{opacity:.5;cursor:not-allowed}.t_j5va_list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.t_j5va_row{border:1px solid var(--color-border,#333);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.t_j5va_rowMain{flex-direction:column;gap:2px;min-width:0;display:flex}.t_j5va_title{font-size:14px;font-weight:600}.t_j5va_identity{opacity:.7;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.t_j5va_totp{font-family:var(--font-mono,monospace);color:var(--color-accent,#4f8cff);font-size:13px}.t_j5va_totpRing{vertical-align:-2px;margin-right:4px;display:inline-block}.t_j5va_rowActions{flex-shrink:0;align-items:center;gap:6px;display:flex}.t_j5va_rowActions button{border:1px solid var(--color-border,#444);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:4px 8px;font-size:12px}.t_j5va_deleteButton{color:#e5484d}.t_j5va_copied{color:#30a46c;font-size:12px}.t_j5va_empty,.t_j5va_status,.t_j5va_error{opacity:.8;font-size:13px}.t_j5va_lockedBanner{color:#8a5a00;background:#fff4e5;border:1px solid #e0a83a;border-radius:6px;margin:0 0 10px;padding:8px 12px;font-size:13px}.t_j5va_modeReadonly,.t_j5va_modeAsk,.t_j5va_modeAuto{border-radius:999px;width:fit-content;margin:0;padding:4px 10px;font-size:12px;display:inline-block}.t_j5va_modeReadonly{color:#e5484d;border:1px solid #e5484d80}.t_j5va_modeAsk{color:#f5a524;border:1px solid #f5a52480}.t_j5va_modeAuto{color:#30a46c;border:1px solid #30a46c80}.t_j5va_policyBar{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.t_j5va_policyField{align-items:center;gap:8px;font-size:13px;display:flex}.t_j5va_policyField select{border:1px solid var(--color-border,#444);color:inherit;background:0 0;border-radius:6px;padding:4px 8px;font-size:13px}.t_j5va_emptyBox{flex-direction:column;gap:4px;display:flex}.t_j5va_emptyHint{opacity:.65;margin:0;font-size:12px}.t_j5va_error{color:#e5484d}.t_j5va_editor{border:1px solid var(--color-border,#444);border-radius:8px;padding:12px}.t_j5va_editorBody{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 12px;display:grid}.t_j5va_checkField{align-items:center;gap:8px;font-size:13px;display:inline-flex}.t_j5va_field{flex-direction:column;gap:4px;font-size:12px;display:flex}.t_j5va_field input,.t_j5va_field select{border:1px solid var(--color-border,#444);color:inherit;background:0 0;border-radius:6px;padding:5px 8px;font-size:13px}.t_j5va_editorActions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.t_j5va_editorActions button{border:1px solid var(--color-border,#444);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:13px}.t_j5va_reportBox{border:1px solid #f5a52466;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:12px;display:flex}.t_j5va_reportTitle{margin:0;font-weight:600}.t_j5va_reportLine{opacity:.8;margin:0}.t_j5va_reportSub{color:var(--dsh-color-text-2,#666);margin:2px 0 0 10px;font-size:12px}.t_j5va_trashButton{border:1px solid var(--color-border,#444);color:inherit;cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:4px 8px;font-size:12px}.t_j5va_secretField{gap:4px;display:flex}.t_j5va_secretField input{flex:1;min-width:0}.t_j5va_revealButton{border:1px solid var(--color-border,#444);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:0 8px;font-size:12px}.t_j5va_kindFilter{border:1px solid var(--color-border,#444);color:inherit;background:0 0;border-radius:6px;padding:6px 8px;font-size:13px}.t_j5va_highBadge{color:#e5484d;vertical-align:middle;background:#e5484d26;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600}.t_j5va_pinStar{color:#f5a524;margin-right:4px}.t_j5va_clearButton{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 8px;font-size:16px}.t_j5va_field textarea{border:1px solid var(--color-border,#444);color:inherit;resize:vertical;background:0 0;border-radius:6px;padding:5px 8px;font-family:inherit;font-size:13px}.t_j5va_row{transition:background .12s}.t_j5va_row:hover{background:var(--color-hover,#80808014)}.t_j5va_healthBar{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.t_j5va_badge{border:1px solid var(--dsh-color-border,#ddd);background:var(--dsh-color-surface-2,#f7f7f8);color:var(--dsh-color-text-2,#555);border-radius:999px;padding:4px 10px;font-size:12px;line-height:1}.t_j5va_backupButton{border:1px solid var(--dsh-color-border,#ccc);background:var(--dsh-color-surface-2,#f7f7f8);cursor:pointer;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:12px;line-height:1}.t_j5va_badgeOk{color:#2e9e5b;border-color:#2e9e5b}.t_j5va_badgeWarn{color:#b57f1a;border-color:#c98a1b}.t_j5va_rowDue{border-left:3px solid #c98a1b}.t_j5va_rowExpired{border-left:3px solid #cf3d3d}.t_j5va_dueBadge{border-radius:999px;margin-left:6px;padding:3px 8px;font-size:11px;font-weight:600;line-height:1}.t_j5va_badgeDanger{color:#c03a3a;border-color:#cf3d3d}.t_j5va_footer{opacity:.6;margin:0;font-size:12px}.t_j5va_kindIcon{margin-right:4px;font-size:12px}.t_j5va_dangerButton{color:#e5484d;cursor:pointer;background:0 0;border:1px solid #e5484d80;border-radius:6px;align-self:flex-start;padding:4px 8px;font-size:12px}.t_j5va_rowMain{cursor:pointer}.t_j5va_detailBox{background:var(--color-hover,#8080800f);border-radius:6px;flex-wrap:wrap;grid-column:1/-1;gap:4px 12px;padding:6px 8px;font-size:12px;display:flex}.t_j5va_detailItem{opacity:.85}.t_j5va_sortButton{border:1px solid var(--color-border,#444);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:6px 10px;font-size:13px}.t_j5va_dupGroup{justify-content:space-between;align-items:center;gap:8px;margin:4px 0;display:flex}.t_j5va_dupNames{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.t_j5va_dupMerge{border:1px solid var(--dsh-color-border,#ccc);cursor:pointer;border-radius:6px;flex-shrink:0;padding:2px 8px;font-size:12px}.t_j5va_auditRow{align-items:center;gap:8px;margin:4px 0;display:flex}.t_j5va_auditIssues{color:var(--dsh-color-text-2,#666);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.t_j5va_retryButton{border:1px solid var(--dsh-color-border,#ccc);cursor:pointer;border-radius:6px;margin-left:6px;padding:2px 8px;font-size:12px}.t_j5va_scoreRing{vertical-align:-2px;margin-right:4px;display:inline-block}.t_j5va_genOpts{border:1px solid var(--dsh-color-border,#ddd);border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.t_j5va_genOptRow{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.t_j5va_genOptRow input[type=number]{width:64px}.t_j5va_pwMeter{align-items:center;gap:8px;font-size:12px;display:flex}.t_j5va_pwBar{border-radius:999px;height:6px;transition:width .2s}.t_j5va_pwWeak{background:#cf3d3d}.t_j5va_pwFair{background:#c98a1b}.t_j5va_pwStrong{background:#2e9e5b}.t_j5va_pwLabel{color:var(--dsh-color-text-2,#666)}.t_j5va_resultCount{color:var(--dsh-color-text-2,#666);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px;font-size:12px;display:flex}.t_j5va_kindChip{border:1px solid var(--dsh-color-border,#ddd);border-radius:999px;padding:2px 8px;font-size:11px}.t_j5va_uriCode{overflow-wrap:anywhere;opacity:.85;font-size:10px}.t_j5va_genHist{flex-wrap:wrap;gap:4px;font-size:12px;display:flex}.t_j5va_genHist span{align-self:center}.t_j5va_lockedTag{color:#c98a1b;font-size:12px;font-weight:600}.t_j5va_tabs{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.t_j5va_tab{border:1px solid var(--dsh-color-border,#ccc);color:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:5px 14px;font-size:13px}.t_j5va_tabActive{background:var(--dsh-color-primary,#4a6cf7);color:#fff;border-color:#0000}.t_j5va_tabPane{margin-top:2px}";
10
+ const css = ".t_j5va_section{flex-direction:column;gap:12px;padding:16px 0;display:flex}.t_j5va_intro{opacity:.75;margin:0;font-size:13px}.t_j5va_srOnly{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.t_j5va_toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.t_j5va_searchBox{flex:150px;min-width:150px;display:flex}.t_j5va_searchBox input{border:1px solid var(--color-border,#444);color:inherit;background:0 0;border-radius:6px;flex:1;padding:6px 10px;font-size:13px}.t_j5va_addButton,.t_j5va_saveButton{background:var(--color-accent,#4f8cff);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:6px;padding:6px 12px;font-size:13px}.t_j5va_addButton:disabled,.t_j5va_saveButton:disabled,.t_j5va_rowActions button:disabled{opacity:.5;cursor:not-allowed}.t_j5va_list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.t_j5va_row{border:1px solid var(--color-border,#333);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.t_j5va_rowMain{flex-direction:column;gap:2px;min-width:0;display:flex}.t_j5va_title{font-size:14px;font-weight:600}.t_j5va_identity{opacity:.7;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.t_j5va_totp{font-family:var(--font-mono,monospace);color:var(--color-accent,#4f8cff);font-size:13px}.t_j5va_totpRing{vertical-align:-2px;margin-right:4px;display:inline-block}.t_j5va_rowActions{flex-shrink:0;align-items:center;gap:6px;display:flex}.t_j5va_rowActions button{border:1px solid var(--color-border,#444);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:4px 8px;font-size:12px}.t_j5va_deleteButton{color:#e5484d}.t_j5va_copied{color:#30a46c;font-size:12px}.t_j5va_empty,.t_j5va_status,.t_j5va_error{opacity:.8;font-size:13px}.t_j5va_lockedBanner{color:#8a5a00;background:#fff4e5;border:1px solid #e0a83a;border-radius:6px;margin:0 0 10px;padding:8px 12px;font-size:13px}.t_j5va_modeReadonly,.t_j5va_modeAsk,.t_j5va_modeAuto{border-radius:999px;width:fit-content;margin:0;padding:4px 10px;font-size:12px;display:inline-block}.t_j5va_modeReadonly{color:#e5484d;border:1px solid #e5484d80}.t_j5va_modeAsk{color:#f5a524;border:1px solid #f5a52480}.t_j5va_modeAuto{color:#30a46c;border:1px solid #30a46c80}.t_j5va_policyBar{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.t_j5va_policyField{align-items:center;gap:8px;font-size:13px;display:flex}.t_j5va_policyField select{border:1px solid var(--color-border,#444);color:inherit;background:0 0;border-radius:6px;padding:4px 8px;font-size:13px}.t_j5va_emptyBox{flex-direction:column;gap:4px;display:flex}.t_j5va_emptyHint{opacity:.65;margin:0;font-size:12px}.t_j5va_error{color:#e5484d}.t_j5va_editor{border:1px solid var(--color-border,#444);border-radius:8px;padding:12px}.t_j5va_editorBody{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 12px;display:grid}.t_j5va_checkField{align-items:center;gap:8px;font-size:13px;display:inline-flex}.t_j5va_field{flex-direction:column;gap:4px;font-size:12px;display:flex}.t_j5va_field input,.t_j5va_field select{border:1px solid var(--color-border,#444);color:inherit;background:0 0;border-radius:6px;padding:5px 8px;font-size:13px}.t_j5va_editorActions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.t_j5va_editorActions button{border:1px solid var(--color-border,#444);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:13px}.t_j5va_reportBox{border:1px solid #f5a52466;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:12px;display:flex}.t_j5va_reportTitle{margin:0;font-weight:600}.t_j5va_reportLine{opacity:.8;margin:0}.t_j5va_reportSub{color:var(--dsh-color-text-2,#666);margin:2px 0 0 10px;font-size:12px}.t_j5va_trashButton{border:1px solid var(--color-border,#444);color:inherit;cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:4px 8px;font-size:12px}.t_j5va_secretField{gap:4px;display:flex}.t_j5va_secretField input{flex:1;min-width:0}.t_j5va_revealButton{border:1px solid var(--color-border,#444);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:0 8px;font-size:12px}.t_j5va_kindFilter{border:1px solid var(--color-border,#444);color:inherit;background:0 0;border-radius:6px;padding:6px 8px;font-size:13px}.t_j5va_highBadge{color:#e5484d;vertical-align:middle;background:#e5484d26;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600}.t_j5va_pinStar{color:#f5a524;cursor:pointer;background:0 0;border:none;margin-right:4px;padding:0 2px;font-size:13px;line-height:1}.t_j5va_pinOff{color:#80808073}.t_j5va_pinOn{color:#f5a524}.t_j5va_clearButton{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 8px;font-size:16px}.t_j5va_field textarea{border:1px solid var(--color-border,#444);color:inherit;resize:vertical;background:0 0;border-radius:6px;padding:5px 8px;font-family:inherit;font-size:13px}.t_j5va_row{transition:background .12s}.t_j5va_row:hover{background:var(--color-hover,#80808014)}.t_j5va_healthBar{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.t_j5va_badge{border:1px solid var(--dsh-color-border,#ddd);background:var(--dsh-color-surface-2,#f7f7f8);color:var(--dsh-color-text-2,#555);border-radius:999px;padding:4px 10px;font-size:12px;line-height:1}.t_j5va_backupButton{border:1px solid var(--dsh-color-border,#ccc);background:var(--dsh-color-surface-2,#f7f7f8);cursor:pointer;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:12px;line-height:1}.t_j5va_badgeOk{color:#2e9e5b;border-color:#2e9e5b}.t_j5va_badgeWarn{color:#b57f1a;border-color:#c98a1b}.t_j5va_rowDue{border-left:3px solid #c98a1b}.t_j5va_rowExpired{border-left:3px solid #cf3d3d}.t_j5va_dueBadge{border-radius:999px;margin-left:6px;padding:3px 8px;font-size:11px;font-weight:600;line-height:1}.t_j5va_badgeDanger{color:#c03a3a;border-color:#cf3d3d}.t_j5va_footer{opacity:.6;margin:0;font-size:12px}.t_j5va_kindIcon{margin-right:4px;font-size:12px}.t_j5va_dangerButton{color:#e5484d;cursor:pointer;background:0 0;border:1px solid #e5484d80;border-radius:6px;align-self:flex-start;padding:4px 8px;font-size:12px}.t_j5va_rowMain{cursor:pointer}.t_j5va_detailBox{background:var(--color-hover,#8080800f);border-radius:6px;flex-wrap:wrap;grid-column:1/-1;gap:4px 12px;padding:6px 8px;font-size:12px;display:flex}.t_j5va_detailItem{opacity:.85}.t_j5va_sortButton{border:1px solid var(--color-border,#444);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:6px 10px;font-size:13px}.t_j5va_dupGroup{justify-content:space-between;align-items:center;gap:8px;margin:4px 0;display:flex}.t_j5va_dupNames{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.t_j5va_dupMerge{border:1px solid var(--dsh-color-border,#ccc);cursor:pointer;border-radius:6px;flex-shrink:0;padding:2px 8px;font-size:12px}.t_j5va_auditRow{align-items:center;gap:8px;margin:4px 0;display:flex}.t_j5va_auditIssues{color:var(--dsh-color-text-2,#666);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.t_j5va_retryButton{border:1px solid var(--dsh-color-border,#ccc);cursor:pointer;border-radius:6px;margin-left:6px;padding:2px 8px;font-size:12px}.t_j5va_scoreRing{vertical-align:-2px;margin-right:4px;display:inline-block}.t_j5va_genOpts{border:1px solid var(--dsh-color-border,#ddd);border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.t_j5va_genOptRow{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.t_j5va_genOptRow input[type=number]{width:64px}.t_j5va_pwMeter{align-items:center;gap:8px;font-size:12px;display:flex}.t_j5va_pwBar{border-radius:999px;height:6px;transition:width .2s}.t_j5va_pwWeak{background:#cf3d3d}.t_j5va_pwFair{background:#c98a1b}.t_j5va_pwStrong{background:#2e9e5b}.t_j5va_pwLabel{color:var(--dsh-color-text-2,#666)}.t_j5va_resultCount{color:var(--dsh-color-text-2,#666);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px;font-size:12px;display:flex}.t_j5va_kindChip{border:1px solid var(--dsh-color-border,#ddd);border-radius:999px;padding:2px 8px;font-size:11px}.t_j5va_uriCode{overflow-wrap:anywhere;opacity:.85;font-size:10px}.t_j5va_genHist{flex-wrap:wrap;gap:4px;font-size:12px;display:flex}.t_j5va_genHist span{align-self:center}.t_j5va_lockedTag{color:#c98a1b;font-size:12px;font-weight:600}.t_j5va_tabs{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.t_j5va_tab{border:1px solid var(--dsh-color-border,#ccc);color:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:5px 14px;font-size:13px}.t_j5va_tabActive{background:var(--dsh-color-primary,#4a6cf7);color:#fff;border-color:#0000}.t_j5va_tabPane{margin-top:2px}";
11
11
  const tagId = "dsh-vault/VaultSection.module.css";
12
12
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
13
13
  const tag = document.createElement("style");
@@ -17,89 +17,91 @@ window.__ModuleLoader__.load({
17
17
  document.head.appendChild(tag);
18
18
  }
19
19
  var VaultSection_module_css_default = {
20
- "genHist": "t_j5va_genHist",
21
- "tabActive": "t_j5va_tabActive",
22
- "lockedBanner": "t_j5va_lockedBanner",
23
- "tabs": "t_j5va_tabs",
24
- "modeReadonly": "t_j5va_modeReadonly",
25
- "list": "t_j5va_list",
26
- "modeAsk": "t_j5va_modeAsk",
27
- "emptyBox": "t_j5va_emptyBox",
28
- "trashButton": "t_j5va_trashButton",
29
- "backupButton": "t_j5va_backupButton",
30
- "rowActions": "t_j5va_rowActions",
31
- "revealButton": "t_j5va_revealButton",
32
- "saveButton": "t_j5va_saveButton",
33
- "editor": "t_j5va_editor",
34
- "toolbar": "t_j5va_toolbar",
20
+ "dupMerge": "t_j5va_dupMerge",
21
+ "auditIssues": "t_j5va_auditIssues",
22
+ "resultCount": "t_j5va_resultCount",
35
23
  "identity": "t_j5va_identity",
36
- "error": "t_j5va_error",
37
- "policyBar": "t_j5va_policyBar",
38
24
  "uriCode": "t_j5va_uriCode",
39
- "kindFilter": "t_j5va_kindFilter",
40
- "reportTitle": "t_j5va_reportTitle",
41
- "policyField": "t_j5va_policyField",
42
25
  "rowDue": "t_j5va_rowDue",
43
- "rowExpired": "t_j5va_rowExpired",
44
- "footer": "t_j5va_footer",
45
- "badge": "t_j5va_badge",
46
- "auditRow": "t_j5va_auditRow",
47
- "retryButton": "t_j5va_retryButton",
26
+ "list": "t_j5va_list",
48
27
  "dangerButton": "t_j5va_dangerButton",
49
- "pwStrong": "t_j5va_pwStrong",
50
- "pwLabel": "t_j5va_pwLabel",
51
- "pwFair": "t_j5va_pwFair",
52
- "kindChip": "t_j5va_kindChip",
28
+ "reportBox": "t_j5va_reportBox",
29
+ "editorActions": "t_j5va_editorActions",
53
30
  "tabPane": "t_j5va_tabPane",
31
+ "badgeDanger": "t_j5va_badgeDanger",
32
+ "toolbar": "t_j5va_toolbar",
33
+ "badgeWarn": "t_j5va_badgeWarn",
34
+ "detailItem": "t_j5va_detailItem",
35
+ "footer": "t_j5va_footer",
36
+ "section": "t_j5va_section",
37
+ "totpRing": "t_j5va_totpRing",
38
+ "saveButton": "t_j5va_saveButton",
39
+ "pinOff": "t_j5va_pinOff",
40
+ "deleteButton": "t_j5va_deleteButton",
41
+ "modeAuto": "t_j5va_modeAuto",
42
+ "empty": "t_j5va_empty",
43
+ "reportLine": "t_j5va_reportLine",
44
+ "searchBox": "t_j5va_searchBox",
45
+ "modeReadonly": "t_j5va_modeReadonly",
46
+ "reportTitle": "t_j5va_reportTitle",
47
+ "status": "t_j5va_status",
54
48
  "dueBadge": "t_j5va_dueBadge",
49
+ "policyField": "t_j5va_policyField",
55
50
  "field": "t_j5va_field",
51
+ "revealButton": "t_j5va_revealButton",
52
+ "totp": "t_j5va_totp",
53
+ "backupButton": "t_j5va_backupButton",
54
+ "pinStar": "t_j5va_pinStar",
55
+ "auditRow": "t_j5va_auditRow",
56
+ "healthBar": "t_j5va_healthBar",
57
+ "checkField": "t_j5va_checkField",
58
+ "pwFair": "t_j5va_pwFair",
59
+ "kindChip": "t_j5va_kindChip",
56
60
  "copied": "t_j5va_copied",
61
+ "genHist": "t_j5va_genHist",
62
+ "tabs": "t_j5va_tabs",
63
+ "genOptRow": "t_j5va_genOptRow",
64
+ "pwMeter": "t_j5va_pwMeter",
57
65
  "row": "t_j5va_row",
66
+ "tab": "t_j5va_tab",
67
+ "highBadge": "t_j5va_highBadge",
68
+ "srOnly": "t_j5va_srOnly",
69
+ "lockedBanner": "t_j5va_lockedBanner",
70
+ "policyBar": "t_j5va_policyBar",
71
+ "reportSub": "t_j5va_reportSub",
58
72
  "genOpts": "t_j5va_genOpts",
59
- "resultCount": "t_j5va_resultCount",
60
- "sortButton": "t_j5va_sortButton",
61
- "dupGroup": "t_j5va_dupGroup",
62
- "pwBar": "t_j5va_pwBar",
63
- "rowMain": "t_j5va_rowMain",
64
- "section": "t_j5va_section",
65
- "modeAuto": "t_j5va_modeAuto",
73
+ "pwWeak": "t_j5va_pwWeak",
74
+ "editorBody": "t_j5va_editorBody",
75
+ "scoreRing": "t_j5va_scoreRing",
66
76
  "addButton": "t_j5va_addButton",
67
- "totp": "t_j5va_totp",
68
- "reportLine": "t_j5va_reportLine",
77
+ "lockedTag": "t_j5va_lockedTag",
78
+ "tabActive": "t_j5va_tabActive",
79
+ "sortButton": "t_j5va_sortButton",
80
+ "emptyHint": "t_j5va_emptyHint",
81
+ "title": "t_j5va_title",
82
+ "modeAsk": "t_j5va_modeAsk",
83
+ "rowActions": "t_j5va_rowActions",
84
+ "editor": "t_j5va_editor",
85
+ "trashButton": "t_j5va_trashButton",
69
86
  "secretField": "t_j5va_secretField",
70
- "badgeOk": "t_j5va_badgeOk",
71
- "badgeWarn": "t_j5va_badgeWarn",
87
+ "pinOn": "t_j5va_pinOn",
72
88
  "detailBox": "t_j5va_detailBox",
73
- "emptyHint": "t_j5va_emptyHint",
74
- "detailItem": "t_j5va_detailItem",
89
+ "error": "t_j5va_error",
75
90
  "dupNames": "t_j5va_dupNames",
76
- "auditIssues": "t_j5va_auditIssues",
77
- "scoreRing": "t_j5va_scoreRing",
78
- "empty": "t_j5va_empty",
79
- "status": "t_j5va_status",
80
- "editorBody": "t_j5va_editorBody",
91
+ "rowMain": "t_j5va_rowMain",
92
+ "pwBar": "t_j5va_pwBar",
93
+ "dupGroup": "t_j5va_dupGroup",
94
+ "pwLabel": "t_j5va_pwLabel",
95
+ "badge": "t_j5va_badge",
96
+ "pwStrong": "t_j5va_pwStrong",
97
+ "emptyBox": "t_j5va_emptyBox",
98
+ "badgeOk": "t_j5va_badgeOk",
81
99
  "clearButton": "t_j5va_clearButton",
82
- "searchBox": "t_j5va_searchBox",
83
- "badgeDanger": "t_j5va_badgeDanger",
84
- "deleteButton": "t_j5va_deleteButton",
85
- "editorActions": "t_j5va_editorActions",
86
100
  "intro": "t_j5va_intro",
87
- "highBadge": "t_j5va_highBadge",
101
+ "rowExpired": "t_j5va_rowExpired",
102
+ "kindFilter": "t_j5va_kindFilter",
88
103
  "kindIcon": "t_j5va_kindIcon",
89
- "checkField": "t_j5va_checkField",
90
- "title": "t_j5va_title",
91
- "srOnly": "t_j5va_srOnly",
92
- "reportSub": "t_j5va_reportSub",
93
- "tab": "t_j5va_tab",
94
- "totpRing": "t_j5va_totpRing",
95
- "pwWeak": "t_j5va_pwWeak",
96
- "genOptRow": "t_j5va_genOptRow",
97
- "dupMerge": "t_j5va_dupMerge",
98
- "pinStar": "t_j5va_pinStar",
99
- "reportBox": "t_j5va_reportBox",
100
- "healthBar": "t_j5va_healthBar",
101
- "pwMeter": "t_j5va_pwMeter",
102
- "lockedTag": "t_j5va_lockedTag"
104
+ "retryButton": "t_j5va_retryButton"
103
105
  };
104
106
  //#endregion
105
107
  //#region src/client/VaultSection.tsx
@@ -284,7 +286,7 @@ window.__ModuleLoader__.load({
284
286
  }
285
287
  /** Render the Vault settings section. */
286
288
  function VaultSection(props) {
287
- 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, 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, vaultRename, vaultDelete, watchtower, export1pux, exportBitwarden, recoveryCode, verifyRecovery, recoveryStatus, unlock } = props;
289
+ 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, 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, vaultRename, vaultDelete, watchtower, export1pux, exportBitwarden, recoveryCode, verifyRecovery, recoveryStatus, unlock } = props;
288
290
  const searchId = (0, react.useId)();
289
291
  const [query, setQuery] = (0, react.useState)("");
290
292
  const [state, setState] = (0, react.useState)({ status: "loading" });
@@ -2827,9 +2829,16 @@ window.__ModuleLoader__.load({
2827
2829
  className: VaultSection_module_css_default.kindIcon,
2828
2830
  children: entry.icon ?? kindIcon(entry.kind)
2829
2831
  }),
2830
- entry.favorite && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
2831
- className: VaultSection_module_css_default.pinStar,
2832
- title: t("pinned"),
2832
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
2833
+ type: "button",
2834
+ className: `${VaultSection_module_css_default.pinStar} ${entry.favorite ? VaultSection_module_css_default.pinOn : VaultSection_module_css_default.pinOff}`,
2835
+ title: t("togglePinHint"),
2836
+ disabled: busy || locked,
2837
+ onClick: (event) => {
2838
+ event.stopPropagation();
2839
+ const next = !entry.favorite;
2840
+ setFavorite(entry.id, next).then(() => void refresh());
2841
+ },
2833
2842
  children: "★"
2834
2843
  }),
2835
2844
  entry.title,
@@ -3779,6 +3788,7 @@ window.__ModuleLoader__.load({
3779
3788
  sortRecent: "Sort: recent",
3780
3789
  highSensitivity: "HIGH",
3781
3790
  pinned: "Pinned",
3791
+ togglePinHint: "Toggle pinned (shows at top in pinned/smart sort)",
3782
3792
  add: "Add credential",
3783
3793
  quickAdd: "Quick add",
3784
3794
  cancel: "Cancel",
@@ -4097,6 +4107,7 @@ window.__ModuleLoader__.load({
4097
4107
  sortRecent: "排序:最近",
4098
4108
  highSensitivity: "高敏",
4099
4109
  pinned: "已置顶",
4110
+ togglePinHint: "切换置顶(置顶/智能排序时显示在最前)",
4100
4111
  add: "新增凭据",
4101
4112
  quickAdd: "快速添加",
4102
4113
  cancel: "取消",
@@ -4230,6 +4241,10 @@ window.__ModuleLoader__.load({
4230
4241
  switchVault: (name) => invoke("switchVault", { name }),
4231
4242
  listVaults: () => invoke("listVaults"),
4232
4243
  touch: (id) => invoke("touch", { id }),
4244
+ setFavorite: (id, favorite) => invoke("setFavorite", {
4245
+ id,
4246
+ favorite
4247
+ }),
4233
4248
  lock: () => invoke("lock"),
4234
4249
  unlock: () => invoke("unlock"),
4235
4250
  totpUri: (id) => invoke("totpUri", { id }),