@ai-matrx/vault 0.1.3 → 0.1.5
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/CHANGELOG.md +21 -2
- package/dist/index.cjs +99 -66
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +365 -332
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.5
|
|
4
|
+
### Unreleased
|
|
5
|
+
|
|
6
|
+
- The side panel's page row shows the open site's own icon instead of a generic globe (globe only when the page has none). Consumer action: none.
|
|
7
|
+
|
|
8
|
+
## 0.1.4 — 2026-10-17
|
|
9
|
+
|
|
10
|
+
- Rows size by their own pane, never the window: the same item pane is a phone, a side panel or a
|
|
11
|
+
window's third column, and at a 1024px window its boxes overran their columns.
|
|
12
|
+
- Three panes only from 1120px wide (was 960); below that the list and item share the room.
|
|
13
|
+
- A side panel opened on "This page" shows the opened item or new login — it showed a blank panel.
|
|
14
|
+
- A login saved with its website is offered on that website (fill in browser on).
|
|
15
|
+
- `localhost`, IP and router addresses are websites when pasted into New item.
|
|
16
|
+
- Every vault icon carries its measured ink, so icon + label buttons sit centred.
|
|
17
|
+
|
|
18
|
+
### Consumer action
|
|
19
|
+
|
|
20
|
+
- None; update to latest.
|
|
21
|
+
|
|
3
22
|
## 0.1.3
|
|
4
23
|
|
|
5
|
-
|
|
6
|
-
|
|
24
|
+
Automatic changed-only republish (docs/metadata drift since the last published version; verified: `git diff a58de4849b 74c16f7e03 -- apps/shared/vault/src`
|
|
25
|
+
has no shipped-source changes outside tests, fixtures and docs). No consumer action required.
|
|
7
26
|
|
|
8
27
|
## 0.1.2 — 2026-10-16
|
|
9
28
|
|
package/dist/index.cjs
CHANGED
|
@@ -200,89 +200,90 @@ var import_controls = require("@ai-matrx/design-system/controls");
|
|
|
200
200
|
|
|
201
201
|
// src/glyphs.tsx
|
|
202
202
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
203
|
-
function glyph(paths) {
|
|
203
|
+
function glyph(paths, air = [1, 1]) {
|
|
204
|
+
const style = { "--matrx-glyph-air-l": air[0], "--matrx-glyph-air-r": air[1] };
|
|
204
205
|
return function VaultGlyph({ className }) {
|
|
205
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("svg", { className, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true, children: paths });
|
|
206
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("svg", { className, style, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true, children: paths });
|
|
206
207
|
};
|
|
207
208
|
}
|
|
208
209
|
var KeyGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
209
210
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "7.5", cy: "15.5", r: "5.5" }),
|
|
210
211
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m21 2-9.6 9.6M15.5 7.5l3 3" })
|
|
211
|
-
] }));
|
|
212
|
+
] }), [1, 2]);
|
|
212
213
|
var GlobeGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
213
214
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "10" }),
|
|
214
215
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" })
|
|
215
|
-
] }));
|
|
216
|
+
] }), [1, 1]);
|
|
216
217
|
var NoteGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
217
218
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" }),
|
|
218
219
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8" })
|
|
219
|
-
] }));
|
|
220
|
+
] }), [3, 3]);
|
|
220
221
|
var CardGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
221
222
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "2", y: "5", width: "20", height: "14", rx: "2" }),
|
|
222
223
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M2 10h20" })
|
|
223
|
-
] }));
|
|
224
|
+
] }), [1, 1]);
|
|
224
225
|
var PersonGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
225
226
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "8", r: "5" }),
|
|
226
227
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M20 21a8 8 0 0 0-16 0" })
|
|
227
|
-
] }));
|
|
228
|
+
] }), [3, 3]);
|
|
228
229
|
var DatabaseGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
229
230
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3" }),
|
|
230
231
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 5v14a9 3 0 0 0 18 0V5M3 12a9 3 0 0 0 18 0" })
|
|
231
|
-
] }));
|
|
232
|
+
] }), [2, 2]);
|
|
232
233
|
var ServerGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
233
234
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "2", y: "2", width: "20", height: "8", rx: "2" }),
|
|
234
235
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "2", y: "14", width: "20", height: "8", rx: "2" }),
|
|
235
236
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M6 6h.01M6 18h.01" })
|
|
236
|
-
] }));
|
|
237
|
-
var TerminalGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m4 17 6-6-6-6M12 19h8" }) }));
|
|
237
|
+
] }), [1, 1]);
|
|
238
|
+
var TerminalGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m4 17 6-6-6-6M12 19h8" }) }), [3, 3]);
|
|
238
239
|
var FileGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
239
240
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" }),
|
|
240
241
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14 2v4a2 2 0 0 0 2 2h4" })
|
|
241
|
-
] }));
|
|
242
|
-
var CodeGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m16 18 6-6-6-6M8 6l-6 6 6 6" }) }));
|
|
243
|
-
var StarGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z" }));
|
|
244
|
-
var PlusGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 5v14M5 12h14" }));
|
|
242
|
+
] }), [3, 3]);
|
|
243
|
+
var CodeGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m16 18 6-6-6-6M8 6l-6 6 6 6" }) }), [1, 1]);
|
|
244
|
+
var StarGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z" }), [1, 1]);
|
|
245
|
+
var PlusGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 5v14M5 12h14" }), [4, 4]);
|
|
245
246
|
var CopyGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
246
247
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "9", y: "9", width: "13", height: "13", rx: "2" }),
|
|
247
248
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })
|
|
248
|
-
] }));
|
|
249
|
+
] }), [1, 1]);
|
|
249
250
|
var EyeGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
250
251
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7-10-7-10-7z" }),
|
|
251
252
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "3" })
|
|
252
|
-
] }));
|
|
253
|
-
var EyeOffGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M10.7 5.1A10.4 10.4 0 0 1 12 5c6.4 0 10 7 10 7a17 17 0 0 1-2.2 3.2M6.6 6.6A17 17 0 0 0 2 12s3.6 7 10 7a9.7 9.7 0 0 0 5.4-1.6M2 2l20 20" }) }));
|
|
253
|
+
] }), [1, 1]);
|
|
254
|
+
var EyeOffGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M10.7 5.1A10.4 10.4 0 0 1 12 5c6.4 0 10 7 10 7a17 17 0 0 1-2.2 3.2M6.6 6.6A17 17 0 0 0 2 12s3.6 7 10 7a9.7 9.7 0 0 0 5.4-1.6M2 2l20 20" }) }), [1, 1]);
|
|
254
255
|
var LockGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
255
256
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2" }),
|
|
256
257
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 11V7a5 5 0 0 1 10 0v4" })
|
|
257
|
-
] }));
|
|
258
|
-
var ExternalGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }) }));
|
|
259
|
-
var TrashGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6" }) }));
|
|
258
|
+
] }), [2, 2]);
|
|
259
|
+
var ExternalGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }) }), [2, 2]);
|
|
260
|
+
var TrashGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6" }) }), [2, 2]);
|
|
260
261
|
var ArchiveGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
261
262
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "2", y: "3", width: "20", height: "5", rx: "1" }),
|
|
262
263
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8M10 12h4" })
|
|
263
|
-
] }));
|
|
264
|
+
] }), [1, 1]);
|
|
264
265
|
var TagGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
265
266
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12.6 2.6A2 2 0 0 0 11.2 2H4a2 2 0 0 0-2 2v7.2a2 2 0 0 0 .6 1.4l8.7 8.7a2.4 2.4 0 0 0 3.4 0l6.6-6.6a2.4 2.4 0 0 0 0-3.4z" }),
|
|
266
267
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "7.5", cy: "7.5", r: ".5" })
|
|
267
|
-
] }));
|
|
268
|
-
var ShieldGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M20 13c0 5-3.5 7.5-7.7 8.9a1 1 0 0 1-.6 0C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.2-2.7a1.2 1.2 0 0 1 1.6 0C14.5 3.8 17 5 19 5a1 1 0 0 1 1 1z" }) }));
|
|
268
|
+
] }), [1, 1]);
|
|
269
|
+
var ShieldGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M20 13c0 5-3.5 7.5-7.7 8.9a1 1 0 0 1-.6 0C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.2-2.7a1.2 1.2 0 0 1 1.6 0C14.5 3.8 17 5 19 5a1 1 0 0 1 1 1z" }) }), [3, 3]);
|
|
269
270
|
var BuildingGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
270
271
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "4", y: "2", width: "16", height: "20", rx: "2" }),
|
|
271
272
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9 22v-4h6v4M8 6h.01M16 6h.01M12 6h.01M12 10h.01M12 14h.01M16 10h.01M16 14h.01M8 10h.01M8 14h.01" })
|
|
272
|
-
] }));
|
|
273
|
+
] }), [3, 3]);
|
|
273
274
|
var UsersGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
274
275
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" }),
|
|
275
276
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "9", cy: "7", r: "4" }),
|
|
276
277
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M22 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8" })
|
|
277
|
-
] }));
|
|
278
|
-
var ChevronLeftGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m15 18-6-6 6-6" }));
|
|
278
|
+
] }), [1, 1]);
|
|
279
|
+
var ChevronLeftGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m15 18-6-6 6-6" }), [8, 8]);
|
|
279
280
|
var GridGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
280
281
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "3", width: "7", height: "7", rx: "1" }),
|
|
281
282
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "14", y: "3", width: "7", height: "7", rx: "1" }),
|
|
282
283
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "14", width: "7", height: "7", rx: "1" }),
|
|
283
284
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "14", y: "14", width: "7", height: "7", rx: "1" })
|
|
284
|
-
] }));
|
|
285
|
-
var PlugGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 22v-5M9 8V2M15 8V2M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8z" }) }));
|
|
285
|
+
] }), [2, 2]);
|
|
286
|
+
var PlugGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 22v-5M9 8V2M15 8V2M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8z" }) }), [5, 5]);
|
|
286
287
|
var FAMILY_GLYPHS = {
|
|
287
288
|
databases: DatabaseGlyph,
|
|
288
289
|
server_network: ServerGlyph,
|
|
@@ -296,78 +297,78 @@ function definitionGlyph(key, family) {
|
|
|
296
297
|
if (key === "username_password" || key === "website_login") return GlobeGlyph;
|
|
297
298
|
return FAMILY_GLYPHS[family] ?? KeyGlyph;
|
|
298
299
|
}
|
|
299
|
-
var XGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M18 6 6 18M6 6l12 12" }));
|
|
300
|
+
var XGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M18 6 6 18M6 6l12 12" }), [5, 5]);
|
|
300
301
|
var PencilGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
301
302
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 20h9" }),
|
|
302
303
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z" })
|
|
303
|
-
] }));
|
|
304
|
+
] }), [2, 2]);
|
|
304
305
|
var ClockGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
305
306
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "10" }),
|
|
306
307
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 6v6l4 2" })
|
|
307
|
-
] }));
|
|
308
|
+
] }), [1, 1]);
|
|
308
309
|
var MoreGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
309
310
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "1" }),
|
|
310
311
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "19", cy: "12", r: "1" }),
|
|
311
312
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "5", cy: "12", r: "1" })
|
|
312
|
-
] }));
|
|
313
|
-
var ShareGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8M16 6l-4-4-4 4M12 2v13" }) }));
|
|
313
|
+
] }), [3, 3]);
|
|
314
|
+
var ShareGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8M16 6l-4-4-4 4M12 2v13" }) }), [3, 3]);
|
|
314
315
|
var HistoryGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
315
316
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" }),
|
|
316
317
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 3v5h5M12 7v5l4 2" })
|
|
317
|
-
] }));
|
|
318
|
-
var ListGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01" }));
|
|
318
|
+
] }), [2, 2]);
|
|
319
|
+
var ListGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01" }), [2, 2]);
|
|
319
320
|
var SettingsGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
320
321
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" }),
|
|
321
322
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "3" })
|
|
322
|
-
] }));
|
|
323
|
-
var ImportGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3" }));
|
|
324
|
-
var ExportGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M17 8l-5-5-5 5M12 3v12" }));
|
|
325
|
-
var ChevronDownGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m6 9 6 6 6-6" }));
|
|
326
|
-
var ChevronRightGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m9 18 6-6-6-6" }));
|
|
327
|
-
var SortGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m3 16 4 4 4-4M7 20V4M21 8l-4-4-4 4M17 4v16" }));
|
|
323
|
+
] }), [2, 2]);
|
|
324
|
+
var ImportGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3" }), [2, 2]);
|
|
325
|
+
var ExportGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M17 8l-5-5-5 5M12 3v12" }), [2, 2]);
|
|
326
|
+
var ChevronDownGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m6 9 6 6 6-6" }), [5, 5]);
|
|
327
|
+
var ChevronRightGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m9 18 6-6-6-6" }), [8, 8]);
|
|
328
|
+
var SortGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m3 16 4 4 4-4M7 20V4M21 8l-4-4-4 4M17 4v16" }), [2, 2]);
|
|
328
329
|
var UserGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
329
330
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "8", r: "4" }),
|
|
330
331
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2" })
|
|
331
|
-
] }));
|
|
332
|
-
var MoveGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M5 9 2 12l3 3M9 5l3-3 3 3M15 19l-3 3-3-3M19 9l3 3-3 3M2 12h20M12 2v20" }));
|
|
332
|
+
] }), [5, 5]);
|
|
333
|
+
var MoveGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M5 9 2 12l3 3M9 5l3-3 3 3M15 19l-3 3-3-3M19 9l3 3-3 3M2 12h20M12 2v20" }), [1, 1]);
|
|
333
334
|
var SafeGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
334
335
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }),
|
|
335
336
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "4" }),
|
|
336
337
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 8v1M12 15v1M8 12h1M15 12h1" })
|
|
337
|
-
] }));
|
|
338
|
+
] }), [2, 2]);
|
|
338
339
|
var RestoreGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
339
340
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 12a9 9 0 1 0 3-6.7L3 8" }),
|
|
340
341
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 3v5h5" })
|
|
341
|
-
] }));
|
|
342
|
+
] }), [2, 2]);
|
|
342
343
|
var QrGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
343
344
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "3", width: "7", height: "7", rx: "1" }),
|
|
344
345
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "14", y: "3", width: "7", height: "7", rx: "1" }),
|
|
345
346
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "14", width: "7", height: "7", rx: "1" }),
|
|
346
347
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14 14h3v3h-3zM20 14v.01M14 20h.01M17 20h4v-3" })
|
|
347
|
-
] }));
|
|
348
|
+
] }), [2, 2]);
|
|
348
349
|
var CameraGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
349
350
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3z" }),
|
|
350
351
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "13", r: "3" })
|
|
351
|
-
] }));
|
|
352
|
-
var CheckGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M20 6 9 17l-5-5" }));
|
|
352
|
+
] }), [1, 1]);
|
|
353
|
+
var CheckGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M20 6 9 17l-5-5" }), [3, 3]);
|
|
353
354
|
var PowerGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
354
355
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 2v10" }),
|
|
355
356
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M18.4 6.6a9 9 0 1 1-12.77.04" })
|
|
356
|
-
] }));
|
|
357
|
+
] }), [2, 2]);
|
|
357
358
|
var RefreshGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
358
359
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M21 12a9 9 0 0 1-15.5 6.2L3 16" }),
|
|
359
360
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 12a9 9 0 0 1 15.5-6.2L21 8" }),
|
|
360
361
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M21 3v5h-5M3 21v-5h5" })
|
|
361
|
-
] }));
|
|
362
|
-
var SlidersGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6" }) }));
|
|
362
|
+
] }), [2, 2]);
|
|
363
|
+
var SlidersGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6" }) }), [0, 0]);
|
|
363
364
|
var DownloadGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
364
365
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
|
|
365
366
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m7 10 5 5 5-5M12 15V3" })
|
|
366
|
-
] }));
|
|
367
|
+
] }), [2, 2]);
|
|
367
368
|
var UploadGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
368
369
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
|
|
369
370
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m17 8-5-5-5 5M12 3v12" })
|
|
370
|
-
] }));
|
|
371
|
+
] }), [2, 2]);
|
|
371
372
|
var FingerprintGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
372
373
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4" }),
|
|
373
374
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14 13.12c0 2.38 0 6.38-1 8.88" }),
|
|
@@ -378,8 +379,8 @@ var FingerprintGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(impor
|
|
|
378
379
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2" }),
|
|
379
380
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8.65 22c.21-.66.45-1.32.57-2" }),
|
|
380
381
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9 6.8a6 6 0 0 1 9 5.2v2" })
|
|
381
|
-
] }));
|
|
382
|
-
var SendGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14.5 21.7a.5.5 0 0 0 .9 0L22 3a.5.5 0 0 0-.6-.6L2.3 9.1a.5.5 0 0 0 0 .9l7.9 3.2a2 2 0 0 1 1.1 1.1zM21.9 2.1 10.9 13.1" }));
|
|
382
|
+
] }), [1, 1]);
|
|
383
|
+
var SendGlyph = glyph(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14.5 21.7a.5.5 0 0 0 .9 0L22 3a.5.5 0 0 0-.6-.6L2.3 9.1a.5.5 0 0 0 0 .9l7.9 3.2a2 2 0 0 1 1.1 1.1zM21.9 2.1 10.9 13.1" }), [1, 1]);
|
|
383
384
|
|
|
384
385
|
// src/auth/identity.ts
|
|
385
386
|
var SAME_PERSON = "That signed in a different account. Use the account this vault belongs to.";
|
|
@@ -589,6 +590,22 @@ var import_design_system3 = require("@ai-matrx/design-system");
|
|
|
589
590
|
var import_design_system4 = require("@ai-matrx/design-system");
|
|
590
591
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
591
592
|
var InPanel = (0, import_react4.createContext)(false);
|
|
593
|
+
var Room = (0, import_react4.createContext)(null);
|
|
594
|
+
var ROOMY_AT = 560;
|
|
595
|
+
function useRoomOf(ref) {
|
|
596
|
+
const [room, setRoom] = (0, import_react4.useState)(null);
|
|
597
|
+
(0, import_react4.useEffect)(() => {
|
|
598
|
+
const el = ref.current;
|
|
599
|
+
if (!el || typeof ResizeObserver === "undefined") return;
|
|
600
|
+
const read = () => setRoom(el.getBoundingClientRect().width >= ROOMY_AT ? "roomy" : "compact");
|
|
601
|
+
read();
|
|
602
|
+
const ro = new ResizeObserver(read);
|
|
603
|
+
ro.observe(el);
|
|
604
|
+
return () => ro.disconnect();
|
|
605
|
+
}, [ref]);
|
|
606
|
+
return room;
|
|
607
|
+
}
|
|
608
|
+
var RoomProvider = Room.Provider;
|
|
592
609
|
function Section({ title, actions, children, className }) {
|
|
593
610
|
const flat = (0, import_react4.useContext)(InPanel);
|
|
594
611
|
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("section", { className: (0, import_design_system4.cn)("flex flex-col gap-1.5", className), children: [
|
|
@@ -599,10 +616,16 @@ function Section({ title, actions, children, className }) {
|
|
|
599
616
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: flat ? "-mx-3 flex flex-col sm:-mx-4" : "flex flex-col rounded-xl border border-border bg-card py-1", children })
|
|
600
617
|
] });
|
|
601
618
|
}
|
|
619
|
+
var ROW_GRID = {
|
|
620
|
+
compact: "grid-cols-[5.75rem_minmax(0,1fr)_auto] gap-x-2 px-3",
|
|
621
|
+
roomy: "grid-cols-[9rem_minmax(0,1fr)_auto] gap-x-3 px-4",
|
|
622
|
+
viewport: "grid-cols-[5.75rem_minmax(0,1fr)_auto] gap-x-2 px-3 sm:grid-cols-[9rem_minmax(0,1fr)_auto] sm:gap-x-3 sm:px-4"
|
|
623
|
+
};
|
|
602
624
|
function Row({ label, hint, children, actions, top = false, className }) {
|
|
603
|
-
|
|
625
|
+
const room = (0, import_react4.useContext)(Room);
|
|
626
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: (0, import_design_system4.cn)("grid min-h-11 py-1", ROW_GRID[room ?? "viewport"], top ? "items-start" : "items-center", className), children: [
|
|
604
627
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: (0, import_design_system4.cn)("flex min-w-0 flex-col text-xs leading-tight text-muted-foreground", top && "pt-2.5"), children: [
|
|
605
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "line-clamp-2 break-words sm:truncate", children: label }),
|
|
628
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: room === "roomy" ? "truncate" : room === "compact" ? "line-clamp-2 break-words" : "line-clamp-2 break-words sm:truncate", children: label }),
|
|
606
629
|
hint ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "line-clamp-2 break-words text-xs text-disabled-foreground", children: hint }) : null
|
|
607
630
|
] }),
|
|
608
631
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: (0, import_design_system4.cn)("min-w-0 text-sm", top && "py-1.5"), children }),
|
|
@@ -893,6 +916,10 @@ function rebaseDraft(oldBase, newBase, draft) {
|
|
|
893
916
|
authenticator: draft.authenticator
|
|
894
917
|
};
|
|
895
918
|
}
|
|
919
|
+
function panesShown(mode, specialView, showingDetail) {
|
|
920
|
+
if (mode === "stack") return { list: !showingDetail, detail: showingDetail };
|
|
921
|
+
return { list: true, detail: !specialView };
|
|
922
|
+
}
|
|
896
923
|
|
|
897
924
|
// src/definitions.ts
|
|
898
925
|
var FAMILY_LABELS = {
|
|
@@ -979,9 +1006,10 @@ function inferFromUrl(raw, definitions) {
|
|
|
979
1006
|
} catch {
|
|
980
1007
|
return null;
|
|
981
1008
|
}
|
|
982
|
-
|
|
1009
|
+
const bare = url.hostname === "localhost" || /^\d{1,3}(\.\d{1,3}){3}$/.test(url.hostname) || url.hostname.startsWith("[");
|
|
1010
|
+
if (!bare && !url.hostname.includes(".")) return null;
|
|
983
1011
|
const labels = url.hostname.replace(/^www\./, "").split(".");
|
|
984
|
-
const brand = labels.length > 1 ? labels[labels.length - 2] ?? labels[0] ?? "" : labels[0] ?? "";
|
|
1012
|
+
const brand = bare ? url.host : labels.length > 1 ? labels[labels.length - 2] ?? labels[0] ?? "" : labels[0] ?? "";
|
|
985
1013
|
const login = definitions.find((d) => d.key === "website_login") ?? definitions.find((d) => d.key === "username_password");
|
|
986
1014
|
const alternatives = definitions.filter((d) => d.providerKey !== null && d.providerKey.toLowerCase() === brand.toLowerCase()).map((d) => d.key);
|
|
987
1015
|
return {
|
|
@@ -5555,6 +5583,8 @@ function ItemPane(props) {
|
|
|
5555
5583
|
const dirty = editing && isDirty(base, draft);
|
|
5556
5584
|
const declared = definition?.fields ?? [];
|
|
5557
5585
|
const prev = (0, import_react26.useRef)(null);
|
|
5586
|
+
const paneRef = (0, import_react26.useRef)(null);
|
|
5587
|
+
const room = useRoomOf(paneRef);
|
|
5558
5588
|
(0, import_react26.useEffect)(() => {
|
|
5559
5589
|
const was = prev.current;
|
|
5560
5590
|
const id = item?.id ?? null;
|
|
@@ -5743,7 +5773,7 @@ function ItemPane(props) {
|
|
|
5743
5773
|
] }) : null
|
|
5744
5774
|
] });
|
|
5745
5775
|
const filesProps = item ? { item, port, host, definition, organizations, arg: null, onClose: () => void 0, onChanged, onPanel } : null;
|
|
5746
|
-
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("article", { "aria-label": item?.name ?? "New item", className: (0, import_design_system17.cn)(import_controls21.CONTROLS_CONTAINER_CLASS, "flex h-full min-h-0 flex-col bg-background"), children: [
|
|
5776
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RoomProvider, { value: room, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("article", { ref: paneRef, "aria-label": item?.name ?? "New item", className: (0, import_design_system17.cn)(import_controls21.CONTROLS_CONTAINER_CLASS, "flex h-full min-h-0 flex-col bg-background"), children: [
|
|
5747
5777
|
header,
|
|
5748
5778
|
error ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { role: "alert", className: "border-b border-border bg-muted px-5 py-2 text-sm text-destructive", children: error }) : null,
|
|
5749
5779
|
notice && !editing ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { role: "status", className: "border-b border-border bg-muted px-5 py-2 text-sm text-warning", children: notice }) : null,
|
|
@@ -5906,7 +5936,7 @@ function ItemPane(props) {
|
|
|
5906
5936
|
formatDate(item.createdAt)
|
|
5907
5937
|
] })
|
|
5908
5938
|
] }) : null }) })
|
|
5909
|
-
] });
|
|
5939
|
+
] }) });
|
|
5910
5940
|
}
|
|
5911
5941
|
|
|
5912
5942
|
// src/ItemList.tsx
|
|
@@ -7426,7 +7456,7 @@ function PageView({ port, page, fill, capture, fillSetup, newPasswordFields, ite
|
|
|
7426
7456
|
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex h-full min-h-0 flex-col overflow-y-auto bg-background text-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex flex-col gap-3 px-3 pb-4 pt-3", children: [
|
|
7427
7457
|
header,
|
|
7428
7458
|
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex min-h-7 items-center gap-2 px-1", children: [
|
|
7429
|
-
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
7459
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_design_system23.SiteIcon, { site: page.url, fallback: GlobeGlyph, className: "size-4" }),
|
|
7430
7460
|
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "min-w-0 flex-1 truncate text-sm font-medium", title: page.url, children: site || "No page open" }),
|
|
7431
7461
|
page.refresh ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_controls32.Button, { variant: "quiet", icon: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(RefreshGlyph, {}), "aria-label": "Check again", onClick: page.refresh }) : null,
|
|
7432
7462
|
onBrowse ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_controls32.Button, { variant: "quiet", icon: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ListGlyph, {}), onClick: onBrowse, children: "All items" }) : null
|
|
@@ -7626,7 +7656,7 @@ function Sidebar({ vault, choices, onVault, view, allCount, deletedCount, views,
|
|
|
7626
7656
|
|
|
7627
7657
|
// src/VaultApp.tsx
|
|
7628
7658
|
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
7629
|
-
var FULL_AT =
|
|
7659
|
+
var FULL_AT = 1120;
|
|
7630
7660
|
var SPLIT_AT = 640;
|
|
7631
7661
|
var NO_HOST = {};
|
|
7632
7662
|
var ITEM_PANELS = {
|
|
@@ -7983,7 +8013,7 @@ function Workspace({ port, host = NO_HOST, layout = "auto", location, onLocation
|
|
|
7983
8013
|
);
|
|
7984
8014
|
}
|
|
7985
8015
|
const grid = mode === "full" ? "grid-cols-[15rem_21rem_minmax(0,1fr)]" : mode === "split" ? "grid-cols-[19rem_minmax(0,1fr)]" : "grid-cols-1";
|
|
7986
|
-
const
|
|
8016
|
+
const shown = panesShown(mode, specialView !== null, showingDetail);
|
|
7987
8017
|
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { ref: rootRef, className: "flex h-full min-h-0 w-full flex-col bg-background text-foreground", children: [
|
|
7988
8018
|
snap.unavailable.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { role: "status", className: "flex items-center gap-3 border-b border-border bg-muted px-4 py-2 text-sm", children: [
|
|
7989
8019
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("span", { className: "min-w-0 flex-1 truncate text-warning", children: [
|
|
@@ -8013,8 +8043,8 @@ function Workspace({ port, host = NO_HOST, layout = "auto", location, onLocation
|
|
|
8013
8043
|
hasPage: host.page !== void 0
|
|
8014
8044
|
}
|
|
8015
8045
|
) : null,
|
|
8016
|
-
|
|
8017
|
-
|
|
8046
|
+
shown.list ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: specialView && mode !== "stack" ? "col-span-2 min-h-0" : "min-h-0", children: list }) : null,
|
|
8047
|
+
shown.detail ? detail : null,
|
|
8018
8048
|
panel
|
|
8019
8049
|
] })
|
|
8020
8050
|
] });
|
|
@@ -8771,6 +8801,9 @@ function createApiVaultPort(api, options = {}) {
|
|
|
8771
8801
|
provider_key: definition.providerKey,
|
|
8772
8802
|
tags: draft.tags,
|
|
8773
8803
|
login_urls: draft.loginUrls,
|
|
8804
|
+
// A login a person saves with its website is offered on that website (the server's own
|
|
8805
|
+
// default is off, which made "Save a login" on a page answer "No saved login" there).
|
|
8806
|
+
...draft.loginUrls.length > 0 ? { browser_fill_enabled: true } : {},
|
|
8774
8807
|
notes: draft.notes || null,
|
|
8775
8808
|
principal: organizationId ? { type: "organization", organization_id: organizationId } : { type: "user" },
|
|
8776
8809
|
initiation: "user",
|