solid-ui 5.0.2-2 → 5.0.2-4
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/dist/_virtual/~icons/lucide/arrow-left.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/arrow-left.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/arrow-left.esm.js +10 -0
- package/dist/_virtual/~icons/lucide/arrow-left.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/ellipsis-vertical.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/ellipsis-vertical.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/ellipsis-vertical.esm.js +10 -0
- package/dist/_virtual/~icons/lucide/ellipsis-vertical.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/file.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/file.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/file.esm.js +10 -0
- package/dist/_virtual/~icons/lucide/file.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/lock-keyhole.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/lock-keyhole.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/lock-keyhole.esm.js +10 -0
- package/dist/_virtual/~icons/lucide/lock-keyhole.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/pencil.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/pencil.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/pencil.esm.js +10 -0
- package/dist/_virtual/~icons/lucide/pencil.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/share-2.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/share-2.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/share-2.esm.js +10 -0
- package/dist/_virtual/~icons/lucide/share-2.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/user-round-cog.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/user-round-cog.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/user-round-cog.esm.js +10 -0
- package/dist/_virtual/~icons/lucide/user-round-cog.esm.js.map +1 -0
- package/dist/chunks/DialogProvider-CdesAsw-.js +208 -0
- package/dist/chunks/DialogProvider-CdesAsw-.js.map +1 -0
- package/dist/chunks/ResourceActionsMenu-Bllpr4M5.js +378 -0
- package/dist/chunks/ResourceActionsMenu-Bllpr4M5.js.map +1 -0
- package/dist/chunks/{access-control-modal-Dcg6-f4V.js → access-control-modal-CwmY_Dod.js} +419 -432
- package/dist/chunks/access-control-modal-CwmY_Dod.js.map +1 -0
- package/dist/chunks/{account-D6JK-n7u.js → account-CoHPKKDu.js} +6 -6
- package/dist/chunks/{account-D6JK-n7u.js.map → account-CoHPKKDu.js.map} +1 -1
- package/dist/chunks/{auth-B_abPDvH.js → auth-CocCqS1p.js} +23 -22
- package/dist/chunks/{auth-B_abPDvH.js.map → auth-CocCqS1p.js.map} +1 -1
- package/dist/chunks/{avatar-BR3COVSQ.js → avatar-sNdKdWVO.js} +2 -2
- package/dist/chunks/{avatar-BR3COVSQ.js.map → avatar-sNdKdWVO.js.map} +1 -1
- package/dist/chunks/context-BDrfQ9bN.js +21 -0
- package/dist/chunks/context-BDrfQ9bN.js.map +1 -0
- package/dist/chunks/{dialogs-root-BcQo2XMF.js → dialogs-root-BNF3_SA8.js} +2 -2
- package/dist/chunks/{dialogs-root-BcQo2XMF.js.map → dialogs-root-BNF3_SA8.js.map} +1 -1
- package/dist/chunks/events-CXQHDCs2.js +8 -0
- package/dist/chunks/events-CXQHDCs2.js.map +1 -0
- package/dist/chunks/file-explorer-header-D0TebSYR.js +962 -0
- package/dist/chunks/file-explorer-header-D0TebSYR.js.map +1 -0
- package/dist/chunks/file-explorer-provider-DpjC7uds.js +295 -0
- package/dist/chunks/file-explorer-provider-DpjC7uds.js.map +1 -0
- package/dist/chunks/globe-CsCgZcy5.js +16 -0
- package/dist/chunks/globe-CsCgZcy5.js.map +1 -0
- package/dist/chunks/{guard-bTeM7wd7.js → guard-BOicu9dt.js} +2 -2
- package/dist/chunks/{guard-bTeM7wd7.js.map → guard-BOicu9dt.js.map} +1 -1
- package/dist/chunks/index.esm-C9oV3H3X.js +6 -0
- package/dist/chunks/index.esm-C9oV3H3X.js.map +1 -0
- package/dist/chunks/{jsonld-CnfzCyCn.js → jsonld-D-TE94B0.js} +2 -2
- package/dist/chunks/{jsonld-CnfzCyCn.js.map → jsonld-D-TE94B0.js.map} +1 -1
- package/dist/chunks/{login-button-Div4ZT4J.js → login-button-clTw_9tX.js} +2 -2
- package/dist/chunks/{login-button-Div4ZT4J.js.map → login-button-clTw_9tX.js.map} +1 -1
- package/dist/chunks/{logout-button-D3lqlnCX.js → logout-button-CP-Pz70O.js} +2 -2
- package/dist/chunks/{logout-button-D3lqlnCX.js.map → logout-button-CP-Pz70O.js.map} +1 -1
- package/dist/chunks/provide-z9U64q4m.js +111 -0
- package/dist/chunks/provide-z9U64q4m.js.map +1 -0
- package/dist/chunks/{provider-Dcd1NPYx.js → provider-Cuv3Kp6G.js} +4 -4
- package/dist/chunks/{provider-Dcd1NPYx.js.map → provider-Cuv3Kp6G.js.map} +1 -1
- package/dist/chunks/{rdf-form-CmPnHKR-.js → rdf-form-DVmTw3RG.js} +20 -20
- package/dist/chunks/{rdf-form-CmPnHKR-.js.map → rdf-form-DVmTw3RG.js.map} +1 -1
- package/dist/chunks/{rdf-input-3AgoeCkJ.js → rdf-input-CRYLK-27.js} +42 -42
- package/dist/chunks/{rdf-input-3AgoeCkJ.js.map → rdf-input-CRYLK-27.js.map} +1 -1
- package/dist/chunks/{signup-button-2fAoS0Nv.js → signup-button-CexdMWj6.js} +2 -2
- package/dist/chunks/{signup-button-2fAoS0Nv.js.map → signup-button-CexdMWj6.js.map} +1 -1
- package/dist/chunks/{index.esm-CECfD0e9.js → solidLogicSingleton.esm-BXyHD7mn.js} +1210 -1161
- package/dist/chunks/solidLogicSingleton.esm-BXyHD7mn.js.map +1 -0
- package/dist/chunks/{src-Dx7k_VIe.js → src-DQgHAH3d.js} +4579 -4542
- package/dist/chunks/src-DQgHAH3d.js.map +1 -0
- package/dist/chunks/{style-w0Fl0xnd.js → style-CXaw5EYi.js} +9 -8
- package/dist/chunks/{style-w0Fl0xnd.js.map → style-CXaw5EYi.js.map} +1 -1
- package/dist/chunks/{widgets-BWpm5CPx.js → widgets-BBEQu0CS.js} +722 -721
- package/dist/chunks/{widgets-BWpm5CPx.js.map → widgets-BBEQu0CS.js.map} +1 -1
- package/dist/components/access-control-modal/AccessControlModal.cjs.js +1 -1
- package/dist/components/access-control-modal/AccessControlModal.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlModal.esm.js +1 -1
- package/dist/components/access-control-modal/AccessControlModal.esm.js.map +1 -1
- package/dist/components/access-control-modal.js +1 -1
- package/dist/components/account.js +1 -1
- package/dist/components/all.cjs.js +1 -1
- package/dist/components/all.esm.js +3 -0
- package/dist/components/avatar.js +1 -1
- package/dist/components/dialog-provider.js +1 -1
- package/dist/components/dialogs-root.js +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js +15 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.d.ts +20 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.d.ts.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.esm.js +310 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js +2 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js +6 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js +35 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts +23 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js +318 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js +2 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js +6 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js +35 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts +22 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js +356 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js +2 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js +6 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js.map +1 -0
- package/dist/components/file-explorer-header/index.cjs.js +2 -0
- package/dist/components/file-explorer-header/index.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/index.d.ts +4 -0
- package/dist/components/file-explorer-header/index.d.ts.map +1 -0
- package/dist/components/file-explorer-header/index.esm.js +6 -0
- package/dist/components/file-explorer-header/index.esm.js.map +1 -0
- package/dist/components/file-explorer-header/types.d.ts +11 -0
- package/dist/components/file-explorer-header/types.d.ts.map +1 -0
- package/dist/components/file-explorer-header.js +1 -0
- package/dist/components/file-explorer-provider/FileExplorerProvider.cjs.js +2 -0
- package/dist/components/file-explorer-provider/FileExplorerProvider.cjs.js.map +1 -0
- package/dist/components/file-explorer-provider/FileExplorerProvider.d.ts +17 -0
- package/dist/components/file-explorer-provider/FileExplorerProvider.d.ts.map +1 -0
- package/dist/components/file-explorer-provider/FileExplorerProvider.esm.js +297 -0
- package/dist/components/file-explorer-provider/FileExplorerProvider.esm.js.map +1 -0
- package/dist/components/file-explorer-provider/index.cjs.js +2 -0
- package/dist/components/file-explorer-provider/index.cjs.js.map +1 -0
- package/dist/components/file-explorer-provider/index.d.ts +4 -0
- package/dist/components/file-explorer-provider/index.d.ts.map +1 -0
- package/dist/components/file-explorer-provider/index.esm.js +6 -0
- package/dist/components/file-explorer-provider/index.esm.js.map +1 -0
- package/dist/components/file-explorer-provider.js +1 -0
- package/dist/components/guard.js +1 -1
- package/dist/components/index.cjs.js +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.esm.js +1 -0
- package/dist/components/login-button.js +1 -1
- package/dist/components/login-modal.js +1 -1
- package/dist/components/logout-button.js +1 -1
- package/dist/components/provider.js +1 -1
- package/dist/components/rdf-form.js +1 -1
- package/dist/components/rdf-input.js +1 -1
- package/dist/components/resource-actions-menu/DeleteResourceDialog.d.ts +8 -0
- package/dist/components/resource-actions-menu/DeleteResourceDialog.d.ts.map +1 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js +27 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js.map +1 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts +23 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts.map +1 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js +344 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js.map +1 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.styles.cjs.js +2 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.styles.cjs.js.map +1 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.styles.esm.js +6 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.styles.esm.js.map +1 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.test.d.ts +1 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.test.d.ts.map +1 -0
- package/dist/components/resource-actions-menu/index.cjs.js +1 -0
- package/dist/components/resource-actions-menu/index.d.ts +2 -0
- package/dist/components/resource-actions-menu/index.d.ts.map +1 -0
- package/dist/components/resource-actions-menu/index.esm.js +1 -0
- package/dist/components/resource-actions-menu.js +1 -0
- package/dist/components/signup-button.js +1 -1
- package/dist/components.js +15 -12
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +8 -4
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +11 -9
- package/dist/lib/context/noopContext.cjs.js +2 -0
- package/dist/lib/context/noopContext.cjs.js.map +1 -0
- package/dist/lib/context/noopContext.d.ts +2 -0
- package/dist/lib/context/noopContext.d.ts.map +1 -0
- package/dist/lib/context/noopContext.esm.js +18 -0
- package/dist/lib/context/noopContext.esm.js.map +1 -0
- package/dist/lib/file-explorer/compose-explorer.cjs.js +2 -0
- package/dist/lib/file-explorer/compose-explorer.cjs.js.map +1 -0
- package/dist/lib/file-explorer/compose-explorer.d.ts +17 -0
- package/dist/lib/file-explorer/compose-explorer.d.ts.map +1 -0
- package/dist/lib/file-explorer/compose-explorer.esm.js +18 -0
- package/dist/lib/file-explorer/compose-explorer.esm.js.map +1 -0
- package/dist/lib/file-explorer/context.cjs.js +1 -1
- package/dist/lib/file-explorer/context.cjs.js.map +1 -1
- package/dist/lib/file-explorer/context.d.ts +12 -14
- package/dist/lib/file-explorer/context.d.ts.map +1 -1
- package/dist/lib/file-explorer/context.esm.js +4 -3
- package/dist/lib/file-explorer/context.esm.js.map +1 -1
- package/dist/lib/file-explorer/events.cjs.js +2 -0
- package/dist/lib/file-explorer/events.cjs.js.map +1 -0
- package/dist/lib/file-explorer/events.d.ts +16 -0
- package/dist/lib/file-explorer/events.d.ts.map +1 -0
- package/dist/lib/file-explorer/events.esm.js +8 -0
- package/dist/lib/file-explorer/events.esm.js.map +1 -0
- package/dist/lib/file-explorer/index.cjs.js +1 -0
- package/dist/lib/file-explorer/index.d.ts +5 -0
- package/dist/lib/file-explorer/index.d.ts.map +1 -0
- package/dist/lib/file-explorer/index.esm.js +5 -0
- package/dist/lib/file-explorer/relevant-panes.cjs.js +2 -0
- package/dist/lib/file-explorer/relevant-panes.cjs.js.map +1 -0
- package/dist/lib/file-explorer/relevant-panes.d.ts +22 -0
- package/dist/lib/file-explorer/relevant-panes.d.ts.map +1 -0
- package/dist/lib/file-explorer/relevant-panes.esm.js +23 -0
- package/dist/lib/file-explorer/relevant-panes.esm.js.map +1 -0
- package/dist/loader.js +11 -9
- package/dist/solid-ui.js +211 -107
- package/dist/solid-ui.min.js +211 -107
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/theme.css +1 -1
- package/dist/utils/podUtils.cjs.js +2 -0
- package/dist/utils/podUtils.cjs.js.map +1 -0
- package/dist/utils/podUtils.d.ts +6 -0
- package/dist/utils/podUtils.d.ts.map +1 -0
- package/dist/utils/podUtils.esm.js +22 -0
- package/dist/utils/podUtils.esm.js.map +1 -0
- package/dist/utils/webIdUtils.cjs.js +1 -0
- package/dist/utils/webIdUtils.d.ts +7 -0
- package/dist/utils/webIdUtils.d.ts.map +1 -0
- package/dist/utils/webIdUtils.esm.js +3 -0
- package/package.json +3 -3
- package/dist/chunks/DialogProvider-C89v7x0r.js +0 -314
- package/dist/chunks/DialogProvider-C89v7x0r.js.map +0 -1
- package/dist/chunks/access-control-modal-Dcg6-f4V.js.map +0 -1
- package/dist/chunks/index.esm-CECfD0e9.js.map +0 -1
- package/dist/chunks/src-Dx7k_VIe.js.map +0 -1
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
import { t as e, y as t } from "./solidLogicSingleton.esm-BXyHD7mn.js";
|
|
2
|
+
import { c as n, g as r, i, o as a, p as o, u as s } from "./components-C8c2Ucm5.js";
|
|
3
|
+
import "./button-D6qO2idW.js";
|
|
4
|
+
import "./menu-item-nfPpH4dN.js";
|
|
5
|
+
import "./menu-D0k2fkiE.js";
|
|
6
|
+
// ~icons/lucide/pencil
|
|
7
|
+
var c = class extends HTMLElement {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4\"/></svg>";
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
customElements.get("icon-lucide-pencil") || customElements.define("icon-lucide-pencil", c);
|
|
13
|
+
// ~icons/lucide/ellipsis-vertical
|
|
14
|
+
var l = class extends HTMLElement {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"1\"/><circle cx=\"12\" cy=\"5\" r=\"1\"/><circle cx=\"12\" cy=\"19\" r=\"1\"/></g></svg>";
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
customElements.get("icon-lucide-ellipsis-vertical") || customElements.define("icon-lucide-ellipsis-vertical", l);
|
|
20
|
+
// src/utils/podUtils.ts
|
|
21
|
+
function u(e, n) {
|
|
22
|
+
if (!e || !n) return !1;
|
|
23
|
+
let r = e.sym(n), i = e.findTypeURIs(r);
|
|
24
|
+
return !!(i[t.ldp("Container").uri] || i[t.ldp("BasicContainer").uri] || r.uri.endsWith("/"));
|
|
25
|
+
}
|
|
26
|
+
function d(n, r) {
|
|
27
|
+
if (!n || !r) return 0;
|
|
28
|
+
let i = n.sym(r), a = /* @__PURE__ */ new Set();
|
|
29
|
+
for (let r of n.each(i, t.ldp("contains"))) if (r.termType === "NamedNode") {
|
|
30
|
+
let t = r;
|
|
31
|
+
e.resource.isHiddenFile(t) || a.add(t.uri);
|
|
32
|
+
}
|
|
33
|
+
return a.size;
|
|
34
|
+
}
|
|
35
|
+
// ~icons/lucide/user-round-cog
|
|
36
|
+
var f = class extends HTMLElement {
|
|
37
|
+
constructor() {
|
|
38
|
+
super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"m14.305 19.53l.923-.382m0-2.296l-.923-.383m2.547-1.241l-.383-.923m.383 6.467l-.383.924m2.679-6.468l.383-.923m-.001 7.391l-.382-.924M2 21a8 8 0 0 1 10.434-7.62m8.338 3.472l.924-.383m-.924 2.679l.924.383\"/><circle cx=\"10\" cy=\"8\" r=\"5\"/><circle cx=\"18\" cy=\"18\" r=\"3\"/></g></svg>";
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
customElements.get("icon-lucide-user-round-cog") || customElements.define("icon-lucide-user-round-cog", f);
|
|
42
|
+
// ~icons/lucide/file
|
|
43
|
+
var p = class extends HTMLElement {
|
|
44
|
+
constructor() {
|
|
45
|
+
super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"/><path d=\"M14 2v5a1 1 0 0 0 1 1h5\"/></g></svg>";
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
customElements.get("icon-lucide-file") || customElements.define("icon-lucide-file", p);
|
|
49
|
+
// src/components/resource-actions-menu/ResourceActionsMenu.styles.css
|
|
50
|
+
var m = o`:host{& .file-explorer-header-more-button{width:var(--solid-ui-clickable-area,42px);height:var(--solid-ui-clickable-area,42px);padding:0}& .ellipsisIcon{width:16px;height:16px}}`, h, g, _, v, y, b, x, S, C, w, T, E, D, O, k, A, j, ee, M, N, te, P, F, I, L, R, z, B, V, H, U, W, G, K, q, J, Y;
|
|
51
|
+
function X(e, t, n) {
|
|
52
|
+
ne(e, t), t.set(e, n);
|
|
53
|
+
}
|
|
54
|
+
function ne(e, t) {
|
|
55
|
+
if (t.has(e)) throw TypeError("Cannot initialize the same private elements twice on an object");
|
|
56
|
+
}
|
|
57
|
+
function Z(e, t, n) {
|
|
58
|
+
return e.set(re(e, t), n), n;
|
|
59
|
+
}
|
|
60
|
+
function Q(e, t) {
|
|
61
|
+
return e.get(re(e, t));
|
|
62
|
+
}
|
|
63
|
+
function re(e, t, n) {
|
|
64
|
+
if (typeof e == "function" ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
|
|
65
|
+
throw TypeError("Private element is not present on this object");
|
|
66
|
+
}
|
|
67
|
+
function ie(e, t, n) {
|
|
68
|
+
return (t = oe(t)) in e ? Object.defineProperty(e, t, {
|
|
69
|
+
value: n,
|
|
70
|
+
enumerable: !0,
|
|
71
|
+
configurable: !0,
|
|
72
|
+
writable: !0
|
|
73
|
+
}) : e[t] = n, e;
|
|
74
|
+
}
|
|
75
|
+
function ae(e, t, n, r, i, a) {
|
|
76
|
+
function o(e, t, n) {
|
|
77
|
+
return function(r, i) {
|
|
78
|
+
return n && n(r), e[t].call(r, i);
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function s(e, t) {
|
|
82
|
+
for (var n = 0; n < e.length; n++) e[n].call(t);
|
|
83
|
+
return t;
|
|
84
|
+
}
|
|
85
|
+
function c(e, t, n, r) {
|
|
86
|
+
if (typeof e != "function" && (r || e !== void 0)) throw TypeError(t + " must " + (n || "be") + " a function" + (r ? "" : " or undefined"));
|
|
87
|
+
return e;
|
|
88
|
+
}
|
|
89
|
+
function l(e, t, n, r, i, a, s, l, u, d, f, p, m) {
|
|
90
|
+
function h(e) {
|
|
91
|
+
if (!m(e)) throw TypeError("Attempted to access private element on non-instance");
|
|
92
|
+
}
|
|
93
|
+
var g, _ = t[0], v = t[3], y = !l;
|
|
94
|
+
if (!y) {
|
|
95
|
+
n || Array.isArray(_) || (_ = [_]);
|
|
96
|
+
var b = {}, x = [], S = i === 3 ? "get" : i === 4 || p ? "set" : "value";
|
|
97
|
+
d ? (f || p ? b = {
|
|
98
|
+
get: ce(function() {
|
|
99
|
+
return v(this);
|
|
100
|
+
}, r, "get"),
|
|
101
|
+
set: function(e) {
|
|
102
|
+
t[4](this, e);
|
|
103
|
+
}
|
|
104
|
+
} : b[S] = v, f || ce(b[S], r, i === 2 ? "" : S)) : f || (b = Object.getOwnPropertyDescriptor(e, r));
|
|
105
|
+
}
|
|
106
|
+
for (var C = e, w = _.length - 1; w >= 0; w -= n ? 2 : 1) {
|
|
107
|
+
var T = _[w], E = n ? _[w - 1] : void 0, D = {}, O = {
|
|
108
|
+
kind: [
|
|
109
|
+
"field",
|
|
110
|
+
"accessor",
|
|
111
|
+
"method",
|
|
112
|
+
"getter",
|
|
113
|
+
"setter",
|
|
114
|
+
"class"
|
|
115
|
+
][i],
|
|
116
|
+
name: r,
|
|
117
|
+
metadata: a,
|
|
118
|
+
addInitializer: function(e, t) {
|
|
119
|
+
if (e.v) throw Error("attempted to call addInitializer after decoration was finished");
|
|
120
|
+
c(t, "An initializer", "be", !0), s.push(t);
|
|
121
|
+
}.bind(null, D)
|
|
122
|
+
};
|
|
123
|
+
try {
|
|
124
|
+
if (y) (g = c(T.call(E, C, O), "class decorators", "return")) && (C = g);
|
|
125
|
+
else {
|
|
126
|
+
var k, A;
|
|
127
|
+
O.static = u, O.private = d, d ? i === 2 ? k = function(e) {
|
|
128
|
+
return h(e), b.value;
|
|
129
|
+
} : (i < 4 && (k = o(b, "get", h)), i !== 3 && (A = o(b, "set", h))) : (k = function(e) {
|
|
130
|
+
return e[r];
|
|
131
|
+
}, (i < 2 || i === 4) && (A = function(e, t) {
|
|
132
|
+
e[r] = t;
|
|
133
|
+
}));
|
|
134
|
+
var j = O.access = { has: d ? m.bind() : function(e) {
|
|
135
|
+
return r in e;
|
|
136
|
+
} };
|
|
137
|
+
if (k && (j.get = k), A && (j.set = A), C = T.call(E, p ? {
|
|
138
|
+
get: b.get,
|
|
139
|
+
set: b.set
|
|
140
|
+
} : b[S], O), p) {
|
|
141
|
+
if (typeof C == "object" && C) (g = c(C.get, "accessor.get")) && (b.get = g), (g = c(C.set, "accessor.set")) && (b.set = g), (g = c(C.init, "accessor.init")) && x.push(g);
|
|
142
|
+
else if (C !== void 0) throw TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
|
|
143
|
+
} else c(C, (f ? "field" : "method") + " decorators", "return") && (f ? x.push(C) : b[S] = C);
|
|
144
|
+
}
|
|
145
|
+
} finally {
|
|
146
|
+
D.v = !0;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return (f || p) && l.push(function(e, t) {
|
|
150
|
+
for (var n = x.length - 1; n >= 0; n--) t = x[n].call(e, t);
|
|
151
|
+
return t;
|
|
152
|
+
}), f || y || (d ? p ? l.push(o(b, "get"), o(b, "set")) : l.push(i === 2 ? b[S] : o.call.bind(b[S])) : Object.defineProperty(e, r, b)), C;
|
|
153
|
+
}
|
|
154
|
+
function u(e, t) {
|
|
155
|
+
return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), {
|
|
156
|
+
configurable: !0,
|
|
157
|
+
enumerable: !0,
|
|
158
|
+
value: t
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
if (arguments.length >= 6) var d = a[Symbol.metadata || Symbol.for("Symbol.metadata")];
|
|
162
|
+
var f = Object.create(d ?? null), p = function(e, t, n, r) {
|
|
163
|
+
var i, a, o = [], c = function(t) {
|
|
164
|
+
return le(t) === e;
|
|
165
|
+
}, u = /* @__PURE__ */ new Map();
|
|
166
|
+
function d(e) {
|
|
167
|
+
e && o.push(s.bind(null, e));
|
|
168
|
+
}
|
|
169
|
+
for (var f = 0; f < t.length; f++) {
|
|
170
|
+
var p = t[f];
|
|
171
|
+
if (Array.isArray(p)) {
|
|
172
|
+
var m = p[1], h = p[2], g = p.length > 3, _ = 16 & m, v = !!(8 & m), y = (m &= 7) == 0, b = h + "/" + v;
|
|
173
|
+
if (!y && !g) {
|
|
174
|
+
var x = u.get(b);
|
|
175
|
+
if (!0 === x || x === 3 && m !== 4 || x === 4 && m !== 3) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h);
|
|
176
|
+
u.set(b, !(m > 2) || m);
|
|
177
|
+
}
|
|
178
|
+
l(v ? e : e.prototype, p, _, g ? "#" + h : oe(h), m, r, v ? a ||= [] : i ||= [], o, v, g, y, m === 1, v && g ? c : n);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return d(i), d(a), o;
|
|
182
|
+
}(e, t, i, f);
|
|
183
|
+
return n.length || u(e, f), {
|
|
184
|
+
e: p,
|
|
185
|
+
get c() {
|
|
186
|
+
var t = [];
|
|
187
|
+
return n.length && [u(l(e, [n], r, e.name, 5, f, t), f), s.bind(null, t, e)];
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
function oe(e) {
|
|
192
|
+
var t = se(e, "string");
|
|
193
|
+
return typeof t == "symbol" ? t : t + "";
|
|
194
|
+
}
|
|
195
|
+
function se(e, t) {
|
|
196
|
+
if (typeof e != "object" || !e) return e;
|
|
197
|
+
var n;
|
|
198
|
+
if (typeof Symbol < "u" && (n = e[Symbol.toPrimitive]) !== void 0) {
|
|
199
|
+
var r = n.call(e, t || "default");
|
|
200
|
+
if (typeof r != "object") return r;
|
|
201
|
+
throw TypeError("@@toPrimitive must return a primitive value.");
|
|
202
|
+
}
|
|
203
|
+
return (t === "string" ? String : Number)(e);
|
|
204
|
+
}
|
|
205
|
+
function ce(e, t, n) {
|
|
206
|
+
typeof t == "symbol" && (t = (t = t.description) ? "[" + t + "]" : "");
|
|
207
|
+
try {
|
|
208
|
+
Object.defineProperty(e, "name", {
|
|
209
|
+
configurable: !0,
|
|
210
|
+
value: n ? n + " " + t : t
|
|
211
|
+
});
|
|
212
|
+
} catch {}
|
|
213
|
+
return e;
|
|
214
|
+
}
|
|
215
|
+
function le(e) {
|
|
216
|
+
if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (e === null ? "null" : typeof e));
|
|
217
|
+
return e;
|
|
218
|
+
}
|
|
219
|
+
function ue(e) {
|
|
220
|
+
return e;
|
|
221
|
+
}
|
|
222
|
+
k = [r("solid-ui-resource-actions-menu")];
|
|
223
|
+
var $;
|
|
224
|
+
new (J = (_ = /*#__PURE__*/ new WeakMap(), v = /*#__PURE__*/ new WeakMap(), y = /*#__PURE__*/ new WeakMap(), b = /*#__PURE__*/ new WeakMap(), x = /*#__PURE__*/ new WeakMap(), S = /*#__PURE__*/ new WeakMap(), C = /*#__PURE__*/ new WeakMap(), w = /*#__PURE__*/ new WeakMap(), T = /*#__PURE__*/ new WeakMap(), E = /*#__PURE__*/ new WeakMap(), Y = (A = i({ attribute: !1 }), ee = i({ type: String }), N = i({ attribute: !1 }), P = i({ attribute: !1 }), I = i({ type: Boolean }), R = i({ type: Boolean }), B = i({ type: Boolean }), H = i({ type: Boolean }), W = i({
|
|
225
|
+
type: Boolean,
|
|
226
|
+
attribute: "show-access-in-menu"
|
|
227
|
+
}), K = i({ attribute: !1 }), "store"), g = class extends a {
|
|
228
|
+
constructor(...e) {
|
|
229
|
+
super(...e), X(this, _, (D(this), j(this))), X(this, v, M(this)), X(this, y, te(this, void 0)), X(this, b, F(this, void 0)), X(this, x, L(this, !1)), X(this, S, z(this, !1)), X(this, C, V(this, !1)), X(this, w, U(this, !1)), X(this, T, G(this, !1)), X(this, E, q(this, []));
|
|
230
|
+
}
|
|
231
|
+
get [Y]() {
|
|
232
|
+
return Q(_, this);
|
|
233
|
+
}
|
|
234
|
+
set store(e) {
|
|
235
|
+
Z(_, this, e);
|
|
236
|
+
}
|
|
237
|
+
get subjectUri() {
|
|
238
|
+
return Q(v, this);
|
|
239
|
+
}
|
|
240
|
+
set subjectUri(e) {
|
|
241
|
+
Z(v, this, e);
|
|
242
|
+
}
|
|
243
|
+
get handleAccessClick() {
|
|
244
|
+
return Q(y, this);
|
|
245
|
+
}
|
|
246
|
+
set handleAccessClick(e) {
|
|
247
|
+
Z(y, this, e);
|
|
248
|
+
}
|
|
249
|
+
get handleEditingClick() {
|
|
250
|
+
return Q(b, this);
|
|
251
|
+
}
|
|
252
|
+
set handleEditingClick(e) {
|
|
253
|
+
Z(b, this, e);
|
|
254
|
+
}
|
|
255
|
+
get paneSupportsEditing() {
|
|
256
|
+
return Q(x, this);
|
|
257
|
+
}
|
|
258
|
+
set paneSupportsEditing(e) {
|
|
259
|
+
Z(x, this, e);
|
|
260
|
+
}
|
|
261
|
+
get canEdit() {
|
|
262
|
+
return Q(S, this);
|
|
263
|
+
}
|
|
264
|
+
set canEdit(e) {
|
|
265
|
+
Z(S, this, e);
|
|
266
|
+
}
|
|
267
|
+
get canManageAccess() {
|
|
268
|
+
return Q(C, this);
|
|
269
|
+
}
|
|
270
|
+
set canManageAccess(e) {
|
|
271
|
+
Z(C, this, e);
|
|
272
|
+
}
|
|
273
|
+
get isMobile() {
|
|
274
|
+
return Q(w, this);
|
|
275
|
+
}
|
|
276
|
+
set isMobile(e) {
|
|
277
|
+
Z(w, this, e);
|
|
278
|
+
}
|
|
279
|
+
get showAccessInMenu() {
|
|
280
|
+
return Q(T, this);
|
|
281
|
+
}
|
|
282
|
+
set showAccessInMenu(e) {
|
|
283
|
+
Z(T, this, e);
|
|
284
|
+
}
|
|
285
|
+
get menuItems() {
|
|
286
|
+
return Q(E, this);
|
|
287
|
+
}
|
|
288
|
+
set menuItems(e) {
|
|
289
|
+
Z(E, this, e);
|
|
290
|
+
}
|
|
291
|
+
render() {
|
|
292
|
+
let e = !u(this.store, this.subjectUri) && this.isMobile && this.paneSupportsEditing && this.canEdit && !!this.handleEditingClick, t = this.canManageAccess && !!this.handleAccessClick && (this.showAccessInMenu || this.isMobile), r = this.menuItems.filter((e) => typeof e.action == "function");
|
|
293
|
+
return s`
|
|
294
|
+
<solid-ui-menu>
|
|
295
|
+
<solid-ui-button slot="trigger" class="file-explorer-header-more-button" variant="ghost" title="More options">
|
|
296
|
+
<icon-lucide-ellipsis-vertical slot="icon" class="ellipsisIcon"></icon-lucide-ellipsis-vertical>
|
|
297
|
+
<span class="sr-only">More options</span>
|
|
298
|
+
</solid-ui-button>
|
|
299
|
+
${r.map((e) => s`
|
|
300
|
+
<solid-ui-menu-item @solid-ui-select=${(t) => e.action(t)}>
|
|
301
|
+
${typeof e.icon == "string" ? s`<img slot="left-icon" src=${e.icon} alt="">` : e.icon ?? s`<icon-lucide-file slot="left-icon" aria-hidden="true"></icon-lucide-file>`}
|
|
302
|
+
${e.label}
|
|
303
|
+
</solid-ui-menu-item>
|
|
304
|
+
`)}
|
|
305
|
+
${e ? s`
|
|
306
|
+
<solid-ui-menu-item @solid-ui-select=${this.handleEditingClick}>
|
|
307
|
+
<icon-lucide-pencil slot="left-icon"></icon-lucide-pencil>
|
|
308
|
+
Edit
|
|
309
|
+
</solid-ui-menu-item>
|
|
310
|
+
` : n}
|
|
311
|
+
${t ? s`
|
|
312
|
+
<solid-ui-menu-item @solid-ui-select=${this.handleAccessClick}>
|
|
313
|
+
<icon-lucide-user-round-cog slot="left-icon"></icon-lucide-user-round-cog>
|
|
314
|
+
Manage Access
|
|
315
|
+
</solid-ui-menu-item>
|
|
316
|
+
` : n}
|
|
317
|
+
</solid-ui-menu>
|
|
318
|
+
`;
|
|
319
|
+
}
|
|
320
|
+
}, {e: [j, M, te, F, L, z, V, U, G, q, D], c: [$, O]} = ae(g, [
|
|
321
|
+
[
|
|
322
|
+
A,
|
|
323
|
+
1,
|
|
324
|
+
"store"
|
|
325
|
+
],
|
|
326
|
+
[
|
|
327
|
+
ee,
|
|
328
|
+
1,
|
|
329
|
+
"subjectUri"
|
|
330
|
+
],
|
|
331
|
+
[
|
|
332
|
+
N,
|
|
333
|
+
1,
|
|
334
|
+
"handleAccessClick"
|
|
335
|
+
],
|
|
336
|
+
[
|
|
337
|
+
P,
|
|
338
|
+
1,
|
|
339
|
+
"handleEditingClick"
|
|
340
|
+
],
|
|
341
|
+
[
|
|
342
|
+
I,
|
|
343
|
+
1,
|
|
344
|
+
"paneSupportsEditing"
|
|
345
|
+
],
|
|
346
|
+
[
|
|
347
|
+
R,
|
|
348
|
+
1,
|
|
349
|
+
"canEdit"
|
|
350
|
+
],
|
|
351
|
+
[
|
|
352
|
+
B,
|
|
353
|
+
1,
|
|
354
|
+
"canManageAccess"
|
|
355
|
+
],
|
|
356
|
+
[
|
|
357
|
+
H,
|
|
358
|
+
1,
|
|
359
|
+
"isMobile"
|
|
360
|
+
],
|
|
361
|
+
[
|
|
362
|
+
W,
|
|
363
|
+
1,
|
|
364
|
+
"showAccessInMenu"
|
|
365
|
+
],
|
|
366
|
+
[
|
|
367
|
+
K,
|
|
368
|
+
1,
|
|
369
|
+
"menuItems"
|
|
370
|
+
]
|
|
371
|
+
], k, 0, void 0, a), g), h = class extends ue {
|
|
372
|
+
constructor() {
|
|
373
|
+
super($), ie(this, "styles", m), O();
|
|
374
|
+
}
|
|
375
|
+
}, ie(h, J, void 0), h)();
|
|
376
|
+
export { d as n, u as r, $ as t };
|
|
377
|
+
|
|
378
|
+
//# sourceMappingURL=ResourceActionsMenu-Bllpr4M5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceActionsMenu-Bllpr4M5.js","names":["solidLogicSingleton","store","ns","parse","isWebIdUri","getPodStorages","url","fetcher","load","doc","err","console","warn","uri","podStorages","each","space","results","Promise","all","map","pod","isPodStorage","filter","storage","findPodStorageFromUrl","error","podStorage","URL","value","pathStorage","pathname","length","substring","lastIndexOf","candidate","sym","origin","loadContainerRepresentation","holds","rdf","subject","any","ldp","undefined","response","webOperation","initFetchOptions","headers","accept","containerTurtle","responseText","isContainerSubject","subjectUri","typeUris","findTypeURIs","Boolean","endsWith","getContainerItemCount","seen","Set","item","termType","resource","isHiddenFile","add","size","ns","solidLogicSingleton","customElement","WebComponent","property","html","nothing","styles","isContainerSubject","_classDecs","_ResourceActionsMenu","_ResourceActionsMenu2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_ref","_storeDecs","attribute","_subjectUriDecs","type","String","_handleAccessClickDecs","_handleEditingClickDecs","_paneSupportsEditingDecs","Boolean","_canEditDecs","_canManageAccessDecs","_isMobileDecs","_showAccessInMenuDecs","_menuItemsDecs","_ResourceActionsMenu3","ResourceActionsMenu","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_store","_init_subjectUri","_init_handleAccessClick","undefined","_init_handleEditingClick","_init_paneSupportsEditing","_init_canEdit","_init_canManageAccess","_init_isMobile","_init_showAccessInMenu","_init_menuItems","_classPrivateFieldGet","store","v","_classPrivateFieldSet","subjectUri","handleAccessClick","handleEditingClick","paneSupportsEditing","canEdit","canManageAccess","isMobile","showAccessInMenu","menuItems","render","isContainerResource","actionableMenuItems","filter","item","action","map","event","icon","label","e","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default","property","nothing","styles","c","ns_default","A","customElement","WebComponent","i","b","iconlucidepencil","iconlucideellipsisvertical","isContainerSubject","store","subjectUri","subject","typeUris","getContainerItemCount","seen","item","resource","iconlucideuserroundcog","iconlucidefile","ResourceActionsMenu_styles_default","_Class","_ResourceActionsMenu3","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","_initProto","_initClass","_classDecs","_storeDecs","_init_store","_subjectUriDecs","_init_subjectUri","_handleAccessClickDecs","_init_handleAccessClick","_handleEditingClickDecs","_init_handleEditingClick","_paneSupportsEditingDecs","_init_paneSupportsEditing","_canEditDecs","_init_canEdit","_canManageAccessDecs","_init_canManageAccess","_isMobileDecs","_init_isMobile","_showAccessInMenuDecs","_init_showAccessInMenu","_menuItemsDecs","_init_menuItems","_ResourceActionsMenu2","_ref","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","n","o","applyDec","m","h","y","v","g","u","w","S","d","p","_setFunctionName","P","j","D","I","F","l","f","N","_checkInRHS","_toPrimitive","e","_identity","_ResourceActionsMenu","args","canEdit","canManageAccess","actionableMenuItems","event"],"sources":["../../src/utils/podUtils.ts","../../src/components/resource-actions-menu/ResourceActionsMenu.styles.css","../../src/components/resource-actions-menu/ResourceActionsMenu.ts"],"sourcesContent":["import { solidLogicSingleton, store } from 'solid-logic'\nimport ns from '@/lib/ns'\nimport { LiveStore, NamedNode, parse } from 'rdflib'\nimport { isWebIdUri } from './webIdUtils'\n\nexport async function getPodStorages (url: NamedNode): Promise<NamedNode[]> {\n if (isWebIdUri(url)) {\n try {\n await store.fetcher.load(url.doc())\n } catch (err) {\n console.warn('Unable to load profile document for WebID', url.doc().uri, err)\n }\n const podStorages = store.each(url, ns.space('storage'))\n const results = await Promise.all(podStorages.map(async pod => await isPodStorage(pod as NamedNode) ? pod as NamedNode : null))\n return results.filter(pod => pod !== null) as NamedNode[]\n }\n try {\n const storage = await findPodStorageFromUrl(url)\n return storage ? [storage] : []\n } catch (err) {\n console.error('cannot load container', err)\n return []\n }\n}\n\nasync function findPodStorageFromUrl (url: NamedNode): Promise<NamedNode | null> {\n const podStorage = new URL(url.value || url.uri)\n let pathStorage = podStorage.pathname\n\n while (pathStorage.length) {\n pathStorage = pathStorage.substring(0, pathStorage.lastIndexOf('/'))\n const candidate = store.sym(`${podStorage.origin}${pathStorage}/`)\n if (await isPodStorage(candidate)) return candidate\n }\n\n // TODO should url.origin be added to pods list when there are no pim:Storage ???\n return null\n}\n\nasync function isPodStorage (pod: NamedNode): Promise<boolean> {\n await loadContainerRepresentation(pod)\n return store.holds(pod, ns.rdf('type'), ns.space('Storage'), pod.doc())\n}\n\nexport async function loadContainerRepresentation (subject) {\n // force reload for index.html with RDFa\n if (!store.any(subject, ns.ldp('contains'), undefined, subject.doc())) {\n try {\n const response = await store.fetcher.webOperation('GET', subject.uri, store.fetcher.initFetchOptions(subject.uri, { headers: { accept: 'text/turtle' } }))\n const containerTurtle = response.responseText\n if (subject.uri && containerTurtle) {\n parse(containerTurtle, store, subject.uri, 'text/turtle')\n }\n } catch (err) {\n console.warn('Unable to load container representation for', subject.uri, err)\n }\n }\n}\n\nexport function isContainerSubject (store: LiveStore | undefined, subjectUri: string | undefined): boolean {\n if (!store || !subjectUri) return false\n\n const subject = store.sym(subjectUri)\n const typeUris = store.findTypeURIs(subject)\n return Boolean(\n typeUris[ns.ldp('Container').uri] ||\n typeUris[ns.ldp('BasicContainer').uri] ||\n subject.uri.endsWith('/')\n )\n}\n\n// The shared rdflib store can hold duplicate ldp:contains statements for the\n// same child resource when the container and companion metadata are both loaded.\n// Count unique visible children here so the header summary matches the list UI.\nexport function getContainerItemCount (store: LiveStore | undefined, subjectUri: string | undefined): number {\n if (!store || !subjectUri) return 0\n\n const subject = store.sym(subjectUri)\n const seen = new Set<string>()\n\n for (const item of store.each(subject, ns.ldp('contains'))) {\n if (item.termType === 'NamedNode') {\n const resource = item as NamedNode\n if (!solidLogicSingleton.resource.isHiddenFile(resource)) {\n seen.add(resource.uri)\n }\n }\n }\n return seen.size\n}\n",":host {\n .file-explorer-header-more-button {\n width: var(--solid-ui-clickable-area, 42px);\n height: var(--solid-ui-clickable-area, 42px);\n padding: 0;\n }\n\n .ellipsisIcon {\n width: 16px;\n height: 16px;\n }\n}\n","import { customElement, WebComponent } from '@/lib/components'\nimport { property } from 'lit/decorators.js'\nimport { html, nothing } from 'lit'\nimport '@/components/button'\nimport '@/components/menu'\nimport '@/components/menu-item'\nimport '~icons/lucide/ellipsis-vertical'\nimport '~icons/lucide/user-round-cog'\nimport '~icons/lucide/pencil'\nimport '~icons/lucide/file'\nimport { LiveStore } from 'rdflib'\nimport styles from './ResourceActionsMenu.styles.css'\nimport { isContainerSubject } from '@/utils/podUtils'\n\ntype ResourceActionMenuItem = {\n label: string\n icon?: HTMLElement | string\n action?: (event: Event) => void\n}\n\ntype ActionableResourceActionMenuItem = ResourceActionMenuItem & {\n action: (event: Event) => void\n}\n\n@customElement('solid-ui-resource-actions-menu')\nexport default class ResourceActionsMenu extends WebComponent {\n static styles = styles\n\n @property({ attribute: false })\n accessor store: LiveStore | undefined\n\n @property({ type: String })\n accessor subjectUri: string | undefined\n\n @property({ attribute: false })\n accessor handleAccessClick: (() => void) | undefined = undefined\n\n @property({ attribute: false })\n accessor handleEditingClick: (() => void) | undefined = undefined\n\n @property({ type: Boolean })\n accessor paneSupportsEditing = false\n\n @property({ type: Boolean })\n accessor canEdit = false\n\n @property({ type: Boolean })\n accessor canManageAccess = false\n\n @property({ type: Boolean })\n accessor isMobile = false\n\n @property({ type: Boolean, attribute: 'show-access-in-menu' })\n accessor showAccessInMenu = false\n\n @property({ attribute: false })\n accessor menuItems: ResourceActionMenuItem[] = []\n\n render () {\n const isContainerResource = isContainerSubject(this.store, this.subjectUri)\n const canEdit = !isContainerResource && this.isMobile && this.paneSupportsEditing && this.canEdit && !!this.handleEditingClick\n const canManageAccess = this.canManageAccess && !!this.handleAccessClick &&\n (this.showAccessInMenu || this.isMobile)\n const actionableMenuItems = this.menuItems.filter((item): item is ActionableResourceActionMenuItem => typeof item.action === 'function')\n return html`\n <solid-ui-menu>\n <solid-ui-button slot=\"trigger\" class=\"file-explorer-header-more-button\" variant=\"ghost\" title=\"More options\">\n <icon-lucide-ellipsis-vertical slot=\"icon\" class=\"ellipsisIcon\"></icon-lucide-ellipsis-vertical>\n <span class=\"sr-only\">More options</span>\n </solid-ui-button>\n ${actionableMenuItems.map(item => html`\n <solid-ui-menu-item @solid-ui-select=${(event: Event) => item.action(event)}>\n ${typeof item.icon === 'string'\n ? html`<img slot=\"left-icon\" src=${item.icon} alt=\"\">`\n : item.icon ?? html`<icon-lucide-file slot=\"left-icon\" aria-hidden=\"true\"></icon-lucide-file>`}\n ${item.label}\n </solid-ui-menu-item>\n `)}\n ${canEdit\n ? html`\n <solid-ui-menu-item @solid-ui-select=${this.handleEditingClick}>\n <icon-lucide-pencil slot=\"left-icon\"></icon-lucide-pencil>\n Edit\n </solid-ui-menu-item>\n `\n : nothing}\n ${canManageAccess\n ? html`\n <solid-ui-menu-item @solid-ui-select=${this.handleAccessClick}>\n <icon-lucide-user-round-cog slot=\"left-icon\"></icon-lucide-user-round-cog>\n Manage Access\n </solid-ui-menu-item>\n `\n : nothing}\n </solid-ui-menu>\n `\n }\n}\n"],"mappings":"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"}
|