solid-ui 5.0.2-5 → 5.0.2-6

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.
Files changed (45) hide show
  1. package/dist/chunks/{ResourceActionsMenu-Bx7YWY3E.js → ResourceActionsMenu-KFMLta44.js} +53 -44
  2. package/dist/chunks/ResourceActionsMenu-KFMLta44.js.map +1 -0
  3. package/dist/chunks/{access-control-modal-B1mFFIyz.js → access-control-modal-BZdBv6VD.js} +2 -2
  4. package/dist/chunks/{access-control-modal-B1mFFIyz.js.map → access-control-modal-BZdBv6VD.js.map} +1 -1
  5. package/dist/chunks/{file-explorer-header-Djp_eFuT.js → file-explorer-header-BJzo6xDU.js} +3 -3
  6. package/dist/chunks/{file-explorer-header-Djp_eFuT.js.map → file-explorer-header-BJzo6xDU.js.map} +1 -1
  7. package/dist/chunks/square-arrow-out-up-right-DaALlpHo.js +9 -0
  8. package/dist/chunks/square-arrow-out-up-right-DaALlpHo.js.map +1 -0
  9. package/dist/chunks/{src-akaVfkuf.js → src-Cv9Lm1V-.js} +2944 -2927
  10. package/dist/chunks/src-Cv9Lm1V-.js.map +1 -0
  11. package/dist/chunks/{widgets-B1hBVhRL.js → widgets-C92ihtlF.js} +483 -487
  12. package/dist/chunks/widgets-C92ihtlF.js.map +1 -0
  13. package/dist/components/access-control-modal.js +1 -1
  14. package/dist/components/file-explorer-header.js +1 -1
  15. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js +7 -1
  16. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js.map +1 -1
  17. package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts +1 -0
  18. package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts.map +1 -1
  19. package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js +11 -2
  20. package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js.map +1 -1
  21. package/dist/components/resource-actions-menu.js +1 -1
  22. package/dist/components.js +2 -2
  23. package/dist/index.cjs.js +1 -1
  24. package/dist/index.cjs.js.map +1 -1
  25. package/dist/index.esm.js +4 -3
  26. package/dist/index.esm.js.map +1 -1
  27. package/dist/index.js +8 -8
  28. package/dist/lib/file-explorer/index.cjs.js +1 -1
  29. package/dist/lib/file-explorer/index.d.ts +1 -0
  30. package/dist/lib/file-explorer/index.d.ts.map +1 -1
  31. package/dist/lib/file-explorer/index.esm.js +2 -1
  32. package/dist/lib/file-explorer/pane-menu-items.cjs.js +2 -0
  33. package/dist/lib/file-explorer/pane-menu-items.cjs.js.map +1 -0
  34. package/dist/lib/file-explorer/pane-menu-items.d.ts +22 -0
  35. package/dist/lib/file-explorer/pane-menu-items.d.ts.map +1 -0
  36. package/dist/lib/file-explorer/pane-menu-items.esm.js +20 -0
  37. package/dist/lib/file-explorer/pane-menu-items.esm.js.map +1 -0
  38. package/dist/loader.js +3 -3
  39. package/dist/solid-ui.js +30 -24
  40. package/dist/solid-ui.min.js +30 -24
  41. package/dist/solid-ui.min.js.map +1 -1
  42. package/package.json +1 -1
  43. package/dist/chunks/ResourceActionsMenu-Bx7YWY3E.js.map +0 -1
  44. package/dist/chunks/src-akaVfkuf.js.map +0 -1
  45. package/dist/chunks/widgets-B1hBVhRL.js.map +0 -1
@@ -2,6 +2,7 @@ import { c as e, g as t, i as n, o as r, p as i, u as a } from "./components-C8c
2
2
  import "./button-D6qO2idW.js";
3
3
  import "./menu-BNJU654v.js";
4
4
  import "./menu-item-nfPpH4dN.js";
5
+ import "./square-arrow-out-up-right-DaALlpHo.js";
5
6
  import { t as o, y as s } from "./solidLogicSingleton.esm-Bvt7E7Vl.js";
6
7
  // ~icons/lucide/pencil
7
8
  var c = class extends HTMLElement {
@@ -47,24 +48,24 @@ var p = class extends HTMLElement {
47
48
  };
48
49
  customElements.get("icon-lucide-file") || customElements.define("icon-lucide-file", p);
49
50
  // src/components/resource-actions-menu/ResourceActionsMenu.styles.css
50
- var m = i`: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);
51
+ var m = i`: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, ne, F, I, L, R, z, B, V, H, U, W, G, K, q, J;
52
+ function Y(e, t, n) {
53
+ re(e, t), t.set(e, n);
53
54
  }
54
- function ne(e, t) {
55
+ function re(e, t) {
55
56
  if (t.has(e)) throw TypeError("Cannot initialize the same private elements twice on an object");
56
57
  }
57
- function Z(e, t, n) {
58
- return e.set(re(e, t), n), n;
58
+ function X(e, t, n) {
59
+ return e.set(ie(e, t), n), n;
59
60
  }
60
- function Q(e, t) {
61
- return e.get(re(e, t));
61
+ function Z(e, t) {
62
+ return e.get(ie(e, t));
62
63
  }
63
- function re(e, t, n) {
64
+ function ie(e, t, n) {
64
65
  if (typeof e == "function" ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
65
66
  throw TypeError("Private element is not present on this object");
66
67
  }
67
- function ie(e, t, n) {
68
+ function Q(e, t, n) {
68
69
  return (t = oe(t)) in e ? Object.defineProperty(e, t, {
69
70
  value: n,
70
71
  enumerable: !0,
@@ -221,72 +222,74 @@ function ue(e) {
221
222
  }
222
223
  k = [t("solid-ui-resource-actions-menu")];
223
224
  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 = n({ attribute: !1 }), ee = n({ type: String }), N = n({ attribute: !1 }), P = n({ attribute: !1 }), I = n({ type: Boolean }), R = n({ type: Boolean }), B = n({ type: Boolean }), H = n({ type: Boolean }), W = n({
225
+ new (q = (_ = /*#__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(), J = (A = n({ attribute: !1 }), ee = n({ type: String }), N = n({ attribute: !1 }), P = n({ attribute: !1 }), F = n({ type: Boolean }), L = n({ type: Boolean }), z = n({ type: Boolean }), V = n({ type: Boolean }), U = n({
225
226
  type: Boolean,
226
227
  attribute: "show-access-in-menu"
227
- }), K = n({ attribute: !1 }), "store"), g = class extends r {
228
+ }), G = n({ attribute: !1 }), "store"), g = class extends r {
228
229
  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
+ super(...e), Y(this, _, (D(this), j(this))), Y(this, v, M(this)), Y(this, y, te(this, void 0)), Y(this, b, ne(this, void 0)), Y(this, x, I(this, !1)), Y(this, S, R(this, !1)), Y(this, C, B(this, !1)), Y(this, w, H(this, !1)), Y(this, T, W(this, !1)), Y(this, E, K(this, [])), Q(this, "handleOpenInNewTab", () => {
231
+ this.subjectUri && window.open(this.subjectUri, "_blank", "noopener,noreferrer");
232
+ });
230
233
  }
231
- get [Y]() {
232
- return Q(_, this);
234
+ get [J]() {
235
+ return Z(_, this);
233
236
  }
234
237
  set store(e) {
235
- Z(_, this, e);
238
+ X(_, this, e);
236
239
  }
237
240
  get subjectUri() {
238
- return Q(v, this);
241
+ return Z(v, this);
239
242
  }
240
243
  set subjectUri(e) {
241
- Z(v, this, e);
244
+ X(v, this, e);
242
245
  }
243
246
  get handleAccessClick() {
244
- return Q(y, this);
247
+ return Z(y, this);
245
248
  }
246
249
  set handleAccessClick(e) {
247
- Z(y, this, e);
250
+ X(y, this, e);
248
251
  }
249
252
  get handleEditingClick() {
250
- return Q(b, this);
253
+ return Z(b, this);
251
254
  }
252
255
  set handleEditingClick(e) {
253
- Z(b, this, e);
256
+ X(b, this, e);
254
257
  }
255
258
  get paneSupportsEditing() {
256
- return Q(x, this);
259
+ return Z(x, this);
257
260
  }
258
261
  set paneSupportsEditing(e) {
259
- Z(x, this, e);
262
+ X(x, this, e);
260
263
  }
261
264
  get canEdit() {
262
- return Q(S, this);
265
+ return Z(S, this);
263
266
  }
264
267
  set canEdit(e) {
265
- Z(S, this, e);
268
+ X(S, this, e);
266
269
  }
267
270
  get canManageAccess() {
268
- return Q(C, this);
271
+ return Z(C, this);
269
272
  }
270
273
  set canManageAccess(e) {
271
- Z(C, this, e);
274
+ X(C, this, e);
272
275
  }
273
276
  get isMobile() {
274
- return Q(w, this);
277
+ return Z(w, this);
275
278
  }
276
279
  set isMobile(e) {
277
- Z(w, this, e);
280
+ X(w, this, e);
278
281
  }
279
282
  get showAccessInMenu() {
280
- return Q(T, this);
283
+ return Z(T, this);
281
284
  }
282
285
  set showAccessInMenu(e) {
283
- Z(T, this, e);
286
+ X(T, this, e);
284
287
  }
285
288
  get menuItems() {
286
- return Q(E, this);
289
+ return Z(E, this);
287
290
  }
288
291
  set menuItems(e) {
289
- Z(E, this, e);
292
+ X(E, this, e);
290
293
  }
291
294
  render() {
292
295
  let t = !u(this.store, this.subjectUri) && this.isMobile && this.paneSupportsEditing && this.canEdit && !!this.handleEditingClick, n = this.canManageAccess && !!this.handleAccessClick && (this.showAccessInMenu || this.isMobile), r = this.menuItems.filter((e) => typeof e.action == "function");
@@ -302,6 +305,12 @@ new (J = (_ = /*#__PURE__*/ new WeakMap(), v = /*#__PURE__*/ new WeakMap(), y =
302
305
  ${e.label}
303
306
  </solid-ui-menu-item>
304
307
  `)}
308
+ ${this.subjectUri ? a`
309
+ <solid-ui-menu-item @solid-ui-select=${this.handleOpenInNewTab}>
310
+ <icon-lucide-square-arrow-out-up-right slot="left-icon"></icon-lucide-square-arrow-out-up-right>
311
+ Open in New Tab
312
+ </solid-ui-menu-item>
313
+ ` : e}
305
314
  ${t ? a`
306
315
  <solid-ui-menu-item @solid-ui-select=${this.handleEditingClick}>
307
316
  <icon-lucide-pencil slot="left-icon"></icon-lucide-pencil>
@@ -317,7 +326,7 @@ new (J = (_ = /*#__PURE__*/ new WeakMap(), v = /*#__PURE__*/ new WeakMap(), y =
317
326
  </solid-ui-menu>
318
327
  `;
319
328
  }
320
- }, {e: [j, M, te, F, L, z, V, U, G, q, D], c: [$, O]} = ae(g, [
329
+ }, {e: [j, M, te, ne, I, R, B, H, W, K, D], c: [$, O]} = ae(g, [
321
330
  [
322
331
  A,
323
332
  1,
@@ -339,40 +348,40 @@ new (J = (_ = /*#__PURE__*/ new WeakMap(), v = /*#__PURE__*/ new WeakMap(), y =
339
348
  "handleEditingClick"
340
349
  ],
341
350
  [
342
- I,
351
+ F,
343
352
  1,
344
353
  "paneSupportsEditing"
345
354
  ],
346
355
  [
347
- R,
356
+ L,
348
357
  1,
349
358
  "canEdit"
350
359
  ],
351
360
  [
352
- B,
361
+ z,
353
362
  1,
354
363
  "canManageAccess"
355
364
  ],
356
365
  [
357
- H,
366
+ V,
358
367
  1,
359
368
  "isMobile"
360
369
  ],
361
370
  [
362
- W,
371
+ U,
363
372
  1,
364
373
  "showAccessInMenu"
365
374
  ],
366
375
  [
367
- K,
376
+ G,
368
377
  1,
369
378
  "menuItems"
370
379
  ]
371
380
  ], k, 0, void 0, r), g), h = class extends ue {
372
381
  constructor() {
373
- super($), ie(this, "styles", m), O();
382
+ super($), Q(this, "styles", m), O();
374
383
  }
375
- }, ie(h, J, void 0), h)();
384
+ }, Q(h, q, void 0), h)();
376
385
  export { d as n, u as r, $ as t };
377
386
 
378
- //# sourceMappingURL=ResourceActionsMenu-Bx7YWY3E.js.map
387
+ //# sourceMappingURL=ResourceActionsMenu-KFMLta44.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceActionsMenu-KFMLta44.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","_defineProperty","subjectUri","window","open","_classPrivateFieldGet","store","v","_classPrivateFieldSet","handleAccessClick","handleEditingClick","paneSupportsEditing","canEdit","canManageAccess","isMobile","showAccessInMenu","menuItems","render","isContainerResource","actionableMenuItems","filter","item","action","map","event","icon","label","handleOpenInNewTab","e","c","_initClass","_applyDecs","_Class","_identity","default","property","nothing","styles","A","customElement","WebComponent","b","c","ns_default","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","i","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 '~icons/lucide/square-arrow-out-up-right'\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 private handleOpenInNewTab = () => {\n if (!this.subjectUri) return\n window.open(this.subjectUri, '_blank', 'noopener,noreferrer')\n }\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 ${this.subjectUri\n ? html`\n <solid-ui-menu-item @solid-ui-select=${this.handleOpenInNewTab}>\n <icon-lucide-square-arrow-out-up-right slot=\"left-icon\"></icon-lucide-square-arrow-out-up-right>\n Open in New Tab\n </solid-ui-menu-item>\n `\n : nothing}\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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"}
@@ -1,6 +1,6 @@
1
1
  import { a as e, c as t, g as n, i as r, o as i, p as a, r as o, u as s } from "./components-C8c2Ucm5.js";
2
2
  import { u as c } from "./style-Dlw9-wPn.js";
3
- import { T as l, p as u } from "./widgets-B1hBVhRL.js";
3
+ import { T as l, p as u } from "./widgets-C92ihtlF.js";
4
4
  import { E as d, _ as f, d as p, g as m, h, m as g, n as _, p as v, t as y, y as b } from "./solidLogicSingleton.esm-Bvt7E7Vl.js";
5
5
  import "./globe-CsCgZcy5.js";
6
6
  import "./x-D1JUUSOS.js";
@@ -2473,4 +2473,4 @@ new (Rr = (G = /*#__PURE__*/ new WeakMap(), K = /*#__PURE__*/ new WeakMap(), q =
2473
2473
  var Xr = Yr;
2474
2474
  export { Yr as n, Xr as t };
2475
2475
 
2476
- //# sourceMappingURL=access-control-modal-B1mFFIyz.js.map
2476
+ //# sourceMappingURL=access-control-modal-BZdBv6VD.js.map